diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index fb064f9752..f6172ebc56 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -349,9 +349,9 @@ public: {1, &IProfileCommon::GetBase, "GetBase"}, {10, &IProfileCommon::GetImageSize, "GetImageSize"}, {11, &IProfileCommon::LoadImage, "LoadImage"}, - {20, &IProfileCommon::Unknown20, "Unknown20"}, - {21, &IProfileCommon::Unknown21, "Unknown21"}, - {30, &IProfileCommon::Unknown30, "Unknown30"} + {20, &IProfileCommon::GetLargeImageSize, "GetLargeImageSize"}, + {21, &IProfileCommon::LoadLargeImage, "LoadLargeImage"}, + {30, &IProfileCommon::GetImageId, "GetImageId"} }; // clang-format on RegisterHandlers(functions); @@ -361,7 +361,7 @@ public: static const FunctionInfo editor_functions[] = { {100, &IProfileCommon::Store, "Store"}, {101, &IProfileCommon::StoreWithImage, "StoreWithImage"}, - {110, &IProfileCommon::Unknown110, "Unknown110"} + {110, &IProfileCommon::StoreWithLargeImage, "StoreWithLargeImage"} }; // clang-format on @@ -370,7 +370,7 @@ public: } protected: - void Unknown20(HLERequestContext& ctx) { + void GetLargeImageSize(HLERequestContext& ctx) { LOG_DEBUG(Service_ACC, "(STUBBED) called."); // TODO (jarrodnorwell) @@ -380,7 +380,7 @@ protected: rb.Push(ResultSuccess); } - void Unknown21(HLERequestContext& ctx) { + void LoadLargeImage(HLERequestContext& ctx) { LOG_DEBUG(Service_ACC, "(STUBBED) called."); // TODO (jarrodnorwell) @@ -390,7 +390,7 @@ protected: rb.Push(ResultSuccess); } - void Unknown30(HLERequestContext& ctx) { + void GetImageId(HLERequestContext& ctx) { LOG_DEBUG(Service_ACC, "(STUBBED) called."); // TODO (jarrodnorwell) @@ -400,7 +400,7 @@ protected: rb.Push(ResultSuccess); } - void Unknown110(HLERequestContext& ctx) { + void StoreWithLargeImage(HLERequestContext& ctx) { LOG_DEBUG(Service_ACC, "(STUBBED) called."); // TODO (jarrodnorwell) @@ -773,7 +773,6 @@ public: {220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ {221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ {230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+ - {240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/acc/acc_u0.cpp b/src/core/hle/service/acc/acc_u0.cpp index 54844bfe7d..970a1f1076 100644 --- a/src/core/hle/service/acc/acc_u0.cpp +++ b/src/core/hle/service/acc/acc_u0.cpp @@ -19,6 +19,7 @@ ACC_U0::ACC_U0(std::shared_ptr module_, std::shared_ptr {6, nullptr, "GetProfileDigest"}, // 3.0.0+ {50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, {51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, + {52, nullptr, "TrySelectUserWithoutInteraction"}, // 19.0.0+ {60, &ACC_U0::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0 {99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+ {100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"}, diff --git a/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp b/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp index 3e0df84d39..506dac4faf 100644 --- a/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp +++ b/src/core/hle/service/am/service/all_system_applet_proxies_service.cpp @@ -18,7 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys // clang-format off static const FunctionInfo functions[] = { {100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"}, - {110, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug>, "OpenSystemAppletProxyForDebug"}, + {110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"}, {200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"}, {201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"}, {300, nullptr, "OpenOverlayAppletProxy"}, @@ -51,9 +51,9 @@ Result IAllSystemAppletProxiesService::OpenSystemAppletProxy( } } -Result IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug( +Result IAllSystemAppletProxiesService::Unknown110( Out> out_proxy, ClientProcessId pid) { - LOG_DEBUG(Service_AM, "OpenSystemAppletProxyForDebug called"); + LOG_DEBUG(Service_AM, "called"); auto process = system.ApplicationProcess(); if (!process) { diff --git a/src/core/hle/service/am/service/all_system_applet_proxies_service.h b/src/core/hle/service/am/service/all_system_applet_proxies_service.h index d019da88b8..7906d6b0a3 100644 --- a/src/core/hle/service/am/service/all_system_applet_proxies_service.h +++ b/src/core/hle/service/am/service/all_system_applet_proxies_service.h @@ -28,7 +28,7 @@ private: Result OpenSystemAppletProxy(Out> out_system_applet_proxy, ClientProcessId pid, InCopyHandle process_handle); - Result OpenSystemAppletProxyForDebug(Out> out_proxy, ClientProcessId pid); + Result Unknown110(Out> out_proxy, ClientProcessId pid); Result OpenLibraryAppletProxy(Out> out_library_applet_proxy, ClientProcessId pid, InCopyHandle process_handle, diff --git a/src/core/hle/service/am/service/applet_common_functions.cpp b/src/core/hle/service/am/service/applet_common_functions.cpp index 360db3baa0..51d8e3f752 100644 --- a/src/core/hle/service/am/service/applet_common_functions.cpp +++ b/src/core/hle/service/am/service/applet_common_functions.cpp @@ -31,18 +31,20 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_, {90, nullptr, "OpenNamedChannelAsParent"}, {91, nullptr, "OpenNamedChannelAsChild"}, {100, nullptr, "SetApplicationCoreUsageMode"}, + {160, nullptr, "GetNotificationReceiverService"}, // 18.0.0+ + {161, nullptr, "GetNotificationSenderService"}, // 18.0.0+ {300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"}, - {310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+ - {311, nullptr, "Unknown311"}, - {320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+ - {321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.0.0+ - {322, nullptr, "Unknown322"}, - {330, nullptr, "Unknown330"}, //19.0.0+ - {340, nullptr, "Unknown340"}, - {341, nullptr, "Unknown341"}, - {342, nullptr, "Unknown342"}, - {350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"}, - {360, nullptr, "Unknown360"}, + {310, nullptr, "IsSystemAppletHomeMenu"}, // 19.0.0+ + {311, nullptr, "Unknown311"}, // 20.0.0+ + {320, nullptr, "SetGpuTimeSliceBoost"}, // 19.0.0+ + {321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, // 19.0.0+ + {322, nullptr, "Unknown322"}, // 20.0.0+ + {330, nullptr, "Unknown330"}, // 19.0.0+ + {340, nullptr, "Unknown340"}, // 20.0.0+ + {341, nullptr, "Unknown341"}, // 20.0.0+ + {342, nullptr, "Unknown342"}, // 20.0.0+ + {350, D<&IAppletCommonFunctions::Unknown350>, "Unknown350"}, // 20.0.0+ + {360, nullptr, "Unknown360"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/am/service/application_accessor.cpp b/src/core/hle/service/am/service/application_accessor.cpp index cd2b595182..9271d8af0d 100644 --- a/src/core/hle/service/am/service/application_accessor.cpp +++ b/src/core/hle/service/am/service/application_accessor.cpp @@ -47,8 +47,8 @@ IApplicationAccessor::IApplicationAccessor(Core::System& system_, std::shared_pt {190, nullptr, "PushToNotificationStorageChannel"}, {200, nullptr, "RequestApplicationSoftReset"}, {201, nullptr, "RestartApplicationTimer"}, - {300, nullptr, "Unknown300"}, - {301, nullptr, "Unknown301"}, + {300, nullptr, "Unknown300"}, // 20.0.0+ + {301, nullptr, "Unknown301"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/audio/audio_controller.cpp b/src/core/hle/service/audio/audio_controller.cpp index 4b6f468c92..9ef876ec5c 100644 --- a/src/core/hle/service/audio/audio_controller.cpp +++ b/src/core/hle/service/audio/audio_controller.cpp @@ -20,7 +20,7 @@ IAudioController::IAudioController(Core::System& system_) {3, D<&IAudioController::GetTargetVolumeMax>, "GetTargetVolumeMax"}, {4, nullptr, "IsTargetMute"}, {5, nullptr, "SetTargetMute"}, - {6, nullptr, "IsTargetConnected"}, + {6, nullptr, "IsTargetConnected"}, // [20.0.0+] ([1.0.0-17.0.1] IsTargetConnected) {7, nullptr, "SetDefaultTarget"}, {8, nullptr, "GetDefaultTarget"}, {9, D<&IAudioController::GetAudioOutputMode>, "GetAudioOutputMode"}, @@ -37,9 +37,9 @@ IAudioController::IAudioController(Core::System& system_) {20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"}, {21, nullptr, "GetAudioOutputTargetForPlayReport"}, {22, D<&IAudioController::NotifyHeadphoneVolumeWarningDisplayedEvent>, "NotifyHeadphoneVolumeWarningDisplayedEvent"}, - {23, nullptr, "SetSystemOutputMasterVolume"}, + {23, nullptr, "SetSystemOutputMasterVolume"}, // [20.0.0+] Originally any input was accepted, now input must be in range 0.0-1.0 otherwise it's replaced by nearest accepted value. {24, nullptr, "GetSystemOutputMasterVolume"}, - {25, nullptr, "GetAudioVolumeDataForPlayReport"}, + {25, nullptr, "GetAudioVolumeDataForPlayReport"}, // [20.0.0+] Now takes a 0x400-bytes type-0x16 output buffer and no longer returns any output. {26, nullptr, "UpdateHeadphoneSettings"}, {27, nullptr, "SetVolumeMappingTableForDev"}, {28, nullptr, "GetAudioOutputChannelCountForPlayReport"}, @@ -54,10 +54,10 @@ IAudioController::IAudioController(Core::System& system_) {37, nullptr, "SetHearingProtectionSafeguardEnabled"}, {38, nullptr, "IsHearingProtectionSafeguardEnabled"}, {39, nullptr, "IsHearingProtectionSafeguardMonitoringOutputForDebug"}, - {40, nullptr, "GetSystemInformationForDebug"}, + {40, nullptr, "GetSystemInformationForDebug"}, // [20.0.0+] Now takes a total of 0x40-bytes of input and the type-0x16 output buffer is now 0x2000-bytes instead of 0x1000-bytes. {41, nullptr, "SetVolumeButtonLongPressTime"}, {42, nullptr, "SetNativeVolumeForDebug"}, - {5000, D<&IAudioController::Unknown5000>, "Unknown5000"}, + {5000, D<&IAudioController::Unknown5000>, "Unknown5000"}, // 19.0.0+ {10000, nullptr, "NotifyAudioOutputTargetForPlayReport"}, {10001, nullptr, "NotifyAudioOutputChannelCountForPlayReport"}, {10002, nullptr, "NotifyUnsupportedUsbOutputDeviceAttachedForPlayReport"}, @@ -68,6 +68,7 @@ IAudioController::IAudioController(Core::System& system_) {10104, nullptr, "GetAudioOutputChannelCountForPlayReport"}, {10105, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"}, {10106, nullptr, "GetDefaultAudioOutputTargetForPlayReport"}, + {10200, nullptr, "Unknown10200"}, // 20.0.0+ {50000, nullptr, "SetAnalogInputBoostGainForPrototyping"}, {50001, nullptr, "OverrideDefaultTargetForDebug"}, {50003, nullptr, "SetForceOverrideExternalDeviceNameForDebug"}, diff --git a/src/core/hle/service/caps/caps_a.cpp b/src/core/hle/service/caps/caps_a.cpp index 588cf2f09b..402996295a 100644 --- a/src/core/hle/service/caps/caps_a.cpp +++ b/src/core/hle/service/caps/caps_a.cpp @@ -33,15 +33,32 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_, {15, nullptr, "GetAlbumUsage3"}, {16, nullptr, "GetAlbumMountResult"}, {17, nullptr, "GetAlbumUsage16"}, - {18, C<&IAlbumAccessorService::Unknown18>, "Unknown18"}, - {19, nullptr, "Unknown19"}, + {18, C<&IAlbumAccessorService::GetAppletProgramIdTable>, "GetAppletProgramIdTable"}, + {19, nullptr, "GetAlbumFileName"}, + {20, nullptr, "Unknown20"}, // 20.0.0+ {100, nullptr, "GetAlbumFileCountEx0"}, {101, C<&IAlbumAccessorService::GetAlbumFileListEx0>, "GetAlbumFileListEx0"}, + {110, nullptr, "GetAlbumFileListEx1"}, // 15.0.0+ + {120, nullptr, "GetAlbumFileListEx2"}, // 17.0.0+ + {121, nullptr, "Unknown121"}, // 20.0.0+ + {122, nullptr, "Unknown122"}, // 20.0.0+ + {123, nullptr, "Unknown123"}, // 20.0.0+ + {130, nullptr, "LoadAlbumFileRawData"}, // 17.0.0+ + {140, nullptr, "GetAlbumFileCreatedEvent"}, // 17.0.0+ + {141, nullptr, "Unknown141"}, // 18.0.0+ + {150, nullptr, "LoadAlbumSystemReservedInfo"}, // 17.0.0+ + {151, nullptr, "Unknown151"}, // 18.0.0+ + {160, nullptr, "Unknown160"}, // 18.0.0+ + {170, nullptr, "Unknown170"}, // 20.0.0+ + {171, nullptr, "Unknown171"}, // 20.0.0+ + {172, nullptr, "Unknown172"}, // 20.0.0+ {202, nullptr, "SaveEditedScreenShot"}, {301, nullptr, "GetLastThumbnail"}, {302, nullptr, "GetLastOverlayMovieThumbnail"}, {401, C<&IAlbumAccessorService::GetAutoSavingStorage>, "GetAutoSavingStorage"}, {501, nullptr, "GetRequiredStorageSpaceSizeToCopyAll"}, + {502, nullptr, "Unknown502"}, // 20.0.0+ + {600, nullptr, "Unknown600"}, // 20.0.0+ {1001, nullptr, "LoadAlbumScreenShotThumbnailImageEx0"}, {1002, C<&IAlbumAccessorService::LoadAlbumScreenShotImageEx1>, "LoadAlbumScreenShotImageEx1"}, {1003, C<&IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1>, "LoadAlbumScreenShotThumbnailImageEx1"}, @@ -51,10 +68,20 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_, {8012, nullptr, "GetAlbumCache"}, {8013, nullptr, "GetAlbumCacheEx"}, {8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"}, + {8022, nullptr, "Unknown8022"}, // 19.0.0+ + {8031, nullptr, "Unknown8031"}, // 20.0.0+ + {8032, nullptr, "Unknown8032"}, // 20.0.0+ {10011, nullptr, "SetInternalErrorConversionEnabled"}, {50000, nullptr, "LoadMakerNoteInfoForDebug"}, - {50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"}, - {50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"}, + {50001, nullptr, "Unknown50001"}, // 19.0.0+ + {50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"}, // 19.0.0+ + {50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"}, // 19.0.0+ + {50021, nullptr, "Unknown50021"}, // 20.0.0+ + {50022, nullptr, "Unknown50022"}, // 20.0.0+ + {50023, nullptr, "Unknown50023"}, // 20.0.0+ + {50024, nullptr, "Unknown50024"}, // 20.0.0+ + {50031, nullptr, "Unknown50031"}, // 20.0.0+ + {50032, nullptr, "Unknown50032"}, // 20.0.0+ {60002, nullptr, "OpenAccessorSession"}, }; // clang-format on @@ -89,7 +116,7 @@ Result IAlbumAccessorService::IsAlbumMounted(Out out_is_mounted, AlbumStor R_RETURN(TranslateResult(result)); } -Result IAlbumAccessorService::Unknown18( +Result IAlbumAccessorService::GetAppletProgramIdTable( Out out_buffer_size, OutArray out_buffer) { LOG_WARNING(Service_Capture, "(STUBBED) called"); diff --git a/src/core/hle/service/caps/caps_a.h b/src/core/hle/service/caps/caps_a.h index 9590e71e70..7c85da8572 100644 --- a/src/core/hle/service/caps/caps_a.h +++ b/src/core/hle/service/caps/caps_a.h @@ -28,7 +28,7 @@ private: Result IsAlbumMounted(Out out_is_mounted, AlbumStorage storage); - Result Unknown18( + Result GetAppletProgramIdTable( Out out_buffer_size, OutArray out_buffer); diff --git a/src/core/hle/service/caps/caps_c.cpp b/src/core/hle/service/caps/caps_c.cpp index 6993c04c2c..a97a7bf5ad 100644 --- a/src/core/hle/service/caps/caps_c.cpp +++ b/src/core/hle/service/caps/caps_c.cpp @@ -28,12 +28,18 @@ IAlbumControlService::IAlbumControlService(Core::System& system_, {2012, nullptr, "UnregisterAppletResourceUserId"}, {2013, nullptr, "GetApplicationIdFromAruid"}, {2014, nullptr, "CheckApplicationIdRegistered"}, + {2015, nullptr, "Unknown2015"}, // 20.0.0+ + {2016, nullptr, "Unknown2016"}, // 20.0.0+ {2101, nullptr, "GenerateCurrentAlbumFileId"}, {2102, nullptr, "GenerateApplicationAlbumEntry"}, + {2103, nullptr, "Unknown2103"}, // 19.0.0+ + {2104, nullptr, "Unknown2104"}, // 19.0.0+ {2201, nullptr, "SaveAlbumScreenShotFile"}, {2202, nullptr, "SaveAlbumScreenShotFileEx"}, {2301, nullptr, "SetOverlayScreenShotThumbnailData"}, {2302, nullptr, "SetOverlayMovieThumbnailData"}, + {2401, nullptr, "Unknown2401"}, // 19.0.0+ + {2501, nullptr, "GetAlbumAccessResultForDebug"}, // 19.0.0+ {60001, nullptr, "OpenControlSession"}, }; // clang-format on diff --git a/src/core/hle/service/caps/caps_sc.cpp b/src/core/hle/service/caps/caps_sc.cpp index 6117cb7c6c..7acc270a04 100644 --- a/src/core/hle/service/caps/caps_sc.cpp +++ b/src/core/hle/service/caps/caps_sc.cpp @@ -9,26 +9,35 @@ IScreenShotControlService::IScreenShotControlService(Core::System& system_) : ServiceFramework{system_, "caps:sc"} { // clang-format off static const FunctionInfo functions[] = { - {1, nullptr, "CaptureRawImage"}, - {2, nullptr, "CaptureRawImageWithTimeout"}, - {3, nullptr, "AttachSharedBuffer"}, - {5, nullptr, "CaptureRawImageToAttachedSharedBuffer"}, - {210, nullptr, "Unknown210"}, - {1001, nullptr, "RequestTakingScreenShot"}, - {1002, nullptr, "RequestTakingScreenShotWithTimeout"}, - {1003, nullptr, "RequestTakingScreenShotEx"}, - {1004, nullptr, "RequestTakingScreenShotEx1"}, - {1009, nullptr, "CancelTakingScreenShot"}, - {1010, nullptr, "SetTakingScreenShotCancelState"}, + {1, nullptr, "CaptureRawImageRgba32IntoArray"}, + {2, nullptr, "CaptureRawImageRgba32IntoArrayWithTimeout"}, + {3, nullptr, "AttachSharedBufferToCaptureModule"}, // 5.0.0+ + {5, nullptr, "CaptureRawImageToAttachedSharedBuffer"}, // 5.0.0+ + {210, nullptr, "SaveScreenShotEx2ViaAm"}, // 6.0.0+ + {1001, nullptr, "RequestTakingScreenShot"}, // 2.0.0-4.1.0 + {1002, nullptr, "RequestTakingScreenShotWithTimeout"}, // 2.0.0-4.1.0 + {1003, nullptr, "RequestTakingScreenShotEx"}, // 3.0.0-4.1.0 + {1004, nullptr, "RequestTakingScreenShotEx1"}, // 5.0.0+ + {1009, nullptr, "CancelTakingScreenShot"}, // 5.0.0+ + {1010, nullptr, "SetTakingScreenShotCancelState"}, // 5.0.0+ {1011, nullptr, "NotifyTakingScreenShotRefused"}, {1012, nullptr, "NotifyTakingScreenShotFailed"}, - {1101, nullptr, "SetupOverlayMovieThumbnail"}, - {1106, nullptr, "Unknown1106"}, - {1107, nullptr, "Unknown1107"}, - {1201, nullptr, "OpenRawScreenShotReadStream"}, - {1202, nullptr, "CloseRawScreenShotReadStream"}, - {1203, nullptr, "ReadRawScreenShotReadStream"}, - {1204, nullptr, "Unknown1204"}, + {1100, nullptr, "Unknown1100"}, // 18.0.0+ + {1101, nullptr, "SetupOverlayMovieThumbnail"}, // 4.0.0+ + {1106, nullptr, "CreateProtoMovieMetaDataNv12Ex2"}, // 4.0.0+ + {1107, nullptr, "CreateProtoMovieMetaDataRgbaEx2"}, // 4.0.0+ + {1108, nullptr, "Unknown1108"}, // 18.0.0+ + {1109, nullptr, "Unknown1109"}, // 19.0.0+ + {1110, nullptr, "Unknown1110"}, // 19.0.0+ + {1111, nullptr, "Unknown1111"}, // 19.0.0+ + {1112, nullptr, "Unknown1112"}, // 19.0.0+ + {1113, nullptr, "Unknown1113"}, // 19.0.0+ + {1114, nullptr, "Unknown1114"}, // 19.0.0+ + {1201, nullptr, "OpenRawScreenShotReadStream"}, // 3.0.0+ + {1202, nullptr, "CloseRawScreenShotReadStream"}, // 3.0.0+ + {1203, nullptr, "ReadRawScreenShotReadStream"}, // 3.0.0+ + {1204, nullptr, "CaptureCrashScreenShot"}, // 9.0.0+ + {9000, nullptr, "Unknown9000"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/caps/caps_ss.cpp b/src/core/hle/service/caps/caps_ss.cpp index dfa7f1a840..b74a57d779 100644 --- a/src/core/hle/service/caps/caps_ss.cpp +++ b/src/core/hle/service/caps/caps_ss.cpp @@ -19,8 +19,8 @@ IScreenShotService::IScreenShotService(Core::System& system_, {203, C<&IScreenShotService::SaveScreenShotEx0>, "SaveScreenShotEx0"}, {204, nullptr, "SaveEditedScreenShotEx0"}, {206, C<&IScreenShotService::SaveEditedScreenShotEx1>, "SaveEditedScreenShotEx1"}, - {208, nullptr, "SaveScreenShotOfMovieEx1"}, - {1000, nullptr, "Unknown1000"}, + {1000, nullptr, "RequestTakingScreenShotForApplet"}, // 13.0.0+ [19.0.0+] Now takes an additional 8-bytes of input. + {2000, nullptr, "Unknown2000"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index 9eaae4c4bd..a0890523fe 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -57,50 +57,81 @@ public: {38, nullptr, "OwnTicket3"}, {39, nullptr, "DeleteAllInactivePersonalizedTicket"}, {40, nullptr, "DeletePrepurchaseRecordByNintendoAccountId"}, - {501, nullptr, "Unknown501"}, - {502, nullptr, "Unknown502"}, - {503, nullptr, "GetTitleKey"}, - {504, nullptr, "Unknown504"}, - {508, nullptr, "Unknown508"}, - {509, nullptr, "Unknown509"}, - {510, nullptr, "Unknown510"}, - {511, nullptr, "Unknown511"}, - {1001, nullptr, "Unknown1001"}, - {1002, nullptr, "Unknown1001"}, - {1003, nullptr, "Unknown1003"}, - {1004, nullptr, "Unknown1004"}, - {1005, nullptr, "Unknown1005"}, - {1006, nullptr, "Unknown1006"}, - {1007, nullptr, "Unknown1007"}, - {1009, nullptr, "Unknown1009"}, - {1010, nullptr, "Unknown1010"}, - {1011, nullptr, "Unknown1011"}, - {1012, nullptr, "Unknown1012"}, - {1013, nullptr, "Unknown1013"}, - {1014, nullptr, "Unknown1014"}, - {1015, nullptr, "Unknown1015"}, - {1016, nullptr, "Unknown1016"}, - {1017, nullptr, "Unknown1017"}, - {1018, nullptr, "Unknown1018"}, - {1019, nullptr, "Unknown1019"}, - {1020, nullptr, "Unknown1020"}, - {1021, nullptr, "Unknown1021"}, - {1501, nullptr, "Unknown1501"}, - {1502, nullptr, "Unknown1502"}, - {1503, nullptr, "Unknown1503"}, - {1504, nullptr, "Unknown1504"}, - {1505, nullptr, "Unknown1505"}, - {1506, nullptr, "Unknown1506"}, - {2000, nullptr, "Unknown2000"}, - {2001, nullptr, "Unknown2001"}, - {2002, nullptr, "Unknown2002"}, - {2003, nullptr, "Unknown2003"}, - {2100, nullptr, "Unknown2100"}, - {2501, nullptr, "Unknown2501"}, - {2502, nullptr, "Unknown2502"}, - {2601, nullptr, "Unknown2601"}, - {3001, nullptr, "Unknown3001"}, - {3002, nullptr, "Unknown3002"}, + {101, nullptr, "Unknown101"}, // 18.0.0+ + {102, nullptr, "Unknown102"}, // 18.0.0+ + {103, nullptr, "Unknown103"}, // 18.0.0+ + {104, nullptr, "Unknown104"}, // 18.0.0+ + {105, nullptr, "Unknown105"}, // 20.0.0+ + {201, nullptr, "Unknown201"}, // 18.0.0+ + {202, nullptr, "Unknown202"}, // 18.0.0+ + {203, nullptr, "Unknown203"}, // 18.0.0+ + {204, nullptr, "Unknown204"}, // 18.0.0+ + {501, nullptr, "Unknown501"}, // 6.0.0+ + {502, nullptr, "Unknown502"}, // 6.0.0+ + {503, nullptr, "GetTitleKey"}, // 6.0.0+ + {504, nullptr, "Unknown504"}, // 6.0.0+ + {508, nullptr, "Unknown508"}, // 6.0.0+ + {509, nullptr, "Unknown509"}, // 6.0.0+ + {510, nullptr, "Unknown510"}, // 6.0.0+ + {511, nullptr, "Unknown511"}, // 9.0.0+ + {1001, nullptr, "Unknown1001"}, // 6.0.0+ + {1002, nullptr, "Unknown1002"}, // 6.0.0+ + {1003, nullptr, "GetIAsyncValue"}, // 6.0.0+ + {1004, nullptr, "Unknown1004"}, // 6.0.0+ + {1005, nullptr, "Unknown1005"}, // 6.0.0+ + {1006, nullptr, "Unknown1006"}, // 6.0.0+ + {1007, nullptr, "Unknown1007"}, // 6.0.0+ + {1009, nullptr, "Unknown1009"}, // 6.0.0+ + {1010, nullptr, "Unknown1010"}, // 6.0.0+ + {1011, nullptr, "Unknown1011"}, // 6.0.0+ + {1012, nullptr, "Unknown1012"}, // 6.0.0+ + {1013, nullptr, "Unknown1013"}, // 6.0.0+ + {1014, nullptr, "Unknown1014"}, // 6.0.0+ + {1015, nullptr, "Unknown1015"}, // 6.0.0+ + {1016, nullptr, "Unknown1016"}, // 6.0.0+ + {1017, nullptr, "Unknown1017"}, // 9.0.0+ + {1018, nullptr, "Unknown1018"}, // 9.0.0+ + {1019, nullptr, "Unknown1019"}, // 9.0.0+ + {1020, nullptr, "Unknown1020"}, // 9.0.0+ + {1021, nullptr, "Unknown1021"}, // 9.0.0+ + {1022, nullptr, "Unknown1022"}, // 15.0.0+ + {1023, nullptr, "Unknown1023"}, // 17.0.0+ + {1024, nullptr, "Unknown1024"}, // 17.0.0+ + {1025, nullptr, "Unknown1025"}, // 17.0.0+ + {1026, nullptr, "Unknown1026"}, // 17.0.0+ + {1027, nullptr, "Unknown1027"}, // 17.0.0+ + {1028, nullptr, "Unknown1028"}, // 18.0.0+ + {1029, nullptr, "Unknown1029"}, // 19.0.0+ + {1030, nullptr, "Unknown1030"}, // 20.0.0+ + {1031, nullptr, "Unknown1031"}, // 20.0.0+ + {1032, nullptr, "Unknown1032"}, // 20.0.0+ + {1033, nullptr, "Unknown1033"}, // 20.0.0+ + {1034, nullptr, "Unknown1034"}, // 20.0.0+ + {1035, nullptr, "Unknown1035"}, // 20.0.0+ + {1036, nullptr, "Unknown1036"}, // 20.0.0+ + {1037, nullptr, "Unknown1037"}, // 20.0.0+ + {1501, nullptr, "Unknown1501"}, // 6.0.0+ + {1502, nullptr, "Unknown1502"}, // 6.0.0+ + {1503, nullptr, "Unknown1503"}, // 6.0.0+ + {1504, nullptr, "Unknown1504"}, // 6.0.0+ + {1505, nullptr, "Unknown1505"}, // 6.0.0+ + {1506, nullptr, "Unknown1506"}, // 13.0.0+ + {1601, nullptr, "Unknown1601"}, // 20.0.0+ + {1602, nullptr, "Unknown1602"}, // 20.0.0+ + {1603, nullptr, "Unknown1603"}, // 20.0.0+ + {1604, nullptr, "Unknown1604"}, // 20.0.0+ + {1605, nullptr, "Unknown1605"}, // 20.0.0+ + {1606, nullptr, "Unknown1606"}, // 20.0.0+ + {2000, nullptr, "GetIActiveRightsContext"}, // 6.0.0+ + {2001, nullptr, "GetIActiveRightsContext2"}, // 9.0.0+ + {2002, nullptr, "Unknown2002"}, // 13.0.0-16.1.0 + {2003, nullptr, "Unknown2003"}, // 13.0.0-16.1.0 + {2100, nullptr, "Unknown2100"}, // 7.0.0+ + {2501, nullptr, "Unknown2501"}, // 6.0.0+ + {2502, nullptr, "Unknown2502"}, // 6.0.0+ + {2601, nullptr, "Unknown2601"}, // 13.0.0+ + {3001, nullptr, "Unknown3001"}, // 7.0.0-15.0.1 + {3002, nullptr, "Unknown3002"} // 7.0.0-15.0.1 }; // clang-format on RegisterHandlers(functions); diff --git a/src/core/hle/service/glue/notif.cpp b/src/core/hle/service/glue/notif.cpp index 5a03d34c12..a7ba3501db 100644 --- a/src/core/hle/service/glue/notif.cpp +++ b/src/core/hle/service/glue/notif.cpp @@ -227,6 +227,8 @@ INotificationServices::INotificationServices(Core::System& system_) {2001, nullptr, "GetAlarmSettingWithApplicationParameter"}, {2010, nullptr, "MuteAlarmSetting"}, {2020, nullptr, "IsAlarmSettingReady"}, + {3000, nullptr, "Unknown3000"}, // 20.0.0+ + {3010, nullptr, "Unknown3010"}, // 20.0.0+ {8000, nullptr, "RegisterAppletResourceUserId"}, {8010, nullptr, "UnregisterAppletResourceUserId"}, {8999, nullptr, "GetCurrentTime"}, diff --git a/src/core/hle/service/hid/hid_system_server.cpp b/src/core/hle/service/hid/hid_system_server.cpp index 9edfc045bf..8272731495 100644 --- a/src/core/hle/service/hid/hid_system_server.cpp +++ b/src/core/hle/service/hid/hid_system_server.cpp @@ -154,6 +154,8 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr, "CreateMonitorService"} + {0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"}, {1, nullptr, "CreateClientProcessMonitor"} // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp index 8210fd92a6..095c6dc39a 100644 --- a/src/core/hle/service/nim/nim.cpp +++ b/src/core/hle/service/nim/nim.cpp @@ -111,7 +111,7 @@ public: {28, nullptr, "RequestApplicationControl"}, {29, nullptr, "RequestLatestApplicationControl"}, {30, nullptr, "RequestVersionList"}, - {31, nullptr, "CreateApplyDeltaTask"}, + {31, nullptr, "CreateApplyDeltaTask"}, // [20.0.0+] The type-0x5 input buffer is now 0x18-bytes instead of 0x10-bytes. {32, nullptr, "DestroyApplyDeltaTask"}, {33, nullptr, "ListApplicationApplyDeltaTask"}, {34, nullptr, "RequestApplyDeltaTaskRun"}, @@ -167,54 +167,139 @@ public: {84, nullptr, "Unknown84"}, {85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"}, {86, nullptr, "ListNetworkInstallTaskOccupiedSize"}, - {87, nullptr, "Unknown87"}, - {88, nullptr, "Unknown88"}, - {89, nullptr, "Unknown89"}, - {90, nullptr, "Unknown90"}, - {91, nullptr, "Unknown91"}, - {92, nullptr, "Unknown92"}, - {93, nullptr, "Unknown93"}, - {94, nullptr, "Unknown94"}, - {95, nullptr, "Unknown95"}, - {96, nullptr, "Unknown96"}, - {97, nullptr, "Unknown97"}, - {98, nullptr, "Unknown98"}, - {99, nullptr, "Unknown99"}, - {100, nullptr, "Unknown100"}, - {101, nullptr, "Unknown101"}, - {102, nullptr, "Unknown102"}, - {103, nullptr, "Unknown103"}, - {104, nullptr, "Unknown104"}, - {105, nullptr, "Unknown105"}, - {106, nullptr, "Unknown106"}, - {107, nullptr, "Unknown107"}, - {108, nullptr, "Unknown108"}, - {109, nullptr, "Unknown109"}, - {110, nullptr, "Unknown110"}, - {111, nullptr, "Unknown111"}, - {112, nullptr, "Unknown112"}, - {113, nullptr, "Unknown113"}, - {114, nullptr, "Unknown114"}, - {115, nullptr, "Unknown115"}, - {116, nullptr, "Unknown116"}, - {117, nullptr, "Unknown117"}, - {118, nullptr, "Unknown118"}, - {119, nullptr, "Unknown119"}, - {120, nullptr, "Unknown120"}, - {121, nullptr, "Unknown121"}, - {122, nullptr, "Unknown122"}, - {123, nullptr, "Unknown123"}, - {124, nullptr, "Unknown124"}, - {125, nullptr, "Unknown125"}, - {126, nullptr, "Unknown126"}, - {127, nullptr, "Unknown127"}, - {128, nullptr, "Unknown128"}, - {129, nullptr, "Unknown129"}, - {130, nullptr, "Unknown130"}, - {131, nullptr, "Unknown131"}, - {132, nullptr, "Unknown132"}, - {133, nullptr, "Unknown133"}, - {134, nullptr, "Unknown134"}, + {87, nullptr, "RequestQueryAvailableELicenses"}, // 6.0.0+ + {88, nullptr, "RequestAssignELicenses"}, // 6.0.0+ + {89, nullptr, "RequestExtendELicenses"}, // 6.0.0+ + {90, nullptr, "RequestSyncELicenses"}, // 6.0.0+ + {91, nullptr, "Unknown91"}, // 6.0.0-14.1.2 + {92, nullptr, "RequestQueryRevokeReason"}, // 6.0.0-19.0.1 + {93, nullptr, "RequestReportActiveELicenses"}, // 6.0.0+ + {94, nullptr, "RequestReportActiveELicensesPassively"}, // 6.0.0+ + {95, nullptr, "RequestRegisterDynamicRightsNotificationToken"}, // 6.0.0+ + {96, nullptr, "RequestAssignAllDeviceLinkedELicenses"}, // 6.0.0+ + {97, nullptr, "RequestRevokeAllELicenses"}, // 6.0.0+ + {98, nullptr, "RequestPrefetchForDynamicRights"}, // 6.0.0+ + {99, nullptr, "CreateNetworkInstallTask"}, // 7.0.0+ + {100, nullptr, "ListNetworkInstallTaskRightsIds"}, // 9.0.0+ + {101, nullptr, "RequestDownloadETickets"}, // 9.0.0+ + {102, nullptr, "RequestQueryDownloadableContents"}, // 9.0.0+ + {103, nullptr, "DeleteNetworkInstallTaskContentMeta"}, // 9.0.0+ + {104, nullptr, "RequestIssueEdgeTokenForDebug"}, // 9.0.0+ + {105, nullptr, "RequestQueryAvailableELicenses2"}, // 9.0.0+ + {106, nullptr, "RequestAssignELicenses2"}, // 9.0.0+ + {107, nullptr, "GetNetworkInstallTaskStateCounter"}, // 10.0.0+ + {108, nullptr, "InvalidateDynamicRightsNaIdTokenCacheForDebug"}, // 10.0.0+ + {109, nullptr, "ListNetworkInstallTaskPartialInstallContentMeta"}, // 10.0.0+ + {110, nullptr, "ListNetworkInstallTaskRightsIdsFromIndex"}, // 10.0.0+ + {111, nullptr, "AddNetworkInstallTaskContentMetaForUser"}, // 10.0.0+ + {112, nullptr, "RequestAssignELicensesAndDownloadETickets"}, // 10.0.0+ + {113, nullptr, "RequestQueryAvailableCommonELicenses"}, // 10.0.0+ + {114, nullptr, "SetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+ + {115, nullptr, "GetNetworkInstallTaskExtendedAttribute"}, // 10.0.0+ + {116, nullptr, "GetAllocatorInfo"}, // 10.0.0+ + {117, nullptr, "RequestQueryDownloadableContentsByApplicationId"}, // 11.0.0+ + {118, nullptr, "MarkNoDownloadRightsErrorResolved"}, // 10.0.0+ + {119, nullptr, "GetApplyDeltaTaskAllAppliedContentMeta"}, // 11.0.0+ [20.0.0+] Now takes a 0x18-bytes type-0x6 output buffer and returns 4-bytes of output instead of 0x18-bytes. + {120, nullptr, "PrioritizeNetworkInstallTask"}, // 11.0.0+ + {121, nullptr, "RequestQueryAvailableCommonELicenses2"}, // 10.1.0+ + {122, nullptr, "RequestAssignCommonELicenses"}, // 10.1.0+ + {123, nullptr, "RequestAssignCommonELicenses2"}, // 10.1.0+ + {124, nullptr, "IsNetworkInstallTaskFrontOfQueue"}, // 11.0.0+ + {125, nullptr, "PrioritizeApplyDeltaTask"}, // 11.0.0+ + {126, nullptr, "RerouteDownloadingPatch"}, // 12.0.0+ + {127, nullptr, "UnmarkNoDownloadRightsErrorResolved"}, // 12.0.0+ + {128, nullptr, "RequestContentsSize"}, // 12.0.0+ + {129, nullptr, "RequestContentsAuthorizationToken"}, // 12.0.0+ + {130, nullptr, "RequestCdnVendorDiscovery"}, // 13.0.0+ + {131, nullptr, "RefreshDebugAvailability"}, // 13.0.0+ + {132, nullptr, "ClearResponseSimulationEntry"}, // 13.0.0+ + {133, nullptr, "RegisterResponseSimulationEntry"}, // 13.0.0+ + {134, nullptr, "GetProcessedCdnVendors"}, // 13.0.0+ + {135, nullptr, "RefreshRuntimeBehaviorsForDebug"}, // 14.0.0+ + {136, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+ + {137, nullptr, "GetNetworkInstallTaskContentMetaCount"}, // 14.0.0+ + {138, nullptr, "RequestRevokeELicenses"}, // 15.0.0+ + {139, nullptr, "EnableNetworkConnectionToUseApplicationCore"}, // 15.0.0+ + {140, nullptr, "DisableNetworkConnectionToUseApplicationCore"}, // 15.0.0+ + {141, nullptr, "IsNetworkConnectionEnabledToUseApplicationCore"}, // 15.0.0+ + {142, nullptr, "RequestCheckSafeSystemVersion"}, // 17.0.0+ + {143, nullptr, "RequestApplicationIcon"}, // 17.0.0+ [20.0.0+] Now takes 0x20-bytes of input instead of 0x18-bytes. + {144, nullptr, "RequestDownloadIdbeIconFile"}, // 17.0.0+ + {147, nullptr, "Unknown147"}, // 18.0.0+ + {148, nullptr, "Unknown148"}, // 18.0.0+ + {150, nullptr, "Unknown150"}, // 19.0.0+ + {151, nullptr, "Unknown151"}, // 20.0.0+ + {152, nullptr, "Unknown152"}, // 20.0.0+ + {153, nullptr, "Unknown153"}, // 20.0.0+ + {154, nullptr, "Unknown154"}, // 20.0.0+ + {155, nullptr, "Unknown155"}, // 20.0.0+ + {156, nullptr, "Unknown156"}, // 20.0.0+ + {157, nullptr, "Unknown157"}, // 20.0.0+ + {158, nullptr, "Unknown158"}, // 20.0.0+ + {159, nullptr, "Unknown159"}, // 20.0.0+ + {160, nullptr, "Unknown160"}, // 20.0.0+ + {161, nullptr, "Unknown161"}, // 20.0.0+ + {162, nullptr, "Unknown162"}, // 20.0.0+ + {163, nullptr, "Unknown163"}, // 20.0.0+ + {164, nullptr, "Unknown164"}, // 20.0.0+ + {165, nullptr, "Unknown165"}, // 20.0.0+ + {166, nullptr, "Unknown166"}, // 20.0.0+ + {167, nullptr, "Unknown167"}, // 20.0.0+ + {168, nullptr, "Unknown168"}, // 20.0.0+ + {169, nullptr, "Unknown169"}, // 20.0.0+ + {170, nullptr, "Unknown170"}, // 20.0.0+ + {171, nullptr, "Unknown171"}, // 20.0.0+ + {172, nullptr, "Unknown172"}, // 20.0.0+ + {173, nullptr, "Unknown173"}, // 20.1.0+ + {2000, nullptr, "Unknown2000"}, // 20.0.0+ + {2001, nullptr, "Unknown2001"}, // 20.0.0+ + {2002, nullptr, "Unknown2002"}, // 20.0.0+ + {2003, nullptr, "Unknown2003"}, // 20.0.0+ + {2004, nullptr, "Unknown2004"}, // 20.0.0+ + {2007, nullptr, "Unknown2007"}, // 20.0.0+ + {2011, nullptr, "Unknown2011"}, // 20.0.0+ + {2012, nullptr, "Unknown2012"}, // 20.0.0+ + {2013, nullptr, "Unknown2013"}, // 20.0.0+ + {2014, nullptr, "Unknown2014"}, // 20.0.0+ + {2015, nullptr, "Unknown2015"}, // 20.0.0+ + {2016, nullptr, "Unknown2016"}, // 20.0.0+ + {2017, nullptr, "Unknown2017"}, // 20.0.0+ + {2018, nullptr, "Unknown2018"}, // 20.0.0+ + {2019, nullptr, "Unknown2019"}, // 20.0.0+ + {2020, nullptr, "Unknown2020"}, // 20.0.0+ + {2021, nullptr, "Unknown2021"}, // 20.0.0+ + {2022, nullptr, "Unknown2022"}, // 20.0.0+ + {2023, nullptr, "Unknown2023"}, // 20.0.0+ + {2024, nullptr, "Unknown2024"}, // 20.0.0+ + {2025, nullptr, "Unknown2025"}, // 20.0.0+ + {2026, nullptr, "Unknown2026"}, // 20.0.0+ + {2027, nullptr, "Unknown2027"}, // 20.0.0+ + {2028, nullptr, "Unknown2028"}, // 20.0.0+ + {2029, nullptr, "Unknown2029"}, // 20.0.0+ + {2030, nullptr, "Unknown2030"}, // 20.0.0+ + {2031, nullptr, "Unknown2031"}, // 20.0.0+ + {2032, nullptr, "Unknown2032"}, // 20.0.0+ + {2033, nullptr, "Unknown2033"}, // 20.0.0+ + {2034, nullptr, "Unknown2034"}, // 20.0.0+ + {2035, nullptr, "Unknown2035"}, // 20.0.0+ + {2036, nullptr, "Unknown2036"}, // 20.0.0+ + {2037, nullptr, "Unknown2037"}, // 20.0.0+ + {2038, nullptr, "Unknown2038"}, // 20.0.0+ + {2039, nullptr, "Unknown2039"}, // 20.0.0+ + {2040, nullptr, "Unknown2040"}, // 20.0.0+ + {2041, nullptr, "Unknown2041"}, // 20.0.0+ + {2042, nullptr, "Unknown2042"}, // 20.0.0+ + {2043, nullptr, "Unknown2043"}, // 20.0.0+ + {2044, nullptr, "Unknown2044"}, // 20.0.0+ + {2045, nullptr, "Unknown2045"}, // 20.0.0+ + {2046, nullptr, "Unknown2046"}, // 20.0.0+ + {2047, nullptr, "Unknown2047"}, // 20.0.0+ + {2048, nullptr, "Unknown2048"}, // 20.0.0+ + {2049, nullptr, "Unknown2049"}, // 20.0.0+ + {2050, nullptr, "Unknown2050"}, // 20.0.0+ + {2051, nullptr, "Unknown2051"}, // 20.0.0+ + {3000, nullptr, "RequestLatestApplicationIcon"}, // 17.0.0+ + {3001, nullptr, "RequestDownloadIdbeLatestIconFile"} // 17.0.0+ }; // clang-format on @@ -232,7 +317,7 @@ public: {2, nullptr, "ClearDebugResponse"}, {3, nullptr, "RegisterDebugResponse"}, {4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"}, - {5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+ + {5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+ }; // clang-format on @@ -241,7 +326,7 @@ public: private: void CreateServerInterface(HLERequestContext& ctx) { - LOG_DEBUG(Service_NIM, "(STUBBED) called"); + LOG_DEBUG(Service_NIM, "(STUBBED) called"); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(ResultSuccess); rb.PushIpcInterface(system); @@ -258,14 +343,14 @@ private: rb.Push(ResultSuccess); rb.Push(false); } - - void CreateServerInterface2(HLERequestContext& ctx) { - LOG_DEBUG(Service_NIM, "(STUBBED) called."); - - IPC::ResponseBuilder rb{ctx, 2, 0, 1}; - rb.Push(ResultSuccess); - rb.PushIpcInterface(system); - } + + void CreateServerInterface2(HLERequestContext& ctx) { + LOG_DEBUG(Service_NIM, "(STUBBED) called."); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(ResultSuccess); + rb.PushIpcInterface(system); + } }; class NIM_SHP final : public ServiceFramework { @@ -301,6 +386,8 @@ public: {503, nullptr, "RequestSyncTicket"}, {504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"}, {505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"}, + {600, nullptr, "IsInitialLaunchFinished"}, // 14.0.0+ + {601, nullptr, "NotifyFinishInitialLaunch"}, // 14.0.0+ }; // clang-format on diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index dca4a3a770..0a2996dbb1 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp @@ -53,8 +53,13 @@ public: {42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+ {43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+ {44, nullptr, "SetUidList"}, // 17.0.0+ - {45, nullptr, "PutDigitalTwinKeyValue"}, // 17.0.0+ + {45, nullptr, "PutDigitalTwinKeyValue"}, // [20.0.0+] ([17.0.0-18.1.0] PutDigitalTwinKeyValue) {51, nullptr, "DeleteDigitalTwinKeyValue"}, // 18.0.0+ + {52, nullptr, "Unknown52"}, // 20.0.0+ + {53, nullptr, "Unknown53"}, // 20.0.0+ + {60, nullptr, "Unknown60"}, // 19.0.0+ + {61, nullptr, "Unknown61"}, // 19.0.0+ + {70, nullptr, "Unknown70"}, // 20.0.0+ {101, nullptr, "Suspend"}, {102, nullptr, "Resume"}, {103, C<&INpnsSystem::GetState>, "GetState"}, @@ -68,6 +73,13 @@ public: {114, nullptr, "AttachJid"}, {115, nullptr, "DetachJid"}, {120, nullptr, "CreateNotificationReceiver"}, + {141, nullptr, "Unknown141"}, // 19.0.0+ + {142, nullptr, "Unknown142"}, // 19.0.0+ + {143, nullptr, "Unknown143"}, // 19.0.0+ + {144, nullptr, "Unknown144"}, // 19.0.0+ + {145, nullptr, "Unknown145"}, // 19.0.0+ + {146, nullptr, "Unknown146"}, // 20.0.0+ + {147, nullptr, "Unknown147"}, // 20.0.0+ {151, nullptr, "GetStateWithHandover"}, {152, nullptr, "GetStateChangeEventWithHandover"}, {153, nullptr, "GetDropEventWithHandover"}, @@ -78,6 +90,7 @@ public: {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, {201, nullptr, "RequestChangeStateForceTimed"}, {202, nullptr, "RequestChangeStateForceAsync"}, + {203, nullptr, "Unknown203"}, // 20.0.0+ {301, nullptr, "GetPassword"}, // 18.0.0+ {302, nullptr, "GetAllImmigration"}, // 18.0.0+ {303, nullptr, "GetNotificationHistories"}, // 18.0.0+ diff --git a/src/core/hle/service/ns/application_manager_interface.cpp b/src/core/hle/service/ns/application_manager_interface.cpp index 6226ff9847..40d72f1864 100644 --- a/src/core/hle/service/ns/application_manager_interface.cpp +++ b/src/core/hle/service/ns/application_manager_interface.cpp @@ -115,7 +115,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {301, nullptr, "PopApplicationShellEventInfo"}, {302, nullptr, "LaunchLibraryApplet"}, {303, nullptr, "TerminateLibraryApplet"}, - {304, nullptr, "LaunchSystemApplet"}, + {304, nullptr, "LaunchSystemApplet"}, // [20.0.0+] ns.applet!system_applet_id_gen2 {305, nullptr, "TerminateSystemApplet"}, {306, nullptr, "LaunchOverlayApplet"}, {307, nullptr, "TerminateOverlayApplet"}, @@ -128,6 +128,23 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {406, nullptr, "GetApplicationControlProperty"}, {407, nullptr, "ListApplicationTitle"}, {408, nullptr, "ListApplicationIcon"}, + {411, nullptr, "Unknown411"}, // 19.0.0+ + {412, nullptr, "Unknown412"}, // 19.0.0+ + {413, nullptr, "Unknown413"}, // 19.0.0+ + {414, nullptr, "Unknown414"}, // 19.0.0+ + {415, nullptr, "Unknown415"}, // 19.0.0+ + {416, nullptr, "Unknown416"}, // 19.0.0+ + {417, nullptr, "InvalidateAllApplicationControlCacheOfTheStage"}, // 19.0.0+ + {418, nullptr, "InvalidateApplicationControlCacheOfTheStage"}, // 19.0.0+ + {419, nullptr, "RequestDownloadApplicationControlDataInBackground"}, // 19.0.0+ + {420, nullptr, "CloneApplicationControlDataCacheForDebug"}, // 19.0.0+ + {421, nullptr, "Unknown421"}, // 20.0.0+ + {422, nullptr, "Unknown422"}, // 20.0.0+ + {423, nullptr, "Unknown423"}, // 20.0.0+ + {424, nullptr, "Unknown424"}, // 20.0.0+ + {425, nullptr, "Unknown425"}, // 20.0.0+ + {426, nullptr, "Unknown426"}, // 20.0.0+ + {427, nullptr, "Unknown427"}, // 20.0.0+ {502, nullptr, "RequestCheckGameCardRegistration"}, {503, nullptr, "RequestGameCardRegistrationGoldPoint"}, {504, nullptr, "RequestRegisterGameCard"}, @@ -137,6 +154,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {508, nullptr, "GetLastGameCardMountFailureResult"}, {509, nullptr, "ListApplicationIdOnGameCard"}, {510, nullptr, "GetGameCardPlatformRegion"}, + {513, nullptr, "Unknown513"}, // 20.0.0+ + {514, nullptr, "Unknown514"}, // 20.0.0+ + {515, nullptr, "Unknown515"}, // 20.0.0+ {600, nullptr, "CountApplicationContentMeta"}, {601, nullptr, "ListApplicationContentMetaStatus"}, {602, nullptr, "ListAvailableAddOnContent"}, @@ -174,6 +194,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {914, nullptr, "HideApplicationRecord"}, {915, nullptr, "ShowApplicationRecord"}, {916, nullptr, "IsApplicationAutoDeleteDisabled"}, + {917, nullptr, "Unknown917"}, // 20.0.0+ + {918, nullptr, "Unknown918"}, // 20.0.0+ + {919, nullptr, "Unknown919"}, // 20.0.0+ + {920, nullptr, "Unknown920"}, // 20.0.0+ + {921, nullptr, "Unknown921"}, // 20.0.0+ + {922, nullptr, "Unknown922"}, // 20.0.0+ + {923, nullptr, "Unknown923"}, // 20.0.0+ + {928, nullptr, "Unknown928"}, // 20.0.0+ + {929, nullptr, "Unknown929"}, // 20.0.0+ + {930, nullptr, "Unknown930"}, // 20.0.0+ + {931, nullptr, "Unknown931"}, // 20.0.0+ + {933, nullptr, "Unknown933"}, // 20.1.0+ {1000, nullptr, "RequestVerifyApplicationDeprecated"}, {1001, nullptr, "CorruptApplicationForDebug"}, {1002, nullptr, "RequestVerifyAddOnContentsRights"}, @@ -202,6 +234,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {1504, nullptr, "InsertSdCard"}, {1505, nullptr, "RemoveSdCard"}, {1506, nullptr, "GetSdCardStartupStatus"}, + {1508, nullptr, "Unknown1508"}, // 20.0.0+ + {1509, nullptr, "Unknown1509"}, // 20.0.0+ + {1510, nullptr, "Unknown1510"}, // 20.0.0+ + {1511, nullptr, "Unknown1511"}, // 20.0.0+ + {1512, nullptr, "Unknown1512"}, // 20.0.0+ {1600, nullptr, "GetSystemSeedForPseudoDeviceId"}, {1601, nullptr, "ResetSystemSeedForPseudoDeviceId"}, {1700, nullptr, "ListApplicationDownloadingContentMeta"}, @@ -210,6 +247,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {1703, nullptr, "GetApplicationViewDownloadErrorContext"}, {1704, D<&IApplicationManagerInterface::GetApplicationViewWithPromotionInfo>, "GetApplicationViewWithPromotionInfo"}, {1705, nullptr, "IsPatchAutoDeletableApplication"}, + {1706, nullptr, "Unknown1706"}, // 20.0.0+ {1800, nullptr, "IsNotificationSetupCompleted"}, {1801, nullptr, "GetLastNotificationInfoCount"}, {1802, nullptr, "ListLastNotificationInfo"}, @@ -218,7 +256,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {1901, nullptr, "RequestDownloadApplicationPrepurchasedRights"}, {1902, nullptr, "GetApplicationTicketInfo"}, {1903, nullptr, "RequestDownloadApplicationPrepurchasedRightsForAccount"}, - {2000, nullptr, "GetSystemDeliveryInfo"}, + {2000, nullptr, "GetSystemDeliveryInfo"}, // Always set to 0x1 by #GetSystemDeliveryInfo with [20.0.0+]. {2001, nullptr, "SelectLatestSystemDeliveryInfo"}, {2002, nullptr, "VerifyDeliveryProtocolVersion"}, {2003, nullptr, "GetApplicationDeliveryInfo"}, @@ -237,8 +275,11 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {2016, nullptr, "ListNotCommittedContentMeta"}, {2017, nullptr, "CreateDownloadTask"}, {2018, nullptr, "GetApplicationDeliveryInfoHash"}, + {2019, nullptr, "Unknown2019"}, // 20.0.0+ {2050, D<&IApplicationManagerInterface::GetApplicationRightsOnClient>, "GetApplicationRightsOnClient"}, {2051, nullptr, "InvalidateRightsIdCache"}, + {2052, nullptr, "Unknown2052"}, // 20.0.0+ + {2053, nullptr, "Unknown2053"}, // 20.0.0+ {2100, D<&IApplicationManagerInterface::GetApplicationTerminateResult>, "GetApplicationTerminateResult"}, {2101, nullptr, "GetRawApplicationTerminateResult"}, {2150, nullptr, "CreateRightsEnvironment"}, @@ -255,6 +296,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {2180, nullptr, "RequestExtendRightsInRightsEnvironment"}, {2181, nullptr, "GetResultOfExtendRightsInRightsEnvironment"}, {2182, nullptr, "SetActiveRightsContextUsingStateToRightsEnvironment"}, + {2183, nullptr, "Unknown2183"}, // 20.1.0+ {2190, nullptr, "GetRightsEnvironmentHandleForApplication"}, {2199, nullptr, "GetRightsEnvironmentCountForDebug"}, {2200, nullptr, "GetGameCardApplicationCopyIdentifier"}, @@ -271,9 +313,18 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {2357, nullptr, "EnableMultiCoreDownload"}, {2358, nullptr, "DisableMultiCoreDownload"}, {2359, nullptr, "IsMultiCoreDownloadEnabled"}, + {2360, nullptr, "GetApplicationDownloadTaskCount"}, // 19.0.0+ + {2361, nullptr, "GetMaxApplicationDownloadTaskCount"}, // 19.0.0+ + {2362, nullptr, "Unknown2362"}, // 20.0.0+ + {2363, nullptr, "Unknown2363"}, // 20.0.0+ + {2364, nullptr, "Unknown2364"}, // 20.0.0+ + {2365, nullptr, "Unknown2365"}, // 20.0.0+ + {2366, nullptr, "Unknown2366"}, // 20.0.0+ + {2367, nullptr, "Unknown2367"}, // 20.0.0+ + {2368, nullptr, "Unknown2368"}, // 20.0.0+ {2400, nullptr, "GetPromotionInfo"}, {2401, nullptr, "CountPromotionInfo"}, - {2402, nullptr, "ListPromotionInfo"}, + {2402, nullptr, "ListPromotionInfo"}, // [20.0.0+] The struct size for the output buffer array is now 0x28-bytes instead of 0x20-bytes. {2403, nullptr, "ImportPromotionJsonForDebug"}, {2404, nullptr, "ClearPromotionInfoForDebug"}, {2500, nullptr, "ConfirmAvailableTime"}, @@ -289,6 +340,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {2520, nullptr, "IsQualificationTransitionSupportedByProcessId"}, {2521, nullptr, "GetRightsUserChangedEvent"}, {2522, nullptr, "IsRomRedirectionAvailable"}, + {2523, nullptr, "GetProgramId"}, // 17.0.0+ + {2524, nullptr, "Unknown2524"}, // 19.0.0+ + {2525, nullptr, "Unknown2525"}, // 20.0.0+ {2800, nullptr, "GetApplicationIdOfPreomia"}, {3000, nullptr, "RegisterDeviceLockKey"}, {3001, nullptr, "UnregisterDeviceLockKey"}, @@ -306,9 +360,95 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ {3013, nullptr, "IsGameCardEnabled"}, {3014, nullptr, "IsLocalContentShareEnabled"}, {3050, nullptr, "ListAssignELicenseTaskResult"}, + {4000, nullptr, "Unknown4000"}, // 20.0.0+ + {4004, nullptr, "Unknown4004"}, // 20.0.0+ + {4006, nullptr, "Unknown4006"}, // 20.0.0+ + {4007, nullptr, "Unknown4007"}, // 20.0.0+ + {4008, nullptr, "Unknown4008"}, // 20.0.0+ + {4009, nullptr, "Unknown4009"}, // 20.0.0+ + {4010, nullptr, "Unknown4010"}, // 20.0.0+ + {4011, nullptr, "Unknown4011"}, // 20.0.0+ + {4012, nullptr, "Unknown4012"}, // 20.0.0+ + {4013, nullptr, "Unknown4013"}, // 20.0.0+ + {4015, nullptr, "Unknown4015"}, // 20.0.0+ + {4017, nullptr, "Unknown4017"}, // 20.0.0+ + {4019, nullptr, "Unknown4019"}, // 20.0.0+ + {4020, nullptr, "Unknown4020"}, // 20.0.0+ + {4021, nullptr, "Unknown4021"}, // 20.0.0+ {4022, D<&IApplicationManagerInterface::Unknown4022>, "Unknown4022"}, {4023, D<&IApplicationManagerInterface::Unknown4023>, "Unknown4023"}, + {4024, nullptr, "Unknown4024"}, // 20.0.0+ + {4025, nullptr, "Unknown4025"}, // 20.0.0+ + {4026, nullptr, "Unknown4026"}, // 20.0.0+ + {4027, nullptr, "Unknown4027"}, // 20.0.0+ + {4028, nullptr, "Unknown4028"}, // 20.0.0+ + {4029, nullptr, "Unknown4029"}, // 20.0.0+ + {4030, nullptr, "Unknown4030"}, // 20.0.0+ + {4031, nullptr, "Unknown4031"}, // 20.0.0+ + {4032, nullptr, "Unknown4032"}, // 20.0.0+ + {4033, nullptr, "Unknown4033"}, // 20.0.0+ + {4034, nullptr, "Unknown4034"}, // 20.0.0+ + {4035, nullptr, "Unknown4035"}, // 20.0.0+ + {4037, nullptr, "Unknown4037"}, // 20.0.0+ + {4038, nullptr, "Unknown4038"}, // 20.0.0+ + {4039, nullptr, "Unknown4039"}, // 20.0.0+ + {4040, nullptr, "Unknown4040"}, // 20.0.0+ + {4041, nullptr, "Unknown4041"}, // 20.0.0+ + {4042, nullptr, "Unknown4042"}, // 20.0.0+ + {4043, nullptr, "Unknown4043"}, // 20.0.0+ + {4044, nullptr, "Unknown4044"}, // 20.0.0+ + {4045, nullptr, "Unknown4045"}, // 20.0.0+ + {4046, nullptr, "Unknown4046"}, // 20.0.0+ + {4049, nullptr, "Unknown4049"}, // 20.0.0+ + {4050, nullptr, "Unknown4050"}, // 20.0.0+ + {4051, nullptr, "Unknown4051"}, // 20.0.0+ + {4052, nullptr, "Unknown4052"}, // 20.0.0+ + {4053, nullptr, "Unknown4053"}, // 20.0.0+ + {4054, nullptr, "Unknown4054"}, // 20.0.0+ + {4055, nullptr, "Unknown4055"}, // 20.0.0+ + {4056, nullptr, "Unknown4056"}, // 20.0.0+ + {4057, nullptr, "Unknown4057"}, // 20.0.0+ + {4058, nullptr, "Unknown4058"}, // 20.0.0+ + {4059, nullptr, "Unknown4059"}, // 20.0.0+ + {4060, nullptr, "Unknown4060"}, // 20.0.0+ + {4061, nullptr, "Unknown4061"}, // 20.0.0+ + {4062, nullptr, "Unknown4062"}, // 20.0.0+ + {4063, nullptr, "Unknown4063"}, // 20.0.0+ + {4064, nullptr, "Unknown4064"}, // 20.0.0+ + {4065, nullptr, "Unknown4065"}, // 20.0.0+ + {4066, nullptr, "Unknown4066"}, // 20.0.0+ + {4067, nullptr, "Unknown4067"}, // 20.0.0+ + {4068, nullptr, "Unknown4068"}, // 20.0.0+ + {4069, nullptr, "Unknown4069"}, // 20.0.0+ + {4070, nullptr, "Unknown4070"}, // 20.0.0+ + {4071, nullptr, "Unknown4071"}, // 20.0.0+ + {4072, nullptr, "Unknown4072"}, // 20.0.0+ + {4073, nullptr, "Unknown4073"}, // 20.0.0+ + {4074, nullptr, "Unknown4074"}, // 20.0.0+ + {4075, nullptr, "Unknown4075"}, // 20.0.0+ + {4076, nullptr, "Unknown4076"}, // 20.0.0+ + {4077, nullptr, "Unknown4077"}, // 20.0.0+ + {4078, nullptr, "Unknown4078"}, // 20.0.0+ + {4079, nullptr, "Unknown4079"}, // 20.0.0+ + {4080, nullptr, "Unknown4080"}, // 20.0.0+ + {4081, nullptr, "Unknown4081"}, // 20.0.0+ + {4083, nullptr, "Unknown4083"}, // 20.0.0+ + {4084, nullptr, "Unknown4084"}, // 20.0.0+ + {4085, nullptr, "Unknown4085"}, // 20.0.0+ + {4086, nullptr, "Unknown4086"}, // 20.0.0+ + {4087, nullptr, "Unknown4087"}, // 20.0.0+ {4088, D<&IApplicationManagerInterface::Unknown4088>, "Unknown4088"}, + {4089, nullptr, "Unknown4089"}, // 20.0.0+ + {4090, nullptr, "Unknown4090"}, // 20.0.0+ + {4091, nullptr, "Unknown4091"}, // 20.0.0+ + {4092, nullptr, "Unknown4092"}, // 20.0.0+ + {4093, nullptr, "Unknown4093"}, // 20.0.0+ + {4094, nullptr, "Unknown4094"}, // 20.0.0+ + {4095, nullptr, "Unknown4095"}, // 20.0.0+ + {4096, nullptr, "Unknown4096"}, // 20.0.0+ + {4097, nullptr, "Unknown4097"}, // 20.0.0+ + {5000, nullptr, "Unknown5000"}, // 18.0.0+ + {5001, nullptr, "Unknown5001"}, // 18.0.0+ {9999, nullptr, "GetApplicationCertificate"}, }; // clang-format on diff --git a/src/core/hle/service/ns/develop_interface.cpp b/src/core/hle/service/ns/develop_interface.cpp index 880bdbebbf..85bd0c8baa 100644 --- a/src/core/hle/service/ns/develop_interface.cpp +++ b/src/core/hle/service/ns/develop_interface.cpp @@ -27,6 +27,12 @@ IDevelopInterface::IDevelopInterface(Core::System& system_) : ServiceFramework{s {17, nullptr, "PrepareLaunchApplicationFromHost"}, {18, nullptr, "GetLaunchEvent"}, {19, nullptr, "GetLaunchResult"}, + {19, nullptr, "GetLaunchResult"}, // 12.0.0+ + {20, nullptr, "GetProgramId"}, // 14.0.0+ + {21, nullptr, "PrepareLaunchApplication"}, // 18.0.0+ + {22, nullptr, "LaunchApplication"}, // 18.0.0+ + {23, nullptr, "GetProgramIdByApplicationLaunchInfo"}, // 18.0.0+ + {24, nullptr, "DestroyApplicationLaunchPreparation"}, // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/download_task_interface.cpp b/src/core/hle/service/ns/download_task_interface.cpp index 62dc7f1874..e1e07cf548 100644 --- a/src/core/hle/service/ns/download_task_interface.cpp +++ b/src/core/hle/service/ns/download_task_interface.cpp @@ -19,6 +19,7 @@ IDownloadTaskInterface::IDownloadTaskInterface(Core::System& system_) {707, D<&IDownloadTaskInterface::EnableAutoCommit>, "EnableAutoCommit"}, {708, D<&IDownloadTaskInterface::DisableAutoCommit>, "DisableAutoCommit"}, {709, nullptr, "TriggerDynamicCommitEvent"}, + {710, nullptr, "Unknown710"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/dynamic_rights_interface.cpp b/src/core/hle/service/ns/dynamic_rights_interface.cpp index b5a507d6e9..164cbf21fb 100644 --- a/src/core/hle/service/ns/dynamic_rights_interface.cpp +++ b/src/core/hle/service/ns/dynamic_rights_interface.cpp @@ -38,6 +38,8 @@ IDynamicRightsInterface::IDynamicRightsInterface(Core::System& system_) {24, nullptr, "NotifyLimitedApplicationLicenseUpgradableEventForDebug"}, {25, nullptr, "RequestProceedDynamicRightsState"}, {26, D<&IDynamicRightsInterface::HasAccountRestrictedRightsInRunningApplications>, "HasAccountRestrictedRightsInRunningApplications"} + {27, nullptr, "Unknown27"}, // 20.0.0+ + {28, nullptr, "Unknown28"}, // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/ecommerce_interface.cpp b/src/core/hle/service/ns/ecommerce_interface.cpp index 76fc425f0c..d702c7c49a 100644 --- a/src/core/hle/service/ns/ecommerce_interface.cpp +++ b/src/core/hle/service/ns/ecommerce_interface.cpp @@ -16,6 +16,13 @@ IECommerceInterface::IECommerceInterface(Core::System& system_) {4, nullptr, "RequestUnlinkDevice"}, {5, nullptr, "RequestRevokeAllELicense"}, {6, nullptr, "RequestSyncRightsBasedOnAssignedELicenses"}, + {7, nullptr, "RequestOnlineSubscriptionFreeTrialAvailability"}, // 14.0.0+ + {8, nullptr, "Unknown8"}, // 20.0.0+ + {9, nullptr, "Unknown9"}, // 20.0.0+ + {10, nullptr, "Unknown10"}, // 20.0.0+ + {11, nullptr, "Unknown11"}, // 20.0.0+ + {12, nullptr, "Unknown12"}, // 20.0.0+ + {13, nullptr, "Unknown13"}, // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/factory_reset_interface.cpp b/src/core/hle/service/ns/factory_reset_interface.cpp index fd5cf7e1fd..622688e2b4 100644 --- a/src/core/hle/service/ns/factory_reset_interface.cpp +++ b/src/core/hle/service/ns/factory_reset_interface.cpp @@ -16,6 +16,8 @@ IFactoryResetInterface::IFactoryResetInterface(Core::System& system_) {104, nullptr, "ResetToFactorySettingsWithPlatformRegionAuthentication"}, {105, nullptr, "RequestResetToFactorySettingsSecurely"}, {106, nullptr, "RequestResetToFactorySettingsWithPlatformRegionAuthenticationSecurely"}, + {107, nullptr, "Unknown7"}, // 20.0.0+ + {108, nullptr, "Unknown8"}, // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/query_service.cpp b/src/core/hle/service/ns/query_service.cpp index 1384005415..0bf3385512 100644 --- a/src/core/hle/service/ns/query_service.cpp +++ b/src/core/hle/service/ns/query_service.cpp @@ -32,6 +32,10 @@ IQueryService::IQueryService(Core::System& system_) : ServiceFramework{system_, {17, nullptr, "QueryLastPlayTime"}, {18, nullptr, "QueryApplicationPlayStatisticsForSystem"}, {19, nullptr, "QueryApplicationPlayStatisticsByUserAccountIdForSystem"}, + {100, nullptr, "Unknown100"}, // 20.0.0+ + {110, nullptr, "Unknown110"}, // 20.0.0+ + {118, nullptr, "Unknown118"}, // 20.0.0+ + {119, nullptr, "Unknown119"} // 20.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/read_only_application_control_data_interface.cpp b/src/core/hle/service/ns/read_only_application_control_data_interface.cpp index 9b2ca94a4f..3c38b25b93 100644 --- a/src/core/hle/service/ns/read_only_application_control_data_interface.cpp +++ b/src/core/hle/service/ns/read_only_application_control_data_interface.cpp @@ -23,6 +23,19 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa {2, D<&IReadOnlyApplicationControlDataInterface::ConvertApplicationLanguageToLanguageCode>, "ConvertApplicationLanguageToLanguageCode"}, {3, nullptr, "ConvertLanguageCodeToApplicationLanguage"}, {4, nullptr, "SelectApplicationDesiredLanguage"}, + {5, nullptr, "Unknown5"}, // 19.0.0+ + {6, nullptr, "Unknown6"}, // 19.0.0+ + {7, nullptr, "Unknown7"}, // 20.0.0+ + {8, nullptr, "Unknown8"}, // 20.0.0+ + {9, nullptr, "Unknown9"}, // 20.0.0+ + {10, nullptr, "Unknown10"}, // 20.0.0+ + {11, nullptr, "Unknown11"}, // 20.0.0+ + {12, nullptr, "Unknown12"}, // 20.0.0+ + {13, nullptr, "Unknown13"}, // 20.0.0+ + {14, nullptr, "Unknown14"}, // 20.0.0+ + {15, nullptr, "Unknown15"}, // 20.0.0+ + {16, nullptr, "Unknown16"}, // 20.0.0+ + {17, nullptr, "Unknown17"}, // 20.1.0+ }; // clang-format on diff --git a/src/core/hle/service/ns/read_only_application_record_interface.cpp b/src/core/hle/service/ns/read_only_application_record_interface.cpp index 816a1e1dc8..dce620ea79 100644 --- a/src/core/hle/service/ns/read_only_application_record_interface.cpp +++ b/src/core/hle/service/ns/read_only_application_record_interface.cpp @@ -11,8 +11,8 @@ IReadOnlyApplicationRecordInterface::IReadOnlyApplicationRecordInterface(Core::S static const FunctionInfo functions[] = { {0, D<&IReadOnlyApplicationRecordInterface::HasApplicationRecord>, "HasApplicationRecord"}, {1, nullptr, "NotifyApplicationFailure"}, - {2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>, - "IsDataCorruptedResult"}, + {2, D<&IReadOnlyApplicationRecordInterface::IsDataCorruptedResult>, "IsDataCorruptedResult"}, + {3, nullptr, "Unknown3"}, // 20.0.0 + }; // clang-format on diff --git a/src/core/hle/service/ns/vulnerability_manager_interface.cpp b/src/core/hle/service/ns/vulnerability_manager_interface.cpp index 69c21fb894..95c734921c 100644 --- a/src/core/hle/service/ns/vulnerability_manager_interface.cpp +++ b/src/core/hle/service/ns/vulnerability_manager_interface.cpp @@ -13,6 +13,9 @@ IVulnerabilityManagerInterface::IVulnerabilityManagerInterface(Core::System& sys {1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"}, {1201, nullptr, "UpdateSafeSystemVersionForDebug"}, {1202, nullptr, "GetSafeSystemVersion"}, + {3100, nullptr, "Unknown7"}, // 18.0.0+ + {3101, nullptr, "Unknown8"}, // 18.0.0+ + {3102, nullptr, "Unknown8"}, // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/olsc/daemon_controller.cpp b/src/core/hle/service/olsc/daemon_controller.cpp index 7823780a84..de52861a96 100644 --- a/src/core/hle/service/olsc/daemon_controller.cpp +++ b/src/core/hle/service/olsc/daemon_controller.cpp @@ -10,16 +10,17 @@ IDaemonController::IDaemonController(Core::System& system_) : ServiceFramework{system_, "IDaemonController"} { // clang-format off static const FunctionInfo functions[] = { - {0, D<&IDaemonController::GetAutoTransferEnabledForAccountAndApplication>, "GetAutoTransferEnabledForAccountAndApplication"}, - {1, nullptr, "SetAutoTransferEnabledForAccountAndApplication"}, - {2, nullptr, "GetGlobalUploadEnabledForAccount"}, - {3, nullptr, "SetGlobalUploadEnabledForAccount"}, - {4, nullptr, "TouchAccount"}, - {5, nullptr, "GetGlobalDownloadEnabledForAccount"}, - {6, nullptr, "SetGlobalDownloadEnabledForAccount"}, - {10, nullptr, "GetForbiddenSaveDataIndication"}, - {11, nullptr, "GetStopperObject"}, - {12, nullptr, "GetState"}, + {0, D<&IDaemonController::GetApplicationAutoTransferSetting>, "GetApplicationAutoTransferSetting"}, + {1, nullptr, "SetApplicationAutoTransferSetting"}, + {2, nullptr, "GetGlobalAutoUploadSetting"}, + {3, nullptr, "SetGlobalAutoUploadSetting"}, + {4, nullptr, "RunTransferTaskAutonomyRegistration"}, + {5, nullptr, "GetGlobalAutoDownloadSetting"}, // 11.0.0+ + {6, nullptr, "SetGlobalAutoDownloadSetting"}, // 11.0.0+ + {10, nullptr, "CreateForbiddenSaveDataInidication"}, + {11, nullptr, "StopAutonomyTaskExecution"}, + {12, nullptr, "GetAutonomyTaskStatus"}, + {13, nullptr, "Unknown13"}, // 20.0.0+ }; // clang-format on @@ -28,7 +29,7 @@ IDaemonController::IDaemonController(Core::System& system_) IDaemonController::~IDaemonController() = default; -Result IDaemonController::GetAutoTransferEnabledForAccountAndApplication(Out out_is_enabled, +Result IDaemonController::GetApplicationAutoTransferSetting(Out out_is_enabled, Common::UUID user_id, u64 application_id) { LOG_WARNING(Service_OLSC, "(STUBBED) called, user_id={} application_id={:016X}", diff --git a/src/core/hle/service/olsc/daemon_controller.h b/src/core/hle/service/olsc/daemon_controller.h index dfad7f52a8..04b40a019b 100644 --- a/src/core/hle/service/olsc/daemon_controller.h +++ b/src/core/hle/service/olsc/daemon_controller.h @@ -13,7 +13,7 @@ public: ~IDaemonController() override; private: - Result GetAutoTransferEnabledForAccountAndApplication(Out out_is_enabled, + Result GetApplicationAutoTransferSetting(Out out_is_enabled, Common::UUID user_id, u64 application_id); }; diff --git a/src/core/hle/service/olsc/remote_storage_controller.cpp b/src/core/hle/service/olsc/remote_storage_controller.cpp index 81d9c96ab5..96f0979c94 100644 --- a/src/core/hle/service/olsc/remote_storage_controller.cpp +++ b/src/core/hle/service/olsc/remote_storage_controller.cpp @@ -10,30 +10,35 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_) : ServiceFramework{system_, "IRemoteStorageController"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"}, - {1, nullptr, "GetSaveDataArchiveInfoByApplicationId"}, - {3, nullptr, "GetSaveDataArchiveCount"}, - {6, nullptr, "CleanupSaveDataArchives"}, - {7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"}, - {8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"}, - {9, nullptr, "Delete"}, - {10, nullptr, "GetSeriesInfo"}, - {11, nullptr, "CreateDeleteDataTask"}, - {12, nullptr, "DeleteSeriesInfo"}, - {13, nullptr, "CreateRegisterNotificationTokenTask"}, - {14, nullptr, "UpdateSeriesInfo"}, + {0, nullptr, "RegisterUploadSaveDataTransferTask"}, + {1, nullptr, "RegisterDownloadSaveDataTransferTask"}, + {2, nullptr, "Unknown2"}, // 6.0.0-7.0.1 + {3, nullptr, "GetCount"}, + {4, nullptr, "Unknown4"}, // 6.0.0-7.0.1 + {6, nullptr, "ClearDataInfoCache"}, + {7, nullptr, "RequestUpdateDataInfoCacheAsync"}, + {8, nullptr, "RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync"}, + {9, nullptr, "DeleteDataInfoCache"}, + {10, nullptr, "GetDataNewness"}, + {11, nullptr, "RequestDeleteDataAsync"}, + {12, nullptr, "RegisterUploadSaveDataTransferTaskDetail"}, + {13, nullptr, "RequestRegisterNotificationTokenAsync"}, + {14, nullptr, "GetDataNewnessByApplicationId"}, {15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"}, - {16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"}, - {17, nullptr, "ListDataInfo"}, - {18, nullptr, "GetDataInfo"}, - {19, nullptr, "Unknown19"}, - {20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"}, - {21, nullptr, "ListSecondarySaves"}, - {22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"}, - {23, nullptr, "TouchSecondarySave"}, - {24, nullptr, "GetSecondarySaveDataInfo"}, - {25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, - {900, nullptr, "Unknown900"}, + {16, nullptr, "RequestCleanupToDeleteSaveDataArchiveAsync"}, + {17, nullptr, "ListDataInfo"}, // 7.0.0+ + {18, nullptr, "GetDataInfo"}, // 7.0.0+ + {19, nullptr, "GetDataInfoCacheUpdateNativeHandleHolder"}, // 7.0.0+ + {20, nullptr, "RequestUpdateSaveDataBackupInfoCacheAsync"}, // 10.1.0+ + {21, nullptr, "ListLoadedDataInfo"}, // 11.0.0+ + {22, D<&IRemoteStorageController::GetLoadedDataInfo>, "GetLoadedDataInfo"}, + {23, nullptr, "ApplyLoadedData"}, // 11.0.0+ + {24, nullptr, "DeleteLoadedData"}, // 11.0.0+ + {25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"}, // 11.0.0+ + {26, nullptr, "Unknown26"}, // 20.0.0+ + {27, nullptr, "Unknown27"}, // 20.0.0+ + {800, nullptr, "Unknown800"}, // 20.0.0+ + {900, nullptr, "SetLoadedDataMissing"} // 11.0.0+ }; // clang-format on @@ -42,7 +47,7 @@ IRemoteStorageController::IRemoteStorageController(Core::System& system_) IRemoteStorageController::~IRemoteStorageController() = default; -Result IRemoteStorageController::GetSecondarySave(Out out_has_secondary_save, +Result IRemoteStorageController::GetLoadedDataInfo(Out out_has_secondary_save, Out> out_unknown, u64 application_id) { LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id); diff --git a/src/core/hle/service/olsc/remote_storage_controller.h b/src/core/hle/service/olsc/remote_storage_controller.h index e7a0b52442..9bee7d31ee 100644 --- a/src/core/hle/service/olsc/remote_storage_controller.h +++ b/src/core/hle/service/olsc/remote_storage_controller.h @@ -12,7 +12,7 @@ public: ~IRemoteStorageController() override; private: - Result GetSecondarySave(Out out_has_secondary_save, Out> out_unknown, + Result GetLoadedDataInfo(Out out_has_secondary_save, Out> out_unknown, u64 application_id); }; diff --git a/src/core/hle/service/olsc/transfer_task_list_controller.cpp b/src/core/hle/service/olsc/transfer_task_list_controller.cpp index 8ea9a0f1e3..7543541947 100644 --- a/src/core/hle/service/olsc/transfer_task_list_controller.cpp +++ b/src/core/hle/service/olsc/transfer_task_list_controller.cpp @@ -11,32 +11,37 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_) : ServiceFramework{system_, "ITransferTaskListController"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "Unknown0"}, - {1, nullptr, "Unknown1"}, - {2, nullptr, "Unknown2"}, - {3, nullptr, "Unknown3"}, - {4, nullptr, "Unknown4"}, - {5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"}, - {6, nullptr, "Unknown6"}, - {7, nullptr, "Unknown7"}, - {8, nullptr, "GetRemoteStorageController"}, - {9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"}, - {10, nullptr, "Unknown10"}, - {11, nullptr, "Unknown11"}, - {12, nullptr, "Unknown12"}, - {13, nullptr, "Unknown13"}, - {14, nullptr, "Unknown14"}, - {15, nullptr, "Unknown15"}, - {16, nullptr, "Unknown16"}, - {17, nullptr, "Unknown17"}, - {18, nullptr, "Unknown18"}, - {19, nullptr, "Unknown19"}, - {20, nullptr, "Unknown20"}, - {21, nullptr, "Unknown21"}, - {22, nullptr, "Unknown22"}, - {23, nullptr, "Unknown23"}, - {24, nullptr, "Unknown24"}, - {25, nullptr, "Unknown25"}, + {0, nullptr, "GetTransferTaskCountForOcean"}, + {1, nullptr, "GetTransferTaskInfoForOcean"}, + {2, nullptr, "ListTransferTaskInfoForOcean"}, + {3, nullptr, "DeleteTransferTaskForOcean"}, + {4, nullptr, "RaiseTransferTaskPriorityForOcean"}, + {5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskEndEventNativeHandleHolder"}, + {6, nullptr, "GetTransferTaskProgressForOcean"}, + {7, nullptr, "GetTransferTaskLastResultForOcean"}, + {8, nullptr, "StopNextTransferTaskExecution"}, + {9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetTransferTaskStartEventNativeHandleHolder"}, + {10, nullptr, "SuspendTransferTaskForOcean"}, + {11, nullptr, "GetCurrentTransferTaskInfoForOcean"}, + {12, nullptr, "FindTransferTaskInfoForOcean"}, + {13, nullptr, "CancelCurrentRepairTransferTask"}, // 9.0.0+ + {14, nullptr, "GetRepairTransferTaskProgress"}, // 9.0.0+ + {15, nullptr, "EnsureExecutableForRepairTransferTask"}, // 9.0.0+ + {16, nullptr, "GetTransferTaskCount"}, // 10.1.0+ + {17, nullptr, "GetTransferTaskInfo"}, // 10.1.0+ + {18, nullptr, "ListTransferTaskInfo"}, // 10.1.0+ + {19, nullptr, "DeleteTransferTask"}, // 10.1.0+ + {20, nullptr, "RaiseTransferTaskPriority"}, // 10.1.0+ + {21, nullptr, "GetTransferTaskProgress"}, // 10.1.0+ + {22, nullptr, "GetTransferTaskLastResult"}, // 10.1.0+ + {23, nullptr, "SuspendTransferTask"}, // 10.1.0+ + {24, nullptr, "GetCurrentTransferTaskInfo"}, // 10.1.0+ + {25, nullptr, "FindTransferTaskInfo"}, // 10.1.0+ + {26, nullptr, "Unknown26"}, // 20.1.0+ + {27, nullptr, "Unknown27"}, // 20.1.0+ + {28, nullptr, "Unknown28"}, // 20.1.0+ + {29, nullptr, "Unknown29"}, // 20.1.0+ + {30, nullptr, "Unknown30"}, // 20.1.0+ }; // clang-format on diff --git a/src/core/hle/service/omm/operation_mode_manager.cpp b/src/core/hle/service/omm/operation_mode_manager.cpp index fe7ed84a7f..60e2c67248 100644 --- a/src/core/hle/service/omm/operation_mode_manager.cpp +++ b/src/core/hle/service/omm/operation_mode_manager.cpp @@ -38,6 +38,13 @@ IOperationModeManager::IOperationModeManager(Core::System& system_) {26, nullptr, "GetOperationModeSystemInfo"}, {27, nullptr, "GetAppletFullAwakingSystemEvent"}, {28, nullptr, "CreateCradleFirmwareUpdater"}, + {29, nullptr, "GetCradleStatusChangeEvent"}, // 19.0.0+ + {40, nullptr, "Unknown40"}, // 20.0.0+ + {41, nullptr, "Unknown41"}, // 20.0.0+ + {50, nullptr, "Unknown50"}, // 20.1.0+ + {500, nullptr, "LblSwitchBacklightOnForAm"}, // 14.0.0+ + {501, nullptr, "LblSwitchBacklightOffForAm"}, // 14.0.0+ + {900, nullptr, "HideStartupLogo"} // 14.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp index 013cce3579..a8b4a8af7e 100644 --- a/src/core/hle/service/ptm/psm.cpp +++ b/src/core/hle/service/ptm/psm.cpp @@ -27,6 +27,7 @@ public: {2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"}, {3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"}, {4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"}, + {5, nullptr, "Unknown5"}, // 20.0.0+ }; // clang-format on @@ -141,6 +142,12 @@ PSM::PSM(Core::System& system_) : ServiceFramework{system_, "psm"} { {16, nullptr, "GetBatteryChargeInfoEvent"}, {17, nullptr, "GetBatteryChargeInfoFields"}, {18, nullptr, "GetBatteryChargeCalibratedEvent"}, + {19, nullptr, "Unknown19"}, // 18.0.0+ + {20, nullptr, "Unknown20"}, // 18.0.0+ + {21, nullptr, "Unknown21"}, // 19.0.0-19.0.1 + {22, nullptr, "Unknown22"}, // 19.0.0+ + {23, nullptr, "Unknown23"}, // 19.0.0+ + {24, nullptr, "Unknown24"} // 20.0.0+ }; // clang-format on