Series

  • Patching a sealed disc - how the randomizer rewrites a retail Legaia disc with no source and no SDK, told as a ladder of injection techniques: from same-size byte edits, through editing inside compression and rewriting field-VM bytecode, up to hand-assembled MIPS hosted in a resident overlay's dead space (the in-shop Seru-trading vendor). One page per technique; the mods are the worked examples. Includes a generated mod catalog + roadmap.
  • The endless camera orbit - anatomy of a retail softlock: the 25-year-old “battle freezes while the camera circles the party” bug, caught live, traced to an approach animation that dies with nothing to re-stage it, reproduced on demand (a summon immediately before the boss's melee), and fixed with a nine-word in-place rewrite that makes the game's own staging state repair it. Links to the browser ROM patcher where the fix ships.
  • The Spirit fish gate - fishing's rarest catch, decompiled: why the observed Spirit catch rate never matched the published 1-in-32 model. The rare spawn column is unreachable by the random roll - it sits behind a six-condition strike-time gate (a saved cast counter over 50 and even, the right lure and rod, the rare band, then 1-in-16) - and the “Good!” splash fires for four reel cadences of which only the Square-ending one sets the rare band. With the effective per-catch probabilities, and long-standing player observations mapped to their mechanisms.

How to read these

Each write-up leads with the reverse engineering - the static and runtime evidence that pinned a function, an offset, or a structure - and only then describes what was built. Addresses are PSX virtual addresses (0x801C0000+ is the overlay window); function labels are Ghidra's FUN_8xxxxxxx entry points, cross-referenced to the per-subsystem and per-format reference pages. No Sony-owned bytes appear here or anywhere in the repo - only addresses, offsets, and the project's own clean-room code.

See also