mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
PPSA03671 fails to load because no library exports NID zBsgF0q8DIM from libScePad. The NID database has no name for it and no candidate pad name hashes to it, so it is exported under its NID as scePadUnknown_zBsgF0q8DIM, declared without parameters, and throws when called. Adds an Unknown function info entry to the libScePad debt file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
libScePad technical debt
Unknown function info
- scePadSetAngularVelocityDeadbandState (libScePad) - with the deadband on, each angular velocity axis whose magnitude is below 0.017453292 rad/s (1 degree per second) reads as 0, before the orientation is integrated; it starts off. Threshold, per-axis test and default follow duaLib, which reimplements the PC
libScePad.dll; the console's threshold is not measured, and the deadband is kept per library rather than per handle since one pad handle exists - scePadOpen and scePadOpenExt (libScePad) - special ports (type 2) return
DEVICE_NOT_CONNECTED(0x80920007) because the host has no special controller, andscePadGetHandlehas no handle for them; whether the console opens a handle and reports the device as disconnected later is unknown. scePadOpenExt handles only special ports. PPSA01317 passes a 16-byte param that names the device by vendor and product id (b7 0e 04 0e ...for 0x0eb7:0x0e04) and skips the user on any negative result. Other port types throw - scePadVrControllerReadState (libScePad, NID
iA-DdobUen8) - the name hashes to the imported NID; the(int handle, void* state)signature follows PS5VR (PPSA99177), which passes a PS VR2 Sense controller handle fromscePadOpentype 3 or 4 and a 0x68-byte state it reads as buttons at 0, stick bytes at 4 and a connected byte at 0x40. The title calls it only aftersceHmd2Initializesucceeds, which it does not here, so every call throws; the state layout is otherwise unknown - scePadSetVibrationMode (libScePad) - modes 0 to 3 are accepted and stored; the meaning of mode 3 is unknown (PPSA21480 calls it with 3 right after
scePadOpenand aborts on failure; SharpProspero names only 1 and 2). The stored mode has no other effect - scePadIsRemoteController (libScePad) - the name hashes to NID
fCWdlnmB1Ks; the signature(int handle, bool* remote)comes from PPSA16064, which zeroes a byte, passes its address afterscePadGetControllerInformationand ignores the result. The error codes follow the other pad calls. Controllers are local devices, so the answer is always false - scePadSetAngularVelocityBiasCorrectionState (libScePad) - inferred signature
(int handle, bool enabled)followsscePadSetTiltCorrectionStateandscePadSetAngularVelocityDeadbandState; an invalid handle returnsPAD_ERROR_INVALID_HANDLE, disabling is a no-op, and enabling throws because bias correction is not modelled - scePadUnknown_zBsgF0q8DIM (libScePad, NID
zBsgF0q8DIM) - PPSA03671 imports it and fails to load without it. The aerolib list has no name for the NID, and none of the pad names in SharpProspero, shadPS4 or OpenOrbis, nor the trigger effect, motion sensor, VR controller, HD and haptic names tried, hashes to it. It is declared without parameters and throws. The title's executable has an import stub for it but no call, jump or address reference to that stub, so the argument count and whether the result is used are unknown