The main API of GGBASM is the RomBuilder struct.
Various methods are called on the RomBuilder to insert assembly, graphics and raw bytes.
use ggbasm::RomBuilder; RomBuilder::new()? // Starts off in the first rom bank // A simple example doesnt need to deal with interrupts and jumps, so generate a dummy .add_basic_interrupts_and_jumps()? // generate a header from data in the passed header struct .add_header(header)? // Add game code via an asm file .add_asm_file("main.asm")? // Add an image to the second rom bank .advance_address(1, 0)? .add_image("tiles.png", "Tileset", &colors_map)? // Consume the RomBuilder and write the rom to disk .write_to_disk("my_cool_game.gb")?;
The RomBuilder searches for images in the
graphics directory and assembly files in the
These directories are in the root directory of the crate, the innermost directory containing a
The AST produced by the parser.
Generate audio data.
Miscellaneous gameboy hardware constants.
Define the ROM header via a typed interface.
Parse asm files into an AST.
Represents a color in modern images. Used when mapping colors from modern images to gameboy graphics.
Keeps track of the state of a rom as it is being constructed.