EmbDev.net

Forum: µC & Digital Electronics Emulating a Floppy disk controller?


Author: Josef (Guest)
Posted on:

Rate this post
0 useful
not useful
'morning,

I've found numerous articles discussing how to emulate a floppy disk 
DRIVE, here and elsewehere and there even seem to exist commerial 
solutions.

Yesterday I revived an old SB180FX (HD64180 CPU with a CP/M compatible 
OS) and had been contemplating beforehand what to do if the floppy 
drives or the disks failed. I was wondering if it were possible to 
replace the floppy controller (FDC9266) by a microcontroller that 
emulated the FDC (register read/write, DMA) and stored the data blocks 
on an SD card or such (anyone know if SD cards with 1.44MB capacity 
exist? ;-) ).
I would read/write the raw data on my PC, so the controller would just 
map the floppy's blocks 1:1 to the SD card or even map all four drives 
to separate sections on the SD card.

The bus speed to the processor (running a ~12MHz) would need some 
attention, maybe adding hardware support in the form of a flipflop which 
generates WAIT cycles (within reasonable limits) by being set 
automatically by any access and which is then reset by the 
microcontroller. This only affects the reading/writing of commands and 
status, after that the microcontroller would work internally 
transferring data via (emulated) DMA.

I'd prefer an ATmega of sorts.

Question: has anyone done this before?

Josef

Author: KarlKurtz (Guest)
Posted on:

Rate this post
0 useful
not useful

Author: beric (Guest)
Posted on:

Rate this post
0 useful
not useful

Author: Josef Möllers (Company: Privat) (jmoellers)
Posted on:

Rate this post
0 useful
not useful
Using a floppy drive emulator is all nice and well if you have a 
floppy controller to attach your drive emulator to. Unfortunately the 
FDC9266 I had has turned out not to bee 12V-resistant :-(
I have ordered a few 9268s from Mr. Chinaman but the order is still 
pending.
In the event of non-delivery, I will have to dig up something that is 
able to replace the 9266. So, unless someone has a 9266 (or 9268) that 
(s)he wants to part from, I'll try to emulate the controller.

Josef

PS Getting the data off the original disk(s) is another problem: 1024 
Bps, 5spt ... Maybe I can convince the Linux floppy.c driver to read the 
disk(s).

Author: Josef Möllers (Company: Privat) (jmoellers)
Posted on:

Rate this post
0 useful
not useful
Josef M. wrote:

> PS Getting the data off the original disk(s) is another problem: 1024
> Bps, 5spt ... Maybe I can convince the Linux floppy.c driver to read the
> disk(s).

This drive might be a solution: "TEAC FD-235HS 1111 SCSI Drive": 
According to the datasheet it can, indeed, read 1024 Bps.

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.