From 69dd658a0bcfb0c129d74e8700cad3c41612a631 Mon Sep 17 00:00:00 2001 From: darktux Date: Wed, 10 Apr 2024 11:19:34 +0000 Subject: [PATCH] 18.0.0 firmware changes from Suyu (plus formatting fixes) (#8) This commit rolls in changes required for 18.0.0 firmware from Suyus codebase plus some formatting fixes. Co-authored-by: Exverge Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/8 Co-authored-by: darktux Co-committed-by: darktux --- src/core/hle/service/acc/acc.cpp | 14 +++++++------- src/core/hle/service/audio/audio_device.cpp | 16 +++++++++------- src/core/hle/service/filesystem/fsp/fsp_srv.cpp | 3 ++- .../ldn/system_local_communication_service.cpp | 7 +++++++ .../ldn/user_local_communication_service.cpp | 9 ++++++++- src/core/hle/service/npns/npns.cpp | 12 ++++++------ src/core/hle/service/ssl/ssl.cpp | 6 +++++- 7 files changed, 44 insertions(+), 23 deletions(-) diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 7e3352fe0e..14ecca9453 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -179,10 +179,10 @@ public: {140, nullptr, "GetNetworkServiceLicenseCache"}, // 5.0.0+ {141, nullptr, "RefreshNetworkServiceLicenseCacheAsync"}, // 5.0.0+ {142, nullptr, "RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed"}, // 5.0.0+ - {143, nullptr, "GetNetworkServiceLicenseCacheEx"}, + {143, nullptr, "GetNetworkServiceLicenseCacheEx"}, // 15.0.0+ {150, nullptr, "CreateAuthorizationRequest"}, - {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, - {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, + {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, // 16.0.0+ + {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, // 16.0.0+ {170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+ {180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+ {200, nullptr, "IsRegistered"}, @@ -323,9 +323,9 @@ public: {1, &IProfileCommon::GetBase, "GetBase"}, {10, &IProfileCommon::GetImageSize, "GetImageSize"}, {11, &IProfileCommon::LoadImage, "LoadImage"}, - {20, nullptr, "GetLargeImageSize"}, // 18.0.0+ - {21, nullptr, "LoadLargeImage"}, // 18.0.0+ - {30, nullptr, "GetImageId"} // 18.0.0+ + {20, &IProfileCommon::GetImageSize, "GetLargeImageSize"}, // 18.0.0+ + {21, &IProfileCommon::LoadImage, "LoadLargeImage"}, // 18.0.0+ + {30, nullptr, "GetImageId"} // 18.0.0+ }; RegisterHandlers(functions); @@ -334,7 +334,7 @@ public: static const FunctionInfo editor_functions[] = { {100, &IProfileCommon::Store, "Store"}, {101, &IProfileCommon::StoreWithImage, "StoreWithImage"}, - {110, nullptr, "StoreWithLargeImage"} // 18.0.0+ + {110, &IProfileCommon::StoreWithImage, "StoreWithLargeImage"} // 18.0.0+ }; RegisterHandlers(editor_functions); diff --git a/src/core/hle/service/audio/audio_device.cpp b/src/core/hle/service/audio/audio_device.cpp index 782dddc804..09731ac3fd 100644 --- a/src/core/hle/service/audio/audio_device.cpp +++ b/src/core/hle/service/audio/audio_device.cpp @@ -14,6 +14,7 @@ IAudioDevice::IAudioDevice(Core::System& system_, u64 applet_resource_user_id, u : ServiceFramework{system_, "IAudioDevice"}, service_context{system_, "IAudioDevice"}, impl{std::make_unique(system_, applet_resource_user_id, revision)}, event{service_context.CreateEvent(fmt::format("IAudioDeviceEvent-{}", device_num))} { + // clang-format off static const FunctionInfo functions[] = { {0, D<&IAudioDevice::ListAudioDeviceName>, "ListAudioDeviceName"}, {1, D<&IAudioDevice::SetAudioDeviceOutputVolume>, "SetAudioDeviceOutputVolume"}, @@ -27,15 +28,16 @@ IAudioDevice::IAudioDevice(Core::System& system_, u64 applet_resource_user_id, u {10, D<&IAudioDevice::GetActiveAudioDeviceNameAuto>, "GetActiveAudioDeviceNameAuto"}, {11, D<&IAudioDevice::QueryAudioDeviceInputEvent>, "QueryAudioDeviceInputEvent"}, {12, D<&IAudioDevice::QueryAudioDeviceOutputEvent>, "QueryAudioDeviceOutputEvent"}, - {13, D<&IAudioDevice::GetActiveAudioDeviceName>, "GetActiveAudioOutputDeviceName"}, - {14, D<&IAudioDevice::ListAudioOutputDeviceName>, "ListAudioOutputDeviceName"}, - {15, nullptr, "AcquireAudioInputDeviceNotification"}, // 17.0.0+ - {16, nullptr, "ReleaseAudioInputDeviceNotification"}, // 17.0.0+ - {17, nullptr, "AcquireAudioOutputDeviceNotification"}, // 17.0.0+ - {18, nullptr, "ReleaseAudioOutputDeviceNotification"}, // 17.0.0+ + {13, D<&IAudioDevice::GetActiveAudioDeviceName>, "GetActiveAudioOutputDeviceName"}, // 13.0.0+ + {14, D<&IAudioDevice::ListAudioOutputDeviceName>, "ListAudioOutputDeviceName"}, // 13.0.0+ + {15, nullptr, "AcquireAudioInputDeviceNotification"}, // 17.0.0+ + {16, nullptr, "ReleaseAudioInputDeviceNotification"}, // 17.0.0+ + {17, nullptr, "AcquireAudioOutputDeviceNotification"}, // 17.0.0+ + {18, nullptr, "ReleaseAudioOutputDeviceNotification"}, // 17.0.0+ {19, nullptr, "SetAudioDeviceOutputVolumeAutoTuneEnabled"}, // 18.0.0+ - {20, nullptr, "IsAudioDeviceOutputVolumeAutoTuneEnabled"} // 18.0.0+ + {20, nullptr, "IsAudioDeviceOutputVolumeAutoTuneEnabled"} // 18.0.0+ }; + // clang-format on RegisterHandlers(functions); event->Signal(); diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp index bc91294f77..8c3329fb8d 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp @@ -53,7 +53,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) {1, D<&FSP_SRV::SetCurrentProcess>, "SetCurrentProcess"}, {2, nullptr, "OpenDataFileSystemByCurrentProcess"}, {7, D<&FSP_SRV::OpenFileSystemWithPatch>, "OpenFileSystemWithPatch"}, - {8, nullptr, "OpenFileSystemWithId"}, + {8, nullptr, "OpenFileSystemWithIdObsolete"}, // 16.0.0+, OpenFileSystemWithId 2.0.0-15.0.1 {9, nullptr, "OpenDataFileSystemByApplicationId"}, {11, nullptr, "OpenBisFileSystem"}, {12, nullptr, "OpenBisStorage"}, @@ -169,6 +169,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) {1018, nullptr, "SetDebugOption"}, {1019, nullptr, "UnsetDebugOption"}, {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, + {1101, nullptr, "OverrideSaveDataTransferKeyForTest"}, // 18.0.0+ {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"}, {1200, D<&FSP_SRV::OpenMultiCommitManager>, "OpenMultiCommitManager"}, {1300, nullptr, "OpenBisWiper"}, diff --git a/src/core/hle/service/ldn/system_local_communication_service.cpp b/src/core/hle/service/ldn/system_local_communication_service.cpp index 7b52223cdc..fc283da4cf 100644 --- a/src/core/hle/service/ldn/system_local_communication_service.cpp +++ b/src/core/hle/service/ldn/system_local_communication_service.cpp @@ -40,6 +40,13 @@ ISystemLocalCommunicationService::ISystemLocalCommunicationService(Core::System& {401, nullptr, "FinalizeSystem"}, {402, nullptr, "SetOperationMode"}, {403, C<&ISystemLocalCommunicationService::InitializeSystem2>, "InitializeSystem2"}, + {500, nullptr, "EnableActionFrame"}, // 18.0.0+ + {501, nullptr, "DisableActionFrame"}, // 18.0.0+ + {502, nullptr, "SendActionFrame"}, // 18.0.0+ + {503, nullptr, "RecvActionFrame"}, // 18.0.0+ + {505, nullptr, "SetHomeChannel"}, // 18.0.0+ + {600, nullptr, "SetTxPower"}, // 18.0.0+ + {601, nullptr, "ResetTxPower"} // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ldn/user_local_communication_service.cpp b/src/core/hle/service/ldn/user_local_communication_service.cpp index f28368962f..8e559f4400 100644 --- a/src/core/hle/service/ldn/user_local_communication_service.cpp +++ b/src/core/hle/service/ldn/user_local_communication_service.cpp @@ -53,7 +53,14 @@ IUserLocalCommunicationService::IUserLocalCommunicationService(Core::System& sys {304, C<&IUserLocalCommunicationService::Disconnect>, "Disconnect"}, {400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"}, {401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"}, - {402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"}, + {402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"}, // 7.0.0+ + {500, nullptr, "EnableActionFrame"}, // 18.0.0+ + {501, nullptr, "DisableActionFrame"}, // 18.0.0+ + {502, nullptr, "SendActionFrame"}, // 18.0.0+ + {503, nullptr, "RecvActionFrame"}, // 18.0.0+ + {505, nullptr, "SetHomeChannel"}, // 18.0.0+ + {600, nullptr, "SetTxPower"}, // 18.0.0+ + {601, nullptr, "ResetTxPower"} // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index 07766704bd..be0e79d8a3 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp @@ -38,7 +38,7 @@ public: {24, nullptr, "DestroyTokenWithApplicationId"}, {25, nullptr, "QueryIsTokenValid"}, {26, nullptr, "ListenToMyApplicationId"}, - {27, nullptr, "DestroyTokenAll"}, + {27, nullptr, "DestroyTokenAll"}, // 13.0.0+ {28, nullptr, "CreateTokenWithName"}, // 18.0.0+ {29, nullptr, "DestroyTokenWithName"}, // 18.0.0+ {31, nullptr, "UploadTokenToBaaS"}, @@ -74,16 +74,16 @@ public: {154, nullptr, "CreateTokenAsync"}, {155, nullptr, "CreateTokenAsyncWithApplicationId"}, {156, nullptr, "CreateTokenWithNameAsync"}, // 18.0.0+ - {161, nullptr, "GetRequestChangeStateCancelEvent"}, - {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, - {201, nullptr, "RequestChangeStateForceTimed"}, - {202, nullptr, "RequestChangeStateForceAsync"}, + {161, nullptr, "GetRequestChangeStateCancelEvent"}, // 10.0.0+ + {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, // 10.0.0+ + {201, nullptr, "RequestChangeStateForceTimed"}, // 3.0.0+ + {202, nullptr, "RequestChangeStateForceAsync"}, // 3.0.0+ {301, nullptr, "GetPassword"}, // 18.0.0+ {302, nullptr, "GetAllImmigration"}, // 18.0.0+ {303, nullptr, "GetNotificationHistories"}, // 18.0.0+ {304, nullptr, "GetPersistentConnectionSummary"}, // 18.0.0+ {305, nullptr, "GetDigitalTwinSummary"}, // 18.0.0+ - {306, nullptr, "GetDigitalTwinValue"}, // 18.0.0+ + {306, nullptr, "GetDigitalTwinValue"} // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index 008ee44923..37105d74b7 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -507,7 +507,11 @@ public: {6, nullptr, "FlushSessionCache"}, {7, nullptr, "SetDebugOption"}, {8, nullptr, "GetDebugOption"}, - {8, nullptr, "ClearTls12FallbackFlag"}, + {9, nullptr, "ClearTls12FallbackFlag"}, + {100, nullptr, "CreateContextForSystem"}, + {101, nullptr, "SetThreadCoreMask"}, + {102, nullptr, "GetThreadCoreMask"}, + {103, nullptr, "VerifySignature"}, // 18.0.0+ }; // clang-format on