Fix bugs when memory size is 0x04C00000/etc.

Was experimenting with trying to match my non-phat's ram size.
This commit is contained in:
Unknown W. Brackets committed 2013-09-09 00:25:10 -07:00
1 parent 74418c13bf
commit 38e30e5a67
4 files changed
+18 -11

No files matched your search

+7 -7
View File
@@ -40,7 +40,7 @@ namespace Memory
u8 *GetPointer(const u32 address)
{
if ((address & 0x3E000000) == 0x08000000) {
return m_pRAM + (address & g_MemoryMask);
return m_pRAM + (address & RAM_NORMAL_MASK);
}
else if ((address & 0x3F800000) == 0x04000000) {
return m_pVRAM + (address & VRAM_MASK);
@@ -48,7 +48,7 @@ u8 *GetPointer(const u32 address)
else if ((address & 0xBFFF0000) == 0x00010000) {
return m_pScratchPad + (address & SCRATCHPAD_MASK);
}
else if (g_RemasterMode && (address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
else if ((address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
return m_pRAM + (address & g_MemoryMask);
}
else {
@@ -75,7 +75,7 @@ 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 & g_MemoryMask]);
var = *((const T*)&m_pRAM[address & RAM_NORMAL_MASK]);
}
else if ((address & 0x3F800000) == 0x04000000) {
var = *((const T*)&m_pVRAM[address & VRAM_MASK]);
@@ -84,7 +84,7 @@ inline void ReadFromHardware(T &var, const u32 address)
// Scratchpad
var = *((const T*)&m_pScratchPad[address & SCRATCHPAD_MASK]);
}
else if (g_RemasterMode && (address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
else if ((address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
var = *((const T*)&m_pRAM[address & g_MemoryMask]);
}
else
@@ -113,7 +113,7 @@ 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 & g_MemoryMask] = data;
*(T*)&m_pRAM[address & RAM_NORMAL_MASK] = data;
}
else if ((address & 0x3F800000) == 0x04000000) {
*(T*)&m_pVRAM[address & VRAM_MASK] = data;
@@ -121,7 +121,7 @@ inline void WriteToHardware(u32 address, const T data)
else if ((address & 0xBFFF0000) == 0x00010000) {
*(T*)&m_pScratchPad[address & SCRATCHPAD_MASK] = data;
}
else if (g_RemasterMode && (address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
else if ((address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
*(T*)&m_pRAM[address & g_MemoryMask] = data;
}
else
@@ -156,7 +156,7 @@ bool IsValidAddress(const u32 address)
else if ((address & 0xBFFF0000) == 0x00010000) {
return true;
}
else if (g_RemasterMode && (address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
else if ((address & 0x3F000000) >= 0x08000000 && (address & 0x3F000000) < 0x08000000 + g_MemorySize) {
return true;
}
else