Merge pull request #8348 from JosJuice/mmu-setting

Disable full MMU by default and add it to global config GUI
This commit is contained in:
Anthony 2019-11-27 16:04:40 -08:00 committed by GitHub
commit c2c8a14966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 4 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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;