settings: Add a new "use_extended_memory_layout" setting.
- This will be used to enable emulation of a larger memory arrangement.
This commit is contained in:
parent
ca5e843bf6
commit
70482e6b26
|
@ -167,6 +167,7 @@ void RestoreGlobalState(bool is_powered_on) {
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
values.use_multi_core.SetGlobal(true);
|
values.use_multi_core.SetGlobal(true);
|
||||||
|
values.use_extended_memory_layout.SetGlobal(true);
|
||||||
|
|
||||||
// CPU
|
// CPU
|
||||||
values.cpu_accuracy.SetGlobal(true);
|
values.cpu_accuracy.SetGlobal(true);
|
||||||
|
|
|
@ -466,6 +466,7 @@ struct Values {
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
Setting<bool> use_multi_core{true, "use_multi_core"};
|
Setting<bool> use_multi_core{true, "use_multi_core"};
|
||||||
|
Setting<bool> use_extended_memory_layout{false, "use_extended_memory_layout"};
|
||||||
|
|
||||||
// Cpu
|
// Cpu
|
||||||
RangedSetting<CPUAccuracy> cpu_accuracy{CPUAccuracy::Auto, CPUAccuracy::Auto,
|
RangedSetting<CPUAccuracy> cpu_accuracy{CPUAccuracy::Auto, CPUAccuracy::Auto,
|
||||||
|
|
|
@ -445,6 +445,7 @@ void Config::ReadCoreValues() {
|
||||||
qt_config->beginGroup(QStringLiteral("Core"));
|
qt_config->beginGroup(QStringLiteral("Core"));
|
||||||
|
|
||||||
ReadGlobalSetting(Settings::values.use_multi_core);
|
ReadGlobalSetting(Settings::values.use_multi_core);
|
||||||
|
ReadGlobalSetting(Settings::values.use_extended_memory_layout);
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
}
|
}
|
||||||
|
@ -1019,6 +1020,7 @@ void Config::SaveCoreValues() {
|
||||||
qt_config->beginGroup(QStringLiteral("Core"));
|
qt_config->beginGroup(QStringLiteral("Core"));
|
||||||
|
|
||||||
WriteGlobalSetting(Settings::values.use_multi_core);
|
WriteGlobalSetting(Settings::values.use_multi_core);
|
||||||
|
WriteGlobalSetting(Settings::values.use_extended_memory_layout);
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,9 @@ void ConfigureGeneral::SetConfiguration() {
|
||||||
|
|
||||||
ui->use_multi_core->setEnabled(runtime_lock);
|
ui->use_multi_core->setEnabled(runtime_lock);
|
||||||
ui->use_multi_core->setChecked(Settings::values.use_multi_core.GetValue());
|
ui->use_multi_core->setChecked(Settings::values.use_multi_core.GetValue());
|
||||||
|
ui->use_extended_memory_layout->setEnabled(runtime_lock);
|
||||||
|
ui->use_extended_memory_layout->setChecked(
|
||||||
|
Settings::values.use_extended_memory_layout.GetValue());
|
||||||
|
|
||||||
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing.GetValue());
|
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing.GetValue());
|
||||||
ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot.GetValue());
|
ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot.GetValue());
|
||||||
|
@ -91,6 +94,9 @@ void ConfigureGeneral::ResetDefaults() {
|
||||||
void ConfigureGeneral::ApplyConfiguration() {
|
void ConfigureGeneral::ApplyConfiguration() {
|
||||||
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, ui->use_multi_core,
|
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, ui->use_multi_core,
|
||||||
use_multi_core);
|
use_multi_core);
|
||||||
|
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_extended_memory_layout,
|
||||||
|
ui->use_extended_memory_layout,
|
||||||
|
use_extended_memory_layout);
|
||||||
|
|
||||||
if (Settings::IsConfiguringGlobal()) {
|
if (Settings::IsConfiguringGlobal()) {
|
||||||
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
|
||||||
|
@ -160,6 +166,9 @@ void ConfigureGeneral::SetupPerGameUI() {
|
||||||
Settings::values.use_speed_limit, use_speed_limit);
|
Settings::values.use_speed_limit, use_speed_limit);
|
||||||
ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.use_multi_core,
|
ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.use_multi_core,
|
||||||
use_multi_core);
|
use_multi_core);
|
||||||
|
ConfigurationShared::SetColoredTristate(ui->use_extended_memory_layout,
|
||||||
|
Settings::values.use_extended_memory_layout,
|
||||||
|
use_extended_memory_layout);
|
||||||
|
|
||||||
connect(ui->toggle_speed_limit, &QCheckBox::clicked, ui->speed_limit, [this]() {
|
connect(ui->toggle_speed_limit, &QCheckBox::clicked, ui->speed_limit, [this]() {
|
||||||
ui->speed_limit->setEnabled(ui->toggle_speed_limit->isChecked() &&
|
ui->speed_limit->setEnabled(ui->toggle_speed_limit->isChecked() &&
|
||||||
|
|
|
@ -48,6 +48,7 @@ private:
|
||||||
|
|
||||||
ConfigurationShared::CheckState use_speed_limit;
|
ConfigurationShared::CheckState use_speed_limit;
|
||||||
ConfigurationShared::CheckState use_multi_core;
|
ConfigurationShared::CheckState use_multi_core;
|
||||||
|
ConfigurationShared::CheckState use_extended_memory_layout;
|
||||||
|
|
||||||
const Core::System& system;
|
const Core::System& system;
|
||||||
};
|
};
|
||||||
|
|
|
@ -142,6 +142,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="use_extended_memory_layout">
|
||||||
|
<property name="text">
|
||||||
|
<string>Extended memory layout (6GB DRAM)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="toggle_check_exit">
|
<widget class="QCheckBox" name="toggle_check_exit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|
|
@ -266,6 +266,7 @@ void Config::ReadValues() {
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
ReadSetting("Core", Settings::values.use_multi_core);
|
ReadSetting("Core", Settings::values.use_multi_core);
|
||||||
|
ReadSetting("Core", Settings::values.use_extended_memory_layout);
|
||||||
|
|
||||||
// Cpu
|
// Cpu
|
||||||
ReadSetting("Cpu", Settings::values.cpu_accuracy);
|
ReadSetting("Cpu", Settings::values.cpu_accuracy);
|
||||||
|
|
Reference in New Issue