summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/citra/config.cpp1
-rw-r--r--src/citra/default_ini.h3
-rw-r--r--src/citra_qt/config.cpp2
-rw-r--r--src/core/hw/gpu.cpp11
-rw-r--r--src/core/settings.h1
5 files changed, 7 insertions, 11 deletions
diff --git a/src/citra/config.cpp b/src/citra/config.cpp
index 3e5e986c2..c5ce8a164 100644
--- a/src/citra/config.cpp
+++ b/src/citra/config.cpp
@@ -58,6 +58,7 @@ void Config::ReadControls() {
58 58
59void Config::ReadCore() { 59void Config::ReadCore() {
60 Settings::values.cpu_core = glfw_config->GetInteger("Core", "cpu_core", Core::CPU_Interpreter); 60 Settings::values.cpu_core = glfw_config->GetInteger("Core", "cpu_core", Core::CPU_Interpreter);
61 Settings::values.gpu_refresh_rate = glfw_config->GetInteger("Core", "gpu_refresh_rate", 60);
61} 62}
62 63
63void Config::ReadData() { 64void Config::ReadData() {
diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h
index 4a016d483..7352c70c2 100644
--- a/src/citra/default_ini.h
+++ b/src/citra/default_ini.h
@@ -27,7 +27,8 @@ pad_sleft =
27pad_sright = 27pad_sright =
28 28
29[Core] 29[Core]
30cpu_core = ## 0: Interpreter (default), 1: DynCom Interpreter 30cpu_core = ## 0: Interpreter (default), 1: FastInterpreter (experimental)
31gpu_refresh_rate = ## 60 (default), 1024 or 2048 may work better on the FastInterpreter
31 32
32[Data Storage] 33[Data Storage]
33use_virtual_sd = 34use_virtual_sd =
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index ded44ea8d..63d396439 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -68,12 +68,14 @@ void Config::SaveControls() {
68void Config::ReadCore() { 68void Config::ReadCore() {
69 qt_config->beginGroup("Core"); 69 qt_config->beginGroup("Core");
70 Settings::values.cpu_core = qt_config->value("cpu_core", Core::CPU_Interpreter).toInt(); 70 Settings::values.cpu_core = qt_config->value("cpu_core", Core::CPU_Interpreter).toInt();
71 Settings::values.gpu_refresh_rate = qt_config->value("gpu_refresh_rate", 60).toInt();
71 qt_config->endGroup(); 72 qt_config->endGroup();
72} 73}
73 74
74void Config::SaveCore() { 75void Config::SaveCore() {
75 qt_config->beginGroup("Core"); 76 qt_config->beginGroup("Core");
76 qt_config->setValue("cpu_core", Settings::values.cpu_core); 77 qt_config->setValue("cpu_core", Settings::values.cpu_core);
78 qt_config->setValue("gpu_refresh_rate", Settings::values.gpu_refresh_rate);
77 qt_config->endGroup(); 79 qt_config->endGroup();
78} 80}
79 81
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 94768b101..76dbe3fdc 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -218,16 +218,7 @@ void Update() {
218 218
219/// Initialize hardware 219/// Initialize hardware
220void Init() { 220void Init() {
221 switch (Settings::values.cpu_core) { 221 kFrameCycles = 268123480 / Settings::values.gpu_refresh_rate;
222 case Core::CPU_FastInterpreter:
223 kFrameCycles = 268123480 / 2048;
224 break;
225 case Core::CPU_Interpreter:
226 default:
227 kFrameCycles = 268123480 / 60;
228 break;
229 }
230
231 kFrameTicks = kFrameCycles / 3; 222 kFrameTicks = kFrameCycles / 3;
232 223
233 g_cur_line = 0; 224 g_cur_line = 0;
diff --git a/src/core/settings.h b/src/core/settings.h
index 3e4781884..6a6265e18 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -28,6 +28,7 @@ struct Values {
28 28
29 // Core 29 // Core
30 int cpu_core; 30 int cpu_core;
31 int gpu_refresh_rate;
31 32
32 // Data Storage 33 // Data Storage
33 bool use_virtual_sd; 34 bool use_virtual_sd;