diff --git a/rpcs3/Emu/SysCalls/ModuleManager.cpp b/rpcs3/Emu/SysCalls/ModuleManager.cpp index 5702ec85aa..0eabe30389 100644 --- a/rpcs3/Emu/SysCalls/ModuleManager.cpp +++ b/rpcs3/Emu/SysCalls/ModuleManager.cpp @@ -11,6 +11,7 @@ extern Module cellBGDL; extern Module cellCamera; extern Module cellCelp8Enc; extern Module cellCelpEnc; +extern Module cellDaisy; extern Module cellDmux; extern Module cellFiber; extern Module cellFont; @@ -43,6 +44,7 @@ extern Module cellMinisSaveData; extern Module cellScreenshot; extern Module cellSearch; extern Module cellSheap; +extern Module cellSpudll; extern Module cellSpurs; extern Module cellSpursJq; extern Module cellSsl; @@ -128,7 +130,7 @@ const g_module_list[] = { 0x001d, "cellSail", &cellSail }, { 0x001e, "cellL10n", &cellL10n }, { 0x001f, "cellResc", &cellResc }, - { 0x0020, "cellDaisy", nullptr }, + { 0x0020, "cellDaisy", &cellDaisy }, { 0x0021, "cellKey2char", &cellKey2char }, { 0x0022, "cellMic", &cellMic }, { 0x0023, "cellCamera", &cellCamera }, @@ -202,6 +204,7 @@ const g_module_list[] = { -1, "sysPrxForUser", &sysPrxForUser }, { -1, "sys_libc", &sys_libc }, { -1, "cellMinisSaveData", &cellMinisSaveData }, + { -1, "cellSpudll", &cellSpudll }, }; void ModuleManager::Init() diff --git a/rpcs3/Emu/SysCalls/Modules/cellDaisy.cpp b/rpcs3/Emu/SysCalls/Modules/cellDaisy.cpp new file mode 100644 index 0000000000..22cfb40b8f --- /dev/null +++ b/rpcs3/Emu/SysCalls/Modules/cellDaisy.cpp @@ -0,0 +1,322 @@ +#include "stdafx.h" +#include "Emu/Memory/Memory.h" +#include "Emu/SysCalls/Modules.h" + +extern Module cellDaisy; + +s32 _ZN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock15completeConsumeEj() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy9_snprintfEPcjPKcz() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock7popOpenEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlock7releaseEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock7popOpenEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy9_snprintfEPcjPKcz() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock18getNextHeadPointerEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock10initializeEj() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock15completeProduceEj() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock8popCloseEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock8popCloseEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockD2Ev() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock18getNextTailPointerEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock8pushOpenEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock9pushCloseEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockD2Ev() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockD1Ev() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock10initializeEj() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock15completeProduceEj() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy4Lock15completeConsumeEj() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock18getNextHeadPointerEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock9pushCloseEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy22ScatterGatherInterlock5probeEj() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock8pushOpenEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlock5probeEj() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlockD1Ev() +{ + throw EXCEPTION(""); +} + +s32 _ZN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy4Lock18getNextTailPointerEv() +{ + throw EXCEPTION(""); +} + +s32 _QN4cell5Daisy22ScatterGatherInterlock7releaseEv() +{ + throw EXCEPTION(""); +} + + +Module cellDaisy("cellDaisy", []() +{ + REG_FUNC(cellDaisy, _ZN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE); + REG_FUNC(cellDaisy, _ZN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock15completeConsumeEj); + REG_FUNC(cellDaisy, _QN4cell5Daisy9_snprintfEPcjPKcz); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock7popOpenEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlock7releaseEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock7popOpenEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPjjh); + REG_FUNC(cellDaisy, _ZN4cell5Daisy9_snprintfEPcjPKcz); + REG_FUNC(cellDaisy, _ZN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock18getNextHeadPointerEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock10initializeEj); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock15completeProduceEj); + REG_FUNC(cellDaisy, _QN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E); + REG_FUNC(cellDaisy, _QN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock8popCloseEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock8popCloseEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockD2Ev); + REG_FUNC(cellDaisy, _QN4cell5Daisy21LFQueue2GetPopPointerEPNS0_8LFQueue2EPij); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock18getNextTailPointerEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock8pushOpenEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy29LFQueue2HasUnfinishedConsumerEPNS0_8LFQueue2Ej); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock9pushCloseEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockD2Ev); + REG_FUNC(cellDaisy, _QN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockC1EPVNS0_16_AtomicInterlockEjPvPFiS5_jE); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockD1Ev); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock10initializeEj); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock15completeProduceEj); + REG_FUNC(cellDaisy, _ZN4cell5Daisy16LFQueue2PopCloseEPNS0_8LFQueue2EPFiPvjE); + REG_FUNC(cellDaisy, _ZN4cell5Daisy15LFQueue2PopOpenEPNS0_8LFQueue2E); + REG_FUNC(cellDaisy, _QN4cell5Daisy17LFQueue2PushCloseEPNS0_8LFQueue2EPFiPvjE); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPvPFiS5_jE); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockC2EPVNS0_16_AtomicInterlockEjPjjh); + REG_FUNC(cellDaisy, _ZN4cell5Daisy4Lock15completeConsumeEj); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlock21proceedSequenceNumberEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock18getNextHeadPointerEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock9pushCloseEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy26LFQueue2CompletePopPointerEPNS0_8LFQueue2EiPFiPvjEj); + REG_FUNC(cellDaisy, _ZN4cell5Daisy22ScatterGatherInterlock5probeEj); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock8pushOpenEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlock5probeEj); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlockD1Ev); + REG_FUNC(cellDaisy, _ZN4cell5Daisy16LFQueue2PushOpenEPNS0_8LFQueue2E); + REG_FUNC(cellDaisy, _QN4cell5Daisy4Lock18getNextTailPointerEv); + REG_FUNC(cellDaisy, _QN4cell5Daisy22ScatterGatherInterlock7releaseEv); +}); diff --git a/rpcs3/Emu/SysCalls/Modules/cellSpudll.cpp b/rpcs3/Emu/SysCalls/Modules/cellSpudll.cpp new file mode 100644 index 0000000000..3ac245ae77 --- /dev/null +++ b/rpcs3/Emu/SysCalls/Modules/cellSpudll.cpp @@ -0,0 +1,21 @@ +#include "stdafx.h" +#include "Emu/Memory/Memory.h" +#include "Emu/SysCalls/Modules.h" + +extern Module cellSpudll; + +s32 cellSpudllGetImageSize(vm::ptr psize, vm::cptr so_elf, vm::cptr config) +{ + throw EXCEPTION(""); +} + +s32 cellSpudllHandleConfigSetDefaultValues(vm::ptr config) +{ + throw EXCEPTION(""); +} + +Module cellSpudll("cellSpudll", []() +{ + REG_FUNC(cellSpudll, cellSpudllGetImageSize); + REG_FUNC(cellSpudll, cellSpudllHandleConfigSetDefaultValues); +}); diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 53d24f1276..62d2c4febb 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -45,7 +45,9 @@ + + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index 9f18397481..5344716500 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -887,6 +887,12 @@ Emu\SysCalls\Modules + + Emu\SysCalls\Modules + + + Emu\SysCalls\Modules +