Difference between revisions of "DUMPER tape format"
(Describe DUMPER and MINI-DUMPER tape formats.) |
(No difference)
|
Revision as of 21:14, 12 April 2022
The original TENEX tape backup program is called MINI-DUMPER or just DUMPER. It was written by Ray Tomlinson April 1971, in FAIL assembly language. The oldest version on record is from December 1971, and the newest is from February 1982. There is also a more elaborate program called BSYS, written at Stanford.
(As a historical aside, the MINI-DUMPER user interface was considered atrocious which inspired making a command line library similar to the EXEC facility. This was later moved inside the TOPS-20 monitor.)
The tape format is an older version of what TOPS-20 DUMPER uses. This describes DUMPER format 4: http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/Dumper_And_Backup_Tape_Formats_Oct82.pdf
Contents
OVERVIEW
A DUMPER tape consists of a series of 518-word records, where the first six words is a header and the following 512 words are data. The first record is a tape header. After this follows files, or optionally, directory data. A file is started by a file header record, followed by data records, and ended by a file trailer. The tape is terminated by a tape trailer.
DUMPER normally don't write any tape marks except to terminate a saveset. MINI-DUMPER is much more particular about marks and requires them after tape headers and file trailers.
TAPE FORMATS
There is a tape format number stored in the tape header. MINI-DUMPER is retroactively assigned format number 0, and doesn't have the format number stored in the tape header.
Format | Description |
0 | BBN original format. |
3 | "Full dir spec". |
4 | Lowest legal format for latest DUMPER. |
5 | Encrypted passwords. |
6 | "Tonext" record type. |
RECORD HEADER
All records have a six-word header.
Offset | Type | Description |
0 | Checksum | See below. |
1 | Access | Unused, set to 0. |
2 | Tape number | Starts from 1. |
3 | Page number | Starts from 0 in data pages; other records set to 0. |
4 | Record type | See below. |
5 | Sequence number | See below. |
The checksum is computed over all 518 words in the record, with the checksum set to 0. For formats 0-4, it's a one's complement sum. For format 5, it the sum is first rotated one step to the left and then adding in the data.
MINI-DUMPER expects the sequence number to start with 2, whereas later versions begin with 1. Normally each record increments the sequence number by 1, but a MINI-DUMPER tape header increments it by 2.
Record Type | Number |
Data | 0 |
Tape header | 1 |
File header | 2 |
File trailer | 3 |
Tape trailer | 4 |
User directory | 5 |
DATA RECORD
TAPE HEADER
In format 0, the data is just a NUL-terminated saveset name.
If format 4, the data is:
Record offset | Description |
6 | Tape format number. |
7 | "BFMSG" - offset from header to start of saveset name? |
8 | Timestamp for saveset. |
6+BFMSG | Saveset name. |
FILE HEADER
In format 0, the only file header data is an ASCIZ string in the format DEV:<DIRECTORY>NAME.TYPE;VERSION;P123456;AUSER.
Other formats have an FDB, file descriptor block at offset 200 (octal) from the record header.
FILE TRAILER
TAPE TRAILER
USER DIRECTORY
These are optional in all formats.