Files
psxrecomp/runtime
Matthew Stanley 101a0edb26 runtime: mmio_write8 handle byte writes to timer registers (Whoopee Camp freeze)
mmio_write8 routed byte writes for interrupts/SIO/DMA/MDEC/CDROM but fell through
to mmio_fatal for timers (0x1F801100..0x1F80112F) -- even though mmio_write16/32
already call timers_write. A guest `sb` to Timer 1 (0x1F801110) therefore halted
emulation at the Whoopee Camp logo. Byte stores to timer registers are valid HW
accesses; add the read-modify-write byte-lane path (mirrors the MDEC/DMA cases).

With this + the alias-rollup recompiler fix, native overlay execution is now
stable through boot: the boot advances PAST Whoopee Camp into the intro FMV with
native overlays running (no GP0 0xFE, no hang). Remaining FMV slowness is cache
COVERAGE (the hot FMV-driver code, e.g. 0x80083094, isn't compiled yet), not a
correctness fault.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 23:21:49 -07:00
..