mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 14:48:46 +00:00
interpreter can call HLE hook
This commit is contained in:
parent
10817ed9f7
commit
d7d5a86da4
1 changed files with 5 additions and 8 deletions
|
@ -62,7 +62,6 @@ char buffer[24] = "Hello World libKernel\n";
|
||||||
|
|
||||||
static void RunMainEntry(VAddr addr, EntryParams* params, ExitFunc exit_func, auto& m) {
|
static void RunMainEntry(VAddr addr, EntryParams* params, ExitFunc exit_func, auto& m) {
|
||||||
printf("Arm Entry\n");
|
printf("Arm Entry\n");
|
||||||
printf("Goal to get to: %08x\n", &Libraries::Kernel::sceKernelWrite);
|
|
||||||
|
|
||||||
unsigned char* pc;
|
unsigned char* pc;
|
||||||
unsigned char* elf;
|
unsigned char* elf;
|
||||||
|
@ -89,7 +88,7 @@ static void RunMainEntry(VAddr addr, EntryParams* params, ExitFunc exit_func, au
|
||||||
case 0x55:
|
case 0x55:
|
||||||
case 0x56:
|
case 0x56:
|
||||||
case 0x57:
|
case 0x57:
|
||||||
printf("PUSH reg%d\n", pc[0]&7);
|
//printf("PUSH reg%d\n", pc[0]&7);
|
||||||
pc += 1;
|
pc += 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -117,7 +116,7 @@ static void RunMainEntry(VAddr addr, EntryParams* params, ExitFunc exit_func, au
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x8d:
|
case 0x8d:
|
||||||
printf("LEA\n");
|
//printf("LEA\n");
|
||||||
|
|
||||||
offset =
|
offset =
|
||||||
(pc[3]) + (pc[4]<<8) + (pc[5]<<16) + (pc[6]<<24);
|
(pc[3]) + (pc[4]<<8) + (pc[5]<<16) + (pc[6]<<24);
|
||||||
|
@ -208,11 +207,9 @@ static void RunMainEntry(VAddr addr, EntryParams* params, ExitFunc exit_func, au
|
||||||
// param3: r[2] = 0x18
|
// param3: r[2] = 0x18
|
||||||
//printf("%d %s %d\n", r[7], r[6], r[2]);
|
//printf("%d %s %d\n", r[7], r[6], r[2]);
|
||||||
|
|
||||||
//int (*f)(int a, u64 b, int c);
|
int (*f)(int a, u64 b, int c);
|
||||||
//memcpy(&f, &pc, 8);
|
memcpy(&f, pc, 8);
|
||||||
//f(r[7], r[6], r[2]);
|
f(r[7], r[6], r[2]);
|
||||||
|
|
||||||
Libraries::Kernel::sceKernelWrite(r[7], (char*)r[6], r[2]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// next, resolve *(int*)jumpPtr (0x176)
|
// next, resolve *(int*)jumpPtr (0x176)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue