X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fmenu.c;h=f3049d92ae0a6c887246017983f3e908ac386cf3;hb=2d3c4d02ae7877c8b28c3f8e7578dfc0f98bacd6;hp=37956ffe8c155895cb34a769f1cc8cad6681ba82;hpb=857275a93c8e222bc800999f08d4b42e327f4c1b;p=pcsx_rearmed.git diff --git a/frontend/menu.c b/frontend/menu.c index 37956ffe..f3049d92 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -1556,6 +1556,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 menu_entry e_menu_speed_hacks[] = { @@ -1590,8 +1591,10 @@ static const char h_cfg_nodrc[] = "Disable dynamic recompiler and use interpret "Might be useful to overcome some dynarec bugs"; static const char h_cfg_shacks[] = "Breaks games but may give better performance\n" "must reload game for any change to take effect"; +#ifdef ICACHE_EMULATION static const char h_cfg_icache[] = "Allows you to play the F1 games.\n" "Note: This breaks the PAL version of Spyro 2."; +#endif static menu_entry e_menu_adv_options[] = { @@ -2327,8 +2330,11 @@ 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(); @@ -2363,7 +2369,9 @@ void menu_loop(void) in_set_config_int(0, IN_CFG_BLOCKING, 0); - menu_prepare_emu(); + ndrc_changed = cycle_multiplier_old != cycle_multiplier + || ndrc_hacks_old != new_dynarec_hacks; + menu_prepare_emu(ndrc_changed); } static int qsort_strcmp(const void *p1, const void *p2) @@ -2615,7 +2623,7 @@ static void menu_leave_emu(void) cpu_clock = plat_target_cpu_clock_get(); } -void menu_prepare_emu(void) +void menu_prepare_emu(int ndrc_config_changed) { R3000Acpu *prev_cpu = psxCpu; @@ -2632,6 +2640,8 @@ void menu_prepare_emu(void) // note that this does not really reset, just clears drc caches psxCpu->Reset(); } + else if (ndrc_config_changed) + new_dynarec_clear_full(); // core doesn't care about Config.Cdda changes, // so handle them manually here