Function table
Every exported game function, one row each, in docs/FUNCTION_TABLE.csv
(generated by tools/function_table.py; meanings come from our source comments and
docs/function_notes.md, areas are inferred from loaded files and the call graph).
Total 11175: described 6246, out of scope 2472, known 1872, sdk 506, inferred 56, unknown 23
| area | known | inferred | sdk | unknown |
|---|---|---|---|---|
| (none) | 0 | 0 | 0 | 23 |
| 2D screens (menus, HUD, map) | 0 | 1 | 0 | 0 |
| CPU driver | 35 | 0 | 0 | 0 |
| NitroSDK / NNS | 0 | 0 | 506 | 0 |
| Wi-Fi connection setup utility | 0 | 0 | 0 | 0 |
| animation | 214 | 0 | 0 | 0 |
| archive (carc) loader state *0x021759a8 (0x20471b0-0x20476ac) | 0 | 0 | 0 | 0 |
| arm9 startup (crt0), bios wrappers | 0 | 0 | 0 | 0 |
| battle mode: balloons (balloon.nsbmd), shine runners (shine16), pokey (0x1b2) (sub_20a3948-20a7894) | 13 | 0 | 0 | 0 |
| camera | 7 | 0 | 0 | 0 |
| chain chomp (wanwan) and chain/stake | 1 | 0 | 0 | 0 |
| characters | 1 | 0 | 0 | 0 |
| choice menu (cont.) and main menu screen manager (0x020cae38-0x020cc5ec) | 0 | 3 | 0 | 0 |
| collision (KCL) | 2 | 0 | 0 | 0 |
| controller / input manager (*0x02175604 flags, 0x02175608 slot table of 92-byte records) (0x20431e4-0x2043d10) | 0 | 0 | 0 | 0 |
| course data (course_map.nkm) lookups and section loaders; course data object at *0x02175600 (0x2040fd8-0x20429b8) | 5 | 0 | 0 | 0 |
| course-select, results and roster screens (t016e review, batch 3, haiku-t016) | 45 | 0 | 0 | 0 |
| effects | 160 | 6 | 0 | 0 |
| entry and main | 0 | 0 | 0 | 0 |
| final [review] pass: thunks, cell bit helpers, ui ticks, object constructors, race-motion step (t016i review, haiku-t016) | 44 | 0 | 0 | 0 |
| final review rows in 0x020d-0x020f and 0x0213 (t016j review, haiku-t016) | 64 | 0 | 0 | 0 |
| frame heap / narc archive (fs) | 0 | 0 | 0 | 0 |
| friend roster (60 x 36-byte records at *0x0217a9e8+32, 12-byte friend codes at +0x874) | 1 | 0 | 0 | 0 |
| friend-code entry screen (wfc add-friend ui, manager at *0x0217d3e0, state at +0x10, arm9_main 0x2128940-0x212a4xx) | 0 | 0 | 0 | 0 |
| frontend flow-state callbacks (flow manager at *0x021a99c0: next-state id at +40, change-pending at +42) | 0 | 2 | 0 | 0 |
| ghost / records | 0 | 0 | 0 | 0 |
| goomba (kuribo) | 8 | 0 | 0 | 0 |
| goomba squash dispatcher (codex, 2026-10-08) | 23 | 2 | 0 | 0 |
| graphics | 2 | 0 | 0 | 0 |
| info message strip / staff roll (managers at 0x0217d3e8, 0x0217d3ec, 0x0217d3f0) | 0 | 0 | 0 | 0 |
| info strips, lock brackets and small setup (t016e review, batch 4, haiku-t016) | 12 | 0 | 0 | 0 |
| input state, menu manager, option menu screens (0x02192a04..) | 0 | 0 | 0 | 0 |
| itcm: irq dispatch and nns_g3d scene-bytecode (sbc) interpreter | 3 | 0 | 0 | 0 |
| itcm: kart helpers (kart struct: +116 racer id, +120 index, +124/+68/+72/+76 flag words) | 1 | 0 | 0 | 0 |
| items | 134 | 1 | 0 | 0 |
| kart | 136 | 1 | 0 | 0 |
| kart damage | 22 | 0 | 0 | 0 |
| kart update / draw / init (0x02063830-0x02065xxx; kart +0x80 pos, +0x74 id, +0x7c flags, +0x514 sub-struct) | 18 | 3 | 0 | 0 |
| kart-linked effect wrappers (t016g review, batch 4, haiku-t016) | 16 | 0 | 0 | 0 |
| kart/character select screen (struct at 0x0217ace8; files /data/kartmodelmenu/*, kart/select/select.nsbmd) | 0 | 0 | 0 | 0 |
| kart/racer wrappers, event queue, screens and friend records (t016c review, batch 4b, haiku-t016) | 40 | 0 | 0 | 0 |
| map objects | 169 | 3 | 0 | 0 |
| mb (multiboot / ds download play) library, continued (the "packet layer" lines above are this library's parent/child comm; work area at *0x0216fd8c, up to 16 children, 22-byte user info per child) | 0 | 0 | 0 | 0 |
| menu / mode flow and save-record blocks (0x0205db50-0x0205f700) | 0 | 0 | 0 | 0 |
| menu / session-state manager (0x020b24f8-0x020b3728) | 1 | 0 | 0 | 0 |
| menu screens, kart motion and track progress (t016d review, haiku-t016) | 35 | 0 | 0 | 0 |
| menu/choice screens, screen constructors and text helpers (t016e review, batch 2, haiku-t016) | 56 | 0 | 0 | 0 |
| message/dialog box setup (ui manager at *0x0217d3d0, arm9_main 0x2125fd4-0x2126700) | 0 | 0 | 0 | 0 |
| mic analysis helpers / crc / bit tools | 0 | 0 | 0 | 0 |
| minimap marker lists, player order list, and the "choises" choice menu (0x020c7d8c-0x020cae24) | 0 | 0 | 0 | 0 |
| misc | 66 | 18 | 0 | 0 |
| mission enemy actors (0x0218a3fc..0x0218b8xx) | 0 | 0 | 0 | 0 |
| model wrapper / class allocation helpers, berry & cream (cream cake), bound, sun (sub_209bd90-209d84c) | 3 | 1 | 0 | 0 |
| music/stream player state, event queue and pools (0x0210d570-0x0210e4c8) | 1 | 3 | 0 | 0 |
| nitrosdk fs (file system) library | 0 | 0 | 0 | 0 |
| nitrosdk os: interrupts, threads, sprintf | 0 | 1 | 0 | 0 |
| npc and traffic presentation (codex; 2026-10-08) | 12 | 0 | 0 | 0 |
| online (Wi-Fi Connection play) | 0 | 0 | 0 | 0 |
| race | 11 | 0 | 0 | 0 |
| race configuration object 0x021759a0: setup, commit, cup progression (0x2043d10-0x2046648); profile slots at 0x0217a9e8 (+20/+24/+28) | 0 | 3 | 0 | 0 |
| race goal / results screen and race-start gp screen (0x020be950-0x020c53b0) | 0 | 0 | 0 | 0 |
| race hud graphics, icons and per-player hud elements (0x020b7fd8-0x020be930) | 1 | 0 | 0 | 0 |
| race results manager, finish handling, timers (0x0203d078-0x0203fed4) | 4 | 0 | 0 | 0 |
| race scene frame / fade / init (0x02061874-0x02063800) | 2 | 1 | 0 | 0 |
| race setup: random character/kart picks, results records | 2 | 0 | 0 | 0 |
| race start | 1 | 0 | 0 | 0 |
| race-mode state block, slot events and results panels (t016f review, batch 3, haiku-t016) | 46 | 0 | 0 | 0 |
| racer state handlers (t016 review, haiku-t016) | 9 | 0 | 0 | 0 |
| remaining work rows: emitters, cell-grid input handlers, layout loaders, kart physics (t016i review, batch 2, haiku-t016) | 32 | 0 | 0 | 0 |
| respawn | 1 | 0 | 0 | 0 |
| result rows, dialog and screen state ticks, soft-float 64-bit routines (t016g review, batch 2, haiku-t016) | 49 | 0 | 0 | 0 |
| results / ranking screen and its 2d asset loaders (0x020b3728-0x020b4b54) | 0 | 0 | 0 | 0 |
| rom archive callbacks, overlay loading (nitrosdk fs/overlay) | 0 | 0 | 0 | 0 |
| screen controllers: 2d menus and hud (t016 review, haiku-t016) | 12 | 0 | 0 | 0 |
| soft-float cores, os callbacks, printf/strtod family, small grid/hud helpers (t016g review, batch 3, haiku-t016) | 46 | 0 | 0 | 0 |
| software keyboard screen continued (resources keyboard_s_10key. / keyboard_s.; the screen above is this on-screen text/number keyboard) | 0 | 0 | 0 | 0 |
| sound | 168 | 7 | 0 | 0 |
| speed constants init (t016g review, haiku-t016) | 1 | 0 | 0 | 0 |
| sprite/tile drawing, text streams, soft-float, kart-linked model objects (t016f review, haiku-t016) | 52 | 0 | 0 | 0 |
| thunks, menu-result dispatchers, screen-mode guards, small state setters (t016h review, haiku-t016) | 69 | 0 | 0 | 0 |
| thwomp (dossun) | 0 | 0 | 0 | 0 |
| touch-screen course map (race_transfer_map) (0x020b4b98-0x020b7ee8) | 0 | 0 | 0 | 0 |
| traffic hit and recovery (codex, 2026-10-08) | 7 | 0 | 0 | 0 |
| unlock / save-record checks (menus; sub_2060440/sub_20603bc read cup records, sub_2056dec/2056e24 test/set unlock flags) | 0 | 0 | 0 | 0 |
| water surface effect (course water: water_efct, hyudoro/yoshi/town/beach/mini_stage3 water models) | 9 | 0 | 0 | 0 |
| wireless packet layer (uncertain: 16-node bitmask port/packet state machine, 104-byte per-node entries at +0x1d4) | 0 | 0 | 0 | 0 |