Emulators and Game (ROM) Files

OK.  If you're still with me, you should have RetroPie installed and running.  You should have completed basic configuration, such as WiFi, Bluetooth if desired, setup an initial controller or two, changed the default password (you did change the default password, right?) and created a backup image of where you are so far.

Now, time to get on to some gaming!










First off, Retropie comes with a number of pre-installed emulators and an even larger number of additional emulators that can easily be added.  RetroPie is constantly evolving and updates will often add support for even more emulators (or various versions of existing emulators, like MAME).  I can't even remember what emulators I had "out-of-the-box", but I do recall the following:
  • Arcade (MAME - Multiple Arcade Machine Emulator)
  • Nintendo NES
  • Nintendo SNES
  • Atari 2600
  • Sega Master System
  • Sega Genesis
There are likely more, but note that an emulator likely will not show up in the EmulationStation menu system until at least one game of that type is installed.  Even if your desired emulator is not installed, it is very likely supported and can be installed through a simple menu selection.  While each emulator operates in a similar manner from EmulationStation and recognizes some common items like hotkeys, each also often has the ability for its own custom configuration, including controllers.  But since the focus of this blog is classic arcade (coin-op) games, that's what I'm going to primarily discuss from this point forward.  I'll get into some various differences and configurations of emulators in a later post.

Another thing you will notice pretty quickly after getting RetroPie up and running is that there are no games!  Well, there may be a couple of demo or sample games, but probably not the things you are looking for.  So what about that?

Game (ROM) Files

Right out of the gate here, I want to say I'm not a lawyer (nor do I play one on TV).  However, ownership and transfer of ROM files can be a grey area at best.  There are plenty of game ROMs out there that are in the public domain, have been released from copyright by the prior developers/owners or have been developed in open-source models.  However, many games are still under copyright and obtaining these illegally is much the same as illegally downloading music, movies or other copyrighted material on the web.  It is up to you to locate and determine the legality (or lack thereof) of a ROM file.  In most cases (and again, I'm not a copyright lawyer, so don't take my word as gospel just because it's on the web), if you own the original source, you can make a copy for your personal use.  So, if you have a copy of a certain game on a given console, you may be able to legally use it on your arcade machine.  But again, don't hold me to what is my own interpretation.  All this is to say, don't ask me where to obtain ROMS for a given emulator or for a particular game.  Such requests will simply be deleted or ignored.

Similarly, it is generally considered extremely poor form to post a request regarding the location of ROMs on any reputable forum or message board.  Doing so will likely result in either derision, banning or you will simply be ignored.  Do your own research and make your own determination regarding the legality of any ROMs and the risks you are willing to take downloading files from sketchy sites.  This may be one of your biggest challenges in building your own arcade system.

So, I want to bring up another point before we get to installing actual ROMs within RetroPie.  Since the primary focus here is on arcade (or MAME) emulation, you need to be aware that for most versions of the MAME emulator, there are certain versions of ROMs that work with that version.  Remember from a previous post that MAME was originally released in 1997 and has gone through many revisions, forks and branches.  Often, these revisions also require revisions of the compatible ROMs. One of the more stable (but not the only) versions of MAME for the Raspberry Pi/RetroPie is MAME2003.  For this particular version, ROMs need to be version 0.78.  ROMs of other versions may not work or work incorrectly under this version of MAME.  Note that it is possible to use a different emulator for each game if needed.  Sometimes if a game won't run properly under one release version, you can try another.  All this is to say to need to be aware of the version of MAME and the version of ROM you are using to avoid a lot of crashes and disappointment!  Been there... done that!

Transferring ROMs to RetroPie
There are a couple of methods to get your game files properly installed on the RetroPie and available via EmulationStation.  For newbies or the Linux/SSH averse, I'd recommend the USB method.

USB Copy
A big thumbs up to the RetroPie developers for making it very, very easy to move games to the RetroPie with little to no knowledge of any particular operating system.  You just need to know how to move/copy files on your operating system of choice to a USB thumb drive and RetroPie will handle the rest!

Simply take a blank USB thumb drive (formatted for FAT32... but most are) and create an empty folder named retropie.  Then with the Pi powered up and booted into RetroPie, insert the thumb drive into one of the open Pi's USB ports.  You'll notice the green activity light on the Pi begins flashing.  Just sit by until the light stops flashing (maybe 30 seconds or so.... maybe give it a bit after that).  Once the activity light stops flashing, remove the thumb drive from the Pi.  Now take that same drive and plug into the computer where you have your ROMs stored.  If you browse the contents of the thumb drive, you'll see that RetroPie has created a nifty little directory structure for you.  Open the \retropie folder and you'll see a \roms folder (and a couple of others, but you can ignore them for now).  Open the \roms folder and you'll see a long list of various emulators.  Find the right emulator and simply transfer the ROMs from the local machine to the appropriate emulator folder.  In my case, this means copying my Arcade ROMS from my local machine to \retropie\roms\arcade folder on the thumb drive.  That's it.

Oh... a couple of notes regarding Arcade/MAME ROMs.  These generally are .zip files.  Do not unzip these files.  Simply copy the .zip file.  The emulator expects to see these files in .zip format and will extract/access files within the archive as needed.  Also, you will see other ROM folders on the thumb drive related to MAME (like Advmame).  The default emulator for Arcade is MAME2003, but this can be changed on a game-by-game basis if necessary.  As a general rule, you can copy your MAME games to the Arcade folder and RetroPie will handle the rest.

Now that you have your ROMs copied to the proper folder on the thumb drive, simply take that thumb drive and, again with RetroPie booted up, insert the thumb drive back into a USB port on the RetroPie.  Note that the green activity light on the Pi board starts flashing again.  Depending on the number of ROMs to be transferred, this make take a few minutes.  Wait until the light has stopped flashing for about 30 seconds and remove the thumb drive.  

FTP Copy
At some point, once you have a lot of games and have become comfortable using remote access to connect to your Pi, it can be quicker and faster to transfer your ROMs using an FTP application like WinSCP or FileZilla... yes, you hardcore Linux folks can use FTP from the command line.  But from the remote machine where your ROMs are located or accessible, connect remotely to the Pi.  Just copy the ROMs to the ~/RetroPie/roms/%systemname% where %systemname% is the name of the appropriate emulator (e.g. arcade, nes, atari).

Use the EmulationStation menu (press button for Player 1 start) and restart EmulationStation.  If all has gone as planned, when EmulationStation restarts you'll see new menu options for any emulators where games are now present.  Select the emulator, and wha-la, you'll see your games listed.  Start playing!

Oh, at this point you may wish to configure and use a gamepad of some sort.  While you can still use the keyboard, most of these games will work better (not perfect, but better) with a game controller from Xbox, Playstation, etc.  You'll have to map the buttons, but you'll enjoy it more than a keyboard.  These gamepads can also normally be connected by Bluetooth if they have that capability to eliminate any tethers to the Pi.

That's it!  Other than locating ROMs, you can have an arcade or console emulator that holds potentially thousands of games, plugs into any modern TV and uses existing controllers you already have.  It fits in the palm of your hand and can be had for less than $100 all-in!

You may also want to consider a case for the Pi.  One comes in the Canakit, but many versions can be found online.  It protects the Pi, but be careful to maintain some airflow.  The Pi can get hot, and potentially overheat if enclosed without airflow.  Some cases even include a fan powered by the Pi itself.

That's it for the initial introduction and start up.  You can stop here and enjoy all the old games from your childhood and do nothing else.  There are many, many other things you can do with both the Pi and RetroPie (such as media player), but I'll leave you to your own research for those.

Next: When a keyboard or gamepad just won't do. Building a custom control panel >>

No comments:

Post a Comment

RGBCommander Update (and possible fix)

If you have recently been working on your own arcade and ran across posts referencing a utility for RetroPie called RGBCommander that can co...