From 1c4db01e196af6ce0549e6f13b69d4553e7474b3 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Wed, 28 Jan 2015 01:39:16 +0300 Subject: [PATCH] sceDisplay, sceDeci4p stub --- rpcs3/Emu/ARMv7/Modules/sceDeci4p.cpp | 48 +++++++++++ rpcs3/Emu/ARMv7/Modules/sceDisplay.cpp | 113 +++++++++++++++++++++++++ rpcs3/emucore.vcxproj | 3 + rpcs3/emucore.vcxproj.filters | 9 ++ 4 files changed, 173 insertions(+) create mode 100644 rpcs3/Emu/ARMv7/Modules/sceDeci4p.cpp create mode 100644 rpcs3/Emu/ARMv7/Modules/sceDisplay.cpp diff --git a/rpcs3/Emu/ARMv7/Modules/sceDeci4p.cpp b/rpcs3/Emu/ARMv7/Modules/sceDeci4p.cpp new file mode 100644 index 0000000000..bdd5e58e5d --- /dev/null +++ b/rpcs3/Emu/ARMv7/Modules/sceDeci4p.cpp @@ -0,0 +1,48 @@ +#include "stdafx.h" +#include "Emu/System.h" +#include "Emu/ARMv7/PSVFuncList.h" + +extern psv_log_base sceDeci4p; + +typedef s32(*SceKernelDeci4pCallback)(s32 notifyId, s32 notifyCount, s32 notifyArg, vm::psv::ptr pCommon); + +s32 sceKernelDeci4pOpen(vm::psv::ptr protoname, u32 protonum, u32 bufsize) +{ + throw __FUNCTION__; +} + +s32 sceKernelDeci4pClose(s32 socketid) +{ + throw __FUNCTION__; +} + +s32 sceKernelDeci4pRead(s32 socketid, vm::psv::ptr buffer, u32 size, u32 reserved) +{ + throw __FUNCTION__; +} + +s32 sceKernelDeci4pWrite(s32 socketid, vm::psv::ptr buffer, u32 size, u32 reserved) +{ + throw __FUNCTION__; +} + +s32 sceKernelDeci4pRegisterCallback(s32 socketid, s32 cbid) +{ + throw __FUNCTION__; +} + + +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDeci4p, #name, name) + +psv_log_base sceDeci4p("SceDeci4pUserp", []() +{ + sceDeci4p.on_load = nullptr; + sceDeci4p.on_unload = nullptr; + sceDeci4p.on_stop = nullptr; + + REG_FUNC(0x28578FE8, sceKernelDeci4pOpen); + REG_FUNC(0x63B0C50F, sceKernelDeci4pClose); + REG_FUNC(0x971E1C66, sceKernelDeci4pRead); + REG_FUNC(0xCDA3AAAC, sceKernelDeci4pWrite); + REG_FUNC(0x73371F35, sceKernelDeci4pRegisterCallback); +}); \ No newline at end of file diff --git a/rpcs3/Emu/ARMv7/Modules/sceDisplay.cpp b/rpcs3/Emu/ARMv7/Modules/sceDisplay.cpp new file mode 100644 index 0000000000..c03dbe24dd --- /dev/null +++ b/rpcs3/Emu/ARMv7/Modules/sceDisplay.cpp @@ -0,0 +1,113 @@ +#include "stdafx.h" +#include "Emu/System.h" +#include "Emu/ARMv7/PSVFuncList.h" + +extern psv_log_base sceDisplay; + +struct SceDisplayFrameBuf +{ + u32 size; + vm::psv::ptr base; + u32 pitch; + u32 pixelformat; + u32 width; + u32 height; +}; + +s32 sceDisplayGetRefreshRate(vm::psv::ptr pFps) +{ + throw __FUNCTION__; +} + +s32 sceDisplaySetFrameBuf(vm::psv::ptr pFrameBuf, s32 iUpdateTimingMode) +{ + throw __FUNCTION__; +} + +s32 sceDisplayGetFrameBuf(vm::psv::ptr pFrameBuf, s32 iUpdateTimingMode) +{ + throw __FUNCTION__; +} + +s32 sceDisplayGetVcount() +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitVblankStart() +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitVblankStartCB() +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitVblankStartMulti(u32 vcount) +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitVblankStartMultiCB(u32 vcount) +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitSetFrameBuf() +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitSetFrameBufCB() +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitSetFrameBufMulti(u32 vcount) +{ + throw __FUNCTION__; +} + +s32 sceDisplayWaitSetFrameBufMultiCB(u32 vcount) +{ + throw __FUNCTION__; +} + +s32 sceDisplayRegisterVblankStartCallback(s32 uid) +{ + throw __FUNCTION__; +} + +s32 sceDisplayUnregisterVblankStartCallback(s32 uid) +{ + throw __FUNCTION__; +} + + +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDisplay, #name, name) + +psv_log_base sceDisplay("SceDisplay", []() +{ + sceDisplay.on_load = nullptr; + sceDisplay.on_unload = nullptr; + sceDisplay.on_stop = nullptr; + + // SceDisplayUser + REG_FUNC(0x7A410B64, sceDisplaySetFrameBuf); + REG_FUNC(0x42AE6BBC, sceDisplayGetFrameBuf); + + // SceDisplay + REG_FUNC(0xA08CA60D, sceDisplayGetRefreshRate); + REG_FUNC(0xB6FDE0BA, sceDisplayGetVcount); + REG_FUNC(0x5795E898, sceDisplayWaitVblankStart); + REG_FUNC(0x78B41B92, sceDisplayWaitVblankStartCB); + REG_FUNC(0xDD0A13B8, sceDisplayWaitVblankStartMulti); + REG_FUNC(0x05F27764, sceDisplayWaitVblankStartMultiCB); + REG_FUNC(0x9423560C, sceDisplayWaitSetFrameBuf); + REG_FUNC(0x814C90AF, sceDisplayWaitSetFrameBufCB); + REG_FUNC(0x7D9864A8, sceDisplayWaitSetFrameBufMulti); + REG_FUNC(0x3E796EF5, sceDisplayWaitSetFrameBufMultiCB); + REG_FUNC(0x6BDF4C4D, sceDisplayRegisterVblankStartCallback); + REG_FUNC(0x98436A80, sceDisplayUnregisterVblankStartCallback); +}); \ No newline at end of file diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 50c1a279b4..e70afa794c 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -59,6 +59,9 @@ + + + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index beeae1db31..69e962dbfc 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -686,6 +686,15 @@ Emu\CPU\ARMv7\Modules + + Emu\CPU\ARMv7\Modules + + + Emu\CPU\ARMv7\Modules + + + Emu\CPU\ARMv7\Modules +