Skip to content
A library with some standard functions for Game Boy games written in ASM
Assembly Python
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
gbt-player @ 3570ae2 added gbt-player as submodule Dec 18, 2019
.gitignore compile with gbt-player Dec 18, 2019
LICENSE Initial commit Dec 26, 2018 updated readme, added to-do list Jan 4, 2020
gingerbread.asm linked to the book lol Jan 1, 2020


A library with some standard functions for making your own Game Boy games in Assembly, written from scratch. It was made alongside the book Game Boy Assembly Programming for the Modern Game Developer which can be downloaded here.


The GingerBread library attempts to contain a lot of basic functionality needed for most Game Boy games. It takes care of things like

  1. Defining various constants that are easier to remember than random memory addresses
  2. Defining several low-level function that most games would need, like
    • Reading key input
    • Displaying graphics
    • Writing text and numbers
    • Playing sound effects
    • Super Game Boy and Game Boy Color functionality
    • Managing save data
  3. Taking care of the boot process
  4. Defining the ROM header

The idea is to reduce the amount of boilerplate code needed to get started with Game Boy game development in Assembly. The book contains lots of examples and also servs as documentation for this library.

The library does not directly support playing background music. Instead, it is designed to be used alongside GBT-Player which is included as a git submodule. The library can also be used without GBT-Player.


RGBDS is necessary to compile GingerBread and its example(s).

To do

  1. Make a stand-alone documentation document, specifying the constants and functions defined by GingerBread. Most of it is in the book, but having it available stand-alone is probably useful to many.

Legal stuff

The library is released under the The Unlicense. It basically means you are allowed to use it for whatever purpose.

This library is written with no association or cooperation with Nintendo. The Game Boy is a trademark of Nintendo.

You can’t perform that action at this time.