The RetroPie Project

Welcome to the RetroPie Project. This page provides information about all the pieces of the projects, the goals and should give you an understanding of what the RetroPie Project is.

The RetroPie Project started with the idea of turning the Raspberry Pi into a retro-gaming console and evolved ever since. Besides emulators and front-ends, a full retro-gaming experience also involves game pads or joysticks. The project offers approaches for software as well as hardware questions. In the following, you can find more detailed descriptions about the individual components of the project. The rest of this article is structured according to the following questions:

Let us start with the question:

What is the RetroPie Project?

The RetroPie Project is a collection of works that all have the overall goal to turn the Raspberry Pi into a dedicated retro-gaming console. The project uses Raspbian as OS at the bottom and integrates a large set of emulators for a wide variety of computer systems from the past decades. Besides the emulators, also a graphical front end and a lot of other software features are part of the project to let your nostalgic memories revive. The RetroPie Setup Script is a central piece of software for the installation and configuration of these components. There exists an SD-card image with a complete installation by the RetroPie Setup Script that comes with all supported emulators and functions. Besides the software aspects the RetroPie Project also consists of a solution for connecting certain original game pads directly to the Raspberry Pi. The RetroPie GPIO Adapter is a small piece of hardware that supports the connection of the game pads while also adding a push button and circuitry protection.

What is the RetroPie Setup Script?

retropiesetup2The RetroPie Setup Script lets you install and configure all the emulators, front-ends, drivers, and other components for your retro-gaming console. Technically, it is a bash script that consists of a few thousand lines of code and is run from the command line. The complete sources are hosted at Github to support collaboration, feedback, bug reporting, and pull requests.

And what is the RetroPie GPIO Adapter?

wpid-Photo-19.10.2012-1955.jpgThe RetroPie GPIO Adapter is a dedicated GPIO adapter for the Raspberry Pi that allows an easy and safe connection to, for example, two NES or SNES controllers. It provides circuitry protection against transients and over currents as well as a momentary switch button for arbitrary use. A step-by-step guide for getting started with the RetroPie GPIO Adapter can be found here.

The adapter is designed such that it fits perfectly in the laser-cut acrylic case "PetrockBlock PIE". While the case has openings for power supply, HDMI, Ethernet, RCA and audio, it also has cut-outs for a GPIO ribbon cable and, furthermore, for two SNES connectors.

wpid-Photo-06.08.2012-2104.jpg

SNESDev is a user-space device driver especially written for the RetroPie GPIO Adapter. It implements two (S)NES game controllers and a virtual keyboard for up to two (S)NES controllers and a button that are connected to the GPIO pins of the Raspberry Pivia the RetroPie GPIO Adapter. The sources of SNESDev are hosted at Github and everyone is invited to contribute!

What is the RetroPie SD-card image and it's features?

The RetroPie SD-card image is a ready-to-use image that provides a full installation of all systems and functions that are supported by the RetroPie Setup Script. Here is a short description about the features of the image:

Features

  • Complete installation of all available emulators that are supported by the RetroPie Setup Script (see section "supported systems/emulators for details")
  • Automatic start of Emulation Station, the front-end for browsing and running the ROMs. Emulation Station is maintained by Aloshi, who is also hosting the sources of Emulation Station at Github.
  • Pre-configured splash screen that can be customized with the RetroPie-Setup Script
  • SAMBA shares for each system for copying ROMs on the RPi via network
  • USB daemon for copying ROMs on the RPi via USB stick

Supported systems/emulators

Version 1.9 of the RetroPie SD-card includes emulators for the following systems:

  • Amiga (UAE4All)
  • Apple II (LinApple)
  • Apple Macintosh (Basilisk II)
  • Armstrad CPC (CPC4RPi)
  • Arcade (PiFBA, Mame4All-RPi)
  • Atari 800
  • Atari 2600 (RetroArch)
  • Atari ST/STE/TT/Falcon
  • C64 (VICE)
  • CaveStory (NXEngine)
  • Doom (RetroArch)
  • Duke Nukem 3D
  • Final Burn Alpha (RetroArch)
  • Game Boy Advance (gpSP)
  • Game Boy Color (RetroArch)
  • Game Gear (Osmose)
  • Intellivision (RetroArch)
  • MAME (RetroArch)
  • MAME (AdvMAME)
  • NeoGeo (GnGeo)
  • NeoGeo (Genesis-GX, RetroArch)
  • Sega Master System (Osmose)
  • Sega Megadrive/Genesis (DGEN, Picodrive)
  • Sega Mega-CD (Picodrive)
  • Sega 32X (Picodrive)
  • Nintendo Entertainment System (RetroArch)
  • N64 (Mupen64Plus-RPi)
  • PC Engine / Turbo Grafx 16 (RetroArch)
  • Playstation 1 (RetroArch)
  • ScummVM
  • Super Nintendo Entertainment System (RetroArch, PiSNES, SNES-Rpi)
  • Sinclair ZX Spectrum (Fuse)
  • PC / x86 (rpix86)
  • Z Machine emulator (Frotz)

If you would like to have another emulator supported by RetroPie, feel free to post it!

I would like to contribute! How could I do that?

The RetroPie Project would not exist, if there were not all the other great open-source projects that are combined and remixed here. All these projects evolve by the support of many people. The RetroPie Project evolves in the same way and there are many possibilities for every single one who likes to contribute in one or another way:

  • Take part in the discussions in the comments sections of the blog
  • Join the forum to post questions and support others
  • Propose enhancements or report bugs at the repositories of the individual projects
  • Inspire others by writing about your project in the forum
  • Get gadgets from the store or donate a coffee or two

Tell me about the related blog posts!

Here, you find a summary of all essential posts that are related to the RetroPie project, which started with the post about SNESDev.

  • The idea about the Raspberry Pi as a universal console and the description of a hardware interface for NES/SNES controllers. The beginning of the RetroPie project.
  • An assembly guide for connecting the controllers to the Raspberry Pi.
  • The RetroPie Setup script: An auto-installer and maintaining script that should make the whole software part easy.
  • PetRockBlock PIE, the case for the Raspberry Pi with pre-cut slots for two SNES connectors.
  • A wiki for the RetroPie script and all components that can be installed with it.
  • A GPIO driver for connecting (S)NES Controllers via the GPIO pins of the RPi.
  • The RetroPie GPIO adapter board: a dedicated GPIO adapter for the Raspberry Pi that allows an easy and safe connection of up to two NES or SNES controllers.
  • RetroPie Project SD-card image for download.
  • Recipe for creating the RetroPie image download.
  • A step-by-step guide for getting started with the RetroPie GPIO Adapter
%d bloggers like this: