------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
--
Rich Cini
Collector of Classic Computers
Build Master and lead engineer, Altair32 Emulator
http://www.altair32.com
http://www.classiccmp.org/cini