PDA

View Full Version : Possibility PCI Floppy Drive Controller?



Shadow Lord
March 27th, 2016, 05:45 PM
Okay. So I have no idea how feasible this is or how realistic but in this thread (http://www.vcfed.org/forum/showthread.php?50956-Windows-10-compatible-motherboard-with-dual-floppy-drives&p=407806#post407806) Chuck mentioned that:


So, for example, you could implement a 4-drive controller when all you have is a single drive motherboard by adding a BIOS and implementing the select and motor control logic externally. Since it's a write-only register, that doesn't interfere with a thing. An add-in PCI board could do the trick.

How realistically possible is this? Could we have a PCI-FDC project that would allow you to add to a "more modern" motherboard that had one drive floppy support: 1. four floppy drives, 2. BIOS support for 360kb-2.88mb drives, 3. 8" drive supports, and 4. external 37pin connector (well the last two should be easily possible if the first two are possible!)?

Again not being an EE I have no idea but this group has created some very awesome projects (XT-IDE) so if anyone has the talent pool to do it it would be found here!

Osgeld
March 27th, 2016, 06:27 PM
sounds like much more of a pain in the ass than its worth

if your board supports a floppy drive the chances are high it will support your usual host of 5.25 and 3.5 inch media. Yes I know some will only support 3.5 inch 1.44 meg media but MOST will support your 4 usual types. So install a 5.25 on there and use a USB 3.5 or a ls120 super disk and problem solved

Chuck(G)
March 27th, 2016, 06:33 PM
USB and LS-120 drives are extremely limited in what formats are supported. Heaven forbid that you run across some copy protected disks.

Shadow Lord
March 27th, 2016, 08:38 PM
sounds like much more of a pain in the ass than its worth

+1 for what Chuck said plus LS-120 drives have other issues as well. For example on my system even though LS-120 drives are supported in BIOS and are a boot option I can never get a disk to boot.

bhtooefr
March 27th, 2016, 09:13 PM
For what it's worth, USB mass storage floppy class supports a lot more than the current 720/1200/1440 and 720/1440 modes that the actual drives do. I don't think it's as flexible as an IBM-style FDC (so, no XDF, DMF, or 2M floppies), but the standard is capable of quite a lot, and could handle any standard IBM format, including the 5.25" ones.

Chuck(G)
March 27th, 2016, 10:02 PM
any standard IBM format

System/3 or 3740?

Even among 5.25" IBM non-PC formats could be quite varied.

The problem with USB is that it's modeled on the SCSI command set, which means that it does not use the CHRN-type addressing scheme, so varying data rates and recording modes are not supported. Obviously putting your copy-protected Lotus 1-2-3 program disk on a USB drive is out of the question.

In any case, programs written to the standard PC NEC765-type interface wouldn't know a USB drive from a ham sandwich.

bhtooefr
March 27th, 2016, 10:39 PM
Er, standard IBM PC format. (Although I suspect a fair amount of the older 8" formats actually can be represented...)

Chuck(G)
March 27th, 2016, 11:06 PM
Well, it matters little what could be represented. The fact is that no commodity USB floppy drive does any of this. Some can handle the 8x1024 NEC98 HD format (as can LS120 drives). But USB isn't the solution unless you devise your own protocol and implement it in terms of a legacy PC FDC. For example, Harvard Graphics, a 320KB (IIRC, 8 sector not 9) checks for a signature in the gap between sectors 1 and 2 on a specific track. It uses the "READ TRACK" FDC function with an overlong sector length.

konc
March 28th, 2016, 12:07 AM
With the lack of floppy connector on modern motherboards that would be amazing to have, I'm currently forced to have some older PC available just to write floppies on it.
You may ask why don't you just get a USB floppy drive? Some of them really do many PC formats.
True and I got one, only to find out but they can't do anything else, such as writing .dsk files for an Amstrad CPC. Even for common PC formats (eg DD) you still have to carefully research for a drive to buy since many of them don't write anything else except 1.44MB disks, and I didn't even bring 5 1/4 drives into discussion.

SomeGuy
March 28th, 2016, 03:51 AM
The OP is speculating about several different things really.

A PCI FDC is not really possible. While it sort of could be done, it would be impossible to make it 100% hardware compatible as PCI lacks some abilities needed for full compatiblity.

At best, such a controller would be only compatible at a BIOS level. And all the kids these days are snubbing their noses at anything that doesn't exclusively use EUFI and Secure-from-competition Boot.

There has never been standard BIOS support in IBM PCs for 8" floppy drives. Early MS-DOS machines that used 8" drives had to use their own customized "port" of MS-DOS or other special tools to make it work. Of course to a regular PC, 8" drives look mostly like a 1.2MB drive with a few missing tracks.

What chuck was originally proposing was simply using a motherboard that already had a real FDC built in, but was crippled to support only drive. A lot less complicated since the FDC and chipset bus support is already in there. It is just the drive select pin that is missing (cheap Chinese trying to save an entire single pin). Hardware wise all you need is an alternate binary signal from somewhere, but from the software end you would need to modify the BIOS to support that signal or install a device drive like 2M-XBIOS that supports it.

I think someone mentioned that the SuperIO chipset was limited to one drive only if it was used to provide a parallel port? If that is true, then is the pin alternately used for drive select routed to the parallel port? Would it then be possible to trick the chip in to 2-drive mode and leach the signal from the parallel port? Obviously the motherboard BIOS would not support that but tools like ImagDisk that bypass BIOS might work, an so might something like 2M-XBIOS.

HoJoPo
March 28th, 2016, 07:08 AM
How about using a PCI to ISA bridge, and an ISA floppy controller? You could even add a 98 pin or 62 pin connector to add an external ISA bus.

You might have to have driver or BIOS support for the bridge chipset, but it should work.

Agent Orange
March 28th, 2016, 07:48 AM
Okay. So I have no idea how feasible this is or how realistic but in this thread (http://www.vcfed.org/forum/showthread.php?50956-Windows-10-compatible-motherboard-with-dual-floppy-drives&p=407806#post407806) Chuck mentioned that:



How realistically possible is this? Could we have a PCI-FDC project that would allow you to add to a "more modern" motherboard that had one drive floppy support: 1. four floppy drives, 2. BIOS support for 360kb-2.88mb drives, 3. 8" drive supports, and 4. external 37pin connector (well the last two should be easily possible if the first two are possible!)?

Again not being an EE I have no idea but this group has created some very awesome projects (XT-IDE) so if anyone has the talent pool to do it it would be found here!

Would not Catweasel or Kyrofux fill the bill for this, or did I miss something which is usually the case these days?

http://webstore.kryoflux.com/catalog/product_info.php?cPath=1&products_id=29

http://www.vesalia.de/e_catweaselmk4plus.htm

Chuck(G)
March 28th, 2016, 08:44 AM
Depends on what you'd like to do. If it's run vintage software that uses floppy access, no--such stuff is usually tied into the FDC interface itself.

Both the KF and the CW are relatively old-tech solutions. Truth is, that any remotely new MCU with enough memory can do that job. Emulating a 765-based FDC is much more difficult.

Agent Orange
March 28th, 2016, 09:47 AM
If it's run vintage software that uses floppy access, no--such stuff is usually tied into the FDC interface itself.


Well, if you are using a PCI based PC what kind vintage software are we talking about? I may be a little off base, but isn't just looking at or copying a floppy about the extent of it, with maybe the ability to format the floppy as a bonus? Beyond that, I don't see much use for a floppy in a modern system beyond USB access.

Chuck(G)
March 28th, 2016, 10:59 AM
Well, this is the "vintage" forum isn't it? If you're talking about "modern" PCs, I don't see how floppies enter the discussion. :)

Eventually, you're going to run into the case where you need to use legacy hardware; e.g., someone gives you a pile of floppies created with FastBack 1.0...

Agent Orange
March 28th, 2016, 11:38 AM
Well, this is the "vintage" forum isn't it? If you're talking about "modern" PCs, I don't see how floppies enter the discussion. :)

Eventually, you're going to run into the case where you need to use legacy hardware; e.g., someone gives you a pile of floppies created with FastBack 1.0...

That was my point, I don't consider PCI to be vintage. So, what you do is build a box where the mobo supports you needs. The Swiss Army Knife approach doesn't seem feasible without a large investment on someone's part. There are some fairly recent Gigabyte boards, for example, that support two floppies, 3.5 or 5.25, but you need to reach back to products prior to their 990 chipsets. Just takes a little research. Personally, I don't see where the problem lies. How you can be a computer hobbyist and a one trick pony at the same time so to speak.

1ST1
March 28th, 2016, 11:48 AM
This is the 8088/8086 subforum, computers which were introduced in 1982 and were the top notch until about 1984 when the IBM AT with 80286 was introduced. These XT class computers don't support PCI, also AT 286 not, also 386 not. You need at least a newer 80486 system from about 1994 to support PCI. So I don't understand the intension of this topic in the 8088/8086 subforum.

Chuck(G)
March 28th, 2016, 11:57 AM
I could take a stab at that--we're talking mostly about old legacy floppies here from the x86 era and how to accommodate them on later systems that might have a chance of supporting older software.

Really, the best situation is to get an older machine. They're not all gone yet.

Stone
March 28th, 2016, 12:12 PM
Once again..... Everyone here should have a capable tweener. :-)

Shadow Lord
March 28th, 2016, 12:56 PM
Once again..... Everyone here should have a capable tweener. :-)


Agreed! However, sometimes it may be easier/necessary to use a more modern system. The topic came up in an OT thread on modern MBs that had floppy support. There were recs for systems w/ Core Duo processor support which still had FDD support built in. Chuck chimed in saying that the limited/crippled floppy support on these boards could easily be expanded to full four floppy support. Now things that seem easy to Chuck can be next to impossible for us mere mortals so I started this thread to see how easily this could be implemented. A real PCI FDC is out of the question but if we can expand these crippled boards we could move on from "tweeners" to "twenty-something" systems as well.

Certain components seem to be in place - we already have a good FDC BIOS because of the FDC-XT project, 8" drive read support is in that card plus D-Bit has a proven tech for writing to 8" drives, and placing external and enough internal connectors are no brainers. The real question would be can we really implement "the select and motor control logic externally"?

To me options are always a good thing.

Shadow Lord
March 28th, 2016, 01:02 PM
That was my point, I don't consider PCI to be vintage. So, what you do is build a box where the mobo supports you needs. The Swiss Army Knife approach doesn't seem feasible without a large investment on someone's part. There are some fairly recent Gigabyte boards, for example, that support two floppies, 3.5 or 5.25, but you need to reach back to products prior to their 990 chipsets. Just takes a little research. Personally, I don't see where the problem lies. How you can be a computer hobbyist and a one trick pony at the same time so to speak.

Which Gigabyte boards? I ask because one: I am not a big fan of their boards so I am not familiar with their offerings and two: that sounds like AMD boards/chipsets so you are really limiting yourself. This solution, IF easy to implement, would allow any MB w/ limited FD support to have full FD support (if my understanding of Chuck's statement is correct).

Again I have no idea how easy this would be or the cost involved but if it is on par w/ the XT-FDC I would say it is not prohibitive.

Shadow Lord
March 28th, 2016, 01:09 PM
How about using a PCI to ISA bridge, and an ISA floppy controller? You could even add a 98 pin or 62 pin connector to add an external ISA bus.

You might have to have driver or BIOS support for the bridge chipset, but it should work.

Not really. Most of Intel's later offering for ICH do not support DMA access so even if your bridge chip does support DMA you still could not implement it. See here (http://www.intel.com/assets/pdf/whitepaper/318244.pdf).

eeguru
March 28th, 2016, 02:28 PM
A PCI FDC is not really possible. While it sort of could be done, it would be impossible to make it 100% hardware compatible as PCI lacks some abilities needed for full compatibility.


A real PCI FDC is out of the question....

Help me out here. While SomeGuy's points on BIOS compatibility are very valid, I don't believe there is anything preventing a '765 floppy controller from hanging on the PCI bus. PCI spec defines a bridge sub-class for ISA. The config space allows specifying an address window as an I/O space mapping. You can place a genuine uPD765 or any other ISA style FDC chip on a PCI card and it could appear at the native I/O address location and generate a compatible interrupt. With some glue logic, you could even have it think it was doing 8257 style DMA while doing PCI bus mastering in reality. Certainly PIO would work instead much like some early PCs that didn't have a 8237 (eg. Tandy 1000, PCjr, etc). What am I missing?

Beyond that, I'm a bit confused at the use case. A native hardware interface would only be useful for DOS programs running natively which is becoming less and less practical on modern hardware. A tweener machine or emulators supplement most of those needs.

For just accessing and imaging oddly low-level formatted floppies, flux-level emulators like Catweasel, Kyroflux, DiscFerret, etc seem to do the job and USB is more ubiquitous than PCI.

Shadow Lord
March 28th, 2016, 03:21 PM
I don't believe there is anything preventing a '765 floppy controller from hanging on the PCI bus. PCI spec defines a bridge sub-class for ISA. The config space allows specifying an address window as an I/O space mapping. You can place a genuine uPD765 or any other ISA style FDC chip on a PCI card and it could appear at the native I/O address location and generate a compatible interrupt. With some glue logic, you could even have it think it was doing 8257 style DMA while doing PCI bus maste.

Hey you are the eeguru so your understanding would be much better then mine. ;) My very limited understanding was that Intel removed the circuitry needed for DMA in ICH 6 and higher. Is that incorrect?

As for use, I for one wouldn't mind having direct floppy access on my every day machine. In my ideal world I would fire up an emulator in 64bit win 7 and have it directly access the floppy drive HW like it currently does for CDs or 3.5" drives. Then in theory you could do most everything you needed to without using a second system. Is this possible? I have no idea but that is why I started the thread. If we have the HW I could see DOS box implementing support so you could pop in a real 5.25" booted disk and go.

Agent Orange
March 28th, 2016, 05:29 PM
Which Gigabyte boards? I ask because one: I am not a big fan of their boards so I am not familiar with their offerings and two: that sounds like AMD boards/chipsets so you are really limiting yourself. This solution, IF easy to implement, would allow any MB w/ limited FD support to have full FD support (if my understanding of Chuck's statement is correct).

Again I have no idea how easy this would be or the cost involved but if it is on par w/ the XT-FDC I would say it is not prohibitive.

My backup is a Gigabyte GA-790FX-UD5P from about 2010. The CPU is an AMD Phenom II (Socket AM3) which runs at about 3.3 GHz. Memory is 4 GB of DDR2. The video is 2 XFX 5950's in CrossFire. The O/S is a dual boot XP and W10 lash-up. This board supports one floppy drive in any configuration; i.e. 3.5 720/1.44 or 5.25 /360/1.2. You can easily attach a 1.44 external floppy via the USB. Scarce chance of finding a recent mobo that supports more than one floppy. A good alternative to all of this is a PIII. My PIII tweener is an Intel board with the 815 chipset and a 1.4 GB Tualatin. It supports both, the 3.5 and 5.25 floppy's and the whole thing runs DOS and XP. Not so hot for browsing, however. Hope this helps as this is the best that I have to offer at this time. Good luck!

Late edit:

Most Gigabyte boards prior to the 990 chipset were rock solid. It was only after multiple failures on a new 990 board that I went with the Asus 990FX Sabertooth. The only boards that gave me any real problems from a few years back were MSI, and those were mostly BIOS related.

SomeGuy
March 28th, 2016, 06:02 PM
As for use, I for one wouldn't mind having direct floppy access on my every day machine. In my ideal world I would fire up an emulator in 64bit win 7 and have it directly access the floppy drive HW like it currently does for CDs or 3.5" drives. Then in theory you could do most everything you needed to without using a second system. Is this possible? I have no idea but that is why I started the thread. If we have the HW I could see DOS box implementing support so you could pop in a real 5.25" booted disk and go.

At present the best solutions for lobotomized "modern" computers are probably the Kryoflux and SuperCard Pro (Not too familiar with the Catweasel). They are USB devices but can be mounted internally if desired. They are not, however, very "direct". They do not appear as a drive letter in Windows or permit drag-and-drop file management. They work more like burning a CD - you prepare the image in advance and then write it, or read an image all at once and then extract files. The upside, however is they are not limited to MFM or even FM like normal FDCs. For example, they can read Apple II and Mac GCR disks or technically anything the drive itself can read and will preserve most copy protection schemes.

Theoretically, someone could write a tool for either of those to act as Windows floppy, but there would be a performance issue that both of these read and write data an entire track at once. Real FDCs normally read and write individual sectors. I'm not sure that the KF or SCP cards could be programmed to read and write individual sectors.

It sounds like what people really want is a real FDC. Some lobotomized "modern" EUFI systems reportedly already lack BIOS compatiblity and it is just getting worse, so you are stuck doing things through the version of Microsoft Windows approved for the system. And Windows support for floppy devices is already rather limited. Since you can already kiss IBM PC compatiblity good-by, there is no point keeping it compatible at a DOS/BIOS level. So a real FDC connected to a small on-board CPU might be do-able as that small CPU would do the heavy lifting of figuring out what format the disk is, and shuffling the data back and forth the the rest of the system. Aside from one read-only solution, I'm not aware of any like this out there currently.

It's time to start hording motherboards with real FDCs, especially those with dual drive and FM support.

Incidentally, I reviewed a few of the last motherboards with FDC support here: http://www.vcfed.org/forum/showthread.php?39615-Recent-motherboard-FDC-and-quot-legacy-quot-tests

Xacalite
March 28th, 2016, 07:07 PM
One question, probably relevant:
How does the FDC on recent boards work, considering the chipset lacks DMA support?

See eg. MB-P4BWA - http://www.adek.com/PDF/MB-P4BWA.pdf
It has ISA slots, but without DMA.
It also has FDD connector - is there some DMA support exclusively for the FDC? Or maybe it works without DMA? But then, what about operating systems with FDC drivers expecting FDCs with DMA?

Chuck(G)
March 28th, 2016, 07:10 PM
FDC-equipped motherboards aren't that rare, even today. I'm writing this on an AsRock 980DE3 AM3+ motherboard. Not exactly bleeding edge, but made in the last few years.

Agent Orange
March 28th, 2016, 07:18 PM
FDC-equipped motherboards aren't that rare, even today. I'm writing this on an AsRock 980DE3 AM3+ motherboard. Not exactly bleeding edge, but made in the last few years.

Does it support 2 floppies or just one in any configuration?

Chuck(G)
March 28th, 2016, 07:49 PM
AFAIK, just one.

SpidersWeb
March 28th, 2016, 08:03 PM
If this PCI card worked in Windows 98, and supported 3 drives, I'd certainly use one on my tweener.

Alternatively two other projects I'd find just as useful though -
- generic version of XT-FDC ROM designed for newer PCs that allows drives 3 and 4 to run on a secondary controller that doesn't need a PCB / parts - just write the config and burn to a 2764.
- USB to 34 pin generic low cost kit adapter for noobs with the Windows 10, no BIOS support - just a way to write those binary disk images to DD and HD media. I'd use that too, often when I'm browsing for software I'm on a modern PC, having to transfer it to a tweener or my Netware server is just another step.

bhtooefr
March 29th, 2016, 03:31 AM
FDCs on modern chipsets work by using the LPC bus, which is a serialized version of ISA (and isn't given a connector), instead of using a PCI to ISA bridge.

Xacalite
March 29th, 2016, 05:25 AM
FDCs on modern chipsets work by using the LPC bus, which is a serialized version of ISA (and isn't given a connector), instead of using a PCI to ISA bridge.

OK, but LPC does support DMA, so it should be possible to parallelize it back and get a fully-functional ISA.
However, those recent ISA motherboards lack DMA support for ISA slots.
Do they still support DMA in LPC? If not, how does it affect the FDC?

Shadow Lord
March 29th, 2016, 09:42 AM
OK, but LPC does support DMA, so it should be possible to parallelize it back and get a fully-functional ISA.
However, those recent ISA motherboards lack DMA support for ISA slots.
Do they still support DMA in LPC? If not, how does it affect the FDC?

According to Intel:


The ISA protocol allows for memory-mapped transactions to components placed on the bus. ... Indeed, on all I/O Controller Hubs up to and including ICH5 support these transactions. From ICH6 onwards, however, support for these transactions has been removed. As a result, it is not possible to support ISA memory mapped transactions on an Intel® Express chipset.

Chuck(G)
March 29th, 2016, 10:38 AM
We may be working at differing, if not cross, purposes.

If the idea is getting floppy support onto a modern machine, then the actual mechanism doesn't matter that much. In particular, it needn't even involve a real legacy floppy controller, just something that behaves in the same manner. For example, I know that John Wilson has been toying with the XMOS MCUs as an alternative FDC (the real things are only going to get scarcer). Actual connection to the system can be USB or even, say, Bluetooth--it needn't be PCI oriented--only that the host application (which could be running under DOSBox) be able to talk to it in what appears to be an ISA-compatible way.

The 765 isn't rocket science--it hails back to the mid 1970s. With a good choice of components and support software, there's no reason why it shouldn't be possible to have a functionally-equivalent device. Chips such as the National PC87200 and the PC8477 are just going to get scarcer.

Am I making sense?

eeguru
March 29th, 2016, 11:51 AM
According to Intel:

That sub-section is organized under the LPC section. FDC wouldn't use memory mapped transactions unless you wanted to hang an option ROM on LPC. PCI is still feasible, but I'm not sure the point as proper BIOS and OS support are the real limiters.


Am I making sense?
They are still plentiful on China brokers. I think we're still at least a decade away from exhausting the NOS. I even have 50 ISA super I/O chips with '765 "compatible" cores on the shelf. But you don't need to emulate the 765 itself if going the route of Kyroflux/Catweasel/DiscFerret, etc.

rosaage
March 29th, 2016, 12:13 PM
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?

SomeGuy
March 29th, 2016, 01:03 PM
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?
Interesting. Never saw that device before. Still, I doubt it.

I'm guessing the firmware is probably limited in the same way as standard 1.44mb USB floppy drives. If you had the firmware source you might be able to smarten it up a tad but there is a second problem: If this relies on the standard operating system provided USB driver, the USB floppy spec only defines support for 3.5" 720k, 1.44mb, and Japanese "mode 3" disks. So you would need your own OS driver. Perhaps not impossible if the pieces were avaialble, but to meet the needs most people would have here (interfacing with emulators, dealing with copy protection, non MFM-encoding) would require a significantly different design.

(That said, you might actually be able to plug a 360k drive in to that device and read IBM PC disks, but it would likely get confused in some cases as it would still think it was a 1.4mb/720k drive - assuming it supports 720k)

Chuck(G)
March 29th, 2016, 01:28 PM
That sub-section is organized under the LPC section. FDC wouldn't use memory mapped transactions unless you wanted to hang an option ROM on LPC. PCI is still feasible, but I'm not sure the point as proper BIOS and OS support are the real limiters.


They are still plentiful on China brokers. I think we're still at least a decade away from exhausting the NOS. I even have 50 ISA super I/O chips with '765 "compatible" cores on the shelf. But you don't need to emulate the 765 itself if going the route of Kyroflux/Catweasel/DiscFerret, etc.

Well you do, if you want to emulate functionality. Remember that the time-domain sampler MCUs are track-at-a-time. Easy enough for anyone to construct from junk box parts, but getting one to look and work like a legacy FDC is a pretty tall order.

Shadow Lord
April 6th, 2016, 01:27 AM
So in the final analysis is it easily doable? :confused:

eeguru
April 6th, 2016, 05:39 AM
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

SomeGuy
April 6th, 2016, 06:38 AM
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.

Chuck(G)
April 6th, 2016, 09:19 AM
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.

Shadow Lord
April 6th, 2016, 09:59 AM
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....

eeguru
April 6th, 2016, 10:31 AM
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.

Chuck(G)
April 6th, 2016, 10:59 AM
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.

Shadow Lord
April 6th, 2016, 11:52 AM
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.

Shadow Lord
April 6th, 2016, 11:54 AM
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.

Chuck(G)
April 6th, 2016, 05:15 PM
Well, you can do it, but I question as to whether or not it's worth the effort.

Shadow Lord
April 6th, 2016, 05:24 PM
Well, you can do it, but I question as to whether or not it's worth the effort.

Hey, you are the one who said it was "easy" ;)! What do I know! :D

Chuck(G)
April 6th, 2016, 05:31 PM
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.

vwestlife
April 15th, 2016, 05:08 PM
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