PCI floppy controller

Chuck Guzis cclist at sydex.com
Fri Apr 22 21:52:26 CDT 2022


On 4/22/22 18:43, Bill Gunshannon via cctalk wrote:

> I guess I'll find out.  I just ordered one.  Shipping is almost as much
> as the device. :-(
> 
> Still think I will look into what it would take to access floppies
> from an Arduino.  They're fun to play with, too.

As far as I am aware, none of the "sampling"  (basically use an internal
timer to "capture" the interval between flux transitions) solutions have
BIOS Int 13 access nor Windows NT sector-level access.

If I'm wrong please feel free to correct me.

The principle is quite simple and is the same one used by the old
Catweasel board.   You have a free-running timer at some rate, say 24
Mhz.  Every time the magnetic flux on the floppy track reverses, you
grab the current counter value and store it away.   Some implementations
reset the counter at that point; others just let it run and correct the
counts at end-of-track.    Then you go over the track data and derive
the content, using software to simulate a data separator.
For writing, you employ a similar counter idea, except the the counter
is programmed as a pulse width modulator fed by a stream of values. Very
simple--I can recall coaxing people into this on VCFed back around 2005
or so--I recall doing a very simple implementation employing a (now
long-EOLed) ATMega162 and an external SRAM.   It's not rocket science--a
$3 "Blue Pill" stm32f103 board MCU needs little other than a connector
to a floppy and some firmware.  It runs at 72MHz, which is more than
sufficient.  Data is streamed to the host via the integral USB connection.

However, it needs to be stated that everything from the Catweasel on
depends on post- or pre-processing.   As far as I know, none enjoys an
Int 13h interface, like a standard floppy controller would.

Now external drives like the Backpack did enjoy an Int 13h connection
because they use a standard FDC inside.   I suppose one could do the
same with a USB setup.   Mostly a matter of software.

--Chuck



More information about the cctech mailing list