summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-03-09 22:30:50 +0000
committerSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-03-09 22:30:50 +0000
commit1b70fa81feaca1d699357e99a5718df50f400b65 (patch)
tree87d40310a473b11652c6ca6497fd2cc2d258d635 /libpcsxcore
parent6fc02b8fdb424a77405bf90ed70947a1058b7aa3 (diff)
downloadpcsxr-1b70fa81feaca1d699357e99a5718df50f400b65.tar.gz
psxinterpreter: do interrupt test after doing target instruction
otherwise in case interrupt happens, target insn is executed twice, causing occasional glitches in Tekken 2. Also clear branch flag for it - it's not in delay slot. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@64369 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/psxinterpreter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c
index 398142cd..69d0061f 100644
--- a/libpcsxcore/psxinterpreter.c
+++ b/libpcsxcore/psxinterpreter.c
@@ -59,13 +59,13 @@ static void delayRead(int reg, u32 bpc) {
psxRegs.pc = bpc;
- psxBranchTest();
+ branch = 0;
psxRegs.GPR.r[reg] = rold;
execI(); // first branch opcode
psxRegs.GPR.r[reg] = rnew;
- branch = 0;
+ psxBranchTest();
}
static void delayWrite(int reg, u32 bpc) {