mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
SET_*_REG_INDIRECT lists are read when the command buffer is submitted. When that copy holds an offset dword that is no register offset, the queue worker now reads the list again where the packet executes (as the console PFP does) and uses that copy if it is valid. PPSA23566 (UFC 6) intermittently submits a SET_CONTEXT_REG_INDIRECT whose first entry is 0x038f038f or 0x03900390 in both copies, followed by 180 valid pairs, and the title stopped with "extended register semantics are not implemented". With APS5_SKIP_INVALID_INDIRECT_REGISTERS=1 the invalid entries are skipped and the other registers are written; without it the packet throws as before.