Skip to content

Commit

Permalink
Merge pull request #8348 from JosJuice/mmu-setting
Browse files Browse the repository at this point in the history
Disable full MMU by default and add it to global config GUI
  • Loading branch information
Helios747 committed Nov 28, 2019
2 parents 9822a2d + 9e0b09d commit c2c8a14
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
5 changes: 1 addition & 4 deletions Source/Core/Core/ConfigManager.cpp
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down
9 changes: 9 additions & 0 deletions Source/Core/DolphinQt/Settings/AdvancedPane.cpp
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinQt/Settings/AdvancedPane.h
Expand Up @@ -32,6 +32,7 @@ class AdvancedPane final : public QWidget
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;
Expand Down

0 comments on commit c2c8a14

Please sign in to comment.