Repository navigation
Console Five Pro v0.0.8pro
·
133 commits
to main
since this release
Console Five Pro v0.0.8pro — an independent rebranded build of CapyPS5 v0.0.3, the first PlayStation 5 emulator for Android (built on KytyPS5 and the FEX x86-64 JIT).
New in v0.0.8pro — the stability release: crashes fixed, auto-save, saves import/export
Crash fixes (status-321 exits, freezes and native crashes)
- Malformed GPU packets no longer kill the emulator: the const-RAM out-of-bounds write (up to 48 KB past the buffer) is bounded, and both PM4 parsers reject bad packets gracefully instead of hitting EXIT_NOT_IMPLEMENTED — a corrupt or edge-case command buffer now logs one diagnostic and continues.
- Corrupted / truncated ELF and SELF images fail cleanly: every Seek/Read result in the loader is verified (a truncated file used to parse as zeros), table reads are bounds-checked,
Elf64::Saveno longer dereferences a null section table on SELF images, and dynamic-linker tables and relocation targets are validated before use. - Cheat and param files abort the process load, not the emulator: malformed cheat data is rejected without exceptions (the core builds with
-fno-exceptions), and a bad param.sfo no longer takes the app down. - Guest page faults resolve on a dedicated fault thread: the old path took locks and logged from inside the SIGSEGV handler, which self-deadlocked when the faulting thread held one of those locks; now the handler only queues the fault and a worker performs the cache invalidation.
- Thread lifecycle races closed: reference-counted file descriptors (use-after-free, racing close), thread-safe lazy singleton initialization, a synchronized stubbed-import registry, serialized game-patch state, and second game launch no longer
std::terminates. - Destroying a still-running host thread no longer terminates the emulator, and the Windows high-resolution-timer HANDLE leak is closed.
- Unreal Engine games no longer die at boot with LowLevelFatalError (sceKernelBatchMap 0x8002000c): memory reserved through the kernel memory pool (sceKernelMemoryPoolExpand — e.g. one Unreal Engine souls-like) is now a legal direct-memory source. Borrowed pool pages cannot be double-owned by a pool commit, are returned when the last direct view goes away, and pool expansion release keeps working unchanged.
- A slow detached thread can no longer stall new thread creation: the reaper joins outside the pool mutex.
- Config reads outside the config lifetime fall back to defaults instead of dereferencing null.
PthreadJoinwrites the exit value through a verified-writable pointer, reporting EFAULT like the real kernel instead of SIGSEGV on a wild guest pointer.- is_mapped no longer calls
feofon a null FILE* when /proc is unavailable. - The desktop launcher's update download no longer divides by zero (SIGFPE) when a release size is unknown.
Data safety
- Writes larger than 4 GiB are chunked and completed — previously rejected with EINVAL or silently narrowed to 32 bits on the iovec path.
- Auto-save: a zip snapshot of
_SaveDataper game every 5 minutes and on exit (3 newest kept), with a Settings toggle and an "Auto-saved HH:mm" line in the pause menu. - Import / export all game saves as one zip (Settings → Game saves), with traversal and size guards — move your progress between devices.
Android
- Exit button fixed: confirming Exit in the pause menu now really exits on the second tap — touch users no longer need the gamepad Confirm key.
- Synchronized, reference-counted native-window hand-off: detaching the view while the emulator builds its Vulkan surface can no longer use-after-free the window.
- Build hardening: ffmpeg prebuilt zips are pinned to SHA-256 and mirrored in-repo (no more build breakage when the upstream release moves), actions pinned to commit SHAs.
Carried over from v0.0.7pro
Own package name com.consolefivepro, Present mode setting (Mailbox / VSync / Uncapped), big-core pipeline workers, sequential-read game files, and the Vulkan device-selection fixes (Adreno 740 driver-676 and Turnip a660 logs).
Requirements
- Android 12 or later, arm64 device, Vulkan 1.3 GPU.
- 12 GB of RAM recommended.
- Your own PS5 game dumps (a folder with
eboot.binandsce_sys/).
Console Five Pro includes no games, BIOS, firmware or Sony keys, and needs none of them. Not affiliated with Sony Interactive Entertainment; PlayStation and PS5 are trademarks of their respective owners.
Credits
- Upstream CapyPS5 v0.0.3 by Ghael-V; this project is an independent rebranded build of it.
- KytyPS5 and the original Kyty by InoriRus, and the FEX project.
License: GPL-2.0-only — full source: https://github.com/maxi000q/ConsoleFivePro (tag: v0.0.8pro)