Difference between revisions of "TENEX sharable save file"
(→OVERVIEW: DATA pages.) |
m (→SYMBOL TABLE: +links) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | TENEX uses .SAV files that are distinct from TOPS-10 .SAV and TOPS-20 .EXE files. A TENEX .SAV file can also be the TOPS-10 | + | [[TENEX]] uses .SAV files that are distinct from [[TOPS-10]] .SAV and [[TOPS-20]] .EXE files. A TENEX .SAV file can also be the TOPS-10 non-sharable/compressed format. |
===CREATING A SHARABLE SAVE FILE=== | ===CREATING A SHARABLE SAVE FILE=== | ||
Line 14: | Line 14: | ||
# Page map, which is two pages. | # Page map, which is two pages. | ||
# Data pages. | # Data pages. | ||
− | # Symbol table. | + | # [[Symbol table]]. |
All pages are 512 (decimal) words. Page numbers are limited to 9 bits, so there can be a maximum of 512 data pages in a file. | All pages are 512 (decimal) words. Page numbers are limited to 9 bits, so there can be a maximum of 512 data pages in a file. | ||
Line 70: | Line 70: | ||
Bit 0 is moved to bit 9 in the access bits which is then passed to the PMAP JSYS in AC3. | Bit 0 is moved to bit 9 in the access bits which is then passed to the PMAP JSYS in AC3. | ||
− | Finally follows a start instruction, normally JRST: | + | Finally follows a start [[instruction]], normally JRST: |
{| class="wikitable | {| class="wikitable | ||
Line 88: | Line 88: | ||
===SYMBOL TABLE=== | ===SYMBOL TABLE=== | ||
− | After the last mapped page comes a symbol table, which is alternating words of SQUOZE symbol name and 36-bit symbol value. | + | After the last mapped page comes a [[symbol table]], which is alternating words of [[SQUOZE]] symbol name and 36-bit symbol value. |
===REFERENCES=== | ===REFERENCES=== | ||
I ([[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]])) have not found any documentation specifying this file format. This information was reverse engineered by reading the TENEX monitor source code, in particular the code at SGET. It was verified against archived .SAV files. | I ([[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]])) have not found any documentation specifying this file format. This information was reverse engineered by reading the TENEX monitor source code, in particular the code at SGET. It was verified against archived .SAV files. | ||
+ | |||
+ | [[Category: PDP-10 File Formats]] |
Latest revision as of 16:07, 6 April 2022
TENEX uses .SAV files that are distinct from TOPS-10 .SAV and TOPS-20 .EXE files. A TENEX .SAV file can also be the TOPS-10 non-sharable/compressed format.
Contents
CREATING A SHARABLE SAVE FILE
These files are written in EXEC using the command
@SSAVE (PAGES FROM) N (TO) N, (FROM) N (TO) N ... (ON) FILE
TOPS-20 still retains support for loading this format.
OVERVIEW
The file format consists of three sections:
- Page map, which is two pages.
- Data pages.
- Symbol table.
All pages are 512 (decimal) words. Page numbers are limited to 9 bits, so there can be a maximum of 512 data pages in a file.
PAGE MAP
The first word in the page map is:
0-17 | 18-35 |
001000 | Count of map words to follow |
Then follow count page map words:
0-8 | 9-17 | 18-35 |
Access | Virtual memory page | File page |
Page numbers, both virtual and file, are normally ordered by increasing number. File pages start at 2. Pages which are unmapped (or all zero?) are not written to the map or data pages.
Access bits:
Bit | Meaning |
0 | Write copy request - sets copy on write bit (9) |
2 | Read allowed |
3 | Write allowed |
4 | Execute allowed |
8 | Trap to user |
Bit 0 is moved to bit 9 in the access bits which is then passed to the PMAP JSYS in AC3.
Finally follows a start instruction, normally JRST:
0-17 | 18-35 |
254000 | Start address. |
The remaining space in this section is unused and should be zero.
DATA PAGES
Data pages follow and are mapped as per above. The section ends with the highest numbered file page in the map.
SYMBOL TABLE
After the last mapped page comes a symbol table, which is alternating words of SQUOZE symbol name and 36-bit symbol value.
REFERENCES
I (Larsbrinkhoff (talk)) have not found any documentation specifying this file format. This information was reverse engineered by reading the TENEX monitor source code, in particular the code at SGET. It was verified against archived .SAV files.