Enemy table

Every enemy's stat record and 3D battle model, decoded from your own disc image in the browser - click any row to spin its model. No game data ships with this site; your .bin never leaves your machine.

Open a disc image

No file loaded. Provide a .bin Mode2/2352 image (or a raw PROT.DAT).

Reading the columns

ATK
Physical offense.
UDF / LDF
Upper and lower defense - which one applies depends on the attack.
INT
Magical damage and magic defense; also seeds the hit / evade roll.
SPD
Battle turn order.
AGL
The action gauge the AI spends to act each round (the in-game "Power Up" buff raises it).
Elem
The monster's element - a small ±4% damage effect in retail: same-element 96%, opposite-element 104%, otherwise 100%.
EXP / Gold / Drop
Victory spoils - base values the game scales and splits at the end of a fight.
Steal
What the Evil God Icon takes (item + chance). Steals come from a separate table in the executable, not the monster record - which is why a monster's steal and drop usually differ.
Magic attacks
The enemy's named spells and their MP cost.

Names for spells, drops, and steals resolve from a full disc image; a raw PROT.DAT shows raw ids instead (and no steal - that table lives in the executable).

International release stats vs. the raw record

The ATK / UDF / LDF / INT columns default to the in-battle values, because the raw on-disc record is not what the player fights: the international (US/PAL) battle loader boosts those four stats as it installs the enemy - ATK ×5/4, UDF ×2, LDF ×2, INT ×9/8 (HP, MP, AGL, SPD unchanged). This cross-region difficulty difference was first surfaced by Zetopheonix. Untick Show international release stats for the raw record bytes; EXP / Gold show the record's pre-reduction base, which the victory routine scales down (EXP ×¾ then split among the party; gold roughly ×¼-⅓). Full formulas: battle formulas.

How it works

The whole roster lives in one LZS-compressed archive on the disc; each enemy id maps to a fixed slot holding a stat record, the 3D model, and its animations - decoded here by the same parser the native tools use, compiled to WebAssembly. Full layout: battle-data pack.

Nothing is uploaded; the project ships zero Sony bytes (bring your own disc). Your disc is cached locally and shared across pages, so it auto-loads on reload - use Forget to clear.

asset monster-archive extracted/PROT/0867_battle_data.BIN

The 3D model

Click any row to spin its battle model - textured and lit straight from your disc, the model the battle camera shows. 186 of the 194 enemies carry one (the rest are filler ids).

asset monster-archive … --id N --obj enemy.obj --texture-png enemy.png

Animations

Every action an enemy can play - idle, move cycle, and each spell / special - ships as its own keyframe stream in the same archive; when a monster carries more than one, toggle buttons appear beside the model. Encoding: monster animation.

asset monster-archive … --id N --anim
Reference Monster animation

Download

The ⬇ Download .glb button packs the selected enemy - mesh, baked texture, and all of its animations - into a single binary glTF file that drops straight into Blender, three.js, or any glTF tool. The same export is available offline from the CLI.

asset monster-archive … --id N --glb enemy.glb