Welcome

GB.HLA is a free Game Boy and Game Boy Color assembler.

Introduction

GB.HLA aims to provide a complete toolchain for Gameboy development. This targets the Game Boy (DMG) and Game Boy Color (GBC). The Game Boy Advance is a completely different device and not covered by this toolchain.

Why?

The primary toolchain generally recommended for Game Boy assembly is RGBDS. So why another toolchain?

GB.HLA offers a different approach compared to RGBDS. Key differences are:

  • Single pass. RGBDS depends on different tools doing different parts, and combining it all in a linking step. GB.HLA does everything in a single pass. Which does away with complex build systems and intermediate files.
  • Extremely powerful macro matching mechanism. This mechanism is powerful enough that ALL assembly instructions are implemented as macros. But the macro system is even more powerful with scoping and linking.
  • Slower, as RGBDS is written in C++ and is multiple times faster then GB.HLA. This makes GB.HLA usually 5x slower then RGBDS. In practice this means your build times goes from 1 to 5 seconds.
  • Easier to extend. Missing a feature? It is likely that you can easily add it in your own version of GB.HLA with ease.

Glossary

  • DMG: The classic Game Boy with the 4 shades of green screen, released in 1989.
  • GBC/CGB: The Game Boy Color is an enhanced version of the DMG, with the addition of color and more features. Released in 1998.
  • GBA: Game Boy Advanced, not covered by this toolchain. See gbadev for details on the GBA.
  • Pandocs: The pandocs are the number 1 reference for details on how the DMG and GBC hardware functions.