mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-09 16:35:13 +00:00
Static hle implementation
This commit is contained in:
parent
a22297f205
commit
de5379a69f
7 changed files with 263 additions and 3 deletions
|
|
@ -1,17 +1,43 @@
|
|||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "Emu/System.h"
|
||||
#include "Emu/Cell/PPUModule.h"
|
||||
|
||||
LOG_CHANNEL(sys_libc);
|
||||
|
||||
void sys_libc_memcpy(vm::ptr<void> dst, vm::cptr<void> src, u32 size)
|
||||
vm::ptr<void> sys_libc_memcpy(vm::ptr<void> dst, vm::cptr<void> src, u32 size)
|
||||
{
|
||||
sys_libc.trace("memcpy(dst=*0x%x, src=*0x%x, size=0x%x)", dst, src, size);
|
||||
|
||||
::memcpy(dst.get_ptr(), src.get_ptr(), size);
|
||||
return dst;
|
||||
}
|
||||
vm::ptr<void> sys_libc_memset(vm::ptr<void> dst, s32 value, u32 size)
|
||||
{
|
||||
sys_libc.trace("memset(dst=*0x%x, value=0x%x, size=0x%x)", dst, value, size);
|
||||
|
||||
::memset(dst.get_ptr(), value, size);
|
||||
return dst;
|
||||
}
|
||||
|
||||
vm::ptr<void> sys_libc_memmove(vm::ptr<void> dst, vm::ptr<void> src, u32 size)
|
||||
{
|
||||
sys_libc.trace("memmove(dst=*0x%x, src=*0x%x, size=0x%x)", dst, src, size);
|
||||
|
||||
::memmove(dst.get_ptr(), src.get_ptr(), size);
|
||||
return dst;
|
||||
}
|
||||
|
||||
u32 sys_libc_memcmp(vm::ptr<void> buf1, vm::ptr<void> buf2, u32 size)
|
||||
{
|
||||
sys_libc.trace("memcmp(buf1=*0x%x, buf2=*0x%x, size=0x%x)", buf1, buf2, size);
|
||||
|
||||
return ::memcmp(buf1.get_ptr(), buf2.get_ptr(), size);
|
||||
}
|
||||
|
||||
DECLARE(ppu_module_manager::sys_libc)("sys_libc", []()
|
||||
{
|
||||
REG_FNID(sys_libc, "memcpy", sys_libc_memcpy)/*.flag(MFF_FORCED_HLE)*/;
|
||||
REG_FNID(sys_libc, "memset", sys_libc_memset);
|
||||
REG_FNID(sys_libc, "memmove", sys_libc_memmove);
|
||||
REG_FNID(sys_libc, "memcmp", sys_libc_memcmp);
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue