EE: Cyclerate > 1 caused some cycles to be lost

This commit is contained in:
refractionpcsx2 2021-10-19 20:09:07 +01:00
parent 6746578120
commit 5011b9ead5
1 changed files with 10 additions and 1 deletions

View File

@ -1109,7 +1109,16 @@ u32 scaleblockcycles_clear()
DevCon.WriteLn(L"Unscaled overall: %d, scaled overall: %d, relative EE clock speed: %d %%",
unscaled_overall, scaled_overall, static_cast<int>(100 * ratio));
#endif
s_nBlockCycles &= 0x7;
s8 cyclerate = EmuConfig.Speedhacks.EECycleRate;
if (cyclerate > 1)
{
s_nBlockCycles &= (0x1 << (cyclerate + 2)) - 1;
}
else
{
s_nBlockCycles &= 0x7;
}
return scaled;
}