reko icon indicating copy to clipboard operation
reko copied to clipboard

PDP-10 core image formats

Open larsbrinkhoff opened this issue 3 years ago • 4 comments

PDP-10 executable files are also called "core images" because they store the contents of the (virtual) core memory for a program, plus metadata.

Some important ones are:

  • ITS SBLK (simple block)
  • ITS PDUMP (page dump)
  • WAITS DMP
  • TOPS-10 and TOPS-20: SAV, SHR, LOW, HGH, EXE (I'm not sure which are distinct)

Less important:

  • LINK and STINK variations of REL (relocatable)
  • ELF
  • Maclisp FASL
  • Muddle

larsbrinkhoff avatar Jan 21 '22 08:01 larsbrinkhoff

Pointers to descriptions of the file formats of these dump files would be great!

uxmal avatar Jan 21 '22 08:01 uxmal

This describes the two ITS formats:
https://github.com/PDP-10/its/blob/master/doc/sysdoc/binfmt.101

Metadata includes a symbol table. FYI: in some older images, there's an in-core symbol table which means it's part of the program memory image.

larsbrinkhoff avatar Jan 21 '22 13:01 larsbrinkhoff

As for .DMP I haven't found a clear authoritative source. Basically just a flat dump starting from location 74 (octal), with some metadata embedded. Notably, location 120 should have a start address in the right half. This file has bits and pieces, search for ".dmp": https://github.com/PDP-10/sri-nic/blob/master/files/fs/c/dist/csikcc.mail#L4993

PDP-10 lingo is to call the least significant 18 bits of a word "right half", and the upper 18 bits "left half". Just in case you forgot.

larsbrinkhoff avatar Jan 21 '22 13:01 larsbrinkhoff

The TOPS-10/20 file formats ought to be described somewhere in DEC's ample documentation, but I haven't found it so far. I made some notes here: https://github.com/larsbrinkhoff/pdp10-its-disassembler/issues/1

larsbrinkhoff avatar Jan 21 '22 14:01 larsbrinkhoff