Effortlessly run Game Boy games on e-paper displays.
Project details
InkBoy allows Game Boy games to be played on the Waveshare ESP32-S3 e-paper board at approximately 30 fps, offering options for fast dithered black and white or four-shade grayscale. It features an SD ROM browser, speaker audio, and customizable display presets, making retro gaming accessible and engaging.
InkBoy: Game Boy Emulator on ESP32-S3
InkBoy is an innovative project that enables users to run Game Boy games on the Waveshare ESP32-S3 e-paper board, delivering gameplay at approximately 30 frames per second. The emulator supports two display modes: a fast dithered black and white option and a four-shade grayscale mode, making it versatile for different gaming preferences.
To get started, the following hardware components are required:
| Part | Requirement |
|---|---|
| Waveshare ESP32-S3-ePaper-1.54 V2 | Must have a 200×200 e-paper screen, speaker, and microSD slot. |
| microSD card | Should be formatted as FAT32 for ROMs, saved games, and presets. |
| InkBoy Controller | A custom ESP32-C3 gamepad that connects via BLE or USB-C data cable. |
Note: Currently, only the custom InkBoy controller is supported, with plans for generic Bluetooth and USB HID gamepad compatibility in future updates.
InkBoy features an experimental display driver that utilizes custom waveforms for high refresh rates. Caution is advised, as improper usage could lead to permanent image retention or damage to the e-paper panel.
Players can navigate menus and gameplay intuitively with the following controls:
| Input | Function |
|---|---|
| Controller Up / Down | Move selection |
| Controller A / Start; B | Select; back |
| PWR tap; hold 0.7 s | Next item; back |
| BOOT tap; hold 0.7 s | Select; previous item |
During gameplay, standard Game Boy controls are available. Players can pause the game, save progress, and return to the home screen seamlessly. Note, however, that each pause replaces the game’s single resume checkpoint.
InkBoy is compatible with Game Boy (DMG) games and dual-mode cartridges in DMG mode, supporting up to 2 MiB. However, it does not support color-only games or RTC cartridges.
For developers and contributors, there are opportunities to enhance display settings and improve overall functionality. Contributions that provide better settings based on different hardware configurations are welcome.
Further details regarding display settings, development checks, and more can be found in the documentation. This includes a guide on display presets and explanations of the inner workings of the display system.
Explore the project by visiting the GitHub repository for more comprehensive guides and community support.
Comments
0Start the conversation
Share the first comment.