mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 18:25:35 -04:00
e5aea83496
One batch widening to cover most remaining overlay instruction classes; validated end-to-end via the live differential rather than per-op. - jr rX (computed / jump tables): CTRL_TAILJUMP — capture the target before the delay slot, then cpu->pc = target and return; the dispatch loop re-dispatches (matches the interpreter's jr). jr $ra stays the clean- return terminator. (A terminator-less tail-dispatch fragment still declines — safe.) - GTE/COP2: MFC2/CFC2/MTC2/CTC2/cmd (op 0x12), LWC2 (0x32), SWC2 (0x3A) via psx_sljit_cop2(), a runtime helper mirroring the interpreter exactly. - Unaligned mem: LWL/LWR/SWL/SWR via psx_sljit_memx(), likewise. - BLTZAL/BGEZAL: link $ra = pc+8 before the delay slot, then branch. Helper-emitted classes get parity by construction (the helper IS the interpreter's code). Harness 66/66 (regression); runtime builds clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>