[][src]Crate gba

This crate helps you write GBA ROMs.

SAFETY POLICY

Some parts of this crate are safe wrappers around unsafe operations. This is good, and what you'd expect from a Rust crate.

However, the safe wrappers all assume that you will only attempt to execute this crate on a GBA or in a GBA Emulator.

Do not use this crate in programs that aren't running on the GBA. If you do, it's a giant bag of Undefined Behavior.

Modules

base

Holds fundamental types/ops which the rest of the crate it built on.

bios

This module contains wrappers for all GBA BIOS function calls.

ewram

Module for External Work RAM (EWRAM).

io

This module contains definitions and types for the IO Registers.

iwram

Module for Internal Work RAM (IWRAM).

mgba

Special utils for if you're running on the mGBA emulator.

oam

Types and declarations for the Object Attribute Memory (OAM).

palram

Module that allows interacting with palette memory, (PALRAM).

rom

Module for things related to ROM.

sram

Module for things related to SRAM.

vram

Module for all things relating to the Video RAM.

Macros

newtype

Assists in defining a newtype wrapper over some base type.

newtype_enum

Assists in defining a newtype that's an enum.

Structs

Color

A color on the GBA is an RGB 5.5.5 within a u16

Functions

divrem_i32

Performs signed divide and remainder, gives None if dividing by 0 or computing MIN/-1

divrem_i32_unchecked

Performs signed divide and remainder, no check for 0 division or MIN/-1.

divrem_u32

Performs unsigned divide and remainder, gives None if dividing by 0.

divrem_u32_unchecked

Performs divide and remainder, no check for 0 division.