diff options
Diffstat (limited to 'src')
31 files changed, 463 insertions, 101 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 2d4d2e9e7..4575df24d 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp | |||
| @@ -212,6 +212,7 @@ void DebuggerBackend::Write(const Entry& entry) { | |||
| 212 | SUB(Service, ARP) \ | 212 | SUB(Service, ARP) \ |
| 213 | SUB(Service, BCAT) \ | 213 | SUB(Service, BCAT) \ |
| 214 | SUB(Service, BPC) \ | 214 | SUB(Service, BPC) \ |
| 215 | SUB(Service, BGTC) \ | ||
| 215 | SUB(Service, BTDRV) \ | 216 | SUB(Service, BTDRV) \ |
| 216 | SUB(Service, BTM) \ | 217 | SUB(Service, BTM) \ |
| 217 | SUB(Service, Capture) \ | 218 | SUB(Service, Capture) \ |
diff --git a/src/common/logging/log.h b/src/common/logging/log.h index 835894918..3d7b7dab7 100644 --- a/src/common/logging/log.h +++ b/src/common/logging/log.h | |||
| @@ -66,6 +66,7 @@ enum class Class : ClassType { | |||
| 66 | Service_ARP, ///< The ARP service | 66 | Service_ARP, ///< The ARP service |
| 67 | Service_Audio, ///< The Audio (Audio control) service | 67 | Service_Audio, ///< The Audio (Audio control) service |
| 68 | Service_BCAT, ///< The BCAT service | 68 | Service_BCAT, ///< The BCAT service |
| 69 | Service_BGTC, ///< The BGTC (Background Task Controller) service | ||
| 69 | Service_BPC, ///< The BPC service | 70 | Service_BPC, ///< The BPC service |
| 70 | Service_BTDRV, ///< The Bluetooth driver service | 71 | Service_BTDRV, ///< The Bluetooth driver service |
| 71 | Service_BTM, ///< The BTM service | 72 | Service_BTM, ///< The BTM service |
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 5b6c7792e..a1520e147 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp | |||
| @@ -143,10 +143,10 @@ struct KernelCore::Impl { | |||
| 143 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::PhysicalMemory, 0x100000000) | 143 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::PhysicalMemory, 0x100000000) |
| 144 | .IsSuccess()); | 144 | .IsSuccess()); |
| 145 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Threads, 800).IsSuccess()); | 145 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Threads, 800).IsSuccess()); |
| 146 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Events, 700).IsSuccess()); | 146 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Events, 900).IsSuccess()); |
| 147 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::TransferMemory, 200) | 147 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::TransferMemory, 200) |
| 148 | .IsSuccess()); | 148 | .IsSuccess()); |
| 149 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Sessions, 933).IsSuccess()); | 149 | ASSERT(system_resource_limit->SetLimitValue(LimitableResource::Sessions, 1133).IsSuccess()); |
| 150 | 150 | ||
| 151 | // Derived from recent software updates. The kernel reserves 27MB | 151 | // Derived from recent software updates. The kernel reserves 27MB |
| 152 | constexpr u64 kernel_size{0x1b00000}; | 152 | constexpr u64 kernel_size{0x1b00000}; |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 326d3b9ec..fcffc746d 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -2455,6 +2455,74 @@ static const FunctionDef SVC_Table_32[] = { | |||
| 2455 | {0x79, nullptr, "Unknown"}, | 2455 | {0x79, nullptr, "Unknown"}, |
| 2456 | {0x7A, nullptr, "Unknown"}, | 2456 | {0x7A, nullptr, "Unknown"}, |
| 2457 | {0x7B, nullptr, "TerminateProcess32"}, | 2457 | {0x7B, nullptr, "TerminateProcess32"}, |
| 2458 | {0x7C, nullptr, "GetProcessInfo32"}, | ||
| 2459 | {0x7D, nullptr, "CreateResourceLimit32"}, | ||
| 2460 | {0x7E, nullptr, "SetResourceLimitLimitValue32"}, | ||
| 2461 | {0x7F, nullptr, "CallSecureMonitor32"}, | ||
| 2462 | {0x80, nullptr, "Unknown"}, | ||
| 2463 | {0x81, nullptr, "Unknown"}, | ||
| 2464 | {0x82, nullptr, "Unknown"}, | ||
| 2465 | {0x83, nullptr, "Unknown"}, | ||
| 2466 | {0x84, nullptr, "Unknown"}, | ||
| 2467 | {0x85, nullptr, "Unknown"}, | ||
| 2468 | {0x86, nullptr, "Unknown"}, | ||
| 2469 | {0x87, nullptr, "Unknown"}, | ||
| 2470 | {0x88, nullptr, "Unknown"}, | ||
| 2471 | {0x89, nullptr, "Unknown"}, | ||
| 2472 | {0x8A, nullptr, "Unknown"}, | ||
| 2473 | {0x8B, nullptr, "Unknown"}, | ||
| 2474 | {0x8C, nullptr, "Unknown"}, | ||
| 2475 | {0x8D, nullptr, "Unknown"}, | ||
| 2476 | {0x8E, nullptr, "Unknown"}, | ||
| 2477 | {0x8F, nullptr, "Unknown"}, | ||
| 2478 | {0x90, nullptr, "Unknown"}, | ||
| 2479 | {0x91, nullptr, "Unknown"}, | ||
| 2480 | {0x92, nullptr, "Unknown"}, | ||
| 2481 | {0x93, nullptr, "Unknown"}, | ||
| 2482 | {0x94, nullptr, "Unknown"}, | ||
| 2483 | {0x95, nullptr, "Unknown"}, | ||
| 2484 | {0x96, nullptr, "Unknown"}, | ||
| 2485 | {0x97, nullptr, "Unknown"}, | ||
| 2486 | {0x98, nullptr, "Unknown"}, | ||
| 2487 | {0x99, nullptr, "Unknown"}, | ||
| 2488 | {0x9A, nullptr, "Unknown"}, | ||
| 2489 | {0x9B, nullptr, "Unknown"}, | ||
| 2490 | {0x9C, nullptr, "Unknown"}, | ||
| 2491 | {0x9D, nullptr, "Unknown"}, | ||
| 2492 | {0x9E, nullptr, "Unknown"}, | ||
| 2493 | {0x9F, nullptr, "Unknown"}, | ||
| 2494 | {0xA0, nullptr, "Unknown"}, | ||
| 2495 | {0xA1, nullptr, "Unknown"}, | ||
| 2496 | {0xA2, nullptr, "Unknown"}, | ||
| 2497 | {0xA3, nullptr, "Unknown"}, | ||
| 2498 | {0xA4, nullptr, "Unknown"}, | ||
| 2499 | {0xA5, nullptr, "Unknown"}, | ||
| 2500 | {0xA6, nullptr, "Unknown"}, | ||
| 2501 | {0xA7, nullptr, "Unknown"}, | ||
| 2502 | {0xA8, nullptr, "Unknown"}, | ||
| 2503 | {0xA9, nullptr, "Unknown"}, | ||
| 2504 | {0xAA, nullptr, "Unknown"}, | ||
| 2505 | {0xAB, nullptr, "Unknown"}, | ||
| 2506 | {0xAC, nullptr, "Unknown"}, | ||
| 2507 | {0xAD, nullptr, "Unknown"}, | ||
| 2508 | {0xAE, nullptr, "Unknown"}, | ||
| 2509 | {0xAF, nullptr, "Unknown"}, | ||
| 2510 | {0xB0, nullptr, "Unknown"}, | ||
| 2511 | {0xB1, nullptr, "Unknown"}, | ||
| 2512 | {0xB2, nullptr, "Unknown"}, | ||
| 2513 | {0xB3, nullptr, "Unknown"}, | ||
| 2514 | {0xB4, nullptr, "Unknown"}, | ||
| 2515 | {0xB5, nullptr, "Unknown"}, | ||
| 2516 | {0xB6, nullptr, "Unknown"}, | ||
| 2517 | {0xB7, nullptr, "Unknown"}, | ||
| 2518 | {0xB8, nullptr, "Unknown"}, | ||
| 2519 | {0xB9, nullptr, "Unknown"}, | ||
| 2520 | {0xBA, nullptr, "Unknown"}, | ||
| 2521 | {0xBB, nullptr, "Unknown"}, | ||
| 2522 | {0xBC, nullptr, "Unknown"}, | ||
| 2523 | {0xBD, nullptr, "Unknown"}, | ||
| 2524 | {0xBE, nullptr, "Unknown"}, | ||
| 2525 | {0xBF, nullptr, "Unknown"}, | ||
| 2458 | }; | 2526 | }; |
| 2459 | 2527 | ||
| 2460 | static const FunctionDef SVC_Table_64[] = { | 2528 | static const FunctionDef SVC_Table_64[] = { |
| @@ -2586,6 +2654,70 @@ static const FunctionDef SVC_Table_64[] = { | |||
| 2586 | {0x7D, SvcWrap64<CreateResourceLimit>, "CreateResourceLimit"}, | 2654 | {0x7D, SvcWrap64<CreateResourceLimit>, "CreateResourceLimit"}, |
| 2587 | {0x7E, SvcWrap64<SetResourceLimitLimitValue>, "SetResourceLimitLimitValue"}, | 2655 | {0x7E, SvcWrap64<SetResourceLimitLimitValue>, "SetResourceLimitLimitValue"}, |
| 2588 | {0x7F, nullptr, "CallSecureMonitor"}, | 2656 | {0x7F, nullptr, "CallSecureMonitor"}, |
| 2657 | {0x80, nullptr, "Unknown"}, | ||
| 2658 | {0x81, nullptr, "Unknown"}, | ||
| 2659 | {0x82, nullptr, "Unknown"}, | ||
| 2660 | {0x83, nullptr, "Unknown"}, | ||
| 2661 | {0x84, nullptr, "Unknown"}, | ||
| 2662 | {0x85, nullptr, "Unknown"}, | ||
| 2663 | {0x86, nullptr, "Unknown"}, | ||
| 2664 | {0x87, nullptr, "Unknown"}, | ||
| 2665 | {0x88, nullptr, "Unknown"}, | ||
| 2666 | {0x89, nullptr, "Unknown"}, | ||
| 2667 | {0x8A, nullptr, "Unknown"}, | ||
| 2668 | {0x8B, nullptr, "Unknown"}, | ||
| 2669 | {0x8C, nullptr, "Unknown"}, | ||
| 2670 | {0x8D, nullptr, "Unknown"}, | ||
| 2671 | {0x8E, nullptr, "Unknown"}, | ||
| 2672 | {0x8F, nullptr, "Unknown"}, | ||
| 2673 | {0x90, nullptr, "Unknown"}, | ||
| 2674 | {0x91, nullptr, "Unknown"}, | ||
| 2675 | {0x92, nullptr, "Unknown"}, | ||
| 2676 | {0x93, nullptr, "Unknown"}, | ||
| 2677 | {0x94, nullptr, "Unknown"}, | ||
| 2678 | {0x95, nullptr, "Unknown"}, | ||
| 2679 | {0x96, nullptr, "Unknown"}, | ||
| 2680 | {0x97, nullptr, "Unknown"}, | ||
| 2681 | {0x98, nullptr, "Unknown"}, | ||
| 2682 | {0x99, nullptr, "Unknown"}, | ||
| 2683 | {0x9A, nullptr, "Unknown"}, | ||
| 2684 | {0x9B, nullptr, "Unknown"}, | ||
| 2685 | {0x9C, nullptr, "Unknown"}, | ||
| 2686 | {0x9D, nullptr, "Unknown"}, | ||
| 2687 | {0x9E, nullptr, "Unknown"}, | ||
| 2688 | {0x9F, nullptr, "Unknown"}, | ||
| 2689 | {0xA0, nullptr, "Unknown"}, | ||
| 2690 | {0xA1, nullptr, "Unknown"}, | ||
| 2691 | {0xA2, nullptr, "Unknown"}, | ||
| 2692 | {0xA3, nullptr, "Unknown"}, | ||
| 2693 | {0xA4, nullptr, "Unknown"}, | ||
| 2694 | {0xA5, nullptr, "Unknown"}, | ||
| 2695 | {0xA6, nullptr, "Unknown"}, | ||
| 2696 | {0xA7, nullptr, "Unknown"}, | ||
| 2697 | {0xA8, nullptr, "Unknown"}, | ||
| 2698 | {0xA9, nullptr, "Unknown"}, | ||
| 2699 | {0xAA, nullptr, "Unknown"}, | ||
| 2700 | {0xAB, nullptr, "Unknown"}, | ||
| 2701 | {0xAC, nullptr, "Unknown"}, | ||
| 2702 | {0xAD, nullptr, "Unknown"}, | ||
| 2703 | {0xAE, nullptr, "Unknown"}, | ||
| 2704 | {0xAF, nullptr, "Unknown"}, | ||
| 2705 | {0xB0, nullptr, "Unknown"}, | ||
| 2706 | {0xB1, nullptr, "Unknown"}, | ||
| 2707 | {0xB2, nullptr, "Unknown"}, | ||
| 2708 | {0xB3, nullptr, "Unknown"}, | ||
| 2709 | {0xB4, nullptr, "Unknown"}, | ||
| 2710 | {0xB5, nullptr, "Unknown"}, | ||
| 2711 | {0xB6, nullptr, "Unknown"}, | ||
| 2712 | {0xB7, nullptr, "Unknown"}, | ||
| 2713 | {0xB8, nullptr, "Unknown"}, | ||
| 2714 | {0xB9, nullptr, "Unknown"}, | ||
| 2715 | {0xBA, nullptr, "Unknown"}, | ||
| 2716 | {0xBB, nullptr, "Unknown"}, | ||
| 2717 | {0xBC, nullptr, "Unknown"}, | ||
| 2718 | {0xBD, nullptr, "Unknown"}, | ||
| 2719 | {0xBE, nullptr, "Unknown"}, | ||
| 2720 | {0xBF, nullptr, "Unknown"}, | ||
| 2589 | }; | 2721 | }; |
| 2590 | 2722 | ||
| 2591 | static const FunctionDef* GetSVCInfo32(u32 func_num) { | 2723 | static const FunctionDef* GetSVCInfo32(u32 func_num) { |
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 615e20a54..52535ecc0 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp | |||
| @@ -610,12 +610,17 @@ public: | |||
| 610 | explicit DAUTH_O(Core::System& system_, Common::UUID) : ServiceFramework{system_, "dauth:o"} { | 610 | explicit DAUTH_O(Core::System& system_, Common::UUID) : ServiceFramework{system_, "dauth:o"} { |
| 611 | // clang-format off | 611 | // clang-format off |
| 612 | static const FunctionInfo functions[] = { | 612 | static const FunctionInfo functions[] = { |
| 613 | {0, nullptr, "EnsureAuthenticationTokenCacheAsync"}, // [5.0.0-5.1.0] GeneratePostData | 613 | {0, nullptr, "EnsureAuthenticationTokenCacheAsync"}, |
| 614 | {1, nullptr, "LoadAuthenticationTokenCache"}, // 6.0.0+ | 614 | {1, nullptr, "LoadAuthenticationTokenCache"}, |
| 615 | {2, nullptr, "InvalidateAuthenticationTokenCache"}, // 6.0.0+ | 615 | {2, nullptr, "InvalidateAuthenticationTokenCache"}, |
| 616 | {10, nullptr, "EnsureEdgeTokenCacheAsync"}, // 6.0.0+ | 616 | {10, nullptr, "EnsureEdgeTokenCacheAsync"}, |
| 617 | {11, nullptr, "LoadEdgeTokenCache"}, // 6.0.0+ | 617 | {11, nullptr, "LoadEdgeTokenCache"}, |
| 618 | {12, nullptr, "InvalidateEdgeTokenCache"}, // 6.0.0+ | 618 | {12, nullptr, "InvalidateEdgeTokenCache"}, |
| 619 | {20, nullptr, "EnsureApplicationAuthenticationCacheAsync"}, | ||
| 620 | {21, nullptr, "LoadApplicationAuthenticationTokenCache"}, | ||
| 621 | {22, nullptr, "LoadApplicationNetworkServiceClientConfigCache"}, | ||
| 622 | {23, nullptr, "IsApplicationAuthenticationCacheAvailable"}, | ||
| 623 | {24, nullptr, "InvalidateApplicationAuthenticationCache"}, | ||
| 619 | }; | 624 | }; |
| 620 | // clang-format on | 625 | // clang-format on |
| 621 | 626 | ||
diff --git a/src/core/hle/service/acc/acc_su.cpp b/src/core/hle/service/acc/acc_su.cpp index 49b22583e..bb6118abf 100644 --- a/src/core/hle/service/acc/acc_su.cpp +++ b/src/core/hle/service/acc/acc_su.cpp | |||
| @@ -17,28 +17,30 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | |||
| 17 | {3, &ACC_SU::ListOpenUsers, "ListOpenUsers"}, | 17 | {3, &ACC_SU::ListOpenUsers, "ListOpenUsers"}, |
| 18 | {4, &ACC_SU::GetLastOpenedUser, "GetLastOpenedUser"}, | 18 | {4, &ACC_SU::GetLastOpenedUser, "GetLastOpenedUser"}, |
| 19 | {5, &ACC_SU::GetProfile, "GetProfile"}, | 19 | {5, &ACC_SU::GetProfile, "GetProfile"}, |
| 20 | {6, nullptr, "GetProfileDigest"}, // 3.0.0+ | 20 | {6, nullptr, "GetProfileDigest"}, |
| 21 | {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, | 21 | {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, |
| 22 | {51, &ACC_SU::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, | 22 | {51, &ACC_SU::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, |
| 23 | {60, &ACC_SU::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0 | 23 | {60, &ACC_SU::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, |
| 24 | {99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+ | 24 | {99, nullptr, "DebugActivateOpenContextRetention"}, |
| 25 | {100, nullptr, "GetUserRegistrationNotifier"}, | 25 | {100, nullptr, "GetUserRegistrationNotifier"}, |
| 26 | {101, nullptr, "GetUserStateChangeNotifier"}, | 26 | {101, nullptr, "GetUserStateChangeNotifier"}, |
| 27 | {102, nullptr, "GetBaasAccountManagerForSystemService"}, | 27 | {102, nullptr, "GetBaasAccountManagerForSystemService"}, |
| 28 | {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, | 28 | {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, |
| 29 | {104, nullptr, "GetProfileUpdateNotifier"}, | 29 | {104, nullptr, "GetProfileUpdateNotifier"}, |
| 30 | {105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, // 4.0.0+ | 30 | {105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, |
| 31 | {106, nullptr, "GetProfileSyncNotifier"}, // 9.0.0+ | 31 | {106, nullptr, "GetProfileSyncNotifier"}, |
| 32 | {110, &ACC_SU::StoreSaveDataThumbnailSystem, "StoreSaveDataThumbnail"}, | 32 | {110, &ACC_SU::StoreSaveDataThumbnailSystem, "StoreSaveDataThumbnail"}, |
| 33 | {111, nullptr, "ClearSaveDataThumbnail"}, | 33 | {111, nullptr, "ClearSaveDataThumbnail"}, |
| 34 | {112, nullptr, "LoadSaveDataThumbnail"}, | 34 | {112, nullptr, "LoadSaveDataThumbnail"}, |
| 35 | {113, nullptr, "GetSaveDataThumbnailExistence"}, // 5.0.0+ | 35 | {113, nullptr, "GetSaveDataThumbnailExistence"}, |
| 36 | {120, nullptr, "ListOpenUsersInApplication"}, // 10.0.0+ | 36 | {120, nullptr, "ListOpenUsersInApplication"}, |
| 37 | {130, nullptr, "ActivateOpenContextRetention"}, // 6.0.0+ | 37 | {130, nullptr, "ActivateOpenContextRetention"}, |
| 38 | {140, &ACC_SU::ListQualifiedUsers, "ListQualifiedUsers"}, // 6.0.0+ | 38 | {140, &ACC_SU::ListQualifiedUsers, "ListQualifiedUsers"}, |
| 39 | {150, nullptr, "AuthenticateApplicationAsync"}, // 10.0.0+ | 39 | {150, nullptr, "AuthenticateApplicationAsync"}, |
| 40 | {190, nullptr, "GetUserLastOpenedApplication"}, // 1.0.0 - 9.2.0 | 40 | {151, nullptr, "Unknown151"}, |
| 41 | {191, nullptr, "ActivateOpenContextHolder"}, // 7.0.0+ | 41 | {152, nullptr, "Unknown152"}, |
| 42 | {190, nullptr, "GetUserLastOpenedApplication"}, | ||
| 43 | {191, nullptr, "ActivateOpenContextHolder"}, | ||
| 42 | {200, nullptr, "BeginUserRegistration"}, | 44 | {200, nullptr, "BeginUserRegistration"}, |
| 43 | {201, nullptr, "CompleteUserRegistration"}, | 45 | {201, nullptr, "CompleteUserRegistration"}, |
| 44 | {202, nullptr, "CancelUserRegistration"}, | 46 | {202, nullptr, "CancelUserRegistration"}, |
| @@ -46,15 +48,15 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | |||
| 46 | {204, nullptr, "SetUserPosition"}, | 48 | {204, nullptr, "SetUserPosition"}, |
| 47 | {205, &ACC_SU::GetProfileEditor, "GetProfileEditor"}, | 49 | {205, &ACC_SU::GetProfileEditor, "GetProfileEditor"}, |
| 48 | {206, nullptr, "CompleteUserRegistrationForcibly"}, | 50 | {206, nullptr, "CompleteUserRegistrationForcibly"}, |
| 49 | {210, nullptr, "CreateFloatingRegistrationRequest"}, // 3.0.0+ | 51 | {210, nullptr, "CreateFloatingRegistrationRequest"}, |
| 50 | {211, nullptr, "CreateProcedureToRegisterUserWithNintendoAccount"}, // 8.0.0+ | 52 | {211, nullptr, "CreateProcedureToRegisterUserWithNintendoAccount"}, |
| 51 | {212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"}, // 8.0.0+ | 53 | {212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"}, |
| 52 | {230, nullptr, "AuthenticateServiceAsync"}, | 54 | {230, nullptr, "AuthenticateServiceAsync"}, |
| 53 | {250, nullptr, "GetBaasAccountAdministrator"}, | 55 | {250, nullptr, "GetBaasAccountAdministrator"}, |
| 54 | {290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"}, | 56 | {290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"}, |
| 55 | {291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"}, // 3.0.0+ | 57 | {291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"}, |
| 56 | {299, nullptr, "SuspendBackgroundDaemon"}, | 58 | {299, nullptr, "SuspendBackgroundDaemon"}, |
| 57 | {997, nullptr, "DebugInvalidateTokenCacheForUser"}, // 3.0.0+ | 59 | {997, nullptr, "DebugInvalidateTokenCacheForUser"}, |
| 58 | {998, nullptr, "DebugSetUserStateClose"}, | 60 | {998, nullptr, "DebugSetUserStateClose"}, |
| 59 | {999, nullptr, "DebugSetUserStateOpen"}, | 61 | {999, nullptr, "DebugSetUserStateOpen"}, |
| 60 | }; | 62 | }; |
diff --git a/src/core/hle/service/acc/acc_u1.cpp b/src/core/hle/service/acc/acc_u1.cpp index 951081cd0..71982ad5a 100644 --- a/src/core/hle/service/acc/acc_u1.cpp +++ b/src/core/hle/service/acc/acc_u1.cpp | |||
| @@ -17,29 +17,31 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | |||
| 17 | {3, &ACC_U1::ListOpenUsers, "ListOpenUsers"}, | 17 | {3, &ACC_U1::ListOpenUsers, "ListOpenUsers"}, |
| 18 | {4, &ACC_U1::GetLastOpenedUser, "GetLastOpenedUser"}, | 18 | {4, &ACC_U1::GetLastOpenedUser, "GetLastOpenedUser"}, |
| 19 | {5, &ACC_U1::GetProfile, "GetProfile"}, | 19 | {5, &ACC_U1::GetProfile, "GetProfile"}, |
| 20 | {6, nullptr, "GetProfileDigest"}, // 3.0.0+ | 20 | {6, nullptr, "GetProfileDigest"}, |
| 21 | {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, | 21 | {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, |
| 22 | {51, &ACC_U1::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, | 22 | {51, &ACC_U1::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, |
| 23 | {60, &ACC_U1::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, // 5.0.0 - 5.1.0 | 23 | {60, &ACC_U1::ListOpenContextStoredUsers, "ListOpenContextStoredUsers"}, |
| 24 | {99, nullptr, "DebugActivateOpenContextRetention"}, // 6.0.0+ | 24 | {99, nullptr, "DebugActivateOpenContextRetention"}, |
| 25 | {100, nullptr, "GetUserRegistrationNotifier"}, | 25 | {100, nullptr, "GetUserRegistrationNotifier"}, |
| 26 | {101, nullptr, "GetUserStateChangeNotifier"}, | 26 | {101, nullptr, "GetUserStateChangeNotifier"}, |
| 27 | {102, nullptr, "GetBaasAccountManagerForSystemService"}, | 27 | {102, nullptr, "GetBaasAccountManagerForSystemService"}, |
| 28 | {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, | 28 | {103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, |
| 29 | {104, nullptr, "GetProfileUpdateNotifier"}, | 29 | {104, nullptr, "GetProfileUpdateNotifier"}, |
| 30 | {105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, // 4.0.0+ | 30 | {105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, |
| 31 | {106, nullptr, "GetProfileSyncNotifier"}, // 9.0.0+ | 31 | {106, nullptr, "GetProfileSyncNotifier"}, |
| 32 | {110, &ACC_U1::StoreSaveDataThumbnailApplication, "StoreSaveDataThumbnail"}, | 32 | {110, &ACC_U1::StoreSaveDataThumbnailApplication, "StoreSaveDataThumbnail"}, |
| 33 | {111, nullptr, "ClearSaveDataThumbnail"}, | 33 | {111, nullptr, "ClearSaveDataThumbnail"}, |
| 34 | {112, nullptr, "LoadSaveDataThumbnail"}, | 34 | {112, nullptr, "LoadSaveDataThumbnail"}, |
| 35 | {113, nullptr, "GetSaveDataThumbnailExistence"}, // 5.0.0+ | 35 | {113, nullptr, "GetSaveDataThumbnailExistence"}, |
| 36 | {120, nullptr, "ListOpenUsersInApplication"}, // 10.0.0+ | 36 | {120, nullptr, "ListOpenUsersInApplication"}, |
| 37 | {130, nullptr, "ActivateOpenContextRetention"}, // 6.0.0+ | 37 | {130, nullptr, "ActivateOpenContextRetention"}, |
| 38 | {140, &ACC_U1::ListQualifiedUsers, "ListQualifiedUsers"}, // 6.0.0+ | 38 | {140, &ACC_U1::ListQualifiedUsers, "ListQualifiedUsers"}, |
| 39 | {150, nullptr, "AuthenticateApplicationAsync"}, // 10.0.0+ | 39 | {150, nullptr, "AuthenticateApplicationAsync"}, |
| 40 | {190, nullptr, "GetUserLastOpenedApplication"}, // 1.0.0 - 9.2.0 | 40 | {151, nullptr, "Unknown151"}, |
| 41 | {191, nullptr, "ActivateOpenContextHolder"}, // 7.0.0+ | 41 | {152, nullptr, "Unknown152"}, |
| 42 | {997, nullptr, "DebugInvalidateTokenCacheForUser"}, // 3.0.0+ | 42 | {190, nullptr, "GetUserLastOpenedApplication"}, |
| 43 | {191, nullptr, "ActivateOpenContextHolder"}, | ||
| 44 | {997, nullptr, "DebugInvalidateTokenCacheForUser"}, | ||
| 43 | {998, nullptr, "DebugSetUserStateClose"}, | 45 | {998, nullptr, "DebugSetUserStateClose"}, |
| 44 | {999, nullptr, "DebugSetUserStateOpen"}, | 46 | {999, nullptr, "DebugSetUserStateOpen"}, |
| 45 | }; | 47 | }; |
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d91237cba..4374487a3 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -231,6 +231,7 @@ IDebugFunctions::IDebugFunctions(Core::System& system_) | |||
| 231 | {10, nullptr, "PerformSystemButtonPressing"}, | 231 | {10, nullptr, "PerformSystemButtonPressing"}, |
| 232 | {20, nullptr, "InvalidateTransitionLayer"}, | 232 | {20, nullptr, "InvalidateTransitionLayer"}, |
| 233 | {30, nullptr, "RequestLaunchApplicationWithUserAndArgumentForDebug"}, | 233 | {30, nullptr, "RequestLaunchApplicationWithUserAndArgumentForDebug"}, |
| 234 | {31, nullptr, "RequestLaunchApplicationByApplicationLaunchInfoForDebug"}, | ||
| 234 | {40, nullptr, "GetAppletResourceUsageInfo"}, | 235 | {40, nullptr, "GetAppletResourceUsageInfo"}, |
| 235 | {100, nullptr, "SetCpuBoostModeForApplet"}, | 236 | {100, nullptr, "SetCpuBoostModeForApplet"}, |
| 236 | {101, nullptr, "CancelCpuBoostModeForApplet"}, | 237 | {101, nullptr, "CancelCpuBoostModeForApplet"}, |
| @@ -242,6 +243,7 @@ IDebugFunctions::IDebugFunctions(Core::System& system_) | |||
| 242 | {130, nullptr, "FriendInvitationSetApplicationParameter"}, | 243 | {130, nullptr, "FriendInvitationSetApplicationParameter"}, |
| 243 | {131, nullptr, "FriendInvitationClearApplicationParameter"}, | 244 | {131, nullptr, "FriendInvitationClearApplicationParameter"}, |
| 244 | {132, nullptr, "FriendInvitationPushApplicationParameter"}, | 245 | {132, nullptr, "FriendInvitationPushApplicationParameter"}, |
| 246 | {900, nullptr, "GetGrcProcessLaunchedSystemEvent"}, | ||
| 245 | }; | 247 | }; |
| 246 | // clang-format on | 248 | // clang-format on |
| 247 | 249 | ||
| @@ -297,6 +299,7 @@ ISelfController::ISelfController(Core::System& system_, NVFlinger::NVFlinger& nv | |||
| 297 | {91, &ISelfController::GetAccumulatedSuspendedTickChangedEvent, "GetAccumulatedSuspendedTickChangedEvent"}, | 299 | {91, &ISelfController::GetAccumulatedSuspendedTickChangedEvent, "GetAccumulatedSuspendedTickChangedEvent"}, |
| 298 | {100, &ISelfController::SetAlbumImageTakenNotificationEnabled, "SetAlbumImageTakenNotificationEnabled"}, | 300 | {100, &ISelfController::SetAlbumImageTakenNotificationEnabled, "SetAlbumImageTakenNotificationEnabled"}, |
| 299 | {110, nullptr, "SetApplicationAlbumUserData"}, | 301 | {110, nullptr, "SetApplicationAlbumUserData"}, |
| 302 | {120, nullptr, "SaveCurrentScreenshot"}, | ||
| 300 | {1000, nullptr, "GetDebugStorageChannel"}, | 303 | {1000, nullptr, "GetDebugStorageChannel"}, |
| 301 | }; | 304 | }; |
| 302 | // clang-format on | 305 | // clang-format on |
| @@ -645,6 +648,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, | |||
| 645 | {11, nullptr, "ReleaseSleepLock"}, | 648 | {11, nullptr, "ReleaseSleepLock"}, |
| 646 | {12, nullptr, "ReleaseSleepLockTransiently"}, | 649 | {12, nullptr, "ReleaseSleepLockTransiently"}, |
| 647 | {13, nullptr, "GetAcquiredSleepLockEvent"}, | 650 | {13, nullptr, "GetAcquiredSleepLockEvent"}, |
| 651 | {14, nullptr, "GetWakeupCount"}, | ||
| 648 | {20, nullptr, "PushToGeneralChannel"}, | 652 | {20, nullptr, "PushToGeneralChannel"}, |
| 649 | {30, nullptr, "GetHomeButtonReaderLockAccessor"}, | 653 | {30, nullptr, "GetHomeButtonReaderLockAccessor"}, |
| 650 | {31, nullptr, "GetReaderLockAccessorEx"}, | 654 | {31, nullptr, "GetReaderLockAccessorEx"}, |
| @@ -656,6 +660,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, | |||
| 656 | {53, &ICommonStateGetter::BeginVrModeEx, "BeginVrModeEx"}, | 660 | {53, &ICommonStateGetter::BeginVrModeEx, "BeginVrModeEx"}, |
| 657 | {54, &ICommonStateGetter::EndVrModeEx, "EndVrModeEx"}, | 661 | {54, &ICommonStateGetter::EndVrModeEx, "EndVrModeEx"}, |
| 658 | {55, nullptr, "IsInControllerFirmwareUpdateSection"}, | 662 | {55, nullptr, "IsInControllerFirmwareUpdateSection"}, |
| 663 | {59, nullptr, "SetVrPositionForDebug"}, | ||
| 659 | {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"}, | 664 | {60, &ICommonStateGetter::GetDefaultDisplayResolution, "GetDefaultDisplayResolution"}, |
| 660 | {61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent, "GetDefaultDisplayResolutionChangeEvent"}, | 665 | {61, &ICommonStateGetter::GetDefaultDisplayResolutionChangeEvent, "GetDefaultDisplayResolutionChangeEvent"}, |
| 661 | {62, nullptr, "GetHdcpAuthenticationState"}, | 666 | {62, nullptr, "GetHdcpAuthenticationState"}, |
| @@ -664,14 +669,21 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, | |||
| 664 | {65, nullptr, "GetApplicationIdByContentActionName"}, | 669 | {65, nullptr, "GetApplicationIdByContentActionName"}, |
| 665 | {66, &ICommonStateGetter::SetCpuBoostMode, "SetCpuBoostMode"}, | 670 | {66, &ICommonStateGetter::SetCpuBoostMode, "SetCpuBoostMode"}, |
| 666 | {67, nullptr, "CancelCpuBoostMode"}, | 671 | {67, nullptr, "CancelCpuBoostMode"}, |
| 672 | {68, nullptr, "GetBuiltInDisplayType"}, | ||
| 667 | {80, nullptr, "PerformSystemButtonPressingIfInFocus"}, | 673 | {80, nullptr, "PerformSystemButtonPressingIfInFocus"}, |
| 668 | {90, nullptr, "SetPerformanceConfigurationChangedNotification"}, | 674 | {90, nullptr, "SetPerformanceConfigurationChangedNotification"}, |
| 669 | {91, nullptr, "GetCurrentPerformanceConfiguration"}, | 675 | {91, nullptr, "GetCurrentPerformanceConfiguration"}, |
| 670 | {100, nullptr, "SetHandlingHomeButtonShortPressedEnabled"}, | 676 | {100, nullptr, "SetHandlingHomeButtonShortPressedEnabled"}, |
| 677 | {110, nullptr, "OpenMyGpuErrorHandler"}, | ||
| 671 | {200, nullptr, "GetOperationModeSystemInfo"}, | 678 | {200, nullptr, "GetOperationModeSystemInfo"}, |
| 672 | {300, nullptr, "GetSettingsPlatformRegion"}, | 679 | {300, nullptr, "GetSettingsPlatformRegion"}, |
| 673 | {400, nullptr, "ActivateMigrationService"}, | 680 | {400, nullptr, "ActivateMigrationService"}, |
| 674 | {401, nullptr, "DeactivateMigrationService"}, | 681 | {401, nullptr, "DeactivateMigrationService"}, |
| 682 | {500, nullptr, "DisableSleepTillShutdown"}, | ||
| 683 | {501, nullptr, "SuppressDisablingSleepTemporarily"}, | ||
| 684 | {502, nullptr, "IsSleepEnabled"}, | ||
| 685 | {503, nullptr, "IsDisablingSleepSuppressed"}, | ||
| 686 | {900, nullptr, "SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled"}, | ||
| 675 | }; | 687 | }; |
| 676 | // clang-format on | 688 | // clang-format on |
| 677 | 689 | ||
| @@ -1203,11 +1215,14 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1203 | {25, &IApplicationFunctions::ExtendSaveData, "ExtendSaveData"}, | 1215 | {25, &IApplicationFunctions::ExtendSaveData, "ExtendSaveData"}, |
| 1204 | {26, &IApplicationFunctions::GetSaveDataSize, "GetSaveDataSize"}, | 1216 | {26, &IApplicationFunctions::GetSaveDataSize, "GetSaveDataSize"}, |
| 1205 | {27, nullptr, "CreateCacheStorage"}, | 1217 | {27, nullptr, "CreateCacheStorage"}, |
| 1218 | {28, nullptr, "GetSaveDataSizeMax"}, | ||
| 1219 | {29, nullptr, "GetCacheStorageMax"}, | ||
| 1206 | {30, &IApplicationFunctions::BeginBlockingHomeButtonShortAndLongPressed, "BeginBlockingHomeButtonShortAndLongPressed"}, | 1220 | {30, &IApplicationFunctions::BeginBlockingHomeButtonShortAndLongPressed, "BeginBlockingHomeButtonShortAndLongPressed"}, |
| 1207 | {31, &IApplicationFunctions::EndBlockingHomeButtonShortAndLongPressed, "EndBlockingHomeButtonShortAndLongPressed"}, | 1221 | {31, &IApplicationFunctions::EndBlockingHomeButtonShortAndLongPressed, "EndBlockingHomeButtonShortAndLongPressed"}, |
| 1208 | {32, &IApplicationFunctions::BeginBlockingHomeButton, "BeginBlockingHomeButton"}, | 1222 | {32, &IApplicationFunctions::BeginBlockingHomeButton, "BeginBlockingHomeButton"}, |
| 1209 | {33, &IApplicationFunctions::EndBlockingHomeButton, "EndBlockingHomeButton"}, | 1223 | {33, &IApplicationFunctions::EndBlockingHomeButton, "EndBlockingHomeButton"}, |
| 1210 | {34, nullptr, "SelectApplicationLicense"}, | 1224 | {34, nullptr, "SelectApplicationLicense"}, |
| 1225 | {35, nullptr, "GetDeviceSaveDataSizeMax"}, | ||
| 1211 | {40, &IApplicationFunctions::NotifyRunning, "NotifyRunning"}, | 1226 | {40, &IApplicationFunctions::NotifyRunning, "NotifyRunning"}, |
| 1212 | {50, &IApplicationFunctions::GetPseudoDeviceId, "GetPseudoDeviceId"}, | 1227 | {50, &IApplicationFunctions::GetPseudoDeviceId, "GetPseudoDeviceId"}, |
| 1213 | {60, nullptr, "SetMediaPlaybackStateForApplication"}, | 1228 | {60, nullptr, "SetMediaPlaybackStateForApplication"}, |
| @@ -1231,6 +1246,7 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1231 | {123, &IApplicationFunctions::GetPreviousProgramIndex, "GetPreviousProgramIndex"}, | 1246 | {123, &IApplicationFunctions::GetPreviousProgramIndex, "GetPreviousProgramIndex"}, |
| 1232 | {124, nullptr, "EnableApplicationAllThreadDumpOnCrash"}, | 1247 | {124, nullptr, "EnableApplicationAllThreadDumpOnCrash"}, |
| 1233 | {130, &IApplicationFunctions::GetGpuErrorDetectedSystemEvent, "GetGpuErrorDetectedSystemEvent"}, | 1248 | {130, &IApplicationFunctions::GetGpuErrorDetectedSystemEvent, "GetGpuErrorDetectedSystemEvent"}, |
| 1249 | {131, nullptr, "SetDelayTimeToAbortOnGpuError"}, | ||
| 1234 | {140, &IApplicationFunctions::GetFriendInvitationStorageChannelEvent, "GetFriendInvitationStorageChannelEvent"}, | 1250 | {140, &IApplicationFunctions::GetFriendInvitationStorageChannelEvent, "GetFriendInvitationStorageChannelEvent"}, |
| 1235 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, | 1251 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, |
| 1236 | {150, nullptr, "GetNotificationStorageChannelEvent"}, | 1252 | {150, nullptr, "GetNotificationStorageChannelEvent"}, |
| @@ -1239,6 +1255,8 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1239 | {170, nullptr, "SetHdcpAuthenticationActivated"}, | 1255 | {170, nullptr, "SetHdcpAuthenticationActivated"}, |
| 1240 | {180, nullptr, "GetLaunchRequiredVersion"}, | 1256 | {180, nullptr, "GetLaunchRequiredVersion"}, |
| 1241 | {181, nullptr, "UpgradeLaunchRequiredVersion"}, | 1257 | {181, nullptr, "UpgradeLaunchRequiredVersion"}, |
| 1258 | {190, nullptr, "SendServerMaintenanceOverlayNotification"}, | ||
| 1259 | {200, nullptr, "GetLastApplicationExitReason"}, | ||
| 1242 | {500, nullptr, "StartContinuousRecordingFlushForDebug"}, | 1260 | {500, nullptr, "StartContinuousRecordingFlushForDebug"}, |
| 1243 | {1000, nullptr, "CreateMovieMaker"}, | 1261 | {1000, nullptr, "CreateMovieMaker"}, |
| 1244 | {1001, nullptr, "PrepareForJit"}, | 1262 | {1001, nullptr, "PrepareForJit"}, |
| @@ -1705,9 +1723,12 @@ IHomeMenuFunctions::IHomeMenuFunctions(Core::System& system_) | |||
| 1705 | {21, &IHomeMenuFunctions::GetPopFromGeneralChannelEvent, "GetPopFromGeneralChannelEvent"}, | 1723 | {21, &IHomeMenuFunctions::GetPopFromGeneralChannelEvent, "GetPopFromGeneralChannelEvent"}, |
| 1706 | {30, nullptr, "GetHomeButtonWriterLockAccessor"}, | 1724 | {30, nullptr, "GetHomeButtonWriterLockAccessor"}, |
| 1707 | {31, nullptr, "GetWriterLockAccessorEx"}, | 1725 | {31, nullptr, "GetWriterLockAccessorEx"}, |
| 1726 | {40, nullptr, "IsSleepEnabled"}, | ||
| 1727 | {41, nullptr, "IsRebootEnabled"}, | ||
| 1708 | {100, nullptr, "PopRequestLaunchApplicationForDebug"}, | 1728 | {100, nullptr, "PopRequestLaunchApplicationForDebug"}, |
| 1709 | {110, nullptr, "IsForceTerminateApplicationDisabledForDebug"}, | 1729 | {110, nullptr, "IsForceTerminateApplicationDisabledForDebug"}, |
| 1710 | {200, nullptr, "LaunchDevMenu"}, | 1730 | {200, nullptr, "LaunchDevMenu"}, |
| 1731 | {1000, nullptr, "SetLastApplicationExitReason"}, | ||
| 1711 | }; | 1732 | }; |
| 1712 | // clang-format on | 1733 | // clang-format on |
| 1713 | 1734 | ||
| @@ -1751,6 +1772,7 @@ IGlobalStateController::IGlobalStateController(Core::System& system_) | |||
| 1751 | {13, nullptr, "UpdateDefaultDisplayResolution"}, | 1772 | {13, nullptr, "UpdateDefaultDisplayResolution"}, |
| 1752 | {14, nullptr, "ShouldSleepOnBoot"}, | 1773 | {14, nullptr, "ShouldSleepOnBoot"}, |
| 1753 | {15, nullptr, "GetHdcpAuthenticationFailedEvent"}, | 1774 | {15, nullptr, "GetHdcpAuthenticationFailedEvent"}, |
| 1775 | {30, nullptr, "OpenCradleFirmwareUpdater"}, | ||
| 1754 | }; | 1776 | }; |
| 1755 | // clang-format on | 1777 | // clang-format on |
| 1756 | 1778 | ||
diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp index 8d657c0bf..0f51e5871 100644 --- a/src/core/hle/service/aoc/aoc_u.cpp +++ b/src/core/hle/service/aoc/aoc_u.cpp | |||
| @@ -118,8 +118,10 @@ AOC_U::AOC_U(Core::System& system_) | |||
| 118 | {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"}, | 118 | {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"}, |
| 119 | {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"}, | 119 | {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"}, |
| 120 | {9, nullptr, "GetAddOnContentLostErrorCode"}, | 120 | {9, nullptr, "GetAddOnContentLostErrorCode"}, |
| 121 | {10, nullptr, "GetAddOnContentListChangedEventWithProcessId"}, | ||
| 121 | {100, &AOC_U::CreateEcPurchasedEventManager, "CreateEcPurchasedEventManager"}, | 122 | {100, &AOC_U::CreateEcPurchasedEventManager, "CreateEcPurchasedEventManager"}, |
| 122 | {101, &AOC_U::CreatePermanentEcPurchasedEventManager, "CreatePermanentEcPurchasedEventManager"}, | 123 | {101, &AOC_U::CreatePermanentEcPurchasedEventManager, "CreatePermanentEcPurchasedEventManager"}, |
| 124 | {110, nullptr, "CreateContentsServiceManager"}, | ||
| 123 | }; | 125 | }; |
| 124 | // clang-format on | 126 | // clang-format on |
| 125 | 127 | ||
diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp index 17a2ac899..af3a5842d 100644 --- a/src/core/hle/service/btdrv/btdrv.cpp +++ b/src/core/hle/service/btdrv/btdrv.cpp | |||
| @@ -156,6 +156,25 @@ public: | |||
| 156 | {97, nullptr, "RegisterBleHidEvent"}, | 156 | {97, nullptr, "RegisterBleHidEvent"}, |
| 157 | {98, nullptr, "SetBleScanParameter"}, | 157 | {98, nullptr, "SetBleScanParameter"}, |
| 158 | {99, nullptr, "MoveToSecondaryPiconet"}, | 158 | {99, nullptr, "MoveToSecondaryPiconet"}, |
| 159 | {100, nullptr, "IsBluetoothEnabled"}, | ||
| 160 | {128, nullptr, "AcquireAudioEvent"}, | ||
| 161 | {129, nullptr, "GetAudioEventInfo"}, | ||
| 162 | {130, nullptr, "OpenAudioConnection"}, | ||
| 163 | {131, nullptr, "CloseAudioConnection"}, | ||
| 164 | {132, nullptr, "OpenAudioOut"}, | ||
| 165 | {133, nullptr, "CloseAudioOut"}, | ||
| 166 | {134, nullptr, "AcquireAudioOutStateChangedEvent"}, | ||
| 167 | {135, nullptr, "StartAudioOut"}, | ||
| 168 | {136, nullptr, "StopAudioOut"}, | ||
| 169 | {137, nullptr, "GetAudioOutState"}, | ||
| 170 | {138, nullptr, "GetAudioOutFeedingCodec"}, | ||
| 171 | {139, nullptr, "GetAudioOutFeedingParameter"}, | ||
| 172 | {140, nullptr, "AcquireAudioOutBufferAvailableEvent"}, | ||
| 173 | {141, nullptr, "SendAudioData"}, | ||
| 174 | {142, nullptr, "AcquireAudioControlInputStateChangedEvent"}, | ||
| 175 | {143, nullptr, "GetAudioControlInputState"}, | ||
| 176 | {144, nullptr, "AcquireAudioConnectionStateChangedEvent"}, | ||
| 177 | {145, nullptr, "GetConnectedAudioDevice"}, | ||
| 159 | {256, nullptr, "IsManufacturingMode"}, | 178 | {256, nullptr, "IsManufacturingMode"}, |
| 160 | {257, nullptr, "EmulateBluetoothCrash"}, | 179 | {257, nullptr, "EmulateBluetoothCrash"}, |
| 161 | {258, nullptr, "GetBleChannelMap"}, | 180 | {258, nullptr, "GetBleChannelMap"}, |
diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp index 9cf2ee92a..d1ebc2388 100644 --- a/src/core/hle/service/btm/btm.cpp +++ b/src/core/hle/service/btm/btm.cpp | |||
| @@ -223,6 +223,7 @@ public: | |||
| 223 | {10, nullptr, "GetGattClientDisconnectionReason"}, | 223 | {10, nullptr, "GetGattClientDisconnectionReason"}, |
| 224 | {11, nullptr, "GetBleConnectionParameter"}, | 224 | {11, nullptr, "GetBleConnectionParameter"}, |
| 225 | {12, nullptr, "GetBleConnectionParameterRequest"}, | 225 | {12, nullptr, "GetBleConnectionParameterRequest"}, |
| 226 | {13, nullptr, "Unknown13"}, | ||
| 226 | }; | 227 | }; |
| 227 | // clang-format on | 228 | // clang-format on |
| 228 | 229 | ||
diff --git a/src/core/hle/service/erpt/erpt.cpp b/src/core/hle/service/erpt/erpt.cpp index 4924c61c3..c767926a4 100644 --- a/src/core/hle/service/erpt/erpt.cpp +++ b/src/core/hle/service/erpt/erpt.cpp | |||
| @@ -16,7 +16,7 @@ public: | |||
| 16 | // clang-format off | 16 | // clang-format off |
| 17 | static const FunctionInfo functions[] = { | 17 | static const FunctionInfo functions[] = { |
| 18 | {0, nullptr, "SubmitContext"}, | 18 | {0, nullptr, "SubmitContext"}, |
| 19 | {1, nullptr, "CreateReport"}, | 19 | {1, nullptr, "CreateReportV0"}, |
| 20 | {2, nullptr, "SetInitialLaunchSettingsCompletionTime"}, | 20 | {2, nullptr, "SetInitialLaunchSettingsCompletionTime"}, |
| 21 | {3, nullptr, "ClearInitialLaunchSettingsCompletionTime"}, | 21 | {3, nullptr, "ClearInitialLaunchSettingsCompletionTime"}, |
| 22 | {4, nullptr, "UpdatePowerOnTime"}, | 22 | {4, nullptr, "UpdatePowerOnTime"}, |
| @@ -26,6 +26,11 @@ public: | |||
| 26 | {8, nullptr, "ClearApplicationLaunchTime"}, | 26 | {8, nullptr, "ClearApplicationLaunchTime"}, |
| 27 | {9, nullptr, "SubmitAttachment"}, | 27 | {9, nullptr, "SubmitAttachment"}, |
| 28 | {10, nullptr, "CreateReportWithAttachments"}, | 28 | {10, nullptr, "CreateReportWithAttachments"}, |
| 29 | {11, nullptr, "CreateReport"}, | ||
| 30 | {20, nullptr, "RegisterRunningApplet"}, | ||
| 31 | {21, nullptr, "UnregisterRunningApplet"}, | ||
| 32 | {22, nullptr, "UpdateAppletSuspendedDuration"}, | ||
| 33 | {30, nullptr, "InvalidateForcedShutdownDetection"}, | ||
| 29 | }; | 34 | }; |
| 30 | // clang-format on | 35 | // clang-format on |
| 31 | 36 | ||
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 9cc260515..a0215c4d7 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp | |||
| @@ -118,9 +118,13 @@ public: | |||
| 118 | explicit IFile(Core::System& system_, FileSys::VirtualFile backend_) | 118 | explicit IFile(Core::System& system_, FileSys::VirtualFile backend_) |
| 119 | : ServiceFramework{system_, "IFile"}, backend(std::move(backend_)) { | 119 | : ServiceFramework{system_, "IFile"}, backend(std::move(backend_)) { |
| 120 | static const FunctionInfo functions[] = { | 120 | static const FunctionInfo functions[] = { |
| 121 | {0, &IFile::Read, "Read"}, {1, &IFile::Write, "Write"}, | 121 | {0, &IFile::Read, "Read"}, |
| 122 | {2, &IFile::Flush, "Flush"}, {3, &IFile::SetSize, "SetSize"}, | 122 | {1, &IFile::Write, "Write"}, |
| 123 | {4, &IFile::GetSize, "GetSize"}, {5, nullptr, "OperateRange"}, | 123 | {2, &IFile::Flush, "Flush"}, |
| 124 | {3, &IFile::SetSize, "SetSize"}, | ||
| 125 | {4, &IFile::GetSize, "GetSize"}, | ||
| 126 | {5, nullptr, "OperateRange"}, | ||
| 127 | {6, nullptr, "OperateRangeWithBuffer"}, | ||
| 124 | }; | 128 | }; |
| 125 | RegisterHandlers(functions); | 129 | RegisterHandlers(functions); |
| 126 | } | 130 | } |
| @@ -708,7 +712,10 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 708 | {84, nullptr, "ListApplicationAccessibleSaveDataOwnerId"}, | 712 | {84, nullptr, "ListApplicationAccessibleSaveDataOwnerId"}, |
| 709 | {85, nullptr, "OpenSaveDataTransferManagerForSaveDataRepair"}, | 713 | {85, nullptr, "OpenSaveDataTransferManagerForSaveDataRepair"}, |
| 710 | {86, nullptr, "OpenSaveDataMover"}, | 714 | {86, nullptr, "OpenSaveDataMover"}, |
| 715 | {87, nullptr, "OpenSaveDataTransferManagerForRepair"}, | ||
| 711 | {100, nullptr, "OpenImageDirectoryFileSystem"}, | 716 | {100, nullptr, "OpenImageDirectoryFileSystem"}, |
| 717 | {101, nullptr, "OpenBaseFileSystem"}, | ||
| 718 | {102, nullptr, "FormatBaseFileSystem"}, | ||
| 712 | {110, nullptr, "OpenContentStorageFileSystem"}, | 719 | {110, nullptr, "OpenContentStorageFileSystem"}, |
| 713 | {120, nullptr, "OpenCloudBackupWorkStorageFileSystem"}, | 720 | {120, nullptr, "OpenCloudBackupWorkStorageFileSystem"}, |
| 714 | {130, nullptr, "OpenCustomStorageFileSystem"}, | 721 | {130, nullptr, "OpenCustomStorageFileSystem"}, |
| @@ -764,10 +771,12 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 764 | {1008, nullptr, "OpenRegisteredUpdatePartition"}, | 771 | {1008, nullptr, "OpenRegisteredUpdatePartition"}, |
| 765 | {1009, nullptr, "GetAndClearMemoryReportInfo"}, | 772 | {1009, nullptr, "GetAndClearMemoryReportInfo"}, |
| 766 | {1010, nullptr, "SetDataStorageRedirectTarget"}, | 773 | {1010, nullptr, "SetDataStorageRedirectTarget"}, |
| 767 | {1011, &FSP_SRV::GetAccessLogVersionInfo, "GetAccessLogVersionInfo"}, | 774 | {1011, &FSP_SRV::GetProgramIndexForAccessLog, "GetProgramIndexForAccessLog"}, |
| 768 | {1012, nullptr, "GetFsStackUsage"}, | 775 | {1012, nullptr, "GetFsStackUsage"}, |
| 769 | {1013, nullptr, "UnsetSaveDataRootPath"}, | 776 | {1013, nullptr, "UnsetSaveDataRootPath"}, |
| 770 | {1014, nullptr, "OutputMultiProgramTagAccessLog"}, | 777 | {1014, nullptr, "OutputMultiProgramTagAccessLog"}, |
| 778 | {1016, nullptr, "FlushAccessLogOnSdCard"}, | ||
| 779 | {1017, nullptr, "OutputApplicationInfoAccessLog"}, | ||
| 771 | {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, | 780 | {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, |
| 772 | {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"}, | 781 | {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"}, |
| 773 | {1200, &FSP_SRV::OpenMultiCommitManager, "OpenMultiCommitManager"}, | 782 | {1200, &FSP_SRV::OpenMultiCommitManager, "OpenMultiCommitManager"}, |
| @@ -1051,7 +1060,7 @@ void FSP_SRV::OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx) { | |||
| 1051 | rb.Push(RESULT_SUCCESS); | 1060 | rb.Push(RESULT_SUCCESS); |
| 1052 | } | 1061 | } |
| 1053 | 1062 | ||
| 1054 | void FSP_SRV::GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx) { | 1063 | void FSP_SRV::GetProgramIndexForAccessLog(Kernel::HLERequestContext& ctx) { |
| 1055 | LOG_DEBUG(Service_FS, "called"); | 1064 | LOG_DEBUG(Service_FS, "called"); |
| 1056 | 1065 | ||
| 1057 | IPC::ResponseBuilder rb{ctx, 4}; | 1066 | IPC::ResponseBuilder rb{ctx, 4}; |
diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h index 8ed933279..b01b924eb 100644 --- a/src/core/hle/service/filesystem/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp_srv.h | |||
| @@ -53,7 +53,7 @@ private: | |||
| 53 | void SetGlobalAccessLogMode(Kernel::HLERequestContext& ctx); | 53 | void SetGlobalAccessLogMode(Kernel::HLERequestContext& ctx); |
| 54 | void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx); | 54 | void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx); |
| 55 | void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx); | 55 | void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx); |
| 56 | void GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx); | 56 | void GetProgramIndexForAccessLog(Kernel::HLERequestContext& ctx); |
| 57 | void OpenMultiCommitManager(Kernel::HLERequestContext& ctx); | 57 | void OpenMultiCommitManager(Kernel::HLERequestContext& ctx); |
| 58 | 58 | ||
| 59 | FileSystemController& fsc; | 59 | FileSystemController& fsc; |
diff --git a/src/core/hle/service/glue/bgtc.cpp b/src/core/hle/service/glue/bgtc.cpp index a478b68e1..daecfff15 100644 --- a/src/core/hle/service/glue/bgtc.cpp +++ b/src/core/hle/service/glue/bgtc.cpp | |||
| @@ -2,6 +2,9 @@ | |||
| 2 | // Licensed under GPLv2 or any later version | 2 | // Licensed under GPLv2 or any later version |
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include "common/logging/log.h" | ||
| 6 | #include "core/core.h" | ||
| 7 | #include "core/hle/ipc_helpers.h" | ||
| 5 | #include "core/hle/service/glue/bgtc.h" | 8 | #include "core/hle/service/glue/bgtc.h" |
| 6 | 9 | ||
| 7 | namespace Service::Glue { | 10 | namespace Service::Glue { |
| @@ -9,6 +12,26 @@ namespace Service::Glue { | |||
| 9 | BGTC_T::BGTC_T(Core::System& system_) : ServiceFramework{system_, "bgtc:t"} { | 12 | BGTC_T::BGTC_T(Core::System& system_) : ServiceFramework{system_, "bgtc:t"} { |
| 10 | // clang-format off | 13 | // clang-format off |
| 11 | static const FunctionInfo functions[] = { | 14 | static const FunctionInfo functions[] = { |
| 15 | {100, &BGTC_T::OpenTaskService, "OpenTaskService"}, | ||
| 16 | }; | ||
| 17 | // clang-format on | ||
| 18 | |||
| 19 | RegisterHandlers(functions); | ||
| 20 | } | ||
| 21 | |||
| 22 | BGTC_T::~BGTC_T() = default; | ||
| 23 | |||
| 24 | void BGTC_T::OpenTaskService(Kernel::HLERequestContext& ctx) { | ||
| 25 | LOG_DEBUG(Service_BGTC, "called"); | ||
| 26 | |||
| 27 | IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||
| 28 | rb.Push(RESULT_SUCCESS); | ||
| 29 | rb.PushIpcInterface<ITaskService>(system); | ||
| 30 | } | ||
| 31 | |||
| 32 | ITaskService::ITaskService(Core::System& system_) : ServiceFramework{system_, "ITaskService"} { | ||
| 33 | // clang-format off | ||
| 34 | static const FunctionInfo functions[] = { | ||
| 12 | {1, nullptr, "NotifyTaskStarting"}, | 35 | {1, nullptr, "NotifyTaskStarting"}, |
| 13 | {2, nullptr, "NotifyTaskFinished"}, | 36 | {2, nullptr, "NotifyTaskFinished"}, |
| 14 | {3, nullptr, "GetTriggerEvent"}, | 37 | {3, nullptr, "GetTriggerEvent"}, |
| @@ -20,16 +43,18 @@ BGTC_T::BGTC_T(Core::System& system_) : ServiceFramework{system_, "bgtc:t"} { | |||
| 20 | {13, nullptr, "UnscheduleTask"}, | 43 | {13, nullptr, "UnscheduleTask"}, |
| 21 | {14, nullptr, "GetScheduleEvent"}, | 44 | {14, nullptr, "GetScheduleEvent"}, |
| 22 | {15, nullptr, "SchedulePeriodicTask"}, | 45 | {15, nullptr, "SchedulePeriodicTask"}, |
| 46 | {16, nullptr, "Unknown16"}, | ||
| 23 | {101, nullptr, "GetOperationMode"}, | 47 | {101, nullptr, "GetOperationMode"}, |
| 24 | {102, nullptr, "WillDisconnectNetworkWhenEnteringSleep"}, | 48 | {102, nullptr, "WillDisconnectNetworkWhenEnteringSleep"}, |
| 25 | {103, nullptr, "WillStayHalfAwakeInsteadSleep"}, | 49 | {103, nullptr, "WillStayHalfAwakeInsteadSleep"}, |
| 50 | {200, nullptr, "Unknown200"}, | ||
| 26 | }; | 51 | }; |
| 27 | // clang-format on | 52 | // clang-format on |
| 28 | 53 | ||
| 29 | RegisterHandlers(functions); | 54 | RegisterHandlers(functions); |
| 30 | } | 55 | } |
| 31 | 56 | ||
| 32 | BGTC_T::~BGTC_T() = default; | 57 | ITaskService::~ITaskService() = default; |
| 33 | 58 | ||
| 34 | BGTC_SC::BGTC_SC(Core::System& system_) : ServiceFramework{system_, "bgtc:sc"} { | 59 | BGTC_SC::BGTC_SC(Core::System& system_) : ServiceFramework{system_, "bgtc:sc"} { |
| 35 | // clang-format off | 60 | // clang-format off |
diff --git a/src/core/hle/service/glue/bgtc.h b/src/core/hle/service/glue/bgtc.h index 906116ba6..4c0142fd5 100644 --- a/src/core/hle/service/glue/bgtc.h +++ b/src/core/hle/service/glue/bgtc.h | |||
| @@ -16,6 +16,14 @@ class BGTC_T final : public ServiceFramework<BGTC_T> { | |||
| 16 | public: | 16 | public: |
| 17 | explicit BGTC_T(Core::System& system_); | 17 | explicit BGTC_T(Core::System& system_); |
| 18 | ~BGTC_T() override; | 18 | ~BGTC_T() override; |
| 19 | |||
| 20 | void OpenTaskService(Kernel::HLERequestContext& ctx); | ||
| 21 | }; | ||
| 22 | |||
| 23 | class ITaskService final : public ServiceFramework<ITaskService> { | ||
| 24 | public: | ||
| 25 | explicit ITaskService(Core::System& system_); | ||
| 26 | ~ITaskService() override; | ||
| 19 | }; | 27 | }; |
| 20 | 28 | ||
| 21 | class BGTC_SC final : public ServiceFramework<BGTC_SC> { | 29 | class BGTC_SC final : public ServiceFramework<BGTC_SC> { |
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 1df62f98e..673db68c7 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -1138,6 +1138,10 @@ void Controller_NPad::SetUnintendedHomeButtonInputProtectionEnabled(bool is_prot | |||
| 1138 | unintended_home_button_input_protection[NPadIdToIndex(npad_id)] = is_protection_enabled; | 1138 | unintended_home_button_input_protection[NPadIdToIndex(npad_id)] = is_protection_enabled; |
| 1139 | } | 1139 | } |
| 1140 | 1140 | ||
| 1141 | void Controller_NPad::SetAnalogStickUseCenterClamp(bool use_center_clamp) { | ||
| 1142 | analog_stick_use_center_clamp = use_center_clamp; | ||
| 1143 | } | ||
| 1144 | |||
| 1141 | void Controller_NPad::ClearAllConnectedControllers() { | 1145 | void Controller_NPad::ClearAllConnectedControllers() { |
| 1142 | for (auto& controller : connected_controllers) { | 1146 | for (auto& controller : connected_controllers) { |
| 1143 | if (controller.is_connected && controller.type != NPadControllerType::None) { | 1147 | if (controller.is_connected && controller.type != NPadControllerType::None) { |
diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index bc2e6779d..873a0a1e2 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h | |||
| @@ -219,6 +219,7 @@ public: | |||
| 219 | LedPattern GetLedPattern(u32 npad_id); | 219 | LedPattern GetLedPattern(u32 npad_id); |
| 220 | bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const; | 220 | bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const; |
| 221 | void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id); | 221 | void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id); |
| 222 | void SetAnalogStickUseCenterClamp(bool use_center_clamp); | ||
| 222 | void ClearAllConnectedControllers(); | 223 | void ClearAllConnectedControllers(); |
| 223 | void DisconnectAllConnectedControllers(); | 224 | void DisconnectAllConnectedControllers(); |
| 224 | void ConnectAllDisconnectedControllers(); | 225 | void ConnectAllDisconnectedControllers(); |
| @@ -577,6 +578,7 @@ private: | |||
| 577 | std::array<std::array<bool, 2>, 10> vibration_devices_mounted{}; | 578 | std::array<std::array<bool, 2>, 10> vibration_devices_mounted{}; |
| 578 | std::array<ControllerHolder, 10> connected_controllers{}; | 579 | std::array<ControllerHolder, 10> connected_controllers{}; |
| 579 | std::array<bool, 10> unintended_home_button_input_protection{}; | 580 | std::array<bool, 10> unintended_home_button_input_protection{}; |
| 581 | bool analog_stick_use_center_clamp{}; | ||
| 580 | GyroscopeZeroDriftMode gyroscope_zero_drift_mode{GyroscopeZeroDriftMode::Standard}; | 582 | GyroscopeZeroDriftMode gyroscope_zero_drift_mode{GyroscopeZeroDriftMode::Standard}; |
| 581 | bool sixaxis_sensors_enabled{true}; | 583 | bool sixaxis_sensors_enabled{true}; |
| 582 | f32 sixaxis_fusion_parameter1{}; | 584 | f32 sixaxis_fusion_parameter1{}; |
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index ba27bbb05..7ba25ff79 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -263,7 +263,7 @@ Hid::Hid(Core::System& system_) : ServiceFramework{system_, "hid"} { | |||
| 263 | {131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"}, | 263 | {131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"}, |
| 264 | {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"}, | 264 | {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"}, |
| 265 | {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"}, | 265 | {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"}, |
| 266 | {134, nullptr, "SetNpadAnalogStickUseCenterClamp"}, | 266 | {134, &Hid::SetNpadAnalogStickUseCenterClamp, "SetNpadAnalogStickUseCenterClamp"}, |
| 267 | {135, nullptr, "SetNpadCaptureButtonAssignment"}, | 267 | {135, nullptr, "SetNpadCaptureButtonAssignment"}, |
| 268 | {136, nullptr, "ClearNpadCaptureButtonAssignment"}, | 268 | {136, nullptr, "ClearNpadCaptureButtonAssignment"}, |
| 269 | {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"}, | 269 | {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"}, |
| @@ -1087,6 +1087,27 @@ void Hid::EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& c | |||
| 1087 | rb.Push(RESULT_SUCCESS); | 1087 | rb.Push(RESULT_SUCCESS); |
| 1088 | } | 1088 | } |
| 1089 | 1089 | ||
| 1090 | void Hid::SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx) { | ||
| 1091 | IPC::RequestParser rp{ctx}; | ||
| 1092 | struct Parameters { | ||
| 1093 | bool analog_stick_use_center_clamp; | ||
| 1094 | u64 applet_resource_user_id; | ||
| 1095 | }; | ||
| 1096 | static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size."); | ||
| 1097 | |||
| 1098 | const auto parameters{rp.PopRaw<Parameters>()}; | ||
| 1099 | |||
| 1100 | applet_resource->GetController<Controller_NPad>(HidController::NPad) | ||
| 1101 | .SetAnalogStickUseCenterClamp(parameters.analog_stick_use_center_clamp); | ||
| 1102 | |||
| 1103 | LOG_WARNING(Service_HID, | ||
| 1104 | "(STUBBED) called, analog_stick_use_center_clamp={}, applet_resource_user_id={}", | ||
| 1105 | parameters.analog_stick_use_center_clamp, parameters.applet_resource_user_id); | ||
| 1106 | |||
| 1107 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 1108 | rb.Push(RESULT_SUCCESS); | ||
| 1109 | } | ||
| 1110 | |||
| 1090 | void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) { | 1111 | void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) { |
| 1091 | IPC::RequestParser rp{ctx}; | 1112 | IPC::RequestParser rp{ctx}; |
| 1092 | const auto vibration_device_handle{rp.PopRaw<Controller_NPad::DeviceHandle>()}; | 1113 | const auto vibration_device_handle{rp.PopRaw<Controller_NPad::DeviceHandle>()}; |
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index 36ed228c8..c2bdd39a3 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h | |||
| @@ -129,6 +129,7 @@ private: | |||
| 129 | void SwapNpadAssignment(Kernel::HLERequestContext& ctx); | 129 | void SwapNpadAssignment(Kernel::HLERequestContext& ctx); |
| 130 | void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx); | 130 | void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx); |
| 131 | void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx); | 131 | void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx); |
| 132 | void SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx); | ||
| 132 | void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx); | 133 | void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx); |
| 133 | void SendVibrationValue(Kernel::HLERequestContext& ctx); | 134 | void SendVibrationValue(Kernel::HLERequestContext& ctx); |
| 134 | void GetActualVibrationValue(Kernel::HLERequestContext& ctx); | 135 | void GetActualVibrationValue(Kernel::HLERequestContext& ctx); |
diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp index f3be0b878..fee360ab9 100644 --- a/src/core/hle/service/nim/nim.cpp +++ b/src/core/hle/service/nim/nim.cpp | |||
| @@ -125,51 +125,51 @@ public: | |||
| 125 | {39, nullptr, "PrepareShutdown"}, | 125 | {39, nullptr, "PrepareShutdown"}, |
| 126 | {40, nullptr, "ListApplyDeltaTask"}, | 126 | {40, nullptr, "ListApplyDeltaTask"}, |
| 127 | {41, nullptr, "ClearNotEnoughSpaceStateOfApplyDeltaTask"}, | 127 | {41, nullptr, "ClearNotEnoughSpaceStateOfApplyDeltaTask"}, |
| 128 | {42, nullptr, "Unknown42"}, | 128 | {42, nullptr, "CreateApplyDeltaTaskFromDownloadTask"}, |
| 129 | {43, nullptr, "Unknown43"}, | 129 | {43, nullptr, "GetBackgroundApplyDeltaStressTaskInfo"}, |
| 130 | {44, nullptr, "Unknown44"}, | 130 | {44, nullptr, "GetApplyDeltaTaskRequiredStorage"}, |
| 131 | {45, nullptr, "Unknown45"}, | 131 | {45, nullptr, "CalculateNetworkInstallTaskContentsSize"}, |
| 132 | {46, nullptr, "Unknown46"}, | 132 | {46, nullptr, "PrepareShutdownForSystemUpdate"}, |
| 133 | {47, nullptr, "Unknown47"}, | 133 | {47, nullptr, "FindMaxRequiredApplicationVersionOfTask"}, |
| 134 | {48, nullptr, "Unknown48"}, | 134 | {48, nullptr, "CommitNetworkInstallTaskPartially"}, |
| 135 | {49, nullptr, "Unknown49"}, | 135 | {49, nullptr, "ListNetworkInstallTaskCommittedContentMeta"}, |
| 136 | {50, nullptr, "Unknown50"}, | 136 | {50, nullptr, "ListNetworkInstallTaskNotCommittedContentMeta"}, |
| 137 | {51, nullptr, "Unknown51"}, | 137 | {51, nullptr, "FindMaxRequiredSystemVersionOfTask"}, |
| 138 | {52, nullptr, "Unknown52"}, | 138 | {52, nullptr, "GetNetworkInstallTaskErrorContext"}, |
| 139 | {53, nullptr, "Unknown53"}, | 139 | {53, nullptr, "CreateLocalCommunicationReceiveApplicationTask"}, |
| 140 | {54, nullptr, "Unknown54"}, | 140 | {54, nullptr, "DestroyLocalCommunicationReceiveApplicationTask"}, |
| 141 | {55, nullptr, "Unknown55"}, | 141 | {55, nullptr, "ListLocalCommunicationReceiveApplicationTask"}, |
| 142 | {56, nullptr, "Unknown56"}, | 142 | {56, nullptr, "RequestLocalCommunicationReceiveApplicationTaskRun"}, |
| 143 | {57, nullptr, "Unknown57"}, | 143 | {57, nullptr, "GetLocalCommunicationReceiveApplicationTaskInfo"}, |
| 144 | {58, nullptr, "Unknown58"}, | 144 | {58, nullptr, "CommitLocalCommunicationReceiveApplicationTask"}, |
| 145 | {59, nullptr, "Unknown59"}, | 145 | {59, nullptr, "ListLocalCommunicationReceiveApplicationTaskContentMeta"}, |
| 146 | {60, nullptr, "Unknown60"}, | 146 | {60, nullptr, "CreateLocalCommunicationSendApplicationTask"}, |
| 147 | {61, nullptr, "Unknown61"}, | 147 | {61, nullptr, "RequestLocalCommunicationSendApplicationTaskRun"}, |
| 148 | {62, nullptr, "Unknown62"}, | 148 | {62, nullptr, "GetLocalCommunicationReceiveApplicationTaskErrorContext"}, |
| 149 | {63, nullptr, "Unknown63"}, | 149 | {63, nullptr, "GetLocalCommunicationSendApplicationTaskInfo"}, |
| 150 | {64, nullptr, "Unknown64"}, | 150 | {64, nullptr, "DestroyLocalCommunicationSendApplicationTask"}, |
| 151 | {65, nullptr, "Unknown65"}, | 151 | {65, nullptr, "GetLocalCommunicationSendApplicationTaskErrorContext"}, |
| 152 | {66, nullptr, "Unknown66"}, | 152 | {66, nullptr, "CalculateLocalCommunicationReceiveApplicationTaskRequiredSize"}, |
| 153 | {67, nullptr, "Unknown67"}, | 153 | {67, nullptr, "ListApplicationLocalCommunicationReceiveApplicationTask"}, |
| 154 | {68, nullptr, "Unknown68"}, | 154 | {68, nullptr, "ListApplicationLocalCommunicationSendApplicationTask"}, |
| 155 | {69, nullptr, "Unknown69"}, | 155 | {69, nullptr, "CreateLocalCommunicationReceiveSystemUpdateTask"}, |
| 156 | {70, nullptr, "Unknown70"}, | 156 | {70, nullptr, "DestroyLocalCommunicationReceiveSystemUpdateTask"}, |
| 157 | {71, nullptr, "Unknown71"}, | 157 | {71, nullptr, "ListLocalCommunicationReceiveSystemUpdateTask"}, |
| 158 | {72, nullptr, "Unknown72"}, | 158 | {72, nullptr, "RequestLocalCommunicationReceiveSystemUpdateTaskRun"}, |
| 159 | {73, nullptr, "Unknown73"}, | 159 | {73, nullptr, "GetLocalCommunicationReceiveSystemUpdateTaskInfo"}, |
| 160 | {74, nullptr, "Unknown74"}, | 160 | {74, nullptr, "CommitLocalCommunicationReceiveSystemUpdateTask"}, |
| 161 | {75, nullptr, "Unknown75"}, | 161 | {75, nullptr, "GetLocalCommunicationReceiveSystemUpdateTaskErrorContext"}, |
| 162 | {76, nullptr, "Unknown76"}, | 162 | {76, nullptr, "CreateLocalCommunicationSendSystemUpdateTask"}, |
| 163 | {77, nullptr, "Unknown77"}, | 163 | {77, nullptr, "RequestLocalCommunicationSendSystemUpdateTaskRun"}, |
| 164 | {78, nullptr, "Unknown78"}, | 164 | {78, nullptr, "GetLocalCommunicationSendSystemUpdateTaskInfo"}, |
| 165 | {79, nullptr, "Unknown79"}, | 165 | {79, nullptr, "DestroyLocalCommunicationSendSystemUpdateTask"}, |
| 166 | {80, nullptr, "Unknown80"}, | 166 | {80, nullptr, "GetLocalCommunicationSendSystemUpdateTaskErrorContext"}, |
| 167 | {81, nullptr, "Unknown81"}, | 167 | {81, nullptr, "ListLocalCommunicationSendSystemUpdateTask"}, |
| 168 | {82, nullptr, "Unknown82"}, | 168 | {82, nullptr, "GetReceivedSystemDataPath"}, |
| 169 | {83, nullptr, "Unknown83"}, | 169 | {83, nullptr, "CalculateApplyDeltaTaskOccupiedSize"}, |
| 170 | {84, nullptr, "Unknown84"}, | 170 | {84, nullptr, "Unknown84"}, |
| 171 | {85, nullptr, "Unknown85"}, | 171 | {85, nullptr, "ListNetworkInstallTaskContentMetaFromInstallMeta"}, |
| 172 | {86, nullptr, "Unknown86"}, | 172 | {86, nullptr, "ListNetworkInstallTaskOccupiedSize"}, |
| 173 | {87, nullptr, "Unknown87"}, | 173 | {87, nullptr, "Unknown87"}, |
| 174 | {88, nullptr, "Unknown88"}, | 174 | {88, nullptr, "Unknown88"}, |
| 175 | {89, nullptr, "Unknown89"}, | 175 | {89, nullptr, "Unknown89"}, |
| @@ -202,6 +202,17 @@ public: | |||
| 202 | {116, nullptr, "Unknown116"}, | 202 | {116, nullptr, "Unknown116"}, |
| 203 | {117, nullptr, "Unknown117"}, | 203 | {117, nullptr, "Unknown117"}, |
| 204 | {118, nullptr, "Unknown118"}, | 204 | {118, nullptr, "Unknown118"}, |
| 205 | {119, nullptr, "Unknown119"}, | ||
| 206 | {120, nullptr, "Unknown120"}, | ||
| 207 | {121, nullptr, "Unknown121"}, | ||
| 208 | {122, nullptr, "Unknown122"}, | ||
| 209 | {123, nullptr, "Unknown123"}, | ||
| 210 | {124, nullptr, "Unknown124"}, | ||
| 211 | {125, nullptr, "Unknown125"}, | ||
| 212 | {126, nullptr, "Unknown126"}, | ||
| 213 | {127, nullptr, "Unknown127"}, | ||
| 214 | {128, nullptr, "Unknown128"}, | ||
| 215 | {129, nullptr, "Unknown129"}, | ||
| 205 | }; | 216 | }; |
| 206 | // clang-format on | 217 | // clang-format on |
| 207 | 218 | ||
diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index f7a58f659..e4c703da4 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp | |||
| @@ -49,6 +49,8 @@ public: | |||
| 49 | {151, nullptr, "GetStateWithHandover"}, | 49 | {151, nullptr, "GetStateWithHandover"}, |
| 50 | {152, nullptr, "GetStateChangeEventWithHandover"}, | 50 | {152, nullptr, "GetStateChangeEventWithHandover"}, |
| 51 | {153, nullptr, "GetDropEventWithHandover"}, | 51 | {153, nullptr, "GetDropEventWithHandover"}, |
| 52 | {154, nullptr, "CreateTokenAsync"}, | ||
| 53 | {155, nullptr, "CreateTokenAsyncWithApplicationId"}, | ||
| 52 | {161, nullptr, "GetRequestChangeStateCancelEvent"}, | 54 | {161, nullptr, "GetRequestChangeStateCancelEvent"}, |
| 53 | {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, | 55 | {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, |
| 54 | {201, nullptr, "RequestChangeStateForceTimed"}, | 56 | {201, nullptr, "RequestChangeStateForceTimed"}, |
| @@ -84,6 +86,7 @@ public: | |||
| 84 | {151, nullptr, "GetStateWithHandover"}, | 86 | {151, nullptr, "GetStateWithHandover"}, |
| 85 | {152, nullptr, "GetStateChangeEventWithHandover"}, | 87 | {152, nullptr, "GetStateChangeEventWithHandover"}, |
| 86 | {153, nullptr, "GetDropEventWithHandover"}, | 88 | {153, nullptr, "GetDropEventWithHandover"}, |
| 89 | {154, nullptr, "CreateTokenAsync"}, | ||
| 87 | }; | 90 | }; |
| 88 | // clang-format on | 91 | // clang-format on |
| 89 | 92 | ||
diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp index 6ccf8995c..5fe7a9189 100644 --- a/src/core/hle/service/ns/ns.cpp +++ b/src/core/hle/service/ns/ns.cpp | |||
| @@ -55,6 +55,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 55 | {26, nullptr, "BeginInstallApplication"}, | 55 | {26, nullptr, "BeginInstallApplication"}, |
| 56 | {27, nullptr, "DeleteApplicationRecord"}, | 56 | {27, nullptr, "DeleteApplicationRecord"}, |
| 57 | {30, nullptr, "RequestApplicationUpdateInfo"}, | 57 | {30, nullptr, "RequestApplicationUpdateInfo"}, |
| 58 | {31, nullptr, "Unknown31"}, | ||
| 58 | {32, nullptr, "CancelApplicationDownload"}, | 59 | {32, nullptr, "CancelApplicationDownload"}, |
| 59 | {33, nullptr, "ResumeApplicationDownload"}, | 60 | {33, nullptr, "ResumeApplicationDownload"}, |
| 60 | {35, nullptr, "UpdateVersionList"}, | 61 | {35, nullptr, "UpdateVersionList"}, |
| @@ -182,6 +183,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 182 | {913, nullptr, "ListAllApplicationRecord"}, | 183 | {913, nullptr, "ListAllApplicationRecord"}, |
| 183 | {914, nullptr, "HideApplicationRecord"}, | 184 | {914, nullptr, "HideApplicationRecord"}, |
| 184 | {915, nullptr, "ShowApplicationRecord"}, | 185 | {915, nullptr, "ShowApplicationRecord"}, |
| 186 | {916, nullptr, "IsApplicationAutoDeleteDisabled"}, | ||
| 185 | {1000, nullptr, "RequestVerifyApplicationDeprecated"}, | 187 | {1000, nullptr, "RequestVerifyApplicationDeprecated"}, |
| 186 | {1001, nullptr, "CorruptApplicationForDebug"}, | 188 | {1001, nullptr, "CorruptApplicationForDebug"}, |
| 187 | {1002, nullptr, "RequestVerifyAddOnContentsRights"}, | 189 | {1002, nullptr, "RequestVerifyAddOnContentsRights"}, |
| @@ -201,6 +203,8 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 201 | {1310, nullptr, "RequestMoveApplicationEntity"}, | 203 | {1310, nullptr, "RequestMoveApplicationEntity"}, |
| 202 | {1311, nullptr, "EstimateSizeToMove"}, | 204 | {1311, nullptr, "EstimateSizeToMove"}, |
| 203 | {1312, nullptr, "HasMovableEntity"}, | 205 | {1312, nullptr, "HasMovableEntity"}, |
| 206 | {1313, nullptr, "CleanupOrphanContents"}, | ||
| 207 | {1314, nullptr, "CheckPreconditionSatisfiedToMove"}, | ||
| 204 | {1400, nullptr, "PrepareShutdown"}, | 208 | {1400, nullptr, "PrepareShutdown"}, |
| 205 | {1500, nullptr, "FormatSdCard"}, | 209 | {1500, nullptr, "FormatSdCard"}, |
| 206 | {1501, nullptr, "NeedsSystemUpdateToFormatSdCard"}, | 210 | {1501, nullptr, "NeedsSystemUpdateToFormatSdCard"}, |
| @@ -215,6 +219,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 215 | {1702, nullptr, "GetApplicationDownloadTaskStatus"}, | 219 | {1702, nullptr, "GetApplicationDownloadTaskStatus"}, |
| 216 | {1703, nullptr, "GetApplicationViewDownloadErrorContext"}, | 220 | {1703, nullptr, "GetApplicationViewDownloadErrorContext"}, |
| 217 | {1704, nullptr, "GetApplicationViewWithPromotionInfo"}, | 221 | {1704, nullptr, "GetApplicationViewWithPromotionInfo"}, |
| 222 | {1705, nullptr, "IsPatchAutoDeletableApplication"}, | ||
| 218 | {1800, nullptr, "IsNotificationSetupCompleted"}, | 223 | {1800, nullptr, "IsNotificationSetupCompleted"}, |
| 219 | {1801, nullptr, "GetLastNotificationInfoCount"}, | 224 | {1801, nullptr, "GetLastNotificationInfoCount"}, |
| 220 | {1802, nullptr, "ListLastNotificationInfo"}, | 225 | {1802, nullptr, "ListLastNotificationInfo"}, |
| @@ -269,6 +274,9 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 269 | {2351, nullptr, "RequestNoDownloadRightsErrorResolution"}, | 274 | {2351, nullptr, "RequestNoDownloadRightsErrorResolution"}, |
| 270 | {2352, nullptr, "RequestResolveNoDownloadRightsError"}, | 275 | {2352, nullptr, "RequestResolveNoDownloadRightsError"}, |
| 271 | {2353, nullptr, "GetApplicationDownloadTaskInfo"}, | 276 | {2353, nullptr, "GetApplicationDownloadTaskInfo"}, |
| 277 | {2354, nullptr, "PrioritizeApplicationBackgroundTask"}, | ||
| 278 | {2355, nullptr, "Unknown2355"}, | ||
| 279 | {2356, nullptr, "Unknown2356"}, | ||
| 272 | {2400, nullptr, "GetPromotionInfo"}, | 280 | {2400, nullptr, "GetPromotionInfo"}, |
| 273 | {2401, nullptr, "CountPromotionInfo"}, | 281 | {2401, nullptr, "CountPromotionInfo"}, |
| 274 | {2402, nullptr, "ListPromotionInfo"}, | 282 | {2402, nullptr, "ListPromotionInfo"}, |
| @@ -282,6 +290,21 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_ | |||
| 282 | {2515, nullptr, "CleanupAllPlaceHolderAndFragmentsIfNoTask"}, | 290 | {2515, nullptr, "CleanupAllPlaceHolderAndFragmentsIfNoTask"}, |
| 283 | {2516, nullptr, "EnsureApplicationCertificate"}, | 291 | {2516, nullptr, "EnsureApplicationCertificate"}, |
| 284 | {2800, nullptr, "GetApplicationIdOfPreomia"}, | 292 | {2800, nullptr, "GetApplicationIdOfPreomia"}, |
| 293 | {3000, nullptr, "RegisterDeviceLockKey"}, | ||
| 294 | {3001, nullptr, "UnregisterDeviceLockKey"}, | ||
| 295 | {3002, nullptr, "VerifyDeviceLockKey"}, | ||
| 296 | {3003, nullptr, "HideApplicationIcon"}, | ||
| 297 | {3004, nullptr, "ShowApplicationIcon"}, | ||
| 298 | {3005, nullptr, "HideApplicationTitle"}, | ||
| 299 | {3006, nullptr, "ShowApplicationTitle"}, | ||
| 300 | {3007, nullptr, "EnableGameCard"}, | ||
| 301 | {3008, nullptr, "DisableGameCard"}, | ||
| 302 | {3009, nullptr, "EnableLocalContentShare"}, | ||
| 303 | {3010, nullptr, "DisableLocalContentShare"}, | ||
| 304 | {3011, nullptr, "IsApplicationIconHidden"}, | ||
| 305 | {3012, nullptr, "IsApplicationTitleHidden"}, | ||
| 306 | {3013, nullptr, "IsGameCardEnabled"}, | ||
| 307 | {3014, nullptr, "IsLocalContentShareEnabled"}, | ||
| 285 | {9999, nullptr, "GetApplicationCertificate"}, | 308 | {9999, nullptr, "GetApplicationCertificate"}, |
| 286 | }; | 309 | }; |
| 287 | // clang-format on | 310 | // clang-format on |
| @@ -441,7 +464,11 @@ IApplicationVersionInterface::IApplicationVersionInterface(Core::System& system_ | |||
| 441 | {800, nullptr, "RequestVersionList"}, | 464 | {800, nullptr, "RequestVersionList"}, |
| 442 | {801, nullptr, "ListVersionList"}, | 465 | {801, nullptr, "ListVersionList"}, |
| 443 | {802, nullptr, "RequestVersionListData"}, | 466 | {802, nullptr, "RequestVersionListData"}, |
| 467 | {900, nullptr, "ImportAutoUpdatePolicyJsonForDebug"}, | ||
| 468 | {901, nullptr, "ListDefaultAutoUpdatePolicy"}, | ||
| 469 | {902, nullptr, "ListAutoUpdatePolicyForSpecificApplication"}, | ||
| 444 | {1000, nullptr, "PerformAutoUpdate"}, | 470 | {1000, nullptr, "PerformAutoUpdate"}, |
| 471 | {1001, nullptr, "ListAutoUpdateSchedule"}, | ||
| 445 | }; | 472 | }; |
| 446 | // clang-format on | 473 | // clang-format on |
| 447 | 474 | ||
| @@ -547,6 +574,9 @@ IFactoryResetInterface::~IFactoryResetInterface() = default; | |||
| 547 | NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} { | 574 | NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} { |
| 548 | // clang-format off | 575 | // clang-format off |
| 549 | static const FunctionInfo functions[] = { | 576 | static const FunctionInfo functions[] = { |
| 577 | {7988, nullptr, "GetDynamicRightsInterface"}, | ||
| 578 | {7989, nullptr, "GetReadOnlyApplicationControlDataInterface"}, | ||
| 579 | {7991, nullptr, "GetReadOnlyApplicationRecordInterface"}, | ||
| 550 | {7992, &NS::PushInterface<IECommerceInterface>, "GetECommerceInterface"}, | 580 | {7992, &NS::PushInterface<IECommerceInterface>, "GetECommerceInterface"}, |
| 551 | {7993, &NS::PushInterface<IApplicationVersionInterface>, "GetApplicationVersionInterface"}, | 581 | {7993, &NS::PushInterface<IApplicationVersionInterface>, "GetApplicationVersionInterface"}, |
| 552 | {7994, &NS::PushInterface<IFactoryResetInterface>, "GetFactoryResetInterface"}, | 582 | {7994, &NS::PushInterface<IFactoryResetInterface>, "GetFactoryResetInterface"}, |
| @@ -575,18 +605,22 @@ public: | |||
| 575 | {0, nullptr, "LaunchProgram"}, | 605 | {0, nullptr, "LaunchProgram"}, |
| 576 | {1, nullptr, "TerminateProcess"}, | 606 | {1, nullptr, "TerminateProcess"}, |
| 577 | {2, nullptr, "TerminateProgram"}, | 607 | {2, nullptr, "TerminateProgram"}, |
| 578 | {4, nullptr, "GetShellEventHandle"}, | 608 | {4, nullptr, "GetShellEvent"}, |
| 579 | {5, nullptr, "GetShellEventInfo"}, | 609 | {5, nullptr, "GetShellEventInfo"}, |
| 580 | {6, nullptr, "TerminateApplication"}, | 610 | {6, nullptr, "TerminateApplication"}, |
| 581 | {7, nullptr, "PrepareLaunchProgramFromHost"}, | 611 | {7, nullptr, "PrepareLaunchProgramFromHost"}, |
| 582 | {8, nullptr, "LaunchApplication"}, | 612 | {8, nullptr, "LaunchApplicationFromHost"}, |
| 583 | {9, nullptr, "LaunchApplicationWithStorageIdForDevelop"}, | 613 | {9, nullptr, "LaunchApplicationWithStorageIdForDevelop"}, |
| 584 | {10, nullptr, "IsSystemMemoryResourceLimitBoosted"}, | 614 | {10, nullptr, "IsSystemMemoryResourceLimitBoosted"}, |
| 585 | {11, nullptr, "GetRunningApplicationProcessIdForDevelop"}, | 615 | {11, nullptr, "GetRunningApplicationProcessIdForDevelop"}, |
| 586 | {12, nullptr, "SetCurrentApplicationRightsEnvironmentCanBeActive"}, | 616 | {12, nullptr, "SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop"}, |
| 587 | {13, nullptr, "CreateApplicationResourceForDevelop"}, | 617 | {13, nullptr, "CreateApplicationResourceForDevelop"}, |
| 588 | {14, nullptr, "IsPreomiaForDevelop"}, | 618 | {14, nullptr, "IsPreomiaForDevelop"}, |
| 589 | {15, nullptr, "GetApplicationProgramIdFromHost"}, | 619 | {15, nullptr, "GetApplicationProgramIdFromHost"}, |
| 620 | {16, nullptr, "RefreshCachedDebugValues"}, | ||
| 621 | {17, nullptr, "PrepareLaunchApplicationFromHost"}, | ||
| 622 | {18, nullptr, "GetLaunchEvent"}, | ||
| 623 | {19, nullptr, "GetLaunchResult"}, | ||
| 590 | }; | 624 | }; |
| 591 | // clang-format on | 625 | // clang-format on |
| 592 | 626 | ||
| @@ -699,6 +733,7 @@ void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system | |||
| 699 | std::make_shared<NS>("ns:rid", system)->InstallAsService(service_manager); | 733 | std::make_shared<NS>("ns:rid", system)->InstallAsService(service_manager); |
| 700 | std::make_shared<NS>("ns:rt", system)->InstallAsService(service_manager); | 734 | std::make_shared<NS>("ns:rt", system)->InstallAsService(service_manager); |
| 701 | std::make_shared<NS>("ns:web", system)->InstallAsService(service_manager); | 735 | std::make_shared<NS>("ns:web", system)->InstallAsService(service_manager); |
| 736 | std::make_shared<NS>("ns:ro", system)->InstallAsService(service_manager); | ||
| 702 | 737 | ||
| 703 | std::make_shared<NS_DEV>(system)->InstallAsService(service_manager); | 738 | std::make_shared<NS_DEV>(system)->InstallAsService(service_manager); |
| 704 | std::make_shared<NS_SU>(system)->InstallAsService(service_manager); | 739 | std::make_shared<NS_SU>(system)->InstallAsService(service_manager); |
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp index 933d42f3f..2edd803f3 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl_gpu.cpp | |||
| @@ -248,7 +248,13 @@ NvResult nvhost_ctrl_gpu::ZBCSetTable(const std::vector<u8>& input, std::vector< | |||
| 248 | IoctlZbcSetTable params{}; | 248 | IoctlZbcSetTable params{}; |
| 249 | std::memcpy(¶ms, input.data(), input.size()); | 249 | std::memcpy(¶ms, input.data(), input.size()); |
| 250 | // TODO(ogniK): What does this even actually do? | 250 | // TODO(ogniK): What does this even actually do? |
| 251 | std::memcpy(output.data(), ¶ms, output.size()); | 251 | |
| 252 | // Prevent null pointer being passed as arg 1 | ||
| 253 | if (output.empty()) { | ||
| 254 | LOG_WARNING(Service_NVDRV, "Avoiding passing null pointer to memcpy"); | ||
| 255 | } else { | ||
| 256 | std::memcpy(output.data(), ¶ms, output.size()); | ||
| 257 | } | ||
| 252 | return NvResult::Success; | 258 | return NvResult::Success; |
| 253 | } | 259 | } |
| 254 | 260 | ||
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp index 4898dc27a..c2f152190 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp | |||
| @@ -23,17 +23,22 @@ namespace { | |||
| 23 | template <typename T> | 23 | template <typename T> |
| 24 | std::size_t SpliceVectors(const std::vector<u8>& input, std::vector<T>& dst, std::size_t count, | 24 | std::size_t SpliceVectors(const std::vector<u8>& input, std::vector<T>& dst, std::size_t count, |
| 25 | std::size_t offset) { | 25 | std::size_t offset) { |
| 26 | std::memcpy(dst.data(), input.data() + offset, count * sizeof(T)); | 26 | if (!dst.empty()) { |
| 27 | offset += count * sizeof(T); | 27 | std::memcpy(dst.data(), input.data() + offset, count * sizeof(T)); |
| 28 | return offset; | 28 | } |
| 29 | return 0; | ||
| 29 | } | 30 | } |
| 30 | 31 | ||
| 31 | // Write vectors will write data to the output buffer | 32 | // Write vectors will write data to the output buffer |
| 32 | template <typename T> | 33 | template <typename T> |
| 33 | std::size_t WriteVectors(std::vector<u8>& dst, const std::vector<T>& src, std::size_t offset) { | 34 | std::size_t WriteVectors(std::vector<u8>& dst, const std::vector<T>& src, std::size_t offset) { |
| 34 | std::memcpy(dst.data() + offset, src.data(), src.size() * sizeof(T)); | 35 | if (src.empty()) { |
| 35 | offset += src.size() * sizeof(T); | 36 | return 0; |
| 36 | return offset; | 37 | } else { |
| 38 | std::memcpy(dst.data() + offset, src.data(), src.size() * sizeof(T)); | ||
| 39 | offset += src.size() * sizeof(T); | ||
| 40 | return offset; | ||
| 41 | } | ||
| 37 | } | 42 | } |
| 38 | } // Anonymous namespace | 43 | } // Anonymous namespace |
| 39 | 44 | ||
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 1da56bc27..aec399076 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp | |||
| @@ -70,6 +70,7 @@ | |||
| 70 | #include "core/hle/service/vi/vi.h" | 70 | #include "core/hle/service/vi/vi.h" |
| 71 | #include "core/hle/service/wlan/wlan.h" | 71 | #include "core/hle/service/wlan/wlan.h" |
| 72 | #include "core/reporter.h" | 72 | #include "core/reporter.h" |
| 73 | #include "core/settings.h" | ||
| 73 | 74 | ||
| 74 | namespace Service { | 75 | namespace Service { |
| 75 | 76 | ||
| @@ -146,6 +147,11 @@ void ServiceFrameworkBase::ReportUnimplementedFunction(Kernel::HLERequestContext | |||
| 146 | system.GetReporter().SaveUnimplementedFunctionReport(ctx, ctx.GetCommand(), function_name, | 147 | system.GetReporter().SaveUnimplementedFunctionReport(ctx, ctx.GetCommand(), function_name, |
| 147 | service_name); | 148 | service_name); |
| 148 | UNIMPLEMENTED_MSG("Unknown / unimplemented {}", fmt::to_string(buf)); | 149 | UNIMPLEMENTED_MSG("Unknown / unimplemented {}", fmt::to_string(buf)); |
| 150 | if (Settings::values.use_auto_stub) { | ||
| 151 | LOG_WARNING(Service, "Using auto stub fallback!"); | ||
| 152 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 153 | rb.Push(RESULT_SUCCESS); | ||
| 154 | } | ||
| 149 | } | 155 | } |
| 150 | 156 | ||
| 151 | void ServiceFrameworkBase::InvokeRequest(Kernel::HLERequestContext& ctx) { | 157 | void ServiceFrameworkBase::InvokeRequest(Kernel::HLERequestContext& ctx) { |
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp index 7423287ea..a1a7ac987 100644 --- a/src/core/hle/service/vi/vi.cpp +++ b/src/core/hle/service/vi/vi.cpp | |||
| @@ -695,6 +695,7 @@ public: | |||
| 695 | {2205, &ISystemDisplayService::SetLayerZ, "SetLayerZ"}, | 695 | {2205, &ISystemDisplayService::SetLayerZ, "SetLayerZ"}, |
| 696 | {2207, &ISystemDisplayService::SetLayerVisibility, "SetLayerVisibility"}, | 696 | {2207, &ISystemDisplayService::SetLayerVisibility, "SetLayerVisibility"}, |
| 697 | {2209, nullptr, "SetLayerAlpha"}, | 697 | {2209, nullptr, "SetLayerAlpha"}, |
| 698 | {2210, nullptr, "SetLayerPositionAndSize"}, | ||
| 698 | {2312, nullptr, "CreateStrayLayer"}, | 699 | {2312, nullptr, "CreateStrayLayer"}, |
| 699 | {2400, nullptr, "OpenIndirectLayer"}, | 700 | {2400, nullptr, "OpenIndirectLayer"}, |
| 700 | {2401, nullptr, "CloseIndirectLayer"}, | 701 | {2401, nullptr, "CloseIndirectLayer"}, |
| @@ -718,6 +719,7 @@ public: | |||
| 718 | {3215, nullptr, "SetDisplayGamma"}, | 719 | {3215, nullptr, "SetDisplayGamma"}, |
| 719 | {3216, nullptr, "GetDisplayCmuLuma"}, | 720 | {3216, nullptr, "GetDisplayCmuLuma"}, |
| 720 | {3217, nullptr, "SetDisplayCmuLuma"}, | 721 | {3217, nullptr, "SetDisplayCmuLuma"}, |
| 722 | {3218, nullptr, "SetDisplayCrcMode"}, | ||
| 721 | {6013, nullptr, "GetLayerPresentationSubmissionTimestamps"}, | 723 | {6013, nullptr, "GetLayerPresentationSubmissionTimestamps"}, |
| 722 | {8225, nullptr, "GetSharedBufferMemoryHandleId"}, | 724 | {8225, nullptr, "GetSharedBufferMemoryHandleId"}, |
| 723 | {8250, nullptr, "OpenSharedLayer"}, | 725 | {8250, nullptr, "OpenSharedLayer"}, |
| @@ -729,6 +731,7 @@ public: | |||
| 729 | {8256, nullptr, "GetSharedFrameBufferAcquirableEvent"}, | 731 | {8256, nullptr, "GetSharedFrameBufferAcquirableEvent"}, |
| 730 | {8257, nullptr, "FillSharedFrameBufferColor"}, | 732 | {8257, nullptr, "FillSharedFrameBufferColor"}, |
| 731 | {8258, nullptr, "CancelSharedFrameBuffer"}, | 733 | {8258, nullptr, "CancelSharedFrameBuffer"}, |
| 734 | {9000, nullptr, "GetDp2hdmiController"}, | ||
| 732 | }; | 735 | }; |
| 733 | RegisterHandlers(functions); | 736 | RegisterHandlers(functions); |
| 734 | } | 737 | } |
| @@ -808,10 +811,15 @@ public: | |||
| 808 | {2402, nullptr, "GetDisplayHotplugState"}, | 811 | {2402, nullptr, "GetDisplayHotplugState"}, |
| 809 | {2501, nullptr, "GetCompositorErrorInfo"}, | 812 | {2501, nullptr, "GetCompositorErrorInfo"}, |
| 810 | {2601, nullptr, "GetDisplayErrorEvent"}, | 813 | {2601, nullptr, "GetDisplayErrorEvent"}, |
| 814 | {2701, nullptr, "GetDisplayFatalErrorEvent"}, | ||
| 811 | {4201, nullptr, "SetDisplayAlpha"}, | 815 | {4201, nullptr, "SetDisplayAlpha"}, |
| 812 | {4203, nullptr, "SetDisplayLayerStack"}, | 816 | {4203, nullptr, "SetDisplayLayerStack"}, |
| 813 | {4205, nullptr, "SetDisplayPowerState"}, | 817 | {4205, nullptr, "SetDisplayPowerState"}, |
| 814 | {4206, nullptr, "SetDefaultDisplay"}, | 818 | {4206, nullptr, "SetDefaultDisplay"}, |
| 819 | {4207, nullptr, "ResetDisplayPanel"}, | ||
| 820 | {4208, nullptr, "SetDisplayFatalErrorEnabled"}, | ||
| 821 | {4209, nullptr, "IsDisplayPanelOn"}, | ||
| 822 | {4300, nullptr, "GetInternalPanelId"}, | ||
| 815 | {6000, &IManagerDisplayService::AddToLayerStack, "AddToLayerStack"}, | 823 | {6000, &IManagerDisplayService::AddToLayerStack, "AddToLayerStack"}, |
| 816 | {6001, nullptr, "RemoveFromLayerStack"}, | 824 | {6001, nullptr, "RemoveFromLayerStack"}, |
| 817 | {6002, &IManagerDisplayService::SetLayerVisibility, "SetLayerVisibility"}, | 825 | {6002, &IManagerDisplayService::SetLayerVisibility, "SetLayerVisibility"}, |
diff --git a/src/core/settings.h b/src/core/settings.h index d849dded3..a81016b23 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -222,6 +222,7 @@ struct Values { | |||
| 222 | bool quest_flag; | 222 | bool quest_flag; |
| 223 | bool disable_macro_jit; | 223 | bool disable_macro_jit; |
| 224 | bool extended_logging; | 224 | bool extended_logging; |
| 225 | bool use_auto_stub; | ||
| 225 | 226 | ||
| 226 | // Miscellaneous | 227 | // Miscellaneous |
| 227 | std::string log_filter; | 228 | std::string log_filter; |
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 1bac57bb2..1d6155999 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp | |||
| @@ -641,6 +641,7 @@ void Config::ReadDebuggingValues() { | |||
| 641 | ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool(); | 641 | ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool(); |
| 642 | Settings::values.extended_logging = | 642 | Settings::values.extended_logging = |
| 643 | ReadSetting(QStringLiteral("extended_logging"), false).toBool(); | 643 | ReadSetting(QStringLiteral("extended_logging"), false).toBool(); |
| 644 | Settings::values.use_auto_stub = ReadSetting(QStringLiteral("use_auto_stub"), false).toBool(); | ||
| 644 | 645 | ||
| 645 | qt_config->endGroup(); | 646 | qt_config->endGroup(); |
| 646 | } | 647 | } |
diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp index 121873f95..2a5b3f5e7 100644 --- a/src/yuzu/configuration/configure_debug.cpp +++ b/src/yuzu/configuration/configure_debug.cpp | |||
| @@ -34,6 +34,7 @@ void ConfigureDebug::SetConfiguration() { | |||
| 34 | ui->homebrew_args_edit->setText(QString::fromStdString(Settings::values.program_args)); | 34 | ui->homebrew_args_edit->setText(QString::fromStdString(Settings::values.program_args)); |
| 35 | ui->reporting_services->setChecked(Settings::values.reporting_services); | 35 | ui->reporting_services->setChecked(Settings::values.reporting_services); |
| 36 | ui->quest_flag->setChecked(Settings::values.quest_flag); | 36 | ui->quest_flag->setChecked(Settings::values.quest_flag); |
| 37 | ui->use_auto_stub->setChecked(Settings::values.use_auto_stub); | ||
| 37 | ui->enable_graphics_debugging->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | 38 | ui->enable_graphics_debugging->setEnabled(!Core::System::GetInstance().IsPoweredOn()); |
| 38 | ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug); | 39 | ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug); |
| 39 | ui->disable_macro_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | 40 | ui->disable_macro_jit->setEnabled(!Core::System::GetInstance().IsPoweredOn()); |
| @@ -47,6 +48,7 @@ void ConfigureDebug::ApplyConfiguration() { | |||
| 47 | Settings::values.program_args = ui->homebrew_args_edit->text().toStdString(); | 48 | Settings::values.program_args = ui->homebrew_args_edit->text().toStdString(); |
| 48 | Settings::values.reporting_services = ui->reporting_services->isChecked(); | 49 | Settings::values.reporting_services = ui->reporting_services->isChecked(); |
| 49 | Settings::values.quest_flag = ui->quest_flag->isChecked(); | 50 | Settings::values.quest_flag = ui->quest_flag->isChecked(); |
| 51 | Settings::values.use_auto_stub = ui->use_auto_stub->isChecked(); | ||
| 50 | Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked(); | 52 | Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked(); |
| 51 | Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked(); | 53 | Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked(); |
| 52 | Settings::values.extended_logging = ui->extended_logging->isChecked(); | 54 | Settings::values.extended_logging = ui->extended_logging->isChecked(); |
diff --git a/src/yuzu/configuration/configure_debug.ui b/src/yuzu/configuration/configure_debug.ui index 9186aa732..ae48b728c 100644 --- a/src/yuzu/configuration/configure_debug.ui +++ b/src/yuzu/configuration/configure_debug.ui | |||
| @@ -185,6 +185,28 @@ | |||
| 185 | </property> | 185 | </property> |
| 186 | </widget> | 186 | </widget> |
| 187 | </item> | 187 | </item> |
| 188 | <item> | ||
| 189 | <widget class="QCheckBox" name="use_auto_stub"> | ||
| 190 | <property name="text"> | ||
| 191 | <string>Enable Auto-Stub</string> | ||
| 192 | </property> | ||
| 193 | </widget> | ||
| 194 | </item> | ||
| 195 | <item> | ||
| 196 | <widget class="QLabel" name="label_3"> | ||
| 197 | <property name="font"> | ||
| 198 | <font> | ||
| 199 | <italic>true</italic> | ||
| 200 | </font> | ||
| 201 | </property> | ||
| 202 | <property name="text"> | ||
| 203 | <string>This will be reset automatically when yuzu closes.</string> | ||
| 204 | </property> | ||
| 205 | <property name="indent"> | ||
| 206 | <number>20</number> | ||
| 207 | </property> | ||
| 208 | </widget> | ||
| 209 | </item> | ||
| 188 | </layout> | 210 | </layout> |
| 189 | </widget> | 211 | </widget> |
| 190 | </item> | 212 | </item> |