Files
sgi-indy/docs/rom-map.json
T
opencode.energia.arti.ee 1dc99443b7 Map SGI Indy IP24 PROM 5.3 Rev B10
Fetch and verify the four MAME indy_4610 PROM dumps, wrap the newest
dump in an ELF32 BE MIPS image for Ghidra/REA, and record the resulting
structural map: image layout, exception vector table, boot flow,
function anchors and firmware feature clusters.
2026-11-02 11:04:39 +00:00

495 lines
9.8 KiB
JSON

{
"source": {
"bytes": 524288,
"sha1": "ac663a4db68528e400487e98cbf901f620fb30ce",
"sha256": "333a0b2e39bb828a28a758b6f633ae7290030129dc747297a1be68dc317b86ae",
"version_string": "SGI Version 5.3 Rev B10 R4X00/R5000 IP24 Feb 12, 1996",
"last_non_ff_offset": 522751,
"last_non_ff_address": "0x1fc7f9ff"
},
"image": {
"base": "0x1fc00000",
"end": "0x1fc80000",
"page_size": 4096
},
"code": {
"start": "0x1fc00000",
"last_function": "0x1fc4a7e0",
"count": 1074
},
"strings": {
"start": "0x1fc01b7c",
"end": "0x1fc7c16b",
"count": 1418
},
"page_kinds": {
"exception-vectors": 1,
"code": 74,
"strings": 17,
"binary-data": 31,
"zero-data": 5
},
"regions": [
{
"kind": "exception-vectors",
"start": "0x1fc00000",
"end": "0x1fc01000",
"procedures": 10,
"strings": 0
},
{
"kind": "code",
"start": "0x1fc01000",
"end": "0x1fc4b000",
"procedures": 1064,
"strings": 103
},
{
"kind": "strings",
"start": "0x1fc4b000",
"end": "0x1fc56000",
"procedures": 0,
"strings": 1272
},
{
"kind": "binary-data",
"start": "0x1fc56000",
"end": "0x1fc6d000",
"procedures": 0,
"strings": 0
},
{
"kind": "strings",
"start": "0x1fc6d000",
"end": "0x1fc6f000",
"procedures": 0,
"strings": 30
},
{
"kind": "zero-data",
"start": "0x1fc6f000",
"end": "0x1fc71000",
"procedures": 0,
"strings": 0
},
{
"kind": "binary-data",
"start": "0x1fc71000",
"end": "0x1fc72000",
"procedures": 0,
"strings": 0
},
{
"kind": "strings",
"start": "0x1fc72000",
"end": "0x1fc74000",
"procedures": 0,
"strings": 2
},
{
"kind": "zero-data",
"start": "0x1fc74000",
"end": "0x1fc76000",
"procedures": 0,
"strings": 0
},
{
"kind": "binary-data",
"start": "0x1fc76000",
"end": "0x1fc78000",
"procedures": 0,
"strings": 0
},
{
"kind": "zero-data",
"start": "0x1fc78000",
"end": "0x1fc79000",
"procedures": 0,
"strings": 0
},
{
"kind": "binary-data",
"start": "0x1fc79000",
"end": "0x1fc7b000",
"procedures": 0,
"strings": 0
},
{
"kind": "strings",
"start": "0x1fc7b000",
"end": "0x1fc7d000",
"procedures": 0,
"strings": 11
},
{
"kind": "binary-data",
"start": "0x1fc7d000",
"end": "0x1fc80000",
"procedures": 0,
"strings": 0
}
],
"exception_vectors": [
{
"offset": 0,
"address": "0x1fc00000",
"word": "0x0bf000f0",
"target": "0x1fc003c0"
},
{
"offset": 16,
"address": "0x1fc00010",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 32,
"address": "0x1fc00020",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 48,
"address": "0x1fc00030",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 64,
"address": "0x1fc00040",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 80,
"address": "0x1fc00050",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 96,
"address": "0x1fc00060",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 112,
"address": "0x1fc00070",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 128,
"address": "0x1fc00080",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 144,
"address": "0x1fc00090",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 160,
"address": "0x1fc000a0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 176,
"address": "0x1fc000b0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 192,
"address": "0x1fc000c0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 208,
"address": "0x1fc000d0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 224,
"address": "0x1fc000e0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 240,
"address": "0x1fc000f0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 256,
"address": "0x1fc00100",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 272,
"address": "0x1fc00110",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 288,
"address": "0x1fc00120",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 304,
"address": "0x1fc00130",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 320,
"address": "0x1fc00140",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 336,
"address": "0x1fc00150",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 352,
"address": "0x1fc00160",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 368,
"address": "0x1fc00170",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 384,
"address": "0x1fc00180",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 400,
"address": "0x1fc00190",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 416,
"address": "0x1fc001a0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 432,
"address": "0x1fc001b0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 448,
"address": "0x1fc001c0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 464,
"address": "0x1fc001d0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 480,
"address": "0x1fc001e0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 496,
"address": "0x1fc001f0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 512,
"address": "0x1fc00200",
"word": "0x0bf003c8",
"target": "0x1fc00f20"
},
{
"offset": 528,
"address": "0x1fc00210",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 544,
"address": "0x1fc00220",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 560,
"address": "0x1fc00230",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 576,
"address": "0x1fc00240",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 592,
"address": "0x1fc00250",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 608,
"address": "0x1fc00260",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 624,
"address": "0x1fc00270",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 640,
"address": "0x1fc00280",
"word": "0x0bf003ca",
"target": "0x1fc00f28"
},
{
"offset": 656,
"address": "0x1fc00290",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 672,
"address": "0x1fc002a0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 688,
"address": "0x1fc002b0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 704,
"address": "0x1fc002c0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 720,
"address": "0x1fc002d0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 736,
"address": "0x1fc002e0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 752,
"address": "0x1fc002f0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 768,
"address": "0x1fc00300",
"word": "0x0bf003c6",
"target": "0x1fc00f18"
},
{
"offset": 784,
"address": "0x1fc00310",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 800,
"address": "0x1fc00320",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 816,
"address": "0x1fc00330",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 832,
"address": "0x1fc00340",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 848,
"address": "0x1fc00350",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 864,
"address": "0x1fc00360",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 880,
"address": "0x1fc00370",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 896,
"address": "0x1fc00380",
"word": "0x0bf00390",
"target": "0x1fc00e40"
},
{
"offset": 912,
"address": "0x1fc00390",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 928,
"address": "0x1fc003a0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
},
{
"offset": 944,
"address": "0x1fc003b0",
"word": "0x0bf001f1",
"target": "0x1fc007c4"
}
]
}