Bartop arcade machines are quite popular among retro gaming enthusiasts these days, with them being a smaller and more portable option compared to full-sized arcade cabinets. What are some things to consider when preparing RetroPie for your custom bartop arcade?
Recently I was able to fulfil one of my dreams; making my own bartop arcade machine.
Growing up in the 90’s, I was surrounded by arcade machines. As the years went by the number of arcade machines around my neighbourhood started to diminish as console and PC gaming became more mainstream. Nothing screams retro gaming more than an arcade machine, and this is what drove me to build my own bartop arcade.
I decided to make a bartop arcade machine, rather than a full-sized arcade machine, as I wanted to easily move the arcade machine if I needed to. I followed the very popular Bartop Arcade Instructables guide by rolfebox. If you are keen to make your own bartop arcade, I highly recommend using this guide.
I won’t go into detail about the steps I took to make my bartop arcade, as the guide does that job very well. But what I want to show is what I did to get Raspberry Pi using RetroPie running well with my bartop arcade setup.
Changing the aspect ratio & video output
By default RetroPie is set up to display in a widescreen ratio, automatically displaying at 720p or 1080p depending on your TV or monitor. For my bartop arcade, I purchased a 5:4 ratio PC monitor with a resolution of 1280px by 1024px. I needed to configure RetroPie to use this new resolution so that could display itself successfully on the new PC monitor.
My PC monitor also didn’t have an HDMI port, with it instead of using a VGA port for its video input. So I had to purchase an HDMI to VGA converter to get the RetroPie visuals appearing on the PC monitor.
Here are the steps I took to connect my Raspberry Pi using RetroPie to my PC monitor with a 5:4 aspect ratio:
- Use open this link, as this will be used as a guide for the rest of the steps – https://elinux.org/RPiconfig#Video_mode_options
- Find the config.txt file at /boot/config.txt and open the file with a text editor.
- Search for the line that says hdmi_group.
- Change the number/value for this line to one that suits your monitor using the guide above. In my example, I’m changing the value to 2 as the resolution for my monitor is found in HDMI group 2.
- Search for the line that says hdmi_mode.
- Change the number/value for this line to one that suits your monitor using the guide above. In my example, I’m changing the value to 35 as my monitor has a resolution of 1280×1024 and a refresh rate of 60Hz.
- Save the file, and reboot RetroPie. After RetroPie has rebooted on your Raspberry Pi, it will use the newly saved settings in your config.txt file. Your Raspberry Pi should now be showing your RetroPie video output on your monitor.
Install a theme to fit the monitor on your bartop arcade
The large majority of RetroPie themes are made for widescreen monitors. But there are some themes that have an alternate mode where the theme can change its aspect ration from 16:9 to 4:3 without the visuals looking stretched or squashed.
I had a good hunt around for themes that would work at a 4:3 aspect ratio, as well as complement my bartop arcade cabinet. Below are some of my favourite 4:3 RetroPie themes that I use on my bartop arcade’s Raspberry Pi:
- ComicBook 4:3 – A very popular theme that has a comic book aesthetic that suits arcade machines very well.
- CRT – This theme has a 4:3 aspect ratio option. It’s a simple-looking theme but it looks great. Its dark design can look great on arcade machines with darker design.
- Space Oddity – This theme doesn’t currently have a 4:3 version made by the original developer of the theme. But other users have made a 4:3 version of the Space Oddity theme, and it looks amazing. The vertical scrolling system menu is a very nice touch for custom arcade machines.
Change the aspect ratio for vertical screen arcade games
One thing that I noticed when I started playing arcade games on my bartop arcade was that some of the games were stretched horizontally in their display. One example of this is with the game Pac Man. This game was originally a vertically orientated game, with the screen of the game being in portrait orientation rather than landscape orientation.
The other games that were originally made for 4:3 monitors displayed fine on my bartop. But for the portrait-style games to be displayed correctly, you need to create a configuration file for each game that needs its aspect ratio changed. Here’s what I did to configure the vertical-screen games to display correctly on my bartop arcade:
- Open a text editor
- Copy/paste the following text into the text editor:
aspect_ratio_index = “8”
- Save the file anywhere on your computer, giving it the same name the rom you want to change the aspect ration of. You also need to include the filetyle of the rom in the filename. For example, my saved config file for the rom pacman.zip will be pacman.zip.cfg.
- Copy the saved file into the same directory that your rom is in. For example, my Pacman rom is in my arcade roms directory.
- Restart your RetroPie and load the game you are changing the aspect ratio of. Your game should load using the new portrait aspect ratio, rather than being stretched to fit your monitor.
Set up the controls for arcade games on a per game basis
My bartop arcade has a six-button setup, with three buttons on a top row and three buttons on a bottom row. Most fighting games, like Street Fighter, assign the punch actions to the top three buttons and assign the three kick actions to the bottom three buttons.
While setting up the games for my Bartop Arcade, I found out while playing various arcade games that some of the in-game actions weren’t assigned to the correct buttons. For example, some Street Fighter games switched one of the punch and kick actions between the rows on my controls. In cases like these, you need to change the controls on a per-game basis.
Here’s how you change button assignment on your Raspberry Pi using RetroPie on a per-game basis:
- Start up the game that you want to configure the controls for.
- Press Select and Y at the same time. These will be the buttons that you assigned when you initially set up the controls for your arcade machine. This will open up the Retroarch in-game menu.
- Navigate to and select Controls near the bottom of the menu.
- Scroll down until you seen player 1 controls, where you will see control actions such as Up and Down assigned to buttons.
- Change the actions that are assigned to the buttons you want to make the changes to by pressing left and right next to the buttons you want to change.
- Once finished, go back to steps in the menu, navigate down to Configuration File and then select Save Current Configuration.
- Test the buttons out and see if they are set to your liking. Trial an error may be needed to get the perfect setup for the game.
To sum things up
It’s awesome building your own arcade machine and playing your favourite games using RetroPie on a Raspberry Pi. But more likely than not, you will need to make some configurations to your Raspberry Pi and RetroPie setup to make your arcade machine fully operational.
I hope some of the tips above are helpful in getting your bartop arcade up and running using RetroPie on Raspberry Pi.
Is there anything you think I missed out or should have mentioned? Are there any other RetroPie customisations you’ve done to make RetroPie work perfectly in your arcade machine? Let me know in the comments section below.
Happy retro gaming everyone!