[Coco] FDC Emulation ( was Re: A semi-real CoCo topic)

Michael R. Furman n6il at ocs.net
Thu Jul 26 00:05:16 EDT 2007


With the news of the nearly complete coco3 fpga this idea may be
obsolete before even starting-

I was dreaming up a better way to hook your Coco up to a computer with a
library of disk image files than exists today (I still use sneaker-net).
>From what I can tell, the existing solutions either use the serial port
or seem expensive (I'm cheap) or complicated (some thing I saw at a
Vintage Computer Festival a few years ago required a card and an adapter
box thingie).  Please let me know if you disagree with this statement:
tell me why, and which existing solution works well for you.

My idea is to have enough hardware in the Coco's cartridge slot to sit
and listen to the floppy controller ports and send the commands over a
wire to a PC (USB?), where it emulates the control and data registers of
the WD FDC and just reads and writes blocks directly out of image
files.  

Some notes on this idea:

1) I have only so far done a surface read of the WDC FDC data sheets

2) I have only so far done a surface read of DECB unravelled

3) I'm a software guy, and hence the hardware part is simplistic-minded.
The software part seems like an implementation of a finite state machine
would do the trick. Receive a command, move to state, perform action,
move to state, send a reply, move to state, etc.  The details of the
required FSM structure can be easily constructed from any flowcharts or
detailed descriptions of FDC command operations in the data sheet.  This
will be a pretty close approximation of what's happening in the hardware
since most digital logic design works on a FSM paradigm anyway.

4) As far as I can tell from my surface reading so far, doing things
this way will help alleviate timing and compatibility concerns  (If for
example the floppy drive end were emulated, this is asking for timing
troubles).  I'm imagining that the Coco will read/write bytes to/from
the data buffer at its leasure and that the other end will be able to
service the data buffer at least 5x faster (floppy drives achieve a
throughput of around 150-300kbps and usb1.1 is around 1200kbps)

Is this crazy?  Even if it is crazy, anyone want to help?  This could
also be a good idea starter for the FPGA implementation...

--Mikey

On Thu, 2007-07-26 at 12:46 +1000, Bob Devries wrote:
> Would it be possible to use part of the FPGA to act like a disk drive 
> interface, possible IDE or even floppy?
> It sounds like you could just about have a coco3 in a cigar box :)
> 
> --
> Regards, Bob Devries, Dalby, Queensland, Australia
> 






More information about the Coco mailing list