Skip to content

A library with some standard functions for Game Boy games written in ASM

License

Notifications You must be signed in to change notification settings

ahrnbom/gingerbread

Repository files navigation

GingerBread

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.

Functionality

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.

Requirements

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

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.

About

A library with some standard functions for Game Boy games written in ASM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published