No disc loaded - provide a .bin Mode2/2352 image (or a raw PROT.DAT) and every cast below becomes playable.

Watch the cast

Ra-Seru & Sim-Seru summons

The seven big summons. Each is a bespoke body - unlike every other Seru-magic cast, its model matches no enemy in the monster archive, and its texture pool and keyframes live in a separate slot of its own group. Click one to orbit it.

Meta · Ozma · Terra · Horn · Jedo · Palma · Mule - load a disc to see them.

Seru magic

The rest of the player Seru-magic block. Each of these summons an ordinary creature from the game's own monster archive - the Gimard spell summons a Gimard - so the model you see here is the same body you fight in the field, performing its cast animation.

Load a disc to list every cast.

About this data — where the models and animations come from

The streaming side-band

A Seru-magic cast is not resident: the battle engine streams it off the disc mid-fight, in fixed 66 KB slots of \data\battle\summon.dat, while the spell plays. Each cast owns a group of slots - texture pages first, then a summon-creature actor record holding the creature's model, its texture pool, and a table of per-part keyframe streams. This page decodes exactly that, entirely in your browser.

The .glb button above the canvas bakes the selected cast's summon into a binary glTF download: the model, its VRAM texture pool as one atlas, and every phase clip as a named animation (one rigid node per TMD object, keyframed straight from the on-disc streams at the record's own playback rate) - ready for Blender or three.js. Everything is baked in your browser; nothing is uploaded.

Why the seven were different

Casts 0x81-0x99 reuse an ordinary enemy body - their model is byte-identical to a record in the monster archive, so a summon can be resolved to a creature id. The seven Ra-Seru / Sim-Seru summons cannot: their groups are four slots wide instead of three, their model matches nothing in the archive, and their texture pool and per-part keyframes live in the group's extra raw slot rather than in the record. That is the split this page's decoder handles, and it is what the summon's own identity is pinned on here - each cast carries its attack name as plain text on the disc (Meta's is "Inferno", Ozma's is "Voltagor"), and the record's element byte independently agrees.

Shading

Retail applies no light source to these bodies: a textured primitive draws as texel × colour / 128 using the model's own baked colour word. This page uploads that per-vertex colour stream and does the same - so what you see is the game's shading, not a viewer's.