Struct Gba

Source
#[non_exhaustive]
pub struct Gba { pub graphics: GraphicsDist, pub mixer: MixerController, pub save: SaveManager, pub timers: TimerController, }
Expand description

Controls access to the Game Boy Advance’s hardware.

This struct exists to make it the borrow checker’s responsibility to ensure no clashes of global resources. It 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 {
        agb::halt();
    }
}

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.
§graphics: GraphicsDist

Manages access to the Game Boy Advance’s display hardware

§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.

Auto Trait Implementations§

§

impl Freeze for Gba

§

impl RefUnwindSafe for Gba

§

impl Send for Gba

§

impl Sync for Gba

§

impl Unpin for Gba

§

impl UnwindSafe for Gba

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.