Kajar notes of ChronoRET, rebuilding Chrono Trigger one matched routine at a time
Contents
  1. Systems

Last updated: October 9, 2026

Systems

One page per game system: a summary written by hand from the matched code's headers, then, on the pages that have one, the routines that belong to it, generated from functions.csv in the code repo. A routine's group is the subsystem column there, taken from its name's prefix; "Engine (unnamed)" holds matched engine routines that still carry Sub_ labels. The table below counts every group.

Page Covers
Boot Vectors, reset, MainInit, the cold init
Frame cycle and NMI One field frame, the frame wait, NmiHandler, the field IRQ, the other modes' frames
Engine core The field: game loop, location loading, the map, scene changes, objects
Field event scripts The objects' byte-code scripts and their opcodes
Sprites & objects Animation, frame builds, the OAM shadow
Scene engine Bank $C2's scene mode: tasks, scripts, sprite list, scene loading, the map view and the dial
Text windows Bank $C2's text decoder
Menu Bank $C2's menu: entry, thread scheduler, interrupts, shared helpers
Battle engine BattleSys_Main, turn lists, enemy behaviour scripts, PC commands, effects and damage, hit records, bank $FD helpers
Battle actions Service 4, the action scripts and the enemy movers
Battle menu The command menu, its lists and input
Battle targeting Target modes and area shapes
Status bar & text The battle status bar and number formatting

Field event scripts, frame cycle, scene engine, text windows, the menu and battle actions are parts of the larger "Engine" and "Battle engine" groups, so their routines are listed on the Engine core and Battle engine pages.

To add a system: give its routines a subsystem in the code repo (a name prefix in tools/progress.py), add a page here (copy any existing one and change its wk:system marker), add it to the nav in mkdocs.yml, and run tools/sync_progress.py.

SystemBanksMatched fnsMatched code bytesReadableVerified
Engine$C0, $C1, $C2, $C3, $C6, $C7, $CF, $D1, $FD, $FF2,360135,4522,3602,360
Battle engine$C1, $CC, $CD, $CE, $CF, $D1, $FD99074,225990990
Battle system$C1, $CD19220,803192192
Sprites & objects$C0539,0885353
Battle menu$C1635,0466363
ROM header$C01901919
Battle targeting$C1342,0643434
Battle status bar$C191,44399
Engine (unnamed)$C0250622
Battle text & numbers$C1, $CD, $CF937799
Boot$C0, $FD524755

Generated from functions.csv. Do not edit.