TAP Image Format
Utility programs support a very simple form of TAP images only. Each physical tape record is represented as the following:
- 4 byte little-endian record length header (least significant byte first)
- n bytes of record contents
- 4 byte little-endian record length trailer (least significant byte first)
This is repeated for every physical tape record. The record length trailer is useful in an emulation to be able to position n-records backwards. Unfortunately tape-marks are an exception to the format described above. A tape-mark is encoded as 4 bytes of zero (without an actual record contents and trailer part).
During the development of the Desktop Cyber emulator it turned out that a few other variants of TAP do exist. There are some, which make you guess what the actual record length is. Others encode some additional info in the record length header and trailer. The Desktop Cyber emulation and associated utilities only support the simple definition given above.
Create NOS I Format TAP Image
To be able to import files into a running NOS system, the files have to be converted into a NOS I-format tape. The source file for a utility, which performs this conversion, is located at:
The utility converts the specified number of files into a NOS I-format TAP image with one logical record per file. Files to be converted have to have a file name with the following format:
ir0001, ir0002, ... ir9999
If individual files are missing, then the utility writes a zero-length logical record. Note that this is not a zero length TAP record (or tape-mark), but a 6 byte TAP record containing only the NOS I-format block terminator.
The utility uses the following command line:
nosICreate <TAP output files> [optional files count]
If no file count is specified, the utility converts only one file.
Sometimes it may become necessary to verify that a TAP image is indeed containing a valid NOS I-format tape. The source file for such a utility is
The utility takes a TAP image file, which contains a NOS I-format tape, and dumps each physical record to STDOUT.
The fields in the dump for every record are:
- record length
- block terminator
- 10 PP words (12 bit each) octal dump
- Display Code representation of those 10 PP words
If records are invalid or inconsistent, an appropriate message is displayed.
Use the following command line to check an image:
nosIVerify <TAP image with NOS I-format records>