Files
AnyPS5/core/libs/prx/libSceAjm.native/Export.cpp
T
hypermistandClaude Opus 5.5 db25758397 fix(libs): return what the firmware returns from 29 more calls it does not implement
The NetCtl ApRp calls, the SaveData debug calls, HttpDbgEnableProfile,
HttpDbgSetPrintf, PadEnableExtensionPort and VideoRecording Init, Term
and SendCommand return 0; ImeForTestFunction returns 0x80BC00FF; the Hmd
distortion work memory align and size are 0x400 and 0x20000 and
DistortionGetCompoundEyeCorrectionCommand returns 0x81110009;
AjmInstanceCodecType returns the instance id shifted right by 14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 22:38:57 +13:00

70 lines
1.8 KiB
C++

#include <cstdint>
#include <cstddef>
#include "SceTypes.hpp"
#include "prx/libc/include/General.hpp"
#include <atomic>
#include <cstdio>
// Entry points this library does not implement: reported before the unimplemented-call exception so an
// APS5_TRACE_AJM run shows which one a title reached.
static void AjmStub(const char* name) {
std::fprintf(stderr, "[ajm] unimplemented %s called\n", name);
NotImplemented_nid_no_patch(name);
}
extern "C" {
int APS5_VABI sceAjmBatchJobEncode(AjmBatchInfo* info, uint32_t instance, const void* pcm_input, size_t pcm_input_size, void* bitstream_output, size_t bitstream_output_size, void* result) {
(void)info;
(void)instance;
(void)pcm_input;
(void)pcm_input_size;
(void)bitstream_output;
(void)bitstream_output_size;
(void)result;
AjmStub(__func__);
return 0;
}
const char* APS5_VABI sceAjmStrError(int error) {
(void)error;
AjmStub(__func__);
return nullptr;
}
int APS5_VABI sceAjmDecWVorbisCreateHeaderPacket(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceAjmDecWVorbisCreateSetupPacket(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceAjmBatchGetLog() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceAjmInstanceAvailable() {
NotImplemented_nid_no_patch(__func__);
return 0;
}
uint32_t APS5_VABI sceAjmInstanceCodecType(uint32_t instance_id) {
return instance_id >> 14;
}
int APS5_VABI sceAjmInstanceExtend(uint32_t context, uint32_t codec, uint64_t flags, uint32_t instance) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceAjmInstanceSwitch(uint32_t context, uint32_t codec, uint64_t flags, uint32_t instance) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}