On 06/16/2014 02:32 AM, Eric Smith wrote:
I'm vaguely considering a format with eight 1024B
sectors and one 512B
sector per track (68 logical sectors). That would have the drawback of
breaking the alignment of allocation blocks to physical sector boundaries,
except that I could put the "extra" sector at the end of even tracks, and
at the beginning of odd tracks. (Or, for double-sided, at the end of
tracks on side 0 and the beginning of tracks on side 1.) Taking into
account skew, the physical position of the "extra" sectors on the tracks
might vary.
Why not 9x1024? It can be done--I just processed a few disks done just
that way. I don't recall if you mentioned the controller used in the
Quay, but formatting dissimilar-sized sectors on a track is a pain in
the neck for the NEC 765; easy on a WD 179xx though.
I only need one reserved track, so I can put the
directory at the start of
track 1. Hmmm... maybe I should tell CP/M that it's 154 tracks of n
sectors rather than 77 tracks of 2n sectors, so that I truly only need one
reserved track, and not a whole reserved cylinder.
CP/M doesn't care--you'll note that the BIOS interface has "set track"
and "set sector" dispatch points, but no "set side". I've seen
formats
where only *part* of a track was used for holding the boot
information--it's all in the address-translation code.
Secondly, consider keeping your directory on a single track--it makes
things faster. I've even seen code where the directory track is
interleaved differently from the data tracks (clever BIOS writers!).
Another thing to consider is doing track-at-a-time I/O. If you have the
memory, it really can speed things up, particularly if you're using a
1:1 physical interleave.
--Chuck