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,
impl<Instant> Z80<Instant>where
Instant: EmuInstant,
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,
impl<Instant> Z80<Instant>where
Instant: EmuInstant,
Trait Implementations§
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,
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
type DebugError = Z80Error
Represents an error that can occur while debugging
source§fn get_execution_address(&mut self) -> Result<Z80AddressSpace, Self::DebugError>
fn get_execution_address(&mut self) -> Result<Z80AddressSpace, Self::DebugError>
Returns the
Address
where execution will take place the next time step()
is calledsource§fn set_execution_address(
&mut self,
address: Z80AddressSpace
) -> Result<(), Self::DebugError>
fn set_execution_address( &mut self, address: Z80AddressSpace ) -> Result<(), Self::DebugError>
Sets the
Address
where execution will take place the next time step()
is calledsource§fn add_breakpoint(&mut self, address: Z80AddressSpace)
fn add_breakpoint(&mut self, address: Z80AddressSpace)
Add a breakpoint
source§fn remove_breakpoint(&mut self, address: Z80AddressSpace)
fn remove_breakpoint(&mut self, address: Z80AddressSpace)
Remove a breakpoint
source§fn clear_breakpoints(&mut self)
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,
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
type InfoType = Z80Info
A type that describes the types of information or state that this device can emit
source§fn inspect(
&mut self,
info: Self::InfoType,
bus: &mut Bus,
writer: &mut Writer
) -> Result<(), Self::Error>
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>
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>
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>
impl<Instant, Bus> Step<Z80AddressSpace, Bus> for Z80<Instant>
source§fn is_running(&mut self) -> bool
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
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> 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