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
// additional movie stuff\r
if (movie_data)\r
{\r
- if (movie_data[0x14] == '6')\r
- PicoOpt |= POPT_6BTN_PAD; // 6 button pad\r
- else PicoOpt &= ~POPT_6BTN_PAD;\r
+ enum input_device indev = (movie_data[0x14] == '6') ?\r
+ PICO_INPUT_PAD_6BTN : PICO_INPUT_PAD_3BTN;\r
+ PicoSetInputDevice(0, indev);\r
+ PicoSetInputDevice(1, indev);\r
+\r
PicoOpt |= POPT_DIS_VDP_FIFO; // no VDP fifo timing\r
if (movie_data[0xF] >= 'A') {\r
if (movie_data[0x16] & 0x80) {\r
defaultConfig.s_PicoCDBuffers = 0;\r
defaultConfig.confirm_save = EOPT_CONFIRM_SAVE;\r
defaultConfig.Frameskip = -1; // auto\r
+ defaultConfig.input_dev0 = PICO_INPUT_PAD_3BTN;\r
+ defaultConfig.input_dev1 = PICO_INPUT_PAD_3BTN;\r
defaultConfig.volume = 50;\r
defaultConfig.gamma = 100;\r
defaultConfig.scaling = 0;\r
sprintf(fpsbuff, "%02i/%02i/%02i", frames_shown, bench_fps_s, (bf[0]+bf[1]+bf[2]+bf[3])>>2);\r
printf("%s\n", fpsbuff);\r
#else\r
- if (currentConfig.EmuOpt & EOPT_SHOW_FPS) {\r
- sprintf(fpsbuff, "%02i/%02i", frames_shown, frames_done);\r
- if (fpsbuff[5] == 0) { fpsbuff[5] = fpsbuff[6] = ' '; fpsbuff[7] = 0; }\r
- }\r
+ if (currentConfig.EmuOpt & EOPT_SHOW_FPS)\r
+ sprintf(fpsbuff, "%02i/%02i ", frames_shown, frames_done);\r
#endif\r
frames_shown = frames_done = 0;\r
timestamp_fps += ms_to_ticks(1000);\r
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
}\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