Merge branch 'less-ambitious-timing-rework' into chemical-x
This commit is contained in:
commit
bb2727b786
|
@ -607,8 +607,11 @@ void ARMv5::Execute()
|
||||||
Halted = 0;
|
Halted = 0;
|
||||||
if (NDS.IME[0] & 0x1)
|
if (NDS.IME[0] & 0x1)
|
||||||
{
|
{
|
||||||
|
#ifdef JIT_ENABLED
|
||||||
if constexpr (mode == CPUExecuteMode::JIT) TriggerIRQ<mode>();
|
if constexpr (mode == CPUExecuteMode::JIT) TriggerIRQ<mode>();
|
||||||
else IRQ = 1;
|
else
|
||||||
|
#endif
|
||||||
|
IRQ = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
23
src/CP15.cpp
23
src/CP15.cpp
|
@ -1813,8 +1813,9 @@ u32 ARMv5::CodeRead32(u32 addr, bool branch)
|
||||||
}
|
}
|
||||||
|
|
||||||
CodeCycles = MemTimings[addr >> 12][1];
|
CodeCycles = MemTimings[addr >> 12][1];
|
||||||
|
|
||||||
WriteBufferDrain();
|
if (PU_Map[addr>>12] & 0x30)
|
||||||
|
WriteBufferDrain();
|
||||||
|
|
||||||
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
||||||
|
|
||||||
|
@ -1874,7 +1875,8 @@ bool ARMv5::DataRead8(u32 addr, u32* val)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WriteBufferDrain();
|
if (PU_Map[addr>>12] & 0x30)
|
||||||
|
WriteBufferDrain();
|
||||||
|
|
||||||
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
||||||
|
|
||||||
|
@ -1934,8 +1936,9 @@ bool ARMv5::DataRead16(u32 addr, u32* val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WriteBufferDrain();
|
if (PU_Map[addr>>12] & 0x30)
|
||||||
|
WriteBufferDrain();
|
||||||
|
|
||||||
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
||||||
|
|
||||||
|
@ -1995,8 +1998,9 @@ bool ARMv5::DataRead32(u32 addr, u32* val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WriteBufferDrain();
|
if (PU_Map[addr>>12] & 0x30)
|
||||||
|
WriteBufferDrain();
|
||||||
|
|
||||||
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
NDS.ARM9Timestamp = NDS.ARM9Timestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
|
||||||
|
|
||||||
|
@ -2054,8 +2058,9 @@ bool ARMv5::DataRead32S(u32 addr, u32* val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WriteBufferDrain();
|
if (PU_Map[addr>>12] & 0x30)
|
||||||
|
WriteBufferDrain();
|
||||||
|
|
||||||
NDS.ARM9Timestamp += DataCycles;
|
NDS.ARM9Timestamp += DataCycles;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue