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§

Modules§

  • Implements everything relating to things that are displayed on screen.
  • Fixed point number implementation for representing non integers efficiently.
  • Button inputs to the system.
  • Interacting with the GBA interrupts
  • Implements logging to the mgba emulator.
  • Simple random number generator
  • Module for reading and writing to save media.
  • Implements sound output.
  • A module containing functions and utilities useful for synchronizing state.
  • System BIOS calls / syscalls.
  • Unstable support for running tests using agb
  • Interactions with the internal timers

Macros§

Structs§

  • This is the allocator for the External Working Ram. This is currently equivalent to the Global Allocator (where things are allocated if no allocator is provided). This implements the allocator trait, so is meant to be used in specifying where certain structures should be allocated.
  • 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.
  • 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§

Attribute Macros§

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