A multi-platform Nintendo Game Boy and Game Boy Color emulator written in Go, featuring debugging tools and broad game compatibility.
GoBoy is a Nintendo Game Boy and Game Boy Color emulator written in Go, designed to run classic games across multiple operating systems. It solves the problem of accessing retro Game Boy titles on modern platforms while providing tools for developers to learn about emulator internals. The emulator includes features like color support, sound emulation, and debugging capabilities.
Developers interested in emulator development, retro gaming enthusiasts, and programmers looking to understand Game Boy hardware through a Go-based implementation.
Developers choose GoBoy for its clean Go codebase, multi-platform compatibility, and built-in debugging tools that make it an educational resource for emulator development. It offers a balance between functional emulation and transparency into the emulation process.
Multi-platform Nintendo Game Boy Color emulator written in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs on macOS, Windows, and Linux with a single Go codebase, leveraging the Pixel library for consistent graphics and control binding across systems.
Includes real-time opcode printing, register inspection, and sound channel toggling via keyboard shortcuts, making it transparent for learning emulator internals.
Passes Blargg's CPU instruction and timing test ROMs, with integrated tests run on each commit, ensuring reliable core emulation for development.
Creates and updates battery-backed .sav files automatically for compatible ROMs, simplifying game progress preservation without manual intervention.
Only supports some CGB games, with known bugs and missing features like MBC3 clock support, limiting compatibility for color titles.
Debugging features slow down emulation, and the TODO list includes speed optimizations and bug fixes (e.g., APU timing, jittering), indicating it's not optimized for smooth gameplay.
Lacks save states, boot ROM support, and has unresolved issues like sprite Z-drawing bugs, making it less suitable for users needing a full-featured emulator.