$ cd ~/projects/joyboy
← View All Projects
JoyBoy
A Game Boy emulator written in Go, featuring an interactive debugger and OpenGL rendering.
$ open links
$ cat about.md
JoyBoy is a Game Boy emulator written in Go, released as version 0.1. It emulates the LR35902 CPU with a No-MBC (32 KiB) cartridge setup and renders frames in OpenGL using GLFW and Dear ImGui. It ships with an interactive debugger that lets you pause, single-step and restart the emulated CPU, and the joypad maps to keyboard controls. JoyBoy is verified with hand-tested Tetris and Dr. Mario ROMs and is built from a hardcoded ROM path - a full cartridge and sound implementation is planned for future versions.
$ cat info
$ cat features
CPU Emulation
Emulation of the LR35902 CPU (Sharp SM83 core) with a No-MBC 32 KiB cartridge setup.
Interactive Debugger
Set breakpoints by clicking memory cells, restart, single-step and fast-step the emulated CPU live, and inspect registers and memory.
Real-Time VRAM Viewers
GPU-accelerated tile, background, window and object (sprite) viewers that render live VRAM contents into the debugger.
OpenGL Frame Rendering
Reconstructs the background, window and object layers and uploads the complete frame at VBlank, rendered in OpenGL via GLFW and Dear ImGui.
$ cat gallery