#[non_exhaustive]pub struct Gba {
pub display: Display,
pub sound: Sound,
pub mixer: MixerController,
pub save: SaveManager,
pub timers: TimerController,
}
Expand description
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 will be created for you via the #[agb::entry]
attribute.
Examples
#![no_std]
#![no_main]
use agb::Gba;
#[agb::entry]
fn main(mut gba: Gba) -> ! {
// Do whatever you need to do with gba
loop {}
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.display: Display
Manages access to the Game Boy Advance’s display hardware
sound: Sound
Manages access to the Game Boy Advance’s beeps and boops sound hardware as part of the original Game Boy’s sound chip (the DMG).
mixer: MixerController
Manages access to the Game Boy Advance’s direct sound mixer for playing raw wav files.
save: SaveManager
Manages access to the Game Boy Advance cartridge’s save chip.
timers: TimerController
Manages access to the Game Boy Advance’s 4 timers.