nonacc mode removal, function return value audit
[picodrive.git] / platform / psp / menu.c
index 4cb0b4b..1c1b5df 100644 (file)
@@ -52,7 +52,7 @@ static unsigned int inp_prev = 0;
 static unsigned long wait_for_input(unsigned int interesting, int is_key_config)
 {
        unsigned int ret;
-       static int repeats = 0, wait = 6;
+       static int repeats = 0, wait = 20;
        int release = 0, count, i;
 
        if (!is_key_config)
@@ -76,12 +76,14 @@ static unsigned long wait_for_input(unsigned int interesting, int is_key_config)
 
        if (release || ret != inp_prev) {
                repeats = 0;
-               wait = 6;
+               wait = 20;
        }
        inp_prev = ret;
 
        if (!is_key_config)
                ret |= (ret & 0xf0000000) >> 24; // use analog as d-pad
+       if (wait > 6 && (ret&(BTN_UP|BTN_LEFT|BTN_DOWN|BTN_RIGHT|BTN_L|BTN_R)))
+               wait = 6;
 
        // we don't need diagonals in menus
        if ((ret&BTN_UP)   && (ret&BTN_LEFT))  ret &= ~BTN_LEFT;
@@ -1233,7 +1235,6 @@ static void amenu_loop_options(void)
 menu_entry opt_entries[] =
 {
        { NULL,                        MB_NONE,  MA_OPT_RENDERER,      NULL, 0, 0, 0, 1, 1 },
-       { "Accurate timing (slower)",  MB_ONOFF, MA_OPT_ACC_TIMING,    &PicoOpt, 0x0040, 0, 0, 1, 1 },
        { "Accurate sprites (slower)", MB_ONOFF, MA_OPT_ACC_SPRITES,   &PicoOpt, 0x0080, 0, 0, 1, 1 },
        { "Show FPS",                  MB_ONOFF, MA_OPT_SHOW_FPS,      &currentConfig.EmuOpt,  0x0002,  0,  0, 1, 1 },
        { NULL,                        MB_RANGE, MA_OPT_FRAMESKIP,     &currentConfig.Frameskip,    0, -1, 16, 1, 1 },
@@ -1510,13 +1511,15 @@ static void draw_menu_credits(void)
        text_out16(tl_x, (y+=10), "Chui: Fame/C");
        text_out16(tl_x, (y+=10), "NJ: CZ80");
        text_out16(tl_x, (y+=10), "MAME devs: YM2612 and SN76496 cores");
-       text_out16(tl_x, (y+=10), "Stephane Dallongeville:");
-       text_out16(tl_x, (y+=10), "    Gens code, base of Fame/C, CZ80");
-       text_out16(tl_x, (y+=10), "Charles MacDonald: Genesis hw docs");
-       text_out16(tl_x, (y+=10), "Haze: Genesis hw info");
        text_out16(tl_x, (y+=10), "ps2dev.org people: PSP SDK/code");
        text_out16(tl_x, (y+=10), "ketchupgun: skin design");
 
+       text_out16(tl_x, (y+=20), "special thanks (for docs, ideas):");
+       text_out16(tl_x, (y+=10), " Charles MacDonald, Haze,");
+       text_out16(tl_x, (y+=10), " Stephane Dallongeville,");
+       text_out16(tl_x, (y+=10), " Lordus, Exophase, Rokas,");
+       text_out16(tl_x, (y+=10), " Nemesis, Tasco Deluxe");
+
        menu_draw_end();
 }
 
@@ -1627,6 +1630,7 @@ static void menu_loop_root(void)
                                        if (rom_loaded) {
                                                if(savestate_menu_loop(1))
                                                        continue;
+                                               while (psp_pad_read(1) & BTN_CIRCLE) psp_msleep(50);
                                                engineState = PGS_Running;
                                                return;
                                        }
@@ -1634,6 +1638,7 @@ static void menu_loop_root(void)
                                case MA_MAIN_RESET_GAME:
                                        if (rom_loaded) {
                                                emu_ResetGame();
+                                               while (psp_pad_read(1) & BTN_CIRCLE) psp_msleep(50);
                                                engineState = PGS_Running;
                                                return;
                                        }