aboutsummaryrefslogtreecommitdiff
path: root/src/SPU.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SPU.cpp')
-rw-r--r--src/SPU.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/SPU.cpp b/src/SPU.cpp
index 959de12..9f6b107 100644
--- a/src/SPU.cpp
+++ b/src/SPU.cpp
@@ -155,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;
@@ -217,8 +222,7 @@ void Channel::FIFO_BufferData()
for (u32 i = 0; i < burstlen; i += 4)
{
- //FIFO[FIFOWritePos] = NDS::ARM7Read32(SrcAddr + FIFOReadOffset);
- FIFO[FIFOWritePos] = DSi::ARM7Read32(SrcAddr + FIFOReadOffset);
+ FIFO[FIFOWritePos] = BusRead32(SrcAddr + FIFOReadOffset);
FIFOReadOffset += 4;
FIFOWritePos++;
FIFOWritePos &= 0x7;
@@ -466,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;
@@ -501,8 +510,7 @@ void CaptureUnit::FIFO_FlushData()
{
for (u32 i = 0; i < 4; i++)
{
- //NDS::ARM7Write32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]);
- DSi::ARM7Write32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]);
+ BusWrite32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]);
FIFOReadPos++;
FIFOReadPos &= 0x3;