On Mon, Jan 28, 2013 at 2:22 AM, Christian Corti
<cc at informatik.uni-stuttgart.de> wrote:
Now that's simple. The disc (HP don't say disk) format is described in some
HP-IB floppy drive manual. A bad track is marked by $FF as the cylinder
value in the ID field of each sector of a track. When reading, you just skip
to the next track as long as the cylinder value is $FF. For example, if
you've read (physical) cylinder 37 side 0 and want to read side 1, when the
cyl. value if $FF, you skip to cylinder 38 side 0. But attention, the
information in the ID field says cylinder 37 head 1 instead. So you have to
distinguish between physical accesses and logical tracks.
http://www.hpmuseum.net
9895A_DiscDrive_ServiceManual_09895-90030_173pages_Feb81.pdf
2-12 Theory of Operation
Track Numbering. Each track has a physical address as previously
described. There is also a logical track address associated with each
good track. The logical track address is written in the ID field of
each sector on the track. If a disc has no bad tracks, the logical
address of a track is the same as the physical address.
A disc with N bad tracks can be made to look like a 77-N track disc
with no bad tracks. To do this, the logical track address stored in
the ID field of each sector of every bad track is set to !FF. Tracks
of this type are known as invisible tracks. All visible tracks are
then sequentially assigned logical track numbers. Logical Track 0 is
the outermost good track, not necessarily physical Track 0.