CPBoy is a work-in-progress Game Boy (DMG) emulator for the CASIO ClassPad II (fx-CP400), built on the Peanut-GB core by deltabeard and ported for Hollyhock-3. It enables playback of classic Game Boy titles on calculator hardware with performance optimizations tailored to the device's constraints.
├── run.bin
├── CPBoy.bin
└── CPBoy/
└── roms/
└── [your .gb ROM files]
Place Game Boy ROM files with the .gb extension into the /CPBoy/roms/ directory. CPBoy will automatically detect and list them on startup. Only original DMG-era titles are supported; Game Boy Color exclusives and enhanced modes are not compatible.
| Game Boy Action | Calculator Key |
|---|---|
| A | EXE |
| B | + |
| SELECT | SHIFT |
| START | CLEAR |
| UP | UP |
| DOWN | DOWN |
| LEFT | LEFT |
| RIGHT | RIGHT |
| Open Menu | - |
All controls can be customized in Settings. The menu key provides access to save states, frame skipping, and display options where available.
CPBoy prioritizes speed over cycle-accurate emulation. Most DMG titles run at or near full speed, though some may exhibit minor graphical or audio artifacts. Known issues include:
A selection of tested titles and their status:
| Game Title | Status | Last Verified |
|---|---|---|
| Tetris | Playable | 2022-09-17 |
| Tetris 2 | Playable | 2022-09-17 |
| Super Mario Land | Playable | 2023-01-29 |
| Super Mario Land 2 | Playable | 2023-01-29 |
| Pokemon Red | Unplayable | 2023-01-29 |
| Pokemon Blue | Playable | 2023-01-29 |
| Pokemon Gold/Silver | Playable | 2023-01-29 |
| The Legend of Zelda: Link's Awakening | Playable | 2023-01-29 |
| Kirby's Dream Land | Playable | 2023-01-29 |
| Donkey Kong Land | Playable | 2023-01-29 |
| Wordle GB | Playable | 2023-01-29 |
CPBoy is built from the Peanut-GB emulator by deltabeard. The ClassPad port is maintained by diddyholz and QBos07. The project is released under the MIT License. Source code and build instructions are available on the project repository; building requires the Hollyhock-3 SDK with Newlib support.
If a ROM fails to load or the emulator becomes unresponsive, verify the file uses the .gb extension and is placed in the correct directory. For persistent issues, try enabling frame skipping in Settings or consulting the compatibility list. A hard reset via battery removal may be required in rare cases of system lockup.