Slashdot Mirror


Windows 95 Almost Autodetected Floppy Disks

bonch writes "Windows 95 almost shipped with a technique for detecting whether a floppy disk was inserted without spinning up the drive. Microsoft's floppy driver developer discovered a sequence of commands that detected a disk without spinup — unfortunately, unspecified behavior in the floppy hardware specification meant that half the drives worked one way and half the other, each giving opposite results for the detection routine. Microsoft considered a dialog prompting the user to insert a disk to 'train' the routine, but the idea was scrapped."

23 of 334 comments (clear)

  1. Um by linumax · · Score: 5, Insightful

    Why not do the behavior detection on first instance a floppy disk was used?

    1. Re:Um by joeware · · Score: 5, Informative

      I think you misunderstood linumax's comment. He is saying that instead of prompting the user to insert a floppy to train it, just automatically do the training behind the scenes the first time a floppy is inserted.

    2. Re:Um by enjo13 · · Score: 4, Insightful

      The point is you don't have to do even that. The routine would look something like:

      - User initiates action with the floppy drive
      - Run the auto-detection routine to see what answer you get
      - Spin up the drive and check to see if something is in the drive
      - Compare that with the pre-spun result to see what answer you get.

      Something along those lines. There are several variations on this that would work and never require you to interact with the user at all.

      --
      Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
    3. Re:Um by davester666 · · Score: 5, Funny

      And thus, didn't occur to the Microsoft engineer...

      --
      Sleep your way to a whiter smile...date a dentist!
    4. Re:Um by RiotingPacifist · · Score: 4, Insightful

      problem: some users are idiots
      solution: treat all users like idiots

      I know its not the msway but a would regkey you could manually set have been that hard?

      --
      IranAir Flight 655 never forget!
    5. Re:Um by chickens · · Score: 5, Funny

      If you'd ever used Windows before, you'd know that the consequences of interrupting the user with stupid dialog boxes is not something its UI designers worry (worried?) much about...

      *ahem*

      It looks like you've inserted a floppy disc! Would you like any help with that?

    6. Re:Um by nacturation · · Score: 4, Informative

      On the contrary... from the follow-up article:

      On the almost-feature of floppy insertion detection in Windows 95

      Gosh, that floppy insertion article generated a lot of comments.

      First, to clarify the table: The table is trying to say that if you had a Style A floppy drive, then issuing the magic series of commands would return 1 if a floppy was present, or 0 if the floppy was not present. On the other hand, if you had a Style B floppy drive, then issuing the magic series of commands would return 0 if a floppy was present, or 1 if the floppy was not present. That's what I was trying to say in the table. The answer was consistent within a floppy style, but you first had to know what style you had.

      The downside of waiting until the user uses a floppy for the first time is that you have the it sometimes works and sometimes doesn't problem. Dad buys a new computer and a copy of the Happy Fun Ball game for his son. Dad turns on the computer, and then follows the instructions that come with the Happy Fun Ball package: "Just insert the floppy and follow the instructions on the screen." Dad inserts the floppy and... nothing happens because this is the first time Dad used the floppy, and he was expecting autodetection to work.

      Dad says, "Stupid program doesn't work."

      Dad complains to his co-workers at work. "He loves this game Happy Fun Ball when he visits his cousin's house, so I bought a computer and a copy of Happy Fun Ball, and it doesn't work!"

      Dad tries again that evening and this time it works, because in the meantime, he inserted a floppy to do something else (say, create an emergency boot disk). Bizarre. This just reinforces Dad's impression that computers are unpredictable and he will never understand how to use them.

      One could say that a feature that mysteriously turns itself on and off is worse than a feature that simply doesn't work. At least when it doesn't work, it predictably doesn't work. Human beings value predictability.

      You can't perform the test "the first time the drive is installed" because there is no way to tell that a drive has been installed. (Classic floppy drives are not Plug-and-Play.) Even worse, you can't tell that the user has replaced the Style A floppy drive with a Style B floppy drive. The user will see that floppy insertion detection stopped working and return the drive to the store. "This drive is broken. Floppy insertion detection doesn't work."

      It is also not the case that the ambiguity in the specification indicated a flaw in the specification. The C++ language specification, for example, leaves a lot of behaviors at the discretion of the implementation. This allows implementations to choose a behavior that works best for them. The no-spin-up floppy presence detection algorithm relied on several behaviors which were covered by the specification, and one that was not. It was not part of the original charter for the floppy specification committee to support spinless presence detection; it's just something that my colleague discovered over a decade after the specification was written.

      But the main reason for not bothering is that the benefit was minuscule compared to the cost. Nobody wants floppy drives to spin up as soon as a disk is inserted. That just makes them think they've been attacked by a computer virus. It'd all just be a lot of work for a feature nobody wants. And then you'd all be posting, "I can't believe Microsoft wasted all this effort on floppy insertion detection when they should have fixed insert favorite bug here."

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    7. Re:Um by mccdyl001 · · Score: 5, Insightful

      damn wish i had mod points. and a shift key for that matter... anyway, surely there was a way for the operating system to poll the system using these 'magic' system commands to check if a disk had been inserted. so poll the system, see what it says - either a 1 or a 0, then spin up the drive and see what it actually says. heck do it as part of the system install. take a snapshot of the floppy drive device name or something at the same time. if the device name changes re-run this technique, cause if you swap the floppy with another drive which reports the same device name it'll still report 0 or 1 for the same type of disk insertion scenario so you fine, and if the floppy device name is diff, then re-run this technique. anyway, as part of the system install you could have polled if the disk was there, taken the answer, then actually spun up the drive and checked and bingo, your training is done1 damn what i could do with a shift key right now....

    8. Re:Um by davester666 · · Score: 5, Interesting

      But the main reason for not bothering is that the benefit was minuscule compared to the cost. Nobody wants floppy drives to spin up as soon as a disk is inserted. That just makes them think they've been attacked by a computer virus. It'd all just be a lot of work for a feature nobody wants. And then you'd all be posting, "I can't believe Microsoft wasted all this effort on floppy insertion detection when they should have fixed insert favorite bug here."

      Really? I liked how I could insert a floppy into my Mac, there was a firm ka-thunk that the disk was inserted, and then like magic, the floppy icon appeared on my desktop to indicate that the computer was ready for you to use it (or it would pop up a 'could not recognize this disk').

      Do this day, on windows (at least up to xp), clicking the floppy icon (which is always present) freezes the window while it goes about trying to read from the drive, making it annoying if you accidentally click the icon (because it's always there).

      And the system possibly could have worked by doing the test the first time the floppy is attempted to be accessed after the system boots... But you did save less than a dollar (retail) on the drive.

      --
      Sleep your way to a whiter smile...date a dentist!
    9. Re:Um by 644bd346996 · · Score: 5, Interesting

      That whole explanation is bullshit. AutoRun was not reliable at first for CDs either, and most software included instructions for what to do if the AutoRun screen didn't show up or if AutoRun was disabled.

    10. Re:Um by coryking · · Score: 4, Insightful

      floppy device name is diff

      The only way the OS even knew your floppy drive existed was through the bios. If you told the BIOS you had a floppy drive and you didn't, the OS would be none the wiser. And if the OS didn't know if there really was a drive or not, I somehow doubt the technology could even support unique device ID's like modern stuff.

      In other words, your plan would work if floppy drives had device ids, but they dont, so your idea won't work either!

    11. Re:Um by Jamie's+Nightmare · · Score: 5, Informative

      You're a bit out of focus here. It worked well on the Mac and the Amiga because the floppy drives themselves were different. The hardware was designed to signal the machine when a disk was inserted via a switch/sensor inside the drive that was depressed when the disk was inserted. Similar, but in a different location than the "write protect" and "high density" sensors. This method is simple and it works. The only real point of failure is the possibility of the switch going bad, but I can't say that I've ever seen that personally.

      The method from Microsoft was a way to do the same thing in a way that wouldn't always work. Do you remember Floppy Drives? Remember how cheap and shitty they were? They were not very reliable to begin with, and it's likely that even if it worked before there might still be mysterious times when a disk was inserted and this method wouldn't work. Microsoft made a good choice here, but rather than acknowledge that you'll just bitch more and fish more crap from the excuse box.

      --
      "When you see a unixer brainwashed beyond saving, kick him out of the door." - Xah Lee
  2. Floppy? by TheKidWho · · Score: 4, Funny

    What's a Floppy?

  3. Re:Detection via delta? by ushering05401 · · Score: 4, Funny

    Reading would require a spin-up.

    The article only says that the non spin up method was an extremely clever chain of commands so..

    We are sitting here talking about MS tech for no apparent reason with no apparent hope of arriving at any sort of conclusion...

    Why am I here again?

  4. Re:Macs by Antique+Geekmeister · · Score: 4, Interesting

    You had something resembling a hardware spec, you lucky beggars. One thing that has slowed Linux development has been the plethora of weird hardware specs that Microsoft and their partners designed and supported, and people in Linux-land are expected to have "just work" despite this kind of specification insanity. In fact, when I can, I prefer to buy hardware that is listed as "Macintosh compatible" because the specs are so much more reliable and the quality is generally higher.

  5. I know the feeling. by anexanhume · · Score: 5, Funny

    I know what it's like to not have your floppy detected upon insertion.

  6. Re:Is it just me? by jonbryce · · Score: 4, Informative

    But Apple computers required you to unmount your floppies before you could get them back. Or if your computer crashed, you had to get it out with a paperclip.

  7. Actually there were viruses that did this in DOS by clusterix · · Score: 4, Interesting

    I had a DOS virus once and it did this so that any disk in the drive while the virus was in memory would become immediately infected.

    So viruses were doing this years before Windows 95.

  8. Re:Non-system disk or disk error anyone? by VGPowerlord · · Score: 4, Insightful

    Of course Windows damn well knows automatically when a floppy is inserted...
    The number of times I had to remove a floppy from my mom's non-booting PC is probably higher than the number of bytes in Wikipedia's servers.

    Congratulations on not reading the article or summary.

    First, this feature was talking about checking if a disk is present without spinning up the disk. To boot from a floppy, a computer spins up the disk and looks for a boot sector.
    Second, that would be the BIOS, not Windows, checking the floppy during the boot process. It checks the devices in the order it's set to. Back in the mid 90s, this was generally floppy, then IDE, then SCSI. A few people with good hardware had CD-ROM in there, too.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  9. Re:Macs by coryking · · Score: 4, Interesting

    Microsoft having to run on shit hardware.

    Floppys were the worst too. There was like no standard way to put in the ribbon cable so that Pin-1 on the cable hit Pin-1 on the drive. Some of the ribbons had a filled hole to act as a key--some of the disks had a pin there so that cable didn't work. Some of the disks were designed for the key'd ribbon, but all you had on hand were non-keyed cabling. Some of them had a plastic key on the ribbon so they wouldn't work on the drive missing the slot for the key.

    None of the disks had a plastic mold that surrounded the pins. That lead to you connecting the ribbon so the pins were all off by a row. Then when you pulled out the ribbon, it was very easy to bend all the pins.

    Keep in mind you were usually doing all this while the disk was screwed into the case and tucked into some god-awful location too. So you'd be inserting this ribbon essentially blind. As a result, every drive I owned had pins that were bent to shit because it would take like 4 try's to get the damn thing working. And worse, you'd never know if you didn't hook it up right until you booted the box and tried to read from the drive.

    Oh and if you did manage to get them working, the media was so unreliable that sometimes you could take a brand new disk, write to it, carry it to class and find all your data corrupt. Woe is the fool who didn't write the same file to two disks, lest he arrive with nothing but a bad disk.

    Floppy disks sucked. There was nothing good about them. Slow, unreliable and ill designed. Fuck them and the free AOL disks they wrote on.

  10. Re:Macs by Blakey+Rat · · Score: 4, Interesting

    Yah.

    You have to remember, a lot of people on Slashdot posting about Classic MacOS never actually used it. Most of them only adopted Macs after OS X came out, but they like to pretend they were part of the "Classic Club" by giving us little gems like the post you replied to.

    If you even slightly think something said on Slashdot might be wrong, go with your gut.

  11. twenty year ejection by epine · · Score: 4, Interesting

    Apple somehow slipped that "drag icon to trash" shortcut in, and it's been a point of criticism since.

    That says a lot about the attitude toward Apple when the major point of criticism is over style points.

    I had the original fat Mac (512KB) with two floppy drives. There was no internal hard drive and not really anywhere to put it. IIRC, I priced a 10MB hard drive in the range of $1500 with the necessary case mods. Whatever the price, it was a sizable fraction of the purchase of a new-fangled IBM AT. (If you don't know what fangled means, assume the worst.)

    The dual floppy fat Mac was pretty much a write-off for coding in C. My Unix-like C environment required at least three active floppy drives to get anything accomplished.

    Fortunately, Apple had implemented an auto-eject whenever the unmounted floppy was required. Invariably, it chose to eject the disk you would immediately need next. I muttered so many times to myself "no, you stupid POS, suck that diskette back in and eject the *other* one". Apple provided no convenient way to override this mistake. I had a lot of bent paper clips on my desk.

    Apple's philosophy then, which has ever-so-slowly evolved over two decades was "if this bothers you that much, spend half the price of a new machine on a short-sighted upgrade to an internal 10MB hard drive, which was never built to accommodate this". (You still won't have a proper LAN.) Or better yet, buy the Lisa.

    I would have loved to drag Apple's entire floppy disk interface into the trash can.

    Another thing about Apple back in the day was the rumour that Mac OS would support true virtual memory "real soon now" once hard drives became a standard feature. Apparently they were too busy crowing about the lack of 8.3 to pull this off. It didn't come true until the first release of OS X. Thus the nearly twenty year gap between my first Mac purchase and my second one.