RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    How to emulate Bally Astrocade, VTech Creativision, and Emerson Arcadia-2001 in lr-mess

    Scheduled Pinned Locked Moved Help and Support
    astrocadearcadiacreativisionmesslr-mess
    8 Posts 3 Posters 6.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • rkosterR
      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/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 not 3dbowl.bin or 3dBowling.bin or 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 es_systems.cfg.

      1. Back up your old cfg.
      sudo cp /opt/retropie/configs/all/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg.backup
      
      1. 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.

      Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

      TPRT 1 Reply Last reply Reply Quote 3
      • rkosterR
        rkoster
        last edited by

        For those who, like me, use one of the various pixel themes. I'm no Rookervik but I did my best.

        Astrocade console
        Astrocade logo
        Arcadia console Arcadia logo
        Creativision console
        Creativision logo

        You can find them on my github at https://github.com/raphkoster/metapixel-additional

        Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

        1 Reply Last reply Reply Quote 1
        • rkosterR
          rkoster
          last edited by

          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.

          Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

          1 Reply Last reply Reply Quote 0
          • TPRT
            TPR @rkoster
            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.

            rkosterR 1 Reply Last reply Reply Quote 0
            • rkosterR
              rkoster @TPR
              last edited by

              @tpr Sorry, I don't know.

              Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

              TPRT 1 Reply Last reply Reply Quote 0
              • TPRT
                TPR @rkoster
                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%"

                L 1 Reply Last reply Reply Quote 1
                • L
                  LilaQ @TPR
                  last edited by

                  @TPR said in How to emulate Bally Astrocade, VTech Creativision, and Emerson Arcadia-2001 in lr-mess:

                  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%"

                  @TPR

                  This came in very handy for me, I was finally able to get my 2nd player working like that.
                  Is there a way to save this setting permanently though? If I tab into the MAME menu, change the Slot Device, I have to reboot the core to make it work - but if I shutdown RA, the next time I have to change the Slot Device again by hand.

                  TPRT 1 Reply Last reply Reply Quote 0
                  • TPRT
                    TPR @LilaQ
                    last edited by

                    @LilaQ Option 2 adding the -ctrl2 joy to your command line should add the 2nd controller every time you load up a game.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                    Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.