Make the hack less intrusive, but there's a chicken and egg problem: Memory::Init is called before LOAD_PSP_ISO, so I'm slightly perplexed on how to proceed at the moment.

This commit is contained in:
The Dax
2013-06-26 16:02:52 -04:00
parent 2da4c01ea9
commit 96401eae1e
8 changed files with 60 additions and 41 deletions
+6 -6
View File
@@ -44,10 +44,10 @@ namespace Memory
u8 *GetPointer(const u32 address)
{
if ((address & 0x3E000000) == 0x08000000) {
return m_pRAM + (address & RAM_MASK);
return m_pRAM + (address & g_MemoryMask);
}
else if (g_RemasterMode && (address & 0x3E000000) != 0x08000000) {
return m_pRAM + (address & RAM_MASK);
return m_pRAM + (address & g_MemoryMask);
}
else if ((address & 0x3F800000) == 0x04000000) {
return m_pVRAM + (address & VRAM_MASK);
@@ -74,10 +74,10 @@ inline void ReadFromHardware(T &var, const u32 address)
// Could just do a base-relative read, too.... TODO
if ((address & 0x3E000000) == 0x08000000) {
var = *((const T*)&m_pRAM[address & RAM_MASK]);
var = *((const T*)&m_pRAM[address & g_MemoryMask]);
}
else if (g_RemasterMode && (address & 0x3E000000) != 0x08000000) {
var = *((const T*)&m_pRAM[address & RAM_MASK]);
var = *((const T*)&m_pRAM[address & g_MemoryMask]);
}
else if ((address & 0x3F800000) == 0x04000000) {
var = *((const T*)&m_pVRAM[address & VRAM_MASK]);
@@ -107,10 +107,10 @@ inline void WriteToHardware(u32 address, const T data)
// Could just do a base-relative write, too.... TODO
if ((address & 0x3E000000) == 0x08000000) {
*(T*)&m_pRAM[address & RAM_MASK] = data;
*(T*)&m_pRAM[address & g_MemoryMask] = data;
}
else if (g_RemasterMode && (address & 0x3E000000) != 0x08000000) {
*(T*)&m_pRAM[address & RAM_MASK] = data;
*(T*)&m_pRAM[address & g_MemoryMask] = data;
}
else if ((address & 0x3F800000) == 0x04000000) {
*(T*)&m_pVRAM[address & VRAM_MASK] = data;