stwcxd and lwarx are now emulated properly. Sonic Unleashed boots!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1398 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
aa05c2173e
commit
f3fb99446d
|
@ -597,7 +597,7 @@ void lwarx(UGeckoInstruction _inst)
|
||||||
|
|
||||||
void stwcxd(UGeckoInstruction _inst)
|
void stwcxd(UGeckoInstruction _inst)
|
||||||
{
|
{
|
||||||
// This instruction, too
|
// This instruction, too
|
||||||
//PanicAlert("stwcxd - suspicious instruction");
|
//PanicAlert("stwcxd - suspicious instruction");
|
||||||
|
|
||||||
// Stores Word Conditional indeXed
|
// Stores Word Conditional indeXed
|
||||||
|
@ -609,13 +609,12 @@ void stwcxd(UGeckoInstruction _inst)
|
||||||
if(uAddress == g_reserveAddr) {
|
if(uAddress == g_reserveAddr) {
|
||||||
Memory::Write_U32(m_GPR[_inst.RS], uAddress);
|
Memory::Write_U32(m_GPR[_inst.RS], uAddress);
|
||||||
g_bReserve = false;
|
g_bReserve = false;
|
||||||
|
SetCRField(0, 2 | XER.SO);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
SetCRField(0, XER.SO);
|
||||||
// TODO: Set CR0 to IS_XER_SO
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void stwux(UGeckoInstruction _inst)
|
void stwux(UGeckoInstruction _inst)
|
||||||
|
|
Loading…
Reference in New Issue