DmaState

Struct DmaState 

Source
pub struct DmaState { /* private fields */ }
Expand description

State of the Direct Memory Access system.

Implementations§

Source§

impl DmaState

Source

pub fn base_addr(&self) -> u16

Gets the DMA base address.

Source

pub fn active(&self) -> bool

Returns true if DMA is active.

Source

pub fn source_addr(&self) -> u16

Get the source address for the DMA read.

This returns an absolute address within the GameBoy address space.

Source

pub fn dest_addr(&self) -> RelativeAddr

Gets the destination address for the DMA read.

This is a relative address within OAM. The relative base is the default address that OAM is mapped to. Note that because of how RelativeAddr works, this address will be valid for a read directly from OAM no matter where OAM is mapped, however the “raw” address may be wrong if OAM is not mapped in its normal location.

Trait Implementations§

Source§

impl Clone for DmaState

Source§

fn clone(&self) -> DmaState

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DmaState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for DmaState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl MemDevice for DmaState

Source§

const LEN: usize = 1usize

Length of this MemDevice in bytes. Reads and writes must always be within the device.
Source§

fn read_byte_relative(&self, addr: RelativeAddr) -> u8

Read the byte at the specified address. Read more
Source§

fn read_bytes_relative(&self, addr: RelativeAddr, data: &mut [u8])

Read a range of bytes into a slice. The read bytes must not wrap past the end of the device.
Source§

fn write_byte_relative(&mut self, addr: RelativeAddr, data: u8)

Write the byte at the sepcified address. Read more
Source§

fn write_bytes_relative(&mut self, addr: RelativeAddr, data: &[u8])

Write a range of bytes into memory from a slice. The slice must not exceed the length of the MemDevice.
Source§

fn read_relative_into<V>(&self, addr: RelativeAddr, dest: &mut V)
where V: MemValue,

Read a typed value from this MemDevice. The value must be fully contained within this device.
Source§

fn read_relative<V>(&self, addr: RelativeAddr) -> V
where V: MemValue + Default,

Read a typed value from this MemDevice. The value must be fully contained within this device.
Source§

fn write_relative_from<V>(&mut self, addr: RelativeAddr, source: &V)
where V: MemValue,

Write a typed value into this MemDevice. The value must fit fully within the device.
Source§

fn write_relative<V>(&mut self, addr: RelativeAddr, val: V)
where V: MemValue,

Write a typed value into this MemDevice. The value must fit fully within the device.
Source§

impl PartialEq for DmaState

Source§

fn eq(&self, other: &DmaState) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for DmaState

Source§

impl StructuralPartialEq for DmaState

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.