Although building a dedicated game emulation device is a simple project, it’s still a satisfying one to complete. The Raspberry Pi makes this project even more simple and affordable. Here’s a look at my build process. This post is to serve as a general look into the build, it’s not a tutorial.
Raspberry Pi 2 Model B: Quad Core Broadcom BCM2836 900MHz CPU (overclockable to 1GHz), 1GB RAM, Micro SD slot, 4 USB ports, HDMI port, 4 pole Stereo output/composite video port, CSI camera port, DSI display port, micro USB power for power supply, and a 40pin expanded GPIO:
The Raspberry Pi is a micro computer developed by The Raspberry Pi foundation with the intent of creating an affordable computer science education solution to schools around the world.
PS2 Controller: I already had a couple of these, but you can probably find plenty on ebay. Genuine controllers don’t seem to exist on Amazon though.
Retropie 3.0 with Emulation Station: This is the operating system to be installed. It’s a customer OS built on the Raspbian OS that has built in emulators, easy controller mapping, and a nice looking GUI specifically made for retro emulation.
Various game roms/images: You’ll have to find these on your own.
FileZilla: I used this to access root folders via network after the OS was installed.
puTTY: Free client for SSH, Telnet and Rlogin network protocols, used it to access Retropie command line from my computer so that I didn’t have to read tiny text on my huge TV
Win32DiskImager: Is used to create a bootable micro SD card with Retropie 3.0
Alright, the next thing I did was assemble the case. The instructions were actually pretty clear, so it was really simple. I chose this case because it looked nice and it’s possible to modify it for installing custom hardware in the future.
My only complaint about the case is that every piece had a protective paper cover stuck to it and they were kind of a pain in the ass to remove. I used scissors, but I had to be very careful not to scratch up the case.
Each piece of the case stacked on top of each other. The Raspberry Pi sat on top on the bottom case assembly with the rest of the pieces stacking on top of it. It was a pretty painless process.
Assembly complete! Here’s how the top of the case looks:
For some people, this step can be pretty easy. It depends on what build of Retropie you are using, what consoles you plan on emulating, if you want to be able to see detailed information about each game (including box art), and what controller you are using.
For me...it was a huge pain in the ass. The version of Retropie that I used was still in beta, but I chose to use it because it had built in controller config support and I knew that would save me some time.
First, I created the bootable micro SD card with Retropie on it:
I put the micro SD card into the Raspberry PI and plugged in the ethernet cable and power source. If there was nothing wrong with the image I used, then it should automatically boot to Retropie and Emulation Station. At this point, I still have not watched the boot process. If I can access the Retropie command line via puTTY, then I’ll know it’s a successful install.
Next, I used FileZilla to keep unwanted emulators from popping up in the main menu. There are some games pre-installed for emulators I am never going to use. So I needed to move the folders for these emulators into a folder within the ROMs folder of the Retropie home folder:
Since I planned on playing PS1 games (and N64 games in the future), now I need to overclock the processor from 900MHz to 1GHz and change the amount of memory available for graphics processing in the memory split setting. If I didn’t do this, there would be stuttering when playing PS1 games. The easiest way for me to do this was to access the command line via puTTY:
After entering my Raspberry Pi’s IP address, I was prompted to login, then I was presented with command line:
I had a rough start navigating the file system manually because this version of Retropie was taking the lower case letters of certain folder names and turning them into upper case letters seemingly at random (I never figured out why).
Right before configuring memory split settings, I decided to preemptively take care of the PS1 BIOS problem. If I don’t have the scph1001 BIOS file in the Retropie BIOS folder, then very few PS1 games will actually run (I copied this file to the PS1 folder in ROMS ahead of time). Why didn’t I just put the file directly into the Retropie BIOS folder? The read and write permissions are pretty strict and you can only put the file in the ROMS folder. Then you have to use the command line to manually move it to the correct folder.
Great, now that I figured out the correct commands, I accessed the advanced config menu to make the necessary processor/memory changes:
Now, I need to copy over my ROM files. I created a folder on a flash drive called “retropie”. I plugged the flash drive into the Raspberry Pi and it automatically create a directories for ROMs within the retropie folder:
I copied the ROMs into the flash drive, then plugged it back into the Raspberry Pi. Retropie can detect ROMs and automatically copy them to their respective folders on the micro sd card. All I need to do is wait for the light to stop blinking on the flash drive.
It’s time to power cycle and watch it boot up!
Yes, it works. Finally. Now I need to gather info for each game so that I can see the detailed view for each emulator. To do this, I used the built it Scraper. Scraper is a tool that gathers metadeta for each game from your preferred source (it had some good ones built it, i’ll just use those).
After using the Scraper, it looks like this:
I think it uses original promo information for the descriptions of each game. “24 MEGS OF ACTION...”
Time to test a PS1 game to make sure I copied the BIOS file correctly:
And build complete!
I’m not an expert, but if you are interested in doing your own Retropie project and need help, let me know!