
For the past two weeks, I’ve been playing retro games on my Apple TV — Super Mario World, Pokémon Red, and Rocket Knight Adventures, to name a few. This is made possible by an application called Provenance — an emulator developed by James Addyman that’s based on OpenEmu. Provenance currently supports Sega Genesis, NES, Super Nintendo, Game Boy Advance, and a handful of other systems.
Unfortunately, this isn’t an app that you can just download from the App Store. Apple doesn’t allow emulators to be sold on their platforms for legal reasons. The good news is, Provenance can still be installed by sideloading the application with Xcode. There’s no need to jailbreak and you can have the app up and running with just a little bit of time, your Mac, and a USB-C cable.
What You’ll Need
- A Mac running the latest version of macOS.
- A fourth-generation Apple TV.
- A USB-A to USB-C cable — this is what I used — or a USB-C to USB-C cable if you own a new MacBook or MacBook Pro.
- An Apple developer account — a free account will work, but you’ll only be able to sign Provenance for one week, which means you’ll have to reinstall more frequently than if you had a paid account.
- A MFi game controller isn’t required, but I highly suggest using one. I’ve been playing with the SteelSeries Nimbus and it’s a great controller. It is possible to play these games with the Siri Remote, but the experience is less than stellar.
Install Process
If everything goes well, you’ll have Provenance installed on your Apple TV. But you’ll still need to import some ROMs from your computer or iOS device in order to play. This is where we start treading in waters of questionable legality, but it’s pretty easy to find a source for downloading ROMs with a simple web search.

Importing ROMs
I’ll be importing ROMs from iOS because that’s the platform I typically use, but this process could easily be performed from a Mac or PC as well.
- Launch Provenance on Apple TV and enter the app’s settings pane.
- Scroll down and select “Import ROMs”.
- Provenance will start a web server on your Apple TV and display an IP address for you to visit in your web browser.
- Scroll to the bottom of the webpage and tap on the folder icon next to “roms”.
- Tap on the “Upload Files” button and choose the ROM you’d like to upload from the document picker — I usually save mine in Transmit, but iCloud Drive will work too.
- The upload process should be nearly instantaneous and you can repeat this process for all of the ROMs you’d like to play.
- Once finished, choose “Stop” on your Apple TV and navigate back to your library — Provenance will have unzipped the file, fetched game artwork, and gave the ROMs proper titles.
Updating Provenance
If you’d like to update to the latest version of Provenance or continue using the app beyond the one week signing limitation, you’ll have to regularly reinstall with Xcode. The good news is that the process for updating is the same as the initial install. Just drop the Provenance folder in the trash, run the “git” terminal command from above and follow the subsequent steps.
You won’t have to input your developer account credentials again — because you’ve already setup Xcode with them — but make sure you use the exact same bundle ID as you did when you first installed Provenance — this will tell Xcode to install the new build of Provenance on top of the existing one, retaining all of your ROMs and game saves.