diff --git a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs index 65b3ace6e..7aa21c047 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTableBase.cs @@ -203,7 +203,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory heapRegion.Size = memConfig switch { MemoryConfiguration.MemoryConfiguration8GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration10GiB when !isHeapLimited => 0x280000000u, + MemoryConfiguration.MemoryConfiguration10GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration12GiB when !isHeapLimited => 0x300000000u, + MemoryConfiguration.MemoryConfiguration12GiB => 0x200000000u, _ => 0x180000000u }; stackRegion.Size = 0; @@ -238,7 +240,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory heapRegion.Size = memConfig switch { MemoryConfiguration.MemoryConfiguration8GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration10GiB when !isHeapLimited => 0x280000000u, + MemoryConfiguration.MemoryConfiguration10GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration12GiB when !isHeapLimited => 0x300000000u, + MemoryConfiguration.MemoryConfiguration12GiB => 0x200000000u, _ => 0x180000000u }; stackRegion.Size = 1UL << (addressSpaceWidth - 8); @@ -257,7 +261,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory heapRegion.Size = memConfig switch { MemoryConfiguration.MemoryConfiguration8GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration10GiB when !isHeapLimited => 0x280000000u, + MemoryConfiguration.MemoryConfiguration10GiB => 0x200000000u, MemoryConfiguration.MemoryConfiguration12GiB when !isHeapLimited => 0x300000000u, + MemoryConfiguration.MemoryConfiguration12GiB => 0x200000000u, _ => 0x180000000u }; stackRegion.Size = 0x80000000;