Bally Astrocade, VTech Creativision, and Emerson Arcadia-2001 in lr-mess
All three of these seem to run at perfect or near perfect speed in lr-mess on a Pi 3. Here’s the step by step, most of which will likely work for any other system you want to emulate in lr-mess.
-
Install lr-mess. There’s a binary install under the experimental menu that is quite fast, or a source compile that takes ages. Don’t bother trying lr-mess2016; it will not work if you follow these instructions.
-
Create the relevant ROM directories if they aren’t there already. Under ~/RetroPie/roms you need
/astrocde
/arcadia
/crvision
- Place the needed BIOSes in the /roms folders. You need
astrocde.zip
astrocdl.zip
astrocdw.zip
crvision.zip
(There is no BIOS for the Arcadia).
These go in the roms folders for each machine, e.g. alongside the games.
-
Get the hash files. These are found at
https://github.com/mamedev/mame/tree/master/hash
. They go in~/RetroPie/BIOS/mame/hash
which you may need to create. -
Put the roms in the relevant roms folder. They must be zipped. Be sure you have a set that is named according to the MESS conventions. For example, you need
3dbowl.zip
and not3dbowl.bin
or3dBowling.bin
or3d Bowling (USA).zip
. The set that worked for me is the “MESS 0.151 Software List ROMs.” -
Make sure you have the systems in
es_systems.cfg
.
- Back up your old cfg.
sudo cp /opt/retropie/configs/all/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg.backup
- Type
sudo nano /opt/retropie/configs/all/emulationstation/es_systems.cfg
.
Search for “arcadia,” “astrocde” and “crvision.”
If one is missing, insert the relevant block. It will look like this:
<system>
<name>astrocde</name>
<fullname>Astrocade</fullname>
<path>/home/pi/RetroPie/roms/astrocde</path>
<extension>.bin .rom .zip .BIN .ROM .ZIP</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ astrocde %ROM%</command>
<platform>astrocade</platform>
<theme>astrocade</theme>
</system>
Be sure to use the same names (“arcadia” “astrocade” “crvision”) here as in your theme.
- Check that you have the emulator config files.
cd /opt/retropie/configs
See if you have a /arcadia
a /astrocde
, and a /crvision
.
By default, the install should have set up at least /opt/retropie/configs/arcadia
for you. If you don’t have the others, you can make them.
cd /opt/retropie/configs
sudo cp arcadia astrocde
sudo cp arcadia crvision
Now you need to make sure these config files are set up for Astrocade and Creativision and not Arcadia.
sudo nano astrocde/emulators.cfg
Edit the file so it looks like this:
lr-mess = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so --config /opt/retropie/configs/astrocde/retroarch.cfg %ROM%"
default = "lr-mess"
CTRL-X to exit, and hit Yes to save… then
sudo nano astrocde/retroarch.cfg
That one needs to look like
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
input_remapping_directory = "/opt/retropie/configs/astrocde/"
#include "/opt/retropie/configs/all/retroarch.cfg"
Repeat for the Creativision.
sudo nano crvision/emulators.cfg
Edit so it says
lr-mess = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so --config /opt/retropie/configs/crvision/retroarch.cfg %ROM%"
default = "lr-mess"
then
sudo nano crvision/retroarch.cfg
and edit so it reads
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
input_remapping_directory = "/opt/retropie/configs/crvision/"
#include "/opt/retropie/configs/all/retroarch.cfg"
-
Restart EmulationStation.
-
Launch a game. At this point, it should work. If it doesn’t, the culprit is almost certainly your roms. Make sure you have the right set. Check again that you have the hash files. Check that you have everything named right. Check that you have the BIOSes.
-
Map controls. You can’t use the
Select-X
shortcut to edit controls in lr-mess.
In Astrocade and Arcadia while playing a game, hit the TAB key on your keyboard. This will bring up the usual MAME style UI. Navigate down to the second choice using cursor keys, "Input (this machine)."
Hit Enter. Then map each control by hitting enter and then the new button you wish to assign.
For Astrocade, you will want to scroll down past the block marked [root]
and down to the block marked [root:ctrl1:joy]
. I mapped up, down, left, right, and button 1. I also mapped Paddle Analog Dec
and Paddle Analog Inc
to a pair of buttons, because the mouse does not work in lr-mess. The Astrocade had a rotating joystick, and the paddle is used frequently. Then select “Return to Previous Menu” and then “Return to Machine.”
The Astrocade will boot to a menu of games when you start a game. Four of the items will be from the BIOS: Gun Fight, Checkmate, Calculator, and Scribbling. (If you launch the astrocde.zip
BIOS file directly, this is all you will get). To pick the right game, hit fire, then use the paddle to get to the number you want, then hit fire again. This is a common interface convention in Bally Astrocade games.
For Arcadia-2001 you will want to modify the first block. Map your joystick; because so many buttons were used on the Arcadia keypad, I just mapped as many as I had.
For Creativision you need to first enter keyboard mode. Press the Scroll Lock
key on your keyboard. If you don’t press Scroll Lock, TAB will not work to enter the MESS menu.
You should get a popup saying you are now in that other mode. Now press TAB. You will get the MESS menu. As before, go to “Input (this machine).”
The Creativision used little overlays in the controllers. Their controller had a joystick, two buttons, and half of a computer keyboard (you could stick them together and make a full keyboard!). All the Creativision games with the exception of two used the same layout for their controls, despite the multiplicity of keys.
Map RESET
to your start or select button.
Player one:
Map buttons 1
and 2
to your two fire buttons.
Map B
or 6
to a third button. This will typically be called “start” in the game. In Astro Pinball it is the serve button.
Player two:
Map buttons 1
and 2
to your two fire buttons.
Map N
or 7
to a third button. This will typically be called “start” in the game. In Astro Pinball it is the serve button.
The two games that are an exception are Music Maker and Tank Attack. Music Maker basically requires an entire keyboard.
If you plan to play Tank Attack you should map these additional keys:
Player 1:Q
or A
will be “Lay Mine”T
or G
will be “Switch Tank”
Player 2:;
or P
will be “Lay Mine”Y
or H
will be “Switch Tank”
You can browse the overlays on Creativision emulator sites to see what they looked like and what keys they covered.
To start a game, you will usually hit RESET (e.g., Start or Select) and then whatever you mapped to B
or 6
. A game like Air/Sea Attack has you hit RESET, then select difficulty with either of the fire buttons, then hit START (which would be B or 6).
After mapping the Creativision, choose “Return to Previous Menu” and “Return to machine.” Then once again press Scroll Lock
to return to normal input mode. Now you can play.
The config files for these mappings will not be in the usual places. Instead, they will be in
~/RetroPie/roms/arcadia/mame/arcadia.cfg
~/RetroPie/roms/astrocde/mame/astrocde.cfg
~/RetroPie/roms/crvision/mame/crvision.cfg
-
Scraping these systems. It doesn’t work very well. Let me know if you figure it out.
-
You may want to set the BIOSes to hidden so that you don’t try launching them as games. You can do this from the EmulationStation menu; just hit Select while on the BIOS file in the game list, and mark it as hidden.
Pixel art for themes
For those who, like me, use one of the various pixel themes. I’m no Rookervik but I did my best.
You can find them on my github at https://github.com/raphkoster/metapixel-additional