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;
}
Expand description

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

Required Methods§

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

Sets the frame counter to the specified value.

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.

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.

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

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.

Implementors§