Hacker Sebastian Staacks had done the seemingly impossible. Using a basic 32 kiB Game Boy cartridge and an ESP8266 micro controller he’s created the first Game Boy capable of browsing the web. Why is this necessary? It’s not, and according to Staacks, he’s done it simply because he can.
In a blog post, Staacks details the steps necessary to engineer and build a project of this scope, and it’s a bit dizzying. At a 10,000 ft view there are two things that drive this project; Z80 assembly code used to interface with the ESP8266 micro controller, and micro controller code that reformats websites for display on the Game Boy screen. It’s worth noting that the micro controller packs a 160Mhz clock speed, so the upgrade over the Game Boy’s 4 Mhz is incredible. The following excerpt is from the post:
It took a while, but I finally managed to create my own Game Boy cartridge. With WiFi! At this point, it can only demo a simple telnet-style communication and access Wikipedia articles, but I am confident that I will showcase more in the future. For now, the interesting and surprisingly tricky part is how the thing works at all.
Before you waste your time with this article, I should probably make clear what this cartridge can do and, maybe more importantly, what it cannot do. This is a basic 32kiB Game Boy cartridge with an ESP8266 microcontroller to add Wifi capabilities. With this, you can access data from the internet or your local network on your Game Boy or send data from it. Since the ESP8266 can do a lot of preprocessing for the Game Boy, a Twitter client is just as conceivable as a Reddit browser.
According to the Staacks, the Z80 code used to interface with the Wi-Fi controller was developed using the open-source development kit GBDK, which is also compatible with the Sega Game Gear. The Game Boy and the Game Gear are both variants of the Zilog Z80, so does this mean we might see a Game Gear cartridge down the road that renders color JPGs? I won’t hold my breath.
Related Forum: Gaming Discussion