X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fgizmondo%2Femu.c;h=97fd079392f7add1ab1cb96276b9f830f17eb071;hb=6bae2e90d459dcbff157252ddfa7b87d25b8309f;hp=ebc15a2d7de281b5547ae6fcaec251be5e53fa9d;hpb=602133e1c66666f9152b1edb3014e137a9768cad;p=picodrive.git diff --git a/platform/gizmondo/emu.c b/platform/gizmondo/emu.c index ebc15a2..97fd079 100644 --- a/platform/gizmondo/emu.c +++ b/platform/gizmondo/emu.c @@ -140,6 +140,7 @@ void emu_setDefaultConfig(void) currentConfig.KeyBinds[11] = 1<<30; // vol down currentConfig.PicoCDBuffers = 0; currentConfig.scaling = 0; + defaultConfig.turbo_rate = 15; } @@ -343,13 +344,13 @@ static void SkipFrame(void) } /* 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) @@ -476,8 +477,11 @@ static void updateKeys(void) } } - 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;