From 54dd4e591365e1d9ca718d2772edfb933b976451 Mon Sep 17 00:00:00 2001 From: Jaklyy <102590697+Jaklyy@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:15:15 -0400 Subject: [PATCH] git hates me --- src/CP15.cpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/CP15.cpp b/src/CP15.cpp index 9a87e620..19bc1339 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -332,9 +332,26 @@ void ARMv5::UpdateRegionTimings(u32 addrstart, u32 addrend) // checkme: should these be (bus timings shifted) - 1 or ((bustimings - 1) shifted) + 1 // should the last cycle be halved...? - MemTimings[i][0] = ((bustimings[0] - 1) << NDS.ARM9ClockShift) + 1; - MemTimings[i][1] = ((bustimings[2] - 1) << NDS.ARM9ClockShift) + 1; - MemTimings[i][2] = ((bustimings[3] - 1) << NDS.ARM9ClockShift) + 1; + if (NDS.ARM9ClockShift == 1) + { + MemTimings[i][0] = (bustimings[0] << NDS.ARM9ClockShift) - 1; + MemTimings[i][1] = (bustimings[2] << NDS.ARM9ClockShift) - 1; + MemTimings[i][2] = (bustimings[3] << NDS.ARM9ClockShift) - 1; + } + else + { + if (NDS.ARM9Regions[i] != Mem9_MainRAM) + { + MemTimings[i][0] = ((bustimings[0] - 1) << NDS.ARM9ClockShift) - 1; + MemTimings[i][1] = ((bustimings[2] - 1) << NDS.ARM9ClockShift) - 1; + } + else + { + MemTimings[i][0] = (bustimings[0] << NDS.ARM9ClockShift) - 1; + MemTimings[i][1] = (bustimings[2] << NDS.ARM9ClockShift) - 1; + } + MemTimings[i][2] = (bustimings[3] << NDS.ARM9ClockShift) - 1; + } } }