mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
AnyPS5 resolves a title's imports by NID, so a title that imports a system function that no AnyPS5 library provides fails to load with an unresolved import. This declares 222 such exports across 11 PS5 system libraries that AnyPS5 implements but does not provide. Each declaration calls NotImplemented_nid_no_patch and returns 0; none of them implements the function. A declaration with a credible prototype uses it and cites the source with a pinned commit; the rest are declared without parameters, which resolves the import without making an ABI claim. The technical-debt files record the limitation per library. The list is the intersection of the export table of the console's library (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Every name recomputes to its NID with tools/nid_names.py. libSceAudio3d and libSceVoice are left out because #8331 declares them.
5.3 KiB
5.3 KiB
libSceAppContent technical debt
Unknown function info
- sceAppContentAddcontEnqueueDownloadByEntitlemetId, sceAppContentAddcontEnqueueDownloadSp, sceAppContentAddcontMountByEntitlemetId, sceAppContentAddcontShrink, sceAppContentAppParamGetString, sceAppContentDownload0Expand, sceAppContentDownload0Shrink, sceAppContentDownload1Expand, sceAppContentDownload1Shrink (libSceAppContent) - the list is the intersection of the export table of the console's libSceAppContent (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. No credible prototypes were found; they are declared without parameters solely to resolve known imports, not as an ABI claim, and callers must not call them until signatures are verified.
- sceAppContentGetAddcontInfoByEntitlementId, sceAppContentGetAddcontInfoListByIroTag, sceAppContentGetDownloadedStoreCountry, sceAppContentGetEntitlementKey, sceAppContentGetPftFlag, sceAppContentGetRegion, sceAppContentRequestPatchInstall, sceAppContentTemporaryDataMount (libSceAppContent) - the list is the intersection of the export table of the console's libSceAppContent (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. No credible prototypes were found; they are declared without parameters solely to resolve known imports, not as an ABI claim, and callers must not call them until signatures are verified.
- sceAppContentDownloadDataGetAvailableSpaceKb (libSceAppContent) - a title whose
param.jsondeclaresdownloadDataSize0 gets 0 KB and OK; the console's behaviour for a title without a download data area is unverified (it may return an error instead). KytyPS5 does not special-case it, and shadPS4 stubs 1048576 KB - sceAppContentDownloadDataFormat (libSceAppContent) - empties the
/download0directory, creating it if needed. Imported by PPSA01317. A null mount point returnsPARAMETERand another mount point returnsNOT_MOUNTEDas insceAppContentTemporaryDataFormatandsceAppContentDownloadDataGetAvailableSpaceKb; the console's error codes for both and its behaviour with files still open are unverified
Functional
- Additional content (libSceAppContent) is not installed or mounted:
sceAppContentAddcontMountanswersNOT_FOUNDfor every entitlement label andsceAppContentAddcontUnmountfor every mount point, as no add-content mount is ever handed out;sceAppContentGetAddcontInfoanswersDRM_NO_ENTITLEMENTfor every label andsceAppContentGetAddcontInfoListreports 0 entries;sceAppContentAddcontEnqueueDownloadanswersPARAMETERfor a null label andNOT_FOUNDotherwise, since no download is ever queued;sceAppContentAddcontDeleteanswersPARAMETERfor a null label andNOT_FOUNDotherwise, since no additional content is ever installed.sceAppContentGetAddcontDownloadProgressanswersPARAMETERfor a null label or progress andNOT_FOUNDotherwise, as dlc_emu does for a label that is not installed additional content, and never writes the progress. Its 16-byte layout (DataSize, thenDownloadedSize, both 64-bit) follows SharpProspero and is unused here. The signatures ofsceAppContentAddcontEnqueueDownloadandsceAppContentGetAddcontDownloadProgressfollow SharpProspero, and the signature ofsceAppContentAddcontDeletefollows dlc_emu; dlc_emu is not a console measurement and no console source gives the error codes, so the signatures and the error codes are unverified - Temporary app-content storage tracks one
/temp0mount, preserves its files on unmount, and rejects new path resolutions until remount. Mount, format, space-query and unmount errors follow fpPS4; the pointer ABI is also declared by SharpProspero. Existing open host descriptors remain usable after unmount; console behaviour with open files is unverified. Host filesystem failures still throw.