diff --git a/src/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForAdministrator.cs b/src/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForAdministrator.cs index bb959fbf8..45782d989 100644 --- a/src/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForAdministrator.cs +++ b/src/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForAdministrator.cs @@ -73,11 +73,13 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc } [CommandCmif(51)] + [CommandCmif(52)] // TrySelectUserWithoutInteraction(bool) -> nn::account::Uid public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context) { return _applicationServiceServer.TrySelectUserWithoutInteraction(context); } + [CommandCmif(102)] // GetBaasAccountManagerForSystemService(nn::account::Uid) -> object diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ILibraryAppletProxy.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ILibraryAppletProxy.cs index aa43e93a2..9e0dd09f9 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ILibraryAppletProxy.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ILibraryAppletProxy.cs @@ -106,7 +106,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService // GetHomeMenuFunctions() -> object public ResultCode GetHomeMenuFunctions(ServiceCtx context) { - MakeObject(context, new IHomeMenuFunctions(context.Device.System)); + MakeObject(context, new IHomeMenuFunctions(context.Device.System, _pid)); return ResultCode.Success; } diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ISystemAppletProxy.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ISystemAppletProxy.cs index 3a66bdf9c..d06b1112e 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ISystemAppletProxy.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/ISystemAppletProxy.cs @@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService // GetHomeMenuFunctions() -> object public ResultCode GetHomeMenuFunctions(ServiceCtx context) { - MakeObject(context, new IHomeMenuFunctions(context.Device.System)); + MakeObject(context, new IHomeMenuFunctions(context.Device.System, _pid)); return ResultCode.Success; } @@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService // GetApplicationCreator() -> object public ResultCode GetApplicationCreator(ServiceCtx context) { - MakeObject(context, new IApplicationCreator(context.Device.Processes.ActiveApplication.ProcessId)); + MakeObject(context, new IApplicationCreator(_pid)); return ResultCode.Success; } diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAppletCommonFunctions.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAppletCommonFunctions.cs index fcc8f1358..8262f31e3 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAppletCommonFunctions.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IAppletCommonFunctions.cs @@ -6,6 +6,15 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { public IAppletCommonFunctions() { } + [CommandCmif(51)] + // GetHomeButtonDoubleClickEnabled() -> bool + public ResultCode GetHomeButtonDoubleClickEnabled(ServiceCtx context) + { + context.ResponseData.Write(true); + Logger.Info?.PrintStub(LogClass.ServiceAm); + return ResultCode.Success; + } + [CommandCmif(70)] // SetCpuBoostRequestPriority(s32) -> void public ResultCode SetCpuBoostRequestPriority(ServiceCtx context) diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IApplicationAccessor.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IApplicationAccessor.cs index 484ba5130..46a015e94 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IApplicationAccessor.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IApplicationAccessor.cs @@ -169,9 +169,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys public ResultCode GetNsRightsEnvironmentHandle(ServiceCtx context) { Logger.Stub?.PrintStub(LogClass.ServiceAm); - KEvent eventObj = new KEvent(_kernelContext); - context.Process.HandleTable.GenerateHandle(eventObj.ReadableEvent, out int handle); - context.ResponseData.Write(handle); + context.ResponseData.Write(0xdeadbeef); return ResultCode.Success; } } diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs index 8f9f7ab0e..7e40c8ee3 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs @@ -324,7 +324,16 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context); } - + + [CommandCmif(200)] + // GetOperationModeSystemInfo() -> u32 + public ResultCode GetOperationModeSystemInfo(ServiceCtx context) + { + context.ResponseData.Write(0); + Logger.Stub?.PrintStub(LogClass.ServiceAm); + return ResultCode.Success; + } + [CommandCmif(300)] // 9.0.0+ // GetSettingsPlatformRegion() -> u8 public ResultCode GetSettingsPlatformRegion(ServiceCtx context) diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IDisplayController.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IDisplayController.cs index 0c8da8339..26141c076 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IDisplayController.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IDisplayController.cs @@ -103,6 +103,17 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } + [CommandCmif(20)] + // ClearCaptureBuffer(u8, s32, u32) + public ResultCode ClearCaptureBuffer(ServiceCtx context) + { + byte unknown1 = context.RequestData.ReadByte(); + int captureSharedBuffer = context.RequestData.ReadInt32(); + uint color = context.RequestData.ReadUInt32(); + Logger.Stub?.PrintStub(LogClass.ServiceAm, new { unknown1, captureSharedBuffer }); + return ResultCode.Success; + } + [CommandCmif(22)] // AcquireLastApplicationCaptureSharedBuffer() -> (b8, u32) public ResultCode AcquireLastApplicationCaptureSharedBuffer(ServiceCtx context) @@ -113,6 +124,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys return ResultCode.Success; } + [CommandCmif(24)] [CommandCmif(26)] // AcquireCallerAppletCaptureSharedBuffer() -> (b8, u32) diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs index 6be8ca9f6..0cc077f8d 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IHomeMenuFunctions.cs @@ -8,16 +8,20 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { class IHomeMenuFunctions : IpcService { + private ulong _pid; private int _channelEventHandle; - public IHomeMenuFunctions(Horizon system) { } + public IHomeMenuFunctions(Horizon system, ulong pid) + { + _pid = pid; + } [CommandCmif(10)] // RequestToGetForeground() public ResultCode RequestToGetForeground(ServiceCtx context) { Logger.Stub?.PrintStub(LogClass.ServiceAm); - context.Device.System.WindowSystem.RequestApplicationToGetForeground(context.Process.Pid); + context.Device.System.WindowSystem.RequestApplicationToGetForeground(_pid); return ResultCode.Success; } diff --git a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IRemoteStorageController.cs b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IRemoteStorageController.cs index c864965bd..79c3b31bd 100644 --- a/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IRemoteStorageController.cs +++ b/src/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/IRemoteStorageController.cs @@ -1,7 +1,31 @@ -namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy +using Ryujinx.Common.Logging; + +namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy { class IRemoteStorageController : IpcService { + [CommandCmif(14)] + // GetDataNewnessByApplicationId() + public ResultCode GetAutonomyTaskStatus(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceAm); + return ResultCode.Success; + } + + [CommandCmif(18)] // [7.0.0+] + // GetDataInfo() + public ResultCode GetDataInfo(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceAm); + return ResultCode.Success; + } + [CommandCmif(22)] // [11.0.0+] + // GetLoadedDataInfo() + public ResultCode GetLoadedDataInfo(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceAm); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/BluetoothManager/BtmSystem/IBtmSystemCore.cs b/src/Ryujinx.HLE/HOS/Services/BluetoothManager/BtmSystem/IBtmSystemCore.cs index 304cfe03b..064e41ff4 100644 --- a/src/Ryujinx.HLE/HOS/Services/BluetoothManager/BtmSystem/IBtmSystemCore.cs +++ b/src/Ryujinx.HLE/HOS/Services/BluetoothManager/BtmSystem/IBtmSystemCore.cs @@ -77,5 +77,21 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager.BtmSystem return ResultCode.Success; } + + [CommandCmif(14)] // [13.0.0+] + // AcquireAudioDeviceConnectionEvent() -> handle + public ResultCode AcquireAudioDeviceConnectionEvent(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceBtm); + return ResultCode.Success; + } + + [CommandCmif(20)] // [13.0.0+] + // GetPairedAudioDevices() + public ResultCode GetPairedAudioDevices(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceBtm); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Hid/IHidSystemServer.cs b/src/Ryujinx.HLE/HOS/Services/Hid/IHidSystemServer.cs index 1808db666..1b50a81ea 100644 --- a/src/Ryujinx.HLE/HOS/Services/Hid/IHidSystemServer.cs +++ b/src/Ryujinx.HLE/HOS/Services/Hid/IHidSystemServer.cs @@ -120,6 +120,14 @@ namespace Ryujinx.HLE.HOS.Services.Hid return ResultCode.Success; } + [CommandCmif(161)] // [7.0.0+] + // GetPlatformConfig() + public ResultCode GetPlatformConfig(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceHid); + return ResultCode.Success; + } + [CommandCmif(301)] // ActivateNpadSystem(u32) public ResultCode ActivateNpadSystem(ServiceCtx context) @@ -196,6 +204,22 @@ namespace Ryujinx.HLE.HOS.Services.Hid return ResultCode.Success; } + [CommandCmif(514)] + // SendVibrationNotificationPattern() + public ResultCode SendVibrationNotificationPattern(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceHid); + return ResultCode.Success; + } + + [CommandCmif(523)] + // IsJoyConRailEnabled() -> bool + public ResultCode IsJoyConRailEnabled(ServiceCtx context) + { + context.ResponseData.Write(true); + return ResultCode.Success; + } + [CommandCmif(525)] // IsJoyConAttachedOnAllRail() -> bool public ResultCode IsJoyConAttachedOnAllRail(ServiceCtx context) diff --git a/src/Ryujinx.HLE/HOS/Services/News/INewsDatabaseService.cs b/src/Ryujinx.HLE/HOS/Services/News/INewsDatabaseService.cs index d4b56b1a2..eea8b06d6 100644 --- a/src/Ryujinx.HLE/HOS/Services/News/INewsDatabaseService.cs +++ b/src/Ryujinx.HLE/HOS/Services/News/INewsDatabaseService.cs @@ -32,5 +32,21 @@ namespace Ryujinx.HLE.HOS.Services.News Logger.Stub?.PrintStub(LogClass.Service); return ResultCode.Success; } + + [CommandCmif(4)] + // UpdateIntegerValueWithAddition + public ResultCode UpdateIntegerValueWithAddition(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.Service); + return ResultCode.Success; + } + + [CommandCmif(1000)] + // GetListEx(unknown<4>, buffer, buffer) -> (unknown<4>, buffer) + public ResultCode GetListEx(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.Service); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/News/INewsService.cs b/src/Ryujinx.HLE/HOS/Services/News/INewsService.cs index bce42adf8..491c7c013 100644 --- a/src/Ryujinx.HLE/HOS/Services/News/INewsService.cs +++ b/src/Ryujinx.HLE/HOS/Services/News/INewsService.cs @@ -26,5 +26,13 @@ namespace Ryujinx.HLE.HOS.Services.News return ResultCode.Success; } + [CommandCmif(40101)] + // RequestAutoSubscription() + public ResultCode RequestAutoSubscription(ServiceCtx context) + { + // TODO: Implement this properly + Logger.Stub?.PrintStub(LogClass.Service); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs b/src/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs index 76b7e5957..656600658 100644 --- a/src/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs @@ -337,6 +337,14 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService return ResultCode.Success; } + [CommandCmif(36)] // [4.0.0+] + // GetCurrentAccessPoint() + public ResultCode GetCurrentAccessPoint(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNifm); + return ResultCode.Success; + } + private (IPInterfaceProperties, UnicastIPAddressInformation) GetLocalInterface(ServiceCtx context) { if (!NetworkInterface.GetIsNetworkAvailable()) diff --git a/src/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs b/src/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs index 949c7db68..3658cef3e 100644 --- a/src/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs +++ b/src/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs @@ -133,6 +133,15 @@ namespace Ryujinx.HLE.HOS.Services.Ns return ResultCode.Success; } + + [CommandCmif(38)] + // CheckApplicationLaunchVersion(u64) + public ResultCode CheckApplicationLaunchVersion(ServiceCtx context) + { + ulong applicationId = context.RequestData.ReadUInt64(); + Logger.Stub?.PrintStub(LogClass.ServiceNs, new { applicationId }); + return ResultCode.Success; + } [CommandCmif(44)] // GetSdCardMountStatusChangedEvent() -> handle @@ -294,6 +303,24 @@ namespace Ryujinx.HLE.HOS.Services.Ns return ResultCode.Success; } + [CommandCmif(906)] + // IsApplicationUpdateRequested() -> bool + public ResultCode IsApplicationUpdateRequested(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNs); + context.ResponseData.Write(false); + return ResultCode.Success; + } + + [CommandCmif(1300)] + // IsAnyApplicationEntityInstalled() -> bool + public ResultCode IsAnyApplicationEntityInstalled(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNs); + context.ResponseData.Write(true); + return ResultCode.Success; + } + [CommandCmif(1701)] // GetApplicationView(buffer) -> buffer public ResultCode GetApplicationView(ServiceCtx context) @@ -332,6 +359,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns return ResultCode.Success; } + [CommandCmif(1704)] // GetApplicationView(buffer) -> buffer public ResultCode GetApplicationViewWithPromotionInfo(ServiceCtx context) @@ -380,5 +408,13 @@ namespace Ryujinx.HLE.HOS.Services.Ns return ResultCode.Success; } + + [CommandCmif(2050)] + // GetApplicationRightsOnClient() + public ResultCode GetApplicationRightsOnClient(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNs); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Ns/IDynamicRightsInterface.cs b/src/Ryujinx.HLE/HOS/Services/Ns/IDynamicRightsInterface.cs index 672f5b1df..26dd503c2 100644 --- a/src/Ryujinx.HLE/HOS/Services/Ns/IDynamicRightsInterface.cs +++ b/src/Ryujinx.HLE/HOS/Services/Ns/IDynamicRightsInterface.cs @@ -1,19 +1,33 @@ -namespace Ryujinx.HLE.HOS.Services.Ns +using Ryujinx.Common.Logging; + +namespace Ryujinx.HLE.HOS.Services.Ns { class IDynamicRightsInterface : IpcService { [CommandCmif(5)] // VerifyActivatedRightsOwners(u64) - public ResultCode VerifyActivatedRightsOwners(ServiceCtx context) => ResultCode.Success; + public ResultCode VerifyActivatedRightsOwners(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNs); + return ResultCode.Success; + } [CommandCmif(13)] // GetRunningApplicationStatus() -> nn::ns::RunningApplicationStatus public ResultCode GetRunningApplicationStatus(ServiceCtx context) { + Logger.Stub?.PrintStub(LogClass.ServiceNs); context.ResponseData.Write(0); return ResultCode.Success; } - + + [CommandCmif(18)] + // NotifyApplicationRightsCheckStart() + public ResultCode NotifyApplicationRightsCheckStart(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceNs); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Olsc/IDaemonController.cs b/src/Ryujinx.HLE/HOS/Services/Olsc/IDaemonController.cs index 782a94dfd..e5926306e 100644 --- a/src/Ryujinx.HLE/HOS/Services/Olsc/IDaemonController.cs +++ b/src/Ryujinx.HLE/HOS/Services/Olsc/IDaemonController.cs @@ -1,7 +1,39 @@ -namespace Ryujinx.HLE.HOS.Services.Olsc +using Ryujinx.Common.Logging; + +namespace Ryujinx.HLE.HOS.Services.Olsc { class IDaemonController : IpcService { + [CommandCmif(0)] + // GetApplicationAutoTransferSetting() + public ResultCode GetApplicationAutoTransferSetting(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } + [CommandCmif(2)] + // GetGlobalAutoUploadSetting() + public ResultCode GetGlobalAutoUploadSetting(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } + + [CommandCmif(5)] // [11.0.0+] + // GetGlobalAutoDownloadSetting() + public ResultCode GetGlobalAutoUploadOrDownloadSetting(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } + + [CommandCmif(12)] + // GetAutonomyTaskStatus() + public ResultCode GetAutonomyTaskStatus(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Olsc/OlscServiceForSystemService/ITransferTaskListController.cs b/src/Ryujinx.HLE/HOS/Services/Olsc/OlscServiceForSystemService/ITransferTaskListController.cs index 11bc03668..75ff2ceb5 100644 --- a/src/Ryujinx.HLE/HOS/Services/Olsc/OlscServiceForSystemService/ITransferTaskListController.cs +++ b/src/Ryujinx.HLE/HOS/Services/Olsc/OlscServiceForSystemService/ITransferTaskListController.cs @@ -16,6 +16,14 @@ namespace Ryujinx.HLE.HOS.Services.Olsc.OlscServiceForSystemService return ResultCode.Success; } + + [CommandCmif(8)] + // StopNextTransferTaskExecution() + public ResultCode StopNextTransferTaskExecution(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } [CommandCmif(9)] // GetNativeHandleHolderEx() -> object @@ -27,5 +35,21 @@ namespace Ryujinx.HLE.HOS.Services.Olsc.OlscServiceForSystemService return ResultCode.Success; } + + [CommandCmif(24)] + // GetCurrentTransferTaskInfo() + public ResultCode GetCurrentTransferTaskInfo(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } + + [CommandCmif(25)] + // FindTransferTaskInfo() + public ResultCode FindTransferTaskInfo(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceOlsc); + return ResultCode.Success; + } } } diff --git a/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs b/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs index 0cbfa562e..6f0f559af 100644 --- a/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs @@ -112,6 +112,14 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory return ResultCode.Success; } + + [CommandCmif(1002)] + // ConfirmLaunchApplicationPermission() + public ResultCode ConfirmLaunchApplicationPermission(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServicePctl); + return ResultCode.Success; + } [CommandCmif(1006)] // IsRestrictionTemporaryUnlocked() -> b8 diff --git a/src/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs b/src/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs index df27bda67..1fd4e74fe 100644 --- a/src/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs +++ b/src/Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs @@ -496,6 +496,16 @@ namespace Ryujinx.HLE.HOS.Services.Settings return ResultCode.Success; } + [CommandCmif(120)] // [3.0.0+] + // GetPushNotificationActivityModeOnSleep() + public ResultCode GetPushNotificationActivityModeOnSleep(ServiceCtx context) + { + context.ResponseData.Write(false); + + Logger.Stub?.PrintStub(LogClass.ServiceSet); + return ResultCode.Success; + } + [CommandCmif(124)] // GetErrorReportSharePermission() -> s32 public ResultCode GetErrorReportSharePermission(ServiceCtx context) @@ -552,6 +562,14 @@ namespace Ryujinx.HLE.HOS.Services.Settings return ResultCode.Success; } + [CommandCmif(203)] + // GetPanelCrcMode() + public ResultCode GetPanelCrcMode(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceSet); + return ResultCode.Success; + } + public byte[] GetFirmwareData(Switch device) { const ulong SystemVersionTitleId = 0x0100000000000809; diff --git a/src/Ryujinx.Horizon/Lbl/Ipc/LblController.cs b/src/Ryujinx.Horizon/Lbl/Ipc/LblController.cs index 9960f6bac..2ea105cf0 100644 --- a/src/Ryujinx.Horizon/Lbl/Ipc/LblController.cs +++ b/src/Ryujinx.Horizon/Lbl/Ipc/LblController.cs @@ -10,6 +10,15 @@ namespace Ryujinx.Horizon.Lbl.Ipc private bool _vrModeEnabled; private float _currentBrightnessSettingForVrMode; + [CmifCommand(0)] + // SaveCurrentSetting() + public Result SaveCurrentSetting() + { + Logger.Stub?.PrintStub(LogClass.ServiceLbl); + + return Result.Success; + } + [CmifCommand(1)] // LoadCurrentSetting() public Result LoadCurrentSetting() @@ -18,7 +27,25 @@ namespace Ryujinx.Horizon.Lbl.Ipc return Result.Success; } + + [CmifCommand(3)] + // GetCurrentBrightnessSetting() + public Result GetCurrentBrightnessSetting() + { + Logger.Stub?.PrintStub(LogClass.ServiceLbl); + + return Result.Success; + } + [CmifCommand(14)] + // IsAutoBrightnessControlEnabled() + public Result IsAutoBrightnessControlEnabled() + { + Logger.Stub?.PrintStub(LogClass.ServiceLbl); + + return Result.Success; + } + [CmifCommand(17)] public Result SetBrightnessReflectionDelayLevel(float unknown0, float unknown1) { @@ -136,5 +163,14 @@ namespace Ryujinx.Horizon.Lbl.Ipc return Result.Success; } + + [CmifCommand(29)] + // IsAutoBrightnessControlSupported() + public Result IsAutoBrightnessControlSupported() + { + Logger.Stub?.PrintStub(LogClass.ServiceLbl); + + return Result.Success; + } } }