X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fgizmondo%2Femu.c;h=2844fb2590f6ec039942c6043a46ded8e640e1b2;hb=8340e7c99fd3e44c6b8bd3239b7676b16b73d028;hp=86a5d8c65b9968f74c7197bb49d65dce03d58a2b;hpb=74e1b42b9256870c7e9f70f5b4ca71ed0e8a63d5;p=picodrive.git diff --git a/platform/gizmondo/emu.c b/platform/gizmondo/emu.c index 86a5d8c..2844fb2 100644 --- a/platform/gizmondo/emu.c +++ b/platform/gizmondo/emu.c @@ -231,10 +231,10 @@ static void vidResetMode(void) if (PicoOpt&0x10) { } else if (currentConfig.EmuOpt&0x80) { PicoDrawSetOutFormat(PDF_RGB555, 0); - PicoScanBegin = EmuScanBegin16; + PicoDrawSetCallbacks(EmuScanBegin16, NULL); } else { PicoDrawSetOutFormat(PDF_NONE, 0); - PicoScanBegin = EmuScanBegin8; + PicoDrawSetCallbacks(EmuScanBegin8, NULL); } if ((PicoOpt&0x10) || !(currentConfig.EmuOpt&0x80)) { // setup pal for 8-bit modes @@ -273,10 +273,8 @@ static void stdbg(const char *fmt, ...) static void updateSound(int len) { - if (PicoOpt&8) len<<=1; - - snd_all_samples += len; - PsndOut += len; + snd_all_samples += len / 2; + PsndOut += len / 2; if (PsndOut - snd_cbuff >= snd_cbuf_samples) { //if (PsndOut - snd_cbuff != snd_cbuf_samples) @@ -294,20 +292,22 @@ static void SkipFrame(void) } /* forced frame to front buffer */ -void pemu_forced_frame(int opts, int no_scale) +void pemu_forced_frame(int no_scale, int do_emu) { int po_old = PicoOpt; int eo_old = currentConfig.EmuOpt; PicoOpt &= ~0x10; - PicoOpt |= opts|POPT_ACC_SPRITES; + PicoOpt |= POPT_ACC_SPRITES; + if (!no_scale) + PicoOpt |= POPT_EN_SOFTSCALE; currentConfig.EmuOpt |= 0x80; if (giz_screen == NULL) giz_screen = fb_lock(1); PicoDrawSetOutFormat(PDF_RGB555, 0); - PicoScanBegin = EmuScanBegin16; + PicoDrawSetCallbacks(EmuScanBegin16, NULL); Pico.m.dirtyPal = 1; PicoFrameDrawOnly();