aboutsummaryrefslogtreecommitdiff
path: root/src/DMA.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DMA.cpp')
-rw-r--r--src/DMA.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/DMA.cpp b/src/DMA.cpp
index 51ce825..0826d7a 100644
--- a/src/DMA.cpp
+++ b/src/DMA.cpp
@@ -18,16 +18,11 @@
#include <stdio.h>
#include "NDS.h"
+#include "DSi.h"
#include "DMA.h"
-#include "NDSCart.h"
#include "GPU.h"
-// NOTES ON DMA SHIT
-//
-// * could use optimized code paths for common types of DMA transfers. for example, VRAM
-// have to profile it to see if it's actually worth doing
-
// DMA TIMINGS
//
@@ -232,7 +227,8 @@ void DMA::Run9()
{
NDS::ARM9Timestamp += (unitcycles << NDS::ARM9ClockShift);
- NDS::ARM9Write16(CurDstAddr, NDS::ARM9Read16(CurSrcAddr));
+ //NDS::ARM9Write16(CurDstAddr, NDS::ARM9Read16(CurSrcAddr));
+ DSi::ARM9Write16(CurDstAddr, DSi::ARM9Read16(CurSrcAddr));
CurSrcAddr += SrcAddrInc<<1;
CurDstAddr += DstAddrInc<<1;
@@ -268,7 +264,8 @@ void DMA::Run9()
{
NDS::ARM9Timestamp += (unitcycles << NDS::ARM9ClockShift);
- NDS::ARM9Write32(CurDstAddr, NDS::ARM9Read32(CurSrcAddr));
+ //NDS::ARM9Write32(CurDstAddr, NDS::ARM9Read32(CurSrcAddr));
+ DSi::ARM9Write32(CurDstAddr, DSi::ARM9Read32(CurSrcAddr));
CurSrcAddr += SrcAddrInc<<2;
CurDstAddr += DstAddrInc<<2;
@@ -344,7 +341,8 @@ void DMA::Run7()
{
NDS::ARM7Timestamp += unitcycles;
- NDS::ARM7Write16(CurDstAddr, NDS::ARM7Read16(CurSrcAddr));
+ //NDS::ARM7Write16(CurDstAddr, NDS::ARM7Read16(CurSrcAddr));
+ DSi::ARM7Write16(CurDstAddr, DSi::ARM7Read16(CurSrcAddr));
CurSrcAddr += SrcAddrInc<<1;
CurDstAddr += DstAddrInc<<1;
@@ -380,7 +378,8 @@ void DMA::Run7()
{
NDS::ARM7Timestamp += unitcycles;
- NDS::ARM7Write32(CurDstAddr, NDS::ARM7Read32(CurSrcAddr));
+ //NDS::ARM7Write32(CurDstAddr, NDS::ARM7Read32(CurSrcAddr));
+ DSi::ARM7Write32(CurDstAddr, DSi::ARM7Read32(CurSrcAddr));
CurSrcAddr += SrcAddrInc<<2;
CurDstAddr += DstAddrInc<<2;