uxmal / reko

Reko is a binary decompiler.
https://uxmal.github.io/reko
GNU General Public License v2.0
2.17k stars 253 forks source link

PDP-10 core image formats #1145

Open larsbrinkhoff opened 2 years ago

larsbrinkhoff commented 2 years ago

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:

Less important:

uxmal commented 2 years ago

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

larsbrinkhoff commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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