X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fmenu.c;h=d8c3a31d0ff485776ae17e426945e84f22fd7ce2;hb=7a8117168d6b9ad083757e013049c0e45734f3fb;hp=5737db4605142a50e0037b65cf04d9143fc3bc1b;hpb=e8d96071f1a0b34b58647372b9d9976c5e397aba;p=pcsx_rearmed.git diff --git a/frontend/menu.c b/frontend/menu.c index 5737db46..d8c3a31d 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -39,6 +39,7 @@ #include "../plugins/dfinput/externals.h" #include "../plugins/dfsound/spu_config.h" #include "psemu_plugin_defs.h" +#include "arm_features.h" #include "revision.h" #define REARMED_BIRTHDAY_TIME 1293306830 /* 25 Dec 2010 */ @@ -100,13 +101,10 @@ int scanlines, scanline_level = 20; int soft_scaling, analog_deadzone; // for Caanoo int soft_filter; -#ifdef __ARM_ARCH_7A__ -#define DEFAULT_PSX_CLOCK 57 -#define DEFAULT_PSX_CLOCK_S "57" -#else -#define DEFAULT_PSX_CLOCK 50 -#define DEFAULT_PSX_CLOCK_S "50" -#endif +// Default to 100% CPU speed as most hardware can handle it nowadays using the dynamic recompiler. +// If not, the option is in the advanced speed hacks menu, so in a logical place. +#define DEFAULT_PSX_CLOCK 100 +#define DEFAULT_PSX_CLOCK_S "100" static const char *bioses[24]; static const char *gpu_plugins[16]; @@ -307,14 +305,14 @@ static void menu_sync_config(void) cycle_multiplier = 10000 / psx_clock; switch (in_type_sel1) { - case 1: in_type1 = PSE_PAD_TYPE_ANALOGPAD; break; - case 2: in_type1 = PSE_PAD_TYPE_NEGCON; break; - default: in_type1 = PSE_PAD_TYPE_STANDARD; + case 1: in_type[0] = PSE_PAD_TYPE_ANALOGPAD; break; + case 2: in_type[0] = PSE_PAD_TYPE_NEGCON; break; + default: in_type[0] = PSE_PAD_TYPE_STANDARD; } switch (in_type_sel2) { - case 1: in_type2 = PSE_PAD_TYPE_ANALOGPAD; break; - case 2: in_type2 = PSE_PAD_TYPE_NEGCON; break; - default: in_type2 = PSE_PAD_TYPE_STANDARD; + case 1: in_type[1] = PSE_PAD_TYPE_ANALOGPAD; break; + case 2: in_type[1] = PSE_PAD_TYPE_NEGCON; break; + default: in_type[1] = PSE_PAD_TYPE_STANDARD; } if (in_evdev_allow_abs_only != allow_abs_only_old) { in_probe(); @@ -396,6 +394,7 @@ static const struct { CE_CONFIG_VAL(SpuIrq), CE_CONFIG_VAL(RCntFix), CE_CONFIG_VAL(VSyncWA), + CE_CONFIG_VAL(icache_emulation), CE_CONFIG_VAL(Cpu), CE_INTVAL(region), CE_INTVAL_V(g_scaler, 3), @@ -422,12 +421,20 @@ static const struct { CE_INTVAL_N("adev0_is_nublike", in_adev_is_nublike[0]), CE_INTVAL_N("adev1_is_nublike", in_adev_is_nublike[1]), CE_INTVAL_V(frameskip, 3), + CE_INTVAL_P(thread_rendering), CE_INTVAL_P(gpu_peops.iUseDither), CE_INTVAL_P(gpu_peops.dwActFixes), + CE_INTVAL_P(gpu_unai.ilace_force), + CE_INTVAL_P(gpu_unai.pixel_skip), + CE_INTVAL_P(gpu_unai.lighting), + CE_INTVAL_P(gpu_unai.fast_lighting), + CE_INTVAL_P(gpu_unai.blending), + CE_INTVAL_P(gpu_unai.dithering), CE_INTVAL_P(gpu_unai.lineskip), CE_INTVAL_P(gpu_unai.abe_hack), CE_INTVAL_P(gpu_unai.no_light), CE_INTVAL_P(gpu_unai.no_blend), + CE_INTVAL_P(gpu_unai.scale_hires), CE_INTVAL_P(gpu_neon.allow_interlace), CE_INTVAL_P(gpu_neon.enhancement_enable), CE_INTVAL_P(gpu_neon.enhancement_no_main), @@ -732,7 +739,7 @@ static unsigned short fname2color(const char *fname) static void draw_savestate_bg(int slot); #define MENU_ALIGN_LEFT -#ifdef __ARM_ARCH_7A__ // assume hires device +#ifndef HAVE_PRE_ARMV7 // assume hires device #define MENU_X2 1 #else #define MENU_X2 0 @@ -813,7 +820,7 @@ static void draw_savestate_bg(int slot) // darken this so that menu text is visible if (g_menuscreen_w - w < 320) - menu_darken_bg(d, d, w * 2, 0); + menu_darken_bg(d, d, w, 0); } out: @@ -852,7 +859,7 @@ me_bind_action emuctrl_actions[] = { "Toggle Frameskip ", 1 << SACTION_TOGGLE_FSKIP }, { "Take Screenshot ", 1 << SACTION_SCREENSHOT }, { "Show/Hide FPS ", 1 << SACTION_TOGGLE_FPS }, -#ifdef __ARM_ARCH_7A__ +#ifndef HAVE_PRE_ARMV7 { "Switch Renderer ", 1 << SACTION_SWITCH_DISPMODE }, #endif { "Fast Forward ", 1 << SACTION_FAST_FORWARD }, @@ -903,8 +910,6 @@ static void get_line(char *d, size_t size, const char *s) len = size - 1; strncpy(d, s, len); d[len] = 0; - - mystrip(d); } static void keys_write_all(FILE *f) @@ -1011,7 +1016,10 @@ static void keys_load_all(const char *cfg) while (p != NULL && (p = strstr(p, "binddev = ")) != NULL) { p += 10; + // don't strip 'dev' because there are weird devices + // with names with space at the end get_line(dev, sizeof(dev), p); + dev_id = in_config_parse_dev(dev); if (dev_id < 0) { printf("input: can't handle dev: %s\n", dev); @@ -1358,10 +1366,16 @@ static int menu_loop_plugin_gpu_neon(int id, int keys) static menu_entry e_menu_plugin_gpu_unai[] = { - mee_onoff ("Skip every 2nd line", 0, pl_rearmed_cbs.gpu_unai.lineskip, 1), - mee_onoff ("Abe's Odyssey hack", 0, pl_rearmed_cbs.gpu_unai.abe_hack, 1), - mee_onoff ("Disable lighting", 0, pl_rearmed_cbs.gpu_unai.no_light, 1), - mee_onoff ("Disable blending", 0, pl_rearmed_cbs.gpu_unai.no_blend, 1), + //mee_onoff ("Skip every 2nd line", 0, pl_rearmed_cbs.gpu_unai.lineskip, 1), + //mee_onoff ("Abe's Odyssey hack", 0, pl_rearmed_cbs.gpu_unai.abe_hack, 1), + //mee_onoff ("Disable lighting", 0, pl_rearmed_cbs.gpu_unai.no_light, 1), + //mee_onoff ("Disable blending", 0, pl_rearmed_cbs.gpu_unai.no_blend, 1), + mee_onoff ("Interlace", 0, pl_rearmed_cbs.gpu_unai.ilace_force, 1), + mee_onoff ("Dithering", 0, pl_rearmed_cbs.gpu_unai.dithering, 1), + mee_onoff ("Lighting", 0, pl_rearmed_cbs.gpu_unai.lighting, 1), + mee_onoff ("Fast lighting", 0, pl_rearmed_cbs.gpu_unai.fast_lighting, 1), + mee_onoff ("Blending", 0, pl_rearmed_cbs.gpu_unai.blending, 1), + mee_onoff ("Pixel skip", 0, pl_rearmed_cbs.gpu_unai.pixel_skip, 1), mee_end, }; @@ -1554,6 +1568,8 @@ 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"; +static const char h_cfg_icache[] = "Allows you to play the F1 games.\n" + "Note: This breaks the PAL version of Spyro 2."; static menu_entry e_menu_adv_options[] = { @@ -1564,6 +1580,9 @@ 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), +#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), mee_onoff_h ("Disable dynarec (slow!)",0, Config.Cpu, 1, h_cfg_nodrc), @@ -2520,7 +2539,7 @@ void menu_init(void) me_enable(e_menu_gfx_options, MA_OPT_GAMMA, plat_target.gamma_set != NULL); -#ifndef __ARM_ARCH_7A__ +#ifdef HAVE_PRE_ARMV7 me_enable(e_menu_gfx_options, MA_OPT_SWFILTER, 0); #endif me_enable(e_menu_gfx_options, MA_OPT_VARSCALER, MENU_SHOW_VARSCALER);