[][src]Trait spectrusty::chip::FrameState

pub trait FrameState {
    fn current_frame(&self) -> u64;
fn set_frame_counter(&mut self, fc: u64);
fn frame_tstate(&self) -> (u64, i32);
fn current_tstate(&self) -> i32;
fn set_frame_tstate(&mut self, ts: i32);
fn is_frame_over(&self) -> bool; }

The trait for reading and modifying the state of frame and cycle counters.

Required methods

fn current_frame(&self) -> u64

Returns the value of the current execution frame counter. The FrameState implementation should count passing frames infinitely wrapping at 2^64.

fn set_frame_counter(&mut self, fc: u64)

Sets the frame counter to the specified value.

fn frame_tstate(&self) -> (u64, i32)

Returns a normalized frame counter and a T-state counter as a tuple.

T-states are counted from 0 at the start of each frame. This method never returns the T-state counter value below 0 or past the frame counter limit.

fn current_tstate(&self) -> i32

Returns the current value of the T-state counter.

Unlike in FrameState::frame_tstate, values return by this method can sometimes be negative as well as exceeding the maximum number of T-states per frame.

fn set_frame_tstate(&mut self, ts: i32)

Sets the T-state counter to the specified value modulo <Self as Video>::FRAME_TSTATES_COUNT.

fn is_frame_over(&self) -> bool

Returns true if the value of the current T-state counter has reached a certain arbitrary limit which is very close to the maximum number of T-states per frame.

Loading content...

Implementors

impl<M, B, X, V: VideoFrame> FrameState for Ula<M, B, X, V>[src]

impl<P: AyPortDecode> FrameState for AyPlayer<P>[src]

impl<U, I> FrameState for U where
    I: FrameState,
    U: InnerAccess<Inner = I>, 
[src]

Loading content...