Asset viewer
Browse Legend of Legaia assets directly in this browser. Provide your own disc image (.bin Mode2/2352) or just PROT.DAT — the WASM build parses it client-side, classifies every PROT entry, and filters to the ones with renderable TIMs. Nothing leaves your machine.
Open a disc image
Bring your own disc
This viewer doesn't ship any Sony bytes. Provide a .bin Mode2/2352 image of Legend of Legaia (NA SCUS-94254), the extracted PROT.DAT, or a single .tim file.
Files are read with the browser's FileReader API. Nothing is uploaded; everything happens locally in WebAssembly.
What this viewer does
When you load a full disc, the WASM module:
- Walks ISO9660 to find
PROT.DAT - Parses the PROT TOC to locate all 1232 entries
- Classifies each entry through the same detector chain the native pipeline uses (
tim_passthrough,tim_pack,data_field_streaming,scene_tmd_stream,field_pack,effect_bundle, etc.) - Runs
tim_scanagainst each entry — including LZS decompression — and keeps only the entries with at least one decodable PSX TIM - Builds the filtered sidebar list, grouped by classification
This typically narrows ~1232 raw entries down to ~300-400 viewable ones, sorted by PROT index. Use the filter dropdown to narrow further by class (e.g. only scene_tmd_stream for character meshes' textures, or only tim_passthrough for standalone images).
The 3D path renders Legaia TMDs in textured 3D by default: WebGL2-backed, with the same paletted fragment shader the native engine uses (1024×512 R16UI VRAM, per-prim CBA/TSB, 4/8/15bpp + CLUT lookup decoded per-fragment). Toggle "textured" off in the sidebar for a flat-shaded fallback (Canvas 2D, painter's-algorithm depth sort).
The native build (./target/release/asset-viewer prot extracted/PROT.DAT) additionally plays VAB samples, renders stage geometry, and supports --vram-extra-dir for cross-PROT-entry CLUT chains. Run that for the full experience.
Privacy + legal
This page never uploads your disc image anywhere. The WASM module reads bytes via the browser's FileReader API directly into WebAssembly memory, parses them locally, and renders to a canvas. No network requests for the disc data.
The legal model is the same as ScummVM, OpenRCT2, OpenMW, OpenLara: zero Sony bytes ship with this project; you supply your own disc image. Read the engine port plan for the legal posture in detail.
Run engine
Tick the Legaia engine VMs in-browser using the same LegaiaRuntime the native engine-shell uses. Provide your disc image (.bin Mode2/2352) — PROT.DAT and CDNAME.TXT are extracted automatically via ISO9660 walk. You can also drop a raw PROT.DAT with an optional CDNAME.TXT. Files are read locally via FileReader; nothing is uploaded.
The same disc image you use in the asset browser above works here. For PROT.DAT-only access without a disc, also supply CDNAME.TXT (extracted by ./target/release/prot-extract) to enable scene lookup by name.