Reference
Lookup tables, not reading. Where a fact about the game lives: which function does what, what is at an address, what a track is called, and which questions are still open.
Which table do you want?
- You have an address or a
FUN_symbol and want to know what it does → key functions, then the RAM map for globals. - You have a binary record and want to know what the values mean → curated game-data tables are the ground-truth labels; cheat databases anchor the RAM offsets.
- You have an extracted track and want its name → music-track disambiguation.
- You have a question and want to know whether it is still contested → open RE threads. Check here before starting a hunt.
- You want the answer to a question, and how firmly it is pinned → settled threads, where every row carries an evidence grade.
- A reading of the bytes looks obvious and you want to be sure it has not already been disproved → do not re-walk.
Reference pages
Key functions
A directory of the game's traced functions, grouped by subsystem - the
FUN_80xxxxxx names are the disassembler's labels for code at those RAM addresses. Boot, asset loader, the runtime VMs, BIOS thunks, audio libraries, the battle and effect systems.PSX RAM map
2 MB main RAM. Where SCUS_942.54 loads, where overlays live, where the global game state lives, where the actor table is, where the scratchpad is.
Cheat databases
Third-party GameShark cheat-code dumps (each cheat is a RAM address someone verified on real hardware) as a ground-truth source for where game state lives. Format reference, parser overview, citation table, and a runtime applier wired into
legaia-engine play-window --cheat-file.Curated game-data tables
Arts, magic, items, weapons, armor, accessories, enemies, shops, casino, and fishing tables mined from public walkthroughs. Acts as ground-truth labels for the binary records being reverse-engineered (PROT entry
0x05C4, RAM character struct, drop tables).Music-track disambiguation
Every BGM cue cross-referenced across its four naming spaces: the debug sound-test ID + working title, the in-game context it plays in, the official OST album title, and a proposed relocalization title. The human-readable label layer for the extracted SEQ/BGM tracks. Curated reference (Stann0x).
Builds + region differences
14 known builds across NA / JP / EU / Demo / preview / debug. SCUS-94254 is the NA build the project targets.
Open RE threads
The live list of unsolved mysteries, each with the concrete next step that would close it. If you want to contribute to the reverse-engineering, start here. Question-level companion to the port catalog's function-level worklist.
Settled RE threads
The questions that have an answer, and how firmly each one is pinned. Every row is graded by what its own evidence rests on - instructions, a runtime capture, Ghidra's decompiled C, or inference - so you can tell a byte-pinned fact from one nobody has checked against the disassembly yet.
Do not re-walk
Falsified hypotheses with their reasoning intact. Each is a plausible reading of the bytes that turned out wrong; knowing why is worth more than the row it occupies. Check here before committing to a reading that looks obvious.
Acknowledgments
Reverse engineering stands on prior work. The findings here lean on:
- Public community research on unused content and builds - developer attribution (Prokion / Contrail), debug-flag addresses, and the catalog of 14 known builds.
- Sam Ste's PROT.DAT unpacker - an early Python proof-of-concept that pointed at the right TOC slots and the TIM-pack heuristic.
- PSXRecomp (mstan / SamSteProjects) - a PlayStation 1 static recompiler (MIPS R3000A → C → native, recompiled SCPH1001 BIOS as the kernel, no HLE), and its Legaia-specific fork whose runtime work carries the game from boot through field, battle, and the CD/XA cutscene path. We run it as a live cross-reference oracle - a second, independent execution of the retail code to validate the clean-room port against (GTE registers, overlay identity, render-dispatch and sound-driver behaviour) - never as a source of Sony bytes. Built on the N64Recomp static-recompilation model (RT64 team).
- ZetaPhoenix's "Legaia Arts Data" spreadsheet - public Google Sheets catalog of the Tactical Arts / Miracle Arts / Super Arts trigger strings and finisher replacements. The
legaia-artMiracleMatcher/SuperMatchertables (crates/art/src/miracle.rs,super_art.rs) cross-reference and validate against it. - Meth962's "Legend of Legaia 100% Walkthrough" (GameFAQs) - the enemy-stats, Seru-magic, and magic-leveling tables that ground the curated game-data tables.
- Henrique Stanke Scandelari (Stann0x) - a music-track disambiguation that cross-references every BGM cue across its four naming spaces (the internal debug sound-test ID + working title, the in-game context it plays in, the official OST title, and a proposed relocalization title); the human-readable label layer for the extracted SEQ/BGM tracks, in the same curated-reference spirit as the game-data tables above.
- The PSX scene generally - Sony PsyQ documentation, Martin Korth's PSX-SPX, and decades of accumulated TIM / TMD / SPU documentation.
- Reference projects whose legal pattern this repo follows: ScummVM, OpenRCT2, OpenMW, OpenLara.