From 0e6abd66cace7af44443124cdcb6047d98988012 Mon Sep 17 00:00:00 2001 From: Eladash Date: Fri, 22 May 2020 04:48:10 +0300 Subject: [PATCH] PPU disasm: do not disassmble non-executable memory --- rpcs3/rpcs3qt/debugger_list.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rpcs3/rpcs3qt/debugger_list.cpp b/rpcs3/rpcs3qt/debugger_list.cpp index 0c1d7dcccb..7cccfac54c 100644 --- a/rpcs3/rpcs3qt/debugger_list.cpp +++ b/rpcs3/rpcs3qt/debugger_list.cpp @@ -103,6 +103,18 @@ void debugger_list::ShowAddress(u32 addr, bool force) continue; } + if (!is_spu && !vm::check_addr(cpu_offset + pc, 4, vm::page_executable)) + { + const u32 data = *vm::get_super_ptr>(cpu_offset + pc); + item(i)->setText((IsBreakpoint(pc) ? ">> " : " ") + qstr(fmt::format("[%08x] %02x %02x %02x %02x:", pc, + static_cast(data >> 24), + static_cast(data >> 16), + static_cast(data >> 8), + static_cast(data >> 0)))); + count = 4; + continue; + } + count = m_disasm->disasm(m_disasm->dump_pc = pc); item(i)->setText((IsBreakpoint(pc) ? ">> " : " ") + qstr(m_disasm->last_opcode));