How to emulate Bally Astrocade, VTech Creativision, and Emerson Arcadia-2001 in lr-mess
rkoster last edited by rkoster
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/hashwhich 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
3d Bowling (USA).zip. The set that worked for me is the "MESS 0.151 Software List ROMs."
Make sure you have the systems in
- Back up your old cfg.
sudo cp /opt/retropie/configs/all/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg.backup
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.
See if you have a
/astrocde, and a
By default, the install should have set up at least
/opt/retropie/configs/arcadiafor 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"
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"
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-Xshortcut 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 Decand
Paddle Analog Incto 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.zipBIOS 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 Lockkey 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.
RESETto your start or select button.
2to your two fire buttons.
6to a third button. This will typically be called "start" in the game. In Astro Pinball it is the serve button.
2to your two fire buttons.
7to 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:
Awill be "Lay Mine"
Gwill be "Switch Tank"
Pwill be "Lay Mine"
Hwill 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
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 Lockto 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.
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
This guide has been updated to provide details on optimal mapping for Creativision. I went to the controller overlay images and checked every button used in every game; the suggested mapping should make all games playable except Music Maker, which requires a keyboard.
I'll try doing the same for the Arcadia-2001, but it used way more buttons way more often. Football, for example, uses all 12 buttons on the keypad, and some of them are contextual.
TPR last edited by
@rkoster How can I get the 2nd controller working in lr-mess-astrocade? Games like Bally Pin require both controllers and in the MAME Menu I only see settings and re-mapping options for controller 1.
Any ideas? Thank you.
@tpr Sorry, I don't know.
TPR last edited by TPR
I finally figured it out, and in case anyone needs to know for future reference:
Option 1: Go into "Slot Devices" by pressing TAB to get into the MAME config menu and choose "Joy" under "ctrl2" - This is not set by default.
Option 2: Add -ctrl2 joy to your command line in emulators.cfg - This will force a controller to put put into controller port 2. So for example, my command line for Astrocade looks like this:
lr-mess-astrocade = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/astrocade/retroarch.cfg astrocde /home/pi/RetroPie/BIOS -ctrl2 joy -cart %ROM%"