Repository navigation
Apotris (PPSA98513) #10209
VakzOs
started this conversation in
Game bring-up
Apotris (PPSA98513)
#10209
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Existing thread
Title
Apotris (PPSA98513
Content version tested
01.000.000
AnyPS5 commit
main at cd3d2b4, no PRs or local changes
System tested
Windows 11 Pro build 26200, NVIDIA GeForce RTX 3080 (driver 617.42), i9-14900KF, WinLibs GCC 15.2.0, Release build
Furthest point
In game
What is shown
Menus and gameplay render correctly at a locked 60 fps, 3840×2160 output.
Audio: [music and sound effects OK].
Input: Xbox One Elite 2 controller, detected as Pad: connected game controller: Xbox One Elite 2 Controller, and keyboard work.
The game exits cleanly.
The log has no not implemented, exception or crash lines.
APS5_TRACE_SUMMARY_EVERY=10, 51 intervals over 510 s, digested with tools/trace_digest.py:
value
presents 30,596 (600 per 10 s in every interval after the first)
frame p50 / p90 / p99 16.7 / 16.9 / 16.9–17.0 ms in every interval
max frame 84.1 ms once in the first 10 s, then 17.0–17.3 ms
GPU busy per present 5.4–6.6 ms
largest phase VideoOut.Flip, 14.3–15.5 ms
Current blocker
Nothing stops it, but the title only converts with --trap-sdk-syscall-stubs. Without the flag, the relinker stops with FAIL: Forbidden syscall instruction at code offset 0xca968a: syscall number 191.
Analysis (AI-assisted, not measured): this is the only raw syscall in the executable. It is a ps5-payload-dev SDK stub (mov rax, 0xbf; mov r10, rcx; syscall; ret) for FreeBSD pathconf. Its only caller passes "." and 5 (_PC_PATH_MAX), next to the current_path string, which matches libc++ std::filesystem::current_path(). The trapped stub was never reached in either run.
How it was run
Unwrapped eboot.bin and sce_module/libc.prx with tools/unwrap_self.py.
Converted with relinker --windows --trap-sdk-syscall-stubs eboot.elf apotris.exe.
Laid out libs/ and app0/ as the relinker prints, with the converted libc.prx.guest.prx in app0/sce_module/.
Default game settings, empty shader cache on the first run.
Two runs on 2026-10-23:
about 4 min 20 s with no APS5_* / ANYPS5_* variables;
8 min 30 s with APS5_TRACE_SUMMARY_EVERY=10 only.
All reactions