From d5209e3696ef0a5bb64dff446478956cb41dea8d Mon Sep 17 00:00:00 2001 From: MarcZX100 Date: Tue, 13 Oct 2026 21:00:38 +0000 Subject: [PATCH] docs: explain required app metadata in runtime layout --- docs/user/USAGE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/user/USAGE.md b/docs/user/USAGE.md index 4e75ad5559..54f96ea46f 100644 --- a/docs/user/USAGE.md +++ b/docs/user/USAGE.md @@ -93,6 +93,8 @@ app0/ Use `sce_modules/` or `prx/` instead of `sce_module/` if that is the input directory name. Relinker preserves each module's directory under `app0/` and prints its exact path. Place app resources in `app0/` separately. Copy the built system libraries from `build/core/libs/libs/*.prx` into `libs/`; use libraries built for the target OS. A custom `--rpath` changes the system library location. +Some applications also need their original `app0/sce_sys/param.json` at runtime. AnyPS5 reads this file for the title ID and display name; it must contain a `titleId` string and a `localizedParameters` object with a language entry that has a non-empty `titleName`. Preserve the values from the title's own metadata. Place the file under the same `app0/` directory as the other app resources. If it is missing or invalid, metadata calls such as title/window setup can fail with a `param.json` error. + Use the generated files printed as `Guest module:` for bundled title modules. `libs/` is for AnyPS5 system libraries, not the original PS5 `.prx` files. Placing an original PS5 module in `libs/` on Windows makes Windows try to load it as a DLL and can fail with error 193 (not a valid Win32 application). On Windows, a self-built `libs/` also needs `libgcc_s_seh-1.dll`, `libstdc++-6.dll` and `libwinpthread-1.dll` from the `mingw64/bin` directory of the toolchain that built the libraries; the release archives already contain them. The libraries are loaded without searching `PATH`, so a copy elsewhere on the system is not used, and a library that needs one of them fails with error 126 (the specified module could not be found) although its `.prx` file is present.