Welcome to MSDN Blogs Sign in | Join | Help

Windows 95 almost had floppy insertion detection but the training cost was prohibitive

One feature which Windows 95 almost had was floppy disk insertion detection. In other words, Windows 95 almost had the ability to detect when a floppy disk was present in the drive without spinning up the drive.

The person responsible for Windows 95's 32-bit floppy driver studied the floppy drive hardware specification and spotted an opportunity. Working through the details of the specification revealed that, yes, if you issued just the right extremely clever sequence of commands, you could determine whether a disk was in the floppy drive without spinning up the drive. But there was a catch.

The floppy drive hardware specification left one aspect of the drive behavior unspecified, and studying the schematics for various floppy drive units revealed that about half of the floppy drive vendors chose to implement it one way, and half the other way. Here's the matrix:

Floppy Style Disk present Disk absent
"A"10
"B"01

The results were completely reliable within each "style" of floppy drive, but the two styles produce exactly opposite results. If you knew which style of drive you had, then the results were meaningful, but the hard part was deciding which style of drive the user had.

One idea was to have an additional "training" step built into Setup:

  • "Please insert a floppy disk into the drive and click Next."

Once the disk was in, we could run the algorithm and see whether it returned 0 or 1; that would tell us which style of floppy drive we had.

Unfortunately, this plan fell short for many reasons. First of all, a user who bought a computer with Windows 95 preinstalled would have bypassed the training session. You can't trust the OEM to have gone through the training, because OEMs change suppliers constantly depending on who gave them the best deal that week, and it's entirely likely that on the floor of the warehouse are a mix of both styles of floppy drive. And you certainly don't want to make the user go through this training session when they unpack their computer on Christmas morning. "Thank you for using Window 95. Before we begin, please insert a floppy disk in drive A:." You can't just try to figure out what type of drive the user has by comparing the clever technique against the boring "turn on the floppy drive light and make grinding noises" technique, at least not without displaying a warning to the user that you're about to do this—users tend to freak out when the floppy drive light turns on for no apparent reason. "Thank you for using Windows 95. Before we begin, I'm going to turn on your floppy drive light and make grinding noises. Press OK."

Floppy disk insertion detection is not a sufficiently compelling feature that users will say, "I appreciate the benefit of going through this exercise."

Sadly, floppy insertion detection had to be abandoned. It was one of those almost-features.

Published Thursday, April 02, 2009 7:00 AM by oldnewthing
Filed under:

Comments

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:18 AM by Matteo Italia

Interesting, but couldn't they solve the problem postponing the training to the first time a floppy was used?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:24 AM by Someone

I understand the reasons for not implementing the feature, but out of curiosity: what (if any) were the reasons for the 'leave the feature off by default and enable it the first time the user uses the floppy drive' option?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:25 AM by Mike

or how about on boot (while showing the windows boot logo) it just polls the drive using that method than using the old spin up disk method to check what type it is - gets past all of the problems, floppy checking while booting wouldn't bother users (POST does it on most systems anyway, so they are used to it) and would allow for change of floppy drives after install

then all you'd need to post here is an article about why you chose to add 3 seconds delay to the boot time because you thought floppy detection was worth a delay..

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:25 AM by John Topley

Why not just set the flag the first time the drive was accessed, so that the feature becomes available from the time after that?

I guess you then have the problem that the user may at some point change the drive for one of the other type, but I guess that would trigger the Add New Hardware wizard (I'm not sure), thus giving you a hook into removing the flag for that drive until it was first used.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:29 AM by Bryan

I've never seen the add new hardware wizard show up for adding or removing a floppy drive, which I've done a few times while using Windows XP.

Other OSes may vary, but that one at least doesn't show a visible hardware wizard or notification of any kind.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:32 AM by Adam V

> Floppy disk insertion detection is not a sufficiently compelling feature that users will say, "I appreciate the benefit of going through this exercise."

It sounds compelling enough for me, but then I'm a geek, not a normal person.

Also, when the hardware companies realized there was ambiguity in the spec, why didn't someone (at the hardware companies, not at MS) point it out and get version 1.1 of the spec to resolve the ambiguity?

Wait, I can answer my own question - by the time people realized it was underspecified, there were already a bunch of floppy drives out there. So they had three options - spend a bunch of time and money lobbying for the spec to go your way, (potentially) spend a bunch of time and money to fix the problem if the spec goes the other way, or spend no money or time by keeping quiet about the whole thing and hope no one else notices.

(Alternately, after the spec goes the other way, ignore the problem and put the blame on MS when it continuously tries to spin up an empty drive.)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:46 AM by gedoe

I *so* knew that the first few entries would be about how it would have been possible to detect the type of hardware (maybe because my first instinct was to think of a clever way to do it also :) )

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:56 AM by Duke of New York

Someone: By 1995 Steve Jobs was already predicting the imminent death of floppies. It wasn't really worth the trouble of trying to "enhance" them in their final years of life. I doubt IBM would have gone along anyway.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 11:01 AM by Marc

Did CD ROM Drive manufactures learn from this?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 11:23 AM by John

I have nothing to add other than "Don't copy that floppy!"

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 11:23 AM by Alexander Grigoriev

Yes, I guess either nobody could be bothered to detect the type at the first access, or the detection was not really bulletproof. It's not that the users routinely change the floppy drives without rebooting their machines.

But I'm glad they ditch the "smart" thing. It's way too often WIndows is trying to be too smart to figure out something behind our back, getting absolutely stupid result, WITHOUT ANY OPTION FOR AN USER TO OVERRIDE THE "SMART" THING.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 12:06 PM by Adrian

I just wish I could keep my XP machines from grinding away on the empty floppy drives each time I bring up an Explorer window.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 12:15 PM by Alexandre Grigoriev

Adrian,

It's not XP, it's your favorite antivirus or other addon. Or your floppies have "disk change" line stuck.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 12:31 PM by Maurits

Moral of the story: a feature can only be as good as the spec...

Suppose the user changes out the floppy drive, or perhaps takes the hard drive and puts it in another system - how does the system retrain?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 12:58 PM by Brandon Siegel

"Thank you for using Windows 95. Before we begin, I'm going to turn on your floppy drive light and make grinding noises. Press OK."

Thank you Raymond for making me spit coffee and crack up at work.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 1:21 PM by Aaargh!

The first time I installed Win95 was from 3.5" floppy disks, that took a loooong time, especially since you has to swap disks every few minutes.

You could have included this feature on the floppy version it made grinding noises all through the installation procedure ;-)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 1:29 PM by smith

Gosh, to think of all I lost wondering whether there was a disk in the drive...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 1:40 PM by Mike

Why couldn't you just postpone this check to the first time someone double-clicked a floppy? It would require zero effort on the user's part . I noticed two other people in the comments also thought of that, it seems like a no-brainer.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:02 PM by Jonathan

Adrian: Why, in this day and age, is there a floppy drive in the computer at all. My PC has no floppy, it's disabled in the BIOS, and Windows XP copes fine (just C: and D: in explorer).

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:04 PM by gkeramidas

"users tend to freak out when the floppy drive light turns on for no apparent reason".

it still does in windows 7, i have defrag turned off and have no idea what it's doing when the drive starts accessing by itself.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:15 PM by Sean Harlow

@John: Unfortunately I do not believe the Plug-and-Play system would know the floppy drive had been changed.  As far as I am aware (and I very well could be wrong) there is no initialization on the old floppy bus, just a standard set of commands, so the OS doesn't even bother to look at it until you try to use it.  Thus being why my floppy-less desktops still list an A drive until I disable it in the BIOS.  If I try to access the phantom A drive Windows still acts like it's just missing a disk, not that the drive completely isn't there, so I assume either the Windows team is very lazy or there's no point in boot where they're communicating with the floppy drive in any way.

@Adrian: As others have pointed out it's probably some third party application like a virus scanner, but I think I have a better solution than looking for what's doing it.  Turn the floppy off.  Seriously, go in to your BIOS and disable it.  How often have any of those reading this blog used a floppy for anything other than BIOS flashing recently?  Even emergency boot disks are CDs or on USB keys anymore.  If you need it again, turn it on, but personally I haven't had a floppy drive in any of my computers bought after 1998 and don't intend on ever having one again.

Everything I own except one 1991 model IBM I keep around for sentimental reasons can boot from CD, USB, and most all of them can even PXE netboot, so with a 64MB USB drive equipped with FreeDOS around to flash BIOSes from there is no need for one.

@Mike: It does seem like a no-brainer, but since there apparently isn't an easy way to detect if the drive has been changed what happens when a drive breaks and is replaced with another model that handles things differently?  There is the potential to make the experience worse for the user, so it doesn't seem like a bad idea to just leave things alone rather than possibly annoying users.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:15 PM by ReAaargh!

Aaargh!: That wouldn't have helped those with the CD version.  Also OEMs who have 1000 computer order to fill probably don't use floppys to install Windows.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:21 PM by J

How about doing the opposite? Tell the user to ensure the drive is empty, and then run the A/B detection routine.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:36 PM by Mike

@Sean: You're right, the case of a swapped floppy drive complicates things. However, f you tested for the type of drive every time the user double-clicked the floppy drive, the problem would resolve itself as soon as the user double-clicked a floppy. Still its a bit messy and I could still see the argument for dropping this feature, but replacing a floppy is something that less than 1% of people do and you could still have reasonable behavior for that less than 1%.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 2:39 PM by Aaargh!

> Aaargh!: That wouldn't have helped those with the CD version.  Also OEMs who have 1000 computer order to fill probably don't use floppys to install Windows.

http://en.wikipedia.org/wiki/List_of_emoticons

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 3:02 PM by Marc

Just because you *can* do something, doesn't mean you *should* do something.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 3:09 PM by Cale Gibbard

Given what's presented in the article, the reasoning for not including the feature seems silly.

The first time the drive is installed, it could do both a fast test and a normal test for whether there's a disk present, and regardless of whether there was really a disk there or not, it could determine as per the table which sort of floppy drive it was. There'd be no need to present the user with anything.

However, if there are further cases where the fast test doesn't actually work at all (say, where it gave 0 in either case), then it would require waiting for times where the drive was both full and empty before being able to determine if the fast check was possible.

# Floppy Drive Fscked Windows 95 | The Minority Report

Thursday, April 02, 2009 3:26 PM by Floppy Drive Fscked Windows 95 | The Minority Report

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 3:44 PM by tb

I'm confused by the matrix.

Does this represent the two types with a floppy present?

(Floppy Style - Disk present - Disk absent)

STY - P - A

"A" - 1 - 0

"B" - 0 - 1

And does it look like this when a floppy is absent?

STY - P - A

"A" - 0 - 0

"B" - 0 - 0

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 3:48 PM by Ryan Fox

Couldn't you watch for a change in the drive state, and then do whatever?

For instance, poll the drive and find nothing. There must be no floppy, so wait until the state changes.

If you poll and find a floppy, but not the file you're looking for, wait until the state changes twice.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:02 PM by Bob

Guys, you're over-thinking it. This isn't a technology problem, its a social engineering problem.

Here's the correct solution:

Couldn't you just get a bunch of goons to break the kneecaps of the people who wrote the floppy drive specification?  If not, toss a coin to decide which group of vendors get asked to choose between "changing their hardware" and "geting their kneecaps removed" based on the fact that "unspecified" is a synonym for "useless" and therefore their random choice justifies your random choice.

Violence is never the answer. Violence is the question. "Yes" is the answer.  :)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:10 PM by Joe Butler

I guess it was not as superficially easy to check the bit's meaning by checking on first access because the check couldn't be done atomically. So, if someone happless user ejected their disc at the critical moment between Windows doing the first disc access and the first check status flag probe, you'd end up with a 'status inversion' for the disc's presence status - perhaps until next boot - or worse, forever.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:27 PM by Barry Kelly

Win95 Setup *does* make the floppy drive grind, though, as have all versions of Windows Setup from 95 through to XP. (Speaking as an ex hardware technician who installed Windows hundreds of times.)

Specifically, it makes the grinding noise when it's setting up the Start Menu items for the first time (it says). I personally suspect it's because it's creating the "Send To" shortcut, but that's only my suspicion.

I believe a statistical approach could have worked. The problem would be if the drive was ever changed, and Windows thought the drive was empty even though it was actually full. It would still need to poll on disk access occasionally to get back to normal; this would be rare, though.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:37 PM by Richard

I see two possible uses of knowing a floppy has been inserted

1) A program is all ready running that is reading/writing multiple floppies (anybody out there old enough to remember Fastback Plus).  

2) Someone inserts a floppy and wants to do something with the media.  Let’s call this option “Autorun”.  

Option 1 likely yields minimal improvements.  Option 2 opens the door for potential exploits by Malware.  Even if option 2 is used for legitimate purposes, many people find “Autorun” an intrusive annoyance.  I for one am glad Microsoft did not implement this “feature”.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:37 PM by Art

I have an XP computer that detects and shows the floppy drive even though it is disabled in the bios and can't be accessed.  If I unplug the drive it disappears, but it does come back if plugged in.  Popular ASUS MB, so I'm guessing it's not a bios issue.

I also have a win98SE computer that hits the floppy right and left even though it hasn't been used in years.  File open dialogs always start there too as does windows setup.  No antivirus or utility to blame, it continued to do it from a wipe and fresh install on a new hard drive.  I've even removed every registry reference I could find to the drive letter and they come back.  Weird jumble of parts in this one though.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 4:56 PM by Bob

@tb: It's a single bit being checked, not two. Drives of one type set the bit to 0 when empty, while drives of another type set it to 1 when empty.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 5:45 PM by alex.r.

To handle the case where the user changes the floppy drive, you just ask the user to *always* leave a floppy in the drive!

I can't believe the feature was cut for such a trivial matter ;)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 6:53 PM by steveg

I can see why it was abandoned: "This is going to be awesome for 90% of users. The other 10% are going to call Support. That'll cost N million bucks."

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 7:04 PM by Chris

If I recall correctly, OS/2 had floppy detection. I remember that you could insert a disk and see its directory. You could then bring up that directory over and over again and it'd never spin up the disk. But if you ejected and reinserted the disk then it'd spin up the next time you tried to see the directory.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 8:16 PM by dmfdmf

Adrian wrote...

> I just wish I could keep my XP machines from grinding away on the empty floppy drives each time I bring up an Explorer window.

I think that can be caused by a shortcut (*.lnk) that refers to a file that was once on the A: drive. The problem link probably exists in the Recent folder or somewhere in All Users folder or somewhere in MS Office folders. Do a search on all *.lnk files containing "a:" and delete them and see if that helps.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 8:24 PM by Leo Davidson

@Jonathan:

I have a floppy in my desktop after building a previous machine without one and then finding the POS DOS-based firmware/feature tool for one of my HDDs or optical drives pooped itself when faced with SATA, or something like that, and would only work if run from a floppy drive...

I can't remember the details but I had to take apart an old PC, plug its floppy into my new PC (whose case didn't even have room for a floppy, so it all hung out the top), do the changes and then put everything back how it was.

Then I needed to do them again a few hours later...

After that hassle I decided to just keep putting floppies in my machines where practical, given they cost next to nothing.

Perhaps things are better now, though. I'd hope so!

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 8:53 PM by Brian K

It still irks me that when I accidentally click on the floppy drive in Windows Explorer and the "Please Insert a disk into drive A:" box pops up. Its stil detecting as I write this.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 9:11 PM by Jason

That's ridiculous.

When the floppy is read for any reason, and you don't get a failure exception, you can set the registry flag at that time to record the inserted/not inserted type.

Way to not solve a problem effectively!

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 9:21 PM by Jonathan Wilson

What I want to know is why modern chipsets even include legacy stuff like floppy disk drive controllers, serial port controllers, PS2 keyboard and mouse support etc.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 9:41 PM by Mark Sowul

This seems trivial - just figure it out the first time they actually try to access the disk since the PC has started.  The first time it will grind or find the disk (as it does without the feature anyway) and from that you can infer what the states mean.  Maybe I'm missing something or Raymond has oversimplified the problem to make his point.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 9:45 PM by Mike Caron

Jonathan Wilson: That's a joke, right? USB keyboards don't work in the BIOS on my motherboard (about a year old).

Why? Who knows.

# uh

Thursday, April 02, 2009 9:48 PM by shawn

couldn't it just go through this simple process everytime windows rebooted?

Step 1:Do the test above and see if you got a 1 or a 0.

Step 2: Spin up the drive for a moment and see if there's actually a disk in there.

Step 3: Use the two pieces of information that you got from the first two steps to determine what type of drive you've got.

Step 4: Bingo.

It could be a regular part of the windows startup process, wouldn't be noticeable to the user, and it'd be accurate. As long as you assume that the user hasn't changed out the floppy drive without rebooting windows.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:05 PM by abc

Why could MacOS do it but Windows could not? (Probably because Apple had tighter control of the hardware.)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:10 PM by redmaxx

Couldn't Windows 95 have activated the feature as soon as it was 100% sure there was a floppy in the drive (such as actually reading a file of the disk)? By then it would surely know what type the drive was.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:49 PM by Alexander Grigoriev

"Even if option 2 is used for legitimate purposes, many people find “Autorun” an intrusive annoyance.  I for one am glad Microsoft did not implement this “feature”."

You won't believe that, but Microsoft even implemented Autorun for USB drives! Which, purely accidentally, is another way Conficker worm spreads. And have also caused several security incidents in government (DoD) institutions. I'm afraid, in the long run this little feature will cost Microsoft big contracts.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 10:54 PM by Alexander Grigoriev

"If I recall correctly, OS/2 had floppy detection. I remember that you could insert a disk and see its directory. You could then bring up that directory over and over again and it'd never spin up the disk. But if you ejected and reinserted the disk then it'd spin up the next time you tried to see the directory."

This is called "caching" and even DOS with smartdrive loaded could do that. The cache stays valid until you get "disk changed" signal.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 11:44 PM by mcovey

I love how everyone has offered the 3 or 4 "obvious" solutions that spring to mind after reading the story. Clearly there were more circumstances than the story lets off that prevented the use of the technology - I refuse to believe that everyone was such a big idiot that they didn't think "well instead of asking them for a floppy, let's just ask them to ensure the drive is absent, and reverse the result."

Beside that, nobody uses floppies anymore - so who cares?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Thursday, April 02, 2009 11:50 PM by djhayman

I really don't think that "detecting the first time you try to access the floppy" would have been a good idea. You'd completely confuse the user:

First time they insert a floppy, nothing happens. So they go to My Computer and open it from there.

Next time they insert a floppy, the Explorer folder would just appear all by itself.

I think the smartest option would be to just check it during every Windows boot. That way, there's no confusing questions, and it doesn't matter if you change the drive at any point.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 12:01 AM by Jim

> not the file you're looking for

These aren't the droids you're looking for.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 12:28 AM by Neil (SM)

steveg wrote:

>>I can see why it was abandoned: "This is going to be awesome for 90% of users. The other 10% are going to call Support. That'll cost N million bucks."

I'm not seeing how that feature would have been awesome for more than about 5% of users max. The rest would have split between calling support, getting irritated, not noticing, or simply not caring.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 1:27 AM by Worf

All these people and no one asks to find out what the clever method actually was? Sure it's not so useful now, but there may be use in some oddball purpose in an embedded system...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 1:56 AM by Mike

The P and A in the chart represent Present and absent. There is only one bit in question here. The point is that in type A, a disk being present was represented by a 1 and 0 for absent. In Model B a 0 meant present and a 1 ment absent.

STY - P - A

"A" - 1 - 0

"B" - 0 - 1

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 2:39 AM by kormgar

Um...why require the user to do anything at all?

If the OS could already detect the presence of a floppy by spinning up the drive, then why not just simply have a one-time training check...

If the flag isn't set, spin up the drive and check for floppy.  Compare this to the results of the no-spin method and viola, you now know what sort of drive you have.

# 10 Interesting Links From April 2nd | Greg In The Desert

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 3:35 AM by MDW

Ah bring backs memories of the Commodore Amiga, now that did detect the 3.5" floppy in the drive, but it clicked periodically rather than span...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 4:52 AM by IDIOTS

boolean hasFloppy() {

   return a || b;

}

idiots.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 5:31 AM by Stu

Sigh... I wish win95 (and in fact later windows) had this...

Even my new computer came with a floppy drive, it would be so much cooler if this worked.

Still... maybe linux should gain this...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 6:02 AM by nt

Hey, I have an idea nobody else has thought of: why not do the slow check the first time the floppy drive is used after each boot to determine the fast check result you are looking for?

Come on Raymond, admit it.  You sometimes post softballs like this to watch people falling all over themselves to prove how clever they are, don't you?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 6:16 AM by Jérôme Muffat-Méridol

Somehow, I always get this huge level of frustration when the system goes unresponsive for the slightest moment of time... So when I read this entry, I thought "why, oh why?".

It does sound obvious that the system should be able to decide what kind of drive it has whenever it succeeds in accessing a file on the floppy. So, training really wasn't necessary : just act dumb until you read something from a floppy, then become clever.

And then it hit me...

"Clever", I said...

Somehow clever just means "trouble in the making", doesn't it?

User replaces floppy drive. Cleverness must disappear somehow... More detection code, more bug potential, how does QA deal with these? yuk...

In the future a manufacturer might come up with a third category (why? why not?), yuk...

So yeah...

I can see the point...

There is always a good reason why something didn't happen, and it always is the same:

it wasn't a priority ;)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 6:57 AM by Carl

"it still does in windows 7, i have defrag turned off and have no idea what it's doing when the drive starts accessing by itself."

It's just doing to remind you that it's there, sort of like a 'Hey! Don't you think that a card reader would look much better in this bay???'

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 7:59 AM by 640k

With 2 (or more) different floppy drives the hardware behaviour cannot be stored by a single bit/flag. Messages like "please insert disk into floppy drive" would also be ambiguous.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 8:03 AM by floppie seeker

Is there a secret registry value which can enable this feature?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 8:19 AM by Martin Ferrari

Great story. I love to read posts like this. Thanks Raymond

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 8:23 AM by Neil

How about a "secret" executable "FastFlpy.exe" to run the "training" step. Or just enable the "Auto insert notification" box in the floppy device properties, and that would initiate training.

# re: Softball Questions

Friday, April 03, 2009 8:31 AM by Mark (The other Mark)

The funny part is watching all the people who suggest really bad solutions that have the potential to render any FDD unusable. Or the ones saying they never use a FDD anymore, apparently missing the Windows 95 part.

It would've been a cool feature, if it had been quick and easy, but I can understand why it got cut when it turned out to be more complicated then it looked. Kudos to the unnamed Dev who looked up the real-world behavior of actual FDD's before this code shipped!

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 8:36 AM by Stuarticus

Yes that would have been great - I mean how many people actually kept auto insert notification ON in those days! It was crap!

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 9:45 AM by Anonymous Coward

I knew it. The Dutch documentation for Windows 95 and some early software for Windows 95 suggested that this worked, with phrases like ‘Insert the diskette and wait until Setup starts.’ and such. I reasoned that that must have been a feature that was originally scheduled for inclusion but was later scrapped.

By the way, Raymond, why didn't you go for this solution: The disk-in drive state changed. Maybe there's a disk in the drive (although probably not), grind it. You now know whether your assumption was correct. If it was you will have to open an Explorer window, and the user won't notice because opening that window will cause grinding itself. You can now save a flag that tells you how to interpret all future disk state changes.

The bad? In a small percentage of cases you will get a spurious spin-up, only once. But Windows 95 did that a lot of the time anyway, right from a blank install, so I don't think the users would have noticed or cared. If you're afraid users would call support over it, pop up a window that says ‘I thought there was a disk in the drive, I was wrong, sorry, it won't happen again’.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 10:14 AM by tb

@mike

@bob

Thanks for the clarification. That's just... wow. Yet another reason floppy == fail.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 10:24 AM by SuperKoko

> Hey, I have an idea nobody else has thought of: why not do the slow check the first time the floppy drive is used after each boot to determine the fast check result you are looking for?

Because users wouldn't understand why autorun doesn't work when they've freshly rebooted their computers...

They would have to explicitly access the floppy drive once everytime their computer is booted to make auto-detection work.

Or, you may check the floppy everytime Windows is booted, but that would:

1) Not work if the user inserts or removes a floppy disk in the short time between the slow check and the fast check.

2) Unnecessary delay the boot time for people not using floppy drives.

3) Make noise.

To provide... A feature useful for 1% of good guys but very useful to malwares guys!

BTW, how many people do read comments before posting their own? 20% ?

# The Old New Thing : On the almost-feature of floppy insertion detection in Windows 95

# Michael Tsai - Blog - Floppy Insertion Detection in Windows 95

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 1:36 PM by t_u

> Ah bring backs memories of the Commodore Amiga, now that did detect the 3.5" floppy in the drive, but it clicked periodically rather than span...

Yep, but there was also a "no click" patch which still enabled the disk detection ;)

http://aminet.net/search?query=no+click

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 1:54 PM by Dex

Now if they want to get clever they should auto-detect when I have just sat in my chair and power up the system. Oh, I just remembered there's no standard yet for the value of the "ASS PRESENT" data bit...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 2:44 PM by geo

They just couln't have a miserable button/config option/menu or similar i.e when viewing the properties of the floppy, that could then guide the user to setup this feature? No, just disable the feature for all users, because the stupid ones won't know what to do with that!

I just hope some day there will be an option in the setup somewhere What type of user you are

a.complete idiot

b.knows what a computer is

[Oh right, a deeply-buried configuration option for something advanced users would probably never turn on in the first place. -Raymond]

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 8:40 PM by Derek

If only the CD/DVD spec didn't make presence detection optional (they probably thought people didn't care since nobody bothered with it for floppies).  Most CD/DVD drives don't support it, so you have to wait 10-30 seconds for the spin-up.  I guess it isn't a huge loss though as in many cases spin-up is required anyway in order to determine the disk type.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Friday, April 03, 2009 11:45 PM by Jinesh

They could have just spinned the drive when they detect it for the first time. If the spinning revealed that the floppy was present, then they could have tried the new logic at the same time to determine what kind of drive it was. Simple !

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 2:47 AM by Anachronda

All these comments and no one has asked the most important question: What was the loophole that was used to detect the floppy? Behavior of the track 0 signal? There's not a whole lot you can look at without spinning up the drive.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 3:04 AM by Anachronda

And while I'm at it, let me introduce you to my friend the TEAC FD55GFV. This is the 5.25" high-density drive used by DEC in stuff like MicroVAXen and their AT class machines. It's like an average TEAC FD55 *except* that it doesn't have the little spring that kicks the floppy out when you open the door.

To add insult to injury, the drive doesn't turn on Diskete Changed until the diskette has moved a bit. This isn't a problem with your average TEAC FD55, since it has the spring to move the diskette when the door opens.

Point being that it's possible for an evil user to open the door of the drive and leave the diskette in. The drive thinks there's a diskette, but you can't spin it because it's not clamped to the hub.

In other words, that drive has a *three* states: diskette out, diskette in, and diskette kinda sorta in.

Man, I hate that drive.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 3:04 AM by Stefan Ciobaca

Let's think outside the box.

At installation time: run the smart algo, make a note of what it says.

(Quickly thereafter) run the reliable algo, make a note of what it says.

I'm sure you can take it from here.

# Windows 95 almost came with floppy disk detection! | Thushan Fernando Uncut

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 6:32 AM by Artem S. Tashkinov

> The results were completely reliable within each "style" of floppy drive, but the two styles produce exactly opposite results. If you knew which style of drive you had, then the results were meaningful, but the hard part was deciding which style of drive the user had.

Sorry, but you are talking bullocks. You could easily automatically train your wonderful system as soon as user inserted a floppy drive and tried to access it - now you had all required data - floppy is actually is in drive and you can know the bits to identify this floppy presence.

Issue solved.

Probably the issue is more complicated from the programmers POV and you don't give enough information.

# Windows 95????????????????????????????????????????????? « ??????IT???????????????IT?????????????????????????????????????????????????????????

# http://osnews.com/story/21249/windows_95_almost_came_with_quot_floppy_insertion_detection_quot_

Saturday, April 04, 2009 12:40 PM by TrackBack

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 2:34 PM by Christopher Yeleigton

MSBACKUP for DOS and several disk imaging utilities had this smart functionality built in.  They were useless when a nonstandard floppy driver was used, like a PC card.  The last screen was "Please insert the floppy disk", then you could only reboot.  You can easily experience this feature under NTVDM.

And MSBACKUP for Windows 3.1 used to hang Windows during launch.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 3:23 PM by Arnold Kernelhacker

1.44MB floppy drives spin up the floppy anyway for a few rounds when inserted. Most floppy drives don't even turn the spindle motor on if there is no disk in drive.

So as we don't know what feature or bug in the floppy drive system was thought to be useful detecting the floppy drive, there is no point speculating what it might have been.

We need more info, like what signal is/was used and why it was not reliable.

Nowadays floppy drives can be polled for the DISK CHANGE signal, which is supposed to be in one state when floppy is in drive and in other state when floppy is not in drive. But it may be that it was at one point used as a pulse, which was only active for one poll round and then resets.

Track0 signal it can't be. Neither Write Protect. Nor Density Select, as it has been used as input or output or not used at all.

# @Brandon

Saturday, April 04, 2009 3:36 PM by DaveK

>"Thank you Raymond for making me spit coffee and crack up at work."

While a cup of coffee is a perfectly socially acceptable stimulant, I feel it is quite unprofessional to be taking /any/ form of cocaine during office hours.

ObTopic:  Yes.  Colour me also none too impressed with the "cleverness" of a failed attempt to do something that Amiga had been doing for years.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 4:18 PM by Me

It's a pity you only gave up on this part of the Windoze 95 project.  If you given up on the whole thing you might have spared us all the subsequent pain from the various broken beyond belief versions of Windoze.

# @Arnold Kernelhacker

Saturday, April 04, 2009 4:21 PM by Anachronda

Actually, what you're describing is closer to the way Drive Ready worked. Diskette Changed becomes asserted when the floppy is removed and isn't cleared until *the drive is stepped* with a floppy in place.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 4:43 PM by Todd Bandrowsky

Those Amiga fans out there touting the drive detect should also remember that when Amiga spun a drive up, it actually read the disk and executed something on it.  So, with the Amiga, you could easily spread a virus by merely inserting a disk.  Lost many disks that way!  Thank GOD Microsoft did not follow suit.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 4:59 PM by Nick

Congrats Raymond on (still) being the most Slashdotted Microsoft blogger :)

http://tech.slashdot.org/article.pl?sid=09/04/04/1717242

What's sad is reading over the comments in that story that just re-hash what's already been asked and answered here and your other post. I know nobody on Slashdot RTFA, but still. It also doesn't help that the shmuck submitter didn't include a link to the followup.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 5:02 PM by Will

I think that the people suggesting autotraining are underestimating how bewildering it would be to have a system with an unknown degree of cleverness at any given moment for most users.  If I were king of Microsoft at the time, I would have implemented a simpler solution:  a control panel where you can turn on autodetection, and a little toggle option where the user can tell the system which type of drive they have.  Nobody would have been bothered by the feature since it would be off by default.  OEM's who know what type of drive they are shipping with could turn it on by default, and users who find the feature useful could turn it on manually.  Negligible extra cleverness needed, no unpredictability on a given system, very little to go wrong.  And, Microsoft would have succeeded in doing something which was known at the time to be impossible.  Which would have annoyed the crap out of those of us who were Mac fanboys at the time.  :)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 5:05 PM by Buanzo

So... why didn't anybody ask for the command sequence? I can't believe everybody provided the same idea (delay the training to first floppy disk usage), and NO ONE asked for the command sequence, or more technical details, just for the hack of it... :)

SADDDDDDDDDDDD

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 6:34 PM by Warner Losh

Couldn't they have ACCESSED the floppy?  You run your test for present or absent.  Then you access the floppy once to see if you were right.  Instantly, you know the right thing for future operations.  No need to have the user insert a disk, click OK, or anything else.  There's 100% reliable ways of knowing if a floppy is in the drive (assuming that the sector you want to read is good, but if it isn't you get different errors).

This seems like an urban legend more than an interesting cool old fact.

# So what is the command sequence?

Saturday, April 04, 2009 6:48 PM by Louis Cypher

Or, does anyone know: What's the most efficient (least labor intensive way) to retrieve data from, then erase/scramble a couple hundred floppy disks?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 7:01 PM by Adam S.

This sounds like a rather trivial problem to solve.  Simply have three states for the floppy drive: type A, type B, and unknown.  

The state defaults to unknown (ie. when the machine is built, or floppy hardware changes).

The state changes to A or B when a disk is inserted and the drive accessed.

But maybe I'm missing something here..

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 7:15 PM by Kolano

Um, it would seem that one could work this out whether a disk was inserted or not. I'm not sure why a one time disk spin up without a disk was avoided.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 8:31 PM by LoadWB

@Todd Brandowsky

Can you give an exact example of this?

The only thing the AmigaOS did with a newly inserted floppy was load the disk.info icon, and put any left out icons onto the Workbench.

Floppy insertion detection is a great feature.  You can detect inserted volumes automatically, meaning you do not have to grab the mouse when changing disks.

Now removable drives (CD-ROM, USB, etc.) make that a moot issue except when dealing with software which only has floppies from which to install.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 9:06 PM by ohxten

Interesting little tidbit. Thanks for sharing. But what I don't understand is, why couldn't you just wait until a user accessed a floppy drive; if there was no error when the user attempted to access it, then you could assume there was a floppy in the drive, and then run the algorithm? Or am I missing something?

Windows 95... ahh, the good old days.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Saturday, April 04, 2009 9:22 PM by John Wallaby

So.... how about adding the feature to Windows 7?

The floppy autorun could be set up when the floppy drive is first used. A quad-state setting could be used to track how to handle the disk: Disabled, A, B, Unknown.

Few have floppy drives anymore, but it would be a really nifty feature for Win7.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 2:53 AM by Darren

"What I want to know is why modern chipsets even include legacy stuff like floppy disk drive controllers"

That's so that I can connect a 5.25" floppy drive to my newly-built Core2 Windows 7 system. True story - 7 even has a nice shiny 5.25" floppy icon, copied from Vista. Windows XP just reused the Windows 98 icon.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 3:03 AM by James

I love these posts where all our old questions are answered. Thanks for the update!

# 10 things to learn on April 5th

Sunday, April 05, 2009 4:04 AM by 10 things to learn on April 5th

# Post the commands!

Sunday, April 05, 2009 5:59 AM by me

Why don't you post the magic sequence? There are still machines with floppies out there, and somebody might want to implement the technique.

As for the noisy auto detection sequence - people put up with so many bugs and errors of software all the time that with such a little one-time quirk at first start, I don't think that it would have mattered.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 8:41 AM by Bla

Just pick one and stick with it...

If it fails do the normal detection thing ;)

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 9:37 AM by MadQ

@Dex:

>Now if they want to get clever they should auto-detect when I have just sat in my chair and power up the system. Oh, I just remembered there's no standard yet for the value of the "ASS PRESENT" data bit...

My PC has an "Ass Still Present" bit. It's a passive infrared motion detector with some custom circuitry connected to COM1, and a little app that prevents the screen saver from kicking in when I'm around. I got tired of using circuit diagrams as screen savers when I'm doing geeky electronics things.

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 10:06 AM by Jakob Greve

skimmed the comments. Based on the very simple scheme woulden't it be easier to detect if a floppy was not present much like the remove all disk messenging. You have to remember that you had to go into the Bios to change a boot-sequence so it probably would make more sense to the end user to tell something not to be present.

Also I remember cd-rom drives had been introduced mostly to include the obsolete encarta but that is another story...

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Sunday, April 05, 2009 2:36 PM by Djdat

Do we really need floppy detection? Are you all so lazy as not to just look? lol Seems pointless to me.

# People hear me out...

Sunday, April 05, 2009 10:45 PM by Igor Levicki

As many mentioned, Amiga was able to detect whether a floppy was present or not. It was usefull because it allowed the computer to start booting of the floppy as soon as you inserted one or to pre-cache the disk contents before you manage to grab a mouse and double-click on a floppy icon.

Now before anyone says that Amiga floppy was different let me add that I have succesfully built and used an external Amiga floppy drive using a standard PC floppy drive -- all I had to do is to place a jumper because Amiga used different select line, and even that was only because PC used stupid mid-cable twist to select whether floppy gets to be A: or B: instead of using proper method with jumpers.

Whole PC hardware is a hack upon a hack. Take a look at a floppy controller for example -- it can only read PC floppy disks because it assumes disk format, and decodes it without allowing you to read or write RAW MFM data. Amiga floppy controller was format agnostic and could read/write ATARI and PC floppies as well as custom formats without any issues.

Furthermore, Amiga floppy controller was able to use more than one floppy drive at once -- you could have copied from one floppy to three other floppies at once.

Not to mention that accessing the floppy didn't block the computer with a single core Motorola MC68000 running at 7.09 MHz like it blocks your PC even today running Windows 7 on a 3.0+ GHz quad-core.

PC hardware and software == epic fail. What is it good for if it still can't stay responsive while accessing the floppy or a DVD drive?

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Monday, April 06, 2009 6:07 AM by fade

The title should be "Windows 95 almost got WGA detection scheme built-in but the first step to detect if there's a floppy present was proven to be a challenge" :p

# re: Windows 95 almost had floppy insertion detection but the training cost was prohibitive

Monday, April 06, 2009 1:26 PM by Henque

Place a trigger to react the first time anything successfully reads anything from the floppy drive. When this happens check what kind of floppy drive it is and pop a requester and ask the user if he/she would like to enable floppy detection. Windows has asked more stupid questions than this...

# This is why

Tuesday, April 07, 2009 1:15 AM by Igor Levicki

"Several manufacturers provided the OEM parts for this drive, usually a Matsushita JU262 or Chinon FB354. It was no different than a normal PC DD floppy, except it had the diskchange line enabled, where many modern PC floppy designs do not."

So there you have it, ask those cheap PC manufacturers why your floppy doesn't have DISKCHG signal enabled.

It can actually be enabled on most of the drives with a little bit of electronics skill, but it is a bit too late for that now.

Conclusion of this topic would be that while Microsoft's goal was for PC to be cheap so they can sell more software, they over-engineered the cheapness by not having strong enough compatibility requirements, and it came back to bite them (multiple times if I might add).

# This is why

Tuesday, April 07, 2009 1:15 AM by Igor Levicki

"Several manufacturers provided the OEM parts for this drive, usually a Matsushita JU262 or Chinon FB354. It was no different than a normal PC DD floppy, except it had the diskchange line enabled, where many modern PC floppy designs do not."

So there you have it, ask those cheap PC manufacturers why your floppy doesn't have DISKCHG signal enabled.

It can actually be enabled on most of the drives with a little bit of electronics skill, but it is a bit too late for that now.

Conclusion of this topic would be that while Microsoft's goal was for PC to be cheap so they can sell more software, they over-engineered the cheapness by not having strong enough compatibility requirements, and it came back to bite them (multiple times if I might add).

# Sorry for the double post

Tuesday, April 07, 2009 1:19 AM by Igor Levicki

The website said "sorry we are unable to process your blah, blah" first time through.

# Amxc weblog » Almost a feature

Thursday, June 11, 2009 2:02 PM by Amxc weblog » Almost a feature
New Comments to this post are disabled
 
Page view tracker