From a9b0d25c01a5aa351d8154cc367253ddb84851b3 Mon Sep 17 00:00:00 2001 From: Eladash Date: Tue, 16 Mar 2021 15:20:45 +0200 Subject: [PATCH] PPU Debugger: Fixup for syscall arguments (#9932) --- rpcs3/Emu/Cell/PPUThread.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 5fd63a71f8..89ad6ba62b 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -607,6 +607,9 @@ std::string ppu_thread::dump_regs() const { auto reg = gpr[i]; + // Fixup for syscall arguments + if (current_function && i >= 3 && i <= 6) reg = syscall_args[i - 3]; + fmt::append(ret, "r%d%s: 0x%-8llx", i, i <= 9 ? " " : "", reg); constexpr u32 max_str_len = 32; @@ -834,8 +837,8 @@ std::string ppu_thread::dump_misc() const ret += '\n'; for (u32 i = 3; i <= 6; i++) - if (gpr[i] != syscall_args[i - 3]) - fmt::append(ret, " ** r%d: 0x%llx\n", i, syscall_args[i - 3]); + if (u64 v = gpr[i]; v != syscall_args[i - 3]) + fmt::append(ret, " ** r%d: 0x%llx\n", i, v); } else if (is_paused()) {