From 348f4fa177af0425081bb106b1776f9cb4f650b2 Mon Sep 17 00:00:00 2001 From: LillyJadeKatrin Date: Mon, 25 Nov 2024 20:57:29 -0500 Subject: [PATCH] Possible fix to memory pokes --- Source/Core/Core/AchievementManager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index 049a4ad274..1066c3b4df 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -1551,14 +1551,19 @@ void AchievementManager::MemoryPoker(u32 address, u8* buffer, u32 num_bytes, rc_ Core::QueueHostJob([address, buffer, num_bytes, client](Core::System& system) { MemoryPoker(address, buffer, num_bytes, client); }); + return; } Core::CPUThreadGuard threadguard(system); + auto& instance = AchievementManager::GetInstance(); + std::lock_guard lg{instance.m_memory_lock}; for (u32 num_write = 0; num_write < num_bytes; num_write++) { system.GetMMU().HostTryWriteU8(threadguard, buffer[num_write], address + num_write, PowerPC::RequestedAddressSpace::Physical); + instance.m_cloned_memory[address + num_write] = buffer[num_write]; } } + void AchievementManager::GameTitleEstimateHandler(char* buffer, u32 buffer_size, rc_client_t* client) {