Reconstruction Matrix¶
Progress of the FA reconstruction programs — the
game-executable program (epic #209)
and the overlay-binary program (epic #247)
— one section per binary, one row per subsystem, generated from the
symbol database and verified against the per-binary Ghidra
inventory export (db/inventory/, local-only — regenerated and checked where the
canonical Ghidra project lives; see db/README.md).
FA.EXE¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| Object / entity system & shape selection | 0x462600–0x4646600x4A6EB0–0x4A72400x473A40–0x473DA00x491240–0x491AA0 |
83/83 (100%) | 15 named · 145 waived | doc | ✓ | #210 | complete |
| Renderer & rasterizer (GG/G_) | 0x45DBD0–0x45E4600x497330–0x4993800x4B7900–0x4BA700 |
125/125 (100%) | 3 named · 167 waived | doc | ✓ | #211 | complete |
| Flight model / physics (FM/HARD) | 0x451480–0x454800 |
62/62 (100%) | 0 named · 142 waived | doc | ✓ | #212 | complete |
| HUD / cockpit | 0x405E30–0x40AE50 |
49/49 (100%) | 16 named · 189 waived | doc | ✓ | #213 | complete |
| Weapons — projectiles / seekers / ECM (PROJ) | 0x4C0690–0x4C5D30 |
59/59 (100%) | 8 named · 47 waived | doc | ✓ | #215 | complete |
| AI interpreter (CT) | 0x464C60–0x467110 |
122/122 (100%) | 11 named · 27 waived | doc | ✓ | #216 | complete |
| Wingman / group AI (WNG/GRP) | 0x45E460–0x45FEC0 |
40/40 (100%) | 1 named · 16 waived | doc | ✓ | #217 | complete |
| Campaign / mission / pilot (MAP/CAM/MC/MM/PLT) | 0x421D40–0x421DD00x421DE0–0x4221D00x422230–0x4223000x422350–0x4223800x4224B3–0x4224EE0x42256A–0x42267F0x4226CB–0x4226F00x422828–0x4228510x42297E–0x422A0D0x422A71–0x42B8000x467240–0x4672C00x4674F0–0x4678B00x467E30–0x467F300x468C40–0x4699600x46A57B–0x46A6400x47A510–0x47A5A00x47FAAE–0x47FEC00x4805AC–0x4806900x4809D0–0x480A300x481920–0x4819400x481A7B–0x481B800x483C90–0x484D900x485380–0x4854E00x4856F0–0x4858200x4867D0–0x4868100x486BF0–0x486C600x486DC0–0x486DF0 |
130/130 (100%) | 0 named · 360 waived | doc | ✓ | #218 | complete |
| Network / multiplayer (NET/SER/UDP/MP) | 0x4016C0–0x4023000x402330–0x4023800x4024D0–0x4026400x405360–0x4053D00x4054F0–0x405E300x45D090–0x45DBD00x46BD90–0x46BDE00x46C0A0–0x46C1500x46C28C–0x46C4700x46C680–0x46C9100x46C980–0x46EED00x46EEDF–0x46FDB00x46FF20–0x46FF700x47001C–0x4701500x4701AC–0x4702500x47025C–0x4705600x470780–0x4708B00x4715BC–0x4719E00x471A90–0x471BD00x471BDF–0x4722600x472670–0x472A900x4735D0–0x4736800x499F70–0x499F900x49A000–0x49A3800x49A3E0–0x49A5200x49A660–0x49A8500x49A9B0–0x49AD700x49AF30–0x49B1D00x4AC180–0x4AC3E00x4AC480–0x4AC510 |
117/117 (100%) | 0 named · 186 waived | doc | ✓ | #219 | complete |
| Sound / music (incl. WAIL32) | 0x4328B0–0x435C60 |
53/53 (100%) | 5 named · 179 waived | doc | ✓ | #220 | complete |
| Terrain (T_) | 0x4A7310–0x4ABBE20x4C5D30–0x4C60E8 |
85/85 (100%) | 1 named · 113 waived | doc | ✓ | #221 | complete |
| Collision (COL) | 0x42B800–0x42E680 |
21/21 (100%) | 38 named · 6 waived | doc | ✓ | #222 | complete |
| Memory & resource managers (MM/RM) | 0x435C60–0x43631C0x4A67F0–0x4A6E46 |
50/50 (100%) | 12 named · 22 waived | doc | ✓ | #223 | complete |
| Input — joystick / serial / modem | 0x494270–0x494BB00x499CF0–0x499F700x49B1D0–0x49D1B0 |
20/20 (100%) | 0 named · 61 waived | doc | ✓ | #224 | complete |
| Core shell / menu / dialog UI | 0x40B8A0–0x40BA100x40BC20–0x40C2900x40C410–0x40D7A00x42E680–0x42E7200x42E9A0–0x42F2E00x432F80–0x432F8B0x433170–0x4331800x47F0B0–0x47F1000x47FA30–0x47FA500x487A3A–0x4891700x4891A0–0x48D2B00x4A08A0–0x4A0FE00x4A26F0–0x4A2A30 |
136/136 (100%) | 0 named · 124 waived | doc | ✓ | #225 | complete |
| Startup / Phar Lap DOS extender / config | 0x4D715A–0x4E8A2F |
338/338 (100%) | 47 named · 174 waived | doc | ✓ | #226 | complete |
| Video decode (FMV/Cobra) | 0x456300–0x45CDA0 |
23/23 (100%) | 0 named · 0 waived | doc | ✓ | #227 | complete |
| 3D render core / SH interpreter (GR) | 0x4CD588–0x4D6C00 |
163/163 (100%) | 0 named · 349 waived | doc | ✓ | #228 | complete |
| .SEQ scripted-cutscene / sequence player (SEQ) | 0x444F70–0x446D900x446F10–0x4471E0 |
40/40 (100%) | 25 named · 37 waived | doc | ✓ | #240 | complete |
| View / camera & replay (VIEW) | 0x40D7A0–0x40F6B0 |
19/19 (100%) | 5 named · 24 waived | doc | ✓ | #257 | complete |
FA.EXE totals: 20/20 subsystems complete; 1735/1735 in-scope functions named; 2555/4721 referenced globals resolved.
WAIL32.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| WAIL32.DLL — Miles Sound System (AIL) audio driver | 0x20001000–0x20019E00 |
503/503 (100%) | 0 named · 577 waived | doc | ✓ | #253 | complete |
WAIL32.DLL totals: 1/1 subsystems complete; 503/503 in-scope functions named; 577/756 referenced globals resolved.
IP.EXE¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| IP.EXE — EA system-info & tech-support tool (MFC) | 0x401000–0x4BD800 |
1805/1805 (100%) | 0 named · 1339 waived | doc | ✓ | #254 | complete |
IP.EXE totals: 1/1 subsystems complete; 1805/1805 in-scope functions named; 1339/1737 referenced globals resolved.
CDRVDL32.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| CDRVDL32.DLL — Cdrv RS-232 serial comms driver | 0x10001000–0x10010000 |
104/104 (100%) | 0 named · 129 waived | doc | ✓ | #255 | complete |
CDRVDL32.DLL totals: 1/1 subsystems complete; 104/104 in-scope functions named; 129/175 referenced globals resolved.
CDRVHF32.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| CDRVHF32.DLL — Cdrv Hayes-modem comms driver | 0x10001000–0x10010000 |
154/154 (100%) | 0 named · 114 waived | doc | ✓ | #255 | complete |
CDRVHF32.DLL totals: 1/1 subsystems complete; 154/154 in-scope functions named; 114/150 referenced globals resolved.
CDRVXF32.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| CDRVXF32.DLL — Cdrv file-transfer comms driver | 0x10001000–0x10010000 |
121/121 (100%) | 0 named · 171 waived | doc | ✓ | #255 | complete |
CDRVXF32.DLL totals: 1/1 subsystems complete; 121/121 in-scope functions named; 171/322 referenced globals resolved.
COMMSC32.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| COMMSC32.DLL — Cdrv comms terminal-screen service | 0x10001000–0x10010000 |
60/60 (100%) | 0 named · 109 waived | doc | ✓ | #255 | complete |
COMMSC32.DLL totals: 1/1 subsystems complete; 60/60 in-scope functions named; 109/153 referenced globals resolved.
MSAPI.DLL¶
| Subsystem | Range(s) | Funcs named | Ref. globals | Doc | Diagram | Issue | Status |
|---|---|---|---|---|---|---|---|
| Matchmaking / internet-play client (MSAPI) | 0x100011E0–0x10002AB0 |
25/25 (100%) | 12 named · 23 waived | doc | ✓ | #275 | complete |
MSAPI.DLL totals: 1/1 subsystems complete; 25/25 in-scope functions named; 35/36 referenced globals resolved.
Program totals (all binaries): 27/27 subsystems complete; 4507/4507 in-scope functions named; 5029/8050 referenced globals resolved.