Merge pull request #992 from CnRJay/feat/ppsa23566-missing-exports

feat(libs): declare the exports PPSA23566 imports that no library provides
This commit is contained in:
Dean 2026-10-07 13:02:56 +13:00 committed by GitHub
commit fde401d41f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 182 additions and 0 deletions

View File

@ -29,4 +29,9 @@ int APS5_VABI sceAudioOut2SetSystemDebugState(const AudioOut2SystemDebugStatePar
return 0;
}
int APS5_VABI sceAudioOut2UserGetSupportedAttributes(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -21,4 +21,10 @@ int APS5_VABI sceConvertKeycodeGetVirtualKeycode(std::uint64_t a0, std::uint64_t
static_cast<unsigned long long>(a0), static_cast<unsigned long long>(a1), static_cast<unsigned long long>(a2), static_cast<unsigned long long>(a3));
return kErrInvalidAddress;
}
int APS5_VABI sceConvertKeycodeGetCharacterFromKeyboardData(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -369,4 +369,25 @@ int APS5_VABI sceHttpGetLastErrno(int request_id, int* errno_out) {
*errno_out = 0;
return 0;
}
int APS5_VABI sceHttpsGetSslError(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceHttpSetCookieRecvCallback(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceHttpsSetSslVersion(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceHttpSetRedirectCallback(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -803,4 +803,14 @@ int APS5_VABI _ZN3sce4Json11Initializer10initializeEPKNS0_14InitParameter2E(void
return 0;
}
int APS5_VABI _ZN3sce4Json5Value5clearEv(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI _ZN3sce4Json12MemAllocator11notifyErrorEimPv(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -1048,4 +1048,9 @@ int APS5_VABI sceNetResolverGetError(int rid, int* status) {
return 0;
}
int APS5_VABI sceNetResolverAbort(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -79,4 +79,9 @@ int APS5_VABI sceNpCommerceSetPsStoreIconLayout(int layout) {
return 0;
}
int APS5_VABI sceNpCommerceDialogOpen2(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -144,4 +144,9 @@ int APS5_VABI sceNpEntitlementAccessRequestUnifiedEntitlementInfo(void) {
return 0;
}
int APS5_VABI sceNpEntitlementAccessGetPftFlag(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -0,0 +1,17 @@
#include "prx/libc/include/General.hpp"
extern "C" {
APS5_EXPORT("7CxI50-xlCk", sceNpPartnerUnknown_7CxI50_MxlCk);
int APS5_VABI sceNpPartnerUnknown_7CxI50_MxlCk(void) {
NotImplemented_nid_no_patch("7CxI50-xlCk");
return 0;
}
APS5_EXPORT("pMxXhNozUX8", sceNpPartnerUnknown_pMxXhNozUX8);
int APS5_VABI sceNpPartnerUnknown_pMxXhNozUX8(void) {
NotImplemented_nid_no_patch("pMxXhNozUX8");
return 0;
}
}

View File

@ -0,0 +1,25 @@
#include "prx/libc/include/General.hpp"
extern "C" {
int APS5_VABI sceProprietaryVoiceChatHelperGetVoiceChatUsageState(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceProprietaryVoiceChatHelperInitialize(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceProprietaryVoiceChatHelperSetVoiceChatState(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceProprietaryVoiceChatHelperTerminate(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -105,4 +105,58 @@ int APS5_VABI scePsmlUnknown_jEevBXmagOQ() {
return 0;
}
APS5_EXPORT("0GAw7SmkwII", scePsmlMfsr2Unknown_0GAw7SmkwII);
int APS5_VABI scePsmlMfsr2Unknown_0GAw7SmkwII(void) {
NotImplemented_nid_no_patch("0GAw7SmkwII");
return 0;
}
APS5_EXPORT("1ic5q-kdOsc", scePsmlMfsr2Unknown_1ic5q_MkdOsc);
int APS5_VABI scePsmlMfsr2Unknown_1ic5q_MkdOsc(void) {
NotImplemented_nid_no_patch("1ic5q-kdOsc");
return 0;
}
APS5_EXPORT("5z2gBlqxJ+0", scePsmlMfsr2Unknown_5z2gBlqxJ_P0);
int APS5_VABI scePsmlMfsr2Unknown_5z2gBlqxJ_P0(void) {
NotImplemented_nid_no_patch("5z2gBlqxJ+0");
return 0;
}
APS5_EXPORT("Kyy1baXgaVU", scePsmlMfsr2Unknown_Kyy1baXgaVU);
int APS5_VABI scePsmlMfsr2Unknown_Kyy1baXgaVU(void) {
NotImplemented_nid_no_patch("Kyy1baXgaVU");
return 0;
}
APS5_EXPORT("ZLL31lzzxr4", scePsmlMfsr2Unknown_ZLL31lzzxr4);
int APS5_VABI scePsmlMfsr2Unknown_ZLL31lzzxr4(void) {
NotImplemented_nid_no_patch("ZLL31lzzxr4");
return 0;
}
APS5_EXPORT("gMduXCLYrNg", scePsmlMfsr2Unknown_gMduXCLYrNg);
int APS5_VABI scePsmlMfsr2Unknown_gMduXCLYrNg(void) {
NotImplemented_nid_no_patch("gMduXCLYrNg");
return 0;
}
APS5_EXPORT("lrJwpLjKXRc", scePsmlMfsr2Unknown_lrJwpLjKXRc);
int APS5_VABI scePsmlMfsr2Unknown_lrJwpLjKXRc(void) {
NotImplemented_nid_no_patch("lrJwpLjKXRc");
return 0;
}
APS5_EXPORT("m9JLPc3wOQw", scePsmlMfsr2Unknown_m9JLPc3wOQw);
int APS5_VABI scePsmlMfsr2Unknown_m9JLPc3wOQw(void) {
NotImplemented_nid_no_patch("m9JLPc3wOQw");
return 0;
}
APS5_EXPORT("o+NM86gEwFE", scePsmlMfsr2Unknown_o_PNM86gEwFE);
int APS5_VABI scePsmlMfsr2Unknown_o_PNM86gEwFE(void) {
NotImplemented_nid_no_patch("o+NM86gEwFE");
return 0;
}
}

View File

@ -209,4 +209,24 @@ int APS5_VABI sceVoiceSetMuteFlag() {
return 0;
}
int APS5_VABI sceVoiceGetResourceInfo(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceVoiceEnableChat(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceVoiceResetPort(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceVoiceDisableChat(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}

View File

@ -6,6 +6,7 @@
#include "../include/Pthread.hpp"
#include "Common.hpp"
#include "prx/libkernel/KernelErrors.hpp"
#include <chrono>
#include <thread>
extern "C" {
@ -102,4 +103,9 @@ void APS5_VABI pthread_yield_nid_postfix(void) {
std::this_thread::yield();
}
unsigned int APS5_VABI sleep_nid_postfix(unsigned int seconds) {
std::this_thread::sleep_for(std::chrono::seconds(seconds));
return 0;
}
}

View File

@ -31,6 +31,9 @@ Throughout the project, every function at every stage either **does exactly what
### Unknown function info
- [7CxI50-xlCk, pMxXhNozUX8](../../core/libs/prx/libSceNpPartner001/Export.cpp) (libSceNpPartner001) - unknown names and signatures, imported by PPSA23566; declared without parameters
- [0GAw7SmkwII, 1ic5q-kdOsc, 5z2gBlqxJ+0, Kyy1baXgaVU, ZLL31lzzxr4, gMduXCLYrNg, lrJwpLjKXRc, m9JLPc3wOQw, o+NM86gEwFE](../../core/libs/prx/libScePsml_debug/Export.cpp) (libScePsml_mfsr2) - unknown names and signatures, imported by PPSA23566; declared without parameters
- PPSA23566 imports declared without parameters, signatures unknown: [sceAudioOut2UserGetSupportedAttributes](../../core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp), [sceConvertKeycodeGetCharacterFromKeyboardData](../../core/libs/prx/libSceConvertKeycode/Export.cpp), [sceHttpSetCookieRecvCallback, sceHttpSetRedirectCallback, sceHttpsGetSslError, sceHttpsSetSslVersion](../../core/libs/prx/libSceHttp/Export.cpp), [sce::Json::MemAllocator::notifyError, sce::Json::Value::clear](../../core/libs/prx/libSceJson2/Export.cpp), [sceNetResolverAbort](../../core/libs/prx/libSceNet/Export.cpp), [sceNpCommerceDialogOpen2](../../core/libs/prx/libSceNpCommerce/Export.cpp), [sceNpEntitlementAccessGetPftFlag](../../core/libs/prx/libSceNpEntitlementAccess/Export.cpp), [sceProprietaryVoiceChatHelper{Initialize,Terminate,SetVoiceChatState,GetVoiceChatUsageState}](../../core/libs/prx/libSceProprietaryVoiceChatHelperPrx/Export.cpp), [sceVoice{GetResourceInfo,ResetPort,EnableChat,DisableChat}](../../core/libs/prx/libSceVoice/Export.cpp). Names from the shadPS4 aerolib NID list
- [sceAvPlayerAddSource](../../core/libs/prx/libSceAvPlayer/src/Source.cpp) (libSceAvPlayer) - requests up to 4 additional decode-ahead video framebuffers from the memory replacement beyond `num_output_video_framebuffers` when memory is available; the console's internal buffering behaviour is unknown
- [sceVideoOutRegisterBuffers2](../../core/libs/prx/libSceVideoOut/src/Buffer.cpp) (libSceVideoOut) - buffer option 8 (STRICT_COLORIMETRY) is presented as option 0, with the stored values unchanged; what the console changes for it is unknown. Only options 0 and 8 are accepted
- [sceVideoOutRegisterBuffers2](../../core/libs/prx/libSceVideoOut/src/Buffer.cpp) (libSceVideoOut) - DCC buffers (category 1): `dcc_control` is taken as the CB_DCC_CONTROL block layout, only bits 0x10026c are accepted; `dcc_cb_register_clear_color` as the register-clear texel, only 32-bit values are presented