1.44M floppy on Color Computer (was Re: Ebay reaches new low)

From: Eric Smith <eric_at_brouhaha.com>
Date: Tue Nov 9 19:56:51 1999

Dwight Elvey <elvey_at_hal.com> wrote:
> If you ignore errors and just deal with the data transfer,
> I'm almost sure a 6809 can keep up.

Ignoring errors gets you into trouble really quickly. I've been
down that path. I designed an 1793-based FDC card for a 1 MHz
6502-based system. To get 8-inch double density working, I had
to have the hardware provide a second decode for the FDC data
register that when accessed would halt the processor until the
FDC asserted either DRQ or IRQ, and write an interrupt handler that
would recognize that the return address was in the transfer loop and
replace it with the address of the error handler.

The 6809 tends to take at least as many cycles for simple instructions
as the 6502, and sometimes more. In an inner transfer loop of a
device driver, the 6809 will win if you need to do unalinged transfers
because it can do a 16-bit increment. But I'm not convinced that
it's good enough.

IIRC, on the Color Computer you can turn off the video and run
the processor at double speed. That should probably be sufficient,
but somewhat ugly unless you didn't want to use the console.

> It is just a matter
> of counting the cycles carefully and not having any
> extra operations.

Don't imagine that you can just write a loop (or inline code)
to transfer a byte every 16 us. You *must* poll the DRQ bit,
because the motor speed control is nowhere near good enough to
maintain a constant transfer rate. And even if it did, there's
no guarantee that the machine that wrote the disk wasn't a
little fast or a little slow.

Cheers,
Eric
Received on Tue Nov 09 1999 - 19:56:51 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:32:28 BST