X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fpsxinterpreter.c;h=e3c5baf44b494267327e076e95a62adfe9b68132;hb=5c8119b8680a38d4571b8083a2475d3d4649b983;hp=e212d8a9989babefcd909a5204212e279eefdfdb;hpb=a5cd72d0e598f037fd9d9f23948af5b2fb06e2eb;p=pcsx_rearmed.git diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c index e212d8a9..e3c5baf4 100644 --- a/libpcsxcore/psxinterpreter.c +++ b/libpcsxcore/psxinterpreter.c @@ -112,7 +112,8 @@ static void intException(psxRegisters *regs, u32 pc, u32 cause) if (cause != 0x20) { //FILE *f = fopen("/tmp/psx_ram.bin", "wb"); //fwrite(psxM, 1, 0x200000, f); fclose(f); - log_unhandled("exception %08x @%08x\n", cause, pc); + log_unhandled("exception %08x @%08x ra=%08x\n", + cause, pc, regs->GPR.n.ra); } dloadFlush(regs); regs->pc = pc; @@ -1117,7 +1118,9 @@ OP(psxHLE) { psxSWCx(regs_, code); return; } + dloadFlush(regs_); psxHLEt[hleCode](); + branchSeen = 1; } static void (INT_ATTR *psxBSC[64])(psxRegisters *regs_, u32 code) = { @@ -1340,6 +1343,7 @@ static void intShutdown() { } // single step (may do several ops in case of a branch or load delay) +// called by asm/dynarec void execI(psxRegisters *regs) { do { execIbp(psxMemRLUT, regs);