Running macOS on a Homemade Game Boy Console

This fun project explores "Hackintosh" builds by attempting to run the operating system in a very unusual form factor.

Hackintoshes

Apple is notorious for their walled garden approach to their lineup of products, as everything from the iPhone to the MacBook Pro and even the operating systems themselves are all heavily locked down. This means running a different OS on Apple hardware or running macOS on a non-supported platform are both very difficult to do, and in response, the Hackintosh (hack + Macintosh) community aims to get the latter functional. Typically, these unofficial builds take the form of desktops and laptops with the only difference being the operating system, but YouTuber iketsj (Ike T. Sanglay Jr.) wanted to go a step further by creating a Hackintosh build that closely mimics the Nintendo Game Boy's design.

The hardware

Powering the setup is a LattePanda Alpha from DFRobot. It has a dual-core Intel Core M3-8100Y CPU, 8GB of memory, and plenty of IO options, which made it an ideal choice for running an operating system as heavy as macOS. Along with the LattePanda, Ike gathered a portable touch-enabled LCD screen, a large battery pack to ensure adequate playtime, and several buttons that function as inputs for whatever game is being run.

Building a Game Boy

With the parts selected, Ike began by designing a custom case that has cutouts for the front buttons and 3D printing it. The bottom half houses the battery pack and LattePanda, while the top half had a couple of pieces of perf board glued underneath to hold the buttons in the correct positions. Finally, the screen was wired to the mainboard via a flexible and narrow HDMI cable.

User inputs

Because the project involves turning a single board computer into a fully portable gaming device, the traditional keyboard and mouse were off the table when it came to playing classic Game Boy games. Rather, Ike assembled a simple board with an array of tactile pushbuttons all connected to the GPIO pins of the LattePanda via a logic-level shifter and pin headers. The Panda's integrated Microchip ATmega332U4 coprocessor (the same one on the Arduino Leonardo board) handles the GPIO for the higher-level M3-8100Y application processor.

Getting macOS to work

The last step to making the project work was to get macOS functioning correctly on the Panda. To do this, Ike installed the OpenCore bootloader that allows for a copy of macOS Monterey to run natively on the hardware. To play games on his fresh OS installation, he downloaded the zboy package via Homebrew that lets him run old Game Boy ROMs within an emulator. For more information about this project, you can watch Ike's video here on YouTube.

Arduino “having11” Guy
20 year-old IoT and embedded systems enthusiast. Also produce content for Hackster.io and love working on projects and sharing knowledge.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles