Configuring the Dual Fight Stick and Trackball

Options
NickBiederman
edited June 2021 in Maker

Hi everyone! My name is Nick Biederman, and I’m the Maker Apprentice at Micro Center this summer. I’ve spent the last few days working with our Dual Fight Stick with Track Ball. One of the best parts is the broad compatibility. It works great with emulators on a number of systems, including Raspberry Pis and PCs and other hardware like the PlayStation 3. However, this broad compatibility means some configuration is needed to get the controller to work properly with each system. The instructions and screenshots below are from RetroArch on Windows 10, but the general idea is the same for most emulators and operating systems. If you're using a PlayStation or XBOX the controller is plug an play, but there's minimal support for the trackball on consoles. 

When you first plug in the controller most emulators will try to automatically configure the controller. RetroArch did pretty well for me, but I wanted to reverse the start and select buttons. I decided to remap all my controls just to be sure I knew which buttons were which. From the RetroArch home screen, scroll to “Settings” and select “Input”.

Towards the bottom of the page you should see a set of “Port Controls”.


Select “Port 1 controls” then select “Set All Controls” (or “Bind All”, depending on the operating system you’re using). This will open a series of pop ups that will let you set the controls you want to use. Press the button or push the joystick in the direction listed. If you want to skip a control, wait for it to time out and move on to the next control. Repeat this for each controller. The Fight Stick acts as 2 controllers, so I had to repeat the mapping for the second joystick and set of buttons.

Even though there are 2 controllers, some multiplayer games only use one. For multiplayer alternating games (like Asteroids) you’ll only use one set of controls. For multiplayer simultaneous games (like Space Duel) you’ll use both sets of controls.

The next setting we need to look at is the mouse index. If your track ball is connected but not working in games that supports a trackball, this setting is probably your problem. The trackball is seen by your computer as a mouse. Each mouse connected to your computer has an index associated with it. We need to tell the emulator which mouse index to listen to. This setting defaults to 0 in RetroArch, so try setting it to something else if the trackball isn’t working. From my testing it seems 0 and 1 tend to work with RetroArch on Windows 10, and 0 and 2 tend to work with RetroArch on RetroPie. This might vary depending on your set up, so try some different settings if it doesn’t work. Also, keep in mind mouse indexes can change based on the order devices were connected, so if you unplug the trackball, plug in another mouse, and plug the trackball back in you’ll probably need to change this setting again.


Now we need to save our configuration file. In RetroArch, go back to the main menu, select “Configuration File”, then select “Save Current Configuration”. The changes you’ve made will be written to the configuration file. You’ll need to do this any time you make a change like remapping controls or changing a mouse index.


Properly configuring your controller will fix most issues you may encounter with the Dual Fight Stick and trackball. However, some games and emulators aren’t compatible with trackballs or spinners. If you’re unable to get your trackball working in a particular game, try loading up something that’s known to work. If the trackball works with a known game and emulator the issue is most likely with the game, not the hardware or configuration. Sometimes a device will recognize the trackball, but not as a valid controller for games. For example, you can use the trackball to scroll through menus on a PlayStation 3 but none of the games I tested used the trackball as an input. In general, if you can use a mouse for input you'll be able to use a trackball. 

Hopefully this is helpful for anyone who is having issues getting their Fight Stick or trackball working properly. Feel free to post any questions you may have and I'll do my best to help!

«1

Comments

  • AlexS
    Options
    This is such a great piece you've taken the time to create, @NickBiederman!  Should definitely be helpful to the DIY/Maker community for sure.  One thing I was going to ask was if there was a way to save profiles and the images and instruction you've included explain just that.  I hope to see more content from you again! 


  • GoldGuy_79
    Options
    NickBiederman I bought this unit and am attempting to do this with a RetroPie. Is it normal that the retropie only sees 1 controller?
    It seems during configuration, I am able to preset all the buttons for controller 1, in menus, the controller 2 joystick will move up/down but setting buttons is not responding. Do you have a tutorial setting this up with RetroPie?
  • NickBiederman
    Options
    NickBiederman I bought this unit and am attempting to do this with a RetroPie. Is it normal that the retropie only sees 1 controller?
    It seems during configuration, I am able to preset all the buttons for controller 1, in menus, the controller 2 joystick will move up/down but setting buttons is not responding. Do you have a tutorial setting this up with RetroPie?
    I don't have a tutorial ready to go but I'll get one put together! RetroPie should definitely be seeing it as 2 controllers when you go to map controllers. Are you using Micro Center's distribution that comes on the Atari Games Card or a different distribution? Are you mapping the controllers with Emulation Station (where you can scroll through all the consoles you have installed and select games), RetroArch (which is laid out similarly to the images in my tutorial above, but optimized for controllers) or something else?
  • GoldGuy_79
    Options
    I don't have a tutorial ready to go but I'll get one put together! RetroPie should definitely be seeing it as 2 controllers when you go to map controllers. Are you using Micro Center's distribution that comes on the Atari Games Card or a different distribution? Are you mapping the controllers with Emulation Station (where you can scroll through all the consoles you have installed and select games), RetroArch (which is laid out similarly to the images in my tutorial above, but optimized for controllers) or something else?
    I did the RetroPie image via https://retropie.org.uk/docs/First-Installation/ - not the Micro Center distro.
    The interesting part is, upon first boot of the RetroPie with this unit plugged in (Pi4 8Gb), we have 1 USB for controllers and 1 USB for trackball. The first boot setup window for Emulationstation and RetroArch detects the controller - but only says 1 controller found. I am going to run in and swap this out. I cleared the retroarch config again (so it prompts for the setup on first boot again) to see if a replacement unit works detecting 2 controllers.
  • GoldGuy_79
    Options
    @NickBiederman I swapped the unit out and same thing. Upon boot, only detects 1 controller. Let me know what your thoughts are - willing to try anything here.
  • NickBiederman
    edited July 2020
    Options
    GoldGuy_79
    EDIT: I just found this from the manufacturer of the controller we use:
    Why the 2nd player of XM-10 can't work on the Raspberry Pi?
    -This situation only occurs on the RetroPie system. There are two solutions.
    (1) Add the following to /boot/cmdline.txt -- just add a space to the end of the existing entry, so it is all on one line):
        usbhid.quirks=0x16c0:0x05e1:0x040
        Just modify this file and restart, the second player will activate.
    (2) I recommend using Recalbox instead. The Recalbox system doesn't have this issue.

    So, it sounds like adding that line (usbhid...) to the end of cmdline.txt should do it. Plug in a keyboard, boot to the Emulation Station, press shift+f4 to access the CLI, and use "sudo nano /boot/cmdline.txt" to edit the file. Save and reboot, then you should be goot to go.
    http://www.xin-mo.com/dual_player.html


     I don't have that particular image loaded up but I don't think we made any changes to Emulation Station so these instructions should work for you. From the main screen of Emulation Station press the start button to open the menu. One of your options should be "Configure Input". Scroll down to that and press A. It will have you confirm you want to configure input, and the next window should show the number of devices detected. If it says 2 here you're in good shape- press and hold one of the buttons on the right side (player 2) and go through the input mapping. It's probably worth mapping the controls in RetroArch as well. If you select RetroPie from the main menu you can launch the RetroArch GUI and follow the instructions posted above. I'll get a proper tutorial with screenshots and all early next week.

    You can also check by looking at port 1 and port 2 binds in RetroArch. Both should say something like "Xinmotek controller" next to device index.

    If it's still only seeing one controller there's something else going on. I'll have to see about loading up that image on a 4 to test it out.


  • GoldGuy_79
    Options
    Holy crap it worked. I cannot tell you how excited I am. (Dang that I wasted some time swapping this out with MC) Feel like calling them and telling them there isn't anything wrong with that unit now...
    So now am going through Port controls - will provide an update once I figure out the mapping part. Lot of work/time to put into this for each console type. 
  • kentisevil
    Options
    so just picked this up in the Patterson NJ store - also picked up a copy of the atari noobs image - it doesn't seem to work quite right - should it work out of the box - or should I do a <shift> recovery and let the image reinstall itself again to 'clean it out' I would guess (you know what they say about assuming) that these two are made to go together - I am using a raspberry pi 3b+ not a 4 with this (although I do have a 4b ready to go if it will work with it) please advise I'd love to try this out..... 
  • NickBiederman
    Options
    @kentisevil Can you describe what it's doing? You'll have to install the image the first time you boot, but it should boot straight to the installation screen and ask you to connect to wifi if you don't have an Ethernet connection. It should work fine on the 3B+.  As long as you haven't made any changes to the system files holding shift to enter recovery mode and reinstalling the image won't hurt anything. It will overwrite any existing files, so be sure to make backups of anything you have changed before reinstalling.
  • kentisevil
    Options
    I will try again this weekend maybe take some pic's or vids - all I know is that when I use the pi3 with the stick it didn't work as expected - I won't be able to do it today (sorry about the delay in response) 
  • I bought this device as a return. It works great but it had no manual. Is one available for download? thanks.
  • @FeralRabbit Here's the manual for both the the trackball and non- trackball version. It's also listed on the product page neat the bottom of the overview tab.
  • negative1
    Options
    Where is the mode button to convert digital joystick output to analog,
    as shown on page 5. Can't find it.
  • NickBiederman
    Options
    @negative1 The mode switch is not broken out to a physical button on the Fight Stick. You could change the mode by touching the wire coming from P2 Pin 4 to ground (all of the black wires on the wiring harness are connected to ground) or repurpose one of the buttons as a mode button by replacing the colored wire on the button with the wire coming from P2 Pin 4. 
  • negative1
    Options
    @negative1 The mode switch is not broken out to a physical button on the Fight Stick. You could change the mode by touching the wire coming from P2 Pin 4 to ground (all of the black wires on the wiring harness are connected to ground) or repurpose one of the buttons as a mode button by replacing the colored wire on the button with the wire coming from P2 Pin 4. 
    Ok, thanks. I figured it was something like that. I had an x-arcade stick that had switches on the bank
    which did a mode selection. But in this case, I'm using translation hardware that remaps the input.
    Should be fun playing Robotron 2084 with it.

  • Tballard
    Tballard
    First Comment
    edited November 2020
    Options

    We got the Trackball working great for retropie arcade games like Centipede and Tempest by editing /boot/cmdline.txt by appending usbhid.mousepoll=1 to increase the mouse poll rate.    Then we just had to adjust the individual trackball sensitivity per game and wala.    The key was for sure though changing the POLL RATE.    You will need to have a keyboard attached to do this.   For Tempest we set Dial Sensitivity to 50% and for centipede both X/Y we set it to 175%.   You just have to experiment with what works for you.

  • ToledoJoe
    ToledoJoe
    First Comment
    edited December 2020
    Options
    Thanks for all of the help so far.  I have got my retropie to recognize both controllers and everything works great except for MAME. I am using MAME4ALL because I know it works with my ROMsets.  However, I can't seem to be able to start/add coints/exit the games using the controller.  I hit TAB on my keyboard to get to the inputs and pressing buttons to change the inputs doesn't get recognized.  Any help would be huge here because this seems to be my final step.
    OK  - I figured it out but will include this in case any one else has the same issue.  From any MAME game, hit the <TAB> key to bring up the menu, then choose Input (General).  This will change the input for all the MAME games.  go to UI Cancel and hit enter and then hit the select and start buttons. You will also need to to the same thing to map buttons for inputting a coin and for 1 player and 2 player start.
     
  • TraderJ
    Options
    Tballard said:

    We got the Trackball working great for retropie arcade games like Centipede and Tempest by editing /boot/cmdline.txt by appending usbhid.mousepoll=1 to increase the mouse poll rate.    Then we just had to adjust the individual trackball sensitivity per game and wala.    The key was for sure though changing the POLL RATE.    You will need to have a keyboard attached to do this.   For Tempest we set Dial Sensitivity to 50% and for centipede both X/Y we set it to 175%.   You just have to experiment with what works for you.

    Hi, I added “usbhid.mousepoll=1” to cmdline.txt, but I can’t figure out where to make changes in RetroArch to change the sensitivity to the trackball. Could anyone give me a breakdown of the steps to change trackball sensitivity? So far the trackball is unresponsive.
  • NickBiederman
    edited December 2020
    Options
    @TraderJ
    Plug a keyboard into the Raspberry Pi. Launch the game and wait for it to finish loading. Press C on the keyboard. This will launch a menu that will allow you to change the sensitivity. It's under "Analog Controls". You can't launch the menu until the game has loaded. 

    There's a whole thread discussing trackball sensitivity here.
  • OddConcept
    edited December 2020
    Options
    I have a similar issue to GoldGuy, but I ma using android on Nvidia Shield.  My 1st controller works great and I can map the buttons perfectly.  But when I map the second controller is just the same as the first.  I can map the buttons on the second controller correctly as they are different buttons, but the sticks are the same.  When playing a multiplayer game both sicks move both characters.  When I open retroarch I only see Controller #1 connect.  I believe it is only seeing it as one controller.

    The solution is probably something similar to this: usbhid.quirks=0x16c0:0x05e1:0x040
    Is there an Android equivalent.  Any help would be greatly appreciated.
  • ddrieg
    ddrieg ✭✭
    First Anniversary First Comment Combo Breaker
    edited December 2020
    Options
    Hi.  Not sure what happened to my previous post.  It was there and then gone, so I'll start over.
    I'm very new to Retropie, so please bear with me.
    I bought and I'm trying to get my MC "2 Player USB FightStick with Trackball" and "Arcade Spinner" working with Retropie and MAME2003.  I already had a Retropie EmulationStation on a pi3B.
    I've spent several days reading forums, MC tech docs, and watching youtube videos.
    Starting from the lowest level I know of.....
    If I do a cd /dev/input and ls -al, I see
    mice
    mouse0
    mouse1
    if I do a cat mouse0 and cat mouse1, I get characters on the screen from both devices, so I know at the hardware level and basic IO, they are working.
    They also work with KODI as an app test.
    I cannot get them to work with MAME2003.  The games run, but there is no input from either the trackball or spinner.  Joystick and buttons work fine.
    EDIT: I've added usbhid: mousepoll=1 and usbhid.quirks=0x16c0:0x05e1:0x040 to cmdline.txt - no difference
    EDIT: I've added input_player1_mouse_index = “2” and config_save_on_exit = false to two new <filename>.cfg files in the rom folder - no difference
    EDIT: I've added these lines to retropie.local\configs\all\retroarch-core-options.cfg
    mame_mouse_enable = "enabled"
    mame_current_mouse_enable = "enabled"
    mame2003-mame_current_mouse_enable = "enabled"
    mame2010-mame_current_mouse_enable = "enabled"
    - no difference
    I'm open to all suggestions.




  • labamba31
    Options
    Hey everyone,.. Im new to this community.. I need some help with this system.. I

     bought the fight stick  a few days ago and was able to get Retropie to recognize  both controllers which is awesome ( I downloaded a new retropie, did a fresh install and boom.. both worked.....

    I can't , for the life of me  get the trackball active..     Any tips on how to get Retropie to recognize it?    I so want to play my old school track ball games..
    Worse case, Ill have to return this one and get the Fightstick  edition with the raspberry pi included since its all tuned and ready to go.. Any help will be highly appreciative..

    Thanks
    Labamba 
  • NickBiederman
    Options
    @ddrieg
    First, I'd recommend working with either the trackball or the joystick to start with. After you get one working add in the other and get it working. That will help eliminate some variables.

    Assuming you're using Mame 2003, try adding the following line to the retroarch-core-options  file:
    mame2003_mouse_device = "mouse"

    @labamba31
    Try the same thing. In the file 
    /opt/retropie/configs/all/retroarch-core-options.cfg
    add the line
    mame2003_mouse_device = "mouse"
    You can do this with winSCP (assuming you know the IP of your Pi) or via the command line (which can be accessed by plugging in a keyboard and pressing alt+f4) and using nano to edit the file. Once again, this assumes you're using Mame 2003.
  • I have an odd problem that I’m hoping someone can help with. I have this product up and working using an Batocera on an old iMac. On the backside I believe at using retro arch. The controller works great and is being recognized except for the track ball. The system recognizes the track ball and you can get it to work, however as you play the game the game field stays the same but the ability for the trackball to work keeps shrinking to the right. So, if you move to the right you then only have 80% of the playing field left for the track ball to cover.

    When I’m in the set up menu the track ball seems to work across the whole range of motion. It’s only in a game and I cannot figure out why this is happening.

    any help would be appreciated because I’m at a loss.  Other than that, this thing works great.
  • wsp1022
    Options
    Total noob, with a basic technical aptitude .... I am trying to figure out how to setup the fightstick to work with KODI and play games using IAGL (Internet Arcade Game Launcher) .... The track ball work, but can't get the joystick to work (it is conected and recongized by windows) Anyone been able to figure this out, or  can anyone point me in the right direction of resources to help!

    Much appreciated !
  • Dr_Benzene
    Options
    I was wondering, when I bought the Ultimate Atari Flight Stick With Trackball (104307) which comes with the Raspberry Pi Model 3B+ and the 32GB Micro SD Card with over 100 games as a brand new unit, shouldn’t all input work for the system and games as default configuration?  The trackball does not even work out of the box with standard trackball games such as Centipede.  I can understand tweaking it, but not working out of the box?
  • I was wondering, when I bought the Ultimate Atari Flight Stick With Trackball (104307) which comes with the Raspberry Pi Model 3B+ and the 32GB Micro SD Card with over 100 games as a brand new unit, shouldn’t all input work for the system and games as default configuration?  The trackball does not even work out of the box with standard trackball games such as Centipede.  I can understand tweaking it, but not working out of the box?
    I powered up and was a bit disappointed when the trackball didn't work, but after doing a little digging around I realized the Raspberry Pi wasn't seeing the trackball at all and I needed to plug the USB cable into the Pi. I'm thinking they didn't plug it in because you can use the console as either a standalone arcade machine or plug it into a PC and use it as a controller for the PC. 
  • NickBiederman
    Options
    The system should be properly configures out of the box. If your trackball is not working double check the USB cable from the trackball is connected to the Raspberry Pi. The trackball only works with arcade games, not home consoles like the 2600 and 5200.
  • Shawnwade
    Options
    I've followed thi advice with my limited computer skills and my fightsticks trackball still doesn't work with retropie/retroarch. Im clueless.
  • Shawnwade
    Options
    Using raspberry pi 4
We love seeing what our customers build

Submit photos and a description of your PC to our build showcase

Submit Now
Looking for a little inspiration?

See other custom PC builds and get some ideas for what can be done

View Build Showcase

SAME DAY CUSTOM BUILD SERVICE

If You Can Dream it, We Can Build it.

Services starting at $149.99