aboutsummaryrefslogtreecommitdiff
path: root/src/SPU.cpp
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-06-02 00:39:09 +0200
committerGitHub <noreply@github.com>2020-06-02 00:39:09 +0200
commitd6332f96f162849ad0dde2738cacd3fae6e76e5d (patch)
tree649c101a956cb3640140a95c1f380e5a2f89d51d /src/SPU.cpp
parent993048dd241b59747a7b30edfc861eedd4c005c9 (diff)
parent6c0ec5ebd8f991b6f8778afd98dc7a22f2b77d4d (diff)
Merge pull request #638 from Arisotura/melonDSi
merge melonDSi
Diffstat (limited to 'src/SPU.cpp')
-rw-r--r--src/SPU.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/SPU.cpp b/src/SPU.cpp
index 1ebfd4c..9f6b107 100644
--- a/src/SPU.cpp
+++ b/src/SPU.cpp
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <string.h>
#include "NDS.h"
+#include "DSi.h"
#include "SPU.h"
@@ -154,6 +155,11 @@ Channel::~Channel()
void Channel::Reset()
{
+ if (NDS::ConsoleType == 1)
+ BusRead32 = DSi::ARM7Read32;
+ else
+ BusRead32 = NDS::ARM7Read32;
+
SetCnt(0);
SrcAddr = 0;
TimerReload = 0;
@@ -216,7 +222,7 @@ void Channel::FIFO_BufferData()
for (u32 i = 0; i < burstlen; i += 4)
{
- FIFO[FIFOWritePos] = NDS::ARM7Read32(SrcAddr + FIFOReadOffset);
+ FIFO[FIFOWritePos] = BusRead32(SrcAddr + FIFOReadOffset);
FIFOReadOffset += 4;
FIFOWritePos++;
FIFOWritePos &= 0x7;
@@ -464,6 +470,11 @@ CaptureUnit::~CaptureUnit()
void CaptureUnit::Reset()
{
+ if (NDS::ConsoleType == 1)
+ BusWrite32 = DSi::ARM7Write32;
+ else
+ BusWrite32 = NDS::ARM7Write32;
+
SetCnt(0);
DstAddr = 0;
TimerReload = 0;
@@ -499,7 +510,7 @@ void CaptureUnit::FIFO_FlushData()
{
for (u32 i = 0; i < 4; i++)
{
- NDS::ARM7Write32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]);
+ BusWrite32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]);
FIFOReadPos++;
FIFOReadPos &= 0x3;