this should fix ssbb/u (2nd try)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7482 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Marko Pusljar 2011-04-23 17:25:29 +00:00
parent af5d5b5beb
commit 02fa44e473
1 changed files with 9 additions and 8 deletions

View File

@ -262,7 +262,7 @@ void Init(bool hle)
g_ARAM.wii_mode = true; g_ARAM.wii_mode = true;
g_ARAM.size = Memory::EXRAM_SIZE; g_ARAM.size = Memory::EXRAM_SIZE;
g_ARAM.mask = Memory::EXRAM_MASK; g_ARAM.mask = Memory::EXRAM_MASK;
g_ARAM.ptr = Memory::GetPointer(0); g_ARAM.ptr = Memory::GetPointer(0x10000000);
} }
else else
{ {
@ -729,7 +729,12 @@ u8 ReadARAM(u32 _iAddress)
{ {
//NOTICE_LOG(DSPINTERFACE, "ReadARAM 0x%08x", _iAddress); //NOTICE_LOG(DSPINTERFACE, "ReadARAM 0x%08x", _iAddress);
if (g_ARAM.wii_mode) 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 else
return g_ARAM.ptr[_iAddress & g_ARAM.mask]; return g_ARAM.ptr[_iAddress & g_ARAM.mask];
} }
@ -737,12 +742,8 @@ u8 ReadARAM(u32 _iAddress)
void WriteARAM(u8 value, u32 _uAddress) void WriteARAM(u8 value, u32 _uAddress)
{ {
//NOTICE_LOG(DSPINTERFACE, "WriteARAM 0x%08x", _uAddress); //NOTICE_LOG(DSPINTERFACE, "WriteARAM 0x%08x", _uAddress);
//TODO: verify this on WII (SSBB/U) //TODO: verify this on WII
if (g_ARAM.wii_mode) g_ARAM.ptr[_uAddress & g_ARAM.mask] = value;
//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;
} }
u8 *GetARAMPtr() u8 *GetARAMPtr()