This Open Source Emulator Can Turn Your Apple Watch Into a Game Boy

Despite the many styles and purposes Apple watches were advertised to do, some people who have acquired one of these hi-tech accessories were left unsatisfied so an emulator was created to make the most of it.

[Image source: Wikimedia Commons]

Never mind those important meeting schedules or counting the number of steps you took in a day or checking the weather condition. How about playing Game Boy games in your watchOS? For a Toronto-based iOS developer, Gabriel O’Flaherty-Chan, this was an idea that became reality in his Series 2 Apple watch. He named the game emulator Giovanni which takes after the Pokemon Yellow villain.

[Image source: Gabriel O’Flaherty-Chan]

What is an emulator?

For those who are not acquainted with the gaming world and who does not have a strong coding background like me, it may be confusing at first to understand what an emulator is. It’s basically a hardware or software that allows a computer device to host another computer environment and function in a way it is programmed to. O’Flaherty-Chan has a rooted experience in this coding realm which enabled him to create Giovanni and overhaul a Series 2 Apple watch to a crude Game Boy. From my novice understanding of codes and programming, this is essentially a hack!

How Giovanni was created

O’Flaherty-Chan has taken the existing emulator Gambatte after realizing that his initial choice of iOS emulator, Provenance, was more elegantly programmed than needed. The repository code in Gambatte was replicated for Giovanni and other example codes were examined when O’Flaherty-Chan discovered that Gambatte already provides support for loading ROMs, loading/saving and even processing cheat codes such as GameShark.

Because the watchOS is limited in screen space, it is illogical to create buttons for every single control command. O’Flaherty-Chan then devised his emulator a bespoke controls panel using the touch screen to function as a directional pad and a button. Other essential controls such as select, start and B were allocated virtual buttons to match the same controls as in a real Game Boy console. Furthermore, the digital crown also made a convenient contribution by functioning as a scroll to go through a list of options.

[Image source: Gabriel O’Flaherty-Chan]

Challenges in creating an emulator

One of the biggest hurdles encountered in this ingenious attempt to convert a watchOS to a Game Boy is the graphic output. Apple watches does not support the usual OpenGL and Metal graphics, instead, he created a Swift Playground which enabled him to produce the correct images by tweaking the byte order and composition options.

[Image source: Gabriel O’Flaherty-Chan]

The interface speed or framerate of the watchOS 2 is considerably low which posed many undesirable gaming problems such as slow screen response and slacked movements. Nonetheless, Giovanni has proven that emulating a watchOS is possible!

Being able to create an emulator that can run on a watchOS is a milestone for Gabriel O’Flaherty-Chan. Although Apple may not have this idea in mind when designing the watchOS, it will be interesting to see how much sales they would make, both in watch and app, if they ever decide to allow emulators, such as Giovanni, in their app store.

SEE ALSO: Programmer Installed Windows 95 on an Apple Watch

Newsletter

Stay on top of the latest engineering news

We'll keep you posted!

Comments