X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fmenu.c;h=1d21dacf2bfd9a952c257ba2e631439a0432ba4d;hb=e3c6bdb5e46f72f063bb7f588da6588ac1893b17;hp=05dde46173578502ccbccd013e0306689fe773e3;hpb=0bfe8d59b9150b2662c3ca68f950b272344cb9a4;p=pcsx_rearmed.git diff --git a/frontend/menu.c b/frontend/menu.c index 05dde461..1d21dacf 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -1256,10 +1256,11 @@ static const char h_scaler[] = "int. 2x - scales w. or h. 2x if it fits on s "int. 4:3 - uses integer if possible, else fractional"; static const char h_cscaler[] = "Displays the scaler layer, you can resize it\n" "using d-pad or move it using R+d-pad"; -static const char h_overlay[] = "Overlay provides hardware accelerated scaling"; static const char h_soft_filter[] = "Works only if game uses low resolution modes"; -static const char h_scanline_l[] = "Scanline brightness, 0-100%"; static const char h_gamma[] = "Gamma/brightness adjustment (default 100)"; +#ifdef __ARM_NEON__ +static const char h_scanline_l[] = "Scanline brightness, 0-100%"; +#endif static int menu_loop_cscaler(int id, int keys) { @@ -1555,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[] = { @@ -1562,6 +1564,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_end, }; @@ -1579,18 +1582,20 @@ static const char h_cfg_fl[] = "Frame Limiter keeps the game from running to static const char h_cfg_xa[] = "Disables XA sound, which can sometimes improve performance"; static const char h_cfg_cdda[] = "Disable CD Audio for a performance boost\n" "(proper .cue/.bin dump is needed otherwise)"; -static const char h_cfg_sio[] = "You should not need this, breaks games"; +//static const char h_cfg_sio[] = "You should not need this, breaks games"; static const char h_cfg_spuirq[] = "Compatibility tweak; should be left off"; -static const char h_cfg_rcnt1[] = "Parasite Eve 2, Vandal Hearts 1/2 Fix\n" - "(timing hack, breaks other games)"; +//static const char h_cfg_rcnt1[] = "Parasite Eve 2, Vandal Hearts 1/2 Fix\n" +// "(timing hack, breaks other games)"; static const char h_cfg_rcnt2[] = "InuYasha Sengoku Battle Fix\n" "(timing hack, breaks other games)"; static const char h_cfg_nodrc[] = "Disable dynamic recompiler and use interpreter\n" "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[] = { @@ -2326,8 +2331,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(); @@ -2362,7 +2370,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) @@ -2614,7 +2624,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; @@ -2631,6 +2641,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