[−][src]Trait spectrusty::chip::EarIn
A trait for feeding the EAR line input.
Required methods
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
Sets EAR IN
bit state after the provided interval in ∆ T-states counted from the last recorded change.
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
Feeds the EAR IN
buffer with changes.
The provided iterator should yield time intervals measured in T-state ∆ differences after which the state
of the EAR IN
bit should be toggled.
max_frames_threshold
may be optionally provided as a number of frames to limit the buffered changes.
This is useful if the given iterator provides data largely exceeding the duration of a single frame.
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
Removes all buffered so far EAR IN
changes.
Changes are usually consumed only when a call is made to crate::chip::ControlUnit::ensure_next_frame.
Provide the current value of EAR IN
bit as ear_in
.
This may be useful when tape data is already buffered but the user decided to stop the tape playback immediately.
pub fn read_ear_in_count(&self) -> u32
[src]
Returns the counter of how many times the EAR input line was read since the beginning of the current frame.
This can be used to help to implement the autoloading of tape data.
Provided methods
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
Returns the current mode.
pub fn set_read_ear_mode(&mut self, _mode: ReadEarMode)
[src]
Changes the current mode.
Implementors
impl<D, X> EarIn for Ula3<D, X>
[src]
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
pub fn read_ear_in_count(&self) -> u32
[src]
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
pub fn set_read_ear_mode(&mut self, mode: ReadEarMode)
[src]
impl<D, X> EarIn for Ula128<D, X>
[src]
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
pub fn read_ear_in_count(&self) -> u32
[src]
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
pub fn set_read_ear_mode(&mut self, mode: ReadEarMode)
[src]
impl<M, B, X, V> EarIn for Scld<M, B, X, V> where
M: PagedMemory8k,
V: VideoFrame,
[src]
M: PagedMemory8k,
V: VideoFrame,
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
pub fn read_ear_in_count(&self) -> u32
[src]
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
pub fn set_read_ear_mode(&mut self, mode: ReadEarMode)
[src]
impl<M, B, X, V> EarIn for Ula<M, B, X, V> where
V: VideoFrame,
[src]
V: VideoFrame,
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
It's most optimal to be done after ensure_next_frame is called, but is not necessary.
Panics
Panics if adding the delta would exceed the TsCounter max_value (Ts::max_value() as u32 * V::HTS_COUNT as u32).
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
pub fn read_ear_in_count(&self) -> u32
[src]
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
pub fn set_read_ear_mode(&mut self, mode: ReadEarMode)
[src]
impl<U> EarIn for UlaPlus<U> where
U: Video + EarIn,
[src]
U: Video + EarIn,
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,