mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
774875dc8d
Mirrors the existing PSX_ICACHE / PSX_MMIO_WAIT runtime bisect gates. When
PSX_LOAD_DELAY=0, psx_cyc_load_timing() skips the entire load-delay interlock
(base/deps/cancel/lds/readmem charge) so psx_cyc_load_{word,half,byte} act as
plain reads, while leaving PSX_ENABLE_BLOCK_CYCLES on for everything else.
Bisect result (MMX6 cutscene->gameplay wedge): PSX_LOAD_DELAY=0 does NOT fix
the wedge -- boot instead hangs earlier at the intro story cutscene ("As for
the battle against Sigma"), gp0_draw frozen at 12692, and the cutscene
sub-state (0x800CD3F9) still advances to 6. Combined with the clock-agreement
evidence (native and Beetle both ~566K cyc/frame, <0.2% apart), the load-delay
interlock is largely exonerated as the cause of the early cutscene advance: the
wedge is a specific event/wait completing at a divergent cycle, not a global
per-instruction rate effect.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>