On 18 Mar 2012 at 6:14, Dave Dunfield wrote:
What you can do when formatting is:
- Lie about the sector size when supplying the data for the individual
ID headers.
- Fill in bogus head/sector data for sectors you don't want to use
(and will overwrite) later.
- Control the gap3 size for the entire track.
- Write fewer sectors than will fill the track
- Reset the FDC before it has completed writing the final sector
on the track.
It's the first that will work the best. In fact, all 765-family
controllers will FORMAT a 128-byte-per-sector track in MFM; it's just
that they don't do so well reading or writing them (depending on the
controller variation).
But what the heck, if you're going to verify a track by reading after
formatting, you might as well write it too, producing a track with 9
512 sectors and one 128-byte one.
The controller will normally stop formatting at the index if it is
between sectors. If however, it's in the middle of a sector, it will
continue formatting until the end of the sector has been written,
then honor the end-of-track condition.
(This is a handy way to "erase" a track--simply program in a too-
large sector size and format--the format operation will "eat its
tail" and leave a track with no address marks whatsoever.
FWIW, XDF uses a track (but for the first) with 1 8KB sector, 1 2KB
sector, 1 1KB sector and 1 512 byte sector = 23 512 byte sectors. It
also uses track-to-track skewing, so that the 8K sector moves around
relative to the index. Pretty slick, especially when compared to
Microsoft's simplistic SDF of 21 512 byte sectors per track.
But heck, anyone who's played with the FORMAT capabilities of
AnaDisk, written about 25 years ago, surely has discovered that. In
retrospect, I don't know why I ever added that capability--no one
used or understood it, particularly that of being able to *compute*
any IDAM field on the fly.
Thankfully, those days are gone for me. Now we struggle with people
who don't understand how to use DOS or any other command-line-driven
interface--we gotta have pichurs...
--Chuck