[][src]Module gba::vram

Module for all things relating to the Video RAM.

Note that the GBA has six different display modes available, and the meaning of Video RAM depends on which display mode is active. In all cases, Video RAM is 96kb from 0x0600_0000 to 0x0601_7FFF.

Safety

Note that all possible bit patterns are technically allowed within Video Memory. If you write the "wrong" thing into video memory you don't crash the GBA, instead you just get graphical glitches (or perhaps nothing at all). Accordingly, the "safe" functions here will check that you're in bounds, but they won't bother to check that you've set the video mode they're designed for.

Modules

affine

Module for affine things.

bitmap

Module for the Bitmap video modes.

text

Module for tiled mode types and operations.

Structs

Tile4bpp

An 8x8 tile with 4bpp, packed as u32 values for proper alignment.

Tile8bpp

An 8x8 tile with 8bpp, packed as u32 values for proper alignment.

Constants

CHAR_BASE_BLOCKS

The character base blocks.

SCREEN_BASE_BLOCKS

The screen entry base blocks.

VRAM_BASE_USIZE

The start of VRAM.

Functions

get_4bpp_character_block

Gives the specified charblock in 4bpp view.

get_8bpp_character_block

Gives the specified charblock in 8bpp view.