CP-M Z80 home brew computer circuit board

Eric Smith eric at brouhaha.com
Mon Jun 16 15:58:30 CDT 2008


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




More information about the cctalk mailing list