RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    8bitdo FC30pro not working in emulators

    Scheduled Pinned Locked Moved Help and Support
    27 Posts 9 Posters 26.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JiePieWie
      last edited by JiePieWie

      I've started using retropie since 2.x but decided to start fresh so yesterday i downloaded and installed Retropie 3.8.1.
      My setup:
      Pi Model: 2B
      RetroPie Version Used: 3.8.1
      Built From: SD Image
      USB Devices connected: WiFi, Bluetooth Dongle, Xin-Mo, USB wireless keyboard
      Controller used: 8bitdo FC30Pro
      Emulator: all
      Guide used: RetroPie: Bluetooth controllers - reconnecting automatically - includes 8bitdo setup (June 2016)

      The 8bitdo is working flawlessly in the retropie menu so i can scroll through. But as soon as i go into an emulator and want to play a game (SNES, N64 e.g.) it doesn't respond at all. Nothing. The only thing working is my keyboard because i've mapped that as the initial controller when booting up retropie for the first time. I do see yellow text popping up in the bottom left-hand corner that retroarch 'sees' the 8bitdo when starting an emulator. What am i doing wrong here?

      Extra info: The xin-mo is NOT configured yet because i want to have the fc30 working first.

      My 8bitdoFC30Pro.cfg config: http://pastebin.com/iei39xvj
      My default retroarch.cfg: http://pastebin.com/iei39xvj

      P 1 Reply Last reply Reply Quote 0
      • P
        Phoenix @JiePieWie
        last edited by Phoenix

        @JiePieWie You had the same problem I did. I have the 8Bitdo firmware 1.69 on my NES30 Pro. You need to change your 8bitdoFC30Pro.cfg to what you see below

        #FC30/NES30 Pro Firmware v1.69
        
        #xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#
        #You must uncomment the correct device name below#
        #xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#
        
        #input_device = "8Bitdo FC30 Pro"
        #input_device = "8Bitdo FC30 Pro Joystick"
        #input_device = "8Bitdo NES30 Pro"
        #input_device = "8Bitdo NES30 Pro Joystick"
        
        input_driver = "udev"
        input_up_btn = "h0up"
        input_down_btn = "h0down"
        input_left_btn = "h0left"
        input_right_btn = "h0right"
        input_a_btn = "0"
        input_b_btn = "1"
        input_x_btn = "3"
        input_y_btn = "4"
        input_l_btn = "6"
        input_r_btn = "7"
        input_l2_btn = "8"
        input_r2_btn = "9"
        input_l3_btn = "13"
        input_r3_btn = "14"
        input_select_btn = "10"
        input_start_btn = "11"
        input_l_x_plus_axis = "+0"
        input_l_x_minus_axis = "-0"
        input_l_y_plus_axis = "+1"
        input_l_y_minus_axis = "-1"
        input_r_x_plus_axis = "+2"
        input_r_x_minus_axis = "-2"
        input_r_y_plus_axis = "+3"
        input_r_y_minus_axis = "-3"
        input_enable_hotkey_btn = "10"
        input_state_slot_increase_btn = "h0right"
        input_exit_emulator_btn = "11"
        input_state_slot_decrease_btn = "h0left"
        input_save_state_btn = "9"
        input_load_state_btn = "8"
        input_reset_btn = "14"
        input_menu_toggle_btn = "13"
        

        Hope that helps :)

        1 Reply Last reply Reply Quote 0
        • FloobF
          Floob
          last edited by

          Yes, the 1.69 firmware outputs different button codes. You can also see the 1.69 here:
          https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo_Pro_FC30_BT.cfg

          You can either flash 1.68, or as Phoenix says update your config file.
          It will be in:
          /opt/retropie/configs/all/retroarch-joypads/

          Please read the Docs before asking a new question.
          RetroPie Help Guides: https://goo.gl/3gcNsT

          1 Reply Last reply Reply Quote 0
          • J
            JiePieWie
            last edited by JiePieWie

            Thanks for your help but unfortunately that doesn't help either. It seems that i have V1.68, V1.69 and V1.70-beta2 of the FC30pro firmware and V1.70 is what's installed on my controller. I've changed the config as suggested above but to no avail. The buttons still only work in Emulationstation but they are dead in the emu's themselves. Should i downgrade to 1.68/69 then?

            It still strikes me as odd that the button mapping changes so dramatically with an upgrade to 1.70...

            Which 'mode' should the controller be set? Mode 1?

            1 Reply Last reply Reply Quote 0
            • FloobF
              Floob
              last edited by

              Try 1.68 first and see if it works without issue.
              I havent tried 1.69 yet, but I would have thought the config above should work with it.

              Please read the Docs before asking a new question.
              RetroPie Help Guides: https://goo.gl/3gcNsT

              1 Reply Last reply Reply Quote 0
              • J
                JiePieWie
                last edited by JiePieWie

                Owkeee.... went back to V1.68, copied back my old config and re-connected my FC30. ES works flawlessy but nothing in the emus. Went into the Es-menu to 'configure input' and re-added my FC30. All buttons were recognized and working. Restarted ES, started an SNES-emu and tried again. Nothing. I really don't get it..

                Going to try V1.69 now.

                #update: installed 1.69, copied config as stated above but nothing. ES works ok but no controls in any of the emu's..

                P P 2 Replies Last reply Reply Quote 0
                • FloobF
                  Floob
                  last edited by Floob

                  Can you go back to 1.68 and try this (I see above you say you have an FC30 Pro).

                  Delete (or backup first, then remove) your configs in /opt/retropie/configs/all/retroarch-joypads
                  Then can you use "Configure Input" in ES and then go back to the directory above and paste the config file it shows into pastebin.com?

                  Here is mine that works in RetroArch emulators:
                  http://pastebin.com/raw/v9Ct3Q99

                  Which emulator are you trying?

                  Please read the Docs before asking a new question.
                  RetroPie Help Guides: https://goo.gl/3gcNsT

                  1 Reply Last reply Reply Quote 0
                  • P
                    Phoenix @JiePieWie
                    last edited by

                    @JiePieWie said in 8bitdo FC30pro not working in emulators:

                    Owkeee.... went back to V1.68, copied back my old config and re-connected my FC30. ES works flawlessy but nothing in the emus. Went into the Es-menu to 'configure input' and re-added my FC30. All buttons were recognized and working. Restarted ES, started an SNES-emu and tried again. Nothing. I really don't get it..

                    Going to try V1.69 now.

                    #update: installed 1.69, copied config as stated above but nothing. ES works ok but no controls in any of the emu's..

                    Did you uncomment (eg remove the # before) the correct device name? Yours was 8Bitdo FC30 Pro

                    1 Reply Last reply Reply Quote 0
                    • M
                      mute
                      last edited by mute

                      I believe I am running into the same/similar issue.

                      Having just received a FC30pro I went through the guide on a fresh 3.8.1 install and pairing and reconnecting via bluetooth was working great. I could shutdown/restart and the controller would always reconnect, and configuring inputs in ES worked fine too. However trying to use the controller in SNES games (using default emulator) only the dpad and start were being recognized. No ABXY, LR, or Select (so no hotkeys either).

                      Before I knew of any issues I updated the FW to the latest (which is 1.69 as of this writing, controller came with 1.66,) so seeing as the changes in 1.69 don't appear too critical I'll try rolling back to 1.68 and see what happens.

                      Odd though, I've tried a variety of controllers and every time I could configure in ES it was smooth sailing in every emulator. I'm guessing something is just getting lost in translation specifically for 8bitdo.

                      FloobF 1 Reply Last reply Reply Quote 0
                      • FloobF
                        Floob @mute
                        last edited by

                        @mute
                        Could you let us know how it goes when you run firmware 1.68?
                        Otherwise we can talk you through manually tweaking the config file for 1.69.

                        Please read the Docs before asking a new question.
                        RetroPie Help Guides: https://goo.gl/3gcNsT

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          mute @Floob
                          last edited by

                          @Floob
                          After downgrading my controller's FW to 1.68, going through the pair process again, then doing ES config inputs->reboot I was able to use all the configured buttons in the SNES emulator. I haven't tried others but they are probably fine.

                          I might try to upgrade to 1.69 again and do the legwork to get the config files right, as I need to set up some custom stuff anyway, but for now things are working.

                          1 Reply Last reply Reply Quote 0
                          • FloobF
                            Floob
                            last edited by

                            If you do try with 1.69, can you try turning the controller on whilst holding R shoulder button and see if it makes a difference?

                            Please read the Docs before asking a new question.
                            RetroPie Help Guides: https://goo.gl/3gcNsT

                            1 Reply Last reply Reply Quote 0
                            • J
                              JiePieWie
                              last edited by

                              I was away for a few days so my comments are a bit later than expected :-) I will reload the 1.68FW again and go through the pairing/config etc routine again. How do i start with a 'clean' ES-config so i can go through the config procedure like it's newly installed? Just to be sure..

                              FloobF 1 Reply Last reply Reply Quote 0
                              • FloobF
                                Floob @JiePieWie
                                last edited by

                                @JiePieWie
                                If you edit your /home/pi/.emulationstation/es_input.cfgfile to read:

                                <?xml version="1.0"?>
                                <inputList>
                                  <inputAction type="onfinish">
                                    <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
                                  </inputAction>
                                </inputList>
                                

                                it should then prompt as normal to configure a controller.
                                Or you could manually prompt this by pressing Start when in ES and choosing "Configure Input"

                                Please read the Docs before asking a new question.
                                RetroPie Help Guides: https://goo.gl/3gcNsT

                                1 Reply Last reply Reply Quote 0
                                • ProxyCellP
                                  ProxyCell
                                  last edited by

                                  I have the FC30 Pro here (the famicom looking one) and it is working wonderfully. It did not get the controls setup automatically though and I had to set them myself using jstest so please consider that.

                                  RPi3b+ - No overclock
                                  RetroPie - latest from Github, as always
                                  2x SF30 Pro 8Bitdo controllers

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    JiePieWie @ProxyCell
                                    last edited by

                                    @ProxyCell said in 8bitdo FC30pro not working in emulators:

                                    I have the FC30 Pro here (the famicom looking one) and it is working wonderfully. It did not get the controls setup automatically though and I had to set them myself using jstest so please consider that.

                                    jstest? My controller is not usable via jstest because it's not 'attached' under /dev/input/js.. I can see there only js0 and js1 which are my Xin-Mo arcade joysticks. And they work fine.. Should i be able to see my FC30pro there also?

                                    1 Reply Last reply Reply Quote 0
                                    • ProxyCellP
                                      ProxyCell
                                      last edited by

                                      Yes @JiePieWie
                                      Have you registered the controller in both the bluetooth menu and in ES?

                                      RPi3b+ - No overclock
                                      RetroPie - latest from Github, as always
                                      2x SF30 Pro 8Bitdo controllers

                                      1 Reply Last reply Reply Quote 0
                                      • BuZzB
                                        BuZz administrators
                                        last edited by

                                        with the latest version of the retropie-setup script and firmware 1.68 it should work fine. The latest version of the bluetooth script in retropie-setup has the facility to install the correct udev rule, and also to connect to the controller in the background at any time.

                                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pimpmaul69 @JiePieWie
                                          last edited by Floob

                                          @JiePieWie i would go back to 1.69 then add the file manually in /opt/retropie/configs/all/retroarch-joypads. there is a change in retropie that uses the fc30 pro and nes30 pro universally so i would make both these configs if i were you.

                                          first file named: 8BitdoFC30Pro.cfg

                                          this is how i have it configureded inside mine. i did disable stuff i dont use. feel free to change it to your liking. i did add functions to change discs for ps1. if you keep the disk changing info in this file es cant overwrite the file. if you configure the controller in es it wont do anything after you select ok after setting up the controller. wait a minute and then reboot. the controller will be configured in es and these files will remain intact. if you want es to be able to change it feel free to not keep that stuff. only problem is emulationstation is good at overwriting these files with a blank file.

                                          input_device = "8Bitdo FC30 Pro"
                                          input_driver = "udev"
                                          input_start_btn = "11"
                                          input_select_btn = "10"
                                          input_up_btn = "h0up"
                                          input_down_btn = "h0down"
                                          input_left_btn = "h0left"
                                          input_right_btn = "h0right"
                                          input_a_btn = "0"
                                          input_b_btn = "1"
                                          input_x_btn = "3"
                                          input_y_btn = "4"
                                          input_l_btn = "6"
                                          input_r_btn = "7"
                                          input_l2_btn = "8"
                                          input_r2_btn = "9"
                                          input_l3_btn = "13"
                                          input_r3_btn = "14"
                                          input_l_y_minus_axis = "-1"
                                          input_l_x_plus_axis = "+0"
                                          input_l_y_plus_axis = "+1"
                                          input_l_x_minus_axis = "-0"
                                          input_r_x_plus_axis = "+2"
                                          input_r_y_plus_axis = "+3"
                                          input_r_x_minus_axis = "-2"
                                          input_r_y_minus_axis = "-3"
                                          
                                          input_save_state_btn = "nul"
                                          input_load_state_btn = "nul"
                                          input_state_slot_decrease_btn = "nul"
                                          input_state_slot_increase_btn = "nul"
                                          
                                          input_disk_eject_toggle_btn = "3"
                                          input_disk_next_btn = "7"
                                          input_disk_prev_btn = "6"
                                          input_menu_toggle_btn = "1"
                                          input_exit_emulator_btn = "11"
                                          input_enable_hotkey_btn = "10"
                                          input_reset_btn = "nul"
                                          

                                          the second file is named: szmy-powerLtd.Joypad.cfg

                                          input_device = "szmy-power Ltd.  Joypad  "
                                          input_driver = "udev"
                                          input_start_btn = "11"
                                          input_select_btn = "10"
                                          input_up_btn = "h0up"
                                          input_down_btn = "h0down"
                                          input_left_btn = "h0left"
                                          input_right_btn = "h0right"
                                          input_a_btn = "0"
                                          input_b_btn = "1"
                                          input_x_btn = "3"
                                          input_y_btn = "4"
                                          input_l_btn = "6"
                                          input_r_btn = "7"
                                          input_l2_btn = "8"
                                          input_r2_btn = "9"
                                          input_l3_btn = "13"
                                          input_r3_btn = "14"
                                          input_l_y_minus_axis = "-1"
                                          input_l_x_plus_axis = "+0"
                                          input_l_y_plus_axis = "+1"
                                          input_l_x_minus_axis = "-0"
                                          input_r_x_plus_axis = "+2"
                                          input_r_y_plus_axis = "+3"
                                          input_r_x_minus_axis = "-2"
                                          input_r_y_minus_axis = "-3"
                                          
                                          input_save_state_btn = "nul"
                                          input_load_state_btn = "nul"
                                          input_state_slot_decrease_btn = "nul"
                                          input_state_slot_increase_btn = "nul"
                                          
                                          input_disk_eject_toggle_btn = "3"
                                          input_disk_next_btn = "7"
                                          input_disk_prev_btn = "6"
                                          input_menu_toggle_btn = "1"
                                          input_exit_emulator_btn = "11"
                                          input_enable_hotkey_btn = "10"
                                          input_reset_btn = "nul"
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            Duhjoker
                                            last edited by Floob

                                            Im having the same problems with my NES30 pro. I started with 1.68 and flashed the controller to 1.69. Works fine in ES and on LR-fceumm but that's it.
                                            I looked at the config file at opt/Retropie/configs/all/retro arch-joy pads posted above. All the button mappings match the above but it's missing the firmware print at the top. Am I supposed to write the config file exactly as given above? It's all jumbled too in no particular order.

                                            Why are my posts all in code squares ?

                                            BuZzB 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.