8bitdo FC30pro not working in emulators
-
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 -
@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 :)
-
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.cfgYou can either flash 1.68, or as Phoenix says update your config file.
It will be in:
/opt/retropie/configs/all/retroarch-joypads/
-
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?
-
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. -
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..
-
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/v9Ct3Q99Which emulator are you trying?
-
@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
-
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.
-
@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. -
@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.
-
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?
-
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..
-
@JiePieWie
If you edit your/home/pi/.emulationstation/es_input.cfg
file 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" -
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.
-
@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?
-
Yes @JiePieWie
Have you registered the controller in both the bluetooth menu and in ES? -
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.
-
@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"
-
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 ?
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.