X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Femu_if.c;h=f170be7e1d63fbb0bd8ddb741fea7401845c03c8;hb=32631e6a5d44d1e6aa5d53d5777a039b2d3d4300;hp=f660e7f11395d19aa4d1c9cf490bd41d0b5ed1b3;hpb=2d3c4d02ae7877c8b28c3f8e7578dfc0f98bacd6;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/emu_if.c b/libpcsxcore/new_dynarec/emu_if.c index f660e7f1..f170be7e 100644 --- a/libpcsxcore/new_dynarec/emu_if.c +++ b/libpcsxcore/new_dynarec/emu_if.c @@ -218,15 +218,6 @@ const char *gte_regnames[64] = { NULL , NULL , NULL , NULL , NULL , "GPF" , "GPL" , "NCCT", // 38 }; -/* from gte.txt.. not sure if this is any good. */ -const char gte_cycletab[64] = { - /* 1 2 3 4 5 6 7 8 9 a b c d e f */ - 0, 15, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 6, 0, 0, 0, - 8, 8, 8, 19, 13, 0, 44, 0, 0, 0, 0, 17, 11, 0, 14, 0, - 30, 0, 0, 0, 0, 0, 0, 0, 5, 8, 17, 0, 0, 5, 6, 0, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 39, -}; - #define GCBIT(x) \ (1ll << (32+x)) #define GDBIT(x) \ @@ -414,6 +405,20 @@ static void ari64_notify(int note, void *data) { } #endif +static void ari64_apply_config() +{ + if (Config.DisableStalls) + new_dynarec_hacks |= NDHACK_NO_STALLS; + else + new_dynarec_hacks &= ~NDHACK_NO_STALLS; + + if (cycle_multiplier != cycle_multiplier_old + || new_dynarec_hacks != new_dynarec_hacks_old) + { + new_dynarec_clear_full(); + } +} + static void ari64_shutdown() { new_dynarec_cleanup(); @@ -429,6 +434,7 @@ R3000Acpu psxRec = { #ifdef ICACHE_EMULATION ari64_notify, #endif + ari64_apply_config, ari64_shutdown }; @@ -440,7 +446,9 @@ unsigned int next_interupt; int new_dynarec_did_compile; int cycle_multiplier; int cycle_multiplier_override; +int cycle_multiplier_old; int new_dynarec_hacks_pergame; +int new_dynarec_hacks_old; int new_dynarec_hacks; void *psxH_ptr; void *zeromem_ptr;