Small functional examples of gameboy assembly programming.
All examples here are minimal in nature, and can directly run and inspected by rgbds-live, a gameboy development environment in your webbrowser.
These examples are not intended as a tutorial, but as a reference on how to do certain things in gameboy assembly.
All code can be used freely in any way you see fit. No attribution or open source restrictions apply.
Must goto resource is the Pan Docs. This contains a lot of information about the gameboy hardware and should be your reference.
rgbds: manual, releases, assembler for gameboy. And the tool behind rgbds-live.
bgb, best and very accurate gameboy emulator. Also contains awesome debugging features.
The following examples explain basic assembly topics. They are generally must have knowledge for anyone that wants to do something with gameboy assembly programming.
Variables: How to define and use variables.
Examples on how to interact with the graphics hardware.
Initial VRAM Graphics: How to load graphics into VRAM at boot of your rom.
Sprites: How to display sprites on the screen.
VRAM access with LCD on: Shows what happens if you try to write to VRAM while the LCD is on. And how to work around this for small VRAM updates.
Examples on how to interact with various things.
Joypad: How to read button input.
SRAM: How to store/read data from battery backed SRAM. For saves/highscores.
Double speed mode: How to enable double speed on a gameboy color (GBC Only)