Crate agb

Source
Expand description

§agb

agb is a library for making games on the Game Boy Advance using the Rust programming language. It attempts to be a high level abstraction over the internal workings of the Game Boy Advance whilst still being high performance and memory efficient.

To get started with agb, you should clone the template repo and work from there.

Re-exports§

pub use agb_hashmap as hash_map;

Modules§

display
Implements everything relating to things that are displayed on screen.
dma
Provides access to the GBA’s direct memory access (DMA) which is used for advanced effects
external
fixnum
Fixed point number implementation for representing non integers efficiently.
input
Button inputs to the system.
interrupt
Interacting with the GBA interrupts
mgba
Implements logging to the mgba emulator.
rng
Simple random number generator
save
Module for reading and writing to save media.
sound
Implements sound output.
syscall
System BIOS calls / syscalls.
test_runner
Unstable support for running tests using agb
timer
Interactions with the internal timers

Macros§

include_aseprite
Includes sprites found in the referenced aseprite files.
include_background_gfx
This macro is used to convert a png, bmp or aseprite file into a format usable by the Game Boy Advance.
include_font
include_palette
include_wav
println

Structs§

ExternalAllocator
This is the allocator for the External Working Ram.
Gba
The Gba struct is used to control access to the Game Boy Advance’s hardware in a way which makes it the borrow checker’s responsibility to ensure no clashes of global resources.
InternalAllocator
This is the allocator for the Internal Working Ram. This implements the allocator trait, so is meant to be used in specifying where certain structures should be allocated.

Functions§

no_game
Default game

Attribute Macros§

entry
This macro declares the entry point to your game written using agb.