minor timing tweaks
This commit is contained in:
parent
a549977eb0
commit
bd1665c1d3
|
@ -647,7 +647,7 @@ void ARMv5::Execute()
|
||||||
R[15] += 2;
|
R[15] += 2;
|
||||||
CurInstr = NextInstr[0];
|
CurInstr = NextInstr[0];
|
||||||
NextInstr[0] = NextInstr[1];
|
NextInstr[0] = NextInstr[1];
|
||||||
if (R[15] & 0x2) { NextInstr[1] >>= 16; CodeCycles = 0; }
|
if (R[15] & 0x2) { NextInstr[1] >>= 16; CodeCycles = 1; }
|
||||||
else NextInstr[1] = CodeRead32(R[15], false);
|
else NextInstr[1] = CodeRead32(R[15], false);
|
||||||
|
|
||||||
// actually execute
|
// actually execute
|
||||||
|
|
|
@ -317,15 +317,16 @@ public:
|
||||||
void AddCycles_C() override
|
void AddCycles_C() override
|
||||||
{
|
{
|
||||||
// code only. always nonseq 32-bit for ARM9.
|
// code only. always nonseq 32-bit for ARM9.
|
||||||
s32 numC = (R[15] & 0x2) ? 0 : CodeCycles;
|
s32 numC = CodeCycles;
|
||||||
Cycles += numC;
|
Cycles += numC;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddCycles_CI(s32 numI) override
|
void AddCycles_CI(s32 numI) override
|
||||||
{
|
{
|
||||||
// code+internal
|
// code+internal
|
||||||
s32 numC = (R[15] & 0x2) ? 0 : CodeCycles;
|
s32 numC = CodeCycles;
|
||||||
Cycles += numC + numI;
|
numI += 1;
|
||||||
|
Cycles += std::max(numC, numI);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddCycles_CDI_LDR() override;
|
void AddCycles_CDI_LDR() override;
|
||||||
|
|
Loading…
Reference in New Issue