Repository navigation
Neptunia ReVerse (PPSA02721) #11493
BunnyFl
started this conversation in
Game bring-up
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.
Uh oh!
There was an error while loading. Please reload this page.
Existing thread
Title
Neptunia ReVerse (PPSA02721)
Content version tested
01.000.000
AnyPS5 commit
main6a8f224, andmainwith #10556 (head a3a64a4) merged on top (local merge 345056f699, no conflicts). For audio, alsomainwith #10556 and #8098 (head c1929ab) merged on top (c448dc17f0, no conflicts). #8098 has since been merged intomain(6c48f35, 2026-10-27); the runs below predate that and were not repeated on it.System tested
Windows 11 Pro 10.0.26200, AMD Radeon RX 9070 XT (driver 32.0.32015.7029), Ryzen 7 5800X3D, GCC 15.2.0 (WinLibs 15.2.0posix-14.0.0-ucrt-r7), Release.
Furthest point
Opening story scenes (with #10556)
What is shown
Runs from no save data, with scripted pad input (Cross every 3 s), up to 330 s each.
main: three runs abort before the first frame (0 presents), 13-16 s after start, onsampled image descriptor uses an unsupported format (T# ffffffff ffffffff 00000019 c0017901 00000342 c8000000 c0064900 0000062f).AGC graphics: guest sampler descriptor requests a LOD bias beyond the device limit, at mostly 550-600 presents per 10 s before that (350-601 overall). No log has anis not implementedline. The fourth run dumped a frame every 300 presents, and those frames show the logo animation, the CRIWARE logo, the Caution screen, the title menu (NEW GAME/CONTINUE/CONFIG), the tutorial help screens, narration over a world map, and then dialogue scenes whose name labels read Purple Heart, Black Heart, White Heart and Green Heart. Its last frames before the stop are black.main+ fix(shader): decode a T# with an unset format field as null #10556; it plays with fix(audioout2): keep each port's grain when ports share a buffer #8098 merged on top (heard by me). WithAPS5_TRACE_AUDIOOUT2=1the title sets one PCM buffer on all three of its AudioOut2 ports each grain. Without fix(audioout2): keep each port's grain when ports share a buffer #8098 the mixed output's peak is 0.000 for the whole run (143 one-second summaries); with it the peak is above zero in 125-129 of the 140-142 summaries of each of three runs.Current blocker
main: the unsupported-format T# above. fix(shader): decode a T# with an unset format field as null #10556 fixes it.guest sampler descriptor requests a LOD bias beyond the device limit(Sampler.cpp:12). Per @mixyt on fix(shader): decode a T# with an unset format field as null #10556, the title binds a bias of +31.67, while the S# field encodes up to +/-32 andmaxSamplerLodBiasis no more than 16 on any Vulkan device. mixyt has a follow-up prepared that clamps the bias to the device limit. No pull request for it is open yet (checked 2026-10-28).main(6c48f35). Without it the title gives one buffer to all its AudioOut2 ports andmainplayed the last port's silent contents on all of them.How it was run
The dump's
eboot.binand its 2 modules (sce_module: libc, libSceNpCppWebApi) are SELF containers, unwrapped withtools/unwrap_self.pyfirst; the.esbakcopies andfakelibare left out. Onmain,tools/import_audit.py(with--modules sce_module) reports 0 absent imports and 1 throwing stub (sceAgcUpdateInterpolantMapping_0100). The runs usedAPS5_NO_PAD_INPUT=1withAPS5_PAD_INPUT_FILEwritten bytools/pad_input.py, plusAPS5_PROFILE_DRAW=1 APS5_LOG_TIMESTAMPS=1 APS5_TRACE_SUMMARY_EVERY=10andAPS5_DUMP_FRAMESfor the pictures below.Dumped frames of one run with #10556 (one every 300 presents), in order:
Conversion, the runs, log reading and this report were done with AI assistance (Claude Code); the screens above come from frames AnyPS5 dumped during the runs. The audio result was heard by me.
All reactions