Z80 home brew with FDC

Richard A. Cini rcini at optonline.net
Sun Sep 21 18:21:55 CDT 2008

> ------REPLY------
> Hi Alexis, Rich,
> Thanks Rich!  Yes, Rich has the right command sequence but you also need to
> send the C, H, R, N to the i8272 for each sector during the execution phase.
> It is not very intuitive but I got it working last night on my test bench
> and confirmed it is working with Dave Dunfield's IMD program (Thanks Dave!)
> and the Catweasel with CW2DMK (Thanks Tim!).  For some odd reason it also
> requires a leading $00 to format correctly which I don't understand either.
> Basically, it is like writing a sector but you feed it sector metadata as it
> goes around the track formatting sectors.  Note, during execution phase it
> is not like feeding the MSR/data registers like during the command/result
> phase.  The whole NEC765/i8272 process is kind of screwy IMO and I am
> struggling to get my brain around it.  I have sample code if you'd like to
> see it but it is an awful mess right now.
> As for the data separator, I am using an FDC9229 although you could use a
> FDC9239 I think.  The chips are still available but not exactly common.  You
> have to look but you can find them.  I have some pointers if you'd like.
> Actually, Alexis, you'd be the perfect guy for building your own Z80 home
> brew FDC as you already have done most of this on your other projects.  You
> did an awesome job on your home brew 8080 a while back and your other
> projects have been great too.  Your experience would be a lot of help to the
> project in putting out a design that not only works but is reliable and
> flexible.  

I could post the entire format code if you want but there is about 50 lines
of code dedicated to properly formatting the CHRN data for the 8272. I
actually grossly oversimplified the process for the sake of brevity, and I
agree that it's needlessly complex. OTOH, the sector read/write is fairly
simple for sequential sectors -- like when loading CP/M. You just tell it
the starting sector data and the number of "additional" sectors to read and
let it loose. Works like a charm.


Rich Cini
Collector of Classic Computers
Build Master and lead engineer, Altair32 Emulator

More information about the cctalk mailing list