tweak and refactor frontends, menu and config
[libpicofe.git] / psp / emu.c
index 77b20d1..311a7ec 100644 (file)
--- a/psp/emu.c
+++ b/psp/emu.c
@@ -466,8 +466,7 @@ static void vidResetMode(void)
 
        // slow rend.
        PicoDrawSetOutFormat(PDF_NONE, 0);
-       PicoScanBegin = EmuScanSlowBegin;
-       PicoScanEnd = EmuScanSlowEnd;
+       PicoDrawSetCallbacks(EmuScanSlowBegin, EmuScanSlowEnd);
 
        localPal[0xe0] = 0;
        localPal[0xf0] = 0x001f;
@@ -668,13 +667,15 @@ static void SkipFrame(void)
        PicoSkipFrame=0;
 }
 
-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_ALT_RENDERER;
+       PicoOpt |= POPT_ACC_SPRITES;
+       if (!no_scale)
+               PicoOpt |= POPT_EN_SOFTSCALE;
        currentConfig.EmuOpt |= 0x80;
 
        vidResetMode();
@@ -683,8 +684,7 @@ void pemu_forced_frame(int opts, int no_scale)
        memset32_uncached((int *)psp_screen + 512*264*2/4, 0, 512*8*2/4);
 
        PicoDrawSetOutFormat(PDF_NONE, 0);
-       PicoScanBegin = EmuScanSlowBegin;
-       PicoScanEnd = EmuScanSlowEnd;
+       PicoDrawSetCallbacks(EmuScanSlowBegin, EmuScanSlowEnd);
        EmuScanPrepare();
        PicoFrameDrawOnly();
        blit1();