By subsystem

Boot + asset loader

  • FUN_8003E4E8 — boot-time TOC loader; reads first 3 sectors of PROT.DAT into 0x801C70F0
  • FUN_8003E8A8 — LBA resolver against the in-RAM TOC
  • FUN_8003E6BC — path-based file opener (data\battle\efect.dat etc.)
  • FUN_8001F05C — asset-type dispatcher
  • FUN_80020224 — descriptor-pair walker
  • FUN_8002541C — streaming-asset driver

Game VMs

  • FUN_801D6628 — actor / sprite VM (13 opcodes, JT at 0x801CED70)
  • FUN_80023070 — move-table VM (71 opcodes, JT at 0x80010778)
  • FUN_801D362C — move-VM extension (61 sub-opcodes via op 0x2F)
  • FUN_801DE840 — field / event script VM (43 ops, switch at 0x801E00F4)
  • FUN_800204F8 — move-buffer setup (Tactical Arts)
  • FUN_80021DF4 — per-frame actor tick

Renderer + GTE

  • FUN_8002735C — Legaia TMD renderer (60 GTE ops)
  • FUN_80026B4C — TMD validate + register
  • FUN_800268DC — TMD pointer fixup
  • 0x80010778 — move-VM jump table
  • DAT_8007326C — per-mode primitive descriptor table
  • 0x801CE868 — move-VM extension JT
  • 0x800EB654 — battle context struct (pointed to by _DAT_8007BD24)

Battle

  • FUN_801E295C — battle action state machine (16 KB)
  • FUN_801D0748 — battle / level-up main tick; sub-states 0x1E/0x32/0x6E/0xFE
  • FUN_801D388C — battle animation dispatcher; switch on animation_type (0..0x31+)
  • FUN_801D5854 — battle actor pose driver; GTE transform per pose_id (~30 call sites from the action SM)
  • FUN_801D8DE8 — UI element ID mapper (3 KB, 75 callers)
  • FUN_801DA6B4 — battle actor display-state controller; opacity + pose flags for alive actors
  • FUN_801DB81C — next-valid-target scan; actor[+0x14C] != 0 & no death/stone
  • FUN_801ED710 — records / stats screen renderer (battles, escapes, play-time, max-hits)
  • FUN_800520F0 — battle scene loader
  • FUN_8004E2F0 — battle range / line-of-sight
  • FUN_80054CB0 — monster init
  • FUN_80042558 — per-frame stat aggregator
  • FUN_8003FB10 — action validator
  • FUN_800431D0 — ability bitmask read
  • 0x801C9370 — 8-actor pointer table (party 0–2, monsters 3–7); actor HP at +0x14C

Menu overlay

  • FUN_801DD35C — top-level menu dispatcher (12 KB, 134 outgoing)
  • FUN_801D33D8 — submenu rendering loop
  • FUN_801E1C1C — shared menu-element renderer
  • FUN_801CF650 — equipment stat aggregator; reads 5 slots at char +0x196, sums into DAT_801EF08C–09C
  • FUN_801DD0C0 — item category / slot validity check

Audio (PsyQ)

  • FUN_8001FA88 — sound init / .dpk loader
  • FUN_8001FC00 — streaming-asset loader (sound\)
  • FUN_8001EBEC — mode-aware ext dispatcher
  • FUN_800243F0 — BGM lookup (PROT-relative)
  • FUN_8003E104 — monster.snd loader
  • 0x80061-0x80067 — libsnd SsAPI sequencer cluster
  • 0x80068-0x6D — libspu SPU control cluster
  • FUN_80069B18 — SPU DMA transfer state machine

BIOS + libapi

  • 0x80056678EnterCriticalSection
  • 0x80056688ExitCriticalSection
  • 0x80056658TestEvent
  • 0x8006B844WaitEvent
  • 0x80057024memmove
  • 0x8005ACACmemset
  • 0x8005E540memcpy
  • 0x80056698+ stride 0x10 — BIOS B-vector thunk cluster

Full reference

Every function above (and ~50 more) is described in detail with provenance citations in the markdown doc:

docs/reference/functions.md →

Per-function dumps (Ghidra disassembly + decompile) live under ghidra/scripts/funcs/<addr>.txt in the repo (gitignored — Sony-derived). Overlay-specific dumps are prefixed overlay_<label>_<addr>.txt.