From 274386a078b8d008372fe797407df116a47131a6 Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 7 Sep 2022 18:24:57 +0300 Subject: [PATCH] rsx: Add some debugging information --- rpcs3/Emu/RSX/RSXDisAsm.cpp | 8 ++++---- rpcs3/Emu/RSX/RSXFIFO.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXDisAsm.cpp b/rpcs3/Emu/RSX/RSXDisAsm.cpp index 0eefede392..b1469ce59e 100644 --- a/rpcs3/Emu/RSX/RSXDisAsm.cpp +++ b/rpcs3/Emu/RSX/RSXDisAsm.cpp @@ -64,7 +64,7 @@ u32 RSXDisAsm::disasm(u32 pc) } else { - Write("?? ??", -1); + Write(fmt::format("?? ?? (0x%x)", m_op), -1); } return 4; @@ -103,7 +103,7 @@ u32 RSXDisAsm::disasm(u32 pc) { // Hack: 0 method with large count is unlikely to be a command // But is very common in floating point args, messing up debugger's code-flow - Write("?? ??", -1); + Write(fmt::format("?? ?? (0x%x)", m_op), -1); return 4; } @@ -114,7 +114,7 @@ u32 RSXDisAsm::disasm(u32 pc) if (!try_read_op(pc)) { last_opcode.clear(); - Write("?? ??", -1); + Write(fmt::format("?? ?? (0x%08x:unmapped)", m_op), -1); return 4; } @@ -123,7 +123,7 @@ u32 RSXDisAsm::disasm(u32 pc) if (rsx::methods[id] == &rsx::invalid_method) { last_opcode.clear(); - Write("?? ??", -1); + Write(fmt::format("?? ?? (0x%08x:method)", m_op), -1); return 4; } diff --git a/rpcs3/Emu/RSX/RSXFIFO.cpp b/rpcs3/Emu/RSX/RSXFIFO.cpp index e1bc929a93..279f6e3b7c 100644 --- a/rpcs3/Emu/RSX/RSXFIFO.cpp +++ b/rpcs3/Emu/RSX/RSXFIFO.cpp @@ -691,7 +691,7 @@ namespace rsx } // If we reached here, this is likely an error - fmt::throw_exception("Unexpected command 0x%x", cmd); + fmt::throw_exception("Unexpected command 0x%x (last cmd: 0x%x)", cmd, fifo_ctrl->last_cmd()); } if (const auto state = performance_counters.state;