Saturday 16 September 2006
Floppy Drive Emulator
Par Torlus, Saturday 16 September 2006 à 21:41 :: Oldies
The Floppy Drive Emulator is a software and hardware system created by Jean Francois Del Nero, that emulates the behaviour of a floppy drive. It currently works for Amiga and 16-bits Atari computers.
If you wonder what a "Floppy drive emulator" can be, just have a look at this picture...
As you can see, the floppy drive has been replaced by some piece of hardware. This piece of hardware features an USB connection to a PC.
On the PC side, just run the Floppy drive emulator software and drag/drop your favorite .ST or .ADF disk image file. Then just use your beloved computer as usual (no hardware of software modification of any kind, apart from the floppy drive replacement is needed), and feel the magic !
It means that you can run all your Atari and Amiga software on the real machines, without the hassle of keeping your old floppy disks, and experience floppy drives failures.
Here is basically how it works : the PC software loads the .ST of .ADF files, and convert track data to MFM format (the physical way the data is stored on a floppy disk). Then the hardware part decodes the floppy drive logic, and retrieves from the PC the MFM flow into SRAM buffers. Those buffers are then sent to the target computer.
The first version of the system used 74-series chips and SRAM, and the parallel port of the PC. On the second version, most of the logic has been replaced by an Altera CPLD, and a FTDI USB module has been used to replace the parallel port.
I met Jean-Francois (Jeff, for short) at the Infoticaires 2006 meeting, where he was demonstrating this version of the system. Afterwards, we had a discussion about many things, one of those being the idea of using a small FPGA instead of a CPLD, to leave room for further enhancements, reduce parts count and ease a future PCB routing by getting rid of the SRAM.
He was kind enough to provide me the necessary stuff to make it work on a Xilinx FPGA. After a while and some days of head-scratching (mostly due to some mistakes I made, but also a bugfix), we managed to have it work, and use FPGA's BlockRAM instead of SRAM.
For more information, I suggest that you go to Jeff's pages about his project (Warning, those pages are in French language).
I would like to thank him again for this. Don't hesitate to drop him (or me) a line about your feeling about this project.
See the full-size picture here
EDIT : same thing with an Amiga 500 here
