-void psxException(u32 code, u32 bd) {
- #ifdef ICACHE_EMULATION
- /* Dynarecs may use this codepath and crash as a result.
- * This should only be used for the interpreter. - Gameblabla
- * */
- if (Config.icache_emulation && Config.Cpu == CPU_INTERPRETER)
- {
- psxRegs.code = SWAPu32(*Read_ICache(psxRegs.pc));
- }
- else
- #endif
- {
- psxRegs.code = PSXMu32(psxRegs.pc);
- }
+// cp0 is passed separately for lightrec to be less messy
+void psxException(u32 cause, u32 bd, psxCP0Regs *cp0) {
+ u32 opcode = intFakeFetch(psxRegs.pc);