From d8a26fe9e008837cb3a3bab20a40177a2ef2d445 Mon Sep 17 00:00:00 2001 From: "XTra.KrazzY" Date: Tue, 2 Dec 2008 21:16:09 +0000 Subject: [PATCH] stwcxd clarification (no implementation, as of yet, let alone a JIT one) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1379 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp | 5 ++++- Source/Core/Core/Src/PowerPC/PPCTables.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp index 80056f65d2..c83b796bca 100644 --- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp @@ -593,10 +593,13 @@ void lwarx(UGeckoInstruction _inst) void stwcxd(UGeckoInstruction _inst) { - // This instruction, to + // This instruction, too static bool bFirst = true; if (bFirst) PanicAlert("stwcxd - suspicious instruction"); + + // TODO: Stores Word Conditional indeXed + bFirst = false; u32 uAddress = Helper_Get_EA_X(_inst); Memory::Write_U32(m_GPR[_inst.RS], uAddress); diff --git a/Source/Core/Core/Src/PowerPC/PPCTables.cpp b/Source/Core/Core/Src/PowerPC/PPCTables.cpp index 56a6fcbd19..d82d671158 100644 --- a/Source/Core/Core/Src/PowerPC/PPCTables.cpp +++ b/Source/Core/Core/Src/PowerPC/PPCTables.cpp @@ -374,13 +374,15 @@ GekkoOPTemplate table31[] = {598, Interpreter::sync, Jit64::DoNothing, {"sync", OPTYPE_SYSTEM, 0, 2}}, {982, Interpreter::icbi, Jit64::Default, {"icbi", OPTYPE_SYSTEM, 0, 3}}, - //Unused instructions on GC + // Unused instructions on GC {310, Interpreter::eciwx, Jit64::Default, {"eciwx", OPTYPE_INTEGER, FL_RC_BIT}}, {438, Interpreter::ecowx, Jit64::Default, {"ecowx", OPTYPE_INTEGER, FL_RC_BIT}}, {854, Interpreter::eieio, Jit64::Default, {"eieio", OPTYPE_INTEGER, FL_RC_BIT}}, {306, Interpreter::tlbie, Jit64::Default, {"tlbie", OPTYPE_SYSTEM, 0}}, {370, Interpreter::tlbia, Jit64::Default, {"tlbia", OPTYPE_SYSTEM, 0}}, {566, Interpreter::tlbsync, Jit64::Default, {"tlbsync", OPTYPE_SYSTEM, 0}}, + + // Instructions used on Wii and thought not to be used by a Gekko {150, Interpreter::stwcxd, Jit64::Default, {"stwcxd", OPTYPE_STORE, 0}}, };