From 304aebbdd482828ccb7e63a22bb3baaa35bf7cb0 Mon Sep 17 00:00:00 2001 From: zilmar Date: Wed, 25 Feb 2015 19:26:48 +1100 Subject: [PATCH] add store constant for 0410000C in recompiler --- .../N64 System/Mips/Memory Virtual Mem.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/Project64/N64 System/Mips/Memory Virtual Mem.cpp b/Source/Project64/N64 System/Mips/Memory Virtual Mem.cpp index 2249b13de..074923138 100644 --- a/Source/Project64/N64 System/Mips/Memory Virtual Mem.cpp +++ b/Source/Project64/N64 System/Mips/Memory Virtual Mem.cpp @@ -1019,6 +1019,21 @@ void CMipsMemoryVM::Compile_SW_Const ( DWORD Value, DWORD VAddr ) { if (g_Settings->LoadBool(Debugger_ShowUnhandledMemory)) { g_Notify->DisplayError("Compile_SW_Const\ntrying to store %X in %X?",Value,VAddr); } } break; + case 0x04100000: + switch (PAddr) + { + case 0x0410000C: + BeforeCallDirect(m_RegWorkingSet); + PushImm32(Value); + PushImm32(PAddr); + MoveConstToX86reg((ULONG)((CMipsMemoryVM *)this),x86_ECX); + Call_Direct(AddressOf(&CMipsMemoryVM::SW_NonMemory),"CMipsMemoryVM::SW_NonMemory"); + AfterCallDirect(m_RegWorkingSet); + break; + default: + if (g_Settings->LoadBool(Debugger_ShowUnhandledMemory)) { g_Notify->DisplayError("Compile_SW_Const\ntrying to store %X in %X?",Value,VAddr); } + } + break; case 0x04300000: switch (PAddr) { case 0x04300000: