Repository navigation
METAL GEAR SOLID: Peace Walker - Master Collection Version (PPSA18216) #5268
mrfelek
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.
Existing thread
Title
METAL GEAR SOLID: Peace Walker - Master Collection Version (PPSA18216)
Content version tested
01.301.000
AnyPS5 commit
main146f171, plus local changes (listed under Current blocker).System tested
Ubuntu 26.10, GCC 15.3.0, RTX 3080 Ti (NVIDIA 615.71.09), Linux native
Furthest point
Stops before the first frame
What is shown
The title ships two executables: a Unity launcher (
eboot.bin) and the game (mgspw/mgspw.elf, 25 MB), which the launcher starts withsceSystemServiceLoadExec..prxfiles kept next to the relinked*.guest.prxfiles inapp0/Media/Modulesandapp0/Media/Plugins; without them it faults on a null call about 5 s in (same as the Silksong case).sceSystemServiceLoadExec: /app0/mgspw/mgspw.elf without its converted executable; relink with --executable mgspw/mgspw.elf not implemented.[Shaders/ShaderRegistry.cpp:454 DrawRectangle] Rect-list draw of shader ... has no rectangle for fragment shader ...; preparing it at draw. Audio and input were not reached.Current blocker
relinker --executable mgspw/mgspw.elf(with--module-dir Media/Modules --module-dir Media/Plugins) fails:Guest modules convert differently for mgspw/mgspw.elf, so it cannot share them with the input executable. I have not established why the modules differ; my guess is that the set of modules each executable needs at start-up differs (the launcher needs the Unity ones).mgspw.elfalone needs these exports, whichmaindoes not have (found withtools/import_audit.py); I implemented them locally, one branch each, rebased on 146f171, not submitted:sceAudioOut2DisableChat: https://github.com/mrfelek/AnyPS5/tree/fix/audioout2-disable-chatsce::Json::Stringfind,rfind,substr,append(two overloads),clear,reserveandnpos(it failed at load onnposfirst): https://github.com/mrfelek/AnyPS5/tree/fix/json-string-npossceUltMutexDestroy,sceUltWaitingQueueResourcePoolDestroy: https://github.com/mrfelek/AnyPS5/tree/feat/ult-mutex-pool-destroysceNetCtlRegisterCallbackV6,sceNetCtlUnregisterCallbackV6: https://github.com/mrfelek/AnyPS5/tree/feat/netctl-v6-callbackssceLibcMspaceAlignedAlloc: https://github.com/mrfelek/AnyPS5/tree/feat/mspace-aligned-allocsceSystemServiceLoadExecare not logged. I could not attach a debugger here (ptrace is blocked), and the game has no symbols.Questions: is there a way to relink a launcher and the game it starts when their guest modules differ, and does anyone know what start arguments the Master Collection launcher passes to
mgspw.elf?How it was run
eboot.bin,mgspw/mgspw.elf,sce_module/*.prx,Media/Modules/*.prxandMedia/Plugins/*.prxfrom their SELF containers (the dump is already decrypted).relinker --registry --module-dir Media/Modules --module-dir Media/Plugins src/eboot.elf app.elf, plus the original.prxfiles symlinked next to the*.guest.prxfiles.relinker --registry src/eboot.elf app.elfwithmgspw.elfas the input and onlysce_module/beside it, thenAPS5_HOST_IMPORT_MIB=16384 SDL_AUDIODRIVER=pipewire ./app.elf.args.txt.Written with AI assistance (Claude Code).
All reactions