tune flip calls and frame setup
[picodrive.git] / platform / common / emu.c
index b828595..4098bd2 100644 (file)
@@ -48,7 +48,8 @@ currentConfig_t currentConfig, defaultConfig;
 int state_slot = 0;\r
 int config_slot = 0, config_slot_current = 0;\r
 int pico_pen_x = 320/2, pico_pen_y = 240/2;\r
-int pico_inp_mode = 0;\r
+int pico_inp_mode;\r
+int flip_after_sync;\r
 int engineState = PGS_Menu;\r
 \r
 static short __attribute__((aligned(4))) sndBuffer[2*44100/50];\r
@@ -1431,7 +1432,8 @@ void emu_loop(void)
                PicoFrame();\r
                pemu_finalize_frame(fpsbuff, notice_msg);\r
 \r
-               // plat_video_flip();\r
+               if (!flip_after_sync)\r
+                       plat_video_flip();\r
 \r
                /* frame limiter */\r
                if (!reset_timing && !(currentConfig.EmuOpt & (EOPT_NO_FRMLIMIT|EOPT_EXT_FRMLIMIT)))\r
@@ -1449,9 +1451,8 @@ void emu_loop(void)
                        }\r
                }\r
 \r
-               // XXX: for some plats it might be better to flip before vsync\r
-               // (due to shadow registers in display hw)\r
-               plat_video_flip();\r
+               if (flip_after_sync)\r
+                       plat_video_flip();\r
 \r
                pframes_done++; frames_done++; frames_shown++;\r
 \r