[sebhc] diskette drive

Lee Hart leeahart at earthlink.net
Sun Jun 6 02:05:36 CDT 2004

Dave Dunfield wrote:
>> If you want to build your own controller, the Nec 765 controller
>> chip used on old XT controllers is quite easy to work with -- it
>> would not be tough to build an H8 controller for "normal" DD
>> floppy drives with one of those

The NEC 765 is easy to use hardware-wise; it doesn't take many chips to
interface it. But, since it was never used in the H8, H89, or Z100
series, this means you're going to have to write all your own CP/M and
HDOS software to support it.

Also, the 765 (as well as all the other floppy disk controller chips)
are out of production. Finding any of them is a challenge. You may be
reduced to buying them surplus, or scrounging them off old PC boards.

One has to ask; what is the point of designing a new board for such an
old chip? Certainly, you can do it "just for the fun of it". You might
happen to have a 765 in a tube somewhere, don't mind wire-wrapping up a
board, and like writing your own BIOS software. But it probably doesn't
do much for anyone else.

My own thought is that it would be less work to clone one of the
existing H8 disk controller boards, either the Heath H17, H37, H47 or
H67, or CDR FDC-880 (were there any others?). The Western Digital WD1797
that they used is no harder to find surplus, and at least the PC board
layout, circuit diagrams, and software are all available.

>> what about an H8 "card" which is just an XT card adapter --
>> Basically a blank card with an XT bus socket at right anges,
>> so that you could put an XT card on the front of it - the whole
>> thing would still fit in the H8, and you could use any XT card
>> you liked.

That is also a very interesting idea. The appeal is of course the huge
number of old (free) IBM-PC and -XT type boards floating around. But
there are some significant challenges, too. Most of these boards don't
have schematics or documentation. The PC bus's timing and operation
wasn't really defined (just an ad hoc standard), so it becomes an
engineering project to figure out how to tie an 8080 or Z80 to the PC
bus and get it to work.

I did some work on building a PC bus to H89 adapter 'way back when I was
designing the H-1000 replacement H89 CPU board. Getting the basic memory
and I/O addressing to work wasn't too hard for the H-1000's 8086; but it
was a challenge for the Z80 because of totally different bus timing. If
you don't copy the PC's timing exactly, you get some PC boards that work
and some that don't.

But what made me give up on the project were the problems of interrupts
and DMA. Many PC cards depend on these functions (disk controllers in
particular), and the H8 and H89 don't have anything even remotely as

Dwight K. Elvey wrote:
> The only issue with the 765 is that the processor needs to be
> fast enough ( unlike the MFM hard drive interface that actually
> buffers at least one sector). The 8080 at 2MHz isn't going to
> keep up with much. As I recall, it takes really tricky code to
> even do single density.

No; it's not that bad. Speed-wise, the 765 is no better or worse than
any other floppy disk controller chip. A 2 MHz 8080 can do even
double-density 8" (16 us/byte). But, the hardware and code to do it is
really tricky! It's usually done by having the CPU executing
straight-line code (256 reads in a row, not a loop that iterates 256
times); or by using wait-states or Halt to synchronize the CPU to the

> In these cases, a DMA controller makes sense.

Except that the H8 has no bus structure to allow DMA. All you have is
BUSRQ/BUSAK, and that's slower than just using software to do it
"Never doubt that the work of a small group of thoughtful, committed
citizens can change the world. Indeed, it's the only thing that ever
has!" -- Margaret Mead
Lee A. Hart  814 8th Ave N  Sartell MN 56377  leeahart_at_earthlink.net

Delivered by the SEBHC Mailing List

More information about the Sebhc mailing list