These changes allow Mario Kart Live: Home Circuit (v2.0.0) to boot into menus. Kart functionality has not been implemented and will not work. Version 1.0.0 is currently unsupported due to unimplemented ARM registers. I plan on addressing this issue at a later date. ### Here is a list of the implemented and stubbed services in this PR: #### Implemented: Ldn.Lp2p.IServiceCreator: 0 (CreateNetworkService) Ldn.Lp2p.IServiceCreator: 8 (CreateNetworkServiceMonitor) Ldn.Lp2p.ISfService: 0 (Initialize) Ldn.Lp2p.ISfServiceMonitor: 0 (Initialize) Ldn.Lp2p.ISfServiceMonitor: 256 (AttachNetworkInterfaceStateChangeEvent) Ldn.Lp2p.ISfServiceMonitor: 328 (AttachJoinEvent) #### Stubbed: Ldn.Lp2p.ISfService: 768 (CreateGroup) Ldn.Lp2p.ISfService: 1536 (SendToOtherGroup) Ldn.Lp2p.ISfService: 1544 (RecvFromOtherGroup) Ldn.Lp2p.ISfServiceMonitor: 288 (GetGroupInfo) Ldn.Lp2p.ISfServiceMonitor: 296 (GetGroupInfo2) Ldn.Lp2p.ISfServiceMonitor: 312 (GetIpConfig)
28 lines
843 B
C#
28 lines
843 B
C#
namespace Ryujinx.HLE.HOS.Services.Ldn.Lp2p
|
|
{
|
|
[Service("lp2p:app")] // 9.0.0+
|
|
[Service("lp2p:sys")] // 9.0.0+
|
|
class IServiceCreator : IpcService
|
|
{
|
|
public IServiceCreator(ServiceCtx context) { }
|
|
|
|
[CommandCmif(0)]
|
|
// CreateNetworkService(pid, u64, u32) -> object<nn::ldn::detail::ISfService>
|
|
public ResultCode CreateNetworkService(ServiceCtx context)
|
|
{
|
|
MakeObject(context, new ISfService(context));
|
|
|
|
return ResultCode.Success;
|
|
}
|
|
|
|
[CommandCmif(8)]
|
|
// CreateNetworkServiceMonitor(pid, u64) -> object<nn::ldn::detail::ISfServiceMonitor>
|
|
public ResultCode CreateNetworkServiceMonitor(ServiceCtx context)
|
|
{
|
|
MakeObject(context, new ISfServiceMonitor(context));
|
|
|
|
return ResultCode.Success;
|
|
}
|
|
}
|
|
}
|