Compaticard (was: Any AMIGA users?

From: Ethan Dicks <erd_6502_at_yahoo.com>
Date: Tue Jan 1 21:51:13 2002

--- Jeff Hellige <jhellige_at_earthlink.net> wrote:
> >The Amiga did the MFM decoding using software and its
> >custom chip - the blitter, I believe, which could perform
> >somewhat complex logical operations. They no doubt did this
> >to save on hardware, like Woz's disk controller.
>
> Isn't it Paula that handles the interface to me floppy drive?

You are both right, but the full answer is more bizarre than that...

Paula has a monster shift-register that imports or emits enough bits
to fill a track of data without dropping bits or running dry (at the
regular rotation speed which is why they chose to make their HD floppies
spin at half the standard rotation rate - so old Paula chips could
keep up and so they wouldn't have to make a new Paula). Effectively,
for a read, you turn on the input circuit and set a timer and hose about
1.1 x the number of raw MFM bits in a track, header bits and all, into
a CHIP RAM buffer. I think the CPU searches for the start of data (but
it could be the Blitter) and then the next stage is all done by the
blitter.

With that RAW bitstream in CHIP RAM where everybody can get to it, and
with knowing where in that buffer the start and end of the track are,
the Blitter moves the stuff before the start of data in RAM to the
end of the buffer, so it's all in order. I wish I could draw a picture,
but ASCII art circles are tough. It's this messy because Paula doesn't
care/know where the disk is when the read starts (or a write, for that
matter, because every sector is re-written on a write).

Once the buffer is in order, the Blitter runs a set of mini-terms on it
to convert it from MFM into binary and the results are handed to the
guy that requested them in the first place.

Your program makes whatever changes to the data are necessary, then
calls the trackdisk.device to reverse the process - the Blitter converts
the binary data into an MFM stream, then Paula hoses about 10% of a track
of header bits, then follows it with the data, ensuring that every bit on
that track has just been set (with a little overlap for safety).

One of the CIAs is also part of this process, but it's used to drive the
positioner motor, check the diskchange bit, etc.

All in all, it takes part of Paula, part of Agnus (the Blitter) and
part of a CIA to drive the floppy drive on an Amiga - three custom
chips (Denise does not take part, AFAIK). I guess Jay Miner decided that
since most of this stuff was in there anyway (everything but the monster
shift-register), why spring for an extra, dedicated FDC? It's not like
the Mac or several other computers of the era had an off-the-shelf FDC
(compare the C= 1541 with the C=1581, among other examples).

-ethan


__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com
Received on Tue Jan 01 2002 - 21:51:13 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:51 BST