Chip-8 emulator for watchOS, macOS and tvOS

This page summarizes the projects mentioned and recommended in the original post on /r/EmuDev

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • chip-8-macos

    A Chip-8 emulator for macOS written in Swift.

    I've been working on my first emulator project which started out as Chip-8 for macOS. It seems to run a lot of ROMs ok, but there are definitely some issues:

  • chip-8-watchOS

    A Chip-8 emulator for watchOS written in Swift.

    I then thought it might be nice to see it running on an Apple Watch. This was initially done by a copy and paste of the core emulator logic and wrapping watchOS specific stuff. 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 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Chip8EmulatorPackage

    A Chip-8 emulator Swift package. For use in macOS, iOS, watchOS and tvOS projects.

    Anyways, 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. 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.

  • chip-8-tvOS

    A Chip-8 emulator for tvOS written in Swift.

    Once that was done it was quite easy to get a tvOS version working which uses the same package. At this point I refactored the watchOS input control mapping to allow different platform inputs to be mapped to the curated ROMs/controls. This allowed control pad support (PS4 controller etc) to be added.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts