improve input handling
[picodrive.git] / platform / common / emu.c
index 1573d12..5807c1b 100644 (file)
@@ -455,9 +455,11 @@ int emu_reload_rom(const char *rom_fname_in)
        // 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
@@ -550,6 +552,8 @@ void emu_prep_defconfig(void)
        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