mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
8f2389211c
Closes the latent Rule-18 soundness hole: kernel-window static dispatch hits (RAM [0x500,0x8500), the BIOS's boot-time ROM copy) now require the live RAM bytes of the function's full reachable extent to byte-match the ROM source (lazy verify, cached, precisely invalidated on writes); patched bodies divert to the faithful interpreter. Emitter ships psx_bios_kernel_bodies[] (499 entries); runtime guard in memory.c; TCP kernel_bless observability; PSX_KERNEL_BLESS=0 A/B switch. USER-VALIDATED on Tomba (SCUS-94236): multiple play runs, LLE + HLE boots, pads/menus/events, title 1.00x / village 0.92x parity; 208-214/219 kernel functions verified clean, the 5 mismatches (runtime-patched pad-driver family) faithfully interpreted as before. NOTE: rolls the codegen hash — regen BIOS+game generated C and recompile overlay shards with a same-tree recompiler on each title's next fw bump (the overlay loader fail-closes loudly on tag mismatch). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>