• Please review our updated Terms and Rules here

Possibility PCI Floppy Drive Controller?

Easily? Depends on what the end goal is.

1) Run DOS on a SkyLake era system and provide BIOS int 13h level compatibility?
2) Run DOS on a SkyLake era system and provide 100% hardware compatibility (FDC & 8237A DMA) for legacy software making an end-around BIOS?
3) Just provide a hardware and software solution that is able to read/write as many disk formats as possible?

Considering most PCs with (non-express) PCI already have FDCs. I would say:

1) Use DOSEMU
2) Use DOSEMU
3) Use flux level emulator or talk about creating a new more open one via USB
 
So in the final analysis is it easily doable? :confused:
Nope, it is complicated as heck and each approach has different advantages and disadvantages.

1: Real FDC on a PCI card
- Impossible for it to be 100% hardware/software compatible on newer motherboards.
- Limited to MFM and possibly FM disk formats.
- Can not generally be used with laptops.

2: Custom Microcontroller on PCI
- Will not be DOS or hardware/software compatible
- Can not generally be used with laptops
- Probably will read/write a track at a time

3: Real FDC on USB
- Existing USB FDC support only defines 1.44MB/720K/Mode 3 3.5" formats.
- Limited to MFM and possibly FM disk formats.
- Can not be 100% hardware/software compatible
- Existing motherboard BIOS (int13) support is very poor.
- Theoretically could interoperate well with an emulator.

4: Custom Microcontroller on USB device:
- These exist: Kryoflux or SuperCard Pro.
- These read/write an entire track at a time.
- Currently Kryoflux and SCP software do not support file-level disk manipulation.

5: Real FDC built in to a new motherboard
- But thats ooooooolllllldddd!!!! wahhh wahhh waaaahhh!11!!1!

Ideally, such an adapter would be directly accessible by an emulator. But some systems (Apple II) are dependent on real hardware timings.

On top of that, modern lobotomized motherboards are trying to shed IBM BIOS compatibility. So real-hardware compatible solutions seem pointless.
 
Well, there is a third alternative--and that's to take the parallel-port Micro Solutions backpack floppy approach. Basically an PC8477 FDC, 8051 MCU and about 16K (IIRC) of SRAM and a small EEPROM to hold configuration data. The protocol essentially allows one to perform register-level operations on the 8477. Sydex even offered a Win9x VxD for register-level access to Windows code, as well as a Win 3.0 DLL to do the same (I posted code to this forum some years ago).

One could easily do the same with USB or even Bluetooth, since the SRAM solves the issue of DMA timing.
 
Easily? Depends on what the end goal is.

1) Run DOS on a SkyLake era system and provide BIOS int 13h level compatibility?
2) Run DOS on a SkyLake era system and provide 100% hardware compatibility (FDC & 8237A DMA) for legacy software making an end-around BIOS?
3) Just provide a hardware and software solution that is able to read/write as many disk formats as possible?

Actually none of these... at least not for me!

I just want to be able to hang more than one FDD on a MB that already has support for a single FDD....
 
Actually none of these... at least not for me!

I just want to be able to hang more than one FDD on a MB that already has support for a single FDD....

BIOS support is still the limiting factor there - not the hardware.

And I still don't understand your use case. What software are you wanting to run? If it's old DOS games, etc, just image a floppy and run DOSEMU. If it's to image disks or transfer files to/from old disks, there are many solutions that allow you to manipulate disk images and many more solutions to transfer those images to/from magnetic media. Assuming Windows 10 would even support a 360K 5.25" format, what good is hanging one off a modern PC as drive B: ? Even 1980s and 90s systems just used the floppy drive as a vehicle to get bits into a spinning Winchester.

There are longer work-arounds. Designing custom hardware to eliminate a few imaging steps you do very rarely is a limited market.
 
Actually none of these... at least not for me!

I just want to be able to hang more than one FDD on a MB that already has support for a single FDD....

In a pinch, you can simply change the BIOS setting when you change the single drive. Some tools, such as 22Disk and IMD allow you to override the BIOS definition with a configuration or explicit specification. One of my systems has the cable connected to a bulkhead DC37F connector for the second drive, so I can swap drive types easily.

Either that, or find an old motherboard. There are still lots of them out there.
 
BIOS support is still the limiting factor there - not the hardware.

And I still don't understand your use case. What software are you wanting to run?

Right, part of the solution would be a BIOS. The use scenario would be to have two (or more floppy drives) being used on a more recent system with a recent OS (say Win 7). So instead of using a 486 or Pentium as a tweener you could use something made in the past five years that can also be a daily driver. For example my main system uses an Asus P5E64 WS Evolution MB running windows 7. It does everything I need as far as modern apps (surfing the web, using MS Office, playing somewhat older games) without issues.

With a tweener its another system to maintain/run. Then getting images transferred over is always a chore - is the system running or did something fail since you last booted it up, will Win98 decide to find the network today or see the server, etc. etc. I am not saying it is not a workable solution but not necessarily something that is needed if I can have more than one FDD on my daily driver.

On my Asus since it has a real FDD w/ a BIOS I have options. I currently have a 3.5" drive connected so I can use a real FDD under VMware if I am emulating DOS or older windows systems, I can use winimage to image disks without dealing with another system, and if I need to I can boot to DOS to use older utils. The only issue with it is that I can only have one FDD installed on it.
 
Last edited:
In a pinch, you can simply change the BIOS setting when you change the single drive. Some tools, such as 22Disk and IMD allow you to override the BIOS definition with a configuration or explicit specification. One of my systems has the cable connected to a bulkhead DC37F connector for the second drive, so I can swap drive types easily.

Either that, or find an old motherboard. There are still lots of them out there.


Chuck,

I agree there are MANY solutions to doing this. I wanted to further explore your statement that it would be easy to expand the FDD support on some of these modern MBs to support more then one drive.
 
From an electronic point of view, it is at least simple, compared to most other modern PC hardware projects.

In particular, if you restrict yourself to DOS operation, it is relatively easy, since BIOS deficiencies can be corrected with installable device drivers.

If you want to run Win10, well, not so much.
 
www.ebay.com/itm/231804517259
Is it possible to make a custom driver for this so it can be used with 5.25" drives? Or is this technically impossible?

I bought one of those (USB to 34-pin floppy adapter) and it works fine, but only supports 1.44 MB disks. It won't read 720K disks, and attempting to format a 720K disk (via FORMAT A: /T:80 /N:9) gives the error "Parameters not supported by drive".

Still, if you have a weenie modern computer that lacks a real floppy controller, it's an easy plug-and-play solution for adding an internal floppy drive. You can either loop the cable out the back of the case to plug into one of the USB ports, or add an adapter like this to plug it into one of your motherboard's internal USB port headers:

http://www.ebay.com/itm/321899632177
 
Back
Top