From 172a79cda86ca3bb60fdc06d6dc7109209f84fa1 Mon Sep 17 00:00:00 2001 From: Jaklyy <102590697+Jaklyy@users.noreply.github.com> Date: Sun, 17 Nov 2024 09:12:32 -0500 Subject: [PATCH] hacky stall for cache streaming+wb during dmas --- src/NDS.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/NDS.cpp b/src/NDS.cpp index 591c22a0..df487ff6 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -957,6 +957,7 @@ u32 NDS::RunFrame() } else if (CPUStop & CPUStop_DMA9) { + u64 ts = ARM9Timestamp; DMAs[0].Run(); if (!(CPUStop & CPUStop_GXStall)) DMAs[1].Run(); if (!(CPUStop & CPUStop_GXStall)) DMAs[2].Run(); @@ -966,6 +967,14 @@ u32 NDS::RunFrame() auto& dsi = dynamic_cast(*this); dsi.RunNDMAs(0); } + ts = ARM9Timestamp - ts; + for (int i = 0; i < 7; i++) + { + ARM9.ICacheFillTimes[i] += ts; + ARM9.DCacheFillTimes[i] += ts; + } + ARM9.WBTimestamp += ts; + } else {