diff --git a/rpcs3/Emu/Cell/PPUModule.cpp b/rpcs3/Emu/Cell/PPUModule.cpp index baea8179ca..6cb6850a19 100644 --- a/rpcs3/Emu/Cell/PPUModule.cpp +++ b/rpcs3/Emu/Cell/PPUModule.cpp @@ -1163,7 +1163,7 @@ void ppu_load_exec(const ppu_exec_object& elf) // Read control flags (0 if doesn't exist) g_ps3_process_info.ctrl_flags1 = 0; - if (bool not_found = true) + if (bool not_found = g_ps3_process_info.self_info.valid) { for (const auto& ctrl : g_ps3_process_info.self_info.ctrl_info) { @@ -1179,6 +1179,9 @@ void ppu_load_exec(const ppu_exec_object& elf) g_ps3_process_info.ctrl_flags1 |= ctrl.control_flags.ctrl_flag1; } } + + LOG_NOTICE(LOADER, "SELF header information found: ctrl_flags1=0x%x, authid=0x%llx", + g_ps3_process_info.ctrl_flags1, g_ps3_process_info.self_info.app_info.authid); } // Load other programs diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index f5ab6b62e6..0095629504 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -831,7 +831,8 @@ void ppu_thread::fast_call(u32 addr, u32 rtoc) g_tls_log_prefix = [] { const auto _this = static_cast(get_current_cpu_thread()); - return fmt::format("%s [0x%08x]", thread_ctrl::get_name(), _this->cia); + return fmt::format("%s [0x%08x]", thread_ctrl::get_name(), !_this->current_function ? + _this->cia : static_cast(_this->lr) - 4); }; auto at_ret = [&]()