currentConfig.KeyBinds[11] = 1<<30; // vol down
currentConfig.PicoCDBuffers = 0;
currentConfig.scaling = 0;
+ defaultConfig.turbo_rate = 15;
}
}
/* forced frame to front buffer */
-void emu_forcedFrame(void)
+void emu_forcedFrame(int opts)
{
int po_old = PicoOpt;
int eo_old = currentConfig.EmuOpt;
- PicoOpt &= ~0x0010;
- PicoOpt |= 0x4080; // soft_scale | acc_sprites
+ PicoOpt &= ~0x10;
+ PicoOpt |= opts|POPT_ACC_SPRITES;
currentConfig.EmuOpt |= 0x80;
if (giz_screen == NULL)
}
}
- PicoPad[0] = (unsigned short) allActions[0];
- PicoPad[1] = (unsigned short) allActions[1];
+ PicoPad[0] = allActions[0] & 0xfff;
+ PicoPad[1] = allActions[1] & 0xfff;
+
+ if (allActions[0] & 0x7000) emu_DoTurbo(&PicoPad[0], allActions[0]);
+ if (allActions[1] & 0x7000) emu_DoTurbo(&PicoPad[1], allActions[1]);
events = (allActions[0] | allActions[1]) >> 16;