Removed clear on write (needs to be refracted)

This commit is contained in:
zilmar 2012-10-02 21:04:14 +10:00
parent 15894a0e6c
commit f973674718
4 changed files with 19 additions and 17 deletions

View File

@ -1312,7 +1312,7 @@ int CMipsMemoryVM::MemoryFilter( DWORD dwExptCode, void * lpExceptionPointer )
DWORD MemAddress = (char *)lpEP->ExceptionRecord->ExceptionInformation[1] - (char *)_MMU->Rdram();
if ((int)(MemAddress) < 0 || MemAddress > 0x1FFFFFFF)
{
if (bHaveDebugger()) { _Notify->BreakPoint(__FILE__,__LINE__); }
// if (bHaveDebugger()) { _Notify->BreakPoint(__FILE__,__LINE__); }
return EXCEPTION_EXECUTE_HANDLER;
}
@ -3496,22 +3496,23 @@ void CMipsMemoryVM::Compile_StoreInstructClean (x86Reg AddressReg, int Length )
{
return;
}
_Notify->BreakPoint(__FILE__,__LINE__);
/*
stdstr_f strLen("%d",Length);
UnMap_AllFPRs();
x86Reg StoreTemp1 = Map_TempReg(x86_Any,-1,FALSE);
/*x86Reg StoreTemp1 = Map_TempReg(x86_Any,-1,FALSE);
MoveX86RegToX86Reg(AddressReg, StoreTemp1);
AndConstToX86Reg(StoreTemp1,0xFFC);
JnzLabel8("NotDelaySlot",0);
BYTE * NotDelaySlotJump = m_RecompPos - 1;
AndConstToX86Reg(StoreTemp1,0xFFC);*/
BeforeCallDirect(m_RegWorkingSet);
PushImm32("CRecompiler::Remove_StoreInstruc",CRecompiler::Remove_StoreInstruc);
PushImm32(strLen.c_str(),Length);
PushImm32(Length);
Push(AddressReg);
MoveConstToX86reg((DWORD)_Recompiler,x86_ECX);
Call_Direct(AddressOf(&CRecompiler::ClearRecompCode_Virt), "CRecompiler::ClearRecompCode_Virt");
AfterCallDirect(m_RegWorkingSet);
JmpLabel8("MemCheckDone",0);
/*JmpLabel8("MemCheckDone",0);
BYTE * MemCheckDone = m_RecompPos - 1;
CPU_Message(" ");
@ -3538,7 +3539,7 @@ void CMipsMemoryVM::Compile_StoreInstructClean (x86Reg AddressReg, int Length )
SetJump8(MemCheckDone,m_RecompPos);
SetJump8(MemCheckDone2,m_RecompPos);
X86Protected(StoreTemp1) = false;
X86Protected(StoreTemp1) = false;*/
}
void CMipsMemoryVM::Compile_SD (void)

View File

@ -65,7 +65,7 @@ CRecompilerSettings::~CRecompilerSettings()
void CRecompilerSettings::RefreshSettings()
{
m_bSMM_StoreInstruc = _Settings->LoadBool(Game_SMM_StoreInstruc);
m_bSMM_StoreInstruc = false /*_Settings->LoadBool(Game_SMM_StoreInstruc)*/;
m_bSMM_Protect = _Settings->LoadBool(Game_SMM_Protect);
m_bSMM_ValidFunc = _Settings->LoadBool(Game_SMM_ValidFunc);
m_bSMM_PIDMA = _Settings->LoadBool(Game_SMM_PIDMA);

View File

@ -18,7 +18,8 @@ CGameRecompilePage::CGameRecompilePage (HWND hParent, const RECT & rcDispay )
AddModCheckBox(GetDlgItem(IDC_SMM_VALIDATE),Game_SMM_ValidFunc);
AddModCheckBox(GetDlgItem(IDC_SMM_TLB),Game_SMM_TLB);
AddModCheckBox(GetDlgItem(IDC_SMM_PROTECT),Game_SMM_Protect);
AddModCheckBox(GetDlgItem(IDC_SMM_STORE),Game_SMM_StoreInstruc);
::ShowWindow(GetDlgItem(IDC_SMM_STORE),SW_HIDE);
//AddModCheckBox(GetDlgItem(IDC_SMM_STORE),Game_SMM_StoreInstruc);
AddModCheckBox(GetDlgItem(IDC_ROM_FASTSP),Game_FastSP);
CModifiedComboBox * ComboBox;

View File

@ -571,7 +571,7 @@ BEGIN
END
IDD_Settings_GameRecompiler DIALOGEX 0, 0, 230, 156
STYLE DS_SETFONT | WS_CHILD
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@ -584,12 +584,12 @@ BEGIN
CONTROL "Cache",IDC_SMM_CACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,91,89,9
CONTROL "PI DMA",IDC_SMM_DMA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,103,89,9
CONTROL "Start Changed",IDC_SMM_VALIDATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,115,89,8
CONTROL "Protect Memory",IDC_SMM_PROTECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,116,115,89,8
CONTROL "Protect Memory",IDC_SMM_PROTECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,116,91,89,8
CONTROL "TLB Unmapping",IDC_SMM_TLB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,116,103,89,8
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME | SS_SUNKEN,6,42,208,1
CONTROL "Advanced Block Linking",IDC_BLOCK_LINKING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,113,49,95,11
CONTROL "Fast SP",IDC_ROM_FASTSP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,62,91,11
CONTROL "Store Instruction",IDC_SMM_STORE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,116,91,89,8
CONTROL "Store Instruction",IDC_SMM_STORE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,116,115,89,8
END
IDD_Settings_GamePlugin DIALOGEX 0, 0, 231, 206
@ -925,8 +925,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,7,51,52
PRODUCTVERSION 1,7,51,52
FILEVERSION 1,7,51,51
PRODUCTVERSION 1,7,51,51
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -943,12 +943,12 @@ BEGIN
BEGIN
VALUE "CompanyName", " "
VALUE "FileDescription", "Project64"
VALUE "FileVersion", "1, 7, 51, 52"
VALUE "FileVersion", "1, 7, 51, 51"
VALUE "InternalName", "Project64"
VALUE "LegalCopyright", "Copyright © 2010"
VALUE "OriginalFilename", "Project64.exe"
VALUE "ProductName", " Project64"
VALUE "ProductVersion", "1, 7, 51, 52"
VALUE "ProductVersion", "1, 7, 51, 51"
END
END
BLOCK "VarFileInfo"