summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2019-11-27 16:04:40 -0800
committerGitHub <noreply@github.com>2019-11-27 16:04:40 -0800
commitc2c8a14966dcea8d86a5ea5bb2eeb0f694002425 (patch)
tree14383f60b38bcbdbb6a54f719359b2f8fef49ee3 /Source
parent9822a2d582136acc1ae10fcc33472d0128b2168d (diff)
parent9e0b09ddf4400e6bfb08963a2e5ac1c697eb94f0 (diff)
Merge pull request #8348 from JosJuice/mmu-setting
Disable full MMU by default and add it to global config GUI
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/ConfigManager.cpp5
-rw-r--r--Source/Core/DolphinQt/Settings/AdvancedPane.cpp9
-rw-r--r--Source/Core/DolphinQt/Settings/AdvancedPane.h1
3 files changed, 11 insertions, 4 deletions
diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp
index 44a85b0de4..8a1353822d 100644
--- a/Source/Core/Core/ConfigManager.cpp
+++ b/Source/Core/Core/ConfigManager.cpp
@@ -236,6 +236,7 @@ void SConfig::SaveCoreSettings(IniFile& ini)
core->Set("WiimoteEnableSpeaker", m_WiimoteEnableSpeaker);
core->Set("RunCompareServer", bRunCompareServer);
core->Set("RunCompareClient", bRunCompareClient);
+ core->Set("MMU", bMMU);
core->Set("EmulationSpeed", m_EmulationSpeed);
core->Set("Overclock", m_OCFactor);
core->Set("OverclockEnable", m_OCEnable);
@@ -767,11 +768,7 @@ void SConfig::LoadDefaults()
bFastmem = true;
bFPRF = false;
bAccurateNaNs = false;
-#ifdef _M_X86_64
- bMMU = true;
-#else
bMMU = false;
-#endif
bLowDCBZHack = false;
iBBDumpPort = -1;
bSyncGPU = false;
diff --git a/Source/Core/DolphinQt/Settings/AdvancedPane.cpp b/Source/Core/DolphinQt/Settings/AdvancedPane.cpp
index 8562bb74b0..cf7493a619 100644
--- a/Source/Core/DolphinQt/Settings/AdvancedPane.cpp
+++ b/Source/Core/DolphinQt/Settings/AdvancedPane.cpp
@@ -63,6 +63,9 @@ void AdvancedPane::CreateLayout()
cpu_emulation_layout->addWidget(m_cpu_emulation_engine_combobox, 0, 1, Qt::AlignLeft);
cpu_options_layout->addLayout(cpu_emulation_layout);
+ m_enable_mmu_checkbox = new QCheckBox(tr("Enable MMU"));
+ cpu_options_layout->addWidget(m_enable_mmu_checkbox);
+
auto* clock_override = new QGroupBox(tr("Clock Override"));
auto* clock_override_layout = new QVBoxLayout();
clock_override->setLayout(clock_override_layout);
@@ -134,6 +137,9 @@ void AdvancedPane::ConnectLayout()
Config::SetBaseOrCurrent(Config::MAIN_CPU_CORE, PowerPC::AvailableCPUCores()[index]);
});
+ connect(m_enable_mmu_checkbox, &QCheckBox::toggled, this,
+ [this](bool checked) { SConfig::GetInstance().bMMU = checked; });
+
m_cpu_clock_override_checkbox->setChecked(SConfig::GetInstance().m_OCEnable);
connect(m_cpu_clock_override_checkbox, &QCheckBox::toggled, [this](bool enable_clock_override) {
SConfig::GetInstance().m_OCEnable = enable_clock_override;
@@ -178,6 +184,9 @@ void AdvancedPane::Update()
}
m_cpu_emulation_engine_combobox->setEnabled(!running);
+ m_enable_mmu_checkbox->setChecked(SConfig::GetInstance().bMMU);
+ m_enable_mmu_checkbox->setEnabled(!running);
+
QFont bf = font();
bf.setBold(Config::GetActiveLayerForConfig(Config::MAIN_OVERCLOCK_ENABLE) !=
Config::LayerType::Base);
diff --git a/Source/Core/DolphinQt/Settings/AdvancedPane.h b/Source/Core/DolphinQt/Settings/AdvancedPane.h
index 5b3ac07f1b..a625038a12 100644
--- a/Source/Core/DolphinQt/Settings/AdvancedPane.h
+++ b/Source/Core/DolphinQt/Settings/AdvancedPane.h
@@ -32,6 +32,7 @@ private:
void Update();
QComboBox* m_cpu_emulation_engine_combobox;
+ QCheckBox* m_enable_mmu_checkbox;
QCheckBox* m_cpu_clock_override_checkbox;
QSlider* m_cpu_clock_override_slider;
QLabel* m_cpu_clock_override_slider_label;