[Simh] RP vs RM header operations
Bob Supnik
bob at supnik.org
Thu Jun 27 14:27:02 EDT 2019
As I suspected, RP class drives (except the RP07) have 4 words of
header, and RM class drives have 2. This is confirmed by the RSTS/E disk
initialization code. RSTS/E can't format an RP07, so I can't verify how
those functions ought to work. RSTS/E seems to think it has 2 words of
header, though.
Any implementation of the write/write check/read header functions needs
to take care of the header words properly. Assume, for example, that
SALV is trying to write an entire RP06 track (20 sectors/track). It
would specify a Massbus <word> count (in 18b words) of 20 * (4 + 256) =
5200 words. If write track plus header just defaults to being a normal
write, then 80 words will spill over to the start of the next track.
That might not matter if the next track is promptly overwritten, but on
the last track, the extra words will generate an addressing error, and
SALV will (probably ) fail.
For an RM, the count needs to be 30 * (2 + 256) = 7740 words. Again, if
the two extra words aren't accounted for, the last track write will
overflow and generate an error.
RSTS/E formats both RPs and RMs the same way: cylinder (plus 16b flag)
in the first word, track/sector in the second. For the RP, the third and
fourth are left as 0. There are bad block flags reserved in the header,
but all SimH disks are perfect. ;)
tl;dr. If you're going to implement these functions as other than stubs,
they better be done right, or other kinds of errors will surface.
/Bob
More information about the Simh
mailing list