Disc + container layer

What the disc image looks like before any in-game format gets involved.

Compression + dispatch

Per-asset formats

PSX TIM
Standard PlayStation texture format. 4 / 8 / 15 bpp; CLUTs scatter across PROT entries. crates/tim exports to PNG.
Legaia TMD
Custom PSX TMD variant — magic 0x80000002. Object pointers are byte offsets relative to header end. Primitives use a custom 8-byte group header + per-mode descriptor table at DAT_8007326C.
VAB sound bank
PSX-standard VAB (program/tone/SPU-ADPCM sample). crates/vab extracts and decodes to WAV. Banks live in battle_data / level_up — vab_01 is misleading.
PsyQ SEQ
PsyQ's MIDI-derived sequence format (pQES magic). 13-byte header (PPQN, tempo, time-sig) + delta-time / MIDI events with running status. Drives SsSeqOpen / SsSeqPlay. crates/seq parses + walks; engine-audio::Sequencer plays one against a VAB.
MES dialog
Two variants: Compact (0x404 magic) and Records (0x44 0x78). Bytecode tokens (Glyph / Op65 / Op4c / Op26 / End). Renderer is overlay-resident.
Dialog font
Proportional Latin font (FUN_80036888). 256-byte width table at 0x80073F1C; 38-entry escape table at 0x80074050; glyph bitmaps in VRAM at (896, 0), 4bpp, 16x16 cells (drawn 14x15).
ANM animation
Asset-type 6 container. (count + byte_offsets + records); marker_1 = 0x080C across all observed records. The per-actor anim tick is FUN_80021DF4 in SCUS_942.54 (4732 bytes) — best modelled as a layered pipeline rather than a per-opcode jump table. The keyframe pose decoder (dispatch byte 0x06) is ported to legaia_anm::AnimPlayer; the per-arm physics (position / velocity / acceleration math, the positional SFX emitter for 0x05, path interpolation for 0x03, render submissions for 0x04 / 0x07) is ported in engine_vm::actor_tick. See actor-vm.html for the full per-arm breakdown.
MDT — move tables
Tactical Arts move records. Both layouts parse cleanly; the consumer is FUN_800204F8. The runtime MOVE base (_DAT_8007B888) is sourced per-scene from descriptor[4] (type 0x05 = Move) of every CDNAME block's slot-1 PROT entry (a scene_asset_table) — not from a single boot-time PROT entry.
Art data — Tactical Arts records
Per-character art records (Vahn 0x80160EFC / Noa 0x80176998 / Gala 0x8018BA54; PROT entry 0x05C4). 40-field schema: command sequence, action constant, power bytes (UDF / LDF + alt-range with floater/short misses), hit timing, special / hit effect cues, status effects, repeat-frame replay. Action Constants 0x00–0x32, Learned Art Constant slots (with character-specific holes), Art Anim Data slot table, Miracle / Super Art trigger tables. crates/art.

Streaming + scene containers

Runtime overlay carriers

Audio path-strings + placeholders