mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
sceUserServiceInitialize reads the thread priority from the first int of its parameters, and sceUserServiceInitialize2 takes it as its argument. A PS5 returns 0x80960005 for a priority outside 0x100 to 0x2FF, and 0x80960003 when Initialize2 is called on an initialized service, where this returned success. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
libSceUserService technical debt
Unknown function info
- sceUserServiceGetNpAccountId (libSceUserService) - the account id for a user with no linked PSN account is assumed to be 0 with success; libSceNpManager's
sceNpGetAccountIdAanswers the same question withSCE_NP_ERROR_SIGNED_OUT - sceUserServiceInitialize, sceUserServiceTerminate (libSceUserService) - not measured: whether an invalid thread priority leaves an uninitialized service uninitialized (it does here), the parameters after their first
int, and any second argument ofsceUserServiceInitialize2. Measured on a PS5: before initialization and aftersceUserServiceTerminate,GetLoginUserIdList,GetEventandTerminatereturn0x80960002; a second initialization returns0x80960003and a new one reports the initial user's login again; a priority outside 0x100 to 0x2FF, from the firstintof the parameters or thesceUserServiceInitialize2argument, returns0x80960005before the initialized check. The other calls do not check initialization - sceUserServiceGetUserColor (libSceUserService) - the default profile colour is assumed to be blue (0)
- sceUserServiceGetUserName (libSceUserService) -
0x80960105, which a PS5 (firmware 13.60) returns for a user id it does not know, has no known name; it isUSER_SERVICE_ERROR_UNKNOWN_USERhere. On the console a registered user who is not logged in still gets their name; here only the initial user exists - sceUserServiceGetAgeLevel (libSceUserService) - on a PS5 (firmware 13.60) the value is the age set in the user's parental restriction (0, 7, 12 and 15 were measured) and
0xFFFFFFFFwithout one; a user who is not logged in returns0x80960009with or without an output. Parental restrictions are not modelled, so the initial user is always reported as unrestricted. PPSA12544 (Unity) only stores the value for its user profile - sceUserServiceGetAccessibilityChatTranscription, PressAndHoldDelay, TriggerEffect, Vibration, ZoomEnabled, ZoomFollowFocus (libSceUserService) - report 0, 0, 1, 1, 0 and 1, what a PS5 (firmware 13.60) reports for a user whose accessibility settings are all at their defaults; the console reports the user's own settings (a changed vibration intensity read 3), which are not modelled. What each number means is unknown. A user who is not logged in returns
0x80960009with or without an output - sceUserServiceGetAccessibilityKeyremapEnable, sceUserServiceGetAccessibilityZoom (libSceUserService) - declared without parameters as throwing stubs calling
NotImplemented_nid_no_patch. Their signatures and values remain unverified on hardware