[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