diff --git a/rpcs3/Emu/Cell/Modules/cellGameExec.cpp b/rpcs3/Emu/Cell/Modules/cellGameExec.cpp index ad15f68a2f..7497d91573 100644 --- a/rpcs3/Emu/Cell/Modules/cellGameExec.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGameExec.cpp @@ -76,13 +76,13 @@ error_code cellGameGetHomeLaunchOptionPath(vm::ptr commonPath, vm::ptr dirName, u32 options, u32 memContainer, u32 execData, u32 userData) { UNIMPLEMENTED_FUNC(cellGameExec); return CELL_OK; } -error_code cellGameDeleteGame() +error_code cellGameDeleteGame(vm::ptr dirName, u32 memContainer) { UNIMPLEMENTED_FUNC(cellGameExec); return CELL_OK; @@ -121,6 +121,18 @@ error_code cellGameGetBootGameInfo(vm::ptr type, vm::ptr dirName, vm: return CELL_OK; } +error_code cellGameGetExitGameInfo(vm::ptr status, vm::ptr type, vm::ptr dirName, vm::ptr execData, vm::ptr userData) +{ + UNIMPLEMENTED_FUNC(cellGameExec); + return CELL_OK; +} + +error_code cellGameGetList(u32 listBufNum, u32 unk, vm::ptr listNum, vm::ptr getListNum, u32 memContainer) +{ + UNIMPLEMENTED_FUNC(cellGameExec); + return CELL_OK; +} + DECLARE(ppu_module_manager::cellGameExec)("cellGameExec", []() { REG_FUNC(cellGameExec, cellGameSetExitParam); @@ -131,4 +143,6 @@ DECLARE(ppu_module_manager::cellGameExec)("cellGameExec", []() REG_FUNC(cellGameExec, cellGameExecGame); REG_FUNC(cellGameExec, cellGameDeleteGame); REG_FUNC(cellGameExec, cellGameGetBootGameInfo); + REG_FUNC(cellGameExec, cellGameGetExitGameInfo); + REG_FUNC(cellGameExec, cellGameGetList); }); diff --git a/rpcs3/Emu/Cell/Modules/sceNpPlus.cpp b/rpcs3/Emu/Cell/Modules/sceNpPlus.cpp new file mode 100644 index 0000000000..6f8874b2d6 --- /dev/null +++ b/rpcs3/Emu/Cell/Modules/sceNpPlus.cpp @@ -0,0 +1,17 @@ +#include "stdafx.h" + +#include "Emu/Cell/PPUModule.h" + +LOG_CHANNEL(sceNpPlus); + +error_code sceNpManagerIsSP() +{ + sceNpPlus.warning("sceNpManagerIsSP()"); + // TODO seems to be cut to 1 byte by pshome likely a bool but may be more. + return CELL_OK; +} + +DECLARE(ppu_module_manager::sceNpPlus)("sceNpPlus", []() +{ + REG_FUNC(sceNpPlus, sceNpManagerIsSP); +}); diff --git a/rpcs3/Emu/Cell/Modules/sceNpPlus.h b/rpcs3/Emu/Cell/Modules/sceNpPlus.h new file mode 100644 index 0000000000..b7ebf4284e --- /dev/null +++ b/rpcs3/Emu/Cell/Modules/sceNpPlus.h @@ -0,0 +1,3 @@ +#pragma once + +error_code sceNpManagerIsSP(); diff --git a/rpcs3/Emu/Cell/PPUModule.h b/rpcs3/Emu/Cell/PPUModule.h index 9b261a9421..416ab2d0ba 100644 --- a/rpcs3/Emu/Cell/PPUModule.h +++ b/rpcs3/Emu/Cell/PPUModule.h @@ -270,6 +270,7 @@ public: static const ppu_static_module sceNpTrophy; static const ppu_static_module sceNpTus; static const ppu_static_module sceNpUtil; + static const ppu_static_module sceNpPlus; static const ppu_static_module sys_crashdump; static const ppu_static_module sys_io; static const ppu_static_module sys_net; diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 28805ff1dc..aa02725c52 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -328,6 +328,7 @@ + @@ -704,6 +705,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index 0d425369dc..55ff2ff007 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -636,6 +636,9 @@ Emu\Cell\Modules + + Emu\Cell\Modules + Emu\Cell\Modules @@ -1575,6 +1578,9 @@ Emu\Cell\Modules + + Emu\Cell\Modules + Emu\Cell\Modules