32x: packed pixel mode (works over 68k)
[libpicofe.git] / gp2x / emu.c
index 77e33f2..757bea6 100644 (file)
@@ -327,7 +327,7 @@ void pemu_update_display(const char *fps, const char *notice)
                        gp2x_video_setpalette(localPal, ret);\r
                }\r
                // a hack for VR\r
-               if (PicoRead16Hook == PicoSVPRead16)\r
+               if (PicoAHW & PAHW_SVP)\r
                        memset32((int *)(PicoDraw2FB+328*8+328*223), 0xe0e0e0e0, 328);\r
                // do actual copy\r
                vidcpyM2(g_screen_ptr, PicoDraw2FB+328*8,\r
@@ -498,10 +498,14 @@ static void vidResetMode(void)
        make_local_pal = (PicoAHW & PAHW_SMS) ? make_local_pal_sms : make_local_pal_md;\r
 }\r
 \r
-void plat_video_toggle_renderer(int is_next, int is_menu)\r
+void plat_video_toggle_renderer(int is_next, int force_16bpp, int is_menu)\r
 {\r
+       if (force_16bpp) {\r
+               PicoOpt &= ~POPT_ALT_RENDERER;\r
+               currentConfig.EmuOpt |= EOPT_16BPP;\r
+       }\r
        /* alt, 16bpp, 8bpp */\r
-       if (PicoOpt & POPT_ALT_RENDERER) {\r
+       else if (PicoOpt & POPT_ALT_RENDERER) {\r
                PicoOpt &= ~POPT_ALT_RENDERER;\r
                if (is_next)\r
                        currentConfig.EmuOpt |= EOPT_16BPP;\r