X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmenu.c;h=85f7b7f936e52a3092a30a080806fceadf7349a2;hp=05dde46173578502ccbccd013e0306689fe773e3;hb=2405813165a8259d501406d91c3d3161972db9ec;hpb=0bfe8d59b9150b2662c3ca68f950b272344cb9a4 diff --git a/frontend/menu.c b/frontend/menu.c index 05dde461..85f7b7f9 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -102,7 +102,7 @@ int soft_scaling, analog_deadzone; // for Caanoo int soft_filter; #ifndef HAVE_PRE_ARMV7 -#define DEFAULT_PSX_CLOCK 57 +#define DEFAULT_PSX_CLOCK (10000 / CYCLE_MULT_DEFAULT) #define DEFAULT_PSX_CLOCK_S "57" #else #define DEFAULT_PSX_CLOCK 50 @@ -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), @@ -1256,10 +1257,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) { @@ -1550,18 +1552,26 @@ static int menu_loop_plugin_options(int id, int keys) // ------------ adv options menu ------------ +#ifndef DRC_DISABLE static const char h_cfg_psxclk[] = "Over/under-clock the PSX, default is " DEFAULT_PSX_CLOCK_S "\n" "(lower value - less work for the emu, may be faster)"; +static const char h_cfg_noch[] = "Disables game-specific compatibility hacks"; 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"; +#endif +static const char h_cfg_stalls[] = "Will cause some games to run too fast"; static menu_entry e_menu_speed_hacks[] = { +#ifndef DRC_DISABLE mee_range_h ("PSX CPU clock, %%", 0, psx_clock, 1, 500, h_cfg_psxclk), + mee_onoff_h ("Disable compat hacks", 0, new_dynarec_hacks, NDHACK_NO_COMPAT_HACKS, h_cfg_noch), 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), +#endif + mee_onoff_h ("Disable CPU/GTE stalls", 0, Config.DisableStalls, 1, h_cfg_stalls), mee_end, }; @@ -1579,19 +1589,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_rcnt2[] = "InuYasha Sengoku Battle Fix\n" "(timing hack, breaks other games)"; +#ifdef DRC_DISABLE +static const char h_cfg_rcnt1[] = "Parasite Eve 2, Vandal Hearts 1/2 Fix\n" + "(timing hack, breaks other games)"; +#else 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"; -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 const char h_cfg_shacks[] = "Breaks games but may give better performance"; +static const char h_cfg_icache[] = "Support F1 games (only when dynarec is off)"; + static menu_entry e_menu_adv_options[] = { mee_onoff_h ("Show CPU load", 0, g_opts, OPT_SHOWCPU, h_cfg_cpul), @@ -1601,12 +1612,14 @@ static menu_entry e_menu_adv_options[] = mee_onoff_h ("Disable CD Audio", 0, Config.Cdda, 1, h_cfg_cdda), //mee_onoff_h ("SIO IRQ Always Enabled", 0, Config.Sio, 1, h_cfg_sio), mee_onoff_h ("SPU IRQ Always Enabled", 0, Config.SpuIrq, 1, h_cfg_spuirq), -#ifdef ICACHE_EMULATION mee_onoff_h ("ICache emulation", 0, Config.icache_emulation, 1, h_cfg_icache), +#ifdef DRC_DISABLE + mee_onoff_h ("Rootcounter hack", 0, Config.RCntFix, 1, h_cfg_rcnt1), #endif - //mee_onoff_h ("Rootcounter hack", 0, Config.RCntFix, 1, h_cfg_rcnt1), mee_onoff_h ("Rootcounter hack 2", 0, Config.VSyncWA, 1, h_cfg_rcnt2), +#ifndef DRC_DISABLE mee_onoff_h ("Disable dynarec (slow!)",0, Config.Cpu, 1, h_cfg_nodrc), +#endif mee_handler_h ("[Speed hacks]", menu_loop_speed_hacks, h_cfg_shacks), mee_end, }; @@ -2632,6 +2645,8 @@ void menu_prepare_emu(void) psxCpu->Reset(); } + psxCpu->ApplyConfig(); + // core doesn't care about Config.Cdda changes, // so handle them manually here if (Config.Cdda)