Courses & TutorialsProgramming

Awesome Game Boy Development – Massive Collection of Resources

Spread the love
A curated list of awesome Game Boy (Color) Development resources, tools, docs, related projects and open-source ROMs. Inspired by the awesome list thing.




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.



  • 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 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.


  • 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


  • 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-CPU-Inside – Schematics and annotated overlay for the DMG-CPU-B chip, extracted from die photos.



Custom cartridges


Emulator Development


Software Development

The To C Or Not To C essay gives an overview of the Game Boy’s capabilities, discussing the pros and cons of the available development tools, and providing tips to write more efficient code.


  • RGBDS – Assembler and linker package. Documentation.
  • ASMotor – Assembler engine and development system targeting Game Boy, among other CPUs. Written by the original RGBDS author. Documentation.
  • wla-dx – Yet Another GB-Z80/Z80/… Multi Platform Cross Assembler Package. Documentation.


  • GBDK – A set of tools that enable to develop in C. Includes a set of libraries for the most common requirements and generates ready ROM files. Last updated in 2001. Documentation.
    • GBDK-2020 – A modernized GBDK with updated SDCC toolchain (supports ROM banking), bug fixes, documentation and other improvements. Supports Windows, Linux and MacOS.
    • gbdk-osx – Patched GBDK 2.96a for the latest compilers on macOS.
    • gbdk-n – Aims to update the gbdk libraries to be compatible with new versions of SDCC and provide helpers for building roms. Does not support ROM banking, thus limiting ROM size to 32K.

Experimental/Proof of Concepts

  • Wiz – A high-level assembly language for writing homebrew on retro console platforms (Game Boy, NES, Atari 2600, and more).
  • gbforth – A Forth-based Game Boy development kit.
  • gbasm-rs – An opinionated Rust based compiler for Game Boy z80 assembly code.
  • gbasm – A JavaScript based compiler for Game Boy z80 assembly code.
  • tniASM – Macro Assembler.
  • Assembler – Assembler written in Swift.
  • llvm-gbz80 / clang-gbz80 – Clang/LLVM port to the GBZ80 CPU (similar to the deprecated euclio/llvm-gbz80).
  • gbdk-go – A compiler translates Go programs to C code. The output C code is built into GB ROM by GBDK.


  • BGB – Powerful emulator and debugger. Provides an accurate hardware emulation.
  • SameBoy – Accurate emulator with a wide range of powerful debugging features.
  • Mooneye GB – Research project and emulator in Rust.
  • mGBA – Modern cross platform GBA emulator which also runs GB/GBC games.
  • Binjgb – 5Kloc emulator that passes most of the tests. *Rewind- feature. Runs in the browser using WebAssembly.
  • Gambatte – Cross-platform and accurate emulator.
  • MetroBoy – A playable, circuit-level simulation of an entire Game Boy.
  • gbe-plus – A recently rewritten emulator that has a large effort in preserving the functions of obscure accessories (such as IR link, Mobile Network GB, Barcode Boy, GB Printer, local and online GB Serial Link Cable, … )
  • Emulicious – Provides accurate emulation and includes powerful tools such as a profiler and source-level debugging for ASM and C via a VS Code debug adapter.

Complete list of open source emulators



  • ZGB – A little engine for creating games for the original Game Boy (expands gbdk, more info here).
  • Retr0 GB – An engine for creating games (expands GBDK).

Development tools

  • GBExtended – C library extending gbdk.
  • gbdk-lib-extension – A small set of sources and tools for the Game Boy Development Kit by Michael Hope.
  • Dot Matrix Game Editor – An IDE for Game Boy programming in a C-like language called GBL, with many other features like tile and map extraction, WLA-DX assembly, and more.
  • mgbdis – Game Boy ROM disassembler with RGBDS compatible output.
  • ROM Header Utility – An online tool to inspect and modify a ROM’s header data, including the logo.
  • romusage – Command line tool for estimating usage (free space) of Game Boy ROMs from a .map, .noi or ihx file. Works with GBDK-2020 and RGBDS.
  • awake – Game Boy decompiler.
  • Game Boy Text Tools – Set of tools for text manipulation and translation of Game Boy ROMs written in Node.js.

Graphics utilities

  • Game Boy Tile Data Generator – HTML5 / JS web application that will convert bitmap images to hexadecimal data appropriate for use in tile based graphical applications, specifically GB.
  • Harry Mulder’s GB Development – Some sources and home of Game Boy Tile Designer (GBTD) and Game Boy Map Builder (GBMB) tools.
  • GBTiles – Converts .GBR files created with Harry Mulder’s Tile Designer (GBTD) and .GBM files created with Harry Mulder’s Map Builder (GBMB) to different formats for use with the Game Boy and GBDK.
  • bmp2cgb – Graphics converter for Game Boy Color development providing real time palette adjustments.
  • png2gb – CLI tool to convert image file to game boy .c array.
  • GB-convert – Game Boy tile conversion and map editor tool (converts to assembly).
  • brewtool – A collection of primitive editor/converter tools for making assets used with homebrew ROM development.
  • vtGBte – A minimalistic ncurses tile editor.
  • tpp1 – Definition and specification of a custom GB/GBC memory/hardware mapper, as a functional superset of MBC.
  • libstdgb – A C library of useful Game Boy operations (SDCC).
  • Tilemap GB – GIMP image editor plug-in for importing & exporting GBMB and GBTD tilemaps and tilesets (as bitmap images or .GBM/.GBR files).
  • Tilemap Helper – GIMP image editor plug-in for optimizing tile maps and tile sets.
  • Tilemap Studio – A tilemap editor for Game Boy, Color, Advance, and SNES projects. Written in C++ with FLTK.

Hardware and ROM utilities

Music drivers and trackers

  • DevSound – Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms.
  • Carillon Player – Music Engine.
  • GBT PLAYER – A music player library and converter kit.
  • mmlgb – A MML parser and GBDK sound driver for the Nintendo Game Boy.
  • XPMCK – An MML based music compiler with support for Game Boy & Game Boy Color.
  • SoundSystem – A modernized audio driver for GameBoy Tracker (aka the Paragon 5 music player).
  • hUGETracker – A music tracker based on OpenMPT, focused on ease of use, compact output, and embeddability in homebrew games.


Guides, tutorials and tools to develop software for Game Boy using the development toolchains described in the Software Development chapter.



Fragments of code, effects, proof of concepts and generally non complete games.


Boilerplates and libraries

Syntax highlighting packages



Complete and open source games.

  • Homebrew Hub – Every unofficial homebrew ever produced for Game Boy playable online (mobile/touch too): a community-lead attempt to collect, archive and save every unofficial game, homebrew, demo, patch, hackrom for Game Boy (Color) produced by the community through years of passionate work.
  • Infinity – RPG developed by Affinix Software primarily between the years 1999 and 2001. The game never found a publisher and was eventually canceled. Got recently released with the full source, development tools and workflows.




Reverse Engineering

Game Disassemblies

Related projects



  • – Old home of the scene: examples, sources, complete documentation, guides, tutorials and various tools.
  • GBDK Developers – Active blog about everything related to the scene. Including features, insights and interviews.
  • – Game Boy releases.
  • Game Boy Demospotting – A collection of demos.
  • Handheld Underground – Unlicensed games, blog posts about Game Boy, home of the hhugboy emulator.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button