#include <stdlib.h>
#include <string.h>
#include <strings.h>
+#ifdef __MACH__
+#include <unistd.h>
+#include <sys/syscall.h>
+#endif
#include "../libpcsxcore/misc.h"
#include "../libpcsxcore/psxcounters.h"
char blockname[32];
sprintf(blockname, "CODE 0x%08X",tag);
- block = sceKernelAllocMemBlockForVM(blockname, size);
+ block = sceKernelAllocMemBlock(blockname, size + 0x1000);
if(block<=0){
sceClibPrintf("could not alloc mem block @0x%08X 0x%08X \n", block, tag);
exit(1);
sceClibPrintf("could get address @0x%08X 0x%08X 0x%08X \n", block, ret, tag);
exit(1);
}
-
+ custom_map->buffer = (((u32)custom_map->buffer) + 0xFFF) & ~0xFFF;
custom_map->target_map = block;
return custom_map->buffer;
int i, ret;
bool found_bios = false;
+#ifdef __MACH__
+ // magic sauce to make the dynarec work on iOS
+ syscall(SYS_ptrace, 0 /*PTRACE_TRACEME*/, 0, 0, 0);
+#endif
+
#ifdef _3DS
psxMapHook = pl_3ds_mmap;
psxUnmapHook = pl_3ds_munmap;