add configure, revive pnd build, unify/refactor things
[picodrive.git] / platform / common / emu.c
index 36539c6..8eda13a 100644 (file)
@@ -1483,6 +1483,29 @@ void emu_sound_wait(void)
        sndout_wait();\r
 }\r
 \r
+static void emu_loop_prep(void)\r
+{\r
+       static int pal_old = -1;\r
+       static int filter_old = -1;\r
+\r
+       if (currentConfig.CPUclock != plat_target_cpu_clock_get())\r
+               plat_target_cpu_clock_set(currentConfig.CPUclock);\r
+\r
+       if (Pico.m.pal != pal_old) {\r
+               plat_target_lcdrate_set(Pico.m.pal);\r
+               pal_old = Pico.m.pal;\r
+       }\r
+\r
+       if (currentConfig.filter != filter_old) {\r
+               plat_target_hwfilter_set(currentConfig.filter);\r
+               filter_old = currentConfig.filter;\r
+       }\r
+\r
+       plat_target_gamma_set(currentConfig.gamma, 0);\r
+\r
+       pemu_loop_prep();\r
+}\r
+\r
 static void skip_frame(int do_audio)\r
 {\r
        PicoSkipFrame = do_audio ? 1 : 2;\r
@@ -1517,7 +1540,7 @@ void emu_loop(void)
                PicoCDBufferInit();\r
 \r
        plat_video_loop_prepare();\r
-       pemu_loop_prep();\r
+       emu_loop_prep();\r
        pemu_sound_start();\r
 \r
        /* number of ticks per frame */\r