From 3c94802704639c16e111ca0d66c8f39ed902fe26 Mon Sep 17 00:00:00 2001 From: DesperateProgrammer Date: Thu, 25 Jan 2024 11:05:58 +0100 Subject: [PATCH] Removed magic number from Cache Fill timings. --- src/CP15.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/CP15.cpp b/src/CP15.cpp index c2f8720c..8f3d7138 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -417,7 +417,8 @@ void ARMv5::ICacheLookup(u32 addr) // ouch :/ //printf("cache miss %08X: %d/%d\n", addr, NDS::ARM9MemTimings[addr >> 14][2], NDS::ARM9MemTimings[addr >> 14][3]); - CodeCycles = (NDS.ARM9MemTimings[addr >> 14][2] + (NDS.ARM9MemTimings[addr >> 14][3] * 7)) << NDS.ARM9ClockShift; + // first N32 remaining S32 + CodeCycles = (NDS.ARM9MemTimings[addr >> 14][2] + (NDS.ARM9MemTimings[addr >> 14][3] * ((DCACHE_LINELENGTH / 4) - 1))) << NDS.ARM9ClockShift; CurICacheLine = ptr; } @@ -537,7 +538,8 @@ void ARMv5::DCacheLookup(u32 addr) // ouch :/ //printf("cache miss %08X: %d/%d\n", addr, NDS::ARM9MemTimings[addr >> 14][2], NDS::ARM9MemTimings[addr >> 14][3]); - DataCycles = (NDS.ARM9MemTimings[addr >> 14][2] + (NDS.ARM9MemTimings[addr >> 14][3] * 7)) << NDS.ARM9ClockShift; + // first N32 remaining S32 + DataCycles = (NDS.ARM9MemTimings[addr >> 14][2] + (NDS.ARM9MemTimings[addr >> 14][3] * ((DCACHE_LINELENGTH / 4) - 1))) << NDS.ARM9ClockShift; CurDCacheLine = ptr; }