Allow DRAM size to be increased from 4GB to 6GB (#2174)

* Allow DRAM size to be increased from 4GB to 6GB

* Add option on the UI
This commit is contained in:
gdkchan 2021-04-04 09:06:59 -03:00 committed by GitHub
parent 3bc107d491
commit 874540bb5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 278 additions and 144 deletions

View file

@ -337,7 +337,17 @@ namespace Ryujinx.Ui
}
}
_emulationContext = new HLE.Switch(_virtualFileSystem, _contentManager, _userChannelPersistence, renderer, deviceDriver)
var memoryConfiguration = ConfigurationState.Instance.System.ExpandRam.Value
? HLE.MemoryConfiguration.MemoryConfiguration6GB
: HLE.MemoryConfiguration.MemoryConfiguration4GB;
_emulationContext = new HLE.Switch(
_virtualFileSystem,
_contentManager,
_userChannelPersistence,
renderer,
deviceDriver,
memoryConfiguration)
{
UiHandler = _uiHandler
};
@ -664,7 +674,7 @@ namespace Ryujinx.Ui
GlRendererWidget.Exit();
if(GlRendererWidget.Window != Window && GlRendererWidget.Window != null)
if (GlRendererWidget.Window != Window && GlRendererWidget.Window != null)
{
GlRendererWidget.Window.Dispose();
}
@ -1061,7 +1071,7 @@ namespace Ryujinx.Ui
if (responseInstallDialog == ResponseType.Yes)
{
Logger.Info?.Print(LogClass.Application, $"Installing firmware {firmwareVersion.VersionString}");
Thread thread = new Thread(() =>
{
Application.Invoke(delegate

View file

@ -51,6 +51,7 @@ namespace Ryujinx.Ui.Windows
[GUI] CheckButton _shaderCacheToggle;
[GUI] CheckButton _ptcToggle;
[GUI] CheckButton _fsicToggle;
[GUI] CheckButton _expandRamToggle;
[GUI] CheckButton _ignoreToggle;
[GUI] CheckButton _directKeyboardAccess;
[GUI] ComboBoxText _systemLanguageSelect;
@ -214,6 +215,11 @@ namespace Ryujinx.Ui.Windows
_fsicToggle.Click();
}
if (ConfigurationState.Instance.System.ExpandRam)
{
_expandRamToggle.Click();
}
if (ConfigurationState.Instance.System.IgnoreMissingServices)
{
_ignoreToggle.Click();
@ -417,6 +423,7 @@ namespace Ryujinx.Ui.Windows
ConfigurationState.Instance.Graphics.EnableShaderCache.Value = _shaderCacheToggle.Active;
ConfigurationState.Instance.System.EnablePtc.Value = _ptcToggle.Active;
ConfigurationState.Instance.System.EnableFsIntegrityChecks.Value = _fsicToggle.Active;
ConfigurationState.Instance.System.ExpandRam.Value = _expandRamToggle.Active;
ConfigurationState.Instance.System.IgnoreMissingServices.Value = _ignoreToggle.Active;
ConfigurationState.Instance.Hid.EnableKeyboard.Value = _directKeyboardAccess.Active;
ConfigurationState.Instance.Ui.EnableCustomTheme.Value = _custThemeToggle.Active;
@ -436,7 +443,7 @@ namespace Ryujinx.Ui.Windows
{
AudioBackend audioBackend = (AudioBackend)_audioBackendStore.GetValue(activeIter, 1);
if (audioBackend != ConfigurationState.Instance.System.AudioBackend.Value)
{
{
ConfigurationState.Instance.System.AudioBackend.Value = audioBackend;
Logger.Info?.Print(LogClass.Application, $"AudioBackend toggled to: {audioBackend}");

View file

@ -1625,6 +1625,24 @@
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="_expandRamToggle">
<property name="label" translatable="yes">Expand DRAM size to 6GB</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="tooltip-text" translatable="yes">Expands the amount of memory on the emulated system from 4GB to 6GB</property>
<property name="halign">start</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="_ignoreToggle">
<property name="label" translatable="yes">Ignore Missing Services</property>
@ -1640,7 +1658,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
</object>