Installing OS, Emulators and Games on the Pi

Still a confused chicken!
So, if you've been with me so far, you know that my Linux knowledge is next-to-none.  But as I looked into various options for the Pi and retro gaming, almost all options are various flavors of Linux.  Plus it was an opportunity to learn something new at a pretty low risk.  Again, for those of you really new to this (as I was), here are some basic definitions.




Operating System:  Most everyone knows the common operating systems out there: Windows, Linux, Mac OS, etc.  But unlike Windows and Mac OS, Linux is open source and has more flavors, branches and forks than Baskin-Robbins!  How to pick?  More on that in a minute.

Emulators:  An emulator is the software or application that "emulates" the hardware and OS of the original arcade or console where games are run.  For arcade games, the granddaddy is MAME (Multiple Arcade Machine Emulator).  The initial version of this was, believe it or not, released over 20 years ago in 1997.  Like Linux, it is open source and there are multiple versions and forks.  Versioning will become an important issue when using the Pi and depending on the games you desire.  Official MAME site can be found at: http://mamedev.org/

ROMS:  ROMS are programming code (files) that contain the games themselves.  The emulator executes these ROM files.  In some cases, the ROM files are the original games code migrated to run under the emulator.  In other cases, they are clones that operate identically, or nearly identically, to the original.  But just like Linux and the MAME, they can come in multiple versions and flavors.

So... how to decide?

RetroPie to the Rescue





There are lots of options out there, but after substantial research, I opted to go with RetroPie.  For me, it offered the following advantages:

The RetroPie image includes not only the emulators, but the underlying operating system is built on the Raspian Jessie vesion of Linux.  It is optimized for running on the Raspberry Pi.  So, in one fell swoop, I could install the operating system and multiple emulators without the need to figure out how to initially install emulators within a Linux environment.  Remember, at this point, my Linux knowledge was limited to changing directories and listing files!  But with the help of a very good web site and lots of other help on the web, that's all I really needed at first.  Not only did RetroPie have built-in emulators for various versions of MAME, but a number of console emulators such as Nintendo, Sega, and Atari (yeah, Atari 2600 and others).  Many others would be a simple add-on through a few menu choices.

Before plunging forward (and before comments light me up), as I mentioned there are a lot of other options out there for running retro arcade games, even on the Pi.  Another pretty common option is RecallBox.  It works similarly to RetroPie in terms of emulation, installation, etc.  I have no basis for comparison, but many sites say that RecallBox is easier to setup and use, but RetroPie offers more configuration and tweaking options.  The comparison I read is that RecallBox is the iPhone and RetroPie is Android.  I wanted the flexibility (and learning experience, as painful as it would become) of RetroPie.  But there are, as with most things on the web, fervent believers in both camps.  Do your own research and pick accordingly.  Both systems are free to download and install.

But one last thing I'll say about picking a system on the Pi before moving on.  It's not permanent!  One thing I learned early on is that it is extremely easy to simply wipe and install a new system on the Pi SD memory card.  In fact, you could put RetroPie on one SD card and RecallBox on another and simply swap out the cards (power down first!) to compare and contrast the systems.  But I'd recommend you do settle on a system prior to investing time in custom built controllers or building your own custom arcade.

Installing RetroPie

I'm not going to go into details about installing RetroPie.  The official RetroPie web site contains all the details you need (https://retropie.org.uk/).  There you can find the latest download and plenty of instructions.  However, I will share some particular things I learned in the process:

Note from the RetroPie link above, it was developed and is hosted in the U.K.  For the most part this is not an issue for U.S. or other users.  Occasionally things pop up here and there, like default time zones or various spellings of things in config files (like colour instead of color), but nothing that is show-stopping or will likely cause any real issues.

You are going to want a USB keyboard at least to start.  Eventually, you can replace this with a Bluetooth option or a game controller (like XBox or PS4), but from the get-go you are going to need a way to navigate within the RetroPie menus and perform some basic setup.

You will also need a device to read and write from your computer to the microSD card.  The CanaKit include a USB thumb drive where you can insert the microSD card and then plug into the computer as a normal USB device.  Take care to insure you are inserting the microSD card into the USB drive with the right orientation!  It should only fit one way.  But take it from experience... I inserted mine upside down (well, at least partially until I realized my bone head mistake) where it became jammed.  It took a pair of needle nose pliers and some force to remove it.  I thought I trashed the whole works before I ever started.  But thankfully I did not damage the SD card in the process.

I'd also recommend an Ethernet cable if possible to start.  Eventually, you'll get connected to your WiFi, but since so much of the simplicity of installing things on the Pi requires an Internet connection, starting with a hard-wired connection will make your life easier (trust me on this one!).

There are a few other utilities you are going to need or want pretty quickly:

Imaging Application: An application to transfer the RetroPie image file (or other image files) to the SD card.  WinDiskImager32 is a common one that is free to use.  You can also use this to make backup images of your SD card, so if you do something stupid that bricks your device, a restore is a simple re-image away!

Remote Access: Evenually, you'll probably want a way to SSH or remote into the Pi.  Especially if you eventually build a cabinet or enclosure for your Pi, it can be handy to remote in to make some tweaks, changes or reboot/shutdown the system. PuTTY is a very common one, is free, and come in versions for Windows and Linux.

File transfer utility: Yes, yes, I know.  Before you power Linux users out there start schooling me on command line FTP, remember that I'm a Windows guy by upbringing.  A utility like FileZilla or WinSCP can make it easily to copy, delete or move files without needing to know FTP or any Linux commands.  Again, both of these options are free.

Note on using NOOBS
If you purchased a CanaKit, the included SD card will already contain NOOBS (New Out Of the Box Software) that is an operating system installer.  Theoretically, you can take the Raspberry Pi out of the box, insert the SD card and plug it in.  From there, you can select an operating system to install (once you connect to the Internet).  But you'll still need to download and install RetroPie.  I wanted a good, clean RetroPie install and didn't want to take an immediate crash course in Linux right away, so for me, downloading and installing the full RetroPie image was a better way to go.  But you power Linux users can go for it if you want!

With all this in hand and installed and using the instructions from the RetroPie website, you can have RetroPie up and running on a TV or HDMI monitor in about an hour.

Next: RetroPie is Alive! Now what? >>

1 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...