rgbasm man page

rgbasm — Game Boy assembler


rgbasm[-Ehvw] [-b chars] [-D name[=value]] [-g chars] [-i path] [-M dependfile] [-o outfile] [-p pad_value] file


The rgbasm program creates an object file from an assembly source file. Its arguments are as follows:

-b chars

Change the two characters used for binary constants. The defaults are 01.

-D name[=value]

Add string symbol to the compiled source code. This is equivalent to name EQUSvalue” in code. If a value is not specified, a value of 1 is given.


Export all labels, including unreferenced and local labels.

-g chars

Change the four characters used for binary constants. The defaults are 0123.


By default, rgbasm inserts a ‘nop’ instruction immediately after any ‘halt’ instruction. The -h option disables this behavior.

-i path

Add an include path.

-M dependfile

Print make(1) dependencies to dependfile.

-o outfile

Write an object file to the given filename.

-p pad_value

When padding an image, pad with this value. The default is 0x00.


Be verbose.


Disable warning output.


Assembling a basic source file is simple:

$ rgbasm -o bar.o foo.asm

The resulting object file is not yet a usable ROM image — it must first be run through rgblink(1) and rgbfix(1).

See Also

rgbasm(5), rgbfix(1), rgblink(1), rgbds(5), rgbds(7), gbz80(7)


rgbasm was originally written by Carsten Sørensen as part of the ASMotor package, and was later packaged in RGBDS by Justin Lloyd. It is now maintained by a number of contributors at https://github.com/rednex/rgbds.

Referenced By

gbz80(7), rgbasm(5), rgbds(5), rgbds(7), rgbfix(1), rgbgfx(1), rgblink(1), rgblink(5).

April 17, 2017