diff --git a/src/Ryujinx.HLE/HOS/Kernel/Common/KSystemControl.cs b/src/Ryujinx.HLE/HOS/Kernel/Common/KSystemControl.cs
index 3f194e0ed..119d18d27 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Common/KSystemControl.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Common/KSystemControl.cs
@@ -30,6 +30,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
MemoryArrange.MemoryArrange4GiBAppletDev => 2048 * MiB,
MemoryArrange.MemoryArrange6GiB => 4916 * MiB,
MemoryArrange.MemoryArrange8GiB => 6964 * MiB,
+ MemoryArrange.MemoryArrange12GiB => 11060 * MiB,
_ => throw new ArgumentException($"Invalid memory arrange \"{arrange}\"."),
};
}
@@ -43,7 +44,8 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
MemoryArrange.MemoryArrange4GiBSystemDev => 448 * MiB,
MemoryArrange.MemoryArrange6GiB => 562 * MiB,
MemoryArrange.MemoryArrange6GiBAppletDev => 2193 * MiB,
- MemoryArrange.MemoryArrange8GiB => 562 * MiB,
+ MemoryArrange.MemoryArrange8GiB or
+ MemoryArrange.MemoryArrange12GiB => 562 * MiB,
_ => throw new ArgumentException($"Invalid memory arrange \"{arrange}\"."),
};
}
@@ -71,6 +73,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
MemorySize.MemorySize4GiB => 4 * GiB,
MemorySize.MemorySize6GiB => 6 * GiB,
MemorySize.MemorySize8GiB => 8 * GiB,
+ MemorySize.MemorySize12GiB => 12 * GiB,
_ => throw new ArgumentException($"Invalid memory size \"{size}\"."),
};
}
diff --git a/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs b/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs
index 2c88d8b35..d06c97b68 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs
@@ -8,5 +8,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
MemoryArrange6GiB,
MemoryArrange6GiBAppletDev,
MemoryArrange8GiB,
+ MemoryArrange12GiB,
}
}
diff --git a/src/Ryujinx.HLE/HOS/Kernel/Common/MemorySize.cs b/src/Ryujinx.HLE/HOS/Kernel/Common/MemorySize.cs
index 7cc34a722..f92859db4 100644
--- a/src/Ryujinx.HLE/HOS/Kernel/Common/MemorySize.cs
+++ b/src/Ryujinx.HLE/HOS/Kernel/Common/MemorySize.cs
@@ -5,5 +5,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Common
MemorySize4GiB = 0,
MemorySize6GiB = 1,
MemorySize8GiB = 2,
+ MemorySize12GiB = 3,
}
}
diff --git a/src/Ryujinx.HLE/MemoryConfiguration.cs b/src/Ryujinx.HLE/MemoryConfiguration.cs
index 45e8927db..21ecd737f 100644
--- a/src/Ryujinx.HLE/MemoryConfiguration.cs
+++ b/src/Ryujinx.HLE/MemoryConfiguration.cs
@@ -6,11 +6,12 @@ namespace Ryujinx.HLE
public enum MemoryConfiguration
{
MemoryConfiguration4GiB = 0,
- MemoryConfiguration4GiBAppletDev = 1,
- MemoryConfiguration4GiBSystemDev = 2,
- MemoryConfiguration6GiB = 3,
- MemoryConfiguration6GiBAppletDev = 4,
- MemoryConfiguration8GiB = 5,
+ MemoryConfiguration6GiB = 1,
+ MemoryConfiguration8GiB = 2,
+ MemoryConfiguration12GiB = 3,
+ MemoryConfiguration4GiBAppletDev = 4,
+ MemoryConfiguration4GiBSystemDev = 5,
+ MemoryConfiguration6GiBAppletDev = 6,
}
static class MemoryConfigurationExtensions
@@ -28,6 +29,7 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration6GiB => MemoryArrange.MemoryArrange6GiB,
MemoryConfiguration.MemoryConfiguration6GiBAppletDev => MemoryArrange.MemoryArrange6GiBAppletDev,
MemoryConfiguration.MemoryConfiguration8GiB => MemoryArrange.MemoryArrange8GiB,
+ MemoryConfiguration.MemoryConfiguration12GiB => MemoryArrange.MemoryArrange12GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
};
}
@@ -42,6 +44,7 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration6GiB or
MemoryConfiguration.MemoryConfiguration6GiBAppletDev => MemorySize.MemorySize6GiB,
MemoryConfiguration.MemoryConfiguration8GiB => MemorySize.MemorySize8GiB,
+ MemoryConfiguration.MemoryConfiguration12GiB => MemorySize.MemorySize12GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
};
}
@@ -56,6 +59,7 @@ namespace Ryujinx.HLE
MemoryConfiguration.MemoryConfiguration6GiB or
MemoryConfiguration.MemoryConfiguration6GiBAppletDev => 6 * GiB,
MemoryConfiguration.MemoryConfiguration8GiB => 8 * GiB,
+ MemoryConfiguration.MemoryConfiguration12GiB => 12 * GiB,
_ => throw new AggregateException($"Invalid memory configuration \"{configuration}\"."),
};
}
diff --git a/src/Ryujinx.Headless.SDL2/Options.cs b/src/Ryujinx.Headless.SDL2/Options.cs
index ef8849eea..2f86f3ebf 100644
--- a/src/Ryujinx.Headless.SDL2/Options.cs
+++ b/src/Ryujinx.Headless.SDL2/Options.cs
@@ -1,5 +1,6 @@
using CommandLine;
using Ryujinx.Common.Configuration;
+using Ryujinx.HLE;
using Ryujinx.HLE.HOS.SystemState;
namespace Ryujinx.Headless.SDL2
@@ -219,8 +220,8 @@ namespace Ryujinx.Headless.SDL2
// Hacks
- [Option("expand-ram", Required = false, Default = false, HelpText = "Expands the RAM amount on the emulated system from 4GiB to 8GiB.")]
- public bool ExpandRAM { get; set; }
+ [Option("dram-size", Required = false, Default = MemoryConfiguration.MemoryConfiguration4GiB, HelpText = "Set the RAM amount on the emulated system.")]
+ public MemoryConfiguration DramSize { get; set; }
[Option("ignore-missing-services", Required = false, Default = false, HelpText = "Enable ignoring missing services.")]
public bool IgnoreMissingServices { get; set; }
diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs
index 4ee271203..b8710d4de 100644
--- a/src/Ryujinx.Headless.SDL2/Program.cs
+++ b/src/Ryujinx.Headless.SDL2/Program.cs
@@ -562,7 +562,7 @@ namespace Ryujinx.Headless.SDL2
_userChannelPersistence,
renderer,
new SDL2HardwareDeviceDriver(),
- options.ExpandRAM ? MemoryConfiguration.MemoryConfiguration8GiB : MemoryConfiguration.MemoryConfiguration4GiB,
+ options.DramSize,
window,
options.SystemLanguage,
options.SystemRegion,
diff --git a/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs b/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
index 5f3c1e21e..89dcdb3ad 100644
--- a/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
+++ b/src/Ryujinx.UI.Common/Configuration/ConfigurationFileFormat.cs
@@ -3,6 +3,7 @@ using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Configuration.Multiplayer;
using Ryujinx.Common.Logging;
using Ryujinx.Common.Utilities;
+using Ryujinx.HLE;
using Ryujinx.UI.Common.Configuration.System;
using Ryujinx.UI.Common.Configuration.UI;
using System.Collections.Generic;
@@ -15,7 +16,7 @@ namespace Ryujinx.UI.Common.Configuration
///
/// The current version of the file format
///
- public const int CurrentVersion = 53;
+ public const int CurrentVersion = 54;
///
/// Version of the configuration file format
@@ -245,7 +246,7 @@ namespace Ryujinx.UI.Common.Configuration
///
/// Expands the RAM amount on the emulated system from 4GiB to 8GiB
///
- public bool ExpandRam { get; set; }
+ public MemoryConfiguration DramSize { get; set; }
///
/// Enable or disable ignoring missing services
diff --git a/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs b/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
index e6c5c065c..3c3bc458c 100644
--- a/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
+++ b/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs
@@ -7,6 +7,7 @@ using Ryujinx.Common.Configuration.Hid.Keyboard;
using Ryujinx.Common.Configuration.Multiplayer;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Vulkan;
+using Ryujinx.HLE;
using Ryujinx.UI.Common.Configuration.System;
using Ryujinx.UI.Common.Configuration.UI;
using Ryujinx.UI.Common.Helper;
@@ -366,7 +367,7 @@ namespace Ryujinx.UI.Common.Configuration
///
/// Defines the amount of RAM available on the emulated system, and how it is distributed
///
- public ReactiveObject ExpandRam { get; private set; }
+ public ReactiveObject DramSize { get; private set; }
///
/// Enable or disable ignoring missing services
@@ -400,8 +401,8 @@ namespace Ryujinx.UI.Common.Configuration
AudioBackend.Event += static (sender, e) => LogValueChange(e, nameof(AudioBackend));
MemoryManagerMode = new ReactiveObject();
MemoryManagerMode.Event += static (sender, e) => LogValueChange(e, nameof(MemoryManagerMode));
- ExpandRam = new ReactiveObject();
- ExpandRam.Event += static (sender, e) => LogValueChange(e, nameof(ExpandRam));
+ DramSize = new ReactiveObject();
+ DramSize.Event += static (sender, e) => LogValueChange(e, nameof(DramSize));
IgnoreMissingServices = new ReactiveObject();
IgnoreMissingServices.Event += static (sender, e) => LogValueChange(e, nameof(IgnoreMissingServices));
AudioVolume = new ReactiveObject();
@@ -721,7 +722,7 @@ namespace Ryujinx.UI.Common.Configuration
AudioBackend = System.AudioBackend,
AudioVolume = System.AudioVolume,
MemoryManagerMode = System.MemoryManagerMode,
- ExpandRam = System.ExpandRam,
+ DramSize = System.DramSize,
IgnoreMissingServices = System.IgnoreMissingServices,
UseHypervisor = System.UseHypervisor,
GuiColumns = new GuiColumns
@@ -834,7 +835,7 @@ namespace Ryujinx.UI.Common.Configuration
System.AudioBackend.Value = AudioBackend.SDL2;
System.AudioVolume.Value = 1;
System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe;
- System.ExpandRam.Value = false;
+ System.DramSize.Value = MemoryConfiguration.MemoryConfiguration4GiB;
System.IgnoreMissingServices.Value = false;
System.UseHypervisor.Value = true;
Multiplayer.LanInterfaceId.Value = "0";
@@ -1513,6 +1514,15 @@ namespace Ryujinx.UI.Common.Configuration
configurationFileUpdated = true;
}
+ if (configurationFileFormat.Version < 54)
+ {
+ Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 54.");
+
+ configurationFileFormat.DramSize = MemoryConfiguration.MemoryConfiguration4GiB;
+
+ configurationFileUpdated = true;
+ }
+
Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
Graphics.ResScale.Value = configurationFileFormat.ResScale;
Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
@@ -1559,7 +1569,7 @@ namespace Ryujinx.UI.Common.Configuration
System.AudioBackend.Value = configurationFileFormat.AudioBackend;
System.AudioVolume.Value = configurationFileFormat.AudioVolume;
System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode;
- System.ExpandRam.Value = configurationFileFormat.ExpandRam;
+ System.DramSize.Value = configurationFileFormat.DramSize;
System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices;
System.UseHypervisor.Value = configurationFileFormat.UseHypervisor;
UI.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn;
diff --git a/src/Ryujinx/AppHost.cs b/src/Ryujinx/AppHost.cs
index 5bcb58218..eafcbb13a 100644
--- a/src/Ryujinx/AppHost.cs
+++ b/src/Ryujinx/AppHost.cs
@@ -541,7 +541,7 @@ namespace Ryujinx.Ava
{
if (Device.Processes != null)
MainWindowViewModel.UpdateGameMetadata(Device.Processes.ActiveApplication.ProgramIdText);
-
+
ConfigurationState.Instance.System.IgnoreMissingServices.Event -= UpdateIgnoreMissingServicesState;
ConfigurationState.Instance.Graphics.AspectRatio.Event -= UpdateAspectRatioState;
@@ -786,7 +786,7 @@ namespace Ryujinx.Ava
return false;
}
- ApplicationMetadata appMeta = ApplicationLibrary.LoadAndSaveMetaData(Device.Processes.ActiveApplication.ProgramIdText,
+ ApplicationMetadata appMeta = ApplicationLibrary.LoadAndSaveMetaData(Device.Processes.ActiveApplication.ProgramIdText,
appMetadata => appMetadata.UpdatePreGame()
);
@@ -845,9 +845,7 @@ namespace Ryujinx.Ava
Logger.Info?.PrintMsg(LogClass.Gpu, $"Backend Threading ({threadingMode}): {isGALThreaded}");
// Initialize Configuration.
- var memoryConfiguration = ConfigurationState.Instance.System.ExpandRam
- ? MemoryConfiguration.MemoryConfiguration8GiB
- : MemoryConfiguration.MemoryConfiguration4GiB;
+ var memoryConfiguration = ConfigurationState.Instance.System.DramSize.Value;
Device = new Switch(new HLEConfiguration(
VirtualFileSystem,
@@ -867,7 +865,7 @@ namespace Ryujinx.Ava
ConfigurationState.Instance.System.EnableInternetAccess,
ConfigurationState.Instance.System.EnableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None,
ConfigurationState.Instance.System.FsGlobalAccessLogMode,
- ConfigurationState.Instance.System.SystemTimeOffset,
+ ConfigurationState.Instance.System.SystemTimeOffset,
ConfigurationState.Instance.System.TimeZone,
ConfigurationState.Instance.System.MemoryManagerMode,
ConfigurationState.Instance.System.IgnoreMissingServices,
diff --git a/src/Ryujinx/Assets/Locales/ar_SA.json b/src/Ryujinx/Assets/Locales/ar_SA.json
index 2263a0599..ed06778cb 100644
--- a/src/Ryujinx/Assets/Locales/ar_SA.json
+++ b/src/Ryujinx/Assets/Locales/ar_SA.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "هاكات",
"SettingsTabSystemHacksNote": "قد يتسبب في عدم الاستقرار",
- "SettingsTabSystemExpandDramSize": "استخدام تخطيط الذاكرة البديل (المطورين)",
+ "SettingsTabSystemDramSize": "استخدام تخطيط الذاكرة البديل (المطورين)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "تجاهل الخدمات المفقودة",
"SettingsTabGraphics": "الرسومات",
"SettingsTabGraphicsAPI": "API الرسومات ",
diff --git a/src/Ryujinx/Assets/Locales/de_DE.json b/src/Ryujinx/Assets/Locales/de_DE.json
index eee287a53..b78e3ded8 100644
--- a/src/Ryujinx/Assets/Locales/de_DE.json
+++ b/src/Ryujinx/Assets/Locales/de_DE.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacks",
"SettingsTabSystemHacksNote": " (Kann Fehler verursachen)",
- "SettingsTabSystemExpandDramSize": "Erweitere DRAM Größe auf 6GiB",
+ "SettingsTabSystemDramSize": "DRAM Größe:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignoriere fehlende Dienste",
"SettingsTabGraphics": "Grafik",
"SettingsTabGraphicsAPI": "Grafik-API",
diff --git a/src/Ryujinx/Assets/Locales/el_GR.json b/src/Ryujinx/Assets/Locales/el_GR.json
index a3739f9ad..7a6e5619d 100644
--- a/src/Ryujinx/Assets/Locales/el_GR.json
+++ b/src/Ryujinx/Assets/Locales/el_GR.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Μικροδιορθώσεις",
"SettingsTabSystemHacksNote": " (Μπορεί να προκαλέσουν αστάθεια)",
- "SettingsTabSystemExpandDramSize": "Επέκταση μεγέθους DRAM στα 6GiB",
+ "SettingsTabSystemDramSize": "Μέγεθος DRAM:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Αγνόηση υπηρεσιών που λείπουν",
"SettingsTabGraphics": "Γραφικά",
"SettingsTabGraphicsAPI": "API Γραφικά",
diff --git a/src/Ryujinx/Assets/Locales/en_US.json b/src/Ryujinx/Assets/Locales/en_US.json
index c7ca1c2d5..1dfbb81f1 100644
--- a/src/Ryujinx/Assets/Locales/en_US.json
+++ b/src/Ryujinx/Assets/Locales/en_US.json
@@ -149,7 +149,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacks",
"SettingsTabSystemHacksNote": "May cause instability",
- "SettingsTabSystemExpandDramSize": "Expand DRAM to 8GiB",
+ "SettingsTabSystemDramSize": "DRAM size:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignore Missing Services",
"SettingsTabGraphics": "Graphics",
"SettingsTabGraphicsAPI": "Graphics API",
diff --git a/src/Ryujinx/Assets/Locales/es_ES.json b/src/Ryujinx/Assets/Locales/es_ES.json
index 8593498bc..55311d7fd 100644
--- a/src/Ryujinx/Assets/Locales/es_ES.json
+++ b/src/Ryujinx/Assets/Locales/es_ES.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacks",
"SettingsTabSystemHacksNote": " (Pueden causar inestabilidad)",
- "SettingsTabSystemExpandDramSize": "Usar diseño alternativo de memoria (Desarrolladores)",
+ "SettingsTabSystemDramSize": "Tamaño DRAM:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignorar servicios no implementados",
"SettingsTabGraphics": "Gráficos",
"SettingsTabGraphicsAPI": "API de gráficos",
diff --git a/src/Ryujinx/Assets/Locales/fr_FR.json b/src/Ryujinx/Assets/Locales/fr_FR.json
index f056dbb84..6d6174f40 100644
--- a/src/Ryujinx/Assets/Locales/fr_FR.json
+++ b/src/Ryujinx/Assets/Locales/fr_FR.json
@@ -149,7 +149,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacks",
"SettingsTabSystemHacksNote": "Cela peut causer des instabilités",
- "SettingsTabSystemExpandDramSize": "Étendre la mémoire à 8GiO",
+ "SettingsTabSystemDramSize": "Taille de la DRAM:",
+ "SettingsTabSystemDramSize4GiB": "4GiO",
+ "SettingsTabSystemDramSize6GiB": "6GiO",
+ "SettingsTabSystemDramSize8GiB": "8GiO",
+ "SettingsTabSystemDramSize12GiB": "12GiO",
"SettingsTabSystemIgnoreMissingServices": "Ignorer les services manquants",
"SettingsTabGraphics": "Graphismes",
"SettingsTabGraphicsAPI": "API Graphique",
diff --git a/src/Ryujinx/Assets/Locales/he_IL.json b/src/Ryujinx/Assets/Locales/he_IL.json
index 1e2cab8a7..129ef72ac 100644
--- a/src/Ryujinx/Assets/Locales/he_IL.json
+++ b/src/Ryujinx/Assets/Locales/he_IL.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "האצות",
"SettingsTabSystemHacksNote": "עלול לגרום לאי יציבות",
- "SettingsTabSystemExpandDramSize": "השתמש בפריסת זיכרון חלופית (נועד למפתחים)",
+ "SettingsTabSystemDramSize": "השתמש בפריסת זיכרון חלופית (נועד למפתחים)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "התעלם משירותים חסרים",
"SettingsTabGraphics": "גרפיקה",
"SettingsTabGraphicsAPI": "ממשק גראפי",
diff --git a/src/Ryujinx/Assets/Locales/it_IT.json b/src/Ryujinx/Assets/Locales/it_IT.json
index dc75ce586..94fe67d78 100644
--- a/src/Ryujinx/Assets/Locales/it_IT.json
+++ b/src/Ryujinx/Assets/Locales/it_IT.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Espedienti",
"SettingsTabSystemHacksNote": "Possono causare instabilità",
- "SettingsTabSystemExpandDramSize": "Usa layout di memoria alternativo (per sviluppatori)",
+ "SettingsTabSystemDramSize": "Usa layout di memoria alternativo (per sviluppatori)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignora servizi mancanti",
"SettingsTabGraphics": "Grafica",
"SettingsTabGraphicsAPI": "API grafica",
diff --git a/src/Ryujinx/Assets/Locales/ja_JP.json b/src/Ryujinx/Assets/Locales/ja_JP.json
index bb44e8f6d..67dec4229 100644
--- a/src/Ryujinx/Assets/Locales/ja_JP.json
+++ b/src/Ryujinx/Assets/Locales/ja_JP.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "ハック",
"SettingsTabSystemHacksNote": " (挙動が不安定になる可能性があります)",
- "SettingsTabSystemExpandDramSize": "DRAMサイズを6GiBに拡大する",
+ "SettingsTabSystemDramSize": "DRAMサイズ:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "未実装サービスを無視する",
"SettingsTabGraphics": "グラフィックス",
"SettingsTabGraphicsAPI": "グラフィックスAPI",
diff --git a/src/Ryujinx/Assets/Locales/ko_KR.json b/src/Ryujinx/Assets/Locales/ko_KR.json
index f38308485..5552d233e 100644
--- a/src/Ryujinx/Assets/Locales/ko_KR.json
+++ b/src/Ryujinx/Assets/Locales/ko_KR.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "해킹",
"SettingsTabSystemHacksNote": "불안정성을 유발할 수 있음",
- "SettingsTabSystemExpandDramSize": "대체 메모리 레이아웃 사용(개발자)",
+ "SettingsTabSystemDramSize": "대체 메모리 레이아웃 사용(개발자)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "누락된 서비스 무시",
"SettingsTabGraphics": "그래픽",
"SettingsTabGraphicsAPI": "그래픽 API",
diff --git a/src/Ryujinx/Assets/Locales/pl_PL.json b/src/Ryujinx/Assets/Locales/pl_PL.json
index c58d328f1..92573ee40 100644
--- a/src/Ryujinx/Assets/Locales/pl_PL.json
+++ b/src/Ryujinx/Assets/Locales/pl_PL.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacki",
"SettingsTabSystemHacksNote": " (mogą powodować niestabilność)",
- "SettingsTabSystemExpandDramSize": "Użyj alternatywnego układu pamięci (Deweloperzy)",
+ "SettingsTabSystemDramSize": "Użyj alternatywnego układu pamięci (Deweloperzy)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignoruj Brakujące Usługi",
"SettingsTabGraphics": "Grafika",
"SettingsTabGraphicsAPI": "Graficzne API",
diff --git a/src/Ryujinx/Assets/Locales/pt_BR.json b/src/Ryujinx/Assets/Locales/pt_BR.json
index f2134b2f9..b951659f7 100644
--- a/src/Ryujinx/Assets/Locales/pt_BR.json
+++ b/src/Ryujinx/Assets/Locales/pt_BR.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hacks",
"SettingsTabSystemHacksNote": " (Pode causar instabilidade)",
- "SettingsTabSystemExpandDramSize": "Expandir memória para 6GiB",
+ "SettingsTabSystemDramSize": "Tamanho da DRAM:",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ignorar serviços não implementados",
"SettingsTabGraphics": "Gráficos",
"SettingsTabGraphicsAPI": "API gráfica",
diff --git a/src/Ryujinx/Assets/Locales/ru_RU.json b/src/Ryujinx/Assets/Locales/ru_RU.json
index f283bff56..299631306 100644
--- a/src/Ryujinx/Assets/Locales/ru_RU.json
+++ b/src/Ryujinx/Assets/Locales/ru_RU.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Хаки",
"SettingsTabSystemHacksNote": "Возможна нестабильная работа",
- "SettingsTabSystemExpandDramSize": "Использовать альтернативный макет памяти (для разработчиков)",
+ "SettingsTabSystemDramSize": "Использовать альтернативный макет памяти (для разработчиков)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Игнорировать отсутствующие службы",
"SettingsTabGraphics": "Графика",
"SettingsTabGraphicsAPI": "Графические API",
diff --git a/src/Ryujinx/Assets/Locales/th_TH.json b/src/Ryujinx/Assets/Locales/th_TH.json
index 4f926dc93..2b795c872 100644
--- a/src/Ryujinx/Assets/Locales/th_TH.json
+++ b/src/Ryujinx/Assets/Locales/th_TH.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "แฮ็ก",
"SettingsTabSystemHacksNote": "อาจทำให้เกิดข้อผิดพลาดได้",
- "SettingsTabSystemExpandDramSize": "ใช้รูปแบบหน่วยความจำสำรอง (โหมดนักพัฒนา)",
+ "SettingsTabSystemDramSize": "ใช้รูปแบบหน่วยความจำสำรอง (โหมดนักพัฒนา)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "ไม่สนใจบริการที่ขาดหายไป",
"SettingsTabGraphics": "กราฟิก",
"SettingsTabGraphicsAPI": "กราฟฟิก API",
diff --git a/src/Ryujinx/Assets/Locales/tr_TR.json b/src/Ryujinx/Assets/Locales/tr_TR.json
index 02c82aace..96c0fd61a 100644
--- a/src/Ryujinx/Assets/Locales/tr_TR.json
+++ b/src/Ryujinx/Assets/Locales/tr_TR.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Hack'ler",
"SettingsTabSystemHacksNote": " (dengesizlik oluşturabilir)",
- "SettingsTabSystemExpandDramSize": "Alternatif bellek düzeni kullan (Geliştirici)",
+ "SettingsTabSystemDramSize": "Alternatif bellek düzeni kullan (Geliştirici)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Eksik Servisleri Görmezden Gel",
"SettingsTabGraphics": "Grafikler",
"SettingsTabGraphicsAPI": "Grafikler API",
diff --git a/src/Ryujinx/Assets/Locales/uk_UA.json b/src/Ryujinx/Assets/Locales/uk_UA.json
index 28e703a4a..39270fe1d 100644
--- a/src/Ryujinx/Assets/Locales/uk_UA.json
+++ b/src/Ryujinx/Assets/Locales/uk_UA.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "Хитрощі",
"SettingsTabSystemHacksNote": " (може викликати нестабільність)",
- "SettingsTabSystemExpandDramSize": "Використовувати альтернативне розташування пам'яті (розробники)",
+ "SettingsTabSystemDramSize": "Використовувати альтернативне розташування пам'яті (розробники)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "Ігнорувати відсутні служби",
"SettingsTabGraphics": "Графіка",
"SettingsTabGraphicsAPI": "Графічний API",
diff --git a/src/Ryujinx/Assets/Locales/zh_CN.json b/src/Ryujinx/Assets/Locales/zh_CN.json
index 2b344604c..a7d92354d 100644
--- a/src/Ryujinx/Assets/Locales/zh_CN.json
+++ b/src/Ryujinx/Assets/Locales/zh_CN.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "修改",
"SettingsTabSystemHacksNote": "会导致模拟器不稳定",
- "SettingsTabSystemExpandDramSize": "使用开发机的内存布局(开发人员使用)",
+ "SettingsTabSystemDramSize": "使用开发机的内存布局(开发人员使用)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "忽略缺失的服务",
"SettingsTabGraphics": "图形",
"SettingsTabGraphicsAPI": "图形 API",
diff --git a/src/Ryujinx/Assets/Locales/zh_TW.json b/src/Ryujinx/Assets/Locales/zh_TW.json
index 92fd16e01..b724a2697 100644
--- a/src/Ryujinx/Assets/Locales/zh_TW.json
+++ b/src/Ryujinx/Assets/Locales/zh_TW.json
@@ -145,7 +145,11 @@
"SettingsTabSystemAudioBackendSDL2": "SDL2",
"SettingsTabSystemHacks": "補釘修正",
"SettingsTabSystemHacksNote": "可能導致模擬器不穩定",
- "SettingsTabSystemExpandDramSize": "使用替代的記憶體配置 (開發者專用)",
+ "SettingsTabSystemDramSize": "使用替代的記憶體配置 (開發者專用)",
+ "SettingsTabSystemDramSize4GiB": "4GiB",
+ "SettingsTabSystemDramSize6GiB": "6GiB",
+ "SettingsTabSystemDramSize8GiB": "8GiB",
+ "SettingsTabSystemDramSize12GiB": "12GiB",
"SettingsTabSystemIgnoreMissingServices": "忽略缺少的模擬器功能",
"SettingsTabGraphics": "圖形",
"SettingsTabGraphicsAPI": "圖形 API",
diff --git a/src/Ryujinx/Program.cs b/src/Ryujinx/Program.cs
index 562530b2b..b77e05c12 100644
--- a/src/Ryujinx/Program.cs
+++ b/src/Ryujinx/Program.cs
@@ -72,23 +72,23 @@ namespace Ryujinx.Ava
EnableMultiTouch = true,
EnableIme = true,
EnableInputFocusProxy = Environment.GetEnvironmentVariable("XDG_CURRENT_DESKTOP") == "gamescope",
- RenderingMode = UseHardwareAcceleration
- ? [ X11RenderingMode.Glx, X11RenderingMode.Software ]
- : [ X11RenderingMode.Software ],
+ RenderingMode = UseHardwareAcceleration
+ ? [X11RenderingMode.Glx, X11RenderingMode.Software]
+ : [X11RenderingMode.Software],
})
.With(new Win32PlatformOptions
{
WinUICompositionBackdropCornerRadius = 8.0f,
- RenderingMode = UseHardwareAcceleration
- ? [ Win32RenderingMode.AngleEgl, Win32RenderingMode.Software ]
- : [ Win32RenderingMode.Software ],
+ RenderingMode = UseHardwareAcceleration
+ ? [Win32RenderingMode.AngleEgl, Win32RenderingMode.Software]
+ : [Win32RenderingMode.Software],
});
private static void Initialize(string[] args)
{
// Ensure Discord presence timestamp begins at the absolute start of when Ryujinx is launched
DiscordIntegrationModule.StartedAt = Timestamps.Now;
-
+
// Parse arguments
CommandLineState.ParseArguments(args);
@@ -203,7 +203,7 @@ namespace Ryujinx.Ava
// Check if docked mode was overriden.
if (CommandLineState.OverrideDockedMode.HasValue)
ConfigurationState.Instance.System.EnableDockedMode.Value = CommandLineState.OverrideDockedMode.Value;
-
+
// Check if HideCursor was overridden.
if (CommandLineState.OverrideHideCursor is not null)
@@ -214,7 +214,7 @@ namespace Ryujinx.Ava
"always" => HideCursorMode.Always,
_ => ConfigurationState.Instance.HideCursor,
};
-
+
// Check if hardware-acceleration was overridden.
if (CommandLineState.OverrideHardwareAcceleration != null)
diff --git a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
index 5c7d099d6..537418ea9 100644
--- a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
+++ b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs
@@ -14,6 +14,7 @@ using Ryujinx.Common.Configuration.Multiplayer;
using Ryujinx.Common.GraphicsDriver;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Vulkan;
+using Ryujinx.HLE;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Services.Time.TimeZone;
using Ryujinx.UI.Common.Configuration;
@@ -154,7 +155,7 @@ namespace Ryujinx.Ava.UI.ViewModels
public bool EnableInternetAccess { get; set; }
public bool EnableFsIntegrityChecks { get; set; }
public bool IgnoreMissingServices { get; set; }
- public bool ExpandDramSize { get; set; }
+ public MemoryConfiguration DramSize { get; set; }
public bool EnableShaderCache { get; set; }
public bool EnableTextureRecompression { get; set; }
public bool EnableMacroHLE { get; set; }
@@ -444,7 +445,7 @@ namespace Ryujinx.Ava.UI.ViewModels
EnableVsync = config.Graphics.EnableVsync;
EnableFsIntegrityChecks = config.System.EnableFsIntegrityChecks;
- ExpandDramSize = config.System.ExpandRam;
+ DramSize = config.System.DramSize;
IgnoreMissingServices = config.System.IgnoreMissingServices;
// CPU
@@ -545,7 +546,7 @@ namespace Ryujinx.Ava.UI.ViewModels
config.System.SystemTimeOffset.Value = Convert.ToInt64((CurrentDate.ToUnixTimeSeconds() + CurrentTime.TotalSeconds) - DateTimeOffset.Now.ToUnixTimeSeconds());
config.Graphics.EnableVsync.Value = EnableVsync;
config.System.EnableFsIntegrityChecks.Value = EnableFsIntegrityChecks;
- config.System.ExpandRam.Value = ExpandDramSize;
+ config.System.DramSize.Value = DramSize;
config.System.IgnoreMissingServices.Value = IgnoreMissingServices;
// CPU
diff --git a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml
index e6f7c6e46..384231880 100644
--- a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml
+++ b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml
@@ -1,4 +1,4 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
@@ -221,4 +242,4 @@
-
\ No newline at end of file
+