From 01ba503373d46bd464a41c16e8c834196cfc6efa Mon Sep 17 00:00:00 2001 From: Jaklyy <102590697+Jaklyy@users.noreply.github.com> Date: Mon, 23 Dec 2024 19:31:45 -0500 Subject: [PATCH] fix fixed src main ram dma timings being off by 1 --- src/NDS.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/NDS.cpp b/src/NDS.cpp index c14e6b44..37b31453 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -1115,12 +1115,12 @@ void NDS::MainRAMHandleARM9() if (burststart == 2 || dma->SrcAddrInc <= 0) { A9ContentionTS += ARM9MemTimings[srcaddr>>14][6] + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][6] == 1)); - MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][6] + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][6] == 1)); + MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][6] - 1 + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][6] == 1)); } else { A9ContentionTS += ARM9MemTimings[srcaddr>>14][7]; - MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][7]; + MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][7] - 1; } DMALastWasMainRAM = false; } @@ -1221,12 +1221,12 @@ void NDS::MainRAMHandleARM9() if (burststart == 2 || dma->SrcAddrInc <= 0) { A9ContentionTS += ARM9MemTimings[srcaddr>>14][4] + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][4] == 1)); - MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][4] + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][4] == 1)); + MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][4] - 1 + ((burststart == 2) && (ARM9MemTimings[srcaddr>>14][4] == 1)); } else { A9ContentionTS += ARM9MemTimings[srcaddr>>14][5]; - MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][5]; + MainRAMTimestamp += ARM9MemTimings[srcaddr>>14][5] - 1; } DMALastWasMainRAM = false; }