PSX RAM map
The PSX has exactly 2 MB of main RAM, at addresses 0x80000000-0x801FFFFF, and everything the running game is - its code, the party's stats, the loaded scene, the story flags - lives somewhere in that window. This map says what lives where. Click any region to see the details.
Interactive map
Order: low addresses on top. Hover for a one-liner, click for full detail. Three landmarks orient everything else: SCUS_942.54 (the game's main executable) loads at 0x80010000 and its data segment holds the persistent game state; the region above 0x801C0000 is the overlay window, where the game swaps in per-mode code (title / town / battle / menu) on demand; and the addresses quoted across this site's docs and cheat tables all point into this map.
Click any row above to see details.
Notes
- The overlay window holds different code depending on which game mode is active. Static analysis only sees what's loaded at the time of capture. The repo has separate overlay imports for: title screen, town (PROT 0897), battle (PROT 0898), and the menu/options overlay (PROT 0899).
- Several globals that look like data ("DAT_xxxxx" in Ghidra) are actually pointers to runtime structs. The battle context at
0x8007BD24is the canonical example - Ghidra types it asint*, code accesses it as(*ptr)[N]. - The PROT TOC at
0x801C70F0is loaded from disc at boot. The entry size formula issize = toc[p+5] - toc[p+3] + 4, wherepis the entry's word offset in the raw TOC. See the PROT.DAT format page.
Superseded readings (do not re-walk)
- "PROT 0896 @
0x801C5818" as a menu-overlay base is refuted - that base was an over-read artifact; the menu overlay is PROT 0899 at0x801CE818, and live field captures hold an ISO9660 directory cache at0x801C5818.