12

I'm aware there are floppy emulators that are installed to 3.5″ bays where disk images are stored on a flash drive. But what I need now is the opposite: essentially a USB dongle that emulates the floppy drive hardware with a disk inside. Something that older OS installers would recognize.

The need came up when I tried to install Windows XP on a laptop. The only way to load the AHCI drivers is via a floppy drive. I have a USB floppy drive, but no disks at the moment :( and obviously there is no 3.5″ bay to install the typical emulator in a laptop.

I know I can always just buy some floppies, and in fact I have some on the way, but given the reliability of floppies over time, I still feel that what I'm describing would often come in handy.

Does anyone make/sell these?

10
  • 11
    This doesn’t answer the question, but to install XP with extra drivers, your best option is to build a CD image with the drivers “slip-streamed” alongside the XP installer; your favourite search engine should find a number of sites describing this, and tools to help you do it. You can even slip-stream service packs too, to avoid a lengthy update after the installation. Jan 20, 2018 at 15:37
  • Welcome to Retrocomputing Stack Exchange. This would be an interesting piece of hardware to create; you could use a Raspberry Pi Zero to do this.
    – wizzwizz4
    Jan 20, 2018 at 15:38
  • Thanks guys. Stephen, I may just give the slip-streaming idea a try. It should get me through this particular install at least.
    – David
    Jan 20, 2018 at 16:01
  • You know you can open a command prompt during installation (once it changed to the GUI) using Sift+<F10>? You can do all sorts of things like copying stuff into places otherwise not accessible in that terminal window.
    – tofro
    Jan 21, 2018 at 10:42
  • 1
    For stuff that uses the BIOS for drive access there is a program called memdisk which can be used in conjunction with syslinux or isolinux to load and boot a floppy image from a CD or USB. Unfortunately this doesn't help with your particular problem because windows XP doesn't use the BIOS for drive access. Jan 23, 2018 at 15:35

6 Answers 6

9

I don't think anyone sells something like that in one piece.

There are, however, components on the market that should allow you to build that from scratch:

  1. A GoTek or HxC that behaves like a "real" floppy
  2. An old Floppy-to-USB adapter that was used to connect "real" floppies over USB. I don't think they're still made, so you would need to source one from eBay. Newer USB floppy drives no longer have this as I have learned from answers to this question.
  3. Some sort of external power supply, as the GoTek/HxC will not be willing to live from the USB power supply.

Putting it all together would end you up with something that behaves like a real floppy, connected over USB.

This is, however, never going to be a full replacement for a "real" floppy disk drive. Old computer's abilities to for example boot from USB floppies have always been very limited (even if they could always boot very well from standard floppy drives). Once you find one that does this, it will most probably also boot from a standard USB flash stick.

You'd probably be much better off by buying a bunch of HD disks and storing them well.

Another, entirely different, but possibly long-term method to make Windows XP think it has a floppy drive would be a virtual floppy driver. This just emulates a floppy based on an image stored on hard disk and could be a solution for many problems. You'd obviously need to have a drive and disk first in order to pull the images from "real" disks.

4
  • Thanks for the info. Good point about older computers not being able to boot from USB in the first place. In this case however, lack of USB support in BIOS is not the issue, it's the fact that the Windows XP installer will look to a floppy and only a floppy for drivers during the install. I suppose this is a rather unique situation, and I'll just have to wait for the disks to get here.
    – David
    Jan 20, 2018 at 15:48
  • The problem with vfd in this scenario is that it obviously can't be running on the computer until XP is in fact installed and running. What I need today is something that will be accessible during XP installation.
    – David
    Jan 20, 2018 at 16:29
  • The interesting thing is how Windows thinks a USB stick is not a disk. Does it restrain device letters to A: and B:? If so, you can probably help yourself by pressing Shift+<F10> during install to open a COMMAND shell and use SUBST to remap drive letters.
    – tofro
    Jan 20, 2018 at 18:04
  • USB floppy drives are a BIOS thing. If you access a floppy, MS-Windows will do this through BIOS functions. So, if you have a floppy installed into your computer and another USB floppy, it depends on the BIOS which one is which.
    – Janka
    Jan 20, 2018 at 19:51
9

There's no way a USB anything can transparently emulate a floppy drive without a driver being preinstalled.

The traditional PC floppy drive was an ISA device and appeared on specific I/O ports (0x3F0 to 0x3F6 IIRC). Reading and writing to these ports was how you talked to the floppy drive.

USB peripherals talk to a USB controller, but do not otherwise have a connection to the system bus. So they cannot appear at the x86 I/O addresses where something expecting a traditional floppy would be trying to read/write.

USB keyboards and mice look like PS/2 device to DOS and BIOS by a sleight of hand called "System Management Mode" - unfortunately this is part of BIOS/UEFI firmware and not easily/publicly available to operating systems to customize.

It may be possible for a device or software to hook into BIOS routines that read/write to the floppy, but by the time you get to that prompt in the Windows XP installer, Windows is already running and not using the BIOS to read/write to devices.

Really doing this would at least require a direct connection to the ISA or PCI/PCI-E bus. And many motherboard chipsets already have a Super I/O chip or equivalent that acts as a floppy controller, and already appears in those locations.

The HxC devices mentioned by @tofro are probably what you want. Search for "cf card floppy emulator."

4
  • I realize that for really old DOS stuff this wouldn't work, but in the case of XP, it does load drivers from a USB floppy. The underlying way this happens is above my head, but it does work.
    – David
    Jan 26, 2018 at 15:14
  • XP talks to the floppy using the floppy driver, not the USB driver, during the install process basically. No way to change that that I know of.
    – LawrenceC
    Jan 26, 2018 at 17:13
  • I've used a USB laptop (purchased around 2002 or so I think) to boot and old-ish version of DOS from a floppy without doing anything "special". The BIOS translated BIOS calls to read/write the floppy into USB operations. It might not have worked with on some operating systems that install their own floppy driver and don't know how to use USB, but for those that use BIOS there was no problem.
    – supercat
    Jun 19, 2021 at 18:17
  • XP once it starts doesn't use the BIOS. This includes the text-mode installer (it says "Starting Windows..." on the bottom). I'm not sure how to force it to use the BIOS or if that's possible.
    – LawrenceC
    Jun 21, 2021 at 15:21
4

You can install XP in IDE mode and install the AHCI drivers afterwards, I did this on my netbook several times. I think it goes something like:

  • Set disk controller to IDE mode in bios, and install XP.
  • In device manager go to the disk controller and manually change the driver to the AHCI one.
  • Reboot into bios and change disk controller to AHCI mode.
  • Save and reboot, XP should now load successfully.

If you miss any step you will likely get the BSOD.

3
  • Welcome to Retrocomputing Stack Exchange. This is a solution to the specific problem of "can't load AHCI drivers" but not the general "can't load X onto Y without a floppy and I don't have a floppy but I do have USB" problem. This might be useful to others reading the question, but doesn't answer the question as asked.
    – wizzwizz4
    Jun 7, 2018 at 16:01
  • 3
    The question states that the only way to load the AHCI drivers is via a floppy drive, I was simply pointing out that statement as incorrect. Jun 7, 2018 at 16:20
  • It's always hard to answer a XY problem ( en.wikipedia.org/wiki/XY_problem ). One might have good recommendations for the root problem, but the question as-is is about a hypothetical solution. Because people will land on this page coming from both directions, I personally like seeing both problems addressed, as it serves both audiences. Indeed the question as-is should have priority.
    – magma
    Oct 24, 2022 at 18:08
3

Seems like the answer is NO. While others here have helpfully suggested workarounds to try, the answer as to whether the piece of hardware I asked about exists in a single piece is NO.

0
3

The emulator that you want does exist. You are looking for an emulator that emulates a USB Floppy Drive. So the emulator connects to the computer via a USB cable, and the storage media is a USB Flash Drive.

Do a Google search on "UFA1M44-100" and you will find one model of emulator that emulates a USB Floppy Drive. You can find another company that sells these if you do a Google search on "IntelliRob Systems". Look in the menu on the left side of their pages for "1.44 MB (USB) acts as USB Floppy Drive".

I was trying to find a way to get a USB Flash Drive to act as a floppy without any emulator, but I finally gave up and started to look for a regular USB Floppy Drive. That is when I stumbled upon these USB Floppy Drive Emulators. I've already bought a USB Floppy Drive, but these emulators still interest me, so I may yet buy one. If you do buy one, please let us know how well it works out.

1

To boil down what others are saying:

A USB device itself is incapable of making itself appear as a traditional floppy drive, because USB devices don't have that kind of access.

However, if you're lucky, your BIOS will have support for USB floppy drives and it can apply the same virtualization trick that it uses to present USB keyboards and mice as PS/2 keyboards and mice for compatibility with old OSes.

If your BIOS does support that, then the USB floppy can appear as A: or B: for anything which uses the interfaces the BIOS's compatibility mode is providing.

If that isn't enough, then you need to search up how to slipstream stuff to build a custom XP install disc with the driver you need already present.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .