-
Notifications
You must be signed in to change notification settings - Fork 8
Description
tapedump, taperead, and tapewrite support an option -s to enable SIMH .TAP image file format (tape_flags |= TF_SIMH). In a SIMH .TAP file, odd-length records are padded to an even number of bytes when written to the file. The extra padding bytes are discarded when the records are read.
getrec() in tapeio.c implements SIMH .TAP image file format with code that discards the extra padding bytes when TF_SIMH is enabled:
if ((l & 1) != 0 && (mtape->flags & TF_SIMH) != 0)
doread (mtape->tapefd, &x, 1);
However, putrec() in tapeio.c does not have any code that implements SIMH .TAP image file format, i.e., putrec() does not add padding for odd-length records when TF_SIMH is enabled.
The result is that the -s option is silently ignored by tapewrite, leaving the user with the mistaken impression that the image file created is SIMH .TAP format when it might not be, i.e., if the input tape happens to contain any odd-length records (an extremely unusual possibility, I admit).
Otherwise, tapewrite -s looks like exactly what I am looking for to rescue a collection of old archive tapes so that I can go through them at my leisure using a SIMH VAX/VMS system.
Thank you,
Larry Baker