diff --git a/src/Ryujinx.Horizon/Am/AmIpcServer.cs b/src/Ryujinx.Horizon/Am/AmIpcServer.cs index e463794da..00e6a7f7e 100644 --- a/src/Ryujinx.Horizon/Am/AmIpcServer.cs +++ b/src/Ryujinx.Horizon/Am/AmIpcServer.cs @@ -1,3 +1,4 @@ +using Ryujinx.Horizon.Am.Ipc; using Ryujinx.Horizon.Sdk.Sf.Hipc; using Ryujinx.Horizon.Sdk.Sm; @@ -5,12 +6,12 @@ namespace Ryujinx.Horizon.Am { internal class AmIpcServer { - // TODO: Get actual values from RE - private const int MaxSessionsCount = 10; - private const int TotalMaxSessionsCount = MaxSessionsCount * 4; + private const int MaxSessionsCountAE = 9; + private const int MaxSessionsCountOE = 1; + private const int TotalMaxSessionsCount = MaxSessionsCountAE + MaxSessionsCountOE; private const int PointerBufferSize = 0; - private const int MaxDomains = 0; + private const int MaxDomains = 10; private const int MaxDomainObjects = 64; private const int MaxPortsCount = 4; @@ -28,7 +29,8 @@ namespace Ryujinx.Horizon.Am _serverManager = new ServerManager(allocator, _sm, MaxPortsCount, _options, TotalMaxSessionsCount); - _serverManager.RegisterServer(0, ServiceName.Encode("appletAE"), MaxSessionsCount); + _serverManager.RegisterObjectForServer(new ProxiesService(), ServiceName.Encode("appletAE"), MaxSessionsCountAE); + _serverManager.RegisterObjectForServer(new ProxiesService(), ServiceName.Encode("appletOE"), MaxSessionsCountOE); } public void ServiceRequests() diff --git a/src/Ryujinx.Horizon/Sdk/Am/Controllers/IAllSystemAppletProxiesService.cs b/src/Ryujinx.Horizon/Sdk/Am/Controllers/IAllSystemAppletProxiesService.cs index b2eed94ce..7c7179b12 100644 --- a/src/Ryujinx.Horizon/Sdk/Am/Controllers/IAllSystemAppletProxiesService.cs +++ b/src/Ryujinx.Horizon/Sdk/Am/Controllers/IAllSystemAppletProxiesService.cs @@ -1,10 +1,11 @@ using Ryujinx.Horizon.Common; using Ryujinx.Horizon.Sdk.Am.Proxies; +using Ryujinx.Horizon.Sdk.Sf; using System; namespace Ryujinx.Horizon.Sdk.Am.Controllers { - public interface IAllSystemAppletProxiesService + interface IAllSystemAppletProxiesService : IServiceObject { Result OpenSystemAppletProxy(out ISystemAppletProxy systemAppletProxy, ulong unknown1, int unknown2, ulong pid); Result OpenLibraryAppletProxyOld(out ILibraryAppletProxy libraryAppletProxy, ulong unknown1, int unknown2, ulong pid);