Reference pages

Key functions
A directory of Ghidra-traced anchor functions across the codebase. Boot, asset loader, the runtime VMs, BIOS thunks, libsnd/libspu, GTE primitives, libcd, 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 / Mednafen cheat-code dumps as a ground-truth source for RAM addresses. Format reference, parser overview, citation table, and 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

Acknowledgments

Reverse engineering stands on prior work. The findings here lean on:

  • The Cutting Room Floor - 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.
  • 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-art MiracleMatcher / SuperMatcher tables (crates/art/src/miracle.rs, super_art.rs) cross-reference and validate against it.
  • Meth962's "Legend of Legaia 100% Walkthrough" (GameFAQs) - the v1.10 "all Enemy stats section" + Seru-magic + magic-leveling tables ground three layers of legaia-gamedata. enemies.toml carries Meth's per-enemy HP / MP / EXP / Gold / ATK / SPD / UDF / LDF / INT / AGL / element columns for every entry (extracted from in-RAM memory, so fan-recorded values rather than retail-binary-extracted constants - useful as labels for the binary monster records crates/asset/src/monster_archive.rs decodes from PROT 0867). bosses.toml is rewritten around the per-fight layer (named attacks + MP cost, XP / gold / item rewards, recommended party level) for all 18 main-story B-code bosses plus the Lapis superboss. magic.toml grows absorb_lv1 / absorb_lv2 / absorb_lv3 integer-percent fields per Seru spell (Gimard 55/60/80, Gilium 1/1/1, the full 21-spell table); the per-cast XP curve and damage-scaling multipliers live in legaia_gamedata::magic_leveling.
  • 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.