mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-27 10:38:46 -04:00
8b302465d9
Calibrated the main-RAM load wait-state against the Beetle oracle via ruler #2: a load measures +5 over baseline = base 1 + 4 (vs the old DuckStation-derived 6). With memory.c=4 the ruler load matches Beetle EXACTLY (+5; load2 +10 vs +11, the off-by-1 being Beetle's stateful per-load ReadFudge a flat charge can't capture). HOWEVER memory.c=4 DETERMINISTICALLY WEDGES Tomba 2's BIOS-shell boot — pc=0 / exception at shell pc 0xBFC2CE64 (epc 0x80000048), reproducible at identical total_checks across restarts. The faster-but-accurate load cost exposes a timing-sensitivity in a shell loop (a real bug — likely incomplete device timing the faster CPU now outruns). A non-booting vehicle blocks FMV + ruler #1 validation, so the value stays 6 to keep the boot live. The accurate 4 is PARKED behind that wedge: root-cause the shell pc=0 first, then land 4. Documented in the memory.c comment + ACCURACY_BURNDOWN. Net code change is the documentation (value unchanged at 6); the finding is the deliverable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>