X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Flinkage_arm.S;h=f97b2d0593bb8e6a88148eee44803383f4aa2fda;hb=6d75addfea5544b926d3924b1bd1e1d8ce9ffdb4;hp=513911cabaf0a48024a8f2ec4591da0e957fd855;hpb=104df9d3b15f92d5c73d2d6beb6f01f0cc158e03;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/linkage_arm.S b/libpcsxcore/new_dynarec/linkage_arm.S index 513911ca..f97b2d05 100644 --- a/libpcsxcore/new_dynarec/linkage_arm.S +++ b/libpcsxcore/new_dynarec/linkage_arm.S @@ -30,7 +30,7 @@ #define ndrc_try_restore_block ESYM(ndrc_try_restore_block) #define ndrc_get_addr_ht ESYM(ndrc_get_addr_ht) #define ndrc_get_addr_ht_param ESYM(ndrc_get_addr_ht_param) -#define ndrc_invalidate_addr ESYM(ndrc_invalidate_addr) +#define ndrc_write_invalidate_one ESYM(ndrc_write_invalidate_one) #define gen_interupt ESYM(gen_interupt) #define gteCheckStallRaw ESYM(gteCheckStallRaw) #define psxException ESYM(psxException) @@ -242,6 +242,7 @@ FUNCTION(cc_interrupt): @@ str r10, [fp, #LO_reg_cop0+36] /* Count - not on PSX */ mov r10, lr + add r0, fp, #(LO_psxRegs + 34*4) /* CP0 */ bl gen_interupt mov lr, r10 ldr r10, [fp, #LO_cycle] @@ -301,7 +302,8 @@ call_psxException: ldr r3, [fp, #LO_last_count] str r2, [fp, #LO_pcaddr] add r10, r3, r10 - str r10, [fp, #LO_cycle] /* PCSX cycles */ + str r10, [fp, #LO_cycle] /* PCSX cycles */ + add r2, fp, #(LO_psxRegs + 34*4) /* CP0 */ bl psxException /* note: psxException might do recursive recompiler call from it's HLE code, @@ -401,7 +403,7 @@ invalidate_addr_call: ldr lr, [fp, #LO_inv_code_end] cmp r0, r12 cmpcs lr, r0 - blcc ndrc_invalidate_addr + blcc ndrc_write_invalidate_one ldmia fp, {r0, r1, r2, r3, EXTRA_UNSAVED_REGS r12, pc} .size invalidate_addr_call, .-invalidate_addr_call