Files
AnyPS5/docs/dev/debt/libSceVrHand.md
T
BunnyFlandClaude Opus 5.5 933d370153 feat(libSceVrHand): implement sceVrHandQueryMemory
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]>
2026-10-30 01:39:41 +01:00

1.2 KiB

libSceVrHand technical debt

Unknown function info

  • sceVrHandFinalize, sceVrHandGetMesh, sceVrHandGetMeshSize, sceVrHandGetResult, sceVrHandInitialize, sceVrHandStart, sceVrHandStop (libSceVrHand) - names and NIDs verified from pinned ps5rs stubs (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 (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.