From: notaz Date: Sat, 18 Dec 2010 17:51:06 +0000 (+0200) Subject: drc: end block on syscall and hlecall, not insn after them X-Git-Tag: r1~19 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75dec299b045862ed759c21bb309270c48089dd0;p=pcsx_rearmed.git drc: end block on syscall and hlecall, not insn after them ..or else we might get jump there, which causes it to abort. Also remove assert that's hit occasionally. --- diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index 2f42f438..2e7f75a5 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -8104,7 +8104,7 @@ int new_recompile_block(int addr) case 0x3B: strcpy(insn[i],"HLECALL"); type=HLECALL; break; #endif default: strcpy(insn[i],"???"); type=NI; - printf("NI %08x @%08x\n", source[i], addr + i*4); + printf("NI %08x @%08x (%08x)\n", source[i], addr + i*4, addr); break; } itype[i]=type; @@ -8359,9 +8359,9 @@ int new_recompile_block(int addr) // Don't get too close to the limit if(i>MAXBLOCK/2) done=1; } - if(i>0&&itype[i-1]==SYSCALL&&stop_after_jal) done=1; - if(itype[i-1]==HLECALL) done=1; - assert(i