X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fnew_dynarec.c;h=6f5ca8f7a14914f577bef289bf799aefed13258e;hp=edd141311b42347f6346e4e663807aaf591629c5;hb=b12c9fb877aa40666d5ad367ecca152cfa2edb64;hpb=b8e744ce04eaf294d0c06aca6b20b410122bf4ed diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index edd14131..6f5ca8f7 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -1186,6 +1186,9 @@ void invalidate_block(u_int block) // Don't trap writes invalid_code[block]=1; +#ifdef PCSX + invalid_code[((u_int)0x80000000>>12)|page]=1; +#endif #ifndef DISABLE_TLB // If there is a valid TLB entry for this page, remove write protect if(tlb_LUT_w[block]) { @@ -11032,6 +11035,12 @@ int new_recompile_block(int addr) } #endif } +#ifdef PCSX + // PCSX maps all RAM mirror invalid_code tests to 0x80000000..0x80000000+RAM_SIZE + if(get_page(start)<(RAM_SIZE>>12)) + for(i=start>>12;i<=(start+slen*4)>>12;i++) + invalid_code[((u_int)0x80000000>>12)|i]=0; +#endif /* Pass 10 - Free memory by expiring oldest blocks */