From 70482e6b26d3889517851f57f06c8bed4fbc447a Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 21 Feb 2022 12:35:32 -0800 Subject: settings: Add a new "use_extended_memory_layout" setting. - This will be used to enable emulation of a larger memory arrangement. --- src/common/settings.cpp | 1 + src/common/settings.h | 1 + src/yuzu/configuration/config.cpp | 2 ++ src/yuzu/configuration/configure_general.cpp | 9 +++++++++ src/yuzu/configuration/configure_general.h | 1 + src/yuzu/configuration/configure_general.ui | 7 +++++++ src/yuzu_cmd/config.cpp | 1 + 7 files changed, 22 insertions(+) (limited to 'src') diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 6964a8273..2810cec15 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -167,6 +167,7 @@ void RestoreGlobalState(bool is_powered_on) { // Core values.use_multi_core.SetGlobal(true); + values.use_extended_memory_layout.SetGlobal(true); // CPU values.cpu_accuracy.SetGlobal(true); diff --git a/src/common/settings.h b/src/common/settings.h index 9bee6e10f..d06b23a14 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -466,6 +466,7 @@ struct Values { // Core Setting use_multi_core{true, "use_multi_core"}; + Setting use_extended_memory_layout{false, "use_extended_memory_layout"}; // Cpu RangedSetting cpu_accuracy{CPUAccuracy::Auto, CPUAccuracy::Auto, diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index d5ba86c03..f915bd856 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -445,6 +445,7 @@ void Config::ReadCoreValues() { qt_config->beginGroup(QStringLiteral("Core")); ReadGlobalSetting(Settings::values.use_multi_core); + ReadGlobalSetting(Settings::values.use_extended_memory_layout); qt_config->endGroup(); } @@ -1019,6 +1020,7 @@ void Config::SaveCoreValues() { qt_config->beginGroup(QStringLiteral("Core")); WriteGlobalSetting(Settings::values.use_multi_core); + WriteGlobalSetting(Settings::values.use_extended_memory_layout); qt_config->endGroup(); } diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 978a29fe6..08d5444ec 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp @@ -42,6 +42,9 @@ void ConfigureGeneral::SetConfiguration() { ui->use_multi_core->setEnabled(runtime_lock); 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_user_on_boot->setChecked(UISettings::values.select_user_on_boot.GetValue()); @@ -91,6 +94,9 @@ void ConfigureGeneral::ResetDefaults() { void ConfigureGeneral::ApplyConfiguration() { ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, ui->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()) { 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); ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.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]() { ui->speed_limit->setEnabled(ui->toggle_speed_limit->isChecked() && diff --git a/src/yuzu/configuration/configure_general.h b/src/yuzu/configuration/configure_general.h index 85c1dd4a8..b6f3bb5ed 100644 --- a/src/yuzu/configuration/configure_general.h +++ b/src/yuzu/configuration/configure_general.h @@ -48,6 +48,7 @@ private: ConfigurationShared::CheckState use_speed_limit; ConfigurationShared::CheckState use_multi_core; + ConfigurationShared::CheckState use_extended_memory_layout; const Core::System& system; }; diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui index bfc771135..c6ef2ab70 100644 --- a/src/yuzu/configuration/configure_general.ui +++ b/src/yuzu/configuration/configure_general.ui @@ -142,6 +142,13 @@ + + + + Extended memory layout (6GB DRAM) + + + diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index ff616da70..30963a8bb 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp @@ -266,6 +266,7 @@ void Config::ReadValues() { // Core ReadSetting("Core", Settings::values.use_multi_core); + ReadSetting("Core", Settings::values.use_extended_memory_layout); // Cpu ReadSetting("Cpu", Settings::values.cpu_accuracy); -- cgit v1.2.3