Revert removing of the "dcbz->dcbf" hack

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4338 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
LinesPrower 2009-09-28 03:39:14 +00:00
parent 56b8b6493c
commit 0032d2746f

View File

@ -317,16 +317,14 @@ void dcbtst(UGeckoInstruction _inst)
void dcbz(UGeckoInstruction _inst) void dcbz(UGeckoInstruction _inst)
{ {
// !!! after the dcbz follows a dcbf... dont clear the memory in this case !!! // hack to prevent clearing of memory cached in the CPU instruction cache
// 0x81330c2c // needed to run WiiWare games
// LinesPrower: why? does it break something? // 0x81330c2c
// according to docs dcbz->dcbf should clear the memory immediately! u32 NextOpcode = Memory::Read_U32(PC+4);
// However, dcbz->dcbi won't clear anything, but that's completely senseless
/* u32 NextOpcode = Memory::Read_U32(PC+4);
if (NextOpcode == 0x7C0400AC) if (NextOpcode == 0x7C0400AC)
{ {
return; return;
}*/ }
// HACK but works... we think // HACK but works... we think
Memory::Memset(Helper_Get_EA_X(_inst) & (~31), 0, 32); Memory::Memset(Helper_Get_EA_X(_inst) & (~31), 0, 32);
} }