Struct moa_m68k::state::M68k

source ·
pub struct M68k<Instant> {
    pub info: CpuInfo,
    pub state: M68kState,
    pub debugger: M68kDebugger,
    pub stats: M68kStatistics,
    pub cycle: Option<M68kCycle<Instant>>,
}

Fields§

§info: CpuInfo§state: M68kState§debugger: M68kDebugger§stats: M68kStatistics§cycle: Option<M68kCycle<Instant>>

Implementations§

source§

impl<Instant> M68k<Instant>
where Instant: BusInstant,

source

pub fn new(info: CpuInfo) -> Self

source

pub fn from_type(cputype: M68kType, freq: Frequency) -> Self

source

pub fn dump_state<W: Write>(&self, writer: &mut W) -> Result<(), Error>

source

pub fn last_cycle_duration(&self) -> Instant::Duration

Trait Implementations§

source§

impl<Instant: Clone> Clone for M68k<Instant>

source§

fn clone(&self) -> M68k<Instant>

Returns a copy 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<Bus, BusError, Instant, Writer> Debug<u32, Bus, Writer> for M68k<Instant>
where Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>, BusError: ErrorType, Instant: BusInstant, Writer: Write,

Control the execution of a CPU device for debugging purposes

§

type DebugError = M68kError<BusError>

Represents an error that can occur while debugging
source§

fn get_execution_address(&mut self) -> Result<M68kAddress, Self::DebugError>

Returns the Address where execution will take place the next time step() is called
source§

fn set_execution_address( &mut self, address: M68kAddress ) -> Result<(), Self::DebugError>

Sets the Address where execution will take place the next time step() is called
source§

fn add_breakpoint(&mut self, address: M68kAddress)

Add a breakpoint
source§

fn remove_breakpoint(&mut self, address: M68kAddress)

Remove a breakpoint
source§

fn clear_breakpoints(&mut self)

Clear all breakpoints
source§

impl Debuggable for M68k<Instant>

source§

fn add_breakpoint(&mut self, addr: Address)

source§

fn remove_breakpoint(&mut self, addr: Address)

source§

fn print_current_step(&mut self, system: &System) -> Result<(), Error>

source§

fn print_disassembly(&mut self, system: &System, addr: Address, count: usize)

source§

fn run_command(&mut self, system: &System, args: &[&str]) -> Result<bool, Error>

source§

impl<Bus, BusError, Instant, Writer> Inspect<u32, Bus, Writer> for M68k<Instant>
where Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>, BusError: ErrorType, Writer: Write,

§

type InfoType = M68kInfo

A type that describes the types of information or state that this device can emit
§

type Error = M68kError<BusError>

A type that is returned if the data cannot be written as expected
source§

fn inspect( &mut self, info: Self::InfoType, _bus: &mut Bus, writer: &mut Writer ) -> Result<(), Self::Error>

Write the given information type to the given writer, or return an error
source§

fn brief_summary( &mut self, bus: &mut Bus, writer: &mut Writer ) -> Result<(), Self::Error>

Write a brief summary of the device’s current state to the given writer, or return an error
source§

fn detailed_summary( &mut self, bus: &mut Bus, writer: &mut Writer ) -> Result<(), Self::Error>

Write a detailed summary of the device’s current state to the given writer, or return an error
source§

impl<Bus, BusError, Instant> Step<u32, Bus> for M68k<Instant>
where Bus: BusAccess<M68kAddress, Instant = Instant, Error = BusError>, BusError: ErrorType, Instant: BusInstant,

§

type Error = M68kError<BusError>

A type that is return if the step cannot be performed Read more
source§

fn is_running(&mut self) -> bool

Returns true if this device is still running. This can be used to detect a stop or halt condition
source§

fn reset(&mut self, _now: Instant, _bus: &mut Bus) -> Result<(), Self::Error>

Reset the device to its initial state, as if the device’s reset signal was asserted
source§

fn step(&mut self, now: Instant, bus: &mut Bus) -> Result<Instant, Self::Error>

Step the process by one unit of time, and return the time at which this function should be called again Read more
source§

impl Steppable for M68k<Instant>

source§

fn step(&mut self, system: &System) -> Result<Duration, Error>

source§

fn on_error(&mut self, _system: &System)

source§

impl Transmutable for M68k<Instant>

source§

fn as_steppable(&mut self) -> Option<&mut dyn Steppable>

source§

fn as_interruptable(&mut self) -> Option<&mut dyn Interruptable>

source§

fn as_debuggable(&mut self) -> Option<&mut dyn Debuggable>

source§

fn as_addressable(&mut self) -> Option<&mut dyn Addressable>

source§

fn as_inspectable(&mut self) -> Option<&mut dyn Inspectable>

source§

fn as_signalable(&mut self) -> Option<&mut dyn Signalable>

source§

impl Interruptable for M68k<Instant>

Auto Trait Implementations§

§

impl<Instant> Freeze for M68k<Instant>
where Instant: Freeze,

§

impl<Instant> RefUnwindSafe for M68k<Instant>
where Instant: RefUnwindSafe,

§

impl<Instant> Send for M68k<Instant>
where Instant: Send,

§

impl<Instant> Sync for M68k<Instant>
where Instant: Sync,

§

impl<Instant> Unpin for M68k<Instant>
where Instant: Unpin,

§

impl<Instant> UnwindSafe for M68k<Instant>
where Instant: UnwindSafe,

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> 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, S> IntoAddress<T> for S
where T: FromAddress<S>,

source§

fn into_address(self) -> T

Translate the given address into an address of type T
source§

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

§

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>,

§

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>,

§

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.