Arcade Games Verticade

Software

This page is somewhat preliminary. I hope to make it a bit more coherent, add more detail and a few files for download soon!

Software setup

The software stack which worked well for me comprises:

While I have provided links to the home pages of the individual projects, my starting point was an image which already combines these components. This was posted by user nitrogen_widget in the AttractMode forum; see the initial post in this thread.

I have customized the AttractMode screen layout, and also customized the RetroGame driver to include functionality for a controlled shutdown of the Pi. Need to clean up those files and post them here; they are not available yet.

Configuration

Connect to the Raspberry

To start talking to the Raspberry, either plug in a USB keyboard, or connect via SSH (to “dietpi”, port 22) from your favorite Windows or Linux machine.

Tweak the Raspberry configuration

Install the configuration utility via sudo apt-get install raspi-config, start it via sudo raspi-config. Using the menus,

Edit /boot/config.txt

# reduce noise during silence
disable_audio_dither=1
hdmi_group=2   DMT
hdmi_mode=16   1024x768   60 Hz
hdmi_drive=2   force HDMI (rather than DVI)

# overclock settings from AttractMode distribution
arm_freq=1000
core_freq=500
sdram_freq=400

Edit /etc/network/interfaces

# Wifi
auto wlan0
iface wlan0 inet dhcp
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
wireless-essid [your SSID]
wireless-key [your password]
wireless-mode Managed
wireless-power off
wpa-ssid [your SSID]
wpa-psk [your password]

What didn’t work well

It took me three attempts to arrive at the software configuration above. For reference, here’s what did not work well for me in the first two rounds. Disclaimer: I built this cabinet in 2015. Things might have changed since then, and the emulators and distributions I was not happy with may work better today.

AdvanceMAME is an alternative to the MAME4ALL emulator. In my tests, it had problems with many of the old vertical games I wanted to play. More than half of the 20 games I tried did not play correctly; most with sound problems, but various video problems (black screen, jerky frame rates, or stripes during scrolling) did also occur. MAME4ALL does a good job at playing them all, and hence was clearly my choice.

RetroPie is a very popular pre-made image for the Raspberry Pi, which combines the Raspbian OS, a bunch of emulators (various MAME versions, but also emulators for most vintage home consoles), and the EmulationStation front end. Application packages without the OS are also available, for installation on various other systems.

The problem I had with RetroPie was specific to vertical games: The only way I could convince MAME4ALL to show correct, vertical monitor scanlines was to keep the display orientation in Raspbian set to landscape format, and let MAME4ALL handle the rotation for a vertical display. But then the front end would not display correctly on the vertical screen. Maybe it was just me, maybe EmulationStation actually cannot (or could not) handle this – in any case, I eventually gave up on RetroPie and EmulationStation and went with the AttractMode-based setup described above.