From 0032d2746f6940be05476f37e38efb305f4c2ee6 Mon Sep 17 00:00:00 2001 From: LinesPrower Date: Mon, 28 Sep 2009 03:39:14 +0000 Subject: [PATCH] Revert removing of the "dcbz->dcbf" hack git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4338 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../PowerPC/Interpreter/Interpreter_LoadStore.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp index 999c5e3582..dc608f14bf 100644 --- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp @@ -317,16 +317,14 @@ void dcbtst(UGeckoInstruction _inst) void dcbz(UGeckoInstruction _inst) { - // !!! after the dcbz follows a dcbf... dont clear the memory in this case !!! - // 0x81330c2c - // LinesPrower: why? does it break something? - // according to docs dcbz->dcbf should clear the memory immediately! - // However, dcbz->dcbi won't clear anything, but that's completely senseless - /* u32 NextOpcode = Memory::Read_U32(PC+4); + // hack to prevent clearing of memory cached in the CPU instruction cache + // needed to run WiiWare games + // 0x81330c2c + u32 NextOpcode = Memory::Read_U32(PC+4); if (NextOpcode == 0x7C0400AC) { return; - }*/ + } // HACK but works... we think Memory::Memset(Helper_Get_EA_X(_inst) & (~31), 0, 32); }