diff options
| author | Charles Lombardo <clombardo169@gmail.com> | 2023-01-17 00:54:58 -0500 |
|---|---|---|
| committer | Charles Lombardo <clombardo169@gmail.com> | 2023-01-18 01:55:39 -0500 |
| commit | 6448d6dbe7d683ae53068770457484605284fe82 (patch) | |
| tree | 8ac2d8ef443c369443bc7ff7fae189eae47cd1cb /Source/Android/app/src/main/java/org | |
| parent | 96c8a7ee1f2fdc3302cd6b54d1b7c93faabcacab (diff) | |
Android: Expose emulated memory size override
Update BooleanSetting.java
Diffstat (limited to 'Source/Android/app/src/main/java/org')
3 files changed, 79 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java index b5adf8829b..b473831adc 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java @@ -42,6 +42,8 @@ public enum BooleanSetting implements AbstractBooleanSetting false), MAIN_SYNC_GPU(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SyncGPU", false), MAIN_OVERCLOCK_ENABLE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "OverclockEnable", false), + MAIN_RAM_OVERRIDE_ENABLE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "RAMOverrideEnable", + false), MAIN_AUTO_DISC_CHANGE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "AutoDiscChange", false), MAIN_ALLOW_SD_WRITES(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "WiiSDCardAllowWrites", true), @@ -264,6 +266,7 @@ public enum BooleanSetting implements AbstractBooleanSetting MAIN_MMU, MAIN_PAUSE_ON_PANIC, MAIN_ACCURATE_CPU_CACHE, + MAIN_RAM_OVERRIDE_ENABLE, MAIN_DSP_JIT, }; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java index 17eee510bb..52d8507658 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java @@ -18,6 +18,8 @@ public enum IntSetting implements AbstractIntSetting MAIN_CPU_CORE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "CPUCore", NativeLibrary.DefaultCPUCore()), MAIN_GC_LANGUAGE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SelectedLanguage", 0), + MAIN_MEM1_SIZE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "MEM1Size", 0x01800000), + MAIN_MEM2_SIZE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "MEM2Size", 0x04000000), MAIN_SLOT_A(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SlotA", 8), MAIN_SLOT_B(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SlotB", 255), MAIN_SERIAL_PORT_1(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SerialPort1", 255), @@ -83,6 +85,8 @@ public enum IntSetting implements AbstractIntSetting private static final IntSetting[] NOT_RUNTIME_EDITABLE_ARRAY = new IntSetting[]{ MAIN_CPU_CORE, MAIN_GC_LANGUAGE, + MAIN_MEM1_SIZE, + MAIN_MEM2_SIZE, MAIN_SLOT_A, // Can actually be changed, but specific code is required MAIN_SLOT_B, // Can actually be changed, but specific code is required MAIN_SERIAL_PORT_1, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index 46beddcd78..457d056497 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -729,6 +729,78 @@ public final class SettingsFragmentPresenter R.string.overclock_enable, R.string.overclock_enable_description)); sl.add(new PercentSliderSetting(mContext, FloatSetting.MAIN_OVERCLOCK, R.string.overclock_title, R.string.overclock_title_description, 0, 400, "%")); + + AbstractIntSetting mem1Setting = new AbstractIntSetting() + { + @Override + public int getInt(Settings settings) + { + return IntSetting.MAIN_MEM1_SIZE.getInt(settings) / 1024 / 1024; + } + + @Override + public void setInt(Settings settings, int newValue) + { + IntSetting.MAIN_MEM1_SIZE.setInt(settings, newValue * 1024 * 1024); + } + + @Override + public boolean isOverridden(Settings settings) + { + return IntSetting.MAIN_MEM1_SIZE.isOverridden(settings); + } + + @Override + public boolean isRuntimeEditable() + { + return IntSetting.MAIN_MEM1_SIZE.isRuntimeEditable(); + } + + @Override + public boolean delete(Settings settings) + { + return IntSetting.MAIN_MEM1_SIZE.delete(settings); + } + }; + AbstractIntSetting mem2Setting = new AbstractIntSetting() + { + @Override + public int getInt(Settings settings) + { + return IntSetting.MAIN_MEM2_SIZE.getInt(settings) / 1024 / 1024; + } + + @Override + public void setInt(Settings settings, int newValue) + { + IntSetting.MAIN_MEM2_SIZE.setInt(settings, newValue * 1024 * 1024); + } + + @Override + public boolean isOverridden(Settings settings) + { + return IntSetting.MAIN_MEM2_SIZE.isOverridden(settings); + } + + @Override + public boolean isRuntimeEditable() + { + return IntSetting.MAIN_MEM2_SIZE.isRuntimeEditable(); + } + + @Override + public boolean delete(Settings settings) + { + return IntSetting.MAIN_MEM2_SIZE.delete(settings); + } + }; + sl.add(new HeaderSetting(mContext, R.string.memory_override, 0)); + sl.add(new SwitchSetting(mContext, BooleanSetting.MAIN_RAM_OVERRIDE_ENABLE, + R.string.enable_memory_size_override, + R.string.enable_memory_size_override_description)); + sl.add(new IntSliderSetting(mContext, mem1Setting, R.string.main_mem1_size, 0, 24, 64, "MB")); + sl.add(new IntSliderSetting(mContext, mem2Setting, R.string.main_mem2_size, 0, 64, 128, "MB")); + sl.add(new SingleChoiceSetting(mContext, synchronizeGpuThread, R.string.synchronize_gpu_thread, R.string.synchronize_gpu_thread_description, R.array.synchronizeGpuThreadEntries, R.array.synchronizeGpuThreadValues)); |
