Generated by node tools/progress.mjs on 2026-10-08 from matched.tsv. Don't edit by hand. node tools/check_all.mjs re-verifies every counted function byte-for-byte against the retail executable.
94.3% of game code is byte-exact: 453,780 / 481,452 bytes, 1179 / 1186 functions.
██████████████████████████████████████░░ 94.3% of bytes
████████████████████████████████████████ 99.4% of functions
Scope: retail SLUS_008.60 game code, 0x80010000–0x800858ac (1186 functions from functions.tsv). The Psy-Q libraries linked after it are out of scope because the runtime/HLE provides them.
| date | commit | functions | bytes | % of bytes |
|---|---|---|---|---|
| 2026-09-29 | 395ab4a | 318 | 35,028 | 7.3% |
| 2026-10-07 | 5e39939+ | 1163 | 393,672 | 81.8% |
| 2026-10-07 | 1e78824+ | 1164 | 401,144 | 83.3% |
| 2026-10-07 | 1e78824+ | 1165 | 410,164 | 85.2% |
| 2026-10-07 | c5999c0+ | 1166 | 410,544 | 85.3% |
| 2026-10-07 | c5999c0+ | 1167 | 411,376 | 85.4% |
| 2026-10-07 | c5999c0+ | 1168 | 417,944 | 86.8% |
| 2026-10-07 | c5999c0+ | 1172 | 432,476 | 89.8% |
| 2026-10-07 | 17b9a21+ | 1173 | 432,780 | 89.9% |
| 2026-10-07 | 17b9a21+ | 1174 | 433,876 | 90.1% |
| 2026-10-07 | fbf10e2+ | 1175 | 436,480 | 90.7% |
| 2026-10-07 | de8531b+ | 1176 | 439,304 | 91.2% |
| 2026-10-07 | 09b6a14+ | 1177 | 447,788 | 93.0% |
| 2026-10-08 | 1cf9d9b+ | 1178 | 448,840 | 93.2% |
| 2026-10-08 | 1cf9d9b+ | 1179 | 453,780 | 94.3% |
(166 points in total; full series in progress.csv)
| function size | functions exact | bytes exact | |
|---|---|---|---|
| 0–100 B | 500 / 500 | 26.4 KB / 26.4 KB (100.0%) | ████████████████████ |
| 101–300 B | 366 / 367 | 64.8 KB / 65.0 KB (99.6%) | ████████████████████ |
| 301–600 B | 142 / 143 | 59.1 KB / 59.7 KB (99.0%) | ████████████████████ |
| 601–1000 B | 72 / 73 | 54.8 KB / 55.4 KB (98.9%) | ████████████████████ |
| 1001–2000 B | 63 / 63 | 84.8 KB / 84.8 KB (100.0%) | ████████████████████ |
| > 2000 B | 36 / 40 | 153.3 KB / 178.9 KB (85.7%) | █████████████████░░░ |
Module = source file from the demo's debug symbols. Unnamed functions (no demo symbol) are assigned to the preceding named function's module, since object files link contiguously. Treat modules with many unnamed members as approximate: they're often THPS1-only code with no demo counterpart.
| module | functions | unnamed | bytes | % of bytes | |
|---|---|---|---|---|---|
| CREDITS | 90 / 90 | 89 | 65.9 KB / 65.9 KB | 100.0% | ████████████ |
| PHYSICS | 61 / 63 | 49 | 49.7 KB / 58.1 KB | 85.5% | ██████████░░ |
| BIT | 102 / 103 | 61 | 16.7 KB / 28.5 KB | 58.5% | ███████░░░░░ |
| FRONT | 46 / 46 | 19 | 28.4 KB / 28.4 KB | 100.0% | ████████████ |
| CAMERA | 30 / 31 | 24 | 14.7 KB / 20.0 KB | 73.3% | █████████░░░ |
| SHELLUTILS | 67 / 67 | 53 | 19.9 KB / 19.9 KB | 100.0% | ████████████ |
| COMPETITION | 27 / 27 | 22 | 13.3 KB / 13.3 KB | 100.0% | ████████████ |
| TRIG | 34 / 34 | 12 | 11.9 KB / 11.9 KB | 100.0% | ████████████ |
| MAIN | 19 / 19 | 15 | 11.5 KB / 11.5 KB | 100.0% | ████████████ |
| VIDEO | 44 / 44 | 23 | 10.9 KB / 10.9 KB | 100.0% | ████████████ |
| BADDY | 20 / 20 | 12 | 10.6 KB / 10.6 KB | 100.0% | ████████████ |
| PANEL | 33 / 33 | 27 | 10.0 KB / 10.0 KB | 100.0% | ████████████ |
| PRE | 15 / 15 | 12 | 9.9 KB / 9.9 KB | 100.0% | ████████████ |
| M3DCOLIJ | 10 / 10 | 6 | 9.9 KB / 9.9 KB | 100.0% | ████████████ |
| RFRONT | 19 / 19 | 12 | 9.8 KB / 9.8 KB | 100.0% | ████████████ |
| SHATTER | 25 / 25 | 19 | 9.0 KB / 9.0 KB | 100.0% | ████████████ |
| PLATFORM | 13 / 13 | 6 | 8.8 KB / 8.8 KB | 100.0% | ████████████ |
| MESS | 41 / 41 | 24 | 8.2 KB / 8.2 KB | 100.0% | ████████████ |
| UTILS | 37 / 37 | 18 | 7.5 KB / 7.5 KB | 100.0% | ████████████ |
| SPOOL | 28 / 28 | 11 | 6.6 KB / 6.6 KB | 100.0% | ████████████ |
| TRICKOB | 16 / 16 | 14 | 6.5 KB / 6.5 KB | 100.0% | ████████████ |
| CARD | 21 / 22 | 8 | 5.2 KB / 5.5 KB | 95.1% | ███████████░ |
| PACK | 15 / 15 | 5 | 5.5 KB / 5.5 KB | 100.0% | ████████████ |
| OB | 37 / 37 | 23 | 5.4 KB / 5.4 KB | 100.0% | ████████████ |
| M3DZONE | 4 / 4 | 3 | 5.1 KB / 5.1 KB | 100.0% | ████████████ |
| M3D | 14 / 14 | 9 | 5.0 KB / 5.0 KB | 100.0% | ████████████ |
| PAD | 19 / 19 | 8 | 4.8 KB / 4.8 KB | 100.0% | ████████████ |
| MECH | 24 / 24 | 16 | 4.3 KB / 4.3 KB | 100.0% | ████████████ |
| M3DELIPS | 2 / 2 | 0 | 4.2 KB / 4.2 KB | 100.0% | ████████████ |
| CAR | 12 / 12 | 10 | 4.2 KB / 4.2 KB | 100.0% | ████████████ |
| POWERUP | 15 / 15 | 11 | 4.1 KB / 4.1 KB | 100.0% | ████████████ |
| M3DINIT | 6 / 6 | 3 | 3.8 KB / 3.8 KB | 100.0% | ████████████ |
| M3DUTILS | 8 / 8 | 1 | 3.7 KB / 3.7 KB | 100.0% | ████████████ |
| GAMEFMV | 15 / 15 | 8 | 3.6 KB / 3.6 KB | 100.0% | ████████████ |
| TAPES | 8 / 8 | 3 | 3.4 KB / 3.4 KB | 100.0% | ████████████ |
| TRICKTIPS | 9 / 9 | 7 | 3.4 KB / 3.4 KB | 100.0% | ████████████ |
| MEM | 15 / 15 | 12 | 2.9 KB / 2.9 KB | 100.0% | ████████████ |
| CAREER | 12 / 12 | 10 | 2.8 KB / 2.8 KB | 100.0% | ████████████ |
| QUAT | 5 / 5 | 4 | 2.8 KB / 2.8 KB | 100.0% | ████████████ |
| FLASH | 8 / 8 | 5 | 2.7 KB / 2.7 KB | 100.0% | ████████████ |
| SFX | 20 / 20 | 12 | 2.7 KB / 2.7 KB | 100.0% | ████████████ |
| PAL | 17 / 17 | 10 | 2.4 KB / 2.4 KB | 100.0% | ████████████ |
| VECTOR | 30 / 30 | 2 | 2.3 KB / 2.3 KB | 100.0% | ████████████ |
| EXP | 9 / 10 | 8 | 1.6 KB / 2.2 KB | 74.2% | █████████░░░ |
| DECOMP | 2 / 2 | 1 | 2.2 KB / 2.2 KB | 100.0% | ████████████ |
| SMOKE | 4 / 4 | 1 | 2.2 KB / 2.2 KB | 100.0% | ████████████ |
| CAMPT | 2 / 2 | 1 | 1.8 KB / 1.8 KB | 100.0% | ████████████ |
| SHELL | 10 / 10 | 9 | 1.7 KB / 1.7 KB | 100.0% | ████████████ |
| FONT | 8 / 8 | 3 | 1.7 KB / 1.7 KB | 100.0% | ████████████ |
| FILEIO | 4 / 5 | 4 | 1.1 KB / 1.7 KB | 64.7% | ████████░░░░ |
| CROWD | 7 / 7 | 6 | 1.6 KB / 1.6 KB | 100.0% | ████████████ |
| INIT | 12 / 12 | 10 | 1.5 KB / 1.5 KB | 100.0% | ████████████ |
| BIT2 | 8 / 8 | 4 | 1.2 KB / 1.2 KB | 100.0% | ████████████ |
| MEDALS | 8 / 8 | 6 | 1.0 KB / 1.0 KB | 100.0% | ████████████ |
| MENU | 4 / 4 | 4 | 820 B / 820 B | 100.0% | ████████████ |
| BACKGRND | 5 / 5 | 0 | 452 B / 452 B | 100.0% | ████████████ |
| REDBOOK | 2 / 2 | 0 | 128 B / 128 B | 100.0% | ████████████ |
| SCREENTOOLS | 1 / 1 | 0 | 96 B / 96 B | 100.0% | ████████████ |
From nearmiss.tsv (the score is the better of positional and alignment-aware).
| function | size | score | source |
|---|---|---|---|
| CBruce::DoOnGroundPhysics(void) | 5664 | 1413/1416 (99.8%) | src/physics/doonground.cpp |
| FUN_8004f000 | 588 | 146/147 (99.3%) | src/unnamed/8004f000.c |
| CCamera::ReactToCollision(void) | 5464 | 1355/1366 (99.2%) | src/camera/reacttocollision.cpp |
| FUN_8002ab20 | 12120 | 2995/3030 (98.8%) | src/bit/display.cpp |
| FileIO_Open(char const *) | 620 | 153/155 (98.7%) | src/fileio/open.cpp |
| Card_GetDirAndFreeBlocks(int, int) | 276 | 68/69 (98.6%) | src/card/getdirandfreeblocks.cpp |
| CBruce::HandleStickToRail(void) | 2940 | 705/735 (95.9%) | src/physics/handlesticktorail.cpp |
| function | module | size | attempt |
|---|---|---|---|
| FUN_8002ab20 (0x8002ab20) | BIT (inferred) | 11.8 KB | 2995/3030 |
| CBruce::DoOnGroundPhysics(void) (0x800347a8) | PHYSICS (inferred) | 5.5 KB | 1413/1416 |
| CCamera::ReactToCollision(void) (0x80078f3c) | CAMERA (inferred) | 5.3 KB | 1355/1366 |
| CBruce::HandleStickToRail(void) (0x8003058c) | PHYSICS (inferred) | 2.9 KB | 705/735 |
| FileIO_Open(char const *) (0x8004c8a4) | FILEIO (inferred) | 620 B | 153/155 |
| FUN_8004f000 (0x8004f000) | EXP (inferred) | 588 B | 146/147 |
| Card_GetDirAndFreeBlocks(int, int) (0x80015164) | CARD | 276 B | 68/69 |