Chuck wrote:
the 1770/72/73 have just about everything in a neat
little 28-pin package.
[...]
DMA not required.
Whether DMA is required or not has nothing to do with which member of
the 177x/179x/279x/MB88xx family you use. It's determined by whether
you can write tight enough transfer loops to avoid write underruns and
read overruns.
On a 6502 a typical read transfer loop takes a minimum of 22 cycles,
so a 1 MHz 6502 can keep up with 5.25 inch single and double density and
8 inch single density with programmed I/O. 8 inch double-density
requires a faster processor, DMA, or special tricks.
With a Z80 a typical read transfer loop takes a minimum of 52 clocks,
which on a 2 MHz Z80 meets the requirements for all but 8" double density,
which requires a faster processor, DMA, or special tricks.
On either processor, unrolling the loop does not shave off enough cycles
to get to the 8" double density transfer rate.
Note that the read loop has to be capable of reading bytes at about
20% faster than the nominal rate or overruns become likely.
nominal nominal required read loop
format xfer rate byte time byte time
---------- ---------- --------- -------------------
5.25" FM 125 Kbps 64 us 52 us
5.25" MFM 250 Kbps 32 us 26 us
8" FM 250 Kpbs 32 us 26 us
8" MFM 500 Kbps 16 us 13 us
The 765-based all-in-ones such as the National 8473
and the WD37C65A
are about as hard to obtain and are a little more difficult to
interface to a Z80 (just about require DMA and interrupts to work
right).
The 765-based controllers work fine with or without DMA. Again, the
issue is the data rate.
Eric