From 621150f2f4fcac90b609eb68f93dfbc87cc4ddcf Mon Sep 17 00:00:00 2001 From: joevt Date: Wed, 15 Apr 2026 06:16:27 -0700 Subject: [PATCH] debugger: Fix disasm endian changes. --- debugger/debugger.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/debugger/debugger.cpp b/debugger/debugger.cpp index 1ce338ec..79100fc9 100644 --- a/debugger/debugger.cpp +++ b/debugger/debugger.cpp @@ -426,25 +426,23 @@ static void patch_mem(string& params) { } static uint32_t disasm(PPCDisasmContext &ctx) { - ctx.instr_code = READ_DWORD_BE_A(mmu_translate_imem(ctx.instr_addr)); - cout << COUT08X << ctx.instr_addr; - cout << ": " << COUT08X << ctx.instr_code; - cout << " " << disassemble_single(&ctx) << setfill(' ') << right << dec; - #if SUPPORTS_MEMORY_CTRL_ENDIAN_MODE bool needs_swap = false; if (mem_ctrl_instance != nullptr) needs_swap = mem_ctrl_instance->needs_swap_endian(false); #endif - uint32_t phys_addr; - uint8_t* real_addr = mmu_translate_imem(ctx.instr_addr, &phys_addr); + uint8_t* real_addr = mmu_translate_imem(ctx.instr_addr); ctx.instr_code = #if SUPPORTS_MEMORY_CTRL_ENDIAN_MODE needs_swap ? READ_DWORD_LE_A(real_addr) : #endif READ_DWORD_BE_A(real_addr); + cout << COUT08X << ctx.instr_addr; + cout << ": " << COUT08X << ctx.instr_code; + cout << " " << disassemble_single(&ctx) << setfill(' ') << right << dec; + return ctx.instr_addr; }