mirror of https://github.com/PCSX2/pcsx2.git
Added a check for NOPs in the eerec. Seems like "SLL" and "NOP" share the same opcode table entry :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2598 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
4b4cdf595f
commit
2edc495520
|
@ -1221,9 +1221,16 @@ void recompileNextInstruction(int delayslot)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//If the COP0 DIE bit is disabled, double the cycles. Happens rarely.
|
// Check for NOP
|
||||||
s_nBlockCycles += opcode.cycles * (2 - ((cpuRegs.CP0.n.Config >> 18) & 0x1));
|
if (cpuRegs.code == 0x00000000) {
|
||||||
opcode.recompile();
|
// Note: Tests on a ps2 suggested more like 5 cycles for a NOP. But there's many factors in this..
|
||||||
|
s_nBlockCycles +=9 * (2 - ((cpuRegs.CP0.n.Config >> 18) & 0x1));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//If the COP0 DIE bit is disabled, cycles should be doubled.
|
||||||
|
s_nBlockCycles += opcode.cycles * (2 - ((cpuRegs.CP0.n.Config >> 18) & 0x1));
|
||||||
|
opcode.recompile();
|
||||||
|
}
|
||||||
|
|
||||||
if( !delayslot ) {
|
if( !delayslot ) {
|
||||||
if( s_bFlushReg ) {
|
if( s_bFlushReg ) {
|
||||||
|
|
Loading…
Reference in New Issue