Commit Graph
4 Commits
Author SHA1 Message Date
Yunus Shaikh 4a815a8bf5 feat(libSceSystemService): report no disc drive, USB storage, app move or PS2 emulator
AnyPS5 runs the title from its folder as /app0 and models none of these:
libSceDiscId and sceKernelHwGetBdDriveInfo throw, every libSceUsbStorage
device call throws, sceShellCoreUtilDeclareBeginOfExternalStorageAppMove
throws, and sceSystemServiceAddLocalProcessForPs2Emu throws, so the
running process is always the title's own PS5 executable.

sceSystemStateMgrIsBdDriveReady, sceShellCoreUtilIsUsbMassStorageMounted
and sceShellCoreUtilIsExternalStorageAppMoveInProgress return false, and
sceLncUtilIsPs2Emu writes false. A null output to sceLncUtilIsPs2Emu
throws, since no sceLncUtil function in the tree answers one.
2026-10-22 02:38:17 +00:00
Yunus Shaikh 81fd4e5dda feat(libSceSystemService): report the absent shell UI and PS VR
AnyPS5 has no shell UI: sceSystemServiceGetStatus never reports a system
UI overlay or background execution, and the host has no auto power-off
timer. The shell UI therefore never takes the foreground, overlays the
impose screen, runs a screen saver or shuts down, and those queries
return false.

libSceHmd detects no headset, so there is no PS VR social screen and the
logged-in user's eye-to-eye distance was never adjusted. Another user ID
throws, since the console's error for it is not measured.

The sceSystemService twins forward to their sceShellCoreUtil and
sceLncUtil targets. sceSystemServiceIsEyeToEyeDistanceAdjusted returns
SYSTEM_SERVICE_ERROR_PARAMETER for a null output before forwarding, as
its neighbours do, and the sceShellCoreUtil forms throw for one.
2026-10-22 02:38:17 +00:00
Yunus Shaikh a2e9ffd89c feat(libSceSystemService): report no Remote Play, Share Play or broadcast
The status queries answer from what the tree already reports for these
services: libSceRemoteplay's connection status is DISCONNECT,
libSceSharePlay has neither a host nor a visitor, and
libSceGameLiveStreaming's status has isOnAir false. The ShellCore
setters that would change these answers throw.

sceSystemServiceGetRemoteplayStatus and
sceSystemServiceIsGameLiveStreamingOnAir forward to their
sceShellCoreUtil twins. sceSystemServiceGetRemoteplayStatus returns
SYSTEM_SERVICE_ERROR_PARAMETER for a null output before forwarding, as
sceSystemServiceGetNoticeScreenSkipFlag does. No sceShellCoreUtil
function in the tree answers a null output, so the sceShellCoreUtil
forms throw for one.
2026-10-22 02:38:17 +00:00
Yunus Shaikh 2cfa852a40 feat(libSceSystemService): answer suspend blocks and notifications
AnyPS5 never suspends the running title: sceSystemServiceGetStatus never
reports background execution and sceSystemServiceReceiveEvent has no
event to deliver. Enabling or disabling the suspend notification, and
blocking or unblocking a suspend, therefore change nothing and return
success. The sceSystemService notification calls forward to their
sceLncUtil twins.

A null reason and an unblock with no block left throw, since the
console's answers to them are not measured.

The new guest_system_service_status tests check each answer.
2026-10-22 01:37:59 +00:00