Last updated 04OCT2020 (see Changelog for details)
One of the most fundamental aspects of owning an RG350 (or any emulation device, really) is to learn how to load your game files onto it. In this guide I will walk you through how to install all the three arcade emulators available on the RG350, as well as Neo Geo games.
My comprehensive RG350 install guides:
Table of Contents Before we get started Romsets Samples Is it illegal to download ROMs? A primer on microSD cards Prepare the external microSD card Set up your file structure Arcade Emulators: MAME4All XMAME - Load XMAME games on your external SD card - Set up XMAME - Return to the default setup XMAME 2.0 BETA (*new*) Final Burn Alpha - FBA title screen update Neo Geo - Which Neo Geo emulator is the best? Which arcade emulator is best? Configuration tips for SimpleMenu - Turn SimpleMenu into an arcade launcher Changelog
Before we get started
You need two basic elements to play arcade games on the RG350.
First, you will need an emulator, which is a software program that emulates a gaming system’s hardware. When it comes to arcade cabinets, they are based on a number of different chipsets and hardware, developed over many years; as you can imagine, it takes different hardware requirements to play Ms. Pac-Man than something like Street Fighter II. There are three general arcade emulators available on the RG350, that seek to cover all arcade cabinets, and they all work to varying degrees of success. This is what makes arcade games so difficult to play on any emulation system: you never know which ones will work best on the three available emulators.
Not only that, but these emulators — called MAME4All, XMAME, and Final Burn Alpha — are frequently updated to new versions, and their compatibility with certain games can fluctuate with each new release. There are multiple releases available for the RG350: one for MAME4All, three for XMAME (all packaged together into one), and two for Final Burn Alpha.
In order to work, emulators require game files, or ROMs, which are small “dumps” of game data retrieved from the arcade cabinets and packaged in a way that the emulator understands. For arcade systems it’s not as simple as finding a single ROM file and loading it in the emulator — the emulators require a specific combination of data files that can be spread across a number of regions. For example, if you want to play Michael Jackson’s Moonwalker, you would need to use a source of BIOS (boot files) specific to the arcade cabinet that it used, plus multiple zipped ROM sets from various world regions to find the exact files needed to run for each specific emulator. Confusing, right?
Because the three major arcade emulators are varied, many archivists have started to package entire “romsets” — nearly all of the retro arcade games from the 70s, 80s, and 90s — into single compilations that have been compiled and tested with specific releases of emulators. These files are massive, bloated with games that you may never play and taking up several GBs of space. Often, they are the only way to find the specific games you’re looking for.
If and when you find a complete romset, they will often be in one of three categories: Non-Merged, Split, or Merged.
– Non-merged are the largest of the three, and they contain all of the files your game will need (BIOS plus ROMs); these will allow you to delete the other games you don’t want on your device.
– Split collections spread the BIOS and other files across the set – so the games are dependent on a variety of other games’ files in order to run. This file is smaller than the non-merged sets, but you shouldn’t delete the games you don’t need for fear of breaking the games you do want to play.
– Merged are even smaller, where the game files have been collected into single .zip folders. These have the lowest compatibility with the RG350 emulators, so I do not recommend this category of romset.
The more modern an arcade game, the more complex its file makeup is. Starting in the late 1990s, many games had hardware similar to disc-based setups, using .bin/.cue file structure (often compressed into a single .chd file). Luckily, the vast majority of these games do not work on any of the RG350-compatible emulators, so it’s better to focus on the thousands of games that work on the RG350, than the fact that it won’t run Killer Instinct 2 or NFL Blitz.
In addition to ROM files, some games require unique audio files (called “samples”). This is because some games use sound chips that have not yet been emulated successfully. This samples are loaded into the emulator to recreate the sounds you heard in the arcade cabinets themselves. In this guide, I’ll show you where to put the samples for each of the emulators (except the Neo Geo emulator, which doesn’t need them).
Is it illegal to download ROMs?
Although the legality of downloading game files (ROMs) has not been tested in court, the general consensus is that it is copyright infringement to download games that you do not already own. That being said, there is a legally defensible argument that if you already own a game, downloading a backup copy is acceptable under the Fair Use policy of copyright law. I have written a comprehensive guide about the subject, which you can read here. The situation is even more contentious for arcade cabinets, as many of the companies who first developed these games have gone out of business — so the ideas of ownership, copyright, and market harm are harder to pin down. As a rule of thumb, no game file or BIOS (boot file) links are available on this website. Emulators, however, are open-source software files that are most definitely legal; in the case of arcade emulators, these hardware emulation files are actually licensed for use. Therefore, you’ll find links to all of the necessary emulators below, but you’re on your own to find the pertinent ROM files.
A primer on microSD cards
The RG350 makes use of two microSD cards at the same time. The “internal” card, also known as the firmware card or TF1 card, is located inside the device on the original RG350, and on the leftmost SD card slot on the bottom of the RG350M and RG3350P. The internal card stores your emulators and other software necessary to run the RG350. The RG350 ships with the internal card already installed and configured, usually on a 16GB card. In general, this is enough space for your application files, although I do recommend you back up this internal card in case something happens to the software (or the card itself, which is a bit cheaper than the SD cards you can buy at a store). To learn how to access this internal SD card without having to remove the card itself, check out this guide.
The “external” card, also known as the data card or TF2 card, is located on the bottom of all RG350 models (on the original RG350 it’s the only SD card slot on the bottom, and on the RG350M and RG350P it’s the rightmost SD card slot on the bottom. The external card stores your game files. There are some exceptions to this general rule; for example, you can actually put the emulators on your external card and they’ll still run, and you can play game files off the internal SD card. But for the sake of simplicity, let’s focus on: internal card = emulators, and external card = game files. This card slot can hold up to 512GB cards, so buy the card that fits your library with some room to spare; in general, I think that a 128GB card will fit most people’s needs, and it’ll probably set you back less than $20.
Prepare the external microSD card
Before we dive into the guide, let’s talk about how to organize your external SD card to save you time and headaches in the long run. First and foremost, format the external microSD card into FAT32. On Windows, you will need to use a program called guiformat, and change the “Allocation Unit Size” to 65536 in the drop-down menu. For Mac, use Disk Utility to format (“erase”) the card, with MS-DOS (FAT) as the format.
Set up your file structure
Now let’s discuss how you should organize the game files on your computer. As a backup, I recommend creating a location on your computer to store and organize all of your game files. That way if something happens to your external SD card, you can just drag and drop the files into a new SD card. On your external SD card, you will want to make a folder called “ROMS”, and within that ROMS folder you will make another folder for each system you want to emulate on your device — the picture above shows my current external SD card file structure, with the four arcade emulators highlighted. Your game folders do not need to be named exactly as you see above, but the names should be short and easy to recognize.
If you’re going to use audio samples to accurately recreate your audio, you will need to do one more step: inside each of these folders, create two folders, one called “roms” and the other called “samples”. You’ll put the games in the “roms” folder and the samples in the “samples” folder.
Okay, now that we’ve gone through the basics, let’s get to the meat and potatoes of this guide. Below you will find all of the arcade emulators that are supported by the RG350, as well as a link to download their respective files, and a guide on how to install and customize the software.
MAME4All is based on the v0.37b5 romset, which was released in 28JUL2000.
Most RG350s do not ship with MAME4All, but it’s a capable arcade emulator. Setting up the MAME4All on your RG350 is fairly simple: download and unzip the emulator from the link above, then place it in the media/data/apps/ folder of your internal SD card. Place the games in a folder named ROMS/MAME4All/roms in your external SD card (or however you’d like to name the folder), and your audio samples in ROMS/MAME4All/samples.
The MAME4All version above was recently updated with the ability to have a dedicated configuration set for each game, optimized vertical orientation, skip warning menus, and the ability to leave the game by tapping the POWER button once. If you want to try the base/original version (created in 2014, it is available here.
MAME4All is unique from your typical console or handheld emulators in that it has its own frontend interface.
On your first login, it will ask you to identify your ROMs directory. Press the “..” button until you are at the root directory, then navigate to /media/RG350/ROMS/MAME4All/roms (or wherever your ROMs are on the external SD card), then press START to confirm.
Menu Controls: SELECT: refresh ROM list A button: select/confirm D-Pad Left/Right: page up/down L1 + R1: exit In-Game Controls: SELECT button: insert credit/coin START: P1 start START + Up on D-Pad: P2 start START + Right on D-Pad: P3 start L1 + R1: pause game POWER: exit game L1 + START: view/hide stats (CPU usage, etc.) SELECT + R Buttons: view/hide FPS START + SELECT: MAME4All Menu (see note)
When booting up a game for the first time, you may get some system notifications (white boxes of text on a black background) that will ask you to press “OK” to continue. To press “OK”, just tap left then right on the D-Pad.
If you happen to mess up the button mapping (which happens often!), you can reset your MAME4All configuration by going to /local/home/ and deleting the .mame4all folder. The easiest way to do this is on the device itself using DinguxCmdr, but you could also FTP to your device. This will reconfigure your controls to the default, but bear in mind that you will have to re-identify your ROMs directory (instructions above).
RG350 emulator: XMAME (2015-03-15)
Recommended game file types: .zip
XMAME (X Multiple Arcade Machine Emulator) is easily the most difficult arcade emulator to set up on the RG350, but setting it up may be worth your while. It actually contains three distinct versions of XMAME (0.52, 0.69, and 0.84), all with different degrees of compatibility. So one game may work fine with .52, but not work with the .69 or .84 versions. If you want full compatibility, you would need to add the ENTIRE ROM sets for all three of these versions; considering that these sets are huge (upwards of 10+ GB each), that’s a significant investment. However, if you’re short on space, your best bet would be to focus on the most recent version, which is 0.84. Note that these XMAME emulator versions are sometimes referred to by the MAME versions they support, which are:
Unlike most emulators, you actually use an installer application for XMAME. To set up XMAME, download and unzip the XMAME installer linked above and place it in the media/data/apps/ folder of your internal SD card. You’ll now see an “Install XMAME v1.3” icon in your emulators tab on the RG350. Open that app and run the install; after it’s done, you’l have XMAME on your device (and you can erase that installer app from your media/data/apps folder). Now let’s place the audio samples and games on your device.
Before we discuss how to load XMAME arcade games and samples onto your device, let’s talk about where they need to be stored. By default, XMAME will look in specific folders for the ROM files, and those folders are on your internal card, not the external card you likely use to store all of your files. This is fine when it comes to your audio samples, but can be an issue with the game files, especially if you are limited on space (more on that in a second).
If you download the audio samples to accompany your games, place them in the following folders. They are relatively small for these romsets (about 50MB each), so putting them in their default location of your internal SD card should be easy.
/media/data/local/share/xmame/xmame52/samples/ /media/data/local/share/xmame/xmame69/samples/ /media/data/local/share/xmame/xmame84/samples/
Additionally, you can add preview images of every game, which you will need to place in the following folders:
/media/data/local/share/xmame/xmame52/snap/ /media/data/local/share/xmame/xmame69/snap/ /media/data/local/share/xmame/xmame84/snap/
And finally, here is the default location of the game folders on the internal card:
/media/data/local/share/xmame/xmame52/roms/ /media/data/local/share/xmame/xmame69/roms/ /media/data/local/share/xmame/xmame84/roms/
They may already have a few games in them already. If you have a large-capacity internal card, then feel free to place your game files in those folders. For the rest of us, I recommend you configure XMAME to load games from your external card.
Load XMAME game files from your external SD card
If you want to keep your game files on the external card, you will need to create “links” (also known as “symbolic links” or “symlinks”), which are Linux-friendly folders that act as shortcuts to other locations. So what we’ll do is create three links that will direct XMAME to look at the folder on your external card instead. In order to complete this step on Windows, you will need to install WinSCP; check out my guide on how to set up these programs.
PC/Windows users: There are two steps to this process: delete the old folders, then make links in place of those folders that point to your external SD card.
- Open WinSCP, and connect to your device using SFTP (this won’t work if you only connect via FTP); click on the “New Session” button and select SFTP to get started). Navigate to the default XMAME ROM location (/media/data/local/share/xmame/). There you will see three folders, xmame52, xmame69, and xmame84. Go into one of these folders, inside you will see a folder called “roms”. You can either delete that folder, or rename it to something else if you’d like to preserve anything inside (for example, if there are games already inside). Do that same process for the other two xmame folders (xmame69 and xmame84), so that all three now are free of having “roms” folders inside.
- Next, right-click anywhere in that WinSCP window and select New > Link. A window will pop up, and in the first field (“Link/shortcut file:”) you will want to write out the path of your XMAME folder on your external card, such as /media/RG350/ROMS/XMAME. In the second field (“Point link/shortcut to:”), write the default XMAME folder, such as /media/data/local/share/xmame/xmame52/roms. Press “Ok”, and then you should see a new shortcut folder appear, named “roms”. Repeat this process for the other two folders.
** Note: If you are going to use separate folders on your external SD card for the three different romsets, change the path in your link to /media/RG350/ROMS/XMAME/xmame52 (or however those folders are named), and so on.
** This guide assumes that you are going to only download ONE of the 0.52, 0.69, or 0.84 romsets, and not all three. If you are going to download and use all three romsets, then this process is a bit more challenging, since you’ll have three distinct romset folders on your external SD card. If this is the case, you’ll need to point each symlink to its respective folder. For example, for 0.52 the “Link/shortcut file” will be /media/RG350/ROMS/XMAME52 (or whatever it’s called on your external card), and the “Point link/shortcut to” will be /media/data/local/share/xmame/xmame52/roms.
Mac users: I wasn’t able to successfully use an FTP client to create a link, due to permission errors, so we’re going to do it via Terminal. There are two steps to this process: delete the old folders, then make links in place of those folders that point to your external SD card.
- Make sure your internal and external SD cards are in your device, then turn it on. Go to Applications > DinguxCmdr on your device, and navigate to the default XMAME ROM location (/media/data/local/share/xmame/). There you will see three folders, xmame52, xmame69, and xmame84. Go into one of these folders, inside you will see a folder called “roms”. You can either delete that folder, or rename it to something else if you’d like to preserve anything inside (for example, if there are games already inside). Do that same process for the other two xmame## folders, so that all three now are free of having “roms” folders inside.
- Next, exit DinguxCmdr and plug the RG350 into your Mac via USB. Open up Terminal (located in Applications > Utilities). Type “ssh email@example.com” (this may be different if you have a different IP address or username, see this guide for more info), then press Enter. You’ll see the cow graphic, and then you’ll be tunneled into the RG350. Next, type “cd /” and Enter to get to the root folder. Finally, type “ln -s /media/RG350/ROMS/XMAME /media/data/local/share/xmame/xmame52/roms” and press Enter. Bear in mind that for this line, you want to use the actual name of your SD card (mine is called RG350), and the name of your ROMS/XMAME folder on the SD card. Write this last line again but with “xmame69” and “xmame84” in place of the xmame52. That’s it, you’re done. Here is a breakout of all the code, one line at a time:
ssh firstname.lastname@example.org cd / ln -s /media/RG350/ROMS/XMAME /media/data/local/share/xmame/xmame52/roms ln -s /media/RG350/ROMS/XMAME /media/data/local/share/xmame/xmame69/roms ln -s /media/RG350/ROMS/XMAME /media/data/local/share/xmame/xmame84/roms
** Note: /RG350/ROMS/XMAME could be different depending on the name of your SD card and your XMAME folder.
** This guide also assumes that you are going to only download ONE of the 0.52, 0.69, or 0.84 romsets, and not all three. If you are going to download and use all three romsets, then this process is a bit more challenging, since you’ll have three distinct romset folders on your external SD card. If this is the case, you’ll need to point each symlink to its respective folder, like this:
ssh email@example.com cd / ln -s /media/RG350/ROMS/XMAME52 /media/data/local/share/xmame/xmame52/roms ln -s /media/RG350/ROMS/XMAME69 /media/data/local/share/xmame/xmame69/roms ln -s /media/RG350/ROMS/XMAME84 /media/data/local/share/xmame/xmame84/roms
Set up XMAME
Now that we’ve set up where to store the game files, you can now place the files into your game folder if you haven’t already. On your RG350, boot up the program. Tab between the three different versions (0.52, 0.69, 0.84) using the R1 button, then once you’re on the one you want to use, press the START button to refresh the game list. It might take a while to load all of your ROMs, but after that, everything that is playable should appear. When booting up a game for the first time, you may get some system notifications (white boxes of text on a black background) that will ask you to press “OK” to continue. To press “OK”, just tap left then right on the D-Pad.
Menu Controls: START: refresh ROM list SELECT: exit X button: add/remove favorite L1 button: filter ROM list (available games, favorites, all games) R1 button: switch between XMAME versions (0.52, 0.69, 0.84) In-Game Controls: SELECT: insert credit/coin START: P1 start L1 + R1: pause game L1 + R1: exit game START + R1: view FPS START + L1: XMAME Menu (see note) START + Left on D-Pad: save state START + Right on D-Pad: load save state
** Note: when you make changes in the XMAME Menu (like remapping buttons), the changes are saved automatically. If you mess them up too much, you may have to reinstall XMAME – but luckily, the syslinks you made earlier will remain intact (you will get an error when it tries to create new “roms” folders, just ignore the error).
Return to the default setup
So what happens if later down the line you buy a hefty 128GB card for your internal firmware, and have plenty of space to store the XMAME roms in their default location? All you need to do is go into each respective folder on your internal SD card (/media/data/local/share/xmame/xmame52/ and so on) and delete the “roms” syslink you created — they’re really just glorified shortcuts, so you won’t break anything by deleting them. Now, just make a regular folder in each of those locations, and name it “roms”, and put your roms into each of those folders. Note that if you want to run all three versions of the MAME emulator that are available within XMAME, you’ll need all three romsets in their respective folder.
One of the advantages of XMAME is its support for dual-stick games. Check out this video from Wagner’s Tech Talk:
XMAME 2.0 BETA
The latest version of XMAME is still in BETA, but it already provides a lot of improvements to the original XMAME.
First, when you boot it up the first time, it will ask you where you want to install the system files — including your external SD card! No more having to fiddle around with symlinks in order to store your ROMs on the external card.
Some games which have always had trouble running on the RG350, such as Psikyo (vertical shooter) games like Dragon Blaze, now run at nearly full speed. I was even able to (partially) boot Killer Instinct — it froze on its loading screen, but that’s quite a feat in and of itself.
This version of XMAME supports three different MAME engines: XMAME v84, XMAME 69, and MAME4ALL2. So far I have tested v84 and MAME4ALL2 and they both run well.
Note that because this is still in BETA, I recommend that you don’t completely write off the original XMAME and MAME4ALL options just yet. But given how well this runs already, I expect to replace the older version with this new XMAME 2.0 once it is more stable. If you have any questions or suggestions for this BETA release, I recommend you contact the developer, @slaanesh, at the Retro Game Handhelds discord server.
XMAME and MAME4ALL2 controls: SELECT + R1: insert coin SELECT + L1: P1 start SELECT + L1 + R1: exit game
If you would like to test out the BETA version, while still having access to your ROM files in XMAMe 1.3 and MAME4ALL, it’s pretty simple to set up. First, you want to move your ROMs to the XMAME 2.0 folders. For example, I put them on my external SD card, so my paths are:
/media/RG350/ROMS/xmame_2_0/xmame69/roms /media/RG350/ROMS/xmame_2_0/xmame84/roms /media/RG350/ROMS/xmame_2_0/mame4all2/roms
When you start the original MAME4ALL again, it will say “Error: No available games found! Press a key to select a rom directory.” Next, just navigate to the new ROMS/xmame_2_0/mame4all2/roms folder and press START. You should now be able to access all of your games via the MAME4ALL app as well as through the XMAME 2.0 app.
For XMAME 1.3 v69 and v84, you will need to create new symlinks that point to the xmame_2_0 folder. Follow the instructions in the XMAME section above, but instead of pointing the symlink to a folder like /media/RG350/ROMS/XMAME84, point it to the/media/RG350/ROMS/xmame_2_0/xmame84/roms folder. You can also see the image below as an example (I personally only keep the v84 romset on my device, so I point both v84 and v69 to that romset — it’s not perfect, but saves a lot of space).
Final Burn Alpha
Final Burn Alpha is another arcade emulator, and in my opinion it’s the easiest one to set up, and plays most of the games just fine. It started as a CPS2 (Capcom) emulator and grew to cover many more arcade systems. As an added bonus, FBA plays Neo Geo games just about perfectly. There are two versions of Final Burn Alpha floating around, .44 and .35, but the .44. version has been updated recently with improved features like fixed controls for OutRun and Chase HQ, proper audio samples implementation, and fixed 180 degree rotation. But I’ll put the link to the .35 version above in case you want to try it out.
To set up the FBA, download and unzip the emulator above, and place it in the media/data/apps/ folder of your internal SD card. Place the game files in the ROMS/FBA folder of your external SD card., and the audio samples in the /media/local/home/.fba/samples/ folder (note that the audio samples must be in .zip format).
FinalBurnAlpha interface (left) vs FBA UX interface (right)
After installing the emulator, you’ll see two different icons in your RG350’s “emulators” tab: “FinalBurnAlpha” and “FBA UX”. The “FinalBurnAlpha” emulator will behave like most other emulators: it will take you to the ROM folders and let you pick the game you want to load. Be aware that the ROM files won’t show the actual names, but will instead be the names of the zipped files. So unless you intuitively know that “dstlk” actually means Darkstalkers: The Night Warriors, and you can do that for thousands of files in the romset, you may have a hard time navigating this way. The second icon, “FBA UX”, launches its own frontend system that converts the zipped files to the correct names, allows you to filter the game and add favorites, and also provides screenshots of each game (more on that in a second). If you’re going to boot your games from the app (as opposed to a frontend like SimpleMenu), I recommend using FBA UX.
When you first start FBA UX on your RG350, expect a significant loading time to parse through all of your game files. After you are in, you will want to press the START button and select “ROMs Paths–>”; there, you can navigate to your ROMs path on your external card, then press START to lock it in. If there are other paths listed besides your default ROMs path and your samples path, you can just remove them.
Once you load the game list, here will be several versions of each game on display in the menu. My advice is to try out each version of the game, then save the best one as a “favorite”. To set a game as you favorite in the FBA UX interface, press the A button to bring up the game’s menu, then the last option on the list — “Rom in the favorites list” — scroll to that and change it to “Yes”. To access the favorites list, Press Y + Up/Down on the D-Pad to find the option.
FBA UX Menu Controls: X button: help A button: run/confirm Y + Left/Right on D-Pad: filter by hardware Y + Up/Down on D-Pad: filter by availability Y + L1/R1 buttons: filter by genre Y + SELECT: set/unset flat to ROM START: options SELECT: exit (press twice) In-Game Controls: SELECT button: insert credit/coin START: P1 start POWER button, or L1 + R1 + START: FBA menu L1 + R1 + Y: show/hide FPS L1 + R1 + B: save state L1 + R1 + A: load save state
When booting up a game for the first time, you may get some system notifications (white boxes of text on a black background) that will ask you to press “OK” to continue. To press “OK”, just tap left then right on the D-Pad.
Examples of screenshot previews (left) and title screens (right) for FBA UX interface
Final Burn Alpha title screen update
Another nice thing about the FBA UX emulator is that it comes with preview images of all the games in its catalog, which you’ll see as you scroll through the available games (note that the other two emulators do not have this feature). They are screenshots from the game itself, and give you a quick glimpse at what the gameplay may be like. The images are very low resolution (they have to be 192×112 pixels in order to fit), but it’s still a nice touch. If you’d like, you can replace the default image with title screens (the screen you see before you ‘press start’) using this Reddit guide, which conveniently includes pre-formatted title screens to download.
RG350 emulator: GNGeo (2020-02-16)
Recommended game file types: .zip
The Neo Geo was a unique console in that its arcade and home console games were identical. The home console systems were very rarely found in the United States during its heyday, but the arcade games were all over the place. For that reason, I’m placing the Neo Geo guide in this arcades guide and not my home console/handhelds guide.
For Neo Geo, you have several options: you can install and run the standalone GNGeo emulator, or you could load your Neo Geo games through one of the other arcade emulators above.
To set up the standalone Neo Geo emulator, download and unzip the GNGeo emulator and place it in the media/data/apps/ folder of your internal SD card. Place the game files in the ROMS/NeoGeo folder of your external SD card. ** Important: for GNGeo to launch the game, your game folder must be one name only, no spaces! Hence the “NeoGeo” folder name vice “Neo Geo”.
On your first login, it will ask you to identify your ROMs directory. Press the “..” button until you are at the root directory, then navigate to /media/RG350/ROMS/NeoGeo (or wherever your ROMs are on the external SD card), then press START to confirm.
GNGeo Menu Controls: START or A button: run/confirm SELECT or B button: cancel/exit In-Game Controls: POWER button: GNGeo menu Recommended configuration settings: Fullscreen, Vsync, Frameskip off, Sample rate 4100.
Which Neo Geo emulator is best?
To figure out which system ran Neo Geo best, I played The Last Blade on all of four emulators. This game is moderately challenging to emulate, although there are some that are harder. I figured this would be a good baseline game to demonstrate Neo Geo performance on the RG350, RG350M, and RG350P. As you can see from the video above, XMAME runs Neo Geo games poorly, and MAME4All often crashes whenever you try to load a Neo Geo game. FBA and GNGeo play the games at full speed, but I felt that GNGeo has better audio quality. Given its ease of use, I recommend using FBA as your default emulator, and GNGeo for those (few) games which have difficulty playing on FBA (or if audio quality is a priority for you).
Which arcade emulator is best for you?
Installing the entire romset for all three major arcade emulators will take up a ton of space — 166GB, last time I checked (this includes all three romsets within XMAME). So unless you have a huge external micro SD card, you might be interested in learning which arcade emulator is the overall best choice to focus on.
As you can imagine, the answer is not a simple one. I’ve made a performance test video above, which covers some early 1990s games.
- Largest number of games supported: FBA (5,807 ROMs), XMAME (5,011 ROMs for v0.84), MAME4All (2,241 ROMs) . Bear in mind that this is the number of individual ROM files, which may be duplicates for other regional versions of each game.
- Compatibility: While XMAME boast a large number of games, many of them will not run at an acceptable framerate. FBA typically runs each game in its catalog, with some exceptions for the larger/modern games on their list. MAME4All has a smaller catalog but most of the games work well.
- Save states: supported in FBA and XMAME, but not MAME4All
- Video configuration: XMAME allows for screen stretching/scaling (POWER + A button), and both FBA and XMAME allow you to adjust screen sharpness (POWER + Down on the D-Pad).
- Audio quality: based on my non-scientific observations, the audio quality in MAME4All is surprisingly much better than the other two emulators.
- Twin Stick support: XMAME supports twin-stick gaming.
So my recommendation, if you’re going to focus on building a library for only one emulator, I would suggest Final Burn Alpha. It has the largest catalog of games, the best compatibility, save states, and some video configuration options. Additionally, it plays Neo Geo games very well. If you have the space and time, setting up all three emulators will give you more options to make sure your favorite game is playable on at least one of the systems (for example, Michael Jackson’s Moonwalker only plays on XMAME and MAME4All).
Configuration tips for SimpleMenu
If you’re a SimpleMenu user, you may find that the “Arcades” section is a bit of a mess. Yes, you can make separate “consoles” for Mame, Final Burn Alpha, and Neo Geo, and they will list all of your games. But you may find that they are showing the zip files’ names, and not the actual game names. This can be fixed by pointing the apps to an alias file that already exists in SimpleMenu. To do this, adjust the the /media/home/.simplemenu/sections_groups/arcades.ini file, like in the code below. Note that you can choose *either* XMAME or MAME4All for your MAME section, but not both. And with XMAME, you can only choose one romset to display and launch (I have v84 listed below, but you can swap out the numbers for other romsets).
[MAME] execs = /media/data/apps/Mame4All_2014-01-04.opk romDirs = /media/RG350/ROMS/MAME/romExts = .zip aliasFile = /media/home/.simplemenu/alias.txt onlyFileNamesNoPathOrExtension = yes ~or~ [MAME] execs = /media/data/local/share/xmame/xmame84/xmame.SDL.84 romDirs = /media/data/local/share/xmame/xmame84/roms/ romExts = .zip aliasFile = /media/home/.simplemenu/alias.txt onlyFileNamesNoPathOrExtension = yes [FINALBURN ALPHA] execs = /media/data/apps/FinalBurnAlpha_2020-01-22-.44_alias.opk romDirs = /media/RG350/ROMS/FBA/ romExts = .zip aliasFile = /media/home/.simplemenu/alias.txt [NEO GEO] execs = /media/data/apps/GnGeo_2020-02-16.opk romDirs = /media/RG350/ROMS/NeoGeo/ romExts = .zip aliasFile = /media/home/.simplemenu/alias.txt
Note that you can scrape images (I recommend screenshots or title pages since most arcade games don’t have box arts) and they will show up on the SimpleMenu menu. To do this, check out my box art scraper guide.
Honestly, I don’t use this method. Instead, I treat SimpleMenu like an arcade console launcher, which I’ll explain below.
Turn SimpleMenu into an arcade console launcher
Even with this naming and box art fix, there are other issues with using SimpleMenu to launch arcade games. If you try and launch a game, you’ll find that doesn’t actually load the game you choose, but just boots up the main MAME4All, FBA, and GNGeo interfaces — you’ll have to re-choose your game from their menu. This can be really annoying — you scrolled all the way down to Teenage Mutant Ninja Turtles, only to have it boot into FBA and you have to scrool down to Teenage Mutant Ninja Turtles all over again. There *is* a way to repackage the arcade emulator OPKs so that they will boot directly into the game, but that is well beyond the scope of this website (but if you’re brave, here is the tutorial on how to pack/unpack OPKs). Also note that XMAME cannot be launched using SimpleMenu at all, because it doesn’t have a traditional opk file to launch like with the other emulators.
So if you want to use SimpleMenu as your main frontend but still access arcade games easily, my recommendation is to use SimpleMenu as a console launcher. We’ll do this with the help of .fgl files, which are executable files that tells the RG350 to launch a specific emulator.
- Using WinSCP/Filezilla (PC/Windows) or Cyberduck/Forklift (Mac), access your internal SD card and navigate to the /media/home/.simplemenu folder. There, create a folder named “Arcade”. Inside this folder, create three folders: “MAME”, “FBA”, and “NEO GEO”.
- Lets make an executable .fgl file, starting with MAME. Open the “MAME” folder you just created, then right-click in the window and select “Create > File” to create a file: name it “Launch FBA.fgl”.
- Open this .fgl file using the FTP client’s built-in editor, or your own text editor (Notepad on PC, TextEdit on Mac). There, paste the following code into the file, and edit the “exec” line to match the location and name of your FBA emulator.
title=Launch Final Burn Alpha description=Launch Final Burn Alpha exec=/media/data/apps/FinalBurnAlpha_2020-01-22-.44_alias.opk icon=skin:icons/icon.png
- Save and close the file. Now, do the same thing for the other two emulators. Go into the “MAME” and “NEO GEO” folders, and create these .fgl files in each respective folder. Note that this method only works for MAME4All, and not XMAME.
title=Launch MAME description=Launch MAME exec=/media/data/apps/Mame4All_2014-01-04.opk icon=skin:icons/icon.png
title=Launch NEO GEO description=Launch NEO GEO exec=/media/data/apps/GnGeo_2020-02-16.opk icon=skin:icons/icon.png
- Next, navigate to /media/data/local/home/.simplemenu/section_groups/, and open the file named “arcades.ini”. Change the text in the file to this text below:
[CONSOLES] #consoleList =MAME,FINALBURN ALPHA,DAPHNE,NEO GEO consoleList =MAME,FINALBURN ALPHA,NEO GEO [MAME] execs = /media/data/apps/Mame4All_2014-01-04.opk romDirs = /media/data/local/home/.simplemenu/Arcade/MAME/ romExts = .fgl aliasFile = /media/home/.simplemenu/alias.txt onlyFileNamesNoPathOrExtension = yes [FINALBURN ALPHA] execs = /media/data/apps/FinalBurnAlpha_2020-01-22-.44_alias.opk romDirs = /media/data/local/home/.simplemenu/Arcade/FBA/ romExts = .fgl aliasFile = /media/home/.simplemenu/alias.txt onlyFileNamesNoPathOrExtension = yes [DAPHNE] execs = /media/data/apps/Daphne.opk romDirs = /media/sdcard/ROMS/DAPHNE/ romExts = .zip aliasFile = /media/home/.simplemenu/alias.txt [NEO GEO] execs = /media/data/apps/GnGeo_2020-02-16.opk romDirs = /media/data/local/home/.simplemenu/Arcade/NEO GEO/ romExts = .fgl aliasFile = /media/home/.simplemenu/alias.txt onlyFileNamesNoPathOrExtension = yes
Note that the Daphne (Dragon’s Lair laserdisc) emulator is listed, but it won’t show up because it’s not on the “consoleList” line (the one with the “#” before it is just a placeholder; it’s not read by the system because of that “#” in front of it). Daphne is technically an arcade emulator, but I haven’t finished the guide for that one yet. So we’ll leave it there for now.
Okay, you should now be good to go. Navigate to the “Arcades” section in SimpleMenu on your device, and you should see a setup like you see in the video below:
If you are using an RG350M and you want to download and install the pretty icons you see above, check out my SimpleMenu guide, which includes the upgraded images and icons.
In this section I’ll provide a quick summary of any updates I make to this guide.
– added XMAME 2.0 BETA section
– added new MAME4All emulator
– added FBA samples path information
– added XMAME SimpleMenu guidance
– added information about preview images for XMAME
– added anchor links in Changelog
– added “return to Table of Contents” for easier navigation
– added guides grid at top of page
– design tweaks (darkened separator lines)
– update links to Console/Handhelds and Home PC guides
I hope this guide gets you set up with all of your favorite retro arcade games. If you have a question, comment, or suggestion, please leave me a comment below, or send me a note directly.