{\r
UINT8 *REGS = YM2612GetRegs();\r
\r
- int i;\r
-\r
/* make sure JOB940_PICOSTATELOAD gets done before next JOB940_YM2612UPDATEONE */\r
add_job_940(JOB940_PICOSTATELOAD);\r
if (CHECK_BUSY(JOB940_PICOSTATELOAD)) wait_busy_940(JOB940_PICOSTATELOAD);\r
\r
writebuff_ptr = 0;\r
-\r
- // feed all the registers and update internal state\r
- for(i = 0; i < 0x100; i++) {\r
- YM2612Write_940(0, i, -1);\r
- YM2612Write_940(1, REGS[i], -1);\r
- }\r
- for(i = 0; i < 0x100; i++) {\r
- YM2612Write_940(2, i, -1);\r
- YM2612Write_940(3, REGS[i|0x100], -1);\r
- }\r
-\r
addr_A1 = *(INT32 *) (REGS + 0x200);\r
}\r
\r
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 = 6;
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 = 6;
}
inp_prev = ret;