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

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

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

Required methods

pub fn current_frame(&self) -> u64[src]

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

pub fn set_frame_counter(&mut self, fc: u64)[src]

Sets the frame counter to the specified value.

pub fn frame_tstate(&self) -> (u64, i32)[src]

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.

pub fn current_tstate(&self) -> i32[src]

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.

pub fn set_frame_tstate(&mut self, ts: i32)[src]

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

pub fn is_frame_over(&self) -> bool[src]

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
    U: InnerAccess<Inner = I>,
    I: FrameState
[src]

Loading content...