summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/HW/DSP.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp
index fb6b600a10..5de07f89ac 100644
--- a/Source/Core/Core/Src/HW/DSP.cpp
+++ b/Source/Core/Core/Src/HW/DSP.cpp
@@ -262,7 +262,7 @@ void Init(bool hle)
g_ARAM.wii_mode = true;
g_ARAM.size = Memory::EXRAM_SIZE;
g_ARAM.mask = Memory::EXRAM_MASK;
- g_ARAM.ptr = Memory::GetPointer(0);
+ g_ARAM.ptr = Memory::GetPointer(0x10000000);
}
else
{
@@ -729,7 +729,12 @@ u8 ReadARAM(u32 _iAddress)
{
//NOTICE_LOG(DSPINTERFACE, "ReadARAM 0x%08x", _iAddress);
if (g_ARAM.wii_mode)
- return g_ARAM.ptr[(_iAddress & 0x10000000)?(_iAddress & 0x13ffffff):(_iAddress & 0x01ffffff)];
+ {
+ if (_iAddress & 0x10000000)
+ return g_ARAM.ptr[_iAddress & g_ARAM.mask];
+ else
+ return Memory::Read_U8(_iAddress & Memory::RAM_MASK);
+ }
else
return g_ARAM.ptr[_iAddress & g_ARAM.mask];
}
@@ -737,12 +742,8 @@ u8 ReadARAM(u32 _iAddress)
void WriteARAM(u8 value, u32 _uAddress)
{
//NOTICE_LOG(DSPINTERFACE, "WriteARAM 0x%08x", _uAddress);
- //TODO: verify this on WII (SSBB/U)
- if (g_ARAM.wii_mode)
- //g_ARAM.ptr[(_uAddress & 0x10000000)?(_uAddress & 0x13ffffff):(_uAddress & 0x01ffffff)] = value;
- g_ARAM.ptr[(_uAddress | 0x10000000) & 0x13ffffff] = value;
- else
- g_ARAM.ptr[_uAddress & g_ARAM.mask] = value;
+ //TODO: verify this on WII
+ g_ARAM.ptr[_uAddress & g_ARAM.mask] = value;
}
u8 *GetARAMPtr()