Commit Graph
107 Commits
Author SHA1 Message Date
boykopovar b35e344585 fix(systemservice): restore browser launch signature and validation 2026-10-21 21:54:54 +03:00
boykopovar 991efec086 fix(systemservice): restore tournament and daemon argument slots 2026-10-21 21:53:08 +03:00
boykopovar b167045830 fix(systemservice): recover activation handles and device argument types 2026-10-21 21:49:56 +03:00
boykopovar 50c8103af2 fix(systemservice): recover launch and process status structures 2026-10-21 21:49:56 +03:00
boykopovar 67ff7609c2 fix(systemservice): define application message payload layout 2026-10-21 21:49:55 +03:00
boykopovar 1db52e3e40 fix(systemservice): reject unsupported integer parameters 2026-10-21 21:49:54 +03:00
boykopovar 9e94b0cb71 fix(systemservice): define launch and microphone status layouts 2026-10-21 21:49:54 +03:00
boykopovar a8cb8345cd fix(systemservice): validate system name buffers and termination 2026-10-21 21:49:53 +03:00
boykopovar 28fdabd59c fix(systemservice): restore float progress returns and clock arguments 2026-10-21 21:49:53 +03:00
boykopovar 9b8c8e51d5 fix(usbstorage): restore mapping callbacks and system service aliases 2026-10-21 21:49:52 +03:00
boykopovar 4e9520a9db fix(systemservice): restore state manager and modal arguments 2026-10-21 21:49:52 +03:00
boykopovar 32b7c50240 fix(systemservice): restore process control and telemetry arguments 2026-10-21 21:49:51 +03:00
boykopovar d4f2911b74 fix(systemservice): restore collapsed launcher dispatch arguments 2026-10-21 21:49:51 +03:00
boykopovar c9c8675b1d fix(systemservice): restore assembly alias signatures 2026-10-21 21:49:50 +03:00
boykopovar 46e9270dc4 fix(systemservice): restore public query payload signatures 2026-10-21 21:49:50 +03:00
boykopovar 2386ab8e84 fix(systemservice): restore activation handles and process signatures 2026-10-21 21:49:49 +03:00
boykopovar 797fb303c5 fix(systemservice): restore error dialog layout and event arguments 2026-10-21 21:49:45 +03:00
boykopovar a1e95b92ed fix(systemservice): restore shell state setter arguments 2026-10-21 21:49:44 +03:00
boykopovar c1843d1350 fix(systemservice): restore notification and error report arguments 2026-10-21 21:49:44 +03:00
boykopovar 315c4b65a1 fix(systemservice): restore shell navigation and mount arguments 2026-10-21 21:49:43 +03:00
boykopovar d34675bb21 fix(systemservice): restore telemetry and user query signatures 2026-10-21 21:49:42 +03:00
boykopovar 8b48df0b92 fix(systemservice): restore account and display query arguments 2026-10-21 21:49:41 +03:00
boykopovar 0d911b3aec fix(systemservice): restore storage and hid query signatures 2026-10-21 21:49:41 +03:00
boykopovar c13664d573 fix(systemservice): restore shell query outputs and string buffers 2026-10-21 21:49:40 +03:00
boykopovar 0cdc168bc3 fix(systemservice): restore shell application data signatures 2026-10-21 21:49:39 +03:00
boykopovar bad5fb14a2 fix(systemservice): restore launcher lifecycle arguments 2026-10-21 21:49:39 +03:00
boykopovar 85b972ee40 fix(systemservice): restore launcher query output types 2026-10-21 21:49:38 +03:00
boykopovar 1c2ed0446c fix(systemservice): restore launcher process and status signatures 2026-10-21 21:49:38 +03:00
boykopovar ef071a8a63 fix(systemservice): restore app messaging signatures 2026-10-21 21:49:37 +03:00
Dean 71401e331c Merge pull request #8303 from hypermoist/fix/systemservice-console-results
fix(libSceSystemService): return what the firmware returns from 26 calls it does not implement
2026-10-21 20:41:03 +13:00
Dean 2d5b705331 Merge pull request #8734 from orezraey/fix/systemservice-param-string-measured-ps5
fix(libSceSystemService): answer sceSystemServiceParamGetString's errors and padding as measured on a PS5
2026-10-21 19:52:41 +13:00
Dean 0aa55ef293 Merge pull request #8430 from shanu337/fix/systemservice-tournament-stub
fix(libSceSystemService): stub sceSystemServiceOpenTournamentOccurrence
2026-10-21 19:25:03 +13:00
Dean GalvinandFederico Marras 7924d09f00 Merge origin/main into PR 8524
Co-authored-by: Federico Marras <[email protected]>
2026-10-21 16:34:11 +13:00
Dean 31f0e34cb5 Merge pull request #8337 from KernelPanicNT/feat/systemservice-player-dialog-param
feat(libSceSystemService): fill the player dialog param as the console does
2026-10-21 16:33:32 +13:00
Dean a683688fe0 Merge pull request #8335 from ymatrix1/feat/systemservice-missing-exports
feat(libSceSystemService): export missing firmware system service interfaces
2026-10-21 16:07:01 +13:00
orezraeyandClaude Opus 5.5 4b8f05e3e1 fix(libSceSystemService): answer sceSystemServiceParamGetString's errors and padding as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 19:41:19 -03:00
Dean 466ce3ac45 Merge pull request #7474 from Dripl1x/codex/ui-lab-immediate-exit-cache
fix(agc): preserve pipeline caches on immediate guest exit
2026-10-21 11:23:40 +13:00
Federico Marras 0bc9d64443 feat(libSceSystemService): end the running title through sceLncUtilKillApp and sceLncUtilKillAppWithReason 2026-10-20 17:06:08 +02:00
shanu337 df9b2fcdcc fix(libSceSystemService): stub sceSystemServiceOpenTournamentOccurrence 2026-10-20 18:13:31 +05:30
Yuri Olive 4721791b9c feat(libSceSystemService): export missing firmware interfaces 2026-10-20 07:10:56 -03:00
KernelPanicNT fe04a3c299 feat(libSceSystemService): fill the player dialog param as the console does 2026-10-20 09:44:57 +00:00
hypermistandClaude Opus 5.5 4506a0b7e7 fix(libSceSystemService): return what the firmware returns from 26 calls it does not implement
The clock, GPU CU count, activation and VR play zone calls return 0;
AcquireFb0, ReleaseFb0, the party voice and voice recognition calls and
LoadExecVideoServiceWebApp return 0x80A10002; LaunchUdsApp and
RequestToChangeRenderingMode return 0x80A10005. The firmware bodies of
these exports are a single return of that value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 22:35:24 +13:00
alosta 2dc56f37c3 feat(libs): add unimplemented PS5 system library stubs and debt docs
Add boilerplate stubs for libSceAt9Enc, libSceAudiodecCpu, libSceAudiodecCpuHevag,
libSceM4aacEnc, libSceSulpha, libSceCamera, and libSceDepth2, each exporting its
known NIDs via NotImplemented_nid_no_patch. Include debt documentation with
sysmodule IDs and (where available) orbital-derived signatures.

Add sceSystemServiceShowDisplaySafeAreaSettings as a silent success stub and
document it under Silent stubs.

AI-assisted: yes
2026-10-20 03:21:07 +01:00
Adrià ad61cafde0 Merge pull request #7821 from xdCloudy/feat/ps5-system-services-exports
feat(libs): declare system service import stubs for OS 3.20 compatibility
2026-10-20 04:12:34 +02:00
Adrià ebb478c055 Merge pull request #6939 from milescoviello/fix/systemservice-psmkit-exports
fix(libSceSystemService): declare the PsmKit local process exports
2026-10-19 16:05:00 +02:00
xdCloudy 86083c6267 feat(libs): declare PS5 system service firmware exports 2026-10-19 09:56:57 +01:00
Evgeniy Kazarin 529dbb0480 fix(agc): preserve pipeline caches on immediate guest exit 2026-10-18 14:25:38 -04:00
mugurc f347461351 feat(libSceSystemService): LoadExec on macOS hosts
sceSystemServiceLoadExec found its own executable through /proc/self/exe
and replaced the process with fexecve after close_range, none of which
macOS has, so on macOS every call except "exit" threw. On macOS:

- the running executable's path comes from _NSGetExecutablePath, resolved
  with std::filesystem::canonical, as libSceNpEntitlementAccess and
  libSceFont already do;
- the target must be an x86-64 Mach-O executable (MH_MAGIC_64,
  CPU_TYPE_X86_64, MH_EXECUTE) that the user may run;
- macOS has no fexecve, so the process is replaced by path with
  posix_spawn and POSIX_SPAWN_SETEXEC; POSIX_SPAWN_CLOEXEC_DEFAULT closes
  every descriptor but the standard streams, as close_range does on Linux;
- before the replacement the exit starts and the shutdown callbacks run
  (LibcStartExit, then LibcRunShutdown), as on Linux, so guest threads
  that call a stopped library wait instead of unwinding;
- descriptor 2 gets the host standard error back before the replacement,
  as on Linux, and guest_system_load_exec_standard_error runs on macOS.

A launch without arguments keeps the Linux execv path, which macOS has.
guest_system_exit finds its own executable the same way on macOS.
2026-10-18 16:05:07 +03:00
Yunus Shaikh 619257798a refactor(libSceSystemService): share the console language setting
SystemServiceConsoleLanguage in SystemService.hpp reads ANYPS5_LANGUAGE
with the same default, range and error as sceSystemServiceParamGetInt,
which now calls it. Other libraries can pick the console language
without linking libSceSystemService.
2026-10-17 23:20:43 +00:00
milescovielloandClaude Opus 5.5 f69e6c0934 fix(libSceSystemService): declare the PsmKit local process exports
Forever Launcher (PPSA99030) imports sceSystemServiceAddLocalProcessForPsmKit
and sceSystemServiceKillLocalProcessForPsmKit and stops at load without
them. AnyPS5 runs one process and starts no other, so both throw without
reading their arguments. The parameters follow the title's own firmware
probes (path, argv and a 0x90-byte parameter block; the kill takes the
returned handle), and the unknown results are recorded as technical debt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 20:43:32 +00:00