From 7d944ac8f5267cee1c52091257720c1525599c3a Mon Sep 17 00:00:00 2001 From: Date: Fri, 18 Dec 2015 21:20:10 -0500 Subject: [PATCH] [core] removed extra, unnecessary branch for the NORMAL case --- .../Project64-core/N64System/Interpreter/InterpreterCPU.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp b/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp index 3957d3420..266d01b2f 100644 --- a/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp +++ b/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp @@ -301,22 +301,20 @@ void CInterpreterCPU::ExecuteCPU() m_R4300i_Opcode[Opcode.op](); NextTimer -= CountPerOp; + PROGRAM_COUNTER += 4; switch (R4300iOp::m_NextInstruction) { case NORMAL: - PROGRAM_COUNTER += 4; break; case DELAY_SLOT: R4300iOp::m_NextInstruction = JUMP; - PROGRAM_COUNTER += 4; break; case PERMLOOP_DO_DELAY: R4300iOp::m_NextInstruction = PERMLOOP_DELAY_DONE; - PROGRAM_COUNTER += 4; break; case JUMP: { - bool CheckTimer = (JumpToLocation < PROGRAM_COUNTER || TestTimer); + bool CheckTimer = (JumpToLocation < PROGRAM_COUNTER - 4 || TestTimer); PROGRAM_COUNTER = JumpToLocation; R4300iOp::m_NextInstruction = NORMAL; if (CheckTimer)