mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Adds Core/MIPS/InterpreterDispatch.cpp, the checked-in output of GenerateInterpreterDispatch() (see the previous commit), and hooks it into RunUntilFast() in MIPSTables.cpp in place of the old MIPSGetInstruction()-based table walk + indirect call through instr->interpret. The checked-with-breakpoints/memchecks path (RunUntilWithChecks) is untouched for now, since it inspects MIPSInstruction flags directly and correctness there matters most. Also fixes a real crash in headless.cpp found while testing this: cmdLineOptions.gpuBackend.value() would throw when unset (e.g. with --graphics=software), now uses value_or(). Verified with `test.py -g --cpu=interpreter --graphics=software`: 313/314 pass; the one failure (cpu/fpu/fpu) is a pre-existing interpreter-vs-JIT denormal (flush-to-zero) difference, confirmed to fail identically with the old table-walking dispatch, so unrelated to this change. Adds Tools/update-dispatcher.py to regenerate InterpreterDispatch.cpp from a built PPSSPPHeadless binary whenever the MIPSTables.cpp tables change. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_019SKhm9wKEQzRUsx9mTrrtQ