decodeDepth required DB_Z_WRITE_BASE to equal DB_Z_READ_BASE whenever the depth plane was not read-only, also for draws that never write it. PPSA31327 01.015.000 stops there on a stencil-only draw: DB_DEPTH_CONTROL 0x00000701 (Z_ENABLE and Z_WRITE_ENABLE clear), DB_RENDER_CONTROL 0, DB_DEPTH_VIEW 0, Z read base 0xed11340000 and Z write base 0, with equal stencil read and write bases. The bases are now compared only when the depth plane can be written: a depth clear, a draw with both Z_ENABLE and Z_WRITE_ENABLE (the condition that sets depthWrite), or an expand pass with DEPTH_COMPRESS_DISABLE or STENCIL_COMPRESS_DISABLE in DB_RENDER_CONTROL, which still throws. The surface keeps the read base. The stencil check is unchanged. DepthStencilTests accepts a stencil-only draw, Z_WRITE_ENABLE without Z_ENABLE and a depth test without writes at another write base, and still rejects a written plane, a depth clear and the compress-disable bits there.
About
Tool for automatic executables porting to Linux and Windows.
Web converter - files stay on your device.
Includes a relinker that converts executable to the target system's native format and implementations of system prx libraries suitable for dynamic linking. No emulation or separate runtime process.
Discord, Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing
Status
* System libraries: percentage of the functions known to the project so far (declared in core/libs/prx), not of every PS5 system function. The total grows as more functions are declared.
Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.
The shader recompiler successfully produces SPIR-V (validated via Spirv-Tools when built with ANYPS5_ENABLE_SPIRV_TOOLS).
Compatibility
Per-game progress (stage reached, open blockers, libraries and GPU coverage) is tracked on the blocker map, a community project built from public GitHub data (source). Test reports go in the Game bring-up discussions, one thread per title.
Input mapping
SDL-mapped game controllers are supported, including analog sticks and triggers. Keyboard and mouse controls can be configured with an anyps5-input.ini file. See input mapping for the supported devices and configuration format.
Disclaimer
This project is intended for interoperability, research, preservation, and compatibility purposes. It does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries. Users are responsible for ensuring that any binaries used with this project are obtained and used in accordance with applicable laws and their respective license terms.
License
This project is licensed under the GNU General Public License version 2 only.