diff options
| author | 2018-03-27 10:22:08 -0400 | |
|---|---|---|
| committer | 2018-03-27 10:22:08 -0400 | |
| commit | a5e9745380bf9e247d34c42009cd9eb66f4e97a8 (patch) | |
| tree | 3c31fcb4375793542daff053665be555c2dfaa7f /src | |
| parent | Merge pull request #282 from N00byKing/patch-2 (diff) | |
| parent | settings: Remove unused CpuCore class. (diff) | |
| download | yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.tar.gz yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.tar.xz yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.zip | |
Merge pull request #284 from bunnei/docked-config
Add config for "Docked" mode and various settings cleanup
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/core.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 8 | ||||
| -rw-r--r-- | src/core/settings.h | 10 | ||||
| -rw-r--r-- | src/core/telemetry_session.cpp | 5 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 13 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_general.cpp | 10 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_general.ui | 77 | ||||
| -rw-r--r-- | src/yuzu_cmd/config.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu_cmd/default_ini.h | 10 |
9 files changed, 88 insertions, 61 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index d55621de8..11654d4da 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -148,19 +148,15 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | |||
| 148 | 148 | ||
| 149 | current_process = Kernel::Process::Create("main"); | 149 | current_process = Kernel::Process::Create("main"); |
| 150 | 150 | ||
| 151 | switch (Settings::values.cpu_core) { | 151 | if (Settings::values.use_cpu_jit) { |
| 152 | case Settings::CpuCore::Unicorn: | ||
| 153 | cpu_core = std::make_shared<ARM_Unicorn>(); | ||
| 154 | break; | ||
| 155 | case Settings::CpuCore::Dynarmic: | ||
| 156 | default: | ||
| 157 | #ifdef ARCHITECTURE_x86_64 | 152 | #ifdef ARCHITECTURE_x86_64 |
| 158 | cpu_core = std::make_shared<ARM_Dynarmic>(); | 153 | cpu_core = std::make_shared<ARM_Dynarmic>(); |
| 159 | #else | 154 | #else |
| 160 | cpu_core = std::make_shared<ARM_Unicorn>(); | 155 | cpu_core = std::make_shared<ARM_Unicorn>(); |
| 161 | LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); | 156 | LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); |
| 162 | #endif | 157 | #endif |
| 163 | break; | 158 | } else { |
| 159 | cpu_core = std::make_shared<ARM_Unicorn>(); | ||
| 164 | } | 160 | } |
| 165 | 161 | ||
| 166 | gpu_core = std::make_unique<Tegra::GPU>(); | 162 | gpu_core = std::make_unique<Tegra::GPU>(); |
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d9f003ed4..bab338205 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include "core/hle/service/apm/apm.h" | 12 | #include "core/hle/service/apm/apm.h" |
| 13 | #include "core/hle/service/filesystem/filesystem.h" | 13 | #include "core/hle/service/filesystem/filesystem.h" |
| 14 | #include "core/hle/service/nvflinger/nvflinger.h" | 14 | #include "core/hle/service/nvflinger/nvflinger.h" |
| 15 | #include "core/settings.h" | ||
| 15 | 16 | ||
| 16 | namespace Service { | 17 | namespace Service { |
| 17 | namespace AM { | 18 | namespace AM { |
| @@ -241,17 +242,20 @@ void ICommonStateGetter::GetCurrentFocusState(Kernel::HLERequestContext& ctx) { | |||
| 241 | } | 242 | } |
| 242 | 243 | ||
| 243 | void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { | 244 | void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { |
| 245 | const bool use_docked_mode{Settings::values.use_docked_mode}; | ||
| 244 | IPC::ResponseBuilder rb{ctx, 3}; | 246 | IPC::ResponseBuilder rb{ctx, 3}; |
| 245 | rb.Push(RESULT_SUCCESS); | 247 | rb.Push(RESULT_SUCCESS); |
| 246 | rb.Push(static_cast<u8>(OperationMode::Handheld)); | 248 | rb.Push(static_cast<u8>(use_docked_mode ? OperationMode::Docked : OperationMode::Handheld)); |
| 247 | 249 | ||
| 248 | LOG_WARNING(Service_AM, "(STUBBED) called"); | 250 | LOG_WARNING(Service_AM, "(STUBBED) called"); |
| 249 | } | 251 | } |
| 250 | 252 | ||
| 251 | void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { | 253 | void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { |
| 254 | const bool use_docked_mode{Settings::values.use_docked_mode}; | ||
| 252 | IPC::ResponseBuilder rb{ctx, 3}; | 255 | IPC::ResponseBuilder rb{ctx, 3}; |
| 253 | rb.Push(RESULT_SUCCESS); | 256 | rb.Push(RESULT_SUCCESS); |
| 254 | rb.Push(static_cast<u32>(APM::PerformanceMode::Handheld)); | 257 | rb.Push(static_cast<u32>(use_docked_mode ? APM::PerformanceMode::Docked |
| 258 | : APM::PerformanceMode::Handheld)); | ||
| 255 | 259 | ||
| 256 | LOG_WARNING(Service_AM, "(STUBBED) called"); | 260 | LOG_WARNING(Service_AM, "(STUBBED) called"); |
| 257 | } | 261 | } |
diff --git a/src/core/settings.h b/src/core/settings.h index 6f8cd0f03..2c94caab7 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -105,12 +105,10 @@ static const std::array<const char*, NumAnalogs> mapping = {{ | |||
| 105 | }}; | 105 | }}; |
| 106 | } // namespace NativeAnalog | 106 | } // namespace NativeAnalog |
| 107 | 107 | ||
| 108 | enum class CpuCore { | ||
| 109 | Unicorn, | ||
| 110 | Dynarmic, | ||
| 111 | }; | ||
| 112 | |||
| 113 | struct Values { | 108 | struct Values { |
| 109 | // System | ||
| 110 | bool use_docked_mode; | ||
| 111 | |||
| 114 | // Controls | 112 | // Controls |
| 115 | std::array<std::string, NativeButton::NumButtons> buttons; | 113 | std::array<std::string, NativeButton::NumButtons> buttons; |
| 116 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; | 114 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; |
| @@ -118,7 +116,7 @@ struct Values { | |||
| 118 | std::string touch_device; | 116 | std::string touch_device; |
| 119 | 117 | ||
| 120 | // Core | 118 | // Core |
| 121 | CpuCore cpu_core; | 119 | bool use_cpu_jit; |
| 122 | 120 | ||
| 123 | // Data Storage | 121 | // Data Storage |
| 124 | bool use_virtual_sd; | 122 | bool use_virtual_sd; |
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index bea05a09b..b3ffcd443 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp | |||
| @@ -154,12 +154,13 @@ TelemetrySession::TelemetrySession() { | |||
| 154 | #endif | 154 | #endif |
| 155 | 155 | ||
| 156 | // Log user configuration information | 156 | // Log user configuration information |
| 157 | AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", | 157 | AddField(Telemetry::FieldType::UserConfig, "Core_UseCpuJit", Settings::values.use_cpu_jit); |
| 158 | static_cast<int>(Settings::values.cpu_core)); | ||
| 159 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", | 158 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", |
| 160 | Settings::values.resolution_factor); | 159 | Settings::values.resolution_factor); |
| 161 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", | 160 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", |
| 162 | Settings::values.toggle_framelimit); | 161 | Settings::values.toggle_framelimit); |
| 162 | AddField(Telemetry::FieldType::UserConfig, "System_UseDockedMode", | ||
| 163 | Settings::values.use_docked_mode); | ||
| 163 | } | 164 | } |
| 164 | 165 | ||
| 165 | TelemetrySession::~TelemetrySession() { | 166 | TelemetrySession::~TelemetrySession() { |
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 71dc58e5d..4b4216eec 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp | |||
| @@ -77,8 +77,7 @@ void Config::ReadValues() { | |||
| 77 | qt_config->endGroup(); | 77 | qt_config->endGroup(); |
| 78 | 78 | ||
| 79 | qt_config->beginGroup("Core"); | 79 | qt_config->beginGroup("Core"); |
| 80 | Settings::values.cpu_core = | 80 | Settings::values.use_cpu_jit = qt_config->value("use_cpu_jit", true).toBool(); |
| 81 | static_cast<Settings::CpuCore>(qt_config->value("cpu_core", 1).toInt()); | ||
| 82 | qt_config->endGroup(); | 81 | qt_config->endGroup(); |
| 83 | 82 | ||
| 84 | qt_config->beginGroup("Renderer"); | 83 | qt_config->beginGroup("Renderer"); |
| @@ -94,6 +93,10 @@ void Config::ReadValues() { | |||
| 94 | Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); | 93 | Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); |
| 95 | qt_config->endGroup(); | 94 | qt_config->endGroup(); |
| 96 | 95 | ||
| 96 | qt_config->beginGroup("System"); | ||
| 97 | Settings::values.use_docked_mode = qt_config->value("use_docked_mode", true).toBool(); | ||
| 98 | qt_config->endGroup(); | ||
| 99 | |||
| 97 | qt_config->beginGroup("Miscellaneous"); | 100 | qt_config->beginGroup("Miscellaneous"); |
| 98 | Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString(); | 101 | Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString(); |
| 99 | qt_config->endGroup(); | 102 | qt_config->endGroup(); |
| @@ -171,7 +174,7 @@ void Config::SaveValues() { | |||
| 171 | qt_config->endGroup(); | 174 | qt_config->endGroup(); |
| 172 | 175 | ||
| 173 | qt_config->beginGroup("Core"); | 176 | qt_config->beginGroup("Core"); |
| 174 | qt_config->setValue("cpu_core", static_cast<int>(Settings::values.cpu_core)); | 177 | qt_config->setValue("use_cpu_jit", Settings::values.use_cpu_jit); |
| 175 | qt_config->endGroup(); | 178 | qt_config->endGroup(); |
| 176 | 179 | ||
| 177 | qt_config->beginGroup("Renderer"); | 180 | qt_config->beginGroup("Renderer"); |
| @@ -188,6 +191,10 @@ void Config::SaveValues() { | |||
| 188 | qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); | 191 | qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); |
| 189 | qt_config->endGroup(); | 192 | qt_config->endGroup(); |
| 190 | 193 | ||
| 194 | qt_config->beginGroup("System"); | ||
| 195 | qt_config->setValue("use_docked_mode", Settings::values.use_docked_mode); | ||
| 196 | qt_config->endGroup(); | ||
| 197 | |||
| 191 | qt_config->beginGroup("Miscellaneous"); | 198 | qt_config->beginGroup("Miscellaneous"); |
| 192 | qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter)); | 199 | qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter)); |
| 193 | qt_config->endGroup(); | 200 | qt_config->endGroup(); |
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 92fd6ab02..616a67f9f 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp | |||
| @@ -15,7 +15,8 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) | |||
| 15 | 15 | ||
| 16 | this->setConfiguration(); | 16 | this->setConfiguration(); |
| 17 | 17 | ||
| 18 | ui->cpu_core_combobox->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | 18 | ui->use_cpu_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); |
| 19 | ui->use_docked_mode->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | ||
| 19 | } | 20 | } |
| 20 | 21 | ||
| 21 | ConfigureGeneral::~ConfigureGeneral() {} | 22 | ConfigureGeneral::~ConfigureGeneral() {} |
| @@ -23,13 +24,14 @@ ConfigureGeneral::~ConfigureGeneral() {} | |||
| 23 | void ConfigureGeneral::setConfiguration() { | 24 | void ConfigureGeneral::setConfiguration() { |
| 24 | ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan); | 25 | ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan); |
| 25 | ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); | 26 | ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); |
| 26 | ui->cpu_core_combobox->setCurrentIndex(static_cast<int>(Settings::values.cpu_core)); | 27 | ui->use_cpu_jit->setChecked(Settings::values.use_cpu_jit); |
| 28 | ui->use_docked_mode->setChecked(Settings::values.use_docked_mode); | ||
| 27 | } | 29 | } |
| 28 | 30 | ||
| 29 | void ConfigureGeneral::applyConfiguration() { | 31 | void ConfigureGeneral::applyConfiguration() { |
| 30 | UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); | 32 | UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); |
| 31 | UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); | 33 | UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); |
| 32 | Settings::values.cpu_core = | 34 | Settings::values.use_cpu_jit = ui->use_cpu_jit->isChecked(); |
| 33 | static_cast<Settings::CpuCore>(ui->cpu_core_combobox->currentIndex()); | 35 | Settings::values.use_docked_mode = ui->use_docked_mode->isChecked(); |
| 34 | Settings::Apply(); | 36 | Settings::Apply(); |
| 35 | } | 37 | } |
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui index 573c4cb0e..5ff68f079 100644 --- a/src/yuzu/configuration/configure_general.ui +++ b/src/yuzu/configuration/configure_general.ui | |||
| @@ -13,17 +13,17 @@ | |||
| 13 | <property name="windowTitle"> | 13 | <property name="windowTitle"> |
| 14 | <string>Form</string> | 14 | <string>Form</string> |
| 15 | </property> | 15 | </property> |
| 16 | <layout class="QHBoxLayout" name="horizontalLayout"> | 16 | <layout class="QHBoxLayout" name="HorizontalLayout"> |
| 17 | <item> | 17 | <item> |
| 18 | <layout class="QVBoxLayout" name="verticalLayout"> | 18 | <layout class="QVBoxLayout" name="VerticalLayout"> |
| 19 | <item> | 19 | <item> |
| 20 | <widget class="QGroupBox" name="groupBox"> | 20 | <widget class="QGroupBox" name="GeneralGroupBox"> |
| 21 | <property name="title"> | 21 | <property name="title"> |
| 22 | <string>General</string> | 22 | <string>General</string> |
| 23 | </property> | 23 | </property> |
| 24 | <layout class="QHBoxLayout" name="horizontalLayout_3"> | 24 | <layout class="QHBoxLayout" name="GeneralHorizontalLayout"> |
| 25 | <item> | 25 | <item> |
| 26 | <layout class="QVBoxLayout" name="verticalLayout_2"> | 26 | <layout class="QVBoxLayout" name="GeneralVerticalLayout"> |
| 27 | <item> | 27 | <item> |
| 28 | <widget class="QCheckBox" name="toggle_deepscan"> | 28 | <widget class="QCheckBox" name="toggle_deepscan"> |
| 29 | <property name="text"> | 29 | <property name="text"> |
| @@ -44,40 +44,53 @@ | |||
| 44 | </widget> | 44 | </widget> |
| 45 | </item> | 45 | </item> |
| 46 | <item> | 46 | <item> |
| 47 | <widget class="QGroupBox" name="groupBox_2"> | 47 | <widget class="QGroupBox" name="PerformanceGroupBox"> |
| 48 | <property name="title"> | 48 | <property name="title"> |
| 49 | <string>CPU Core</string> | 49 | <string>Performance</string> |
| 50 | </property> | 50 | </property> |
| 51 | <layout class="QHBoxLayout" name="horizontalLayout_7"> | 51 | <layout class="QHBoxLayout" name="PerformanceHorizontalLayout"> |
| 52 | <item> | 52 | <item> |
| 53 | <layout class="QVBoxLayout" name="verticalLayout_5"> | 53 | <layout class="QVBoxLayout" name="PerformanceVerticalLayout"> |
| 54 | <item> | 54 | <item> |
| 55 | <widget class="QComboBox" name="cpu_core_combobox"> | 55 | <widget class="QCheckBox" name="use_cpu_jit"> |
| 56 | <item> | 56 | <property name="text"> |
| 57 | <property name="text"> | 57 | <string>Enable CPU JIT</string> |
| 58 | <string>Unicorn</string> | 58 | </property> |
| 59 | </property> | 59 | </widget> |
| 60 | </item> | 60 | </item> |
| 61 | <item> | ||
| 62 | <property name="text"> | ||
| 63 | <string>Dynarmic</string> | ||
| 64 | </property> | ||
| 65 | </item> | ||
| 66 | </widget> | ||
| 67 | </item> | ||
| 68 | </layout> | ||
| 69 | </item> | ||
| 70 | </layout> | 61 | </layout> |
| 71 | </widget> | 62 | </item> |
| 63 | </layout> | ||
| 64 | </widget> | ||
| 65 | </item> | ||
| 66 | <item> | ||
| 67 | <widget class="QGroupBox" name="EmulationGroupBox"> | ||
| 68 | <property name="title"> | ||
| 69 | <string>Emulation</string> | ||
| 70 | </property> | ||
| 71 | <layout class="QHBoxLayout" name="EmulationHorizontalLayout"> | ||
| 72 | <item> | ||
| 73 | <layout class="QVBoxLayout" name="EmulationVerticalLayout"> | ||
| 74 | <item> | ||
| 75 | <widget class="QCheckBox" name="use_docked_mode"> | ||
| 76 | <property name="text"> | ||
| 77 | <string>Enable docked mode</string> | ||
| 78 | </property> | ||
| 79 | </widget> | ||
| 80 | </item> | ||
| 81 | </layout> | ||
| 82 | </item> | ||
| 83 | </layout> | ||
| 84 | </widget> | ||
| 72 | </item> | 85 | </item> |
| 73 | <item> | 86 | <item> |
| 74 | <widget class="QGroupBox" name="groupBox_3"> | 87 | <widget class="QGroupBox" name="HotKeysGroupBox"> |
| 75 | <property name="title"> | 88 | <property name="title"> |
| 76 | <string>Hotkeys</string> | 89 | <string>Hotkeys</string> |
| 77 | </property> | 90 | </property> |
| 78 | <layout class="QHBoxLayout" name="horizontalLayout_4"> | 91 | <layout class="QHBoxLayout" name="HotKeysHorizontalLayout"> |
| 79 | <item> | 92 | <item> |
| 80 | <layout class="QVBoxLayout" name="verticalLayout_4"> | 93 | <layout class="QVBoxLayout" name="HotKeysVerticalLayout"> |
| 81 | <item> | 94 | <item> |
| 82 | <widget class="GHotkeysDialog" name="widget" native="true"/> | 95 | <widget class="GHotkeysDialog" name="widget" native="true"/> |
| 83 | </item> | 96 | </item> |
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 342ad3850..8b479bc6d 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp | |||
| @@ -90,8 +90,7 @@ void Config::ReadValues() { | |||
| 90 | sdl2_config->Get("Controls", "touch_device", "engine:emu_window"); | 90 | sdl2_config->Get("Controls", "touch_device", "engine:emu_window"); |
| 91 | 91 | ||
| 92 | // Core | 92 | // Core |
| 93 | Settings::values.cpu_core = | 93 | Settings::values.use_cpu_jit = sdl2_config->GetBoolean("Core", "use_cpu_jit", true); |
| 94 | static_cast<Settings::CpuCore>(sdl2_config->GetInteger("Core", "cpu_core", 1)); | ||
| 95 | 94 | ||
| 96 | // Renderer | 95 | // Renderer |
| 97 | Settings::values.resolution_factor = | 96 | Settings::values.resolution_factor = |
| @@ -107,6 +106,9 @@ void Config::ReadValues() { | |||
| 107 | Settings::values.use_virtual_sd = | 106 | Settings::values.use_virtual_sd = |
| 108 | sdl2_config->GetBoolean("Data Storage", "use_virtual_sd", true); | 107 | sdl2_config->GetBoolean("Data Storage", "use_virtual_sd", true); |
| 109 | 108 | ||
| 109 | // System | ||
| 110 | Settings::values.use_docked_mode = sdl2_config->GetBoolean("System", "use_docked_mode", true); | ||
| 111 | |||
| 110 | // Miscellaneous | 112 | // Miscellaneous |
| 111 | Settings::values.log_filter = sdl2_config->Get("Miscellaneous", "log_filter", "*:Trace"); | 113 | Settings::values.log_filter = sdl2_config->Get("Miscellaneous", "log_filter", "*:Trace"); |
| 112 | 114 | ||
diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h index fe104fb81..cf157bf27 100644 --- a/src/yuzu_cmd/default_ini.h +++ b/src/yuzu_cmd/default_ini.h | |||
| @@ -76,9 +76,9 @@ motion_device= | |||
| 76 | touch_device= | 76 | touch_device= |
| 77 | 77 | ||
| 78 | [Core] | 78 | [Core] |
| 79 | # Which CPU core to use for CPU emulation | 79 | # Whether to use the Just-In-Time (JIT) compiler for CPU emulation |
| 80 | # 0: Unicorn (slow), 1 (default): Dynarmic (faster) | 80 | # 0: Interpreter (slow), 1 (default): JIT (fast) |
| 81 | cpu_core = | 81 | use_cpu_jit = |
| 82 | 82 | ||
| 83 | [Renderer] | 83 | [Renderer] |
| 84 | # Whether to use software or hardware rendering. | 84 | # Whether to use software or hardware rendering. |
| @@ -154,6 +154,10 @@ output_device = | |||
| 154 | use_virtual_sd = | 154 | use_virtual_sd = |
| 155 | 155 | ||
| 156 | [System] | 156 | [System] |
| 157 | # Whether the system is docked | ||
| 158 | # 1 (default): Yes, 0: No | ||
| 159 | use_docked_mode = | ||
| 160 | |||
| 157 | # The system region that Citra will use during emulation | 161 | # The system region that Citra will use during emulation |
| 158 | # -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan | 162 | # -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan |
| 159 | region_value = | 163 | region_value = |