mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 09:03:22 -05:00
The overlap audit against origin/main and the open pull requests found 39 of the 193 declared exports that must not be declared here: - 14 that origin/main already exports. The nid_patcher computes the NID of a symbol from its name, and a name ending in _nid_postfix exports the NID of the base name, so scePadOpen, sceNetInit and the rest are already there. - 23 that an open pull request provides: #6832, #6847, #6852, #7846, #7881, #7889, #7890, #6977 and #7690. - 2 whose technical-debt file an open pull request creates: #7463 and #8094. The scope is now 30 libraries and 154 exports.
3.2 KiB
3.2 KiB
libSceVrTracker2 technical debt
Silent stubs
- libSceVrTracker2 never initializes, so its exports answer as the console's module does before initialization, measured on a retail PS5 (firmware 13.60) with no PS VR2 headset by calling each of the 115 NIDs with null arguments, zeroed buffers and buffers filled with 0xAA and 0x01: 99 return 0x8A740001 and write nothing;
XknY0IDcOwUandark13GkiskAreturn 0x8A740006 for a null first argument and otherwise clear its first 24 and 16 bytes and return 0x8A740001;-YvjOUph8B0returns 0x8A740006 for a null second argument and otherwise 0x8A740001;QyZvFyf-QEkandfTYZOZepkqEreturn 0 and write nothing;TZIUIk9id3cwrites 0xC000, 0, 0x40 and 0x40 asuint32,uint32,uint16anduint16at offsets 4 to 15 of its first argument and returns 0;IB0qcDVu8vUclears theuint32at its first argument and returns 0. The last two crash on the console for a null first argument and throw here. Signatures and what the tracker returns once initialized are unknown; the twelve exports with aerolib names keep them and the others carry this library's own names
Unknown function info
- sceVrTracker2QueryMemory (libSceVrTracker2, NID
TwqZnaIjWv4) - accepts only a parameter whose firstuint32is 0x20 and whose bytes 4 to 31 are zero, found by searching sizes 8 to 0x400 and setting each field and byte; it then writes 32 bytes,uint320x20, 32 MiB and 64 KiB followed by zeros, and returns 0, and otherwise returns 0x8A740006 without writing, as it does for a null argument. The meaning of the parameter's reserved bytes and of the written fields is assumed from their values - libSceVrTracker2 - initialization (
6Jy73SRfG-o) takes one parameter of 0x48 bytes. PPSA05666 passes the size 0x48 at offset 0,uint320x100 and 0x2BC at 0x8 and 0xC,uint640x1FFF at 0x10 and 0x18, a pointer to its work memory at 0x20, and the memory query's 32 MiB and 64 KiB asuint32at 0x28 and 0x2C, with the other bytes zero; the priority and CPU mask meanings of 0x8 to 0x1F are assumed from the values. Called with that parameter and 32 MiB of anonymous memory from a homebrew payload on a PS5 (firmware 13.60) with no PS VR2 headset, it did not return within a minute, so what it returns without a headset is unknown and it throws - libSceVrTracker2 - eight exports throw.
6Jy73SRfG-o(initialization) and9R6W33Au4B4return 0x8A740006 on the console for null arguments, for zeroed, 0xAA- and 0x01-filled buffers and for a size field from 8 to 0x400 in any of the first three arguments; initialization also returned it for the memory query's parameter with 32 MiB aligned to 64 KiB passed inside the parameter or as further arguments, so the parameter layout it accepts is unknown.NBhWy+Gl0tYreturns 0x8A740006 for those buffers but crashes for null arguments;jRmuXjsknsIreturns 0x8A740006 for null arguments and crashes for buffers, also when every 8-byte slot points at readable memory;O8ZkTFtvUL4,940WPg+WwIk,oZDm1bynCaAandU1VYczwqukYcrash for both