Struct moa_z80::state::Z80

source ·
pub struct Z80<Instant> {
    pub cputype: Z80Type,
    pub frequency: Frequency,
    pub state: Z80State,
    pub debugger: Z80Debugger,
    pub previous_cycle: Z80Cycle<Instant>,
    pub signals: Z80Signals,
}

Fields§

§cputype: Z80Type§frequency: Frequency§state: Z80State§debugger: Z80Debugger§previous_cycle: Z80Cycle<Instant>§signals: Z80Signals

Implementations§

source§

impl<Instant> Z80<Instant>
where Instant: EmuInstant,

source

pub(crate) fn begin<'a, Bus>( &'a mut self, clock: Instant, bus: &'a mut Bus ) -> Result<ExecuteNext<'a, &'a mut Bus, Instant>, Z80Error>
where Bus: BusAccess<Z80AddressSpace, Instant = Instant>,

source§

impl<Instant> Z80<Instant>
where Instant: EmuInstant,

source

pub fn new(cputype: Z80Type, frequency: Frequency) -> Self

source

pub fn from_type(cputype: Z80Type, frequency: Frequency) -> Self

source

pub fn clear_state(&mut self)

source

pub fn dump_state<W, Bus>( &mut self, writer: &mut W, _clock: Instant, bus: &mut Bus ) -> Result<(), Error>
where W: Write, Bus: BusAccess<Z80AddressSpace, Instant = Instant>,

Trait Implementations§

source§

impl<Instant: Clone> Clone for Z80<Instant>

source§

fn clone(&self) -> Z80<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<Z80AddressSpace, Bus, Writer> for Z80<Instant>
where Bus: BusAccess<Z80AddressSpace, Instant = Instant, Error = BusError>, BusError: ErrorType, Instant: EmuInstant, Writer: Write,

Control the execution of a CPU device for debugging purposes

§

type DebugError = Z80Error

Represents an error that can occur while debugging
source§

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

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

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

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

fn add_breakpoint(&mut self, address: Z80AddressSpace)

Add a breakpoint
source§

fn remove_breakpoint(&mut self, address: Z80AddressSpace)

Remove a breakpoint
source§

fn clear_breakpoints(&mut self)

Clear all breakpoints
source§

impl<Bus, BusError, Instant, Writer> Inspect<Z80AddressSpace, Bus, Writer> for Z80<Instant>
where Bus: BusAccess<Z80AddressSpace, Instant = Instant, Error = BusError>, BusError: ErrorType, Instant: EmuInstant, Writer: Write,

§

type InfoType = Z80Info

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

type Error = Z80Error

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<Instant, Bus> Step<Z80AddressSpace, Bus> for Z80<Instant>
where Instant: EmuInstant, Bus: BusAccess<Z80AddressSpace, Instant = Instant>,

§

type Error = Z80Error

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: Bus::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: Bus::Instant, bus: &mut Bus ) -> Result<Bus::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

Auto Trait Implementations§

§

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

§

impl<Instant> !RefUnwindSafe for Z80<Instant>

§

impl<Instant> !Send for Z80<Instant>

§

impl<Instant> !Sync for Z80<Instant>

§

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

§

impl<Instant> !UnwindSafe for Z80<Instant>

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.