fix main ram adding cycles twice if code and memory region are the same

This commit is contained in:
Jaklyy 2024-09-07 13:45:33 -04:00
parent ceb5a9febe
commit 41db7b9df6
1 changed files with 2 additions and 5 deletions

View File

@ -814,12 +814,9 @@ u32 ARMv5::CodeRead32(u32 addr, bool branch)
if ((addr >> 24) == 0x02)
{
if (NDS.ARM9Timestamp < MainRAMTimestamp) NDS.ARM9Timestamp = MainRAMTimestamp;
if (DataRegion == Mem9_MainRAM) NDS.ARM9Timestamp += CodeCycles;
if (NDS.ARM9Timestamp < MainRAMTimestamp) NDS.ARM9Timestamp = MainRAMTimestamp + ((1<<NDS.ARM9ClockShift)-1) & ~((1<<NDS.ARM9ClockShift)-1);
}
if (NDS.ARM9Regions[addr>>14] == DataRegion && Store) NDS.ARM9Timestamp += (1<<NDS.ARM9ClockShift);
else if (NDS.ARM9Regions[addr>>14] == DataRegion && Store) NDS.ARM9Timestamp += (1<<NDS.ARM9ClockShift);
NDS.ARM9Timestamp += CodeCycles;
if (NDS.ARM9Timestamp < TimestampActual) NDS.ARM9Timestamp = TimestampActual;