21 Commits
Author SHA1 Message Date
boykopovar b35e344585 fix(systemservice): restore browser launch signature and validation 2026-10-21 21:54:54 +03:00
boykopovar a8cb8345cd fix(systemservice): validate system name buffers and termination 2026-10-21 21:49:53 +03: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 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
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 <noreply@anthropic.com>
2026-10-20 19:41:19 -03:00
KernelPanicNT fe04a3c299 feat(libSceSystemService): fill the player dialog param as the console does 2026-10-20 09:44:57 +00:00
alosta 93a2bcba57 test(libSceSystemService): cover the display safe area settings stub
sceSystemServiceShowDisplaySafeAreaSettings returns success without
showing anything, so check the result through the existing guest test.

AI-assisted: yes
2026-10-20 03:21:07 +01: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
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 <noreply@anthropic.com>
2026-10-17 20:43:32 +00:00
xXPBSXxandClaude Sonnet 5.5 018edc8cbd test(libSceSystemService): cover status, safe area, notice screen and event defaults
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 07:04:18 +02:00
ducloc080202 4aff906ca6 feat(libSceSystemService): no-op sceSystemServiceOpenChallengeActivity 2026-10-13 16:41:40 +07:00
ducloc080202 46c7766f4f feat(libSceSystemService): no-op sceSystemServiceShowControllerSettings 2026-10-13 16:05:00 +07:00
overlordxrz-source aaf5754d27 feat(libSceSystemService): export sceSystemServiceLaunchApp
AI-assisted: yes
2026-10-11 03:48:47 -04:00
LuisBiceps 50ee20c7fc Merge remote-tracking branch 'upstream/main' into feat/system-service-web-browser-unavailable 2026-10-09 20:40:00 +08:00
LuisBiceps a551d3ee36 fix(libSceSystemService): match RommPS's web browser signature and test any arguments
The param is void*, as RommPS declares it. The test also passes a null and an empty URI and a param that must stay untouched, and compares against 0x8002002D itself. The debt entries now say the error is returned for any arguments and that the param layout and the console's argument checks are unknown.
2026-10-09 14:40:31 +08:00
LuisBiceps 9f7e2ca75d feat(libSceSystemService): report the web browser as unavailable
sceSystemServiceLaunchWebBrowser fails with the kernel's EOPNOTSUPP: there is no web browser to open. RommPS PPSA76677 stops on main at this import and shows a QR code instead when the browser does not open.
2026-10-09 14:31:04 +08:00
st44rplatinum 7894cda94d feat(libSceSystemService): implement Disable/ReenableMediaPlay 2026-10-08 18:35:19 +03:00
Adrià FranchandClaude 04ed454f75 feat(libSceSystemService): implement Disable/ReenableMusicPlayer
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 15:16:45 +02:00
Adrià FranchandClaude aed4f3a25c feat(systemservice): implement PowerTick and ReportAbnormalTermination
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 00:29:42 +02:00
Celegans12andClaude Opus 5.5 15b191ef6a feat(systemservice): implement sceSystemServiceParamGetString
The export threw, and titles query the system name during startup.
Parameter 6 (the system name) now writes the fixed name "PS5" into a
buffer of at least SYSTEM_SERVICE_MAX_SYSTEM_NAME_LENGTH (65) bytes.
A null buffer or a zero size returns SYSTEM_SERVICE_ERROR_PARAMETER,
as in KytyPS5. Other parameter ids and buffers of 1 to 64 bytes still
throw, because no PS5 source gives their result. guest_system_service
covers the error rows, both throws and the returned name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 17:51:52 +02:00
Dean Galvin 6c98b6be58 feat(systemservice): report the SDR tone-map luminance
sceSystemServiceGetHdrToneMapLuminance was NotImplemented. Titles read
it at startup to set up their HDR tone mapping.

The presenter always outputs through a B8G8R8A8 sRGB-nonlinear swapchain,
so the display range the title has to map into is SDR: the maximum and
full-frame maximum luminance are the 100 cd/m2 SDR reference white and
the minimum is 0. A null output pointer returns
SYSTEM_SERVICE_ERROR_PARAMETER like the other getters here.
2026-09-29 13:56:45 +13:00