InkBoy Runs Classic Game Boy Games at 30 Frames on Tiny E-Paper

InkBoy Game Boy E-Paper ESP32
A Waveshare board built for reading pages now keeps up with running and jumping. InkBoy fits a full Game Boy emulator onto the ESP32-S3-ePaper-1.54 V2, a compact module with a 1.54-inch panel that measures 200 by 200 pixels. Stock software on that panel barely managed two updates each second. Custom driving code raises the rate to roughly thirty, enough for Super Mario Land and other original titles to feel responsive instead of frozen between frames.



E-paper pixels include microscopic black and white particles suspended in a fluid, which are pushed about until the appropriate shade appears. In a production setting, the procedure takes hundreds of milliseconds to complete, divided among seventeen controller stages. InkBoy takes a different approach, driving the pixels with a single brief pulse lasting 14 to 20 milliseconds. Here’s the greatest part: it simply sends a pulse to the pixels that require it, so if a pixel hasn’t changed, it remains silent and doesn’t waste time redrawing the entire image every cycle.

InkBoy Game Boy E-Paper ESP32
The same technique yields four different gray levels. To do so, it just goes halfway up to an intermediate shade before stopping. This results in a consistent, mid-tone color that is similar enough to the original Game Boy palette to recognize the sprites and backgrounds. If you don’t require fine detail, a dithered black-and-white mode swaps the middle tones for extremely quick updates. Both modes use the same emulator core, which is based on the CrankBoy and Peanut-GB designs, with music coming from the board’s built-in speaker and games loading from a microSD card. Saves and resume points are also automatically stored between sessions.

InkBoy Game Boy E-Paper ESP32
The controls are really located on a separate ESP32-C3 board, which is encased in a 3D printed casing that connects to the bottom of the display module by USB-C. Bluetooth pairing works, but it currently just supports that gamepad. This means you can attach the screen almost anywhere and yet have a familiar button arrangement. Busy games may still fall below the required frame rate, leaving some faint trails in grayscale mode until the screen is correctly restarted. The long-term ramifications of the new waveform are still unknown, so use with caution as heavy use may leave permanent imprints on the screen.

InkBoy Game Boy E-Paper ESP32
Wenting Zhang developed the idea of tracking each pixel’s remaining ‘drive budget’ as part of his previous PaperBoy work on a larger display. The 200×200 surface here is quite similar to the Game Boy’s 160×144 resolution, thus each display pixel matches to a game pixel while the border remains black. All of the code for this is available on GitHub under an open license, so you can flash the same board yourself to alter the pulse counts. The end product is a handheld device that fits in the palm of your hand while updating the screen every 33 milliseconds. A display that was originally designed for static pages has been transformed into something that can track a plumber across a level.
[Source]

InkBoy Runs Classic Game Boy Games at 30 Frames on Tiny E-Paper

#InkBoy #Runs #Classic #Game #Boy #Games #Frames #Tiny #EPaper

Leave a Reply

Your email address will not be published. Required fields are marked *