diff --git a/src/Core/PS4/HLE/LibC.cpp b/src/Core/PS4/HLE/LibC.cpp index d482a0ee..49e9e586 100644 --- a/src/Core/PS4/HLE/LibC.cpp +++ b/src/Core/PS4/HLE/LibC.cpp @@ -11,29 +11,31 @@ namespace HLE::Libs::LibC { //dummy no need atm } - int __cxa_guard_acquire(u64* guard_object) - { return 0; + int PS4_SYSV_ABI __cxa_guard_acquire(u64* guard_object) + { + __debugbreak(); + return 0; } - int __cxa_guard_release(u64* guard_object) - { return 0; + int PS4_SYSV_ABI __cxa_guard_release(u64* guard_object) + { + __debugbreak(); + return 0; } - int memcmp(const void* s1, const void* s2, size_t n) { + int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n) { return ::memcmp(s1, s2, n); } - void* memcpy(void* dest, const void* src, size_t n) { + void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n) { return ::memcpy(dest, src, n); } - static void catchReturnFromMain(int status) - { - + static PS4_SYSV_ABI void catchReturnFromMain(int status) + { __debugbreak(); } - static void exit(int code) - { - + static PS4_SYSV_ABI void exit(int code) + { __debugbreak(); } static PS4_SYSV_ABI int atexit(void (*func)()) { diff --git a/src/Core/PS4/HLE/LibC.h b/src/Core/PS4/HLE/LibC.h index bc0913a3..3d76b337 100644 --- a/src/Core/PS4/HLE/LibC.h +++ b/src/Core/PS4/HLE/LibC.h @@ -4,11 +4,13 @@ namespace HLE::Libs::LibC { void LibC_Register(SymbolsResolver* sym); + //functions static PS4_SYSV_ABI void init_env(); static PS4_SYSV_ABI void exit(int code); - static void catchReturnFromMain(int status); - int __cxa_guard_acquire(u64* guard_object); - int memcmp(const void* s1, const void* s2, size_t n); - void* memcpy(void* dest, const void* src, size_t n); + static PS4_SYSV_ABI void catchReturnFromMain(int status); + int PS4_SYSV_ABI __cxa_guard_acquire(u64* guard_object); + int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n); + void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n); + }; \ No newline at end of file diff --git a/src/Core/PS4/HLE/LibKernel.cpp b/src/Core/PS4/HLE/LibKernel.cpp index 0bb77997..379eeeb0 100644 --- a/src/Core/PS4/HLE/LibKernel.cpp +++ b/src/Core/PS4/HLE/LibKernel.cpp @@ -6,26 +6,41 @@ namespace HLE::Libs::LibKernel { static u64 g_stack_chk_guard = 0xDEADBEEF54321ABC; //dummy return - int sceKernelAllocateDirectMemory(off_t searchStart, off_t searchEnd, size_t len, size_t alignment, int memoryType, off_t* physAddrOut) { return 0;//OK + int PS4_SYSV_ABI sceKernelAllocateDirectMemory(off_t searchStart, off_t searchEnd, size_t len, size_t alignment, int memoryType, + off_t* physAddrOut) { + __debugbreak(); + return 0; // OK } - size_t sceKernelGetDirectMemorySize() { return 0; + size_t PS4_SYSV_ABI sceKernelGetDirectMemorySize() { + __debugbreak(); + return 0; } - int32_t sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment) { return 0; + int32_t PS4_SYSV_ABI sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment) { + __debugbreak(); + return 0; } - int32_t sceKernelReleaseDirectMemory(off_t start, size_t len) { return 0; + int32_t PS4_SYSV_ABI sceKernelReleaseDirectMemory(off_t start, size_t len) { + __debugbreak(); + return 0; } - int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/int eq,const char* name) - { return 0; + int PS4_SYSV_ABI sceKernelCreateEqueue(/* SceKernelEqueue* eq*/ int eq, const char* name) + { + __debugbreak(); + return 0; } - int sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/) { return 0; + int PS4_SYSV_ABI sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/) + { + __debugbreak(); + return 0; } - int sceKernelIsNeoMode() - { return 0; + int PS4_SYSV_ABI sceKernelIsNeoMode() + { + __debugbreak(); + return 0; } - static void stack_chk_fail() { - + static PS4_SYSV_ABI void stack_chk_fail() { __debugbreak(); } void LibKernel_Register(SymbolsResolver* sym) { //obj diff --git a/src/Core/PS4/HLE/LibKernel.h b/src/Core/PS4/HLE/LibKernel.h index fa6efff9..5542400b 100644 --- a/src/Core/PS4/HLE/LibKernel.h +++ b/src/Core/PS4/HLE/LibKernel.h @@ -3,12 +3,13 @@ namespace HLE::Libs::LibKernel { void LibKernel_Register(SymbolsResolver* sym); + // functions -int sceKernelAllocateDirectMemory(off_t searchStart, off_t searchEnd, size_t len, size_t alignment, int memoryType, off_t* physAddrOut); -size_t sceKernelGetDirectMemorySize(); -int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/ int eq, const char* name); -int32_t sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment); -int32_t sceKernelReleaseDirectMemory(off_t start, size_t len); -int sceKernelIsNeoMode(); -int sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/); +int PS4_SYSV_ABI sceKernelAllocateDirectMemory(off_t searchStart, off_t searchEnd, size_t len, size_t alignment, int memoryType, off_t* physAddrOut); +size_t PS4_SYSV_ABI sceKernelGetDirectMemorySize(); +int PS4_SYSV_ABI sceKernelCreateEqueue(/* SceKernelEqueue* eq*/ int eq, const char* name); +int32_t PS4_SYSV_ABI sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment); +int32_t PS4_SYSV_ABI sceKernelReleaseDirectMemory(off_t start, size_t len); +int PS4_SYSV_ABI sceKernelIsNeoMode(); +int PS4_SYSV_ABI sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/); }; // namespace HLE::Libs::LibKernel \ No newline at end of file diff --git a/src/Core/PS4/HLE/LibSceVideoOut.cpp b/src/Core/PS4/HLE/LibSceVideoOut.cpp index f98426af..ff05a3b4 100644 --- a/src/Core/PS4/HLE/LibSceVideoOut.cpp +++ b/src/Core/PS4/HLE/LibSceVideoOut.cpp @@ -4,30 +4,37 @@ namespace HLE::Libs::LibSceVideoOut { - int32_t sceVideoOutGetFlipStatus(int32_t handle /*, SceVideoOutFlipStatus* status*/){ - return 0; - } - - int32_t sceVideoOutSubmitFlip(int32_t handle, int32_t bufferIndex, int32_t flipMode,int64_t flipArg){ - return 0; - } - int32_t sceVideoOutRegisterBuffers(int32_t handle, int32_t startIndex, void* const* addresses, int32_t bufferNum /*, - const SceVideoOutBufferAttribute* attribute*/) { + int32_t PS4_SYSV_ABI sceVideoOutGetFlipStatus(int32_t handle /*, SceVideoOutFlipStatus* status*/) { + __debugbreak(); return 0; } - int32_t sceVideoOutAddFlipEvent(/*SceKernelEqueue eq,*/ int32_t handle, void* udata) { - return 0; + + int32_t PS4_SYSV_ABI sceVideoOutSubmitFlip(int32_t handle, int32_t bufferIndex, int32_t flipMode, int64_t flipArg) { + __debugbreak(); + return 0; } - int32_t sceVideoOutSetFlipRate(int32_t handle, int32_t rate) { - return 0; + int32_t PS4_SYSV_ABI sceVideoOutRegisterBuffers(int32_t handle, int32_t startIndex, void* const* addresses, int32_t bufferNum /*, + const SceVideoOutBufferAttribute* attribute*/) { + __debugbreak(); + return 0; } - void sceVideoOutSetBufferAttribute(/* SceVideoOutBufferAttribute* attribute,*/ uint32_t pixelFormat, uint32_t tilingMode, uint32_t aspectRatio, + int32_t PS4_SYSV_ABI sceVideoOutAddFlipEvent(/*SceKernelEqueue eq,*/ int32_t handle, void* udata) { + __debugbreak(); + return 0; + } + int32_t PS4_SYSV_ABI sceVideoOutSetFlipRate(int32_t handle, int32_t rate) { + __debugbreak(); + return 0; + } + void PS4_SYSV_ABI sceVideoOutSetBufferAttribute(/* SceVideoOutBufferAttribute* attribute,*/ uint32_t pixelFormat, uint32_t tilingMode, + uint32_t aspectRatio, uint32_t width, uint32_t height, uint32_t pitchInPixel) { - + __debugbreak(); } - int32_t sceVideoOutGetResolutionStatus(int32_t handle /*, SceVideoOutResolutionStatus* status*/) - { return 0; + int32_t PS4_SYSV_ABI sceVideoOutGetResolutionStatus(int32_t handle /*, SceVideoOutResolutionStatus* status*/) { + __debugbreak(); + return 0; } @@ -50,7 +57,9 @@ namespace HLE::Libs::LibSceVideoOut { } return 0; } - int32_t sceVideoOutIsFlipPending(int32_t handle) { return 0; + int32_t PS4_SYSV_ABI sceVideoOutIsFlipPending(int32_t handle) { + __debugbreak(); + return 0; } void LibSceVideoOut_Register(SymbolsResolver* sym) { diff --git a/src/Core/PS4/HLE/LibSceVideoOut.h b/src/Core/PS4/HLE/LibSceVideoOut.h index 688c55ba..7d8d644d 100644 --- a/src/Core/PS4/HLE/LibSceVideoOut.h +++ b/src/Core/PS4/HLE/LibSceVideoOut.h @@ -3,18 +3,20 @@ namespace HLE::Libs::LibSceVideoOut { -typedef int32_t SceUserServiceUserId; //TODO move it to proper place +using SceUserServiceUserId = s32; //TODO move it to proper place void LibSceVideoOut_Register(SymbolsResolver* sym); //functions -int32_t sceVideoOutGetFlipStatus(int32_t handle /*, SceVideoOutFlipStatus* status*/); -int32_t sceVideoOutSubmitFlip(int32_t handle, int32_t bufferIndex, int32_t flipMode, int64_t flipArg); -int32_t sceVideoOutRegisterBuffers(int32_t handle, int32_t startIndex, void* const* addresses, int32_t bufferNum /*,const SceVideoOutBufferAttribute* attribute*/); -int32_t sceVideoOutAddFlipEvent(/*SceKernelEqueue eq,*/ int32_t handle, void* udata); -int32_t sceVideoOutSetFlipRate(int32_t handle, int32_t rate); -void sceVideoOutSetBufferAttribute(/* SceVideoOutBufferAttribute* attribute,*/ uint32_t pixelFormat, uint32_t tilingMode, uint32_t aspectRatio, +int32_t PS4_SYSV_ABI sceVideoOutGetFlipStatus(int32_t handle /*, SceVideoOutFlipStatus* status*/); +int32_t PS4_SYSV_ABI sceVideoOutSubmitFlip(int32_t handle, int32_t bufferIndex, int32_t flipMode, int64_t flipArg); +int32_t PS4_SYSV_ABI sceVideoOutRegisterBuffers(int32_t handle, int32_t startIndex, void* const* addresses, + int32_t bufferNum /*,const SceVideoOutBufferAttribute* attribute*/); +int32_t PS4_SYSV_ABI sceVideoOutAddFlipEvent(/*SceKernelEqueue eq,*/ int32_t handle, void* udata); +int32_t PS4_SYSV_ABI sceVideoOutSetFlipRate(int32_t handle, int32_t rate); +void PS4_SYSV_ABI sceVideoOutSetBufferAttribute(/* SceVideoOutBufferAttribute* attribute,*/ uint32_t pixelFormat, uint32_t tilingMode, + uint32_t aspectRatio, uint32_t width, uint32_t height, uint32_t pitchInPixel); -int32_t sceVideoOutGetResolutionStatus(int32_t handle /*, SceVideoOutResolutionStatus* status*/); +int32_t PS4_SYSV_ABI sceVideoOutGetResolutionStatus(int32_t handle /*, SceVideoOutResolutionStatus* status*/); int32_t PS4_SYSV_ABI sceVideoOutOpen(SceUserServiceUserId userId, int32_t busType, int32_t index, const void* param); -int32_t sceVideoOutIsFlipPending(int32_t handle); +int32_t PS4_SYSV_ABI sceVideoOutIsFlipPending(int32_t handle); }; // namespace HLE::Libs::LibSceVideoOut \ No newline at end of file