diff options
author | bunnei <ericbunnie@gmail.com> | 2014-04-26 01:27:25 -0400 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-04-26 01:27:25 -0400 |
commit | 86a515e5acd7e5fa3abd3a012ce4771d3b920754 (patch) | |
tree | a62d85e829424208c08930b6fe6e6f4b7492c312 /src/core/mem_map_funcs.cpp | |
parent | cb0663de5147f10533ecdbf6f58865f7cbe0241c (diff) |
added vram to memory_map
Diffstat (limited to 'src/core/mem_map_funcs.cpp')
-rw-r--r-- | src/core/mem_map_funcs.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/core/mem_map_funcs.cpp b/src/core/mem_map_funcs.cpp index 832957cb15..875821adb6 100644 --- a/src/core/mem_map_funcs.cpp +++ b/src/core/mem_map_funcs.cpp @@ -58,8 +58,12 @@ inline void _Read(T &var, const u32 addr) { } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { var = *((const T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK]); + // VRAM + } else if ((vaddr >= VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { + var = *((const T*)&g_vram[vaddr & VRAM_MASK]); + } else { - _assert_msg_(MEMMAP, false, "unknown Read%d @ 0x%08X", sizeof(var) * 8, vaddr); + //_assert_msg_(MEMMAP, false, "unknown Read%d @ 0x%08X", sizeof(var) * 8, vaddr); } } @@ -90,12 +94,10 @@ inline void _Write(u32 addr, const T data) { } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { *(T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK] = data; - } else if ((vaddr & 0xFF000000) == 0x14000000) { - _assert_msg_(MEMMAP, false, "umimplemented write to GSP heap"); - } else if ((vaddr & 0xFFF00000) == 0x1EC00000) { - _assert_msg_(MEMMAP, false, "umimplemented write to IO registers"); - } else if ((vaddr & 0xFF000000) == 0x1F000000) { - _assert_msg_(MEMMAP, false, "umimplemented write to VRAM"); + // VRAM + } else if ((vaddr >= VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { + *(T*)&g_vram[vaddr & VRAM_MASK] = data; + } else if ((vaddr & 0xFFF00000) == 0x1FF00000) { _assert_msg_(MEMMAP, false, "umimplemented write to DSP memory"); } else if ((vaddr & 0xFFFF0000) == 0x1FF80000) { @@ -125,6 +127,10 @@ u8 *GetPointer(const u32 addr) { } else if ((vaddr > SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { return g_shared_mem + (vaddr & SHARED_MEMORY_MASK); + // VRAM + } else if ((vaddr > VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { + return g_vram + (vaddr & VRAM_MASK); + } else { ERROR_LOG(MEMMAP, "Unknown GetPointer @ 0x%08x", vaddr); return 0; |