Hi all, after going through multiple struggles of configuring my Atari dual fight stick with trackball, with added spinners I finally was able to get it all working and figured I would do a write-up for others trying to do a similar setup.
Here is my setup: I have the Raspberry Pi 3B+ with a MicroSD card image of the MC Atari 4.5.1 (latest release) on it, as well as a fresh install image from Retropie.org Retropie v4.7.1 (latest release). This method worked on both images. However, I'm now starting to prefer working with the Retropie v4.7.1 image since I'm able to install additional emulators on it such as ADVMAME1_4 which I wasn't able to do with the MC Atari image, but I'll eventually get around to figuring that out later.
Dual Fight Stick with Trackball, 2 additional USB Spinners added to it for P1 and P2 spinner control. I also added an Inland USB3.0 7 port powered hub with switches to the setup, since I wanted more USB connectivity than the 4 ports provided by the Raspberry Pi. (Don't mind the masking tape labels, only there for reference until I make some nicer looking ones :D)
Goals of this write-up:
Make system so trackball and both spinner can be used for games such as Centipede, Golden Tee, and Bowling (trackball games) as well as Tempest, Tetris, etc (Slider games).
So let's get into it....................
I tried to keep this as simple as possible where no special tools or setups would be needed.
What you will need:
Connect your PC to Raspberry Pi via network.
On your pc type the following in the search bar. " \\retropie"
Then click on the retropie device which gets discovered automatically by its IP address.
You will be prompted, asking for Login credentials. Username=pi Password=raspberry
You should then see these folders in your file explorer view:
Navigate to the mame-advmame folder by clicking on configs, followed by mame-advmame folder
When in the mame-advmame folder you will find the file "advmame.rc", click and open that file. You can use Notepad, or any other text editor to open/edit. I used Notepad++
Find the following lines in the advmame.rc file. If you have the advmame1_4 emulator installed, you can make the exact same changes to the advmame-1.4.rc file as well.
Modify each line with the following changes:
input_map[p1_dialx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3,x]
input_map[p1_dialy] mouse[0,y] mouse[1,y]mouse[2,y] mouse[3,y]
input_map[p1_trackballx] mouse[0,x] mouse[1,x] mouse[2,x] mouse[3x]
input_map[p1_trackbally] mouse[0,y] mouse[1,y] mouse[2,y] mouse[3x]
Here's what the modified lines(Highlighted) should look like when complete
Click SAVE, and you're now done on the PC. It's now time to move over to your RetroPie setup and configure some things in regards to Game ROM emulator and controller button mapping.
Plug in your USB keyboard and restart your RetroPie system so the changes you made to the advmame.rc file will take effect.
Change the Atari Arcade Game ROM Emulator to the "Advmame" Emulator for games which use a Trackball or Spinner. By default they are using the lr-mame2003 emulator.
Navigate to the Arcade Tab in RetroPie and and start a game you would like to use with a Track ball or Slider controller. When you see the Atari/MC Game Loading screen, immediately after it disappears, press any key on your USB keyboard. This will bring up the Emulator selection screen for that particular game. You should see this screen, which will allow you to change the emulator.
Highlight Item 2 "Select emulator for ROM lr-mame2003" and press OK. You will be provided a list of emulators, select the "advmame" option and press ok. Now scroll down to "X Launch" where the game will launch using the newly selected emulator.
If you play the game, at this point you should notice your spinners and trackball are all functioning. You did this by editing those lines in the advmame.rc file and assigning the game to launch with the advmame emulator which uses those settings in the .cfg file. If you did the same edits to the advmame-1.4.rc file, you will see they are all working there as well if you select the advmame1_4 emulator to launch a game.
However, at this point you may notice your joystick buttons don't seem to be working like they were when using the original lr-mame2003 emulator. It's ok, it's because we still need to do the next step and map the controller buttons to the advmame and/or advmame1-4 emulator.
Mapping Controllers to the Advmame emulator
While still having the game you launched running, press the TAB button on your USB keyboard.
You will see this pop up menu appear to now configure all your controller buttons for the advmame emulator. Go through User Interface, Player 1 Controls, Player 2 Controls, and Other Controls and map your joystick controller buttons to your preferences. If you do it all correctly, you will find you should be able to match everything how it was configured when using the lr-mame2003 emulator including defining combo button presses, such as SELECT+P1 START to shut down a game. These mappings only need to be done once, since they will apply to all other games you chose to launch using the advmame emulator.
As an additional bonus item of flexibility when using the ADVMAME or ADVMAME1_4 emulators, you can map multiple buttons to a single control. I found this extremely useful for older arcade games such as Asteroids, where when you play 2 players, only one of your two controllers work, where both players have to share the same controller while switching between turns. What I ended up doing under the Player 1 control mapping, is that I assigned the equivalent button on the Joystick 2 side as the Joystick 1 assignment. Therefore, both controllers can be used to play the game. I then also assigned Asteroids to use the ADVMAME emulator.
Here's what my Player 1 mapping assignments look like where I essentially cloned Joystick 2 to the Player 1 Joystick Controls.
The downside to this type of config is that both controllers are active regardless if it's Player 1 or Player 2's turn to play. So as long as you're playing with friends who aren't a jerk, it shouldn't be a problem. In my opinion, the benefits outweigh the downside.
Additionally, a benefit of being able to install the ADVMAME1_4 emulator which I was unable to do on the MC Atari ROM image but was on the RetroPie 4.7.1 rom, is that you can perform different button mapping configurations for each emulator. Therefore if my dual button mapping described above assigned under the ADVMAME emulator doesn't work out for a particular 2 player arcade game, I can just assign that particular game to use the other ADVMAME1_4 emulator which will have differently configured button mappings without the Joystick 2 buttons cloned with Joystick 1 buttons.
The Last step of this setup would be to adjust the sensitivity of the Spinners, and Trackball for each game. The trackball is a bit slow while playing Centipede where I will definitely be doing some adjustments there. At this point, I'm thrilled that all three of my mouse devices are functioning really well.
To adjust the sensitivity you would again after launching the game, press the TAB button on your keyboard and select the Analog Controls menu item and make adjustments there.
Here are some recommended adjustment settings for retro arcade games which include a spinner. You would adjust the "Dial Sensitivity" to the percentage value for each of the games listed below. So far I've adjusted the Dial Sensitivity of Tempest to the recommended 72% and it feels perfect.
720 degrees (144)
Arkanoid: Revenge of DOH (972)
Arkanoid Returns (486?)
Aztarac (?-my suggestion: 256)
Caliber .50 (24)
Championship Sprint (36)
Crater Raider (64)
Danny Sullivan's Indy Heat (168)
Dark Planet (64)
Demolition Derby (8)
Disks of Tron (128)
Drag Race (36)
Fire Truck (36)
Forgotten Worlds (?-my suggestion: 1896)
Ironman Ivan Stewart's Super Off-Road (158)
Kick / Kickman (12)
Mad Planets (?-my suggestion: 64)
Major Havoc (???????)
Monte Carlo (36)
Off the Wall (256)
Omega Race (64)
Pole Position (102.667)
Pole Position II (102.667)
Star Trek (64)
Super Speed Race (64)
Super Sprint (36)
Two Tigers (64)
Submit photos and a description of your PC to our build showcase
See other custom PC builds and get some ideas for what can be done
Services starting at $149.99