diff options
author | SND\notaz_cp | 2011-03-09 22:30:50 +0000 |
---|---|---|
committer | notaz | 2011-03-10 01:47:04 +0200 |
commit | abbc1ca1f763c1f4aa46b60f3ea7dfb4bed3fb6f (patch) | |
tree | f92ca804daa8a5c692ad430afaf9258074889aeb | |
parent | 3e5353548dd510c805424878a1f0de1da7a44a0c (diff) | |
download | pcsx_rearmed-abbc1ca1f763c1f4aa46b60f3ea7dfb4bed3fb6f.tar.gz pcsx_rearmed-abbc1ca1f763c1f4aa46b60f3ea7dfb4bed3fb6f.tar.bz2 pcsx_rearmed-abbc1ca1f763c1f4aa46b60f3ea7dfb4bed3fb6f.zip |
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
-rw-r--r-- | libpcsxcore/psxinterpreter.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c index 3258743..f171205 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) { |