Over the years, I’ve always found that the best way to ensure I can can play all of my favorite arcade classics is by using a full arcade romset. The only problem is that these romsets contain thousands of games, and at least half of them are not worth trying — they’re full of hacks, duplicates, trivia games, mahjong games, and more.
This guide will show you how to reduce arcade romset file sizes significantly with the help of LaunchBox — in this case, from 34GB down to 8GB! This method will work with any full non-merged romset, and works beautifully with your favorite arcade emulator and handheld devices like the RG350, RG351P, and Retroid Pocket 2.
Most everything you’ll want to know is covered in the video above, but here is a written guide. Note that this method is for Windows/PC.
Arcade ROM terminology
The world of arcade games can be confusing, so let’s set some definitions now. These definitions are taken from RetroArch’s “Getting Started with Arcade Emulation” guide.
- ROM, ROM set, and romset: Arcade games are packaged as zip files, most of which are composed of more than one individual ‘ROM’ file. That is why some resources refer to an individual arcade game as a ROM (like people use to describe a zipped game cartridge ROM) while other resources refer to an individual game as a ROM set or romset.
- ROM version or romset version: Each version of an arcade emulator must be used with ROMs that have the same exact version number. For example, MAME 0.37b5 ROMs are required by the MAME 2000 emulator, but will not work correctly with the MAME 2010 emulator, which requires MAME 0.139 ROMs.
- Sample: Some games require an additional zip file with recorded sounds or music in order for audio to work correctly. The path where these samples should be copied varies from emulator to emulator.
- CHD: Some MAME games require data from an internal hard drive, CD-ROM, laserdisk, or other media in order to be emulated — those forms of media are packaged as CHD files. CHD files should be copied to subfolders within the folder where the MAME ROM zips have been installed.
In addition to having a version number, arcade ROMs can be formatted four ways:
- Full Non-merged: All romsets can be used standalone because each zip contains all the files needed to run that game, including any ROMs from ‘parent’ ROM sets and BIOS sets.
- Non-merged ROM: All romsets can be used standalone because each zip contains all the files needed to run that game, including any files from ‘parent romsets’. The only exceptions are games which use BIOS ROMs, which are formatted as ‘Split’ and must be kept in the same folder as the game romset which uses it.
- Split: Some romsets that are considered clones, translations, or bootlegs also require a “parent” romset to run. In some cases the parent is not the most popular or best working version of the game, however. For example, in a Split set
pacman.zip(a clone), will not work without
Download a full non-merged romset
For this guide, you will want to use a full non-merged romset. Because these individual .zip files will each contain all of the necessary parent and BIOS sets, we won’t have to worry about whether removing individual roms from the package will cause other games to not work. Just bear in mind that full non-merged romsets will initially be very large. For example, the MAME 2003-Plus romset, which is what I used in the video above, totaled 34GB.
Your first step when reducing a downloaded romset is to remove unnecessary CHD (“Compressed Hunks of Data”) files, which are data files used for CD-based arcade games like Killer Instinct, NFL Blitz, Area 51, and BeatMania. Personally, I go through each of these and delete all the CHDs of games that I don’t intend to play. I usually keep only Killer Instinct and NFL Blitz. Once these files are removed from a romset, you can cut the file size significantly (by about 10GB for the romset I used in the video above). Note that in FinalBurn Alpha, CHD files are often called “IMG” files.
LaunchBox is a free emulator frontend. Today, we’ll be using it to import, filter, and export the romset, but it can be used in a number of ways. For example, you can install other emulators (either through LaunchBox or independently) and launch your ROMs through this interface. The nice thing about this program is that it will help organize and download media for your library, which makes it a pleasure to navigate.
To get started, download and install LaunchBox.
Import and filter your romset
Open LaunchBox, then go to the menu and select “Tools” > “Import MAME arcade full set”. Follow the prompts, but be sure to select “Search for game information from the LaunchBox Games Database”. It’s up to you if you want to download box art to better recognize the games, although this will slow down the importing process. Once you get to the filter screen, you want to be very selective over what you choose. Here is what I do:
- Select “skip clones entirely”. This will remove any additional regional/duplicate ROMs. For example, if there is a US, Japan, Europe, and World version of Street Fighter II, it will only keep one version based on the next criteria you select.
- Region to prioritize: Here, you can select your preferred region. For example, you can pick North America, Europe, Japan, and World. If a game doesn’t have multiple region versions, it’ll just grab one of the ROMs for you.
- Select “Skip ___ games”. There are a ton of different types of games you can filter out of your romset: mahjong games, casino games, fruit games, rhythm games, mature games, and so on. This will remove a LOT of unwanted games from your collection.
- Create playlists. In the video above I don’t use this feature, but this is a handy feature if you want to isolate specific collections. For example, if you want a collection of just fighting games, this will generate a playlist for you, and you can just export that playlist. Or if you want to delete all racing games, this will allow you to go to the racing games playlist and delete all of those games from your library.
Export your filtered romset
Once you have imported your romset with the applied filters, you can now go through and delete individual games if you’d like. You can also go to the “View” menu on the top-right and change the view to “List View”, which will allow you to look at all of the games like in a spreadsheet. You can then sort the games by date (and then delete games that are older or newer than you want), or you could sort them by community rating to just get the best-rated games, and so on.
Once you’re happy with the ROMs you have (I went from 4,863 to 2,799 just by applying filters above), you will want to export them into their own folder. Hit CTRL + A to select all of the games, then to to Tools > “Export/Copy ROM files from selected games to new folder”. Choose the destination folder, then press “Select folder”. This will export your ROMs into their own folder.
At this point you’re essentially done. You can drag those ROMs into your SD card and plug it into your preferred retro handheld device.
Add media (optional)
Starting around the 07:43 mark in the video above, I will also walk you through how to optionally download and incorporate media (box art, screenshots, videos, etc.) into your romset, which may save you time in the future. Note that if you download videos using this method, the sound won’t carry over.
“All Killer, No Filler” MAME gamelist
Another option to pare down your MAME romset is using the “All Killer, No Filler” MAME gamelist. This process involves using a .bat file to pull specific (community-chosen) high-quality games. This will reduce the romset to a little over 600 games; depending on which romset you use, it may pull a smaller number. For example, I ran this .bat file against the MAME 2003-Plus full non-merged romset and it was reduced from 34GB down to 3GB, with a total of 571 games. So if you’re looking for a lean, trimmed romset without any frills, this option may be your solution. Note that this method is for Windows/PC only.
To use this method, head over to this page and download the _NoFiller.txt file at the bottom of the post. Change the file extension from “.txt” to “.bat” and then place this file in your main romset folder. Double-click on the _NoFiller.bat file and it will run a script that will copy over those games into a new folder named “_NoFiller”. Be sure to follow the post to see which CHD and sample files you’ll want to add as well.