"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)
{
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[] =
{
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,
};
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[] =
{
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();
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)
cpu_clock = plat_target_cpu_clock_get();
}
-void menu_prepare_emu(void)
+void menu_prepare_emu(int ndrc_config_changed)
{
R3000Acpu *prev_cpu = psxCpu;
// 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