diff options
Diffstat (limited to 'src/core/mem_map_funcs.cpp')
| -rw-r--r-- | src/core/mem_map_funcs.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/mem_map_funcs.cpp b/src/core/mem_map_funcs.cpp index 8ab647714..86e9eaa20 100644 --- a/src/core/mem_map_funcs.cpp +++ b/src/core/mem_map_funcs.cpp | |||
| @@ -73,6 +73,10 @@ inline void _Read(T &var, const u32 addr) { | |||
| 73 | } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { | 73 | } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { |
| 74 | var = *((const T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK]); | 74 | var = *((const T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK]); |
| 75 | 75 | ||
| 76 | // System memory | ||
| 77 | } else if ((vaddr >= SYSTEM_MEMORY_VADDR) && (vaddr < SYSTEM_MEMORY_VADDR_END)) { | ||
| 78 | var = *((const T*)&g_system_mem[vaddr & SYSTEM_MEMORY_MASK]); | ||
| 79 | |||
| 76 | // Config memory | 80 | // Config memory |
| 77 | } else if ((vaddr >= CONFIG_MEMORY_VADDR) && (vaddr < CONFIG_MEMORY_VADDR_END)) { | 81 | } else if ((vaddr >= CONFIG_MEMORY_VADDR) && (vaddr < CONFIG_MEMORY_VADDR_END)) { |
| 78 | ConfigMem::Read<T>(var, vaddr); | 82 | ConfigMem::Read<T>(var, vaddr); |
| @@ -115,6 +119,10 @@ inline void _Write(u32 addr, const T data) { | |||
| 115 | } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { | 119 | } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { |
| 116 | *(T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK] = data; | 120 | *(T*)&g_shared_mem[vaddr & SHARED_MEMORY_MASK] = data; |
| 117 | 121 | ||
| 122 | // System memory | ||
| 123 | } else if ((vaddr >= SYSTEM_MEMORY_VADDR) && (vaddr < SYSTEM_MEMORY_VADDR_END)) { | ||
| 124 | *(T*)&g_system_mem[vaddr & SYSTEM_MEMORY_MASK] = data; | ||
| 125 | |||
| 118 | // VRAM | 126 | // VRAM |
| 119 | } else if ((vaddr >= VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { | 127 | } else if ((vaddr >= VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { |
| 120 | *(T*)&g_vram[vaddr & VRAM_MASK] = data; | 128 | *(T*)&g_vram[vaddr & VRAM_MASK] = data; |
| @@ -153,9 +161,13 @@ u8 *GetPointer(const u32 addr) { | |||
| 153 | return g_heap + (vaddr & HEAP_MASK); | 161 | return g_heap + (vaddr & HEAP_MASK); |
| 154 | 162 | ||
| 155 | // Shared memory | 163 | // Shared memory |
| 156 | } else if ((vaddr > SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { | 164 | } else if ((vaddr >= SHARED_MEMORY_VADDR) && (vaddr < SHARED_MEMORY_VADDR_END)) { |
| 157 | return g_shared_mem + (vaddr & SHARED_MEMORY_MASK); | 165 | return g_shared_mem + (vaddr & SHARED_MEMORY_MASK); |
| 158 | 166 | ||
| 167 | // System memory | ||
| 168 | } else if ((vaddr >= SYSTEM_MEMORY_VADDR) && (vaddr < SYSTEM_MEMORY_VADDR_END)) { | ||
| 169 | return g_system_mem + (vaddr & SYSTEM_MEMORY_MASK); | ||
| 170 | |||
| 159 | // VRAM | 171 | // VRAM |
| 160 | } else if ((vaddr > VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { | 172 | } else if ((vaddr > VRAM_VADDR) && (vaddr < VRAM_VADDR_END)) { |
| 161 | return g_vram + (vaddr & VRAM_MASK); | 173 | return g_vram + (vaddr & VRAM_MASK); |