X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmenu.c;h=76d0e8688ffcb348f49f280fe5260e1250079c9a;hp=1d21dacf2bfd9a952c257ba2e631439a0432ba4d;hb=32631e6a5d44d1e6aa5d53d5777a039b2d3d4300;hpb=e3c6bdb5e46f72f063bb7f588da6588ac1893b17 diff --git a/frontend/menu.c b/frontend/menu.c index 1d21dacf..76d0e868 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -398,6 +398,7 @@ static const struct { CE_CONFIG_VAL(RCntFix), CE_CONFIG_VAL(VSyncWA), CE_CONFIG_VAL(icache_emulation), + CE_CONFIG_VAL(DisableStalls), CE_CONFIG_VAL(Cpu), CE_INTVAL(region), CE_INTVAL_V(g_scaler, 3), @@ -1556,7 +1557,7 @@ static const char h_cfg_psxclk[] = "Over/under-clock the PSX, default is " DEFA static const char h_cfg_nosmc[] = "Will cause crashes when loading, break memcards"; static const char h_cfg_gteunn[] = "May cause graphical glitches"; static const char h_cfg_gteflgs[] = "Will cause graphical glitches"; -static const char h_cfg_gtestll[] = "Some games will run too fast"; +static const char h_cfg_stalls[] = "Will cause some games to run too fast"; static menu_entry e_menu_speed_hacks[] = { @@ -1564,7 +1565,7 @@ static menu_entry e_menu_speed_hacks[] = mee_onoff_h ("Disable SMC checks", 0, new_dynarec_hacks, NDHACK_NO_SMC_CHECK, h_cfg_nosmc), mee_onoff_h ("Assume GTE regs unneeded", 0, new_dynarec_hacks, NDHACK_GTE_UNNEEDED, h_cfg_gteunn), mee_onoff_h ("Disable GTE flags", 0, new_dynarec_hacks, NDHACK_GTE_NO_FLAGS, h_cfg_gteflgs), - mee_onoff_h ("Disable GTE stalls", 0, new_dynarec_hacks, NDHACK_GTE_NO_STALL, h_cfg_gtestll), + mee_onoff_h ("Disable CPU/GTE stalls", 0, Config.DisableStalls, 1, h_cfg_stalls), mee_end, }; @@ -2331,11 +2332,8 @@ static void menu_leave_emu(void); void menu_loop(void) { - int cycle_multiplier_old = cycle_multiplier; - int ndrc_hacks_old = new_dynarec_hacks; static int warned_about_bios = 0; static int sel = 0; - int ndrc_changed; menu_leave_emu(); @@ -2370,9 +2368,7 @@ void menu_loop(void) in_set_config_int(0, IN_CFG_BLOCKING, 0); - ndrc_changed = cycle_multiplier_old != cycle_multiplier - || ndrc_hacks_old != new_dynarec_hacks; - menu_prepare_emu(ndrc_changed); + menu_prepare_emu(); } static int qsort_strcmp(const void *p1, const void *p2) @@ -2624,7 +2620,7 @@ static void menu_leave_emu(void) cpu_clock = plat_target_cpu_clock_get(); } -void menu_prepare_emu(int ndrc_config_changed) +void menu_prepare_emu(void) { R3000Acpu *prev_cpu = psxCpu; @@ -2641,8 +2637,8 @@ void menu_prepare_emu(int ndrc_config_changed) // note that this does not really reset, just clears drc caches psxCpu->Reset(); } - else if (ndrc_config_changed) - new_dynarec_clear_full(); + + psxCpu->ApplyConfig(); // core doesn't care about Config.Cdda changes, // so handle them manually here