Skip to content
Code for RetroChallenge 2019
Branch: master
Clone or download
Latest commit 686cca2 Mar 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
extras Merge commit '416e9bfac0a943dd8ba7648e4ab7a81d17df3092' as 'extras' Mar 2, 2019
src project structure Mar 2, 2019
Makefile no sprite yet Mar 2, 2019


Hacking more sound channels out of a 1989 Nintendo Gameboy. Our entry into the 2019 Retro Challenge.



  1. install rgbds
  2. git submodule init && git submodule update (to get run scripts)

building binary:

  1. make

playing game

  1. install wine
  2. download bgb (for windows, 32- or 64-bit depending on your wine installation) and extract into extras/bgb
  3. make clean play


  1. make some changes
  2. run make optimcheck to make sure you didn't miss any easily optimizable instructions

naming conventions


  .subroutine_label           ; jump labels within subroutines
  .label_in_macro\@           ; jump labels within macros
  SomeFunction:               ; a non-exported function
  SomeData                    ; exported data, probably array/string
  _GBHW_ADDR or _GBHWADDR     ; gameboy hardware address defined in
  some_value                  ; address in hram


as3_freq                    ; music frequency (16-bit)
as3                         ; music note (8-bit index into NoteFreqs
SOME_CONSTANT               ; equ-defined constant
You can’t perform that action at this time.