mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
Follows firmware 13.42's libSceVrHand.sprx, read from its disassembly and run natively on x86-64: a null pointer, a size word other than 0x20 or a nonzero byte in parameter offsets 4 to 31 returns 0x8a870006 without writing; otherwise the output receives 0x3c00000 and 0x10000 followed by 20 zero bytes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
7 lines
1.2 KiB
Markdown
7 lines
1.2 KiB
Markdown
# libSceVrHand technical debt
|
|
|
|
### Unknown function info
|
|
|
|
- [sceVrHandFinalize, sceVrHandGetMesh, sceVrHandGetMeshSize, sceVrHandGetResult, sceVrHandInitialize, sceVrHandStart, sceVrHandStop](../../../core/libs/prx/libSceVrHand/Export.cpp) (libSceVrHand) - names and NIDs verified from pinned [ps5rs stubs](https://github.com/claimore22/ps5rs/tree/5f252a658ff470bcb2b6cd15205fd8ca64ae4477/data/stubs/by_library) (`libSceVrHand.txt`), with NID match confirmed via `tools/nid_names.py` `compute_nid`. Signatures, parameter layouts, and runtime behavior remain unverified; all paths throw through `NotImplemented_nid_no_patch`.
|
|
- [sceVrHandQueryMemory](../../../core/libs/prx/libSceVrHand/Export.cpp) (libSceVrHand) - the meaning of the parameter and output fields is unknown. It follows firmware 13.42's libSceVrHand.sprx, read from its disassembly and run natively on x86-64 (not a console): a null pointer, a first 32-bit parameter word other than 0x20, or any nonzero parameter byte from offset 4 to 31 returns `0x8a870006` and writes nothing; otherwise it stores the 32-bit values 0x3c00000 and 0x10000 at output offsets 0 and 4, clears output bytes 8 to 27 and returns 0. Parameter bytes from offset 32 are not read.
|