diff --git a/src/Ryujinx.Gtk3/UI/MainWindow.cs b/src/Ryujinx.Gtk3/UI/MainWindow.cs index b10dfe3f9..d7bbd6e54 100644 --- a/src/Ryujinx.Gtk3/UI/MainWindow.cs +++ b/src/Ryujinx.Gtk3/UI/MainWindow.cs @@ -646,9 +646,7 @@ namespace Ryujinx.UI } } - var memoryConfiguration = ConfigurationState.Instance.System.ExpandRam.Value - ? HLE.MemoryConfiguration.MemoryConfiguration8GiB - : HLE.MemoryConfiguration.MemoryConfiguration4GiB; + var memoryConfiguration = ConfigurationState.Instance.System.DramSize.Value; IntegrityCheckLevel fsIntegrityCheckLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None; 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..0667fa273 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Common/MemoryArrange.cs @@ -3,10 +3,11 @@ namespace Ryujinx.HLE.HOS.Kernel.Common enum MemoryArrange : byte { MemoryArrange4GiB, + MemoryArrange6GiB, + MemoryArrange8GiB, + MemoryArrange12GiB, MemoryArrange4GiBAppletDev, MemoryArrange4GiBSystemDev, - MemoryArrange6GiB, MemoryArrange6GiBAppletDev, - MemoryArrange8GiB, } } 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 871cf0256..0f528fcf8 100644 --- a/src/Ryujinx.Headless.SDL2/Program.cs +++ b/src/Ryujinx.Headless.SDL2/Program.cs @@ -559,7 +559,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 8a0be4028..ff7c6d017 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 = 51; + public const int CurrentVersion = 52; /// /// Version of the configuration file format @@ -240,7 +241,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 8420dc5d9..ff122f1a6 100644 --- a/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs +++ b/src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs @@ -6,6 +6,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; @@ -354,7 +355,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 @@ -386,8 +387,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(); @@ -706,7 +707,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 @@ -818,7 +819,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"; @@ -1477,6 +1478,15 @@ namespace Ryujinx.UI.Common.Configuration configurationFileUpdated = true; } + if (configurationFileFormat.Version < 52) + { + Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 52."); + + configurationFileFormat.DramSize = MemoryConfiguration.MemoryConfiguration4GiB; + + configurationFileUpdated = true; + } + Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog; Graphics.ResScale.Value = configurationFileFormat.ResScale; Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom; @@ -1522,7 +1532,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 f4bfd1169..1528a3448 100644 --- a/src/Ryujinx/AppHost.cs +++ b/src/Ryujinx/AppHost.cs @@ -845,7 +845,7 @@ namespace Ryujinx.Ava Logger.Info?.PrintMsg(LogClass.Gpu, $"Backend Threading ({threadingMode}): {isGALThreaded}"); // Initialize Configuration. - var memoryConfiguration = ConfigurationState.Instance.System.ExpandRam.Value ? MemoryConfiguration.MemoryConfiguration8GiB : MemoryConfiguration.MemoryConfiguration4GiB; + var memoryConfiguration = ConfigurationState.Instance.System.DramSize.Value; HLEConfiguration configuration = new(VirtualFileSystem, _viewModel.LibHacHorizonManager, diff --git a/src/Ryujinx/Assets/Locales/ar_SA.json b/src/Ryujinx/Assets/Locales/ar_SA.json index 73e55633b..178115ee8 100644 --- a/src/Ryujinx/Assets/Locales/ar_SA.json +++ b/src/Ryujinx/Assets/Locales/ar_SA.json @@ -144,7 +144,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 401293198..13bb0d40e 100644 --- a/src/Ryujinx/Assets/Locales/de_DE.json +++ b/src/Ryujinx/Assets/Locales/de_DE.json @@ -144,7 +144,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 ccdf6e0e4..7e98f5541 100644 --- a/src/Ryujinx/Assets/Locales/el_GR.json +++ b/src/Ryujinx/Assets/Locales/el_GR.json @@ -144,7 +144,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 b3cab7f5f..83a184ad0 100644 --- a/src/Ryujinx/Assets/Locales/en_US.json +++ b/src/Ryujinx/Assets/Locales/en_US.json @@ -145,7 +145,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", @@ -575,7 +579,7 @@ "MemoryManagerHostTooltip": "Directly map memory in the host address space. Much faster JIT compilation and execution.", "MemoryManagerUnsafeTooltip": "Directly map memory, but do not mask the address within the guest address space before access. Faster, but at the cost of safety. The guest application can access memory from anywhere in Ryujinx, so only run programs you trust with this mode.", "UseHypervisorTooltip": "Use Hypervisor instead of JIT. Greatly improves performance when available, but can be unstable in its current state.", - "DRamTooltip": "Utilizes an alternative memory mode with 8GiB of DRAM to mimic a Switch development model.\n\nThis is only useful for higher-resolution texture packs or 4k resolution mods. Does NOT improve performance.\n\nLeave OFF if unsure.", + "DRamTooltip": "Utilizes alternative memory modes from 4GiB to 12GiB of DRAM.\n\nThis is only useful for higher-resolution texture packs or 4k resolution mods. Does NOT improve performance.\n\nLeave OFF if unsure.", "IgnoreMissingServicesTooltip": "Ignores unimplemented Horizon OS services. This may help in bypassing crashes when booting certain games.\n\nLeave OFF if unsure.", "GraphicsBackendThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.", "GalThreadingTooltip": "Executes graphics backend commands on a second thread.\n\nSpeeds up shader compilation, reduces stuttering, and improves performance on GPU drivers without multithreading support of their own. Slightly better performance on drivers with multithreading.\n\nSet to AUTO if unsure.", diff --git a/src/Ryujinx/Assets/Locales/es_ES.json b/src/Ryujinx/Assets/Locales/es_ES.json index e58fa5dcf..e83b95826 100644 --- a/src/Ryujinx/Assets/Locales/es_ES.json +++ b/src/Ryujinx/Assets/Locales/es_ES.json @@ -144,7 +144,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 99a060650..3b801838c 100644 --- a/src/Ryujinx/Assets/Locales/fr_FR.json +++ b/src/Ryujinx/Assets/Locales/fr_FR.json @@ -144,7 +144,11 @@ "SettingsTabSystemAudioBackendSDL2": "SDL2", "SettingsTabSystemHacks": "Hacks", "SettingsTabSystemHacksNote": "Cela peut causer des instabilités", - "SettingsTabSystemExpandDramSize": "Utiliser disposition alternative de la mémoire (développeur)", + "SettingsTabSystemDramSize": "Utiliser disposition alternative de la mémoire (développeur)", + "SettingsTabSystemDramSize4GiB": "4GiB", + "SettingsTabSystemDramSize6GiB": "6GiB", + "SettingsTabSystemDramSize8GiB": "8GiB", + "SettingsTabSystemDramSize12GiB": "12GiB", "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 848f78080..98189f212 100644 --- a/src/Ryujinx/Assets/Locales/he_IL.json +++ b/src/Ryujinx/Assets/Locales/he_IL.json @@ -144,7 +144,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 280ebd880..09623837d 100644 --- a/src/Ryujinx/Assets/Locales/it_IT.json +++ b/src/Ryujinx/Assets/Locales/it_IT.json @@ -144,7 +144,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 61e963258..fc5d109f0 100644 --- a/src/Ryujinx/Assets/Locales/ja_JP.json +++ b/src/Ryujinx/Assets/Locales/ja_JP.json @@ -144,7 +144,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 a92d084e0..8c0d2971f 100644 --- a/src/Ryujinx/Assets/Locales/ko_KR.json +++ b/src/Ryujinx/Assets/Locales/ko_KR.json @@ -144,7 +144,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 9d1bd7b44..2945d58ee 100644 --- a/src/Ryujinx/Assets/Locales/pl_PL.json +++ b/src/Ryujinx/Assets/Locales/pl_PL.json @@ -144,7 +144,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 a8c244b65..d61febdfa 100644 --- a/src/Ryujinx/Assets/Locales/pt_BR.json +++ b/src/Ryujinx/Assets/Locales/pt_BR.json @@ -144,7 +144,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 75fd4fe12..21cb14931 100644 --- a/src/Ryujinx/Assets/Locales/ru_RU.json +++ b/src/Ryujinx/Assets/Locales/ru_RU.json @@ -144,7 +144,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 629442269..6aca9c2f4 100644 --- a/src/Ryujinx/Assets/Locales/th_TH.json +++ b/src/Ryujinx/Assets/Locales/th_TH.json @@ -144,7 +144,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 f74baaa18..0c09e8e93 100644 --- a/src/Ryujinx/Assets/Locales/tr_TR.json +++ b/src/Ryujinx/Assets/Locales/tr_TR.json @@ -144,7 +144,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 976edfb1b..2f93f7ed7 100644 --- a/src/Ryujinx/Assets/Locales/uk_UA.json +++ b/src/Ryujinx/Assets/Locales/uk_UA.json @@ -144,7 +144,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 66f59ecd0..33e2a07e1 100644 --- a/src/Ryujinx/Assets/Locales/zh_CN.json +++ b/src/Ryujinx/Assets/Locales/zh_CN.json @@ -144,7 +144,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 fc838d251..3de5997e2 100644 --- a/src/Ryujinx/Assets/Locales/zh_TW.json +++ b/src/Ryujinx/Assets/Locales/zh_TW.json @@ -144,7 +144,11 @@ "SettingsTabSystemAudioBackendSDL2": "SDL2", "SettingsTabSystemHacks": "補釘修正", "SettingsTabSystemHacksNote": "可能導致模擬器不穩定", - "SettingsTabSystemExpandDramSize": "使用替代的記憶體配置 (開發者專用)", + "SettingsTabSystemDramSize": "使用替代的記憶體配置 (開發者專用)", + "SettingsTabSystemDramSize4GiB": "4GiB", + "SettingsTabSystemDramSize6GiB": "6GiB", + "SettingsTabSystemDramSize8GiB": "8GiB", + "SettingsTabSystemDramSize12GiB": "12GiB", "SettingsTabSystemIgnoreMissingServices": "忽略缺少的模擬器功能", "SettingsTabGraphics": "圖形", "SettingsTabGraphicsAPI": "圖形 API", diff --git a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs index 70e5fa5c7..d16c68a9c 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; @@ -141,7 +142,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; } @@ -426,7 +427,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 @@ -520,7 +521,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..188d15fcc 100644 --- a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml +++ b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml @@ -1,4 +1,4 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file +