Carved SINTRAN III (L07) system segments¶
Individual system segments carved from the SINTRAN III VSX/500 L07 SMD disk
image (SEGFIL0), one big-endian .bin per segment, for reverse engineering.
See ../../../README.md (carver), ../../../ghidra-tasks/ (RE hand-offs),
../re/ (symbol files + results), and manifest.json (raw metadata).
Correction note (this L set was just re-carved). The previously committed L
.binfiles were wrong twice over: carved from a mis-based raw-disk location and at half length. This set is the first correct L carve — extracted from(SYSTEM)SEGFIL0:DATAatMADR*2048forSEGLE*2048bytes, big-endian. Every file is now full length (Bytes = Pages * 2048, a page = 2048 bytes). All content-type labels that were "confirmed" against the old (wrong) bytes were re-checked against the corrected bytes; several segments that read asemptybefore now carry data (and vice-versa) — see the table.
Content types in this segment set¶
The 8-word segment-table entry (SEGLI PRESE LOGAD SEGLE MADR FLAG SGSTA BPAGL)
has no CPU/instruction-set field — SINTRAN distinguishes a segment's kind by its
role fixed at system generation (segment number/name/PIT), not by inspecting the
bytes. content_type below is derived from name/description + PIT, and confirmed
with a disassembler pass where marked "(confirmed)".
nd100-code— ND-100 kernel code (big-endian, word-addressed). Load in an ND-100 big-endian Ghidra processor at the octalload_address; fornd100-disbyte-swap first (little-endian only).nd100-data— not code: page-table images, name tables, segment-table images, andSave of…/Image of…checkpoint copies.nd500-code— ND-500 32-bit, byte-addressed machine code. OnlyS3SM5(+ its saveS3SSM5) here. Usend500-dis(/home/ronny/repos/ragge/pcc-nd500/bin/nd500-dis), not the ND-100 tools. See the special-case section below and030-S3SM5-DISASSEMBLY-PROMPT.md.nd500-data— ND-500 domain images, name tables, and the 5PIT tables SINTRAN keeps to manage the ND-500 (data the ND-100 moves, not ND-100 code).microcode—S3IU110/S3IU120(+ saves): CPU writable-control-store microprogram for the ND-110 / ND-120. This is loaded into the CPU's control store at boot — the closest thing here to "firmware loaded into hardware", but it is the main CPU's microcode, not an I/O-controller's firmware.empty— carved but zero-filled = the subsystem is not installed / not currently loaded on this pack (e.g.S3PATCH,S3FUDRT).
Ethernet / intelligent-controller firmware: none is present in this SEGFIL0.
Intelligent I/O controllers (Ethernet 68000, HDLC, etc.) load their firmware from
separate distribution files, not from a SINTRAN system segment — so there is no
"load into the Ethernet controller's shared memory" segment in this set. (The only
"loaded into hardware" content here is the ND-110/120 CPU microcode above.)
Special case: 030-S3SM5 — the ND-500 System Monitor (handled differently)¶
030-S3SM5.bin (segment 30 octal, "ND-500 System Monitor segment") is ND-500
32-bit byte-addressed machine code, not ND-100. SINTRAN never executes it — the
ND-500 processor does. SINTRAN (ND-100) only manages it: loads/swaps/maps it via
5PIT (PIT 5) and the ND-500 domain machinery (X5DP1/X5DP2, N500DF, the swapper
/ PLACE-DOMAIN). The "handle it differently" is baked into the segment's role at
generation (segment 30 = the ND-500 monitor), not detected from the code.
- ND-500 MON calls (> 0377, e.g.
MON 410/500/511/515) trap to this monitor on the ND-500 side — never to the ND-100 level-14GOTAB(0..255 only). - Full linear ND-500 disassembly:
030-S3SM5.asm(octal, addr+bytes). - Proof it is ND-500:
nd100-disfinds ~108 control-flow ops in the whole segment vs ~6373 in same-size ND-100006-S3FS.bin;nd500-disyields clean ND-500 mnemonics.
All carved segments¶
| Seg (oct) | Name | content_type | Load (oct) | Pages | Bytes | MADR | SEGFIL | PIT | Conf | bin | asm | Description |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 003 | S3CP | nd100-code | 30000 | 52 | 106496 | 1408 | 0 | 11 | high | bin | — | Command segment |
| 004 | S3RTL | nd100-code | 30000 | 30 | 61440 | 1972 | 0 | 11 | medium | bin | — | RT-Loader segment |
| 005 | S3ERRS | nd100-data | 144000 | 1 | 2048 | 2002 | 0 | 7 | medium | bin | — | System segment for error program |
| 006 | S3FS | nd100-code | 26000 | 53 | 108544 | 1355 | 0 | 4 | high | bin | — | File system segment |
| 007 | S3DMAC | nd100-code | 64000 | 28 | 57344 | 2003 | 0 | 11 | high | bin | — | DMAC segment |
| 010 | S3RTFIL | nd100-code | 0 | 64 | 131072 | 2031 | 0 | 2 | high | bin | — | Rtfii segment |
| 011 | S3ERRL | empty | 0 | 8 | 16384 | 2095 | 0 | 1 | high | bin | — | Error log segment |
| 012 | S3SFS | nd100-data | 26000 | 53 | 108544 | 401 | 0 | 1 | medium | bin | — | Save of file system segment |
| 013 | S3SCP | nd100-data | 26000 | 53 | 108544 | 454 | 0 | 1 | high | bin | — | Save of command segment |
| 014 | S3ERRP | nd100-code | 30000 | 16 | 32768 | 2103 | 0 | 11 | high | bin | — | Error program segment |
| 016 | S3SRPIT | nd100-data | 32000 | 51 | 104448 | 115 | 0 | 1 | high | bin | — | Save of RPIT |
| 017 | S3SMPIT | nd100-data | 32000 | 51 | 104448 | 166 | 0 | 1 | high | bin | — | Save of MPIT |
| 020 | S3SDT5 | empty | 0 | 63 | 129024 | 2119 | 0 | 14 | high | bin | — | ND-500 standard domains segment |
| 021 | S3NMS5 | empty | 0 | 63 | 129024 | 2182 | 0 | 13 | medium | bin | — | ND-500 name tables segment |
| 022 | S3RFAC | nd100-code | 26000 | 50 | 102400 | 2245 | 0 | 3 | high | bin | — | Remote file access segment |
| 024 | S3SSGT | nd100-data | 0 | 16 | 32768 | 321 | 0 | 1 | medium | bin | — | Save of segment table |
| 025 | S3IRPIT | nd100-data | 32000 | 51 | 104448 | 1069 | 0 | 1 | medium | bin | — | Image of RPIT |
| 026 | S3IMPIT | nd100-data | 32000 | 51 | 104448 | 1120 | 0 | 1 | medium | bin | — | Image of MPIT |
| 027 | S3ISGT | nd100-data | 0 | 16 | 32768 | 1275 | 0 | 1 | high | bin | — | Image of segment table |
| 030 | S3SM5 | nd500-code | 40000 | 48 | 98304 | 1227 | 0 | 5 | medium | bin | asm | ND-500 System Monitor segment |
| 031 | S3SSPD | nd100-data | 164000 | 1 | 2048 | 112 | 0 | 7 | high | bin | — | Save of spooling data fields |
| 036 | S3TAD | nd100-code | 110000 | 10 | 20480 | 2295 | 0 | 11 | high | bin | — | TADADM segment |
| 037 | S3RTD | nd100-code | 0 | 64 | 131072 | 2305 | 0 | 1 | high | bin | — | RT-Loader data segment |
| 040 | S3FUDRT | empty | 164000 | 4 | 8192 | 2369 | 0 | 7 | low | bin | — | File user data segment for RT prog. |
| 041 | S3IMED | nd100-data | 26000 | 1 | 2048 | 2373 | 0 | 1 | high | bin | — | Image of edit routines |
| 043 | S3PATCH | empty | 174000 | 2 | 4096 | 2374 | 0 | 2 | high | bin | — | Used for patching purposes |
| 044 | S3IDPIT | nd100-data | 4000 | 45 | 92160 | 1019 | 0 | 1 | medium | bin | — | Image of DPIT |
| 045 | S3ISYS | nd100-data | 144000 | 3 | 6144 | 1064 | 0 | 1 | high | bin | — | Image of system segment |
| 046 | S3S5PIT | nd500-data | 26000 | 5 | 10240 | 268 | 0 | 1 | medium | bin | — | Save of 5PIT segment |
| 050 | S3I5PIT | nd500-data | 26000 | 5 | 10240 | 1222 | 0 | 1 | medium | bin | — | Image of 5PIT segment |
| 053 | S3SDPIT | nd100-data | 4000 | 45 | 92160 | 64 | 0 | 1 | medium | bin | — | Save of DPIT |
| 054 | S3SSYS | nd100-data | 144000 | 3 | 6144 | 109 | 0 | 1 | high | bin | — | Save of system segment |
| 060 | S3SECOM | nd100-data | 26000 | 2 | 4096 | 113 | 0 | 1 | high | bin | — | Save of extended common |
| 061 | S3IECOM | nd100-data | 26000 | 2 | 4096 | 1067 | 0 | 1 | high | bin | — | Image of extended common |
| 062 | S3SSM5 | nd500-code | 40000 | 48 | 98304 | 273 | 0 | 1 | medium | bin | — | Save of ND-500 System Monitor |
| 065 | S3SIPIT | nd100-data | 32000 | 51 | 104448 | 217 | 0 | 1 | high | bin | — | Save of IPIT |
| 066 | S3IIPIT | nd100-data | 32000 | 51 | 104448 | 1171 | 0 | 1 | high | bin | — | Image of IPIT |
| 070 | S3SSM | nd100-code | 30000 | 36 | 73728 | 507 | 0 | 1 | high | bin | — | Save service/mail segment |
| 071 | S3SM | nd100-code | 30000 | 36 | 73728 | 1460 | 0 | 11 | high | bin | — | Service/mail segment |
| 072 | S3SDMWD | nd100-data | 2000 | 4 | 8192 | 667 | 0 | 1 | high | bin | — | Save of disk mirroring WD segment |
| 073 | S3IDMWD | nd100-data | 2000 | 4 | 8192 | 1620 | 0 | 1 | medium | bin | — | Image of disk mirroring WD segment |
| 074 | S3SXMK | nd100-data | 120000 | 24 | 49152 | 543 | 0 | 1 | medium | bin | — | Save of XMSG kernel |
| 075 | S3SXROU | nd100-data | 120000 | 40 | 81920 | 567 | 0 | 1 | medium | bin | — | Save of XMSG kernel |
| 076 | S3XMK | nd100-code | 120000 | 24 | 49152 | 1496 | 0 | 2 | high | bin | — | XMSG kernel |
| 077 | S3XROU | nd100-code | 0 | 40 | 81920 | 1520 | 0 | 2 | high | bin | — | XMSG xrouter segment |
| 100 | S3SDNAM | nd100-data | 164000 | 6 | 12288 | 661 | 0 | 1 | high | bin | — | Save of device name table |
| 101 | S3DNAM | nd100-data | 164000 | 6 | 12288 | 1614 | 0 | 7 | high | bin | — | Device name table |
| 102 | S3SXMFI | nd100-data | 0 | 54 | 110592 | 607 | 0 | 1 | high | bin | — | Save of XMSG watchdog (XMFID0) |
| 103 | S3XMFI | nd100-code | 0 | 54 | 110592 | 1560 | 0 | 1 | high | bin | — | XMSG watchdog (XMFID0) |
| 104 | S3SNKSE | nd100-data | 30000 | 52 | 106496 | 671 | 0 | 11 | high | bin | — | Save of NUCLEUS server |
| 105 | S3INKSE | nd100-data | 30000 | 52 | 106496 | 1624 | 0 | 11 | high | bin | — | Image of NUCLEUS server |
| 106 | S3SNKNA | nd100-data | 0 | 64 | 131072 | 723 | 0 | 1 | high | bin | — | Save of NUCLEUS name server |
| 107 | S3INKNA | nd100-data | 0 | 64 | 131072 | 1676 | 0 | 1 | high | bin | — | Image of NUCLEUS name server |
| 110 | S3SU110 | microcode | 0 | 32 | 65536 | 337 | 0 | 1 | medium | bin | — | Save of ND-110 Microprogram |
| 111 | S3IU110 | microcode | 0 | 32 | 65536 | 1291 | 0 | 1 | medium | bin | — | Image of ND-110 Microprogram |
| 112 | S3SU120 | microcode | 0 | 32 | 65536 | 369 | 0 | 1 | medium | bin | — | Save of ND-120 Microprogram |
| 113 | S3IU120 | microcode | 0 | 32 | 65536 | 1323 | 0 | 1 | medium | bin | — | Image of ND-120 Microprogram |
| 114 | S3SERWC | nd100-data | 0 | 16 | 32768 | 787 | 0 | 1 | medium | bin | — | Save of ERS Watchdog program |
| 115 | S3IERWC | nd100-data | 0 | 16 | 32768 | 1740 | 0 | 1 | medium | bin | — | Image of ERS Watchdog program |
| 116 | S3SERWD | nd100-data | 0 | 56 | 114688 | 803 | 0 | 1 | high | bin | — | Save of ERS Watchdog data |
| 117 | S3IERWD | nd100-data | 0 | 56 | 114688 | 1756 | 0 | 2 | high | bin | — | Image of ERS Watchdog data |
| 120 | S3SPRMA | nd100-data | 30000 | 52 | 106496 | 859 | 0 | 11 | high | bin | — | Save of Processor Manager server |
| 121 | S3IPRMA | nd100-data | 30000 | 52 | 106496 | 1812 | 0 | 11 | high | bin | — | Image of Processor Manager server |
| 122 | S3SEVMS | nd100-data | 30000 | 52 | 106496 | 911 | 0 | 11 | high | bin | — | Save of Event Message server |
| 123 | S3IEVMS | nd100-data | 30000 | 52 | 106496 | 1864 | 0 | 11 | high | bin | — | Image of Event Message server |
| 124 | S3SBOPC | nd100-data | 30000 | 52 | 106496 | 963 | 0 | 11 | medium | bin | — | Save of Bopcom Server |
| 125 | S3IBOPC | nd100-data | 30000 | 52 | 106496 | 1916 | 0 | 11 | medium | bin | — | Image of Bopcom Server |
| 126 | S3SMTSE | nd100-data | 30000 | 4 | 8192 | 1015 | 0 | 11 | high | bin | — | Save of MT server |
| 127 | S3IMTSE | nd100-data | 30000 | 4 | 8192 | 1968 | 0 | 11 | high | bin | — | Image of MT server |
| 130 | CFT | nd100-code | — | 37 | 75776 | 8001 | 0 | None | high | bin | — | |
| 131 | SEG131 | nd100-code | — | 9 | 18432 | 8038 | 0 | None | low | bin | — | |
| 132 | CCT | nd100-code | — | 48 | 98304 | 8047 | 0 | None | high | bin | — | |
| 133 | SEG133 | nd100-code | — | 72 | 147456 | 8095 | 0 | None | low | bin | — | |
| 134 | SNA3270 | nd100-code | — | 122 | 249856 | 8167 | 0 | None | high | bin | — | |
| 135 | XFTRAD | nd100-code | — | 32 | 65536 | 8289 | 0 | None | high | bin | — | |
| 136 | FSASG | nd100-code | — | 33 | 67584 | 8321 | 0 | None | high | bin | — | |
| 137 | COSPOOL | nd100-code | — | 18 | 36864 | 8354 | 0 | None | high | bin | — | |
| 140 | SEG140 | nd100-code | — | 113 | 231424 | 8372 | 0 | None | low | bin | — | |
| 141 | SEG141 | nd100-code | — | 37 | 75776 | 8485 | 0 | None | low | bin | — |
Content-type summary¶
- empty: 5
- microcode: 4
- nd100-code: 24
- nd100-data: 42
- nd500-code: 2
- nd500-data: 2
empty is now determined per file from manifest.json (nonzero:false). Only
S3ERRL (011), S3SDT5 (020), S3NMS5 (021), S3FUDRT (040) and S3PATCH (043)
are all-zero on this pack.
manifest.json has the full raw metadata (load address, madr, segle, flag, symbol_file) per segment.
Resident code (not in SEGFIL0)¶
The memory-resident SINTRAN common code / data and the RT-loader are not
paged segments in SEGFIL0 — they live in resident memory — so they are extracted
separately into ../resident/:
../resident/SINTRAN-DATA_commoncode.bin— resident common code.../resident/MACM-AREA-DATA_rtloader.bin— RT-loader.
See ../../../EXTRACTING-RESIDENT-CODE.md for the extraction method.