diff --git a/src/CP15.cpp b/src/CP15.cpp index 6afca641..a22f0f34 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -436,7 +436,7 @@ bool ARMv5::ICacheLookup(const u32 addr) if (CP15BISTTestStateRegister & CP15_BIST_TR_DISABLE_ICACHE_LINEFILL) [[unlikely]] return false; - if (NDS.ARM9Timestamp < NDS.DMA9Timestamp) NDS.ARM9Timestamp = NDS.DMA9Timestamp; + //if (NDS.ARM9Timestamp < NDS.DMA9Timestamp) NDS.ARM9Timestamp = NDS.DMA9Timestamp; WriteBufferDrain(); FetchAddr[16] = addr; QueueFunction(&ARMv5::ICacheLookup_2); @@ -760,7 +760,7 @@ void ARMv5::DCacheLookup_3() u32 stall = (4 - NDS.ARM9ClockShift) << NDS.ARM9ClockShift; NDS.ARM9Timestamp += (MemTimings[tag >> 14][1] + stall) + ((MemTimings[tag >> 14][2] + 1) * ((DCACHE_LINELENGTH / 4) - 1)); - DataCycles = MemTimings[tag>>14][2] + 1; + DataCycles = MemTimings[tag>>14][2]; // checkme DataRegion = NDS.ARM9Regions[addr>>14]; if (((NDS.ARM9Timestamp <= WBReleaseTS) && (NDS.ARM9Regions[addr>>14] == WBLastRegion)) // check write buffer @@ -782,7 +782,7 @@ void ARMv5::DCacheLookup_3() u8 linepos = (addr & 0x1F) >> 2; // technically this is one too low, but we want that actually u64 cycles = ns + (seq * linepos); - DataCycles = 3<>14]; if (WBTimestamp < ((NDS.ARM9Timestamp + ((1<