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."
Why not do the behavior detection on first instance a floppy disk was used?
What's a Floppy?
Couldn't you perform the detection by measuring the delta of the state?
On booting Windows 95, attempt to read from the floppy drive. If there's no disk, then take whatever that hardware state is - whether 1 or 0 - as the 'base' value, and periodically check to see if that value has changed.
I may be missing something but it seems like the appropriate trigger isn't the specific value of the flag, but rather the setting of said flag.
--Ryvar
Just out of curiosity, what mechanism does Linux use to do this? In Ubuntu both on my laptop and desktop it magically detects floppies when they're inserted seemingly without spinning the drive. My laptop uses an external USB drive, but my desktop has a bog standard internal drive circa 1992.
But on a different note, if you want Windows to autodetect floppies for you... Buy an LS-120 drive.
So, you're telling me that this might be ready by the time Windows 7 is released?
greed@All_Evils:~#
maaaan, i could have saved HOURS OF LABOUR. HOURS!!!!!! Thanks, Micro$oft. Just another failure in your long list of FAILURES.
WÌÌfÍ--ÍSÌÒÍ...Í...ÌHÌÍfÍÍÍ--ÍÍÍ
I never imagined that MS developers were smart enough to actually to think of something like this. We in Macintosh land where auto-detection of floppies was standard from the beginning had simply chalked it up to a simple case of microsoft being microsoft.
One of the signficant problems with DOS and Windows 3 was what appeared to be a policy from Microsoft. They refused, for hardware compatibility reasons I am sure, to make use of DMA with floppy drives. Similarly, until Windows 95 there was no use of DMA except by third-party drivers at all.
The result of this was that any Microsoft backup utility ran at half (or less) the speed3 of any DMA-using backup utility. Also, if you didn't have a third-party DMA driver, hard disk access was considerably slower.
Windows 3.11 finally included what was apparently a licensed DMA driver for 32-bit hard disk access. It did not appear to have too many compatibility problems, but there were some. If anything, I would see this as reinforcing the idea of continuing to use BIOS access for the floppy drive and BIOS access only.
There was some relaxation of this with Windows 95, but by no means was it complete. DMA continued to be under-utilized for I/O, partly because of kernel design and partly because of hardware compatibility issues. With more rigorous standards from Microsoft about how stuff is required to work, somewhere around 1999 we started getting more "standardized" hardware for the Windows world.
Anyone comparing this to Apple doesn't understand the problem. With Apple there was one hardware standard and only one, since 1984.
I know what it's like to not have your floppy detected upon insertion.
I don't know who wrote this article, but I have questions about its veracity.
5.25" floppy drives had two optical switches, one on either side of the disk. One detected the presence of the disk, the other was for the write-protect tab.
Similarly, 3.5" disks had three switches. One detected the cutout that represented disk capacity (720K or 1.44M), one was for presence of the disk, the other for write-protection.
The drives reported the status of these switches when queried by software.
http://www.youtube.com/watch?v=Sn9VkoOO3EA
I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
Why didn't they spin up the drive to check for a disk, run the routine that doesn't spin the drive up and based on the results, adapt the result to the computer...
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.
Hopefully far away.
To ordinary people, this is indeed a non-story. But to a true nerd, a story about an undocumented feature in a (once) popular tech almost being implemented in a (once) popular OS is interesting reading.
It may not be "news for nerds, stuff that matters" but it's definitely "stuff for nerds".
What?
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.
to add it to Windows 7. Now that's an upgrade worth paying for!
AmigaOS 1.0 did that
Meanwhile it was unable to copy to/from a floppy without slowing down to a halt... go figure as in linux it didn't affect the computer at all!
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
AmigaOS 1.0 did that
Click. Click. Click. Click. Click.
Better known as 318230.
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.
That's unfair! Sometimes it succeeded at staying up for ohhhh... whole minutes at a time, sometimes consecutive minutes even. On a really good day, you even needed the shutdown feature.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"Yes, otherwise I wouldn't be mentioning it here :). In fact I discovered the virus because the 5.25" drive light would come on when a disk was inserted before the drive was even closed.
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.
Consistency in an operating is indeed a high priority, but the designers at Microsoft think they know better and suggest "Because Windows adapts to how you use your computer, the menu items you use most will be automatically displayed in the future. So the next time you open the menu, you might not need to expand it."
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.
If only they had remembered this lesson. Some years later they considered it vastly different to spin up a CD upon insertion. Then they figured they'd not only do that, but also trust the media enough to blindly start executing code from it.
2000 can do it too, and I think the earlier NTs could also.
Ever since the first IBM PCs, there was a specific data line in the ribbon cable dedicated for disc-change sense.
The real problem was that IBM never specified in the spec what voltage level it should be for when there is a disc in the drive and when it is out.
IBM PC-DOS (which had IBM's own IBMBIO.SYS instead of Microsoft's one) behaved differently on the original IBM I had years ago. When there was no diskette in the drive, attempts to use it immediately failed. However, it could not detect if I had not closed the gate so if the diskette was in but the gate open, the drive motor would spin but the floppy couldn't spin. If you ever look at the insides of those old 5.25" full height floppy drives, you'd notice that there are 2 opto-switches: One to detect the write-protect tab, the other was deep in the drive to detect if a floppy was pushed all the way in.
I recall that most 3.5" drives have two microswitches inside them right next to each other - one for the write-protect and the other simply to detect disk presence. Some of them won't even bother spinning the drive motor if unless that switch was depressed.
No sig. Move along - nothing to see here.
What kept them from auto-detecting floppies during a Windows session?
Example:
1. insert floppy, do something, detect mechanism
2. request disk2
3. auto-detect that disk2 has been inserted
4. keep auto-detection during the Windows session
5. after Windows restart goto 1
That sounds seamless to me, is easy to understand and doesn't cause any trouble. (I guess the few people that swapped their floppy drives during a Windows session are negligible.)
...but they've worked it out and plan to release it in Windows7 as a key selling point. I'm pumped, this will make installing kings quest 1-4 much easier.
ôó