larsbrinkhoff / pdp10-its-disassembler

Disassembler and other tools for files in ITS formats
GNU General Public License v2.0
19 stars 13 forks source link

TENDMP #129

Closed larsbrinkhoff closed 2 years ago

larsbrinkhoff commented 2 years ago

Need to create TEMDMP images for booting TENEX.

larsbrinkhoff commented 2 years ago

Like MACDMP, the directory block is number 100 (but decimal instead of octal). And usage bytes are 5 bits. Unlike MACDMP, the block usage map comes first with 83 (decimal) words, then the file names 22+22 words, and finally a tape name word.

Screenshot from 2022-04-09 23-05-23

larsbrinkhoff commented 2 years ago

The format is documented starting on page 536 here: http://bitsavers.org/pdf/dec/pdp10/TOPS10/1973_Assembly_Language_Handbook/03_1973AsmRef_monitorCalls.pdf

larsbrinkhoff commented 2 years ago

DEC documentation says file blocks are allocated below the directory, and going down (towards block 0). But BBN documentation says TENDMP can only deal with monotonically increasing blocks. This checks out in tests with TENEX, so I have implemented the latter. There could be a command line option to say which direction to use. Also block spacing to ensure the TENEX.SWP file fits on the tape before changing direction.

larsbrinkhoff commented 2 years ago

Timestamps are not yet implemented for creating tapes.

larsbrinkhoff commented 2 years ago

Files with the .SAV or .SWP extension will be checked for core image size and the result is written to the directory. At some point I thought this made a difference to TENDMP but it doesn't.