At a glance

1
Download + verify the archive
One archive per platform, checked against SHA256SUMS.
sha256sum
2
Check your disc image
Confirms the dump is the USA build the tools target.
disc-extract verify
3
Extract everything
About five seconds, roughly 1.1 GB, one extracted/ tree.
legaia-extract
4
Pick a tool
Per-format extractors, the engine, the viewer, the patcher.
see the tool index
Bring your own disc

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-missing
tar -xzf legaia-tools-<version>-x86_64-unknown-linux-gnu.tar.gz && cd legaia-tools-<version>-x86_64-unknown-linux-gnu
./legaia-extract --version

Every 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 extracted

On 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:

  1. ISO9660 walk - the disc's 45 files.
  2. PROT.DAT split - 1233 entries, named via CDNAME.TXT.
  3. Per-entry format categorization.
  4. Streaming sub-asset extraction.
  5. Streaming-container TIMs → PNG.
  6. CD-XA demux → per-channel WAVs (316 of them).
  7. The TIM-catalog TSVs.
  8. 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

BinaryWhat it's for
legaia-extractThe one-shot pipeline: disc image → the whole extracted/ tree. Start here.
disc-extractVerify a dump's fingerprint; list / extract the raw ISO9660 files.
prot-extractSplit PROT.DAT into its numbered entries with CDNAME-derived names.
lzs-decodeDecompress Legaia's LZS streams and .lzs containers.
assetThe format hub: categorize entries, extract sub-assets, dump readable game-data tables, export monsters to glTF.
timTIM textures → PNG.
tmdLegaia TMD meshes → Wavefront OBJ.
vabVAB sound banks → VAG samples / WAV.
seqSEQ music inspector: headers, event disassembly, find for wrapped BGM.
xaStreamed CD-XA audio → correctly-paced per-channel WAVs.
mdecFMV decoder: STR movie data → per-frame PNGs.
font-extractDialog-font atlas + width table, straight from the disc.

Game-data, playing, and modding

BinaryWhat it's for
legaia-engineThe from-scratch engine: play scenes, FMVs, record/replay - straight from your disc.
asset-viewerWindowed browser for textures, meshes, audio banks, and scene demos.
legaia-patcherDisc patcher: randomizer, translation toolchain, and manual record edits; emits shareable PPF patches.
save-toolPSX memory-card / save inspector: character records, save-block diffs.
gamedata-toolCurated game-data lookups (arts, items, shops, enemies, ...); needs no disc at all.
cheat-toolGameShark cheat-database parser with the Legaia NTSC-U databases built in.

Reverse-engineering aids

BinaryWhat it's for
field-disasmField/event-VM script disassembler over PROT.DAT.
mesMES dialog-container inspector (for readable game text, use legaia-patcher translate export instead).
anmANM animation-container inspector.
mdtMove-table (Tactical Arts) layout classifier.
artTactical Arts tables: action constants, arts names, Super/Miracle Art triggers.
mednafen-stateMednafen save-state inspector: RAM diffs, VRAM dumps, SPU snapshots.

See also