diff --git a/rpcs3/Emu/Cell/Modules/cellSysconf.cpp b/rpcs3/Emu/Cell/Modules/cellSysconf.cpp index 75d6c98a1b..59d5c1ad78 100644 --- a/rpcs3/Emu/Cell/Modules/cellSysconf.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSysconf.cpp @@ -1,21 +1,26 @@ #include "stdafx.h" #include "Emu/Cell/PPUModule.h" +#include "cellSysconf.h" + logs::channel cellSysconf("cellSysconf", logs::level::notice); s32 cellSysconfAbort() { - fmt::throw_exception("Unimplemented" HERE); + cellSysconf.todo("cellSysconfAbort()"); + return CELL_OK; } -s32 cellSysconfOpen() +s32 cellSysconfOpen(u32 type, vm::ptr func, vm::ptr userdata, vm::ptr extparam, u32 id) { - fmt::throw_exception("Unimplemented" HERE); + cellSysconf.todo("cellSysconfOpen(type=%d, func=*0x%x, userdata=*0x%x, extparam=*0x%x, id=%d)", type, func, userdata, extparam, id); + return CELL_OK; } -s32 cellSysconfBtGetDeviceList() +s32 cellSysconfBtGetDeviceList(vm::ptr deviceList) { - fmt::throw_exception("Unimplemented" HERE); + cellSysconf.todo("cellSysconfBtGetDeviceList(deviceList=*0x%x)", deviceList); + return CELL_OK; } void cellSysutil_Sysconf_init() diff --git a/rpcs3/Emu/Cell/Modules/cellSysconf.h b/rpcs3/Emu/Cell/Modules/cellSysconf.h new file mode 100644 index 0000000000..5a6891c96a --- /dev/null +++ b/rpcs3/Emu/Cell/Modules/cellSysconf.h @@ -0,0 +1,36 @@ +#pragma once + +namespace vm { using namespace ps3; } + +typedef void(CellSysconfCallback)(s32 result, vm::ptr userdata); + +struct CellSysconfBtDeviceInfo +{ + be_t deviceId; + be_t deviceType; // CellSysconfBtDeviceType + be_t state; // CellSysconfBtDeviceState + char name[64]; + be_t reserved[4]; +}; + +struct CellSysconfBtDeviceList +{ + CellSysconfBtDeviceInfo device[16]; +}; + +enum CellSysconfBtDeviceType : s32 +{ + CELL_SYSCONF_BT_DEVICE_TYPE_AUDIO = 0x00000001, + CELL_SYSCONF_BT_DEVICE_TYPE_HID = 0x00000002, +}; + +enum CellSysconfBtDeviceState : s32 +{ + CELL_SYSCONF_BT_DEVICE_STATE_UNAVAILABLE = 0, + CELL_SYSCONF_BT_DEVICE_STATE_AVAILABLE = 1, +}; + +enum +{ + CELL_SYSCONF_ERROR_PARAM = 0x8002bb01 +}; diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 1e0c1e6b0b..3f39116a21 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -584,6 +584,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index 1418301b54..0cb05cdc3b 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -1363,6 +1363,9 @@ Emu\Cell\Modules + + Emu\Cell\Modules + Emu\Cell\Modules