The emulator, known as Giovanni (named after the infamous Team Rocket villain from the Pokémon game), is built out of an existing iOS emulator called Gambatte. But O’Flaherty-Chan has managed to use that as a starting point and build out the watchOS version from there, although he notes that the Apple Watch lacks support for OpenGL or Metal, which made it a little difficult to write the pixels to the screen.
O’Flaherty-Chan has also managed to cleverly work his way around replicating the Game Boy’s controls using the Apple Watch’s limited button set. The D-pad is replaced with panning on the touchscreen, the A button by tapping on a screen, and the Start, Select, and B buttons with virtual counterparts. The digital crown can also be used for scrolling through lists, and the whole thing actually looks fairly usable for controlling a game.
Giovanni’s biggest limitation (aside from the fact that Apple would never allow such an app to be disseminated through official App Store channels) is the limited hardware of the Apple Watch itself. Even on the most recent Series 2 hardware, the emulator is only able to play games at a fraction of the speed of an actual Game Boy. But that could be solved by Apple simply releasing a more powerful version of the Apple Watch, which logic dictates would likely happen eventually.
For now, it’s an interesting proof of concept that serves as a reminder of what the miniature computers we wear around every day are capable of. O’Flaherty-Chan has made Giovanni available as an open-source project on Github, if you’ve got the technical know-how and want to try it out for yourself.