From 219dba8aae74ca3f64924cac6b5477cd3746e1a0 Mon Sep 17 00:00:00 2001 From: scribam Date: Thu, 6 Apr 2017 23:13:48 +0200 Subject: [PATCH] Stub cellBgdl module --- rpcs3/Emu/Cell/Modules/cellBgdl.cpp | 37 +++++++++++------------------ rpcs3/Emu/Cell/Modules/cellBgdl.h | 37 +++++++++++++++++++++++++++++ rpcs3/emucore.vcxproj | 1 + rpcs3/emucore.vcxproj.filters | 3 +++ 4 files changed, 55 insertions(+), 23 deletions(-) create mode 100644 rpcs3/Emu/Cell/Modules/cellBgdl.h diff --git a/rpcs3/Emu/Cell/Modules/cellBgdl.cpp b/rpcs3/Emu/Cell/Modules/cellBgdl.cpp index 8847bafebd..8c2d909c95 100644 --- a/rpcs3/Emu/Cell/Modules/cellBgdl.cpp +++ b/rpcs3/Emu/Cell/Modules/cellBgdl.cpp @@ -2,41 +2,32 @@ #include "Emu/System.h" #include "Emu/Cell/PPUModule.h" +#include "cellBgdl.h" + logs::channel cellBGDL("cellBGDL", logs::level::notice); -// Return Codes -enum +s32 cellBGDLGetInfo(vm::cptr content_id, vm::ptr info, s32 num) { - CELL_BGDL_UTIL_RET_OK = 0x00000000, - CELL_BGDL_UTIL_ERROR_BUSY = 0x8002ce01, - CELL_BGDL_UTIL_ERROR_INTERNAL = 0x8002ce02, - CELL_BGDL_UTIL_ERROR_PARAM = 0x8002ce03, - CELL_BGDL_UTIL_ERROR_ACCESS_ERROR = 0x8002ce04, - CELL_BGDL_UTIL_ERROR_INITIALIZE = 0x8002ce05, -}; - -s32 cellBGDLGetInfo() -{ - UNIMPLEMENTED_FUNC(cellBGDL); - return CELL_OK; + cellBGDL.todo("cellBGDLGetInfo(content_id=%s, info=*0x%x, num=%d)", content_id, info, num); + return 0; } -s32 cellBGDLGetInfo2() +s32 cellBGDLGetInfo2(vm::cptr service_id, vm::ptr info, s32 num) { - UNIMPLEMENTED_FUNC(cellBGDL); - return CELL_OK; + cellBGDL.todo("cellBGDLGetInfo2(service_id=%s, info=*0x%x, num=%d)", service_id, info, num); + return 0; } -s32 cellBGDLSetMode() +s32 cellBGDLSetMode(CellBGDLMode mode) { - UNIMPLEMENTED_FUNC(cellBGDL); - return CELL_OK; + cellBGDL.todo("cellBGDLSetMode(mode=%d)", (s32) mode); + return CELL_BGDL_UTIL_RET_OK; } -s32 cellBGDLGetMode() +s32 cellBGDLGetMode(vm::ptr mode) { - UNIMPLEMENTED_FUNC(cellBGDL); - return CELL_OK; + cellBGDL.todo("cellBGDLGetMode(mode=*0x%x)", mode); + return CELL_BGDL_UTIL_RET_OK; } DECLARE(ppu_module_manager::cellBGDL)("cellBGDLUtility", []() diff --git a/rpcs3/Emu/Cell/Modules/cellBgdl.h b/rpcs3/Emu/Cell/Modules/cellBgdl.h new file mode 100644 index 0000000000..0c2eca52a0 --- /dev/null +++ b/rpcs3/Emu/Cell/Modules/cellBgdl.h @@ -0,0 +1,37 @@ +#pragma once + +namespace vm { using namespace ps3; } + +// Return Codes +enum +{ + CELL_BGDL_UTIL_RET_OK = 0x00000000, + CELL_BGDL_UTIL_ERROR_BUSY = 0x8002ce01, + CELL_BGDL_UTIL_ERROR_INTERNAL = 0x8002ce02, + CELL_BGDL_UTIL_ERROR_PARAM = 0x8002ce03, + CELL_BGDL_UTIL_ERROR_ACCESS_ERROR = 0x8002ce04, + CELL_BGDL_UTIL_ERROR_INITIALIZE = 0x8002ce05, +}; + +enum CellBGDLState : s32 +{ + CELL_BGDL_STATE_ERROR = 0, + CELL_BGDL_STATE_PAUSE, + CELL_BGDL_STATE_READY, + CELL_BGDL_STATE_RUN, + CELL_BGDL_STATE_COMPLETE, +}; + +enum CellBGDLMode : s32 +{ + CELL_BGDL_MODE_AUTO = 0, + CELL_BGDL_MODE_ALWAYS_ALLOW, +}; + +struct CellBGDLInfo +{ + be_t received_size; + be_t content_size; + be_t state; // CellBGDLState + vm::bptr reserved; +}; diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 86fcd81848..1e0c1e6b0b 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -548,6 +548,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index a2bac784c0..1418301b54 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -1255,6 +1255,9 @@ Emu\Cell\Modules + + Emu\Cell\Modules + Emu\Cell\Modules