Trait dmd_core::bus::Device

source ·
pub trait Device: Send + Sync + Debug {
    fn address_range(&self) -> &Range<usize>;
    fn name(&self) -> &str;
    fn is_read_only(&self) -> bool;
    fn read_byte(
        &mut self,
        address: usize,
        access: AccessCode
    ) -> Result<u8, BusError>; fn read_half(
        &mut self,
        address: usize,
        access: AccessCode
    ) -> Result<u16, BusError>; fn read_word(
        &mut self,
        address: usize,
        access: AccessCode
    ) -> Result<u32, BusError>; fn write_byte(
        &mut self,
        address: usize,
        val: u8,
        access: AccessCode
    ) -> Result<(), BusError>; fn write_half(
        &mut self,
        address: usize,
        val: u16,
        access: AccessCode
    ) -> Result<(), BusError>; fn write_word(
        &mut self,
        address: usize,
        val: u32,
        access: AccessCode
    ) -> Result<(), BusError>; fn load(&mut self, address: usize, data: &[u8]) -> Result<(), BusError>; }
Expand description

A virtual device on the bus.

Required Methods§

Implementors§