#TVOS EMULATOR MAC TV#
The end result should be a Provenance tile on your Apple TV home screen.
#TVOS EMULATOR MAC CODE#
Click the Build button which looks like a Play button and click through any messages asking you to enable Developer Mode on your Mac, and then click through any messages about fixing code signing issues after Provenance is done compiling. Select your developer ID from the drop-down Team menu.
Downloading production and prerelease versions of iOS and submitting apps to the App Store still requires a paid account, but anyone with a Mac and Xcode 7 can do whatever they want with their own devices. With iOS 9, Apple has opened up a small loophole for sideloading apps that you can take advantage of with a little bit of work. Provenance is already heavily based on open source code from OpenEmu and other projects, so anyone with a little patience could port other emulators without much extra work.
That's basically it for now, but more consoles could show up in the future. Right now there are two notable emulation projects targeting tvOS. One of my projects was to experiment with classic console emulators on the new Apple TV. I also wanted to mention that I relied on a lot of good blogs/resources/repos to complete the project and reference them in the Swift package project.For those of us fortunate enough to have the privilege, late December and early January bring two things: new toys and a bit of vacation time. This allowed control pad support (PS4 controller etc) to be added.Ī lot of the stuff I've mentioned here isn't really much to do with emulator development (refactoring into a package, input mapping and control schemes etc), but the hurdle of "completing" (let's pretend I've found no bugs) the core emulator stuff was so satisfying that I got carried away and wanted to capitalise on it through re-use.Īnyways, I wanted to share this somewhere appropriate so here I am - hope it's of interest! Any feedback would be really appreciated, especially on the core emulator part. At this point I refactored the watchOS input control mapping to allow different platform inputs to be mapped to the curated ROMs/controls. Once that was done it was quite easy to get a tvOS version working which uses the same package. Once I had that working I pulled the core emulator stuff into a Swift package and refactored the macOS and watchOS versions to use this. This has the downside of meaning you cannot play any old ROM on it, but the upside that the curated ROMs have relatively nice watchOS controls.
#TVOS EMULATOR MAC HOW TO#
The interesting bit here for me was how to map Apple Watch controls to 16 keys and the answer to that was that I didn't! Instead I curated ROMs and their controls to find ones that could be controlled with 4 inputs (crown up, crown down, tap and long press). This was initially done by a copy and paste of the core emulator logic and wrapping watchOS specific stuff. I then thought it might be nice to see it running on an Apple Watch. I've attempted to unit test the op handling where possible.
It seems to run a lot of ROMs ok, but there are definitely some issues: I've been working on my first emulator project which started out as Chip-8 for macOS.