X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Femu_if.c;h=a37f7a279491cf71957b329afa4007344a7f5881;hb=c7abc8640c52f63f655ba38585b37c8548527b63;hp=d2ff36a02d3664effb3211e035dd5b8b227716a7;hpb=fca1aef29ed173264919b7a0b35f92dbe0d4e521;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/emu_if.c b/libpcsxcore/new_dynarec/emu_if.c index d2ff36a0..a37f7a27 100644 --- a/libpcsxcore/new_dynarec/emu_if.c +++ b/libpcsxcore/new_dynarec/emu_if.c @@ -175,7 +175,9 @@ static void ari64_reset() pending_exception = 1; } -static void ari64_execute() +// execute until predefined leave points +// (HLE softcall exit and BIOS fastboot end) +static void ari64_execute_until() { schedule_timeslice(); @@ -188,10 +190,20 @@ static void ari64_execute() psxRegs.cycle, next_interupt, next_interupt - psxRegs.cycle); } +static void ari64_execute() +{ + while (!stop) { + ari64_execute_until(); + evprintf("drc left @%08x\n", psxRegs.pc); + } +} + static void ari64_clear(u32 addr, u32 size) { u32 start, end; + size *= 4; /* PCSX uses DMA units */ + evprintf("ari64_clear %08x %04x\n", addr, size); /* check for RAM mirrors */ @@ -227,7 +239,7 @@ R3000Acpu psxRec = { ari64_reset, #if defined(__arm__) ari64_execute, - ari64_execute, + ari64_execute_until, #else intExecuteT, intExecuteBlockT,