Awesome Game Boy Development
Join us on Discord
A curated list of awesome Game Boy (Color) Development resources, tools, docs, related projects and open-source ROMs. Inspired by the awesome list thing.
You can find a (way cooler) web version of this list here.
Contents
- Introduction
- Community
- Documentation
- Emulator Development
- Software Development
- Programming
- Homebrews
- Reverse Engineering
- Game Boy Camera
- Related projects
- About
Introduction
Disambiguation
Game Boy Advance
Game Boy Advance development is covered by another project, the awesome-gbadev list. GBA, however, can run GB/GBC games. It does so in a slightly different way compared to native hardware: this is covered in the Emulator Development section of this list.
Game Boy Color and Super Game Boy
This list is focused on the original Game Boy (GB or DMG, 1989), the Game Boy Color (GBC or CGB) and the Super Game Boy (SGB) are very similar systems, with a few important distinctions, such as:
- Different hardware specifications;
- Specific hardware and software features;
- Specific registers;
- Specific bugs, quirks and exploitable behaviours.
If you aim to develop your software for SGB or GBC, or you want to know how it runs on the other systems, you may want to take advantage and adapt to these differences, check the Game Boy Color category and look for specific references to GBC/CGB and SGB.
Community
Documentation
- Pan Docs - The single, most comprehensive technical reference to Game Boy available to the public. Corrected, updated and maintained by the community.
- The Cycle-Accurate Game Boy Docs - A precise documentation by AntonioND to make a cycle-accurate Game Boy emulator.
- Complete Technical Reference - by Gekkio.
- Game Boy Architecture: A Practical Analysis - by Rodrigo Copetti.
- Game Boy Project Report - Report of an hardware emulator (on a Terasic DE1-SoC Board) developed as final project for the CSEE4840 Embedded Systems Design course at Columbia University.
Opcodes
- gb-opcodes - Opcodes table
- RGBDS opcodes reference - A reference of all instructions, including short descriptions, cycle and byte counts, and explanations of flag modifications.
Game Boy Color
- Bootstrap ROM
- Unused Palettes
- Colorization palettes in the BIOS
- Boot ROM Disassembly
- GBC Hicolour notes - A technical note regarding Hicolour mode trick for Game Boy Color and its realization in the GBC game “Crystalis”.
Hardware
- DMG Schematics - Hardware schematics.
- The Game Boy Project - Provides a study on the hardware and detailed constructional information for the implementation of three 8-bit bidirectional parallel ports.
- Related custom hardware - by Gekkio.
- ESP8266 GB Dev Board - Dev board for Game Boy accessories development, powered by ESP8266.
- ESP8266 GB Printer - A device that emulates the GB Printer and lets you retrieve images using WiFi.
- fruttenboel - Page with loads of information on the hardware, custom boards to interface with the console and other related projects.
- Game Boy hardware database - Data and photos of various types of Game Boy consoles.
- dmg-schematics - Schematics and annotated overlay for the DMG-CPU B chip, extracted from die photos, made with KiCad. Also contains Electric VLSI library with layouts for some of the cells and memories.
Peripherals
- Dan Docs - Obscure Game Boy hardware documentation.
- Edge of Emulation, a series of articles about emulating and investigating Game Boy accessories. Also available as technical documents in the GBE- emulator documentation.
- Mobile Adapter GB - Internet connectivity and DLC on the Game Boy Color.
- The Game Boy Printer
- Pocket Sonar - A blue cart with built-in sonar hardware.
- Zok Zok Heroes - Zok Zok Heroes' Full Changer, a motion-activated accessory.
- Infrared Madness - Infrared communication on the Game Boy Color.
- Game Boy 4-Player Adapter - DMG-07.
- Barcode Boy - The first Game Boy card-scanner.
- Barcode Taisen Bardigun - A late 90s DMG-GBC barcode reader.
- DMG-07 Technical Documentation
- Game Boy Camera RE - Documentation about GB Camera and tools used to reverse engineer it by using Arduino.
- Creating photo realistic images with neural networks and a Gameboy Camera
- The Game Boy Printer - An in-depth technical document about the printer hardware, the communication protocol and the usual routine that games used for implementing the print feature.
- Ben Heck Reverse Engineers Game Boy Printer (Errata: the used thermal paper is expired, 4 colors are actually printable).
- Arduino Game Boy Printer Emulator - Emulating a Game Boy Printer via the Game Boy Link cable with an Arduino.
- Mobile Game Boy Adapter
- GB KISS LINK MODEM
Cartridges
- GB Flash Cartridges for Sale - A List of available, ready-made Game Boy Flash Cartridges.
- AntonioND's docs - Corrected schematics and infos on cartridge header data.
- Gekkio's Game Boy cartridge types - An overview on existing cartridge types.
- Gekkio's cartridge analysis:
- Pinout, registers descriptions and VHDL code of some cartridge types on Tauwasser's wiki:
- Game Boy Cartridges Schematics - Schematics for MBC2 and MBC3 types.
- Cartridges PCB photos
- MBC1+RAM+Battery cartridge Schematic - First schematics by Jeff Frohwein.
- MBC1 and MBC2 cartridges circuits - and explanation on how these MBC bank switch and control RAM.
- GB Rom List - Navigable table of every game released with details on their cartridges.
- Game Boy cartridge PCB photos
Custom cartridges
- Emulating a GameBoy Cartridge - Emulating the functionality of a Game Boy cartridge with the development board STM32F4.
- Wolf - Game Boy cartridge with co-processor.
- Homebrew-Gameboy-Cartridge - Eagle library, schematic, and board files for a cartridge PCB using an Atmel AT49F040 as ROM.
- Homebrew Gameboy Color Cartridge - Board layout for an EEPROM powered cartridge.
- Nekocart - Open-source flash cartridge using an Xilinx CPLD as MBC5 (Post).
- Reiner Ziegler's Game Boy page - Commercial and homemade programmable cartridges and programming systems. Tutorials, wiring and schematics provided.
- Gameboy-MBC5-MBC1-Hybrid - CPLD implementation of a MBC5/MBC1 Hybrid cartridge.
Misc
- Introduction to Game Boy Hacking - Workshop introducing basic assembly, debugging and reverse engineering.
- GBSOUND.txt - A document detailing the Game Boy sound engine.
- gbdev FAQs - Must read by Jeff Frohwein.
- Game Boy Bootrom - Commented dump of the DMG bootrom.
- Differences between the Z80 and the gameboy's processor
- Gameboy 2BPP Graphics Format - Information on how the Game Boy interprets VRAM tile data to color pixels.
Emulator Development
- Reverse Engineering fine details of Game Boy hardware - 43 minutes talk by Gekkio given at Disobey 2018 (errata).
- Emulation of Nintendo Game Boy - Overview of the Game Boy hardware with the perspective of building an emulator.
- DMG-01 - An educational Gameboy Emulator in Rust and a companion book explaining its development. *Oh Boy! Creating a Game Boy Emulator in Rust- is a talk given at Rust Fest 18 about this.
- Building a Game Boy emulator in JavaScript - Step by step tutorial.
- Writing a Game Boy emulator, Cinoop
- 0dmg - Learning Rust by building a partial Game Boy emulator.
- RealBoy Emulator - A series of posts about the design and implementation of the RealBoy Emulator.
- Codeslinger - Another series of posts documenting the building of an emulator.
- Why did I spend 1.5 months creating a Gameboy emulator? - Blog post.
- [binjgb