From 95ac0a7a517e21d38d199c4433c06d2c23cad8f7 Mon Sep 17 00:00:00 2001 From: KeatonTheBot Date: Tue, 6 May 2025 18:40:27 -0500 Subject: [PATCH] Assign DRAM IDs and Hardware Types to 10GiB-12GiB sizes * Fix incorrect Hardware Type for 8GiB-12GiB DRAM sizes --- .../HOS/Services/Spl/IGeneralInterface.cs | 27 ++++++++++--------- .../HOS/Services/Spl/Types/DramId.cs | 2 ++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs b/src/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs index cc57b053d..c57544142 100644 --- a/src/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs +++ b/src/Ryujinx.HLE/HOS/Services/Spl/IGeneralInterface.cs @@ -69,24 +69,27 @@ namespace Ryujinx.HLE.HOS.Services.Spl configValue = 0; break; case ConfigItem.DramId: - if (memorySize == MemorySize.MemorySize8GiB) + configValue = memorySize switch { - configValue = (ulong)DramId.IowaSamsung8GiB; - } - else if (memorySize == MemorySize.MemorySize6GiB) - { - configValue = (ulong)DramId.IcosaSamsung6GiB; - } - else - { - configValue = (ulong)DramId.IcosaSamsung4GiB; - } + MemorySize.MemorySize6GiB => (ulong)DramId.IcosaSamsung6GiB, + MemorySize.MemorySize8GiB => (ulong)DramId.IowaSamsung8GiB, + MemorySize.MemorySize10GiB => (ulong)DramId.IowaSamsung10GiB, + MemorySize.MemorySize12GiB => (ulong)DramId.IowaSamsung12GiB, + _ => (ulong)DramId.IcosaSamsung4GiB + }; break; case ConfigItem.SecurityEngineInterruptNumber: case ConfigItem.FuseVersion: return SmcResult.NotImplemented; case ConfigItem.HardwareType: - configValue = (ulong)HardwareType.Icosa; + configValue = memorySize switch + { + MemorySize.MemorySize6GiB => (ulong)HardwareType.Icosa, + MemorySize.MemorySize8GiB => (ulong)HardwareType.Iowa, + MemorySize.MemorySize10GiB => (ulong)HardwareType.Iowa, + MemorySize.MemorySize12GiB => (ulong)HardwareType.Iowa, + _ => (ulong)HardwareType.Icosa + }; break; case ConfigItem.HardwareState: configValue = (ulong)HardwareState.Production; diff --git a/src/Ryujinx.HLE/HOS/Services/Spl/Types/DramId.cs b/src/Ryujinx.HLE/HOS/Services/Spl/Types/DramId.cs index 7a53ee112..4ce6887d9 100644 --- a/src/Ryujinx.HLE/HOS/Services/Spl/Types/DramId.cs +++ b/src/Ryujinx.HLE/HOS/Services/Spl/Types/DramId.cs @@ -12,6 +12,8 @@ namespace Ryujinx.HLE.HOS.Services.Spl.Types IowaX1X2Samsung4GiB, IowaSansung4GiB, IowaSamsung8GiB, + IowaSamsung10GiB, + IowaSamsung12GiB, IowaHynix4GiB, IowaMicron4GiB, HoagSamsung4GiB,