From d88ea539b14dd127d9b7d4ea19a372ba2ab0d92c Mon Sep 17 00:00:00 2001 From: zilmar Date: Tue, 4 Jan 2022 10:13:03 +1030 Subject: [PATCH] Project64: Have DebugMMU directly access imem/dmem, not through rdram --- Source/Project64/UserInterface/Debugger/DebugMMU.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/Project64/UserInterface/Debugger/DebugMMU.cpp b/Source/Project64/UserInterface/Debugger/DebugMMU.cpp index cbfe4b84b..6b379008d 100644 --- a/Source/Project64/UserInterface/Debugger/DebugMMU.cpp +++ b/Source/Project64/UserInterface/Debugger/DebugMMU.cpp @@ -20,11 +20,18 @@ uint8_t* CDebugMMU::GetPhysicalPtr(uint32_t paddr, WORD* flags) bool bBigEndian = false; bool bCartRom = false; - if ((paddr < g_MMU->RdramSize()) || - (paddr >= 0x04000000 && paddr <= 0x04001FFF)) // RDRAM and DMEM/IMEM + if (paddr < g_MMU->RdramSize()) { ptr = (uint8_t*)(g_MMU->Rdram() + paddr); } + else if (paddr >= 0x04000000 && paddr <= 0x04000FFF) + { + ptr = (uint8_t*)(g_MMU->Dmem() + paddr - 0x04000000); + } + else if (paddr >= 0x04001000 && paddr <= 0x04001FFF) + { + ptr = (uint8_t*)(g_MMU->Imem() + paddr - 0x04001000); + } else if (paddr >= 0x05000000 && paddr <= 0x050004FF) // 64DD buffer { // todo