diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d08b2fbf..9c78258c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,6 +111,8 @@ set(AUDIO_LIB src/core/libraries/audio/audioin.cpp src/core/libraries/audio/audioin.h src/core/libraries/audio/audioout.cpp src/core/libraries/audio/audioout.h + src/core/libraries/ajm/ajm.cpp + src/core/libraries/ajm/ajm.h ) set(GNM_LIB src/core/libraries/gnmdriver/gnmdriver.cpp diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index 6ea076ed7..35159bf11 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -107,6 +107,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { SUB(Lib, Png) \ SUB(Lib, PlayGo) \ SUB(Lib, Usbd) \ + SUB(Lib, Ajm) \ CLS(Frontend) \ CLS(Render) \ SUB(Render, Vulkan) \ diff --git a/src/common/logging/types.h b/src/common/logging/types.h index 3d9c87b19..d415335ba 100644 --- a/src/common/logging/types.h +++ b/src/common/logging/types.h @@ -74,6 +74,7 @@ enum class Class : u8 { Lib_Png, ///< The LibScePng implementation. Lib_PlayGo, ///< The LibScePlayGo implementation. Lib_Usbd, ///< The LibSceUsbd implementation. + Lib_Ajm, ///< The LibSceAjm implementation. Frontend, ///< Emulator UI Render, ///< Video Core Render_Vulkan, ///< Vulkan backend diff --git a/src/core/libraries/ajm/ajm.cpp b/src/core/libraries/ajm/ajm.cpp new file mode 100644 index 000000000..d8d8304ab --- /dev/null +++ b/src/core/libraries/ajm/ajm.cpp @@ -0,0 +1,147 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +// Generated By moduleGenerator +#include "common/logging/log.h" +#include "core/libraries/ajm/ajm.h" +#include "core/libraries/error_codes.h" +#include "core/libraries/libs.h" + +namespace Libraries::Ajm { + +int PS4_SYSV_ABI sceAjmBatchCancel() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchErrorDump() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchJobControlBufferRa() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchJobInlineBuffer() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchJobRunBufferRa() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchJobRunSplitBufferRa() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchStartBuffer() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmBatchWait() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmDecAt9ParseConfigData() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmDecMp3ParseFrame() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmFinalize() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInitialize() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInstanceCodecType() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInstanceCreate() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInstanceDestroy() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInstanceExtend() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmInstanceSwitch() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmMemoryRegister() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmMemoryUnregister() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmModuleRegister() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmModuleUnregister() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI sceAjmStrError() { + LOG_ERROR(Lib_Ajm, "(STUBBED) called"); + return ORBIS_OK; +} + +void RegisterlibSceAjm(Core::Loader::SymbolsResolver* sym) { + LIB_FUNCTION("NVDXiUesSbA", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchCancel); + LIB_FUNCTION("WfAiBW8Wcek", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchErrorDump); + LIB_FUNCTION("dmDybN--Fn8", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchJobControlBufferRa); + LIB_FUNCTION("stlghnic3Jc", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchJobInlineBuffer); + LIB_FUNCTION("ElslOCpOIns", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchJobRunBufferRa); + LIB_FUNCTION("7jdAXK+2fMo", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchJobRunSplitBufferRa); + LIB_FUNCTION("fFFkk0xfGWs", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchStartBuffer); + LIB_FUNCTION("-qLsfDAywIY", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmBatchWait); + LIB_FUNCTION("1t3ixYNXyuc", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmDecAt9ParseConfigData); + LIB_FUNCTION("eDFeTyi+G3Y", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmDecMp3ParseFrame); + LIB_FUNCTION("MHur6qCsUus", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmFinalize); + LIB_FUNCTION("dl+4eHSzUu4", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInitialize); + LIB_FUNCTION("diXjQNiMu-s", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInstanceCodecType); + LIB_FUNCTION("AxoDrINp4J8", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInstanceCreate); + LIB_FUNCTION("RbLbuKv8zho", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInstanceDestroy); + LIB_FUNCTION("YDFR0dDVGAg", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInstanceExtend); + LIB_FUNCTION("rgLjmfdXocI", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmInstanceSwitch); + LIB_FUNCTION("bkRHEYG6lEM", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmMemoryRegister); + LIB_FUNCTION("pIpGiaYkHkM", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmMemoryUnregister); + LIB_FUNCTION("Q3dyFuwGn64", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmModuleRegister); + LIB_FUNCTION("Wi7DtlLV+KI", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmModuleUnregister); + LIB_FUNCTION("AxhcqVv5AYU", "libSceAjm", 1, "libSceAjm", 1, 1, sceAjmStrError); +}; + +} // namespace Libraries::Ajm \ No newline at end of file diff --git a/src/core/libraries/ajm/ajm.h b/src/core/libraries/ajm/ajm.h new file mode 100644 index 000000000..8491e519c --- /dev/null +++ b/src/core/libraries/ajm/ajm.h @@ -0,0 +1,38 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "common/types.h" + +namespace Core::Loader { +class SymbolsResolver; +} + +namespace Libraries::Ajm { + +int PS4_SYSV_ABI sceAjmBatchCancel(); +int PS4_SYSV_ABI sceAjmBatchErrorDump(); +int PS4_SYSV_ABI sceAjmBatchJobControlBufferRa(); +int PS4_SYSV_ABI sceAjmBatchJobInlineBuffer(); +int PS4_SYSV_ABI sceAjmBatchJobRunBufferRa(); +int PS4_SYSV_ABI sceAjmBatchJobRunSplitBufferRa(); +int PS4_SYSV_ABI sceAjmBatchStartBuffer(); +int PS4_SYSV_ABI sceAjmBatchWait(); +int PS4_SYSV_ABI sceAjmDecAt9ParseConfigData(); +int PS4_SYSV_ABI sceAjmDecMp3ParseFrame(); +int PS4_SYSV_ABI sceAjmFinalize(); +int PS4_SYSV_ABI sceAjmInitialize(); +int PS4_SYSV_ABI sceAjmInstanceCodecType(); +int PS4_SYSV_ABI sceAjmInstanceCreate(); +int PS4_SYSV_ABI sceAjmInstanceDestroy(); +int PS4_SYSV_ABI sceAjmInstanceExtend(); +int PS4_SYSV_ABI sceAjmInstanceSwitch(); +int PS4_SYSV_ABI sceAjmMemoryRegister(); +int PS4_SYSV_ABI sceAjmMemoryUnregister(); +int PS4_SYSV_ABI sceAjmModuleRegister(); +int PS4_SYSV_ABI sceAjmModuleUnregister(); +int PS4_SYSV_ABI sceAjmStrError(); + +void RegisterlibSceAjm(Core::Loader::SymbolsResolver* sym); +} // namespace Libraries::Ajm \ No newline at end of file diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp index 46ada931b..1279016f5 100644 --- a/src/core/libraries/libs.cpp +++ b/src/core/libraries/libs.cpp @@ -32,6 +32,7 @@ #include "core/libraries/system/userservice.h" #include "core/libraries/usbd/usbd.h" #include "core/libraries/videoout/video_out.h" +#include "src/core/libraries/ajm/ajm.h" #include "src/core/libraries/libpng/pngdec.h" namespace Libraries { @@ -68,6 +69,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) { Libraries::PlayGo::RegisterlibScePlayGo(sym); Libraries::Usbd::RegisterlibSceUsbd(sym); Libraries::Pad::RegisterlibScePad(sym); + Libraries::Ajm::RegisterlibSceAjm(sym); } } // namespace Libraries