simon@arapoglu:~$

$ cd ~/projects/joyboy

View All Projects
JoyBoy
tetris.pngOpen ↗

JoyBoy

A Game Boy emulator written in Go, featuring an interactive debugger and OpenGL rendering.

GoOpenGLGLFWDear ImGuiGame Boy Emulation

$ 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

TypeSoftware Project
DevelopmentSolo Development
TechnologiesGoOpenGLGLFWDear ImGuiGame Boy Emulation

$ 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