Last updated: 08JUL2021 (see Changelog for details)
The iPhone can do a lot of things seamlessly, and it’s a very powerful device. But something as simple as running an NES game can be quite challenging. So let’s set up your iPhone as a retro game emulation device — no jailbreaking required.
Like with my previous video about gaming on an iPhone (which covered standalone games, Apple Arcade, and streaming), the Backbone One is an essential component of gaming on iOS. There are other options available, like the Razer Kishi or GameSir X2 BT controller, but the Backbone One is miles better than these options thanks to its ease of use and helpful app integration.
One final note before we get started: emulation on iOS is a moving target. With each new iOS update, some things may get broken, or (very rarely) things might actually improve. My advice is to be patient with new iOS updates, and give the development teams to catch up. I’ll keep this guide updated with the latest developments going forward.
Set up AltStore
AltStore is a special app that allows you to sideload other apps, including emulators. To set it up, head over to the AltStore FAQ page and follow along to the steps for your respective computer operating system. In the video above I walk you through the Windows process, which is a bit trickier than the MacOS method. The links to the AltServer app itself are found on the AltStore front page.
Note that when first installing the AltStore app onto your device, you’re going to need to use your App Store login credentials.
Due to the limitations that Apple imposes on free developer accounts, you will be limited to running only three apps at one time on your phone (and one of those apps must be the AltStore app). So you’ll need to decide which two apps you want to have on your phone at any one given time. Luckily, the AltStore app has a nice feature where you can “deactivate” apps you currently aren’t using, and then re-activate them when you’re ready to run the app again. This is a relatively painless way to switch between multiple emulator apps. If you are up for it, you can pay $99/year to enroll in the Apple Developer Program, which will remove these limitations on your phone.
Additionally, the apps must be refreshed every seven days. To do so, open up the AltStore app, go to the “My Apps” tab, and tap the “Refresh All” link. Note that you will need to have AltServer running on your computer, and to be on the same WiFi network as your computer, in order to refresh your apps. Once you do this process a few times, the iPhone will start to attempt background refreshes, so as long as you have AltStore running on your computer you’ll start to refresh your apps automatically, which makes for a seamless experience.
The easiest emulator to recommend is the Delta emulator, which is made by the same developer as AltStore. To install it, simply go to the “Browse” tab on your AltStore app and install the emulator.
Delta can run Nintendo games up through the N64 flawlessly, and if you sign up as a Patreon you can have beta access to a Sega Genesis emulator, too. This is a great emulator if you just want to play games without having to fuss with settings — but on the flip side, there are no settings available to adjust things like aspect ratio, colorization, and so on. This is a very barebones but effective emulator for playing games.
To load games onto your device, you can either browse for them through your own cloud storage, or you can add them using iTunes’ file sharing function (demonstrated in the video above).
Another option for multi-system emulation is Provenance. This emulator can handle all Nintendo systems up to N64 (minus Nintendo DS), as well as a fair amount of other systems, like Sega Genesis and Sony PlayStation. This app is a little old and a somewhat buggy; for example, Atari Jaguar is broken, and the Sega Saturn emulator doesn’t register any Backbone One button presses. And like Delta, your customization options are severely limited — no graphics tinkering, etc.
To get started with Provenance, you will want to download the latest pre-built image (1.5b 2774) and sideload it onto your device using AltStore. To sideload, move the apk file onto a cloud storage solution like iCloud Drive, Google Drive, or Dropbox, and then access that file via the AltStore app. For more information on this process, check out the video above, where I demonstrate it a few times.
To set up the emulator and load games (and BIOS), I recommend checking out the super helpful Provenance wiki page, or consider joining their Discord server for tech troubleshooting and the latest news. Loading up games is a simple process, thanks to its handy web server function.
Of course, RetroArch will provide you the most wide variety of emulators to choose from, and the highest degree of customizability. Everything I’ve tested works wonderfully on this app, with the exception of Nintendo 64, which wouldn’t run in my testing using the latest nightly build of RetroArch. Some of my favorite RetroArch cores, such as Flycast (Dreamcast), Dolphin (Gamecube), and PPSSPP (PSP) aren’t available, but if they ever get added, this single app will be a one-stop-shop in retro game emulation.
To install RetroArch, head over to their download page and grab the latest iOS apk. Their site also has a limited installation guide, and I walk you through the installation process in the video above.
To add your games, you will want to manually add them using iTunes’ file sharing function (demonstrated in the video above). One thing to note is that loading the BIOS files is essential, which is done via file sharing as well. Once you’ve loaded all your BIOS files into a folder, be sure to set that as your BIOS directory in the settings.
If you need to add a single file to a folder you’ve already imported into iTunes, unfortunately it’s not a simple process — you have to delete the entire folder from iTunes, then move the new folder (with the added file) back onto iTunes. So it’s best to move over all of your BIOS files and games at once, so you don’t have to go back and forth all the time.
UPDATE: Thanks to community feedback, I’ve learned that you can load an older version of the app — RetroArch 1.9.0 — which contains a working N64 (Mupen64) core as well as the Flycast (Dreamcast) core. Both work well, but note that the Flycast core will initially play with slow graphics (but normal speed audio), and then when you enter and exit the RetroArch Quick Menu, it will cut off the audio and make the gameplay normal speed. So essentially, in order to play full-speed Dreamcast, you have to play without audio. This version of the app also has some cores not found on the latest version, allowing you to play systems like Daphne and a variety of ports.
There is a Gamecube emulator available for iOS, called DolphiniOS, but it is limited in which iPhones are supported (must have an A9 or higher chip), and will only work on iOS versions 12.0 through 14.4. Unfortunately my phone is running 14.6 so I was not able to test the performance, but I have tested it in years previous and it worked well. I would recommend using an iPhone 8 or above with this emulator.
The PSP emulator, PPSSPP, works wonderfully on the iPhone. You should be able to play games at 2x to 4x resolution, with only certain games requiring auto frameskip. To install, download the latest PPSSPP apk and sideload it onto your device. Add games via the iTunes file sharing option.
– added RetroArch 1.9.0 information
– published guide