mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
1.5 KiB
1.5 KiB
libSceSystemLogger technical debt
Functional
- sceSystemLoggerInitialize, sceSystemLoggerSetLogData and sceSystemLoggerTerminate (libSceSystemLogger) - the state and argument checks follow the 11.00 system module
libSceSystemLogger.sprx(SHA-2568b0788ae7885f085fa2a7eeafedf72f9c0352e8363a79afff06e56fe30e17292;Initializeat0x700,Terminateat0x730,SetLogDataat0x760) disassembly, not measurements on a console:Initializereturns0x81080005when the library is already initialized,Terminatereturns0x81080004when it is not, andSetLogDatatakes the tag, count and entries pointer in the first three argument registers, ignores the fourth, rejects a tag longer than 15 bytes or containing a character outside[0-9A-Za-z], a count above 32, a non-zero count with a null data pointer, and any entry whose payload length is above 64 or whose tail is non-zero. Each 100-byte entry holds the 64-byte payload at0x00, a 32-bit payload length at0x40and a 32-byte tail at0x44that must be zero. An empty tag, including a zero-length one, and a zero count are accepted. The entries are written to the host's standard error with the tag. The system logger service, its ring buffer and transport, the objects created by the firmware's internal initialize/terminate/submit helpers and the0x81080001failure paths are not implemented, so initialization always succeeds and submission always reports success. The tag is copied up to 15 bytes.