Getting started with the release tools
You have a copy of Legend of Legaia on a disc, and you want to see what is on it - the textures, the music, the monster models, the scripts. This page gets you from a downloaded release archive to a folder full of readable files in four steps. No Rust toolchain, no source checkout: just your own disc image and a terminal.
At a glance
SHA256SUMS.extracted/ tree.One rule shapes everything here: the project ships no Sony-owned bytes. The archive contains only the project's own compiled tools. Every tool operates on a disc image you supply - a raw Mode 2/2352 .bin dump of your own Legend of Legaia (USA) disc, SCUS-94254. A .cue sheet is accepted anywhere a disc image is: the referenced BINARY track is resolved automatically.
Commands on this page use the bare ./tool form, as run from inside the unpacked archive directory. If you build from source instead, the same binaries land in target/release/ (cargo build --release), so substitute ./target/release/tool.
1 · Download and verify the archive
Each tagged release publishes one archive per platform plus a SHA256SUMS manifest (see tooling/releases.md for how they are built):
legaia-tools-<version>-x86_64-unknown-linux-gnu.tar.gz(Linux, glibc 2.28+)legaia-tools-<version>-aarch64-unknown-linux-gnu.tar.gz(Linux on ARM)legaia-tools-<version>-x86_64-pc-windows-gnu.zip(Windows)
Verify and unpack:
sha256sum -c SHA256SUMS --ignore-missingtar -xzf legaia-tools-<version>-x86_64-unknown-linux-gnu.tar.gz && cd legaia-tools-<version>-x86_64-unknown-linux-gnu./legaia-extract --versionEvery binary answers --version and --help; subcommand help (./asset monster-archive --help) states where each input comes from.
2 · Check your disc image
The fingerprint check tells you whether the tools will recognise your dump before you spend time on it.
./disc-extract verify "/path/to/Legend of Legaia (USA).bin"A good USA dump prints:
[ok] matches: Legend of Legaia (USA) - SCUS-94254 - Mode2/2352 .bin
An unrecognized dump (a PAL disc, a re-track, a bad rip) prints an [unknown] line with the computed SHA-256 instead of failing - the extraction tools still run on it, but the fingerprints, offsets, and the randomizer's patches all target the USA build. A file that is not a Mode 2/2352 image at all is rejected up front with not a Mode2/2352 disc image: <path>.
3 · Extract everything in one shot
./legaia-extract "/path/to/Legend of Legaia (USA).bin" --out extractedOn a modern machine this takes about five seconds and writes roughly 1.1 GB. A disc-fingerprint check runs first, then eight numbered steps, each logged as step N/8:
- ISO9660 walk - the disc's 45 files.
PROT.DATsplit - 1233 entries, named viaCDNAME.TXT.- Per-entry format categorization.
- Streaming sub-asset extraction.
- Streaming-container TIMs → PNG.
- CD-XA demux → per-channel WAVs (316 of them).
- The TIM-catalog TSVs.
- The dialog-font artifacts.
Skip flags exist for the verify pass and for each slow or optional step: --skip-verify, --skip-png, --skip-xa, --skip-catalog, --skip-font.
What lands where
extracted/
├── PROT.DAT - the game's main archive, raw copy
├── CDNAME.TXT - entry name map
├── SCUS_942.54 - the game executable (data-table source)
├── MOV/ - FMV movies (MV1.STR ...)
├── PROT/ - one file per PROT entry, plus categorize.json
├── streaming/ - sub-assets unpacked from streaming containers
├── XA_WAV/ - streamed audio, one WAV per channel
├── font/ - dialog-font atlas + widths (engine + viewer read this)
├── prot_tim_catalog.tsv - texture inventory (raw TIMs)
└── prot_tim_deep_catalog.tsv - texture inventory (TIMs inside LZS)
The final summary points at the texture path: bulk texture export is a separate two-command step (asset tim-scan + tim convert-dir) covered in extracting assets. Everything downstream - the asset scenarios, the engine and viewers, the modding tools - reads either this extracted/ tree or the disc image directly.
4 · The tools at a glance
The archive is a toolbox rather than one program. Three groups: the extractors that turn disc bytes into files, the programs that play or edit the game, and the aids you reach for once you start reverse-engineering yourself.
Pipeline and per-format extractors
| Binary | What it's for |
|---|---|
legaia-extract | The one-shot pipeline: disc image → the whole extracted/ tree. Start here. |
disc-extract | Verify a dump's fingerprint; list / extract the raw ISO9660 files. |
prot-extract | Split PROT.DAT into its numbered entries with CDNAME-derived names. |
lzs-decode | Decompress Legaia's LZS streams and .lzs containers. |
asset | The format hub: categorize entries, extract sub-assets, dump readable game-data tables, export monsters to glTF. |
tim | TIM textures → PNG. |
tmd | Legaia TMD meshes → Wavefront OBJ. |
vab | VAB sound banks → VAG samples / WAV. |
seq | SEQ music inspector: headers, event disassembly, find for wrapped BGM. |
xa | Streamed CD-XA audio → correctly-paced per-channel WAVs. |
mdec | FMV decoder: STR movie data → per-frame PNGs. |
font-extract | Dialog-font atlas + width table, straight from the disc. |
Game-data, playing, and modding
| Binary | What it's for |
|---|---|
legaia-engine | The from-scratch engine: play scenes, FMVs, record/replay - straight from your disc. |
asset-viewer | Windowed browser for textures, meshes, audio banks, and scene demos. |
legaia-patcher | Disc patcher: randomizer, translation toolchain, and manual record edits; emits shareable PPF patches. |
save-tool | PSX memory-card / save inspector: character records, save-block diffs. |
gamedata-tool | Curated game-data lookups (arts, items, shops, enemies, ...); needs no disc at all. |
cheat-tool | GameShark cheat-database parser with the Legaia NTSC-U databases built in. |
Reverse-engineering aids
| Binary | What it's for |
|---|---|
field-disasm | Field/event-VM script disassembler over PROT.DAT. |
mes | MES dialog-container inspector (for readable game text, use legaia-patcher translate export instead). |
anm | ANM animation-container inspector. |
mdt | Move-table (Tactical Arts) layout classifier. |
art | Tactical Arts tables: action constants, arts names, Super/Miracle Art triggers. |
mednafen-state | Mednafen save-state inspector: RAM diffs, VRAM dumps, SPU snapshots. |