Commit Graph

  • fc85d8b34d tooling: interp-path cycle ruler — emit cyc_observe from the dirty interp Matthew Stanley 2026-06-27 12:59:37 -07:00
  • 2df9b84b34 docs(timing): log GTE per-command stall + dirty-interp muldiv parity Matthew Stanley 2026-06-27 12:41:55 -07:00
  • ec1fd76b56 timing: faithful GTE (COP2) per-command completion-stall Matthew Stanley 2026-06-27 12:41:22 -07:00
  • 184d8fee3c docs(timing): log dirty-interp muldiv stall (backend parity) Matthew Stanley 2026-06-27 12:17:49 -07:00
  • 75d5d1a7cc timing: mult/div completion-stall in the dirty-RAM interpreter Matthew Stanley 2026-06-27 12:17:21 -07:00
  • 5b7ae52415 timing: faithful guest-cycle pad ACK — fixes load=4 boot wedge Matthew Stanley 2026-06-27 11:55:52 -07:00
  • 60fb6e2054 docs: root-cause the load=4 boot wedge — out-of-range shell handle from device timing Matthew Stanley 2026-06-27 01:14:34 -07:00
  • 8a2f01d79d timing: land oracle-accurate load wait-state = 4 (KNOWN: wedges Tomba 2 boot) Matthew Stanley 2026-06-27 01:08:00 -07:00
  • 2c22861702 docs(timing): record load-calibration finding + parked boot-wedge bug Matthew Stanley 2026-06-27 00:56:55 -07:00
  • 8b302465d9 timing: load wait-state — oracle value is 4, but PARK it (4 wedges Tomba 2 boot) Matthew Stanley 2026-06-27 00:56:34 -07:00
  • c02f9e5353 docs(timing): ruler #1 now exact (BIOS muldiv stall); next = I-cache fetch Matthew Stanley 2026-06-27 00:22:47 -07:00
  • 180b821fab feat(timing): BIOS emitter per-instruction mode + muldiv stall — ruler #1 now EXACT Matthew Stanley 2026-06-27 00:22:01 -07:00
  • eeb24bdc8f docs(timing): log ruler #2 closed + mult/div stall validated exact Matthew Stanley 2026-06-27 00:01:36 -07:00
  • a3e8f2818b feat(timing): faithful mult/div completion-stall + ruler #2 native half (validated EXACT) Matthew Stanley 2026-06-27 00:00:22 -07:00
  • 47bcfecb21 feat(timing): ruler #2 Beetle half live — synthetic boot disc + oracle component costs Matthew Stanley 2026-06-26 22:52:25 -07:00
  • 2b5ad88dc6 feat(timing): ruler #2 foundation — cycle micro-benchmark test ROM + universal block observe Matthew Stanley 2026-06-26 22:30:14 -07:00
  • 9cec60a30d feat(timing): BIOS-kernel cycle ruler + fix load double-count Matthew Stanley 2026-06-26 22:14:35 -07:00
  • 2b5e69fe8f feat(timing): two-anchor REGION mode for cyc_watch — validated stable gate Matthew Stanley 2026-06-26 21:18:26 -07:00
  • ee3588bc5c docs(timing): attribution finding — single-anchor Δ too coarse; need two-anchor region Matthew Stanley 2026-06-26 21:07:09 -07:00
  • e9da56ccd2 docs(timing): log Stage-2 #1a result (Δ 46->56) + attribute-before-stacking note Matthew Stanley 2026-06-26 21:00:12 -07:00
  • 2ef47bd388 feat(timing): Stage-2 #1a — data-load cost in psx_instr_base_cycles (Δ-validated) Matthew Stanley 2026-06-26 20:59:19 -07:00
  • 077ffa2104 docs(timing): Stage-2 plan (full HW cycle accuracy) + delta-validation method Matthew Stanley 2026-06-26 20:49:57 -07:00
  • ebf5698435 feat(timing): native<->Beetle cycle comparator (cyc_watch) — built + validated Matthew Stanley 2026-06-26 20:39:29 -07:00
  • 8958d512fd docs(accuracy): MDEC fix REVERTED (regressed FMV color) + lesson Matthew Stanley 2026-06-26 20:22:13 -07:00
  • 1d7ae91468 docs(accuracy): consolidate 5-axis research findings into burndown Matthew Stanley 2026-06-26 20:01:59 -07:00
  • edf3641a12 feat(timing): route BIOS emitter through single-source psx_instr_base_cycles Matthew Stanley 2026-06-26 19:56:20 -07:00
  • 54c10aa1bc docs(timing): Beetle guest-cycle clock validated (~565k/frame); native gross parity Matthew Stanley 2026-06-26 19:45:44 -07:00
  • 1e966a2d5d docs(timing): log P3 seam done + next-step (native<->Beetle cycle comparator) Matthew Stanley 2026-06-26 19:32:19 -07:00
  • 09a5d451d1 docs: full accuracy burndown across all axes (ACCURACY_BURNDOWN.md) Matthew Stanley 2026-06-26 19:30:22 -07:00
  • b00b81f5e9 feat(timing): single-source cycle-cost seam (psx_instr_base_cycles), identity Matthew Stanley 2026-06-26 19:20:20 -07:00
  • 607292044f docs(tomba2): cycle-cost model is transcribable from in-tree Beetle source Matthew Stanley 2026-06-26 19:11:32 -07:00
  • c90b6a34d4 docs(tomba2): record holistic cycle-model audit + next correctness steps Matthew Stanley 2026-06-26 18:35:15 -07:00
  • f9d50d7503 fix(tomba2): delay-slot cycle accounting -> Tomba 2 reaches the intro FMV Matthew Stanley 2026-06-26 18:24:16 -07:00
  • d7f84cb98b docs(tomba2): lock Task #3 precise-event-slicing design (ChatGPT-validated) Matthew Stanley 2026-06-26 15:15:32 -07:00
  • 2d915c3fa9 wip(tomba2): precise-IRQ-slicing groundwork — cycles_to_next_event + design spec Matthew Stanley 2026-06-26 15:04:25 -07:00
  • 80c33a8903 observability: capture CPU regs + full scratchpad in heartbeat, add spin-freeze wedge kind Matthew Stanley 2026-06-26 14:03:42 -07:00
  • 8ab24c5e62 wip(tomba2): ABI v8 check_interrupts_at + emitter charge-cycle work (pre-rebase snapshot) Matthew Stanley 2026-06-25 14:23:57 -07:00
  • 00aa9ec1a7 tomba2: Fix A pt2 - charge delay-slot cycle in dirty-interp Matthew Stanley 2026-06-24 10:57:16 -07:00
  • 1252c61c9d tools/divergence: persist the native-vs-interp first-divergence toolkit Matthew Stanley 2026-06-24 10:44:35 -07:00
  • c6f5193ac4 tomba2: first-divergence tooling + Fix A pt1 (overlay cycle accounting) Matthew Stanley 2026-06-24 10:36:22 -07:00
  • 77a1f8bd6b fix(recompiler): overlay in-function jal targets become alias entries (B/C) Matthew Stanley 2026-06-23 21:04:22 -07:00
  • 2b5c32d564 docs(tomba2): FMV freeze FIXED + verified (fail-closed entry guard) Matthew Stanley 2026-06-23 20:45:59 -07:00
  • 9bd056afb6 fix(overlay): fail-closed native entry guard — fixes Tomba 2 FMV freeze Matthew Stanley 2026-06-23 20:42:25 -07:00
  • ff714d1ee1 diag(overlay): confirm Tomba 2 FMV-freeze root cause (break range pollution) Matthew Stanley 2026-06-23 20:04:30 -07:00
  • 0acc6f2dbb feat(overlay): per-function native-disable for divergence bisection Matthew Stanley 2026-06-23 19:47:52 -07:00
  • e8ded2f306 docs(tomba2): root-cause the native-overlay FMV freeze (frame ~1823) Matthew Stanley 2026-06-23 19:09:24 -07:00
  • 8e60a419a9 docs(overlay-cache v2): interior-entry fragments IMPLEMENTED + runtime-stable Matthew Stanley 2026-06-23 16:43:13 -07:00
  • 04c89ef1fd overlay-cache v2: interior-entry "island" fragments for orphan DISPATCH_INTERIOR Matthew Stanley 2026-06-23 16:37:33 -07:00
  • a8a0b0da88 docs(overlay-cache v2): ChatGPT-validated plan — interior-entry "island" fragment Matthew Stanley 2026-06-23 16:21:03 -07:00
  • 17caf25dd5 docs(overlay-cache v2): host-recovery attempt reverted — needs compile isolation Matthew Stanley 2026-06-23 16:15:00 -07:00
  • e6bcdb57a3 docs(overlay-cache v2): session outcome — native stabilized; FMV-driver discovery wall Matthew Stanley 2026-06-23 16:01:25 -07:00
  • 101a0edb26 runtime: mmio_write8 handle byte writes to timer registers (Whoopee Camp freeze) Matthew Stanley 2026-06-23 15:48:35 -07:00
  • aab66e6699 docs(overlay-cache v2): record region_start fix + alias-keying divergence finding Matthew Stanley 2026-06-23 15:13:27 -07:00
  • 6b6575a373 overlay-cache: fix region_start walkback so overlay DLLs actually load Matthew Stanley 2026-06-23 14:44:10 -07:00
  • 7793bf5ac8 overlay-cache v2 P2: generation-gated dispatch validation Matthew Stanley 2026-06-23 13:58:05 -07:00
  • af6b8ccbd9 overlay-cache v2 P1: dedup builds by per-function identity, not region CRC Matthew Stanley 2026-06-23 13:54:20 -07:00
  • f89dadc22e docs: overlay cache v2 rearchitecture spec Matthew Stanley 2026-06-23 13:46:39 -07:00
  • 84696570d0 feat(launcher): [controller] lock_mode — hide pad-mode selector, force one mode Matthew Stanley 2026-06-23 11:20:21 -07:00
  • aeef4b554e fix(sio): plain digital pad ignores DualShock config commands (Tomba 2 menu input) Matthew Stanley 2026-06-23 09:57:47 -07:00
  • 4f12f14bc7 fix(tomba2): interpret overlaid compiled-entry pages (loader -> title screen) Matthew Stanley 2026-06-23 01:19:46 -07:00
  • 2e2795f147 fix(tomba2): route sub-FLOOR boot-text overlays through local-dirty-flow Matthew Stanley 2026-06-23 00:39:24 -07:00
  • 1a65b5c92a docs: CORRECTION — CD streaming is NOT the immediate blocker (directory traversal works) Matthew Stanley 2026-06-22 21:42:26 -07:00
  • ae31aacfb3 fix(cdrom trace, Rule15): gate per-word DMA-read 'D' trace behind PSX_CD_DMA_TRACE (default off) Matthew Stanley 2026-06-22 21:41:42 -07:00
  • 7ea75991a8 docs: CONFIRMED root cause — incomplete CD STREAMING path (Tomba 2 is first to exercise it) Matthew Stanley 2026-06-22 21:29:09 -07:00
  • b6fbf24c14 docs: directory parsed perfectly + NEW clue — recomp's CD-DA/XA splash-audio streaming fails (empty reads) Matthew Stanley 2026-06-22 21:19:13 -07:00
  • a88959c1e0 docs: sub-case (b) confirmed — directory read is VALID, it's a file-search/load-decision divergence Matthew Stanley 2026-06-22 21:10:08 -07:00
  • 588bb679fc docs: recomp NEVER issues the 0x107xxx CD read — code-path/task divergence in the load decision Matthew Stanley 2026-06-22 20:49:54 -07:00
  • bc7faba43d docs: loader hunt result — splash-advance code is a LATE CD DMA load the recomp never gets Matthew Stanley 2026-06-22 20:34:26 -07:00
  • d388767901 docs: ROOT CAUSE of splash softlock — missing splash-advance code at 0x80107xxx Matthew Stanley 2026-06-22 20:24:54 -07:00
  • bc0737aec9 docs: splash->attract plan (Recomp GPT reverse-writer-hunt) + execution findings Matthew Stanley 2026-06-22 20:07:06 -07:00
  • 28d5719ed7 docs: splash->attract is first-divergence (CD RULED OUT) + ~17k crash note Matthew Stanley 2026-06-22 19:20:56 -07:00
  • 09398645b9 docs: frame-1997 FIXED status + new frontier (splash->attract divergence) Matthew Stanley 2026-06-22 18:55:54 -07:00
  • 3ed6646a24 fix(tomba2): frame-1997 exit — restore committed PC after a game-RFE longjmp at block-return pumps Matthew Stanley 2026-06-22 18:44:12 -07:00
  • 9940ab2c0f wip(tomba2 exc): observability + corrected frame-1997 diagnosis (longjmp-to-outermost, NOT async) Matthew Stanley 2026-06-22 18:23:09 -07:00
  • 845b39489a docs: Recomp GPT consult response — Option A dual-mode EPC design + safety rails Matthew Stanley 2026-06-22 17:52:04 -07:00
  • 8037fe5c40 docs: confirm frame-1997 root cause with live data (EPC sentinel in TCB) + fix design + consult package Matthew Stanley 2026-06-22 17:38:15 -07:00
  • e95371527c docs: pin Tomba 2 frame-1997 frontier (game HookEntryInt + ReturnFromException vs EPC-sentinel model) Matthew Stanley 2026-06-22 16:43:52 -07:00
  • ccbdcad653 diag: PSX_EXIT_HALT — halt-and-serve on abnormal top-level PC=0 exit Matthew Stanley 2026-06-22 16:43:02 -07:00
  • 8d8c42d7d7 gitignore: recompiler/build-t2 (Tomba 2 build dir) Matthew Stanley 2026-06-22 16:27:28 -07:00
  • 90bb5f95f7 interrupts: preserve dispatch-depth across the async exception handler Matthew Stanley 2026-06-22 15:49:35 -07:00
  • 2acd2d79ef dirty-interp: overlay-region floor = THIS game's text end (Tomba 2 splash fix) Matthew Stanley 2026-06-22 15:49:24 -07:00
  • bb73e4810c docs: CORRECTION - tripwire refutes exception theory (it's bail/flatten stack) Matthew Stanley 2026-06-22 14:55:07 -07:00
  • 35b98086b2 heartbeat: $ra->1 tripwire + first-bail exception context (confirm probe) Matthew Stanley 2026-06-22 14:54:32 -07:00
  • cc544fdae9 docs: ground Tomba 2 freeze root cause (overlay/async-interrupt + EPC overload) Matthew Stanley 2026-06-22 14:40:52 -07:00
  • 90585eafab docs: Tomba 2 Whoopee-Camp freeze root cause (wild-call-contract bail storm) Matthew Stanley 2026-06-22 14:22:36 -07:00
  • b2cfdac236 fntrace: capture dispatch-level bail source (runtime-only, no BIOS regen) Matthew Stanley 2026-06-22 14:09:44 -07:00
  • 732e093ab2 heartbeat: IRQ raise/deliver/ack + bail-source telemetry (Tomba 2 spin diag) Matthew Stanley 2026-06-22 13:41:28 -07:00
  • d88e9eadbc heartbeat: always-on Timer1/RootCounter1 telemetry (Tomba 2 RCnt-wait diag) Matthew Stanley 2026-06-22 12:50:14 -07:00
  • 531dc55707 dirty-interp: pump interrupts for low-RAM kernel loops (Tomba 2 softlock) Matthew Stanley 2026-06-22 10:25:02 -07:00
  • 949b6b7c9d cdrom: implement SeekP(0x16) + Play(0x03); stop DMA-read trace flood Matthew Stanley 2026-06-22 00:35:40 -07:00
  • 5c64071155 cdrom: multi-track .cue TOC support (GetTN/GetTD report real tracks) Matthew Stanley 2026-06-21 23:31:14 -07:00
  • 2ff21c4aff build+test: harden cg-tag against drift + codegen guard regression test Matthew Stanley 2026-06-25 22:54:36 -07:00
  • 4cba69526d fix(recompiler): overlay in-function jal targets become alias entries (B/C) Matthew Stanley 2026-06-23 21:04:22 -07:00
  • 598d1dd551 Revert "recompiler: roll back AE pre-prologue function-start discovery (Tomba regression)" Matthew Stanley 2026-06-25 21:29:35 -07:00
  • 4d50c2214a overlay: fail-closed native entry guard (port to master) — fixes the native-overlay blue-screen wedge Matthew Stanley 2026-06-23 20:42:25 -07:00
  • b9e38416ca recompiler: roll back AE pre-prologue function-start discovery (Tomba regression) Matthew Stanley 2026-06-25 19:53:05 -07:00
  • e7f7fb6cf0 overlay: unify cache read/write location + fix missing ws_cull symbol in DLLs Matthew Stanley 2026-06-25 18:57:57 -07:00
  • 1915b5c1bf input: enable SDL HIDAPI Xbox driver so Xbox One/Series pads work Matthew Stanley 2026-06-25 13:21:38 -07:00
  • c2a3f6ad79 overlay: add tcc tier (toolchain-free fallback) replacing sljit; extract overlay_backend Matthew Stanley 2026-06-25 13:10:57 -07:00
  • 71d6550eef overlay: off-thread sljit compile worker + observability; disable sljit tier by default (emitter bug) Matthew Stanley 2026-06-25 10:13:53 -07:00