mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Merge pull request #5497 from sum2012/patch-10
Add sceCtrl_driver ,sceDisplay_driver ,SysclibForKernel
This commit is contained in:
commit
df3342fd9e
7 changed files with 73 additions and 0 deletions
|
@ -323,5 +323,10 @@ void RegisterAllModules() {
|
|||
Register_LoadExecForKernel();
|
||||
Register_SysMemForKernel();
|
||||
Register_sceMt19937();
|
||||
Register_SysclibForKernel();
|
||||
Register_sceCtrl_driver();
|
||||
Register_sceDisplay_driver();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -538,3 +538,8 @@ void Register_sceCtrl()
|
|||
{
|
||||
RegisterModule("sceCtrl", ARRAY_SIZE(sceCtrl), sceCtrl);
|
||||
}
|
||||
|
||||
void Register_sceCtrl_driver()
|
||||
{
|
||||
RegisterModule("sceCtrl_driver", ARRAY_SIZE(sceCtrl), sceCtrl);
|
||||
}
|
|
@ -64,3 +64,5 @@ void __CtrlSetRapidFire(bool state);
|
|||
u32 __CtrlPeekButtons();
|
||||
void __CtrlPeekAnalog(int stick, float *x, float *y);
|
||||
u32 __CtrlReadLatch();
|
||||
|
||||
void Register_sceCtrl_driver();
|
|
@ -946,3 +946,7 @@ const HLEFunction sceDisplay[] = {
|
|||
void Register_sceDisplay() {
|
||||
RegisterModule("sceDisplay", ARRAY_SIZE(sceDisplay), sceDisplay);
|
||||
}
|
||||
|
||||
void Register_sceDisplay_driver() {
|
||||
RegisterModule("sceDisplay_driver", ARRAY_SIZE(sceDisplay), sceDisplay);
|
||||
}
|
||||
|
|
|
@ -39,3 +39,5 @@ void __DisplayGetVPS(float *out_vps);
|
|||
void __DisplayGetAveragedFPS(float *out_vps, float *out_fps);
|
||||
int __DisplayGetVCount();
|
||||
int __DisplayGetFlipCount();
|
||||
|
||||
void Register_sceDisplay_driver();
|
||||
|
|
|
@ -611,11 +611,65 @@ const HLEFunction Kernel_Library[] =
|
|||
{0xfa835cde,WrapI_I<sceKernelGetTlsAddr>, "sceKernelGetTlsAddr"},
|
||||
};
|
||||
|
||||
u32 sysclib_memcpy(u32 dst, u32 src, u32 size) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_memcpy(dest=%08x, src=%08x, size=%i)", dst, src, size);
|
||||
memcpy(Memory::GetPointer(dst), Memory::GetPointer(src), size);
|
||||
return dst;
|
||||
}
|
||||
|
||||
u32 sysclib_strcat(u32 dst, u32 src) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_strcat(dest=%08x, src=%08x)", dst, src);
|
||||
strcat((char *)Memory::GetPointer(dst), (char *)Memory::GetPointer(src));
|
||||
return dst;
|
||||
}
|
||||
|
||||
int sysclib_strcmp(u32 dst, u32 src) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_strcmp(dest=%08x, src=%08x)", dst, src);
|
||||
return strcmp((char *)Memory::GetPointer(dst), (char *)Memory::GetPointer(src));
|
||||
}
|
||||
|
||||
u32 sysclib_strcpy(u32 dst, u32 src) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_strcpy(dest=%08x, src=%08x)", dst, src);
|
||||
strcpy((char *)Memory::GetPointer(dst), (char *)Memory::GetPointer(src));
|
||||
return dst;
|
||||
}
|
||||
|
||||
u32 sysclib_strlen(u32 src) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_strlen(dest=%08x, src=%08x)", src);
|
||||
return (u32)strlen(Memory::GetCharPointer(src));
|
||||
}
|
||||
|
||||
int sysclib_memcmp(u32 dst, u32 src, u32 size) {
|
||||
ERROR_LOG(SCEKERNEL, "Untested sysclib_memcmp(dest=%08x, src=%08x, size=%i)", dst, src, size);
|
||||
return memcmp(Memory::GetCharPointer(dst), Memory::GetCharPointer(src), size);
|
||||
}
|
||||
|
||||
int sysclib_sprintf(u32 dst, u32 fmt) {
|
||||
ERROR_LOG(SCEKERNEL, "Unimpl sysclib_sprintf(dest=%08x, src=%08x)", dst, fmt);
|
||||
// TODO
|
||||
return sprintf((char *)Memory::GetPointer(dst), "%s", Memory::GetCharPointer(fmt));
|
||||
}
|
||||
|
||||
const HLEFunction SysclibForKernel[] =
|
||||
{
|
||||
{0xAB7592FF, WrapU_UUU<sysclib_memcpy>, "memcpy"},
|
||||
{0x476FD94A, WrapU_UU<sysclib_strcat>, "strcat"},
|
||||
{0xC0AB8932, WrapI_UU<sysclib_strcmp>, "strcmp"},
|
||||
{0xEC6F1CF2, WrapU_UU<sysclib_strcpy>, "strcpy"},
|
||||
{0x52DF196C, WrapU_U<sysclib_strlen>, "strlen"},
|
||||
{0x81D0D1F7, WrapI_UUU<sysclib_memcmp>, "memcmp"},
|
||||
{0x7661e728, WrapI_UU<sysclib_sprintf>, "sprintf"},
|
||||
};
|
||||
|
||||
void Register_Kernel_Library()
|
||||
{
|
||||
RegisterModule("Kernel_Library", ARRAY_SIZE(Kernel_Library), Kernel_Library);
|
||||
}
|
||||
|
||||
void Register_SysclibForKernel()
|
||||
{
|
||||
RegisterModule("SysclibForKernel", ARRAY_SIZE(SysclibForKernel), SysclibForKernel);
|
||||
}
|
||||
|
||||
const HLEFunction InterruptManager[] =
|
||||
{
|
||||
|
|
|
@ -149,3 +149,4 @@ u32 sceKernelEnableSubIntr(u32 intrNumber, u32 subIntrNumber);
|
|||
void Register_Kernel_Library();
|
||||
void Register_InterruptManager();
|
||||
|
||||
void Register_SysclibForKernel();
|
||||
|
|
Loading…
Add table
Reference in a new issue