X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Femu_if.c;h=cc0bcdf1a4b46f0dad8a3f7d0324c267036198ce;hb=3039c914c0ac33ee89127db3bd4c53eb3c25cafd;hp=f9ee64169f82c2f6b638dec018c8476d4cb2ae92;hpb=079ab0c6836e83bae50c55cad2baf733049f5136;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/emu_if.c b/libpcsxcore/new_dynarec/emu_if.c index f9ee6416..cc0bcdf1 100644 --- a/libpcsxcore/new_dynarec/emu_if.c +++ b/libpcsxcore/new_dynarec/emu_if.c @@ -88,7 +88,8 @@ static void irq_test(void) void gen_interupt() { - evprintf(" +ge %08x, %u->%u\n", psxRegs.pc, psxRegs.cycle, next_interupt); + evprintf(" +ge %08x, %u->%u (%d)\n", psxRegs.pc, psxRegs.cycle, + next_interupt, next_interupt - psxRegs.cycle); irq_test(); //psxBranchTest(); @@ -296,7 +297,6 @@ static int ari64_init() static u32 scratch_buf[8*8*2] __attribute__((aligned(64))); extern void (*psxCP2[64])(); extern void psxNULL(); - extern unsigned char *out; size_t i; new_dynarec_init(); @@ -326,10 +326,6 @@ static int ari64_init() zeromem_ptr = zero_mem; scratch_buf_ptr = scratch_buf; - SysPrintf("Mapped (RAM/scrp/ROM/LUTs/TC):\n"); - SysPrintf("%p/%p/%p/%p/%p\n", - psxM, psxH, psxR, mem_rtab, out); - return 0; } @@ -337,7 +333,7 @@ static void ari64_reset() { printf("ari64_reset\n"); new_dyna_pcsx_mem_reset(); - invalidate_all_pages(); + new_dynarec_invalidate_all_pages(); new_dyna_restore(); pending_exception = 1; } @@ -367,21 +363,11 @@ static void ari64_execute() static void ari64_clear(u32 addr, u32 size) { - u32 start, end, main_ram; - size *= 4; /* PCSX uses DMA units (words) */ evprintf("ari64_clear %08x %04x\n", addr, size); - /* check for RAM mirrors */ - main_ram = (addr & 0xffe00000) == 0x80000000; - - start = addr >> 12; - end = (addr + size) >> 12; - - for (; start <= end; start++) - if (!main_ram || !invalid_code[start]) - invalidate_block(start); + new_dynarec_invalidate_range(addr, addr + size); } static void ari64_notify(int note, void *data) { @@ -448,15 +434,14 @@ int new_dynarec_hacks; void *psxH_ptr; void *zeromem_ptr; u8 zero_mem[0x1000]; -unsigned char *out; void *mem_rtab; void *scratch_buf_ptr; void new_dynarec_init() {} void new_dyna_start(void *context) {} void new_dynarec_cleanup() {} void new_dynarec_clear_full() {} -void invalidate_all_pages() {} -void invalidate_block(unsigned int block) {} +void new_dynarec_invalidate_all_pages() {} +void new_dynarec_invalidate_range(unsigned int start, unsigned int end) {} void new_dyna_pcsx_mem_init(void) {} void new_dyna_pcsx_mem_reset(void) {} void new_dyna_pcsx_mem_load_state(void) {} @@ -664,7 +649,8 @@ void do_insn_cmp(void) //if (psxRegs.cycle == 166172) breakme(); if (which_event >= 0 && event_cycles[which_event] != ev_cycles) { - printf("bad ev_cycles #%d: %08x %08x\n", which_event, event_cycles[which_event], ev_cycles); + printf("bad ev_cycles #%d: %u %u / %u\n", which_event, + event_cycles[which_event], ev_cycles, psxRegs.cycle); fatal = 1; }