mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-22 04:24:44 +00:00
loading of other modules via sceSysmoduleLoadModule
This commit is contained in:
parent
2fe8f22a23
commit
01fcc627a0
2 changed files with 38 additions and 8 deletions
|
@ -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;
|
||||
|
|
|
@ -227,18 +227,18 @@ void Emulator::Run(const std::filesystem::path& file) {
|
|||
void Emulator::LoadSystemModules(const std::filesystem::path& file) {
|
||||
constexpr std::array<SysModules, 13> 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<std::filesystem::path> 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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue