[{"timestamp":"2026-11-15T05:07:40Z","commit_sha":"d113ca789b75e1440fa7216e9b10223731ccd177","commit_message":"Native engine: a frame-loop driver with save states and rewind (default)\n\nWithout fibers: per field the hand-written NMI handler, one turn of the main\nloop (MainLoopTurn, split with ResetBootAll from the Reset handler in both\nreset.c files), then the field with each raster IRQ's handler where the\nbeam latches it. No C runs between fields, so the machine registers are\nkept in g_cpu and the framework's snapshots cover everything: a state saved\nin a race and reloaded replays 300 frames with identical WRAM, VRAM, CGRAM\nand OAM. BUNBUN_NATIVE=2 keeps the fiber driver (interrupts mid-routine).\nVerified boot to the final with every character; Gen A regression 0/163.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":100,"total_code":27975,"matched_code":27975,"matched_code_percent":100,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":406,"matched_functions":406,"matched_functions_percent":100,"complete_code":27975,"complete_code_percent":100,"complete_data":0,"complete_data_percent":0,"total_units":2,"complete_units":2}},{"timestamp":"2026-11-15T04:58:28Z","commit_sha":"086343331d2175749021e9122d7b7516ef4f0325","commit_message":"Native engine for Stadiums 1-2 too; the port's own changes as hooks in the C\n\nGen A builds the Reset handler, the game-mode script and the sound uploads\nfrom c/hand/s1 and gets its address table, so both executables can run\nentirely from the decompiled C (launcher Game > Engine). What the recompiled\nport does in hle_funcs is now asked of the port from the hand-written C\n(c/hand/s1/port.h, the port_* functions in c/hand/s4/roster.h; port_rom.c and\nroster_rom.c do nothing for the difftest): the end screen's Start restarts the\nbroadcast hour, the credits' Start resets the console (native mode starts\nits fibers over), LoadCourse applies custom and Stadium 1-2 courses.\nport_hand.py carries the hooks to S2/S3.\n\nVerified: Gen A native boot, player select, course card, free run; Gen B\nnative jump contest; hooked routines pass difftest on all four dumps;\nrecompiled regressions unchanged (Gen A 0/163, Gen B speed digits only).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":100,"total_code":27975,"matched_code":27975,"matched_code_percent":100,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":406,"matched_functions":406,"matched_functions_percent":100,"complete_code":27975,"complete_code_percent":100,"complete_data":0,"complete_data_percent":0,"total_units":2,"complete_units":2}},{"timestamp":"2026-11-15T04:43:38Z","commit_sha":"f699b0158fa0544b4e97519722d75ffdc8cabfc7","commit_message":"Native engine: the Stadium 3-4 game runs from the decompiled C alone\n\nport/src/native_driver.c runs the hand-written Reset handler (boot, then a\nmain loop frame per NMI) on a fiber, with the NMI and IRQ handlers on fibers\nstacked above it when the hardware raises them. Every bus access the C makes\ncharges the CPU clock and syncs the beam before hardware registers, so the\nsound CPU handshakes and the NMI wait work as written; at the slice deadline\nthe running fiber yields and the driver runs the field like the framework's\nbeam driver (NMI at V=225, raster IRQs where they latch, the raster journal).\nJump tables dispatch through a table from hand.txt (tools/hand_table.py);\nCALL() calls the C directly. pull8 now reads before moving S, so an\ninterrupt taken during the access cannot overwrite the byte being pulled.\n\nBUNBUN_NATIVE=1 or launcher Game > Engine > Native. Verified from boot\nthrough the player select, free run, results and the final with every\ncharacter; recompiled mode unchanged (Gen B regressions: speed digits only;\nGen A 0 of 163 frames different).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":100,"total_code":27975,"matched_code":27975,"matched_code_percent":100,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":406,"matched_functions":406,"matched_functions_percent":100,"complete_code":27975,"complete_code_percent":100,"complete_data":0,"complete_data_percent":0,"total_units":2,"complete_units":2}},{"timestamp":"2026-11-15T03:55:42Z","commit_sha":"a6a489d8bb2210728b5be70295c9861d936ba2ca","commit_message":"ByteMatch: C progress reports for Stadiums 2 and 3 (both 100%)\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":100,"total_code":27975,"matched_code":27975,"matched_code_percent":100,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":406,"matched_functions":406,"matched_functions_percent":100,"complete_code":27975,"complete_code_percent":100,"complete_data":0,"complete_data_percent":0,"total_units":2,"complete_units":2}}]