Emulating a Floppy disk controller?

Guest #4786384
Rate this post
• ▲ 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
(Company: Privat) #4844206
Rate this post
• ▲ 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).

Reply

A question of your own? This thread is over 9 years old. Ask it in a thread of its own – more people read along there, and it gets answered more often and sooner.

Start a new thread

A fix, an addition or feedback on this thread? Then reply here.

Formatting
  • [c]C-Code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.