From d5049cbba53d242b8461859fd02000b294164e77 Mon Sep 17 00:00:00 2001
From: purpasmart96 <kanzoconfigz@hotmail.com>
Date: Mon, 29 Dec 2014 19:35:06 -0800
Subject: MemMap: Add support for DSP Read & Writes in the memory map

---
 src/core/mem_map_funcs.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'src/core/mem_map_funcs.cpp')

diff --git a/src/core/mem_map_funcs.cpp b/src/core/mem_map_funcs.cpp
index fdf382ed64..97ef1c5a39 100644
--- a/src/core/mem_map_funcs.cpp
+++ b/src/core/mem_map_funcs.cpp
@@ -82,6 +82,10 @@ inline void Read(T &var, const VAddr vaddr) {
     } else if ((vaddr >= CONFIG_MEMORY_VADDR)  && (vaddr < CONFIG_MEMORY_VADDR_END)) {
         ConfigMem::Read<T>(var, vaddr);
 
+    // DSP memory
+    } else if ((vaddr >= DSP_MEMORY_VADDR)  && (vaddr < DSP_MEMORY_VADDR_END)) {
+        var = *((const T*)&g_dsp_mem[vaddr - DSP_MEMORY_VADDR]);
+
     // VRAM
     } else if ((vaddr >= VRAM_VADDR)  && (vaddr < VRAM_VADDR_END)) {
         var = *((const T*)&g_vram[vaddr - VRAM_VADDR]);
@@ -122,8 +126,10 @@ inline void Write(const VAddr vaddr, const T data) {
     } else if ((vaddr >= VRAM_VADDR)  && (vaddr < VRAM_VADDR_END)) {
         *(T*)&g_vram[vaddr - VRAM_VADDR] = data;
 
-    //} else if ((vaddr & 0xFFF00000) == 0x1FF00000) {
-    //    _assert_msg_(MEMMAP, false, "umimplemented write to DSP memory");
+    // DSP memory
+    } else if ((vaddr >= DSP_MEMORY_VADDR)  && (vaddr < DSP_MEMORY_VADDR_END)) {
+        *(T*)&g_dsp_mem[vaddr - DSP_MEMORY_VADDR] = data;
+
     //} else if ((vaddr & 0xFFFF0000) == 0x1FF80000) {
     //    _assert_msg_(MEMMAP, false, "umimplemented write to Configuration Memory");
     //} else if ((vaddr & 0xFFFFF000) == 0x1FF81000) {
-- 
cgit v1.2.3-70-g09d2