5

I have build a Windows ME retro PC. In the BIOS I disabled the floppy controller. There is no physical floppy drive installed. But Windows ME still shows a phantom floppy drive A:. Everytime Windows tries to access it the computer freezes. For example when browsing files. Is it possible to delete it without additional tools? (For example using the registry editor.) I know there is the dlmanip tool but I wonder if it is possible without tools.

The screenshot is German but it shows that there's no floppy controller and no floppy drive in the device manager. But drive A: still shows up at "My Computer".

Screenshot

Snapshots from the BIOS showing that the floppy controller is disabled and the floppy drives are set to none:

bios1

bios2

user3840170
  • 23,072
  • 4
  • 91
  • 150
zomega
  • 5,362
  • 4
  • 25
  • 52
  • Given that this is a photograph of the screen and not the ‘framebuffer dump’ kind of screenshot I assume you have not found a way of transferring files out of the system? – user3840170 Nov 25 '22 at 17:04
  • For me it is a screen shot even if it was not made with the print button. I could but making a photo using the smartphone was simply faster. – zomega Nov 25 '22 at 17:43
  • I'd like you to to confirm what hardware you are putting this on because @user3840170 seems to think its newer and anyone who disagrees with them is wrong. – Rowan Hawkins Nov 25 '22 at 19:18
  • The motherboard is MSI MS-6340 (without M at the end). – zomega Nov 25 '22 at 19:50
  • @RowanHawkins I said nothing about how new the hardware is; in fact, I don’t think it matters at all. I said nothing about my infallibility either. If you want to criticise me, at least criticise me for things I actually said and did. – user3840170 Dec 01 '22 at 16:31
  • @user3840170 funny, how did you crisper the photos? – zomega Dec 01 '22 at 16:49
  • 2
    I redrew it using original VGA BIOS fonts. – user3840170 Dec 12 '22 at 11:21
  • Okay, I tested this situation in PCem, and it seems Windows Me actually handles no-floppy systems fine, at least with a roughly-contemporaneous Award v4.60PGA BIOS… so further diagnosis is needed. What would help: launch DEBUG, then type the following commands, each on its own line: a, int 13, int 13, int 11, blank line, rax, 800, rdx, 0, p, rax, 1500, rdx, 0, p, p, q. Paste the resulting register printouts (whatever shows after each ‘p’). You can also try o70 10, i71, q and paste what that prints. – user3840170 Dec 12 '22 at 21:24
  • Also, there may be a third BIOS setting you may have missed, usually called ‘Report no FDD to Win 95’, in the ‘BIOS Features’ section. Unless that is set to ‘Yes’, the BIOS firmware will report the presence of a phantom floppy drive (of unknown geometry) to DOS, and therefore to Windows Me. – user3840170 Dec 13 '22 at 22:40
  • Also, I looked at dlmanip and it seems not to support being run inside a Windows DOS box (which is the only way you can run it in a standard Windows Me install), so that’s not really an option (without, of course, hacking Millennium in the usual manner). – user3840170 Dec 14 '22 at 19:19

3 Answers3

13

Yes, just barely.

The basic reason why phantom floppy drives appear in Windows 9x comes down to a convergence of three factors:

  • Windows 9x, though it has its own native, protected-mode disk drivers, can still fall back to using DOS drivers if no native driver successfully reclaims responsibility for a given disk drive. Therefore, if MS-DOS detects a floppy drive and allocates a drive letter for it, but no native floppy drivers successfully load later, Windows will simply continue using DOS drivers to access that drive. Disabling this behaviour is nigh-impossible, and the end-result would probably not be recognisable as Windows 9x any more; it’s pretty much inherent to the operating system’s design.
  • MS-DOS 7.x and earlier will allocate a drive letter for a floppy drive even if one is not reported as present by the BIOS firmware. This has been fixed in MS-DOS 8.0, upon which Windows Millennium is based, with some caveats (some of the less-official versions of the kernel stashed away in CAB files on the installation CD do not have the fix applied). However…
  • BIOS firmware does not always report the absence of a floppy drive consistently, even when all configuration options to that effect (if any are available) are set correctly; e.g. some may report presence of floppy drives in interrupt 0x11, but zero floppy drives from interrupt 0x13 service 8. Some require having an additional ‘Report no FDD to Win 95’ option enabled; others don’t offer the option to disable the floppy drive at all, especially laptops, presumably in order for a floppy drive later hot-plugged into an extension bay to be available.

As such, the goal is to disable the DOS floppy driver. To that end, you should be able to assemble my NOFDD program on your machine and run it from DOS mode to disable the floppy drive. I am not sure if this counts as an ‘additional tool’; although it is not a binary that comes with the stock system, it’s also not something you have to download or copy from somewhere else, but a program you can generate yourself entirely on your machine, using only utilities coming with a vanilla DOS/Windows installation.

All that remains is to set up the program to run at boot-up. Under MS-DOS 5.0 up to version 7.x, this can be done by simply adding an INSTALL= directive to CONFIG.SYS. However, the vestigial MS-DOS 8.0 kernel used in a standard installation of Windows Millennium does not support custom DOS drivers at all. As such, applying this solution requires hacking the system to re-enable that support, and this is where most of the difficulty lies.

Though patching the system in the usual way usually involves external tools, for the most part that can be side-stepped by extracting versions of IO.SYS and COMMAND.COM found inside the CAB file TOOLS\NETTOOLS\FAC\LTOOLS.DTA found on the Windows Millennium installation CD. Extracting those files can be done with Microsoft’s own EXTRACT.EXE, which also comes with Windows itself. There is also REGENV32.EXE to take care of, but you can patch it using MS-DOS Editor’s binary file mode: create a backup copy of C:\WINDOWS\SYSTEM\REGENV32.EXE, then in a command prompt launch EDIT /78 C:\WINDOWS\SYSTEM\REGENV32.EXE and replace occurrences of _:\AUTOEXEC.BAT and _:\CONFIG.SYS with other file paths of exactly the same length.

I suppose writing a VxD driver would be a cleaner solution for that particular version of Windows, but that would be more involved, and definitely violate your ‘no additional tools’ requirement.


0 This has the side effect of changing the bootup message to say ‘Now preparing to start your new computer...’, but you can probably live with that. The standard route has a similar side effect anyway.

user3840170
  • 23,072
  • 4
  • 91
  • 150
0

This should be possible in Device Manager.

Open the System control panel by pressing Windows + Break, and click on the Device Manager tab.

Screenshot of the Windows ME Device Manager

Expand the 'Floppy disk controllers' and you should see an entry for 'Standard Floppy Disk Controller'. Double-click it and a property sheet will open.

Screenshot of the Windows ME Standard FDC property page

Tick 'Disable in this hardware profile', then 'OK'.

john_e
  • 7,263
  • 20
  • 44
  • I already tried this and it has no effect. – zomega Nov 25 '22 at 12:09
  • Did you also try using 'Remove' to remove the controller completely? – john_e Nov 25 '22 at 12:12
  • I disabled the floppy disk controller in the BIOS completely (as written in the question) and so the device manager does not show a floppy disk controller at all. – zomega Nov 25 '22 at 12:18
  • Does the drive itself still show under "Disk drives"? If you remove it, does it reappear at next boot? – john_e Nov 25 '22 at 12:32
  • There is no floppy controller and no floppy drive in the device manager. If you make a Google search than you will see other people tried what you explained and it does not help. Screenshot added. – zomega Nov 25 '22 at 13:32
  • The problem with this approach is that when no native, protected-mode driver successfully claims a given drive letter, Windows 9x will fall back to using MS-DOS drivers for that drive letter. And MS-DOS will claim there is an A: floppy drive no matter what. – user3840170 Nov 25 '22 at 18:05
0

The reason its showing even though you have the floppy controller disabled is because the BIOS still has the floppy defined. Go into the BIOS on the system and set both floppies to None.

The Generic Disk Type 47 is your harddrive. You don't want to disable that.

Rowan Hawkins
  • 915
  • 8
  • 18
  • https://retrocomputing.stackexchange.com/q/25686/#comment87037_25689 – user3840170 Nov 25 '22 at 18:55
  • 1
    @user3840170 If you are going to comment, use words, not links please. The BIOS on this old hardware stores the state of the Drive separate from the Controller. I know its old hardware because the "Type" Style hard drive in Win95. Depending on the version of the BIOS there were 2-4 variable "Type 4x" entries for to allow entry of custom CHS data for drives that were not the default 20 or so built into the BIOS from XT times. I was quite familiar with Win95 since I worked in a PC shop in that era and beta tested the product. – Rowan Hawkins Nov 25 '22 at 19:13
  • 2
    @RowanHawkins I have already set them to none. I added screenshot to my question. – zomega Nov 25 '22 at 20:01