Struct moa_m68k::memory::M68kBusPort
source · pub struct M68kBusPort<Instant> {
pub request: MemoryRequest<Instant>,
pub data_bytewidth: usize,
pub address_mask: u32,
pub cycle_start_clock: Instant,
pub current_clock: Instant,
}
Fields§
§request: MemoryRequest<Instant>
§data_bytewidth: usize
§address_mask: u32
§cycle_start_clock: Instant
§current_clock: Instant
Implementations§
source§impl<Instant> M68kBusPort<Instant>where
Instant: Copy,
impl<Instant> M68kBusPort<Instant>where
Instant: Copy,
pub fn from_info(info: &CpuInfo, clock: Instant) -> Self
fn read<Bus, BusError>(
&mut self,
bus: &mut Bus,
clock: Instant,
addr: M68kAddress,
data: &mut [u8]
) -> Result<(), M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
fn write<Bus, BusError>(
&mut self,
bus: &mut Bus,
clock: Instant,
addr: M68kAddress,
data: &[u8]
) -> Result<(), M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
fn read_sized<Bus, BusError>(
&mut self,
bus: &mut Bus,
addr: M68kAddress,
size: Size
) -> Result<u32, M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
fn write_sized<Bus, BusError>(
&mut self,
bus: &mut Bus,
addr: M68kAddress,
size: Size,
value: u32
) -> Result<(), M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
pub(crate) fn read_data_sized<Bus, BusError>(
&mut self,
bus: &mut Bus,
is_supervisor: bool,
addr: M68kAddress,
size: Size
) -> Result<u32, M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
pub(crate) fn write_data_sized<Bus, BusError>(
&mut self,
bus: &mut Bus,
is_supervisor: bool,
addr: M68kAddress,
size: Size,
value: u32
) -> Result<(), M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
pub(crate) fn read_instruction_word<Bus, BusError>(
&mut self,
bus: &mut Bus,
is_supervisor: bool,
addr: u32
) -> Result<u16, M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
pub(crate) fn read_instruction_long<Bus, BusError>(
&mut self,
bus: &mut Bus,
is_supervisor: bool,
addr: u32
) -> Result<u32, M68kError<BusError>>where
Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>,
pub(crate) fn start_request<BusError>( &mut self, is_supervisor: bool, addr: u32, size: Size, access: MemAccess, mtype: MemType, i_n_bit: bool ) -> Result<u32, M68kError<BusError>>
Trait Implementations§
source§impl<Instant: Clone> Clone for M68kBusPort<Instant>
impl<Instant: Clone> Clone for M68kBusPort<Instant>
source§fn clone(&self) -> M68kBusPort<Instant>
fn clone(&self) -> M68kBusPort<Instant>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<Instant: Debug> Debug for M68kBusPort<Instant>
impl<Instant: Debug> Debug for M68kBusPort<Instant>
source§impl<Instant> Default for M68kBusPort<Instant>where
Instant: BusInstant,
impl<Instant> Default for M68kBusPort<Instant>where
Instant: BusInstant,
Auto Trait Implementations§
impl<Instant> Freeze for M68kBusPort<Instant>where
Instant: Freeze,
impl<Instant> RefUnwindSafe for M68kBusPort<Instant>where
Instant: RefUnwindSafe,
impl<Instant> Send for M68kBusPort<Instant>where
Instant: Send,
impl<Instant> Sync for M68kBusPort<Instant>where
Instant: Sync,
impl<Instant> Unpin for M68kBusPort<Instant>where
Instant: Unpin,
impl<Instant> UnwindSafe for M68kBusPort<Instant>where
Instant: UnwindSafe,
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
source§impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
source§fn into_address(self) -> T
fn into_address(self) -> T
Translate the given address into an address of type
T