X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fpatches%2Ftrace_drc_chk;fp=libpcsxcore%2Fnew_dynarec%2Fpatches%2Ftrace_drc_chk;h=da8616988ed87ef540422f812dc98940fb56f3da;hp=5dab3175443a73f90a105ff150fe131adf16de77;hb=7da5c7ad699ce52d0ef8361709b420751f4e42e0;hpb=de41998a390c2dc03bdc8db2a3060bf5a5e24b06 diff --git a/libpcsxcore/new_dynarec/patches/trace_drc_chk b/libpcsxcore/new_dynarec/patches/trace_drc_chk index 5dab3175..da861698 100644 --- a/libpcsxcore/new_dynarec/patches/trace_drc_chk +++ b/libpcsxcore/new_dynarec/patches/trace_drc_chk @@ -1,8 +1,8 @@ diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c -index ede1f93c..1c8965f0 100644 +index 74f32ee3..4eec8a83 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c -@@ -324,7 +324,7 @@ static struct compile_info +@@ -325,7 +325,7 @@ static struct compile_info int new_dynarec_hacks_old; int new_dynarec_did_compile; @@ -11,7 +11,7 @@ index ede1f93c..1c8965f0 100644 extern int cycle_count; // ... until end of the timeslice, counts -N -> 0 (CCREG) extern int last_count; // last absolute target, often = next_interupt -@@ -602,6 +602,7 @@ static int cycle_multiplier_active; +@@ -603,6 +603,7 @@ static int cycle_multiplier_active; static int CLOCK_ADJUST(int x) { @@ -19,7 +19,7 @@ index ede1f93c..1c8965f0 100644 int m = cycle_multiplier_active; int s = (x >> 31) | 1; return (x * m + s * 50) / 100; -@@ -776,6 +777,9 @@ static noinline u_int generate_exception(u_int pc) +@@ -808,6 +809,9 @@ static noinline u_int generate_exception(u_int pc) // This is called from the recompiled JR/JALR instructions static void noinline *get_addr(u_int vaddr, int can_compile) { @@ -29,7 +29,7 @@ index ede1f93c..1c8965f0 100644 u_int start_page = get_page_prev(vaddr); u_int i, page, end_page = get_page(vaddr); void *found_clean = NULL; -@@ -7157,7 +7161,7 @@ static noinline void pass2_unneeded_regs(int istart,int iend,int r) +@@ -7213,7 +7217,7 @@ static noinline void pass2_unneeded_regs(int istart,int iend,int r) // R0 is always unneeded u|=1; // Save it @@ -38,7 +38,7 @@ index ede1f93c..1c8965f0 100644 gte_unneeded[i]=gte_u; /* printf("ur (%d,%d) %x: ",istart,iend,start+i*4); -@@ -8299,6 +8303,7 @@ static noinline void pass5a_preallocate1(void) +@@ -8355,6 +8359,7 @@ static noinline void pass5a_preallocate1(void) static noinline void pass5b_preallocate2(void) { int i, hr; @@ -46,7 +46,7 @@ index ede1f93c..1c8965f0 100644 for(i=0;isubCycleStep >= 0x10000); regs->subCycle += regs->subCycleStep; @@ -124,11 +124,12 @@ index 5756bee5..4fe98b1b 100644 regs->subCycle &= 0xffff; } -@@ -1344,8 +1344,14 @@ static void intShutdown() { +@@ -1348,8 +1348,15 @@ static void intShutdown() { // single step (may do several ops in case of a branch or load delay) // called by asm/dynarec void execI(psxRegisters *regs) { + extern int last_count; ++ extern u32 next_interupt; + void do_insn_cmp(void); + printf("execI %08x c %u, ni %u\n", regs->pc, regs->cycle, next_interupt); + last_count = 0;