MARIO KART DSDECOMPILATION RESEARCH
Function maps / Research notes
Source: docs/FUNCTION_TABLE.md · Updated 2026-10-10

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