diff --git a/core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp b/core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp index cc3fdc2ea..67d66b44b 100644 --- a/core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp +++ b/core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp @@ -29,4 +29,9 @@ int APS5_VABI sceAudioOut2SetSystemDebugState(const AudioOut2SystemDebugStatePar return 0; } +int APS5_VABI sceAudioOut2UserGetSupportedAttributes(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/core/libs/prx/libSceConvertKeycode/Export.cpp b/core/libs/prx/libSceConvertKeycode/Export.cpp index b643fcbb6..2ac60a0cd 100644 --- a/core/libs/prx/libSceConvertKeycode/Export.cpp +++ b/core/libs/prx/libSceConvertKeycode/Export.cpp @@ -21,4 +21,10 @@ int APS5_VABI sceConvertKeycodeGetVirtualKeycode(std::uint64_t a0, std::uint64_t static_cast(a0), static_cast(a1), static_cast(a2), static_cast(a3)); return kErrInvalidAddress; } + +int APS5_VABI sceConvertKeycodeGetCharacterFromKeyboardData(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/core/libs/prx/libSceHttp/Export.cpp b/core/libs/prx/libSceHttp/Export.cpp index 1d10d5348..16eca0b4a 100644 --- a/core/libs/prx/libSceHttp/Export.cpp +++ b/core/libs/prx/libSceHttp/Export.cpp @@ -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; +} + } diff --git a/core/libs/prx/libSceJson2/Export.cpp b/core/libs/prx/libSceJson2/Export.cpp index 363c59cde..0d7e33f95 100644 --- a/core/libs/prx/libSceJson2/Export.cpp +++ b/core/libs/prx/libSceJson2/Export.cpp @@ -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; +} + } diff --git a/core/libs/prx/libSceNet/Export.cpp b/core/libs/prx/libSceNet/Export.cpp index bd02f7958..c93975c43 100644 --- a/core/libs/prx/libSceNet/Export.cpp +++ b/core/libs/prx/libSceNet/Export.cpp @@ -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; +} + } diff --git a/core/libs/prx/libSceNpCommerce/Export.cpp b/core/libs/prx/libSceNpCommerce/Export.cpp index 6b2bd01d9..525178f39 100644 --- a/core/libs/prx/libSceNpCommerce/Export.cpp +++ b/core/libs/prx/libSceNpCommerce/Export.cpp @@ -79,4 +79,9 @@ int APS5_VABI sceNpCommerceSetPsStoreIconLayout(int layout) { return 0; } +int APS5_VABI sceNpCommerceDialogOpen2(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/core/libs/prx/libSceNpEntitlementAccess/Export.cpp b/core/libs/prx/libSceNpEntitlementAccess/Export.cpp index 31fa46049..61f27d29e 100644 --- a/core/libs/prx/libSceNpEntitlementAccess/Export.cpp +++ b/core/libs/prx/libSceNpEntitlementAccess/Export.cpp @@ -144,4 +144,9 @@ int APS5_VABI sceNpEntitlementAccessRequestUnifiedEntitlementInfo(void) { return 0; } +int APS5_VABI sceNpEntitlementAccessGetPftFlag(void) { + NotImplemented_nid_no_patch(__func__); + return 0; +} + } diff --git a/core/libs/prx/libSceNpPartner001/Export.cpp b/core/libs/prx/libSceNpPartner001/Export.cpp new file mode 100644 index 000000000..ef5b77a1f --- /dev/null +++ b/core/libs/prx/libSceNpPartner001/Export.cpp @@ -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; +} + +} diff --git a/core/libs/prx/libSceProprietaryVoiceChatHelperPrx/Export.cpp b/core/libs/prx/libSceProprietaryVoiceChatHelperPrx/Export.cpp new file mode 100644 index 000000000..882e6e92c --- /dev/null +++ b/core/libs/prx/libSceProprietaryVoiceChatHelperPrx/Export.cpp @@ -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; +} + +} diff --git a/core/libs/prx/libScePsml_debug/Export.cpp b/core/libs/prx/libScePsml_debug/Export.cpp index 2e8ee6e64..dcace7377 100644 --- a/core/libs/prx/libScePsml_debug/Export.cpp +++ b/core/libs/prx/libScePsml_debug/Export.cpp @@ -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; +} + } diff --git a/core/libs/prx/libSceVoice/Export.cpp b/core/libs/prx/libSceVoice/Export.cpp index 0f824d139..898511c88 100644 --- a/core/libs/prx/libSceVoice/Export.cpp +++ b/core/libs/prx/libSceVoice/Export.cpp @@ -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; +} + } diff --git a/core/libs/prx/libkernel/Pthread/Posix/Thread.cpp b/core/libs/prx/libkernel/Pthread/Posix/Thread.cpp index 6057243a1..66800ba33 100644 --- a/core/libs/prx/libkernel/Pthread/Posix/Thread.cpp +++ b/core/libs/prx/libkernel/Pthread/Posix/Thread.cpp @@ -6,6 +6,7 @@ #include "../include/Pthread.hpp" #include "Common.hpp" #include "prx/libkernel/KernelErrors.hpp" +#include #include 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; +} + } diff --git a/docs/dev/TechnicalDebt.md b/docs/dev/TechnicalDebt.md index 5bd3b428a..fdb31d990 100644 --- a/docs/dev/TechnicalDebt.md +++ b/docs/dev/TechnicalDebt.md @@ -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