mirror of https://github.com/PCSX2/pcsx2.git
Disable Interrupt is now recompiled, thanks to pseudonym :p
This is a significant speedup in Suikoden 3 menu's. And any other obscure game that might do that a lot :p git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2177 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
8a9582f73b
commit
e2933b8429
|
@ -105,14 +105,24 @@ void recEI()
|
||||||
|
|
||||||
void recDI()
|
void recDI()
|
||||||
{
|
{
|
||||||
// No need to branch after disabling interrupts...
|
//// No need to branch after disabling interrupts...
|
||||||
|
|
||||||
iFlushCall(0);
|
//iFlushCall(0);
|
||||||
|
|
||||||
MOV32MtoR( EAX, (uptr)&cpuRegs.cycle );
|
//MOV32MtoR( EAX, (uptr)&cpuRegs.cycle );
|
||||||
MOV32RtoM( (uptr)&g_nextBranchCycle, EAX );
|
//MOV32RtoM( (uptr)&g_nextBranchCycle, EAX );
|
||||||
|
|
||||||
CALLFunc( (uptr)Interp::DI );
|
//CALLFunc( (uptr)Interp::DI );
|
||||||
|
|
||||||
|
xMOV(eax, ptr32[&cpuRegs.CP0.n.Status]);
|
||||||
|
xTEST(eax, 0x20006); // EXL | ERL | EDI
|
||||||
|
xForwardJNZ8 iHaveNoIdea;
|
||||||
|
xTEST(eax, 0x18); // KSU
|
||||||
|
xForwardJNZ8 inUserMode;
|
||||||
|
iHaveNoIdea.SetTarget();
|
||||||
|
xAND(eax, ~(u32)0x10000); // EIE
|
||||||
|
xMOV(ptr32[&cpuRegs.CP0.n.Status], eax);
|
||||||
|
inUserMode.SetTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue