diff --git a/src/core/libraries/system/sysmodule.cpp b/src/core/libraries/system/sysmodule.cpp index dcfcdeed1..11afee5f5 100644 --- a/src/core/libraries/system/sysmodule.cpp +++ b/src/core/libraries/system/sysmodule.cpp @@ -50,6 +50,34 @@ int PS4_SYSV_ABI sceSysmoduleLoadModule(OrbisSysModule id) { case OrbisSysModule::ORBIS_SYSMODULE_NGS2: Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceNgs2.sprx", 0, NULL, 0, NULL, NULL); + break;; + case OrbisSysModule::ORBIS_SYSMODULE_ULT: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceUlt.sprx", 0, NULL, 0, + NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_FIBER: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceFiber.sprx", 0, NULL, + 0, NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_JSON: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceJson.sprx", 0, NULL, + 0, NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_JSON2: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceJson2.sprx", 0, NULL, + 0, NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_FONT: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceFont.sprx", 0, NULL, + 0, NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_JPEG_ENC: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceJpegEnc.sprx", 0, NULL, + 0, NULL, NULL); + break; + case OrbisSysModule::ORBIS_SYSMODULE_DISC_MAP: + Libraries::Kernel::sceKernelLoadStartModule("/system/common/lib/libSceDiscMap.sprx", 0, + NULL, 0, NULL, NULL); break; } return ORBIS_OK; diff --git a/src/emulator.cpp b/src/emulator.cpp index 84c9f79c4..44c5b8758 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -227,18 +227,18 @@ void Emulator::Run(const std::filesystem::path& file) { void Emulator::LoadSystemModules(const std::filesystem::path& file) { constexpr std::array ModulesToLoad{ {{"libSceNgs2.sprx", &Libraries::Ngs2::RegisterlibSceNgs2, false}, - {"libSceFiber.sprx", nullptr, true}, - {"libSceUlt.sprx", nullptr, true}, - {"libSceJson.sprx", nullptr, true}, - {"libSceJson2.sprx", nullptr, true}, + {"libSceFiber.sprx", nullptr, false}, + {"libSceUlt.sprx", nullptr, false}, + {"libSceJson.sprx", nullptr, false}, + {"libSceJson2.sprx", nullptr, false}, {"libSceLibcInternal.sprx", &Libraries::LibcInternal::RegisterlibSceLibcInternal, true}, - {"libSceDiscMap.sprx", &Libraries::DiscMap::RegisterlibSceDiscMap, true}, + {"libSceDiscMap.sprx", &Libraries::DiscMap::RegisterlibSceDiscMap, false}, {"libSceRtc.sprx", &Libraries::Rtc::RegisterlibSceRtc, true}, - {"libSceJpegEnc.sprx", nullptr, true}, - {"libSceFont.sprx", nullptr, true}, + {"libSceJpegEnc.sprx", nullptr, false}, + {"libSceFont.sprx", nullptr, false}, {"libSceRazorCpu.sprx", nullptr, true}, {"libSceCesCs.sprx", nullptr, true}, - {"libSceRudp.sprx", nullptr, true}}}; + {"libSceRudp.sprx", nullptr, false}}}; std::vector found_modules; const auto& sys_module_path = Common::FS::GetUserPath(Common::FS::PathType::SysModuleDir); @@ -255,6 +255,8 @@ void Emulator::LoadSystemModules(const std::filesystem::path& file) { if (result == 0) { continue; } + } else { + continue; } } if (init_func) {