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


_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to