diff --git a/CMakeLists.txt b/CMakeLists.txt index cef348df..a210781e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,8 +156,12 @@ set(SYSTEM_LIBS src/core/libraries/system/commondialog.cpp src/core/libraries/app_content/app_content.h src/core/libraries/rtc/rtc.cpp src/core/libraries/rtc/rtc.h + src/core/libraries/disc_map/disc_map.cpp + src/core/libraries/disc_map/disc_map.h + src/core/libraries/disc_map/disc_map_codes.h ) + set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h src/core/libraries/videoout/driver.cpp src/core/libraries/videoout/driver.h diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index b5540b3d..1e49561c 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -103,6 +103,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { SUB(Lib, LibCInternal) \ SUB(Lib, AppContent) \ SUB(Lib, Rtc) \ + SUB(Lib, DiscMap) \ CLS(Frontend) \ CLS(Render) \ SUB(Render, Vulkan) \ diff --git a/src/common/logging/types.h b/src/common/logging/types.h index 7dbe925e..af52df88 100644 --- a/src/common/logging/types.h +++ b/src/common/logging/types.h @@ -70,6 +70,7 @@ enum class Class : u8 { Lib_LibCInternal, ///< The LibCInternal implementation. Lib_AppContent, ///< The LibSceAppContent implementation. Lib_Rtc, ///< The LibSceRtc implementation. + Lib_DiscMap, ///< The LibSceDiscMap implementation. Frontend, ///< Emulator UI Render, ///< Video Core Render_Vulkan, ///< Vulkan backend diff --git a/src/core/libraries/disc_map/disc_map.cpp b/src/core/libraries/disc_map/disc_map.cpp new file mode 100644 index 00000000..7fd5ed3c --- /dev/null +++ b/src/core/libraries/disc_map/disc_map.cpp @@ -0,0 +1,48 @@ +// 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/error_codes.h" +#include "core/libraries/libs.h" +#include "disc_map.h" +#include "disc_map_codes.h" + +namespace Libraries::DiscMap { + +int PS4_SYSV_ABI sceDiscMapGetPackageSize() { + LOG_WARNING(Lib_DiscMap, "(DUMMY) called"); + return ORBIS_DISC_MAP_ERROR_NO_BITMAP_INFO; +} + +int PS4_SYSV_ABI sceDiscMapIsRequestOnHDD() { + LOG_WARNING(Lib_DiscMap, "(DUMMY) called"); + return ORBIS_DISC_MAP_ERROR_NO_BITMAP_INFO; +} + +int PS4_SYSV_ABI Func_7C980FFB0AA27E7A() { + LOG_ERROR(Lib_DiscMap, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI Func_8A828CAEE7EDD5E9() { + LOG_ERROR(Lib_DiscMap, "(STUBBED) called"); + return ORBIS_OK; +} + +int PS4_SYSV_ABI Func_E7EBCE96E92F91F8() { + LOG_ERROR(Lib_DiscMap, "(STUBBED) called"); + return ORBIS_OK; +} + +void RegisterlibSceDiscMap(Core::Loader::SymbolsResolver* sym) { + LIB_FUNCTION("fl1eoDnwQ4s", "libSceDiscMap", 1, "libSceDiscMap", 1, 1, + sceDiscMapGetPackageSize); + LIB_FUNCTION("lbQKqsERhtE", "libSceDiscMap", 1, "libSceDiscMap", 1, 1, + sceDiscMapIsRequestOnHDD); + LIB_FUNCTION("fJgP+wqifno", "libSceDiscMap", 1, "libSceDiscMap", 1, 1, Func_7C980FFB0AA27E7A); + LIB_FUNCTION("ioKMruft1ek", "libSceDiscMap", 1, "libSceDiscMap", 1, 1, Func_8A828CAEE7EDD5E9); + LIB_FUNCTION("5+vOlukvkfg", "libSceDiscMap", 1, "libSceDiscMap", 1, 1, Func_E7EBCE96E92F91F8); +}; + +} // namespace Libraries::DiscMap \ No newline at end of file diff --git a/src/core/libraries/disc_map/disc_map.h b/src/core/libraries/disc_map/disc_map.h new file mode 100644 index 00000000..08abee63 --- /dev/null +++ b/src/core/libraries/disc_map/disc_map.h @@ -0,0 +1,20 @@ +// 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::DiscMap { + +int PS4_SYSV_ABI sceDiscMapGetPackageSize(); +int PS4_SYSV_ABI sceDiscMapIsRequestOnHDD(); +int PS4_SYSV_ABI Func_7C980FFB0AA27E7A(); +int PS4_SYSV_ABI Func_8A828CAEE7EDD5E9(); +int PS4_SYSV_ABI Func_E7EBCE96E92F91F8(); + +void RegisterlibSceDiscMap(Core::Loader::SymbolsResolver* sym); +} // namespace Libraries::DiscMap \ No newline at end of file diff --git a/src/core/libraries/disc_map/disc_map_codes.h b/src/core/libraries/disc_map/disc_map_codes.h new file mode 100644 index 00000000..841f0a9a --- /dev/null +++ b/src/core/libraries/disc_map/disc_map_codes.h @@ -0,0 +1,10 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +constexpr int ORBIS_DISC_MAP_ERROR_INVALID_ARGUMENT = 0x81100001; +constexpr int ORBIS_DISC_MAP_ERROR_LOCATION_NOT_MAPPED = 0x81100002; +constexpr int ORBIS_DISC_MAP_ERROR_FILE_NOT_FOUND = 0x81100003; +constexpr int ORBIS_DISC_MAP_ERROR_NO_BITMAP_INFO = 0x81100004; +constexpr int ORBIS_DISC_MAP_ERROR_FATAL = 0x811000FF; diff --git a/src/core/libraries/kernel/thread_management.cpp b/src/core/libraries/kernel/thread_management.cpp index c3e022e6..1faf394b 100644 --- a/src/core/libraries/kernel/thread_management.cpp +++ b/src/core/libraries/kernel/thread_management.cpp @@ -1168,7 +1168,7 @@ int PS4_SYSV_ABI scePthreadRwlockInit(ScePthreadRw* thread, ScePthreadRwAttr* at } int result = pthread_rwlock_init(&(*thread)->pth_rwlock, &(*attr)->attr_rwlock); - LOG_INFO(Kernel_Pthread, "scePthreadRwlockInit: result = {}", result); + //LOG_INFO(Kernel_Pthread, "scePthreadRwlockInit: result = {}", result); switch (result) { case 0: @@ -1253,7 +1253,7 @@ int PS4_SYSV_ABI scePthreadRwlockattrInit(ScePthreadRwAttr* attr) { *attr = new PthreadRwLockAttrInernal{}; int result = pthread_rwlockattr_init(&(*attr)->attr_rwlock); - LOG_INFO(Kernel_Pthread, "scePthreadRwlockattrInit: result = {}", result); + //LOG_INFO(Kernel_Pthread, "scePthreadRwlockattrInit: result = {}", result); switch (result) { case 0: diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp index 0058f264..7b2a849f 100644 --- a/src/core/libraries/libs.cpp +++ b/src/core/libraries/libs.cpp @@ -5,6 +5,7 @@ #include "core/libraries/app_content/app_content.h" #include "core/libraries/audio/audioin.h" #include "core/libraries/audio/audioout.h" +#include "core/libraries/disc_map/disc_map.h" #include "core/libraries/gnmdriver/gnmdriver.h" #include "core/libraries/kernel/libkernel.h" #include "core/libraries/libc/libc.h" @@ -18,6 +19,7 @@ #include "core/libraries/np_score/np_score.h" #include "core/libraries/np_trophy/np_trophy.h" #include "core/libraries/pad/pad.h" +#include "core/libraries/rtc/rtc.h" #include "core/libraries/save_data/savedata.h" #include "core/libraries/screenshot/screenshot.h" #include "core/libraries/system/commondialog.h" @@ -28,8 +30,6 @@ #include "core/libraries/system/systemservice.h" #include "core/libraries/system/userservice.h" #include "core/libraries/videoout/video_out.h" -#include "rtc/rtc.h" - namespace Libraries { void InitHLELibs(Core::Loader::SymbolsResolver* sym) { @@ -63,6 +63,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) { Libraries::LibcInternal::RegisterlibSceLibcInternal(sym); Libraries::AppContent::RegisterlibSceAppContent(sym); Libraries::Rtc::RegisterlibSceRtc(sym); + Libraries::DiscMap::RegisterlibSceDiscMap(sym); } } // namespace Libraries