From 204334bdcf937a18e34c962edbe5938e1a50fe14 Mon Sep 17 00:00:00 2001 From: juanpimg Date: Wed, 28 Oct 2026 19:45:36 +0100 Subject: [PATCH 1/3] feat(prx): declare the missing libSceAppInstUtil and libSceAudioIn exports --- core/libs/prx/libSceAppInstUtil/Export.cpp | 35 ++++++++++++++++++++++ core/libs/prx/libSceAudioIn/Export.cpp | 30 +++++++++++++++++++ docs/dev/debt/libSceAppInstUtil.md | 2 ++ docs/dev/debt/libSceAudioIn.md | 1 + 4 files changed, 68 insertions(+) diff --git a/core/libs/prx/libSceAppInstUtil/Export.cpp b/core/libs/prx/libSceAppInstUtil/Export.cpp index 51721067a851..e5481ca70612 100644 --- a/core/libs/prx/libSceAppInstUtil/Export.cpp +++ b/core/libs/prx/libSceAppInstUtil/Export.cpp @@ -573,4 +573,39 @@ int APS5_VABI sceAppInstUtilInstallAddons(void) { return 0; } +int APS5_VABI sceAppInstUtilAppConvertAppDiscToDownload(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppGetCustomThemeInfo(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppGetInstallAddcontFromDiscStatus(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppInstallCloudGame(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppInstallMediaPlayer(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppInstallRequestAddcontFromDisc(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAppInstUtilAppSetSavedataUploadStatus(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/core/libs/prx/libSceAudioIn/Export.cpp b/core/libs/prx/libSceAudioIn/Export.cpp index b1d4089ca1cb..b536ac63b9fe 100644 --- a/core/libs/prx/libSceAudioIn/Export.cpp +++ b/core/libs/prx/libSceAudioIn/Export.cpp @@ -367,4 +367,34 @@ int APS5_VABI sceAudioInInputs(void) { return 0; } +int APS5_VABI sceAudioInExtClose(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAudioInExtInput(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAudioInExtOpen(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAudioInExtSetAecMode(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAudioInSetConnectionsForUser(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + +int APS5_VABI sceAudioInSetFocusForUser(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/docs/dev/debt/libSceAppInstUtil.md b/docs/dev/debt/libSceAppInstUtil.md index 28ed171a1154..544bf0a43fc2 100644 --- a/docs/dev/debt/libSceAppInstUtil.md +++ b/docs/dev/debt/libSceAppInstUtil.md @@ -103,3 +103,5 @@ - [sceAppInstUtilGetNeededStorageSize](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilAppGetStorageDestType](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilInstallAddons](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature +- [sceAppInstUtilAppConvertAppDiscToDownload, sceAppInstUtilAppGetCustomThemeInfo, sceAppInstUtilAppGetInstallAddcontFromDiscStatus and sceAppInstUtilAppInstallCloudGame](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - The list is the intersection of the export table of the console's libSceAppInstUtil (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Names and NIDs are present in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAppInstUtil.c) and the [verified NID name database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv), but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified. +- [sceAppInstUtilAppInstallMediaPlayer, sceAppInstUtilAppInstallRequestAddcontFromDisc and sceAppInstUtilAppSetSavedataUploadStatus](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - The list is the intersection of the export table of the console's libSceAppInstUtil (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Names and NIDs are present in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAppInstUtil.c) and the [verified NID name database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv), but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified. diff --git a/docs/dev/debt/libSceAudioIn.md b/docs/dev/debt/libSceAudioIn.md index 6b52f9007cdd..a8a3e50e6961 100644 --- a/docs/dev/debt/libSceAudioIn.md +++ b/docs/dev/debt/libSceAudioIn.md @@ -36,6 +36,7 @@ - [sceAudioInSetMode2](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature - [sceAudioInExtCtrl](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature - [sceAudioInInputs](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature +- [sceAudioInExtClose, sceAudioInExtInput, sceAudioInExtOpen, sceAudioInExtSetAecMode, sceAudioInSetConnectionsForUser and sceAudioInSetFocusForUser](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - The list is the intersection of the export table of the console's libSceAudioIn (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Names and NIDs are present in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAudioIn.c) and the [verified NID name database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv), but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified. - 6 additional pending imports in [InventoryExports.cpp](../../../core/libs/prx/libSceAudioIn/InventoryExports.cpp) are listed in the local PS5 3.20 export inventory `libSceAudioIn.c`. Their signatures and behavior are unverified; each uses the no-parameter unknown-signature convention and throws through `NotImplemented_nid_no_patch`, for import resolution only. From d777565be0e37bf2e3cece017809f211344fd255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0?= Date: Thu, 29 Oct 2026 16:05:55 +0100 Subject: [PATCH 2/3] fix(prx): declare the new libSceAppInstUtil and libSceAudioIn exports in their public headers Co-Authored-By: Claude Sonnet 5.5 --- core/libs/prx/libSceAppInstUtil/include/Api.hpp | 7 +++++++ core/libs/prx/libSceAudioIn/include/AudioIn.hpp | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/core/libs/prx/libSceAppInstUtil/include/Api.hpp b/core/libs/prx/libSceAppInstUtil/include/Api.hpp index eeb9b40a3136..9d2a586d5124 100644 --- a/core/libs/prx/libSceAppInstUtil/include/Api.hpp +++ b/core/libs/prx/libSceAppInstUtil/include/Api.hpp @@ -124,5 +124,12 @@ int APS5_VABI sceAppInstUtilRestoreDataSource(void); int APS5_VABI sceAppInstUtilGetNeededStorageSize(void); int APS5_VABI sceAppInstUtilAppGetStorageDestType(void); int APS5_VABI sceAppInstUtilInstallAddons(void); +int APS5_VABI sceAppInstUtilAppConvertAppDiscToDownload(void); +int APS5_VABI sceAppInstUtilAppGetCustomThemeInfo(void); +int APS5_VABI sceAppInstUtilAppGetInstallAddcontFromDiscStatus(void); +int APS5_VABI sceAppInstUtilAppInstallCloudGame(void); +int APS5_VABI sceAppInstUtilAppInstallMediaPlayer(void); +int APS5_VABI sceAppInstUtilAppInstallRequestAddcontFromDisc(void); +int APS5_VABI sceAppInstUtilAppSetSavedataUploadStatus(void); } diff --git a/core/libs/prx/libSceAudioIn/include/AudioIn.hpp b/core/libs/prx/libSceAudioIn/include/AudioIn.hpp index f4d273aab62e..ad05baec7499 100644 --- a/core/libs/prx/libSceAudioIn/include/AudioIn.hpp +++ b/core/libs/prx/libSceAudioIn/include/AudioIn.hpp @@ -46,5 +46,11 @@ int APS5_VABI sceAudioInSetMode(void); int APS5_VABI sceAudioInSetMode2(void); int APS5_VABI sceAudioInExtCtrl(void); int APS5_VABI sceAudioInInputs(void); +int APS5_VABI sceAudioInExtClose(void); +int APS5_VABI sceAudioInExtInput(void); +int APS5_VABI sceAudioInExtOpen(void); +int APS5_VABI sceAudioInExtSetAecMode(void); +int APS5_VABI sceAudioInSetConnectionsForUser(void); +int APS5_VABI sceAudioInSetFocusForUser(void); } From a2498411c70275e38960f9f707fe5625bfaa3027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0?= Date: Fri, 30 Oct 2026 02:34:46 +0100 Subject: [PATCH 3/3] fix(prx): drop the libSceAudioIn declarations that main now exports as pending NIDs Co-Authored-By: Claude Sonnet 5.5 --- core/libs/prx/libSceAudioIn/Export.cpp | 30 ------------------- .../prx/libSceAudioIn/include/AudioIn.hpp | 6 ---- docs/dev/debt/libSceAudioIn.md | 1 - 3 files changed, 37 deletions(-) diff --git a/core/libs/prx/libSceAudioIn/Export.cpp b/core/libs/prx/libSceAudioIn/Export.cpp index b536ac63b9fe..b1d4089ca1cb 100644 --- a/core/libs/prx/libSceAudioIn/Export.cpp +++ b/core/libs/prx/libSceAudioIn/Export.cpp @@ -367,34 +367,4 @@ int APS5_VABI sceAudioInInputs(void) { return 0; } -int APS5_VABI sceAudioInExtClose(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - -int APS5_VABI sceAudioInExtInput(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - -int APS5_VABI sceAudioInExtOpen(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - -int APS5_VABI sceAudioInExtSetAecMode(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - -int APS5_VABI sceAudioInSetConnectionsForUser(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - -int APS5_VABI sceAudioInSetFocusForUser(void) { - NotImplemented_nid_no_patch(__func__); - return 0; -} - } diff --git a/core/libs/prx/libSceAudioIn/include/AudioIn.hpp b/core/libs/prx/libSceAudioIn/include/AudioIn.hpp index ad05baec7499..f4d273aab62e 100644 --- a/core/libs/prx/libSceAudioIn/include/AudioIn.hpp +++ b/core/libs/prx/libSceAudioIn/include/AudioIn.hpp @@ -46,11 +46,5 @@ int APS5_VABI sceAudioInSetMode(void); int APS5_VABI sceAudioInSetMode2(void); int APS5_VABI sceAudioInExtCtrl(void); int APS5_VABI sceAudioInInputs(void); -int APS5_VABI sceAudioInExtClose(void); -int APS5_VABI sceAudioInExtInput(void); -int APS5_VABI sceAudioInExtOpen(void); -int APS5_VABI sceAudioInExtSetAecMode(void); -int APS5_VABI sceAudioInSetConnectionsForUser(void); -int APS5_VABI sceAudioInSetFocusForUser(void); } diff --git a/docs/dev/debt/libSceAudioIn.md b/docs/dev/debt/libSceAudioIn.md index a8a3e50e6961..6b52f9007cdd 100644 --- a/docs/dev/debt/libSceAudioIn.md +++ b/docs/dev/debt/libSceAudioIn.md @@ -36,7 +36,6 @@ - [sceAudioInSetMode2](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature - [sceAudioInExtCtrl](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature - [sceAudioInInputs](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - unknown signature -- [sceAudioInExtClose, sceAudioInExtInput, sceAudioInExtOpen, sceAudioInExtSetAecMode, sceAudioInSetConnectionsForUser and sceAudioInSetFocusForUser](../../../core/libs/prx/libSceAudioIn/Export.cpp) (libSceAudioIn) - The list is the intersection of the export table of the console's libSceAudioIn (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Names and NIDs are present in the [PS5 3.20 export inventory](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAudioIn.c) and the [verified NID name database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv), but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified. - 6 additional pending imports in [InventoryExports.cpp](../../../core/libs/prx/libSceAudioIn/InventoryExports.cpp) are listed in the local PS5 3.20 export inventory `libSceAudioIn.c`. Their signatures and behavior are unverified; each uses the no-parameter unknown-signature convention and throws through `NotImplemented_nid_no_patch`, for import resolution only.