mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 14:19:55 -06:00
make it able to switch between DS and DSi modes
This commit is contained in:
16
src/SPU.cpp
16
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;
|
||||
|
Reference in New Issue
Block a user