diff --git a/Core/Debugger/MemBlockInfo.cpp b/Core/Debugger/MemBlockInfo.cpp index 1ff7d16d50..68cbcefe35 100644 --- a/Core/Debugger/MemBlockInfo.cpp +++ b/Core/Debugger/MemBlockInfo.cpp @@ -371,6 +371,7 @@ void NotifyMemInfoPC(MemBlockFlags flags, uint32_t start, uint32_t size, uint32_ std::vector FindMemInfo(uint32_t start, uint32_t size) { FlushPendingMemInfo(); + start &= ~0xC0000000; std::vector results; allocMap.Find(MemBlockFlags::ALLOC, start, size, results); @@ -382,6 +383,7 @@ std::vector FindMemInfo(uint32_t start, uint32_t size) { std::vector FindMemInfoByFlag(MemBlockFlags flags, uint32_t start, uint32_t size) { FlushPendingMemInfo(); + start &= ~0xC0000000; std::vector results; if (flags & MemBlockFlags::ALLOC) diff --git a/Windows/Debugger/CtrlMemView.cpp b/Windows/Debugger/CtrlMemView.cpp index 326fa1bdf8..fbb1478ede 100644 --- a/Windows/Debugger/CtrlMemView.cpp +++ b/Windows/Debugger/CtrlMemView.cpp @@ -240,7 +240,7 @@ void CtrlMemView::onPaint(WPARAM wParam, LPARAM lParam) { } for (int j = 0; j < rowSize; j++) { - uint32_t byteAddress = address + j; + const uint32_t byteAddress = (address + j) & ~0xC0000000; std::string tag; bool tagContinues = false; for (auto info : memRangeInfo) { @@ -272,7 +272,7 @@ void CtrlMemView::onPaint(WPARAM wParam, LPARAM lParam) { COLORREF asciiTextCol = 0x000000; int underline = -1; - if (byteAddress == curAddress && searching == false) { + if (address + j == curAddress && searching == false) { if (asciiSelected) { hexBGCol = 0xC0C0C0; hexTextCol = 0x000000;