diff --git a/Source/Core/Core/HLE/HLE.cpp b/Source/Core/Core/HLE/HLE.cpp index 1bedecea64..4d4de4de92 100644 --- a/Source/Core/Core/HLE/HLE.cpp +++ b/Source/Core/Core/HLE/HLE.cpp @@ -143,9 +143,6 @@ int GetFunctionFlagsByIndex(u32 index) bool IsEnabled(int flags) { - if (flags == HLE::HLE_TYPE_MEMORY && SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU) - return false; - if (flags == HLE::HLE_TYPE_DEBUG && !SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableDebugging && PowerPC::GetMode() != MODE_INTERPRETER) return false; diff --git a/Source/Core/Core/HLE/HLE.h b/Source/Core/Core/HLE/HLE.h index 5b687c3764..e44a0ee054 100644 --- a/Source/Core/Core/HLE/HLE.h +++ b/Source/Core/Core/HLE/HLE.h @@ -21,9 +21,7 @@ namespace HLE enum { HLE_TYPE_GENERIC = 0, // Miscellaneous function - HLE_TYPE_MEMORY = 1, // Memory operation - HLE_TYPE_FP = 2, // Floating Point operation - HLE_TYPE_DEBUG = 3, // Debug output function + HLE_TYPE_DEBUG = 1, // Debug output function }; void PatchFunctions(); diff --git a/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp b/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp index a9808f7d07..c4f3401f7d 100644 --- a/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp +++ b/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp @@ -296,7 +296,7 @@ void EmuCodeBlock::SafeLoadToReg(X64Reg reg_value, const Gen::OpArg & opAddress, { registersInUse[reg_value] = false; } - if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && + if (!jit->js.memcheck && SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem && !opAddress.IsImm() && !(flags & (SAFE_LOADSTORE_NO_SWAP | SAFE_LOADSTORE_NO_FASTMEM)) @@ -333,7 +333,7 @@ void EmuCodeBlock::SafeLoadToReg(X64Reg reg_value, const Gen::OpArg & opAddress, { UnsafeLoadToReg(reg_value, opAddress, accessSize, offset, signExtend); } - else if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && MMIO::IsMMIOAddress(address) && accessSize != 64) + else if (MMIO::IsMMIOAddress(address) && accessSize != 64) { MMIOLoadToReg(Memory::mmio_mapping, reg_value, registersInUse, address, accessSize, signExtend); @@ -548,7 +548,7 @@ void EmuCodeBlock::SafeWriteRegToReg(OpArg reg_value, X64Reg reg_addr, int acces reg_value = FixImmediate(accessSize, reg_value); // TODO: support byte-swapped non-immediate fastmem stores - if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU && + if (!jit->js.memcheck && SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem && !(flags & SAFE_LOADSTORE_NO_FASTMEM) && (reg_value.IsImm() || !(flags & SAFE_LOADSTORE_NO_SWAP))