From: Charles Anthony
Sent: Monday, October 10, 2016 12:53 PM
Details: The .tap format is a series of tape records;
each record is
stored as a 2 byte byte count, the data (sometimes rounded to an even
number of bytes), and a repeat of the 2 byte byte count. This format
supports the basic tape record operations; you need to keep a pointer
to the current record. A 'tape read' retrieves the byte count from the
record pointed to by the pointer, retrieves the data, and advances the
pointer to the next block. Tape marks are stored as 2 bytes of
zeros. Skipping records forward is done by retrieving the byte count
and calculating the new pointer value. Skipping backward is done by
backing the pointer up 2 bytes, and retrieving the 2nd copy of the
byte count of the previous record, and calculating how far back to
move the pointer. Rewind sets the pointer to 0.
Correction: .tap format uses 4 byte counters, in little-endian order.
Order is not relevant for the EOF tape marks, of course, since they're
4 bytes of 0.
The older DECUS .tpc format uses a 2 byte counter, also little endian,
but only at the front of the record (no read backwards capability).
Rich
Rich Alderson
Vintage Computing Sr. Systems Engineer
Living Computer Museum
2245 1st Avenue S
Seattle, WA 98134
mailto:RichA at
LivingComputerMuseum.org
http://www.LivingComputerMuseum.org/