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=5dab3175443a73f90a105ff150fe131adf16de77;hp=8de3ba1fc413685b135b65ccf4cfa1455632484a;hb=4f13a57754959faa674e898d5d9147d302e72684;hpb=a01b90c372831080aa3f9dedf5251f76f300038c diff --git a/libpcsxcore/new_dynarec/patches/trace_drc_chk b/libpcsxcore/new_dynarec/patches/trace_drc_chk index 8de3ba1f..5dab3175 100644 --- a/libpcsxcore/new_dynarec/patches/trace_drc_chk +++ b/libpcsxcore/new_dynarec/patches/trace_drc_chk @@ -1,17 +1,17 @@ diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c -index 2d3348e8..a85d2cd4 100644 +index ede1f93c..1c8965f0 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c -@@ -318,7 +318,7 @@ static struct compile_info +@@ -324,7 +324,7 @@ static struct compile_info int new_dynarec_hacks_old; int new_dynarec_did_compile; - #define HACK_ENABLED(x) ((new_dynarec_hacks | new_dynarec_hacks_pergame) & (x)) + #define HACK_ENABLED(x) ((NDHACK_NO_STALLS) & (x)) - extern int cycle_count; // ... until end of the timeslice, counts -N -> 0 + extern int cycle_count; // ... until end of the timeslice, counts -N -> 0 (CCREG) extern int last_count; // last absolute target, often = next_interupt -@@ -598,6 +598,7 @@ static int cycle_multiplier_active; +@@ -602,6 +602,7 @@ static int cycle_multiplier_active; static int CLOCK_ADJUST(int x) { @@ -19,7 +19,7 @@ index 2d3348e8..a85d2cd4 100644 int m = cycle_multiplier_active; int s = (x >> 31) | 1; return (x * m + s * 50) / 100; -@@ -752,6 +753,9 @@ static void *try_restore_block(u_int vaddr, u_int start_page, u_int end_page) +@@ -776,6 +777,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 2d3348e8..a85d2cd4 100644 u_int start_page = get_page_prev(vaddr); u_int i, page, end_page = get_page(vaddr); void *found_clean = NULL; -@@ -7164,7 +7168,7 @@ static noinline void pass2_unneeded_regs(int istart,int iend,int r) +@@ -7157,7 +7161,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 2d3348e8..a85d2cd4 100644 gte_unneeded[i]=gte_u; /* printf("ur (%d,%d) %x: ",istart,iend,start+i*4); -@@ -8315,6 +8319,7 @@ static noinline void pass5a_preallocate1(void) +@@ -8299,6 +8303,7 @@ static noinline void pass5a_preallocate1(void) static noinline void pass5b_preallocate2(void) { int i, hr; @@ -46,22 +46,7 @@ index 2d3348e8..a85d2cd4 100644 for(i=0;isubCycleStep >= 0x10000); regs->subCycle += regs->subCycleStep; @@ -139,9 +124,9 @@ index e212d8a9..b98b694e 100644 regs->subCycle &= 0xffff; } -@@ -1341,8 +1341,14 @@ static void intShutdown() { - +@@ -1344,8 +1344,14 @@ 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; + void do_insn_cmp(void);