• Please review our updated Terms and Rules here

The perennial problem of 360k drives on Windows XP

tezza

Veteran Member
Joined
Oct 1, 2007
Messages
4,731
Location
New Zealand
This has been discussed years ago on this forum with no apparent resolution so I thought it worth a revisit.

I have a Celeron II machine I use for disk imaging and file extraction. It is the one featured here . I run MS-DOS, Windows 98SE and XP SP3 depending how I boot it.

The problem is the 360k 5.25 inch drive doesn't work under XP. I get an I/O error when trying to access it. The drives are referenced correctly in CMOS, and with the other OSs, the drive works fine.

This is a well-known problem and has been discussed on the web and even in these forums years ago. No-one seemed to have an answer. I'm just wondering if (with the passage of time and passion of hobbyists) anyone has found or knows of a solution? Any ideas?

Tez

P.S. you may wonder why I would want this, given that MS-DOS and Win98 works well. In a practical sense, I don't need it as programs for those other OSs do the job, but it just bugs me having something not working.

P.P.S. I have another P4 Windows XP machine attached to a 1.2 MB drive (in this machine only one floppy drive is allowed). This works fine (and no, I haven't tried the 360k drive in that machine..I need the drive for my main disk imaging one). I did read on the web that 1.2 floppy drives seem to be better supported in XP than 360k ones.
 
This has been discussed years ago on this forum with no apparent resolution so I thought it worth a revisit.

I have a Celeron II machine I use for disk imaging and file extraction. It is the one featured here . I run MS-DOS, Windows 98SE and XP SP3 depending how I boot it.

The problem is the 360k 5.25 inch drive doesn't work under XP. I get an I/O error when trying to access it. The drives are referenced correctly in CMOS, and with the other OSs, the drive works fine.

This is a well-known problem and has been discussed on the web and even in these forums years ago. No-one seemed to have an answer. I'm just wondering if (with the passage of time and passion of hobbyists) anyone has found or knows of a solution? Any ideas?

Tez

P.S. you may wonder why I would want this, given that MS-DOS and Win98 works well. In a practical sense, I don't need it as programs for those other OSs do the job, but it just bugs me having something not working.

P.P.S. I have another P4 Windows XP machine attached to a 1.2 MB drive (in this machine only one floppy drive is allowed). This works fine (and no, I haven't tried the 360k drive in that machine..I need the drive for my main disk imaging one). I did read on the web that 1.2 floppy drives seem to be better supported in XP than 360k ones.

FWIW, I've never been able to get a 5.25 360 KB to work with XP, however my 5.25 1.2 MB works just fine in the same machine. I don't believe there is any support for it in XP. Along the same lines, XP balks at a 3.5 720 KB floppy and one must go to the command line for full support.
 
The lack of a change line signal might have something to do with it? High density and 3-1/2" drives output a signal on pin 34 to tell the operating system when a new disk has been inserted, but most 360K drives do not. So if Windows XP is looking for a change line signal and doesn't get one, that could be why 360K drives normally don't work with it.

But it might be possible that some late-model 360K drives do output the change line. Or the drive might have a jumper to enable it that is normally set to disabled.
 
Microsoft can supposedly maintain an entire OS with a complex kernel that runs bazillions of mission critical servers, they support and maintain TWO freaking web browsers now, truckloads of applications, and yet somehow they can't maintain a tiny little floppy disk driver. Well, they also don't know how to put a "close" button on an "open file with" dialog, and like to remove Start menus just for fun, so it is probably past time for everyone to switch to Linux.

Ok, fist lame workarounds that you don't want to hear:
- Kryoflux/SuperCard Pro (handles copy protected disks)
- Boot to DOS instead
- Use a Tweener
- Perhaps use Windows 98 instead if the system supports it.
- Use a 1.2mb drive but degauss the disk first.
- Drive up to Microsoft and kick Staya Nadella in his floppy.

Now, some random thoughts on fixing the actual problem, but I haven't tried these
- Can the Windows 2000 FDC driver be made to run on XP? (I thought that did 360k, could be wrong)
- Has anyone looked at the FDC driver from ReactOS?
- The other day someone mentioned "OmniFlop", it implies it should work with 360k but didn't seem to actually work.
- Perhaps make it look like a 720k drive? Does XP support real 720k drives?

Keep in mind that XP and even 98 (not in dos mode) write extra garbage to disk, including modifying boot sectors, writing last access dates, LFN data, and writing "hidden" files. OSes and utilities from the 360k era are sometimes more sensitive to those.
 
The floppy driver source is available in the WinXP and Vista DDK and probably Win 7 and 8. It's in two parts - the FDC interface and the drive interface. I suspect that the bug is in the latter. Before 2K, the drive was a unified FLOPPY.SYS.

The driver is a little complicated in that the FDC access runs as an independent thread.
 
If that's the case, then there's probably no software fix for that?
The "correct" fix would be to modify or replace the Windows XP FDC driver. They may have made an architectural decisions to require that signal, and reverting that would likely result in slower disk access as it would have to find some other way to make sure the same disk is in still the drive. (How did NT/2000 cope with that?)

Off hand such changes could potentially have side effects in the disk caching mechanisms, and some higher level software could even depend on knowing that the disk has not been changed.

So on the one hand, it would be a software fix, but on the other, it might not be a feasible software fix.

On the third hand, were there any 360k or 720k drives with disk change line support? It would be interesting to see how far those get.
 
IIRC, NT/2K used a unified driver; it handled the entire floppy disk function. I believe that XP split the driver in two so as to separate the FDC-specific stuff in one part and the floppy drive-specific stuff as part of the general driver stack (i.e. floppy is a floppy whether it's legacy or USB or what-have you). I believe that's where the problem started.

The DDKs should not be hard to find; if someone actually needs the code, I can dig it out of my own stash. We marketed a general floppy interface that was "layered" in with NT 4/2K/XP and Vista, that allowed the user to handle all manner of oddball media. Later, I did a floppy encryption layer for 2K, so I'm fairly familiar with the code. It's all kernel-mode.
 
The NT technique for handling 360k drives was to turn on the motor and trust that no one would change disks. Brute force simplicity.
 
Do you want to elaborate on that one? How does that differ from 720K drive support?

In any case, no real difference from MSDOS, since there is no "Disk Change" status line.
 
The NT floppy driver only has a special case for 360kB floppy drives. 720 kB floppy drives aren't handled at all; instead it assumes the drive would be 1.44 MB with 720 kB media.
 
The silly thing is that it's certainly possible to derive a "disk changed" status on 360K drives with the 765-family controller--one need only sample the "write protect" status in the MSR every quarter-second or so. You don't even need to power the drive motor--just select the drive and read the MSR.

If I could do it with a 3 MHz 8085 without any serious system impact, certainly it could have been done on a 386.
 
Are 720K disks not supported? I'm sure I've read them via WinImage, not sure about going to A:.
 
So the 720K disks are not really a problem? It's been so long since I looked up the details, but IIRC the 720K in 1.44MB drive doesn't have any R/W issues.

I wonder if you got a 1.2MB drive, and installed a compatible 360K head? So long as you only R/W 360K disks I guess in theory it would work. I' not sure about the practicality though. Is the ?write current? is set by the circuit board?

I still think the best option is a small tweener. One of those LPX boards/other all in one motherboard in a case with 2 5.25 drives, Win9x+ethernet+VNC. The small solutions, like USB make sense for 3.5" drives, but by the time you've set something up for 2x 5.25 drives it's already bulky.

Were there any third party drivers for floppy access, Like those for the odd SCSI controller that supported 4 FDD's?
 
It's a mixed bag--older 720K drives simply have a READY line; newer ones allow for selection between READY or DISK CHANGED.

Old or new 720K drives; how are you going to know the difference? I think I would have a hard time even locating any 720K drive these days. I use a 1.4M in my 1000SX and it sees it as a 720K.
 
Back
Top