diff options
| author | XTra.KrazzY <XTra.KrazzY@gmail.com> | 2008-12-04 19:12:09 +0000 |
|---|---|---|
| committer | XTra.KrazzY <XTra.KrazzY@gmail.com> | 2008-12-04 19:12:09 +0000 |
| commit | f3fb99446d89ca6e376002ec7c7af009d95ed075 (patch) | |
| tree | 86073df4d10a9928a7546d4aad3916cf5b6422fb /Source/Core | |
| parent | aa05c2173efd422df78981a0ca522ee6e813878f (diff) | |
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
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp index 6687b5a7b2..ffd87f6b08 100644 --- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp @@ -597,7 +597,7 @@ void lwarx(UGeckoInstruction _inst) void stwcxd(UGeckoInstruction _inst)
{
- // This instruction, too
+ // This instruction, too
//PanicAlert("stwcxd - suspicious instruction");
// Stores Word Conditional indeXed
@@ -609,13 +609,12 @@ void stwcxd(UGeckoInstruction _inst) if(uAddress == g_reserveAddr) {
Memory::Write_U32(m_GPR[_inst.RS], uAddress);
g_bReserve = false;
-
+ SetCRField(0, 2 | XER.SO);
return;
}
- }
-
- // TODO: Set CR0 to IS_XER_SO
+ }
+ SetCRField(0, XER.SO);
}
void stwux(UGeckoInstruction _inst)
|
