The massive gaming industry that we have today was born in the late 1970s with computer arcade machines. It all started with what we would consider incredibly simple games such as Pong, which was basically a ball bouncing around the screen, and Space War, which involved two spaceships firing bullets at each other. But at the time these were considered as technological breakthroughs and were the first-time the general public had a chance to play computer games.
Pong and Space War
In the early 1980s we saw a massive boom in computer gaming as arcade cabinet technology got better and better along with the release of some of the most iconic games ever produced. Space Invaders started this Golden Age of Arcade Gaming, followed by Pacman, Donkey Kong, Galaga, Asteroids and many many more. With the top games earning billions, yes BILLIONS, of dollars in sales and coins every company wanted to release games to get their part of the action.
Space Invaders, Donkey Kong and Pac-Man
This boom continued through the 1980s until home computers and home game consoles caught up with the quality of arcade machines. People started to move to home-based computer gaming rather than going to computer arcades were you had to pay to play each game. The 1990’s saw a sharp decline in the number of video game arcades until they all virtually disappeared or turned into the fruit machine arcades we see today.
If you do want to play these classic arcade games I highly recommend visiting a computing museum where you’ll usually find a range of original arcade cabinets.
Or you can take advantage of emulation and run the real code from the real arcade cabinets directly on your computer at home.
So let’s turn your computer into a classic arcade cabinet and play every arcade game ever written, well almost!
To start we need an emulator. Emulating arcade cabinets is different to emulating something like a games console. Each arcade cabinet was built for a single game. Some cabinets were modified to play other games but this still means there are literally hundreds of different computer systems that need to be emulated to play all the arcade games.
The Multi-Arcade Machine Emulator (MAME) software does just that.
If you visit https://www.mamedev.org/ you’ll get to the official MAME development website where you can download the software.
There are a range of options for installing and running MAME.
If you’re using a front end for your retro gaming such as RetroPie or LaunchBox you can usually enable a MAME emulation core to install and set up the software. All you then need to do is get hold of some ROM sets and you’re good to go. I’ll be covering the RetroPie setup in a separate video as in this video I want to show you how to download the latest MAME version and set it up as both a stand-alone application and as part of a LaunchBox setup.
If you go to the MAME website and scroll down the home page you will find links to the download links for Windows, Mac OS and Linux. Clicking on any of these will take you to the latest release download page.
For Mac OS and Linux systems you’ll find some precompiled versions, but if you want the latest version you’ll have to compile and build it yourself. There are full instructions on how to do this so please have a look at those as I’m not going to cover that in this tutorial.
For this video I’ll be installing the Windows version which can be downloaded as a single executable file. On the Windows download page you’ll also find a driver information database download. This is a file that details how every single arcade machine the software emulates is set up. You don’t need to download this to play your games.
The Windows download file is a self extracting archive. When you open it, it will ask you where you want to install the software. If you’re going to be running MAME as a stand-alone application create a folder for it somewhere on your computer and extract the files there. I’ll eventually be connecting my MAME installation with my LaunchBox gaming front end so I’m going to install the files in a Mame folder inside the Emulation folder inside my LaunchBox folder. This simply keeps my LaunchBox setup as a self-contained unit inside a single folder.
Once the files are extracted MAME is installed. If you browse to your folder and double-click the MAME application file, either mame.exe, mame64.exe or mame32.exe, the emulator will start.
Looking at the filter lists on the left you can get a list of all the games by clicking on the unfilitered link, or a list of games you have installed by clicking on available. But at the moment we don’t have any games.
So let’s go get some!
If you’ve used other retro game emulators for consoles and computers, you’ll know that we need to download game files which contain the actual game code. The emulator pretends to be the computer system and the game software then runs as if you had the real console in front of you.
Because MAME has to emulate so many different systems, each with their own sets of circuit boards and microprocessor systems, MAME ROMs work in a different way. I’ve made a video which explains the different type of ROM sets available for MAME so please have a look at that if you want to fully understand how everything fits together.
For this video were simply going to get hold of everything we need to get all of our arcade games up and running in one go.
To do this we need what’s known as a reference ROM set.
Reference ROM sets are built for specific versions of MAME. If possible you need to download the reference set that matches the version of MAME that you just installed. Sometimes, if you’ve downloaded a brand-new version of the software, it can be hard to find an exact match. In this case use the reference set for the latest version you can find.
On each new version of MAME changes are made to the way it works along with updates to some of the ROM files. Most games are compatible across different versions but you might find that a few games don’t work if you haven’t downloaded the correct reference set.
I find that the best place to find MAME Reference ROM Sets is at the Internet Archive.
If you visit this website and simply search for ‘mame’, followed by the version number you want you should get a list of downloads. We now need to work through these to make sure that we’re getting the right files in an easy to download format.
Some of the downloads will be for the MAME software itself. You can check this by going to the download page and having a look at what files are available by clicking the SHOW ALL link.
If this contains the software installation files, or source files this isn’t the right download.
** IMPORTANT ** Please don’t use installation files downloaded from anywhere other than the official MAME project website. You can never be sure if these haven’t been tampered with.
Most of the ROM downloads will be labelled as ROM downloads, or they may say something like ‘Merged’ or ‘Reference Set’. Once you go to these download pages and click on the SHOW ALL link you should see a long list of ROM files.
Once you’re happy that you’re actually downloading the ROM sets we need to get hold of them in the easiest and fastest way. There are usually a range of download options displayed on the archive page.
There will always be a SHOW ALL button which will give you a list of files in the archive and you can download them individually.
Sometimes the archive author uploads all the game ROMs as separate files. You can still download them individually, but with a few thousand games to download this option is only of use if there are specific ROM sets you need.
Sometimes the archive author puts all the ROM files into a single archive file so you can download everything in one go. There may also be a few options on how to download this.
Often there is a ZIP download option which lets you download all the files as a single archive. This option uses a normal HTML download link. As the files we want are upwards of 50 GB, this method of downloading is going to take a very long time – I mean days rather than hours.
I find the fastest way to get these files is to use the TORRENT download option if there is one.
BitTorrent is a way of using the community to make downloading and sharing files faster. Basically people who have already downloaded the files you want allow their computers to deliver the files to other people who want to download them. This is called peer-to-peer sharing.
You need to install a BitTorrent client on your computer and then download the TORRENT file for the ROMs download you want from archive.org. This torrent file tells your BitTorrent client what files you want so that it can then ask the community for the data. The torrent file also contains information to make sure that your downloads are secure and have not been tampered with. It contains checksums and so on to ensure you get the original copies of the files.
Downloading files using BitTorrent can be prone to malware and viruses. NEVER install or run program files downloaded using this system. Only use it for data files such as these ROM sets. Although these ROM sets contain computer software, that software can’t run on your computer. It’s code that can only run on the arcade machines that you’re going to be emulating. That code will be running inside the MAME emulator so that it has no access to your actual PC.
Once you’ve downloaded the ROM sets using BitTorrent it’s good practice to give back to the community. Now that these files exist on your computer, your computer can also act as a Seed to help other people download the same files. If you leave your BitTorrent client software running for a while you’ll see it starting to deliver your files to other people. The basic idea is that you give back the same amount of data that you downloaded. So if we download 50 GB of data we should really give 50 GB back to the community. In this way we all help to keep download speeds as high as possible by having as many Seed computers as possible for each file.
If you’re installing a stand-alone version of MAME you simply need to copy the ROM set files into the ROMs folder in the MAME installation folder. Once you start MAME you should see a list of games appearing in the central area.
There are a number of menu options on the left to help you filter your list.
Unfiltered will list every game in the system.
Available lists all the games that you should be able to play.
In all of these lists you’ll find some games are shown greyed out. This doesn’t mean that the game isn’t working it just means that the game is not a parent game. MAME uses a system of parent and clone games to organise the ROM files needed to emulate any system. Again if you want to know more about this please check out my video where I explain the whole MAME ROMs system.
Once you got a list of games simply double-click one and have fun.
LaunchBox is a great front end application to manage all of your retro gaming. I’ve made a video on how to install it so please have a look at this to see how to get LaunchBox up and running.
LaunchBox has a clever importing system dedicated to MAME ROMs. To start with though, we need to add MAME as the arcade system emulator.
In the menu select the Tools option and then click on Manage Emulators. This will bring up a list of the emulators you’ve installed into LaunchBox. Click the Add button at the bottom and then use the drop-down list for the Emulator Name to select MAME. Although you can type the name in using the drop-down list tells LaunchBox that this is the MAME emulator and it will automatically set the options to drive this correctly.
Next you need to click the browse button and find the MAME executable file. Browse to where you installed MAME and then find the mame.exe file. Depending on what version of MAME you’ve installed this might be mame64.exe or mame32.exe.
You then need to go to the Associated Platforms tab where you should find that LaunchBox has already attached MAME to the Arcade platform and set it as the default emulator.
Click on the OK button and you should find MAME in your list of emulators.
LaunchBox is now ready to import your game ROMs.
Before we start importing games just be aware that this can take a few hours to complete. One of the big advantages of using LaunchBox to play your games is that it automatically finds box art, game details and other images for each game so that it can create a really nice front-end for you to play all your favourite games. We’re going to be importing a few thousand games so getting hold of all this information from the Internet is going to take a long time. My advice is to start this in the evening, make sure you change your computers settings so that it doesn’t go to sleep (which will pause the whole process) and then leave it running overnight.
To start the arcade game import wizard go to the LaunchBox menu, Tools option, Import, MAME Arcade Full Set. This will start the import wizard which is going to ask is the number of questions about how and where we want import our ROM sets from. So from this first screen just click the Next button.
On the second screen we need to name this section that’s going to hold our arcade games. By default this is simply Arcade, but you can vehicle anything you want. Sometimes you might have multiple arcade emulators installed so this will help you identify each one. Once you’re happy with the name simply click the Next button.
We now need to tell LaunchBox where are ROMs are stored. Simply click the Browse button and find the folder where we extracted our MAME ROM files to. Again I’ve put mine in the ROMs folder inside my MAME folder which is inside the Emulators folder in LaunchBox.
Next we need to choose which emulator we want to run these ROMs with. If you’ve attached MAME to LaunchBox you should see that as an option in the drop-down list. If you have other versions of MAME installed you’ll see those listed as well.
One of the big advantages of using a front-end for your gaming is that we can get lots of information, images and even videos to help us find out more about the games and provide us with a colourful interface to our emulators rather than just a simple text list of game titles. To make sure you take the metadata checkbox to download this information.
LaunchBox will now ask you what support files you want to download. The easiest way is to check all the boxes so that we get as much information as possible.
If you have an account with EmuMovies you’ll be able to download short video clips of the games. This can take a lot of space on your hard drive so I tend to skip this.
We now get the most useful part of the import wizard. LaunchBox is going to import all of our arcade games. It understands how MAME ROM sets are organised with parent games and clone games and it also understands what genre each game belongs to.
The first set of radio buttons let you specify how clone games will be handled. These are basically other versions of the main parent games. The recommended option is to import them as additional versions of the main game. This means that in your game list you’ll only have one game listed, but that may have a number of different versions that you can also play.
For example the main version of Pac Man is actually a clone of the original Japanese version which was called Puck Man. Using this import method you’ll find Puck Man listed in your games but you’ll have to right click on it to get access to the US and UK versions.
The main reason importing clones as additional versions is recommended is that if you import them as separate games you’re going to end up with a truly massive list in LaunchBox which makes it harder to browse through games and find the ones you want.
As always this is a personal choice but I do always use the recommended option.
You can also specify which region version of each game you prefer to use. Quite often the text inside the game gets customised to the country is being shipped to. I generally stick to North America to hopefully get an English text version.
There are a vast range of different types of games in the MAME catalogue. Some of those aren’t worth having as part of your game collection. The Skip checkboxes tells LaunchBox not import certain types of games. Mostly you want to skip all of the ones listed but do have a look through to see if there’s any you’d rather keep.
The last three checkboxes gets LaunchBox to create a whole range of useful playlists. These are really useful feature as you can browse collections of games by manufacturer, genre and other factors. I’d advise leaving all three checkboxes ticked to give you the most playlists to browse through.
After you clicked the Next button LaunchBox will scan your ROM files and present you with a list of games it’s found. You can scroll down to have a look at this list and make sure that looks about right. Once you’re happy click the Finish button and the import will start.
The import takes place in a number of stages where LaunchBox updates the database, import the ROM files and then downloads all of the media files. The whole process is going to take a few hours to make sure your computer isn’t going to go to sleep and just leave it running.
Once the games have been imported and well the computer is still downloading the media files you can actually play the games or use a computer for other tasks.
Once the whole importing process is finished you should end up with an arcade section in your left hand menu. If you expand this you’ll see all the playlists that LaunchBox has automatically created for you. Simply browse through and double-click to play any game.
So whether you’ve set MAME as a stand-alone emulator or within your front-end you should have a few thousand classic arcade games to keep you occupied over the coming months. I’m planning a few gaming videos to show you some of my favourite games over the next few weeks so please look out for those. If you haven’t subscribed my channel already please do and make sure you click a notification bell so YouTube can let you know when everything is available.
So get your arcade joystick out, but up MAME and have some fun.