diff --git a/rpcs3/Emu/SysCalls/ModuleManager.cpp b/rpcs3/Emu/SysCalls/ModuleManager.cpp index 0eabe30389..492463da07 100644 --- a/rpcs3/Emu/SysCalls/ModuleManager.cpp +++ b/rpcs3/Emu/SysCalls/ModuleManager.cpp @@ -18,6 +18,7 @@ extern Module cellFont; extern Module cellFontFT; extern Module cellFs; extern Module cellGame; +extern Module cellGameExec; extern Module cellGcmSys; extern Module cellGem; extern Module cellGifDec; @@ -54,6 +55,7 @@ extern Module cellSync2; extern Module cellSysmodule; extern Module cellSysutil; extern Module cellSysutilAp; +extern Module cellSysutilAvc2; extern Module cellUsbd; extern Module cellUsbPspcm; extern Module cellUserInfo; @@ -143,13 +145,13 @@ const g_module_list[] = { 0x002a, "cellDmuxPamf", nullptr }, { 0x002e, "sys_lv2dbg", &sys_lv2dbg }, { 0x0030, "cellUsbPspcm", &cellUsbPspcm }, - { 0x0031, "cellAvconfExt", &cellAvconfExt }, + { 0x0031, "cellSysutilAvconfExt", &cellAvconfExt }, { 0x0032, "cellUserInfo", &cellUserInfo }, { 0x0033, "cellSaveData", &cellSaveData }, { 0x0034, "cellSubdisplay", &cellSubdisplay }, { 0x0035, "cellSysutilRec", nullptr }, { 0x0036, "cellVideoExport", nullptr }, - { 0x0037, "cellGameExec", nullptr }, + { 0x0037, "cellGameExec", &cellGameExec }, { 0x0038, "sceNp2", &sceNp2 }, { 0x0039, "cellSysutilAp", &cellSysutilAp }, { 0x003a, "sceNpClans", &sceNpClans }, @@ -193,7 +195,7 @@ const g_module_list[] = { 0xf02c, "cellMusicExport", nullptr }, { 0xf02e, "cellPhotoDecode", nullptr }, { 0xf02f, "cellSearch", &cellSearch }, - { 0xf030, "cellAvchat2", nullptr }, + { 0xf030, "cellSysutilAvc2", &cellSysutilAvc2 }, { 0xf034, "cellSailRec", &cellSailRec }, { 0xf035, "sceNpTrophy", &sceNpTrophy }, { 0xf053, "cellAdecAt3multi", nullptr }, diff --git a/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp b/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp index 5499ac05b4..81151faebf 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellAvconfExt.cpp @@ -4,14 +4,81 @@ #include "Emu/SysCalls/Modules.h" #include "Emu/RSX/sysutil_video.h" -namespace vm { using namespace ps3; } - extern Module cellAvconfExt; +s32 cellAudioOutUnregisterDevice() +{ + throw EXCEPTION(""); +} + +s32 cellAudioOutGetDeviceInfo2() +{ + throw EXCEPTION(""); +} + +s32 cellVideoOutSetXVColor() +{ + throw EXCEPTION(""); +} + +s32 cellVideoOutSetupDisplay() +{ + throw EXCEPTION(""); +} + +s32 cellAudioInGetDeviceInfo() +{ + throw EXCEPTION(""); +} + s32 cellVideoOutConvertCursorColor() { - UNIMPLEMENTED_FUNC(cellAvconfExt); - return CELL_OK; + throw EXCEPTION(""); +} + +s32 cellVideoOutGetGamma() +{ + throw EXCEPTION(""); +} + +s32 cellAudioInGetAvailableDeviceInfo() +{ + throw EXCEPTION(""); +} + +s32 cellAudioOutGetAvailableDeviceInfo() +{ + throw EXCEPTION(""); +} + +s32 cellVideoOutSetGamma() +{ + throw EXCEPTION(""); +} + +s32 cellAudioOutRegisterDevice() +{ + throw EXCEPTION(""); +} + +s32 cellAudioOutSetDeviceMode() +{ + throw EXCEPTION(""); +} + +s32 cellAudioInSetDeviceMode() +{ + throw EXCEPTION(""); +} + +s32 cellAudioInRegisterDevice() +{ + throw EXCEPTION(""); +} + +s32 cellAudioInUnregisterDevice() +{ + throw EXCEPTION(""); } s32 cellVideoOutGetScreenSize(u32 videoOut, vm::ptr screenSize) @@ -41,22 +108,23 @@ s32 cellVideoOutGetScreenSize(u32 videoOut, vm::ptr screenSize) return CELL_VIDEO_OUT_ERROR_VALUE_IS_NOT_SET; } -s32 cellVideoOutGetGamma() -{ - UNIMPLEMENTED_FUNC(cellAvconfExt); - return CELL_OK; -} - -s32 cellVideoOutSetGamma() -{ - UNIMPLEMENTED_FUNC(cellAvconfExt); - return CELL_OK; -} Module cellAvconfExt("cellAvconfExt", []() { + REG_FUNC(cellAvconfExt, cellAudioOutUnregisterDevice); + REG_FUNC(cellAvconfExt, cellAudioOutGetDeviceInfo2); + REG_FUNC(cellAvconfExt, cellVideoOutSetXVColor); + REG_FUNC(cellAvconfExt, cellVideoOutSetupDisplay); + REG_FUNC(cellAvconfExt, cellAudioInGetDeviceInfo); REG_FUNC(cellAvconfExt, cellVideoOutConvertCursorColor); - REG_FUNC(cellAvconfExt, cellVideoOutGetScreenSize); REG_FUNC(cellAvconfExt, cellVideoOutGetGamma); + REG_FUNC(cellAvconfExt, cellAudioInGetAvailableDeviceInfo); + REG_FUNC(cellAvconfExt, cellAudioOutGetAvailableDeviceInfo); REG_FUNC(cellAvconfExt, cellVideoOutSetGamma); + REG_FUNC(cellAvconfExt, cellAudioOutRegisterDevice); + REG_FUNC(cellAvconfExt, cellAudioOutSetDeviceMode); + REG_FUNC(cellAvconfExt, cellAudioInSetDeviceMode); + REG_FUNC(cellAvconfExt, cellAudioInRegisterDevice); + REG_FUNC(cellAvconfExt, cellAudioInUnregisterDevice); + REG_FUNC(cellAvconfExt, cellVideoOutGetScreenSize); }); diff --git a/rpcs3/Emu/SysCalls/Modules/cellGame.cpp b/rpcs3/Emu/SysCalls/Modules/cellGame.cpp index 70aa44ec38..c612ba5d67 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellGame.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellGame.cpp @@ -581,8 +581,6 @@ Module cellGame("cellGame", []() usrdir = ""; path_set = false; - // (TODO: Disc Exchange functions missing) - REG_FUNC(cellGame, cellGameBootCheck); REG_FUNC(cellGame, cellGamePatchCheck); REG_FUNC(cellGame, cellGameDataCheck); @@ -592,7 +590,6 @@ Module cellGame("cellGame", []() REG_FUNC(cellGame, cellGameDeleteGameData); REG_FUNC(cellGame, cellGameGetParamInt); - //cellGame.AddFunc(, cellGameSetParamInt); REG_FUNC(cellGame, cellGameGetParamString); REG_FUNC(cellGame, cellGameSetParamString); REG_FUNC(cellGame, cellGameGetSizeKB); @@ -603,7 +600,6 @@ Module cellGame("cellGame", []() REG_FUNC(cellGame, cellGameThemeInstall); REG_FUNC(cellGame, cellGameThemeInstallFromBuffer); - //cellGame.AddFunc(, CellGameThemeInstallCallback); }); void cellSysutil_GameData_init() diff --git a/rpcs3/Emu/SysCalls/Modules/cellGameExec.cpp b/rpcs3/Emu/SysCalls/Modules/cellGameExec.cpp new file mode 100644 index 0000000000..0ccbb7174a --- /dev/null +++ b/rpcs3/Emu/SysCalls/Modules/cellGameExec.cpp @@ -0,0 +1,46 @@ +#include "stdafx.h" +#include "Emu/Memory/Memory.h" +#include "Emu/SysCalls/Modules.h" + +extern Module cellGameExec; + +s32 cellGameSetExitParam() +{ + throw EXCEPTION(""); +} + +s32 cellGameGetHomeDataExportPath() +{ + throw EXCEPTION(""); +} + +s32 cellGameGetHomePath() +{ + throw EXCEPTION(""); +} + +s32 cellGameGetHomeDataImportPath() +{ + throw EXCEPTION(""); +} + +s32 cellGameGetHomeLaunchOptionPath() +{ + throw EXCEPTION(""); +} + +s32 cellGameGetBootGameInfo() +{ + throw EXCEPTION(""); +} + + +Module cellGameExec("cellGameExec", []() +{ + REG_FUNC(cellGameExec, cellGameSetExitParam); + REG_FUNC(cellGameExec, cellGameGetHomeDataExportPath); + REG_FUNC(cellGameExec, cellGameGetHomePath); + REG_FUNC(cellGameExec, cellGameGetHomeDataImportPath); + REG_FUNC(cellGameExec, cellGameGetHomeLaunchOptionPath); + REG_FUNC(cellGameExec, cellGameGetBootGameInfo); +}); diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutilAp.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutilAp.cpp index 396c6a6093..a5277ffb39 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSysutilAp.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutilAp.cpp @@ -2,8 +2,6 @@ #include "Emu/Memory/Memory.h" #include "Emu/SysCalls/Modules.h" -namespace vm { using namespace ps3; } - extern Module cellSysutilAp; // Return Codes diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp new file mode 100644 index 0000000000..3f726b2a4b --- /dev/null +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutilAvc2.cpp @@ -0,0 +1,334 @@ +#include "stdafx.h" +#include "Emu/Memory/Memory.h" +#include "Emu/SysCalls/Modules.h" + +extern Module cellSysutilAvc2; + +s32 cellSysutilAvc2GetPlayerInfo() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2JoinChat() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StopStreaming() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2ChangeVideoResolution() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2ShowScreen() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetVideoMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetWindowAttribute() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StopStreaming2() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetVoiceMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StartVoiceDetection() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2UnloadAsync() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StopVoiceDetection() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetAttribute() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2LoadAsync() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetSpeakerVolumeLevel() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetWindowString() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2EstimateMemoryContainerSize() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetVideoMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetPlayerVoiceMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetStreamingTarget() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2Unload() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2DestroyWindow() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetWindowPosition() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetSpeakerVolumeLevel() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2IsCameraAttached() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2MicRead() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetPlayerVoiceMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2JoinChatRequest() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StartStreaming() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetWindowAttribute() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetWindowShowStatus() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2InitParam() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetWindowSize() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetStreamPriority() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2LeaveChatRequest() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2IsMicAttached() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2CreateWindow() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetSpeakerMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2ShowWindow() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetWindowSize() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2EnumPlayers() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetWindowString() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2LeaveChat() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetSpeakerMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2Load() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2SetAttribute() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2UnloadAsync2() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2StartStreaming2() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2HideScreen() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2HideWindow() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetVoiceMuting() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetScreenShowStatus() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2Unload2() +{ + throw EXCEPTION(""); +} + +s32 cellSysutilAvc2GetWindowPosition() +{ + throw EXCEPTION(""); +} + + +Module cellSysutilAvc2("cellSysutilAvc2", []() +{ + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetPlayerInfo); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2JoinChat); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StopStreaming); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2ChangeVideoResolution); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2ShowScreen); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetVideoMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetWindowAttribute); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StopStreaming2); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetVoiceMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StartVoiceDetection); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2UnloadAsync); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StopVoiceDetection); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetAttribute); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2LoadAsync); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetSpeakerVolumeLevel); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetWindowString); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2EstimateMemoryContainerSize); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetVideoMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetPlayerVoiceMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetStreamingTarget); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2Unload); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2DestroyWindow); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetWindowPosition); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetSpeakerVolumeLevel); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2IsCameraAttached); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2MicRead); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetPlayerVoiceMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2JoinChatRequest); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StartStreaming); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetWindowAttribute); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetWindowShowStatus); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2InitParam); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetWindowSize); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetStreamPriority); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2LeaveChatRequest); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2IsMicAttached); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2CreateWindow); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetSpeakerMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2ShowWindow); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetWindowSize); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2EnumPlayers); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetWindowString); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2LeaveChat); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetSpeakerMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2Load); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2SetAttribute); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2UnloadAsync2); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2StartStreaming2); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2HideScreen); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2HideWindow); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetVoiceMuting); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetScreenShowStatus); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2Unload2); + REG_FUNC(cellSysutilAvc2, cellSysutilAvc2GetWindowPosition); +}); diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 62d2c4febb..70ae05db53 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -47,6 +47,7 @@ + @@ -261,6 +262,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index 5344716500..9360ffc050 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -893,6 +893,12 @@ Emu\SysCalls\Modules + + Emu\SysCalls\Modules + + + Emu\SysCalls\Modules +