pub struct DmaState { /* private fields */ }Expand description
State of the Direct Memory Access system.
Implementations§
Source§impl DmaState
impl DmaState
Sourcepub fn source_addr(&self) -> u16
pub fn source_addr(&self) -> u16
Get the source address for the DMA read.
This returns an absolute address within the GameBoy address space.
Sourcepub fn dest_addr(&self) -> RelativeAddr
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 MemDevice for DmaState
impl MemDevice for DmaState
Source§const LEN: usize = 1usize
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
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])
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)
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])
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,
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
fn read_relative<V>(&self, addr: RelativeAddr) -> V
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,
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,
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.
impl Eq for DmaState
impl StructuralPartialEq for DmaState
Auto Trait Implementations§
impl Freeze for DmaState
impl RefUnwindSafe for DmaState
impl Send for DmaState
impl Sync for DmaState
impl Unpin for DmaState
impl UnwindSafe for DmaState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more