mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
1.8 KiB
1.8 KiB
libSceNgs2 technical debt
Unknown function info
- sceNgs2FftQuerySize (libSceNgs2) - implemented in
libSceNgs2.native/src/System.cppfrom the firmware 11.00 module at0x430, whose table is at0x30b30: lengths 8..12 select 64, 128, 256, 512 and 1024 samples from the entry at offset 4, bit 1 of the flags halves the count, and the work size is32 * count + 64.-1for a length outside 8..12 is the module's own return;-1for a null output is this implementation's guard, since the module writes through the pointer after validating only the length. sceNgs2FftInit and sceNgs2FftProcess still throw: the 7.3 KB AVX radix-8 kernel and its packed input/output layout are not recovered, and no dump imports these NIDs. - sceNgs2ParseWaveformUser, sceNgs2SystemEnumHandles, sceNgs2SystemEnumRackHandles (libSceNgs2) - implemented in
libSceNgs2.native/src/System.cppfrom the firmware 11.00 module at0x10810,0xf270and0xf0d0.sceNgs2ParseWaveformUserpasses a type-2 read descriptor to the module helper at0xfac0, which calls the handler ashandler(user_data, offset, data, size)and expects anint32_t; in the module a negative return becomes0x804A0408, as does a null handler, and a null output becomes0x804A0053. The 256 MiB RIFF cap, which returnsSCE_NGS2_ERROR_INVALID_WAVEFORM_DATA, and buffering the whole RIFF body after the 12-byte header are this implementation's safety choices, not measured on a console. The enumerators return the count of live systems or racks and fill up to the requested count; a null output with a nonzero count returns0x804A0053and an unknown system0x804A0230. No dump imports these NIDs.