The Nostalgia Project – Part 2: Shopping List and Setup
It turns out you need a surprisingly small list of things to get a fully functional retro games emulator up and running. Here’s what I bought:
- Raspberry Pi 3 Official Desktop Starter Kit
- Two USB gamepads
- An HDMI cable (for the TV)
- An HDMI -> DVI cable (for my office monitor)
I also bought some extra parts for making my joysticks, but that’s for a separate post. I bought the gamepads because I wasn’t 100% confident in my joystick making abilities, so wanted to still be able to play stuff.
A Raspberry Pi is a very very tiny computer. The 3 is the latest and most powerful version, and has a 1.2GHz CPU and 1GB of RAM. That’s the same clock speed as the MacBook I’m typing this post on, yet the Pi is approximately 40 times cheaper. The bare-bones Pi is literally just a circuit board:
On the right of the picture there are four USB ports and an Ethernet port. You don’t need to worry about the Ethernet port, because it also has Wi-Fi. It also has Bluetooth 4.0 and will probably work with any existing Bluetooth controllers you may have around.
On the front is a headphone socket (displaying a certain lack of #courage, but it also does video out, I think), HDMI port and a micro USB port. Underneath on the left hand side, which took me a while to find, is a Micro SD port which acts as the storage for the computer. Those pins on the top can be connected to stuff if you’re buying this thing for serious useful purposes as opposed to games.
The “starter kit” I bought contains, in addition to the Pi itself:
- A USB power supply, though I’ve successfully used both a powered USB hub and a USB charger, you just need to be able to deliver 5V / 2.5A consistently.
- A case – pretty important if you’re using this as a console, less so if you’re building it into a cabinet.
- An SD card adapter, so you can put the micro SD card into your computer (maybe) and put stuff on there.
If you don’t have a USB keyboard, you might need to pick one up as well. I don’t have a bluetooth keyboard so I don’t know how they work out of the box, but if you want to enter Wi-Fi passwords and set up certain configuration things, you need to enter text.
Naturally, my stuff arrived in the most frustrating possible order – first the parts for the joystick, then the box itself, then the cables, then finally the gamepads. I did a lot of setup using the keyboard, so my memory of how much of it could be done with the gamepad is hazy.
The micro SD card comes with an OS already installed, but I never used it. Instead, I got the image from RetroPie and followed the excellent instructions on the site, using Apple Pi Baker to format the card with the new image.
RetroPie and the associated instructions are great – they have made this entire project a lot easier than I expected it to be. If you use the software, you can support its development by making a donation – I did.
Up to this point I haven’t even touched the Pi. I put the board into the case, pop in the Micro SD card, plug in the keyboard, HDMI cable and power and we’re up and running.
RetroPie is designed to be operated just by game controllers, but there are a few things you need to do first. It boots into a sliding menu view, which allows you to choose the game system you want to play – however, these are smart enough to only show systems with games installed, so when you first boot up you just see an option for the RetroPie settings. Here you can connect to your Wi-Fi network (where you’ll want the keyboard to enter your password).
Once that’s done, you can connect via SSH from a separate machine, which can be handy for editing configuration files and the like. You can display the IP address of the Pi from the RetroPie configuration menu, then connect from the terminal using
ssh pi@XXX.XXX.XXX.XXX (replacing the IP address you see). The default password is
You can use the same credentials to connect an FTP client like Transmit or Cyberduck. I’d recommend doing this as it’s the simplest way to transfer your ROMs onto the machine. If you want to do it all directly on the box, you can install a desktop environment as described here and use the browser on the desktop to grab and save your ROMs. If you install the desktop it’s worth taking a moment to realise that you have actually bought a fully functioning computer for less than the price of a single PS4 game.
How does this all work, then?
RetroPie comes with a number of emulators already installed.
An emulator is a program that lets your Pi pretend to be a different machine, like a ZX Spectrum or a SNES and so forth. Most of the common ones are included in the standard build, and there are some experimental ones you can add from within the setup menus, and further ones you can get from the internet. Remember my list of nostalgia systems? Here’s how they feature in the default RetroPie installation:
- BBC Micro – not included
- ZX Spectrum – included
- NES – included
- SNES – included
- Sega Megadrive (Genesis) – included
- Amiga – not included
- PlayStation – included
I was disappointed to find the BBC Micro and Amiga not included by default, as these are the systems I have the strongest memories about, but I’ll cover the installation of these in later posts.
Each emulator has a folder on the Pi where you put the files that represent each game. There are different file types for each game, but which file type each emulator accepts, and where it should go, is described in great detail on the RetroPie wiki – each emulator has its own section, linked on the right of the page. The files are generally known as ROMs, even though they don’t all technically represent ROMs (read-only-memory).
Once you have got hold of the ROMs and put them in the correct folder using your FTP client, then that emulator will show up when you start the system. Selecting the emulator will show you the games you have, and then you’re good to go!
In the next few posts I’ll talk about my memories of each system, and how I got on with emulating and playing the games.