X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fcommon%2Fmenu_pico.c;h=306326bfb2cca5bf539cd83e6db75c00523c8e46;hb=7b3ddc11dc21025f2a64116d664c745c07c54984;hp=14274905a7f4ce09eddd94c42cb20bc0a34adde7;hpb=75a30842c4f9e7e95a199361b9348c9f9dede0e6;p=picodrive.git diff --git a/platform/common/menu_pico.c b/platform/common/menu_pico.c index 1427490..306326b 100644 --- a/platform/common/menu_pico.c +++ b/platform/common/menu_pico.c @@ -135,7 +135,7 @@ static void draw_savestate_bg(int slot) const char *fname; void *tmp_state; - fname = emu_get_save_fname(1, 0, slot); + fname = emu_get_save_fname(1, 0, slot, NULL); if (!fname) return; @@ -395,31 +395,6 @@ static int menu_loop_keyconfig(int id, int keys) // ------------ SCD options menu ------------ -static const char *mgn_cdopt_ra(int id, int *offs) -{ - *offs = -5; - if (PicoCDBuffers <= 0) - return " OFF"; - sprintf(static_buff, "%5iK", PicoCDBuffers * 2); - return static_buff; -} - -static int mh_cdopt_ra(int id, int keys) -{ - if (keys & PBTN_LEFT) { - PicoCDBuffers >>= 1; - if (PicoCDBuffers < 2) - PicoCDBuffers = 0; - } else { - if (PicoCDBuffers <= 0) - PicoCDBuffers = 1; - PicoCDBuffers <<= 1; - if (PicoCDBuffers > 8*1024) - PicoCDBuffers = 8*1024; // 16M - } - return 0; -} - static const char h_cdleds[] = "Show power/CD LEDs of emulated console"; static const char h_cdda[] = "Play audio tracks from mp3s/wavs/bins"; static const char h_cdpcm[] = "Emulate PCM audio chip for effects/voices/music"; @@ -435,10 +410,8 @@ static menu_entry e_menu_cd_options[] = mee_onoff_h("CD LEDs", MA_CDOPT_LEDS, currentConfig.EmuOpt, EOPT_EN_CD_LEDS, h_cdleds), mee_onoff_h("CDDA audio", MA_CDOPT_CDDA, PicoOpt, POPT_EN_MCD_CDDA, h_cdda), mee_onoff_h("PCM audio", MA_CDOPT_PCM, PicoOpt, POPT_EN_MCD_PCM, h_cdpcm), - mee_cust ("ReadAhead buffer", MA_CDOPT_READAHEAD, mh_cdopt_ra, mgn_cdopt_ra), mee_onoff_h("SaveRAM cart", MA_CDOPT_SAVERAM, PicoOpt, POPT_EN_MCD_RAMCART, h_srcart), mee_onoff_h("Scale/Rot. fx (slow)", MA_CDOPT_SCALEROT_CHIP, PicoOpt, POPT_EN_MCD_GFX, h_scfx), - mee_onoff_h("Better sync (slow)", MA_CDOPT_BETTER_SYNC, PicoOpt, POPT_EN_MCD_PSYNC, h_bsync), mee_end, }; @@ -524,7 +497,7 @@ static menu_entry e_menu_adv_options[] = mee_onoff ("Don't save last used ROM", MA_OPT2_NO_LAST_ROM, currentConfig.EmuOpt, EOPT_NO_AUTOSVCFG), mee_onoff ("Disable idle loop patching",MA_OPT2_NO_IDLE_LOOPS,PicoOpt, POPT_DIS_IDLE_DET), mee_onoff ("Disable frame limiter", MA_OPT2_NO_FRAME_LIMIT,currentConfig.EmuOpt, EOPT_NO_FRMLIMIT), - mee_onoff ("Enable dynarecs", MA_OPT2_SVP_DYNAREC, PicoOpt, POPT_EN_SVP_DRC), + mee_onoff ("Enable dynarecs", MA_OPT2_DYNARECS, PicoOpt, POPT_EN_DRC), mee_onoff ("Status line in main menu", MA_OPT2_STATUS_LINE, currentConfig.EmuOpt, EOPT_SHOW_RTC), MENU_OPTIONS_ADV mee_end, @@ -744,7 +717,7 @@ static menu_entry e_menu_options[] = mee_onoff ("Enable sound", MA_OPT_ENABLE_SOUND, currentConfig.EmuOpt, EOPT_EN_SOUND), mee_cust ("Sound Quality", MA_OPT_SOUND_QUALITY, mh_opt_misc, mgn_opt_sound), mee_enum_h ("Confirm savestate", MA_OPT_CONFIRM_STATES,currentConfig.confirm_save, men_confirm_save, h_confirm_save), - mee_range ("", MA_OPT_CPU_CLOCKS, currentConfig.CPUclock, 20, 1200), + mee_range ("", MA_OPT_CPU_CLOCKS, currentConfig.CPUclock, 20, 3200), mee_handler ("[Display options]", menu_loop_gfx_options), mee_handler ("[Sega/Mega CD options]", menu_loop_cd_options), #ifndef NO_32X @@ -926,16 +899,29 @@ static void debug_menu_loop(void) // ------------ main menu ------------ +static void draw_frame_credits(void) +{ + smalltext_out16(4, 1, "build: " __DATE__ " " __TIME__, 0xe7fc); +} + static const char credits[] = - "PicoDrive v" VERSION " (c) notaz, 2006-2011\n\n\n" + "PicoDrive v" VERSION " (c) notaz, 2006-2013\n\n\n" "Credits:\n" - "fDave: Cyclone 68000 core,\n" - " base code of PicoDrive\n" + "fDave: initial code\n" +#ifdef EMU_C68K + " Cyclone 68000 core\n" +#else + "Stef, Chui: FAME/C 68k core\n" +#endif +#ifdef _USE_DRZ80 "Reesy & FluBBa: DrZ80 core\n" - "MAME devs: YM2612 and SN76496 cores\n" +#else + "Stef, NJ: CZ80 core\n" +#endif + "MAME devs: SH2, YM2612 and SN76496 cores\n" + "Eke, Stef: some Sega CD code\n" "Inder, ketchupgun: graphics\n" #ifdef __GP2X__ - "rlyeh and others: minimal SDK\n" "Squidge: mmuhack\n" "Dzz: ARM940 sample\n" #endif @@ -944,7 +930,7 @@ static const char credits[] = " Charles MacDonald, Haze,\n" " Stephane Dallongeville,\n" " Lordus, Exophase, Rokas,\n" - " Nemesis, Tasco Deluxe"; + " Eke, Nemesis, Tasco Deluxe"; static void menu_main_draw_status(void) { @@ -1031,8 +1017,17 @@ static int main_menu_handler(int id, int keys) return 1; } break; + case MA_MAIN_CHANGE_CD: + if (PicoAHW & PAHW_MCD) { + // if cd is loaded, cdd_unload() triggers eject and + // returns 1, else we'll select and load new CD here + if (!cdd_unload()) + menu_loop_tray(); + return 1; + } + break; case MA_MAIN_CREDITS: - draw_menu_message(credits, NULL); + draw_menu_message(credits, draw_frame_credits); in_menu_wait(PBTN_MOK|PBTN_MBACK, NULL, 70); break; case MA_MAIN_EXIT: @@ -1064,6 +1059,7 @@ static menu_entry e_menu_main[] = mee_handler_id("Load State", MA_MAIN_LOAD_STATE, main_menu_handler), mee_handler_id("Reset game", MA_MAIN_RESET_GAME, main_menu_handler), mee_handler_id("Load new ROM/ISO", MA_MAIN_LOAD_ROM, main_menu_handler), + mee_handler_id("Change CD/ISO", MA_MAIN_CHANGE_CD, main_menu_handler), mee_handler ("Change options", menu_loop_options), mee_handler ("Configure controls", menu_loop_keyconfig), mee_handler_id("Credits", MA_MAIN_CREDITS, main_menu_handler), @@ -1080,6 +1076,7 @@ void menu_loop(void) me_enable(e_menu_main, MA_MAIN_SAVE_STATE, PicoGameLoaded); me_enable(e_menu_main, MA_MAIN_LOAD_STATE, PicoGameLoaded); me_enable(e_menu_main, MA_MAIN_RESET_GAME, PicoGameLoaded); + me_enable(e_menu_main, MA_MAIN_CHANGE_CD, PicoAHW & PAHW_MCD); me_enable(e_menu_main, MA_MAIN_PATCHES, PicoPatches != NULL); menu_enter(PicoGameLoaded); @@ -1167,6 +1164,7 @@ void menu_update_msg(const char *msg) static menu_entry e_menu_hidden[] = { mee_onoff("Accurate sprites", MA_OPT_ACC_SPRITES, PicoOpt, 0x080), + mee_onoff("autoload savestates", MA_OPT_AUTOLOAD_SAVE, g_autostateld_opt, 1), mee_end, }; @@ -1222,7 +1220,7 @@ void menu_init(void) #if defined(_SVP_DRC) || defined(DRC_SH2) i = 1; #endif - me_enable(e_menu_adv_options, MA_OPT2_SVP_DYNAREC, i); + me_enable(e_menu_adv_options, MA_OPT2_DYNARECS, i); i = me_id2offset(e_menu_gfx_options, MA_OPT_VOUT_MODE); e_menu_gfx_options[i].data = plat_target.vout_methods;