static unsigned long wait_for_input(unsigned int interesting, int is_key_config)
{
unsigned int ret;
- static int repeats = 0, wait = 50;
+ static int repeats = 0, wait = 20;
int release = 0, count, i;
if (!is_key_config)
interesting |= (interesting & 0xf0) << 24; // also use analog
- if (repeats == 2 || repeats == 4) wait /= 2;
- if (repeats == 6) wait = 15;
+ if (repeats == 2) wait = 3;
+ else if (repeats == 4) wait = 2;
+ else if (repeats == 6) wait = 1;
- for (i = 0; i < 6 && inp_prev == psp_pad_read(1); i++) {
+ for (i = 0; i < wait && inp_prev == gp2x_joystick_read(1); i++) {
+
+ for (i = 0; i < wait && inp_prev == psp_pad_read(1); i++) {
if (i == 0) repeats++;
- psp_msleep(wait);
+ psp_msleep(30);
}
for (count = 0; !((ret = psp_pad_read(1)) & interesting) && count < 100; count++) {
if (release || ret != inp_prev) {
repeats = 0;
- wait = 50;
+ 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;
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 code, 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();
}
if (rom_loaded) {
if(savestate_menu_loop(1))
continue;
+ while (psp_pad_read(1) & BTN_CIRCLE) psp_msleep(50);
engineState = PGS_Running;
return;
}
case MA_MAIN_RESET_GAME:
if (rom_loaded) {
emu_ResetGame();
+ while (psp_pad_read(1) & BTN_CIRCLE) psp_msleep(50);
engineState = PGS_Running;
return;
}