diff --git a/pcsx2/x86/iCOP0.cpp b/pcsx2/x86/iCOP0.cpp index 7ac110ed4ceb1..e27ba889a726a 100644 --- a/pcsx2/x86/iCOP0.cpp +++ b/pcsx2/x86/iCOP0.cpp @@ -140,9 +140,6 @@ void recMFC0() xMOV(ptr32[&cpuRegs.cycle], ecx); // update cycles xMOV(eax, ecx); xSUB(eax, ptr[&cpuRegs.lastCOP0Cycle]); - u8* skipInc = JNZ8(0); - xINC(eax); - x86SetJ8(skipInc); xADD(ptr[&cpuRegs.CP0.n.Count], eax); xMOV(ptr[&cpuRegs.lastCOP0Cycle], ecx); diff --git a/pcsx2/x86/ix86-32/iR5900.cpp b/pcsx2/x86/ix86-32/iR5900.cpp index fbf71900927d7..eb215d3d63a8c 100644 --- a/pcsx2/x86/ix86-32/iR5900.cpp +++ b/pcsx2/x86/ix86-32/iR5900.cpp @@ -1335,9 +1335,10 @@ u32 scaleblockcycles_clear() DevCon.WriteLn(L"Unscaled overall: %d, scaled overall: %d, relative EE clock speed: %d %%", unscaled_overall, scaled_overall, static_cast(100 * ratio)); #endif - s8 cyclerate = EmuConfig.Speedhacks.EECycleRate; + const s8 cyclerate = EmuConfig.Speedhacks.EECycleRate; + const bool lowcycles = (s_nBlockCycles <= 40); - if (cyclerate > 1) + if (!lowcycles && cyclerate > 1) { s_nBlockCycles &= (0x1 << (cyclerate + 2)) - 1; }