Struct spectrusty::chip::ula3::Ula3VidFrame
source · pub struct Ula3VidFrame;
Expand description
Implements VideoFrame for Amstrad Gate Array (+3/+2A models).
Trait Implementations§
source§impl Clone for Ula3VidFrame
impl Clone for Ula3VidFrame
source§fn clone(&self) -> Ula3VidFrame
fn clone(&self) -> Ula3VidFrame
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Ula3VidFrame
impl Debug for Ula3VidFrame
source§impl Default for Ula3VidFrame
impl Default for Ula3VidFrame
source§fn default() -> Ula3VidFrame
fn default() -> Ula3VidFrame
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for Ula3VidFrame
impl<'de> Deserialize<'de> for Ula3VidFrame
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for Ula3VidFrame
impl Hash for Ula3VidFrame
source§impl Ord for Ula3VidFrame
impl Ord for Ula3VidFrame
source§fn cmp(&self, other: &Ula3VidFrame) -> Ordering
fn cmp(&self, other: &Ula3VidFrame) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<Ula3VidFrame> for Ula3VidFrame
impl PartialEq<Ula3VidFrame> for Ula3VidFrame
source§fn eq(&self, other: &Ula3VidFrame) -> bool
fn eq(&self, other: &Ula3VidFrame) -> bool
source§impl PartialOrd<Ula3VidFrame> for Ula3VidFrame
impl PartialOrd<Ula3VidFrame> for Ula3VidFrame
source§fn partial_cmp(&self, other: &Ula3VidFrame) -> Option<Ordering>
fn partial_cmp(&self, other: &Ula3VidFrame) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for Ula3VidFrame
impl Serialize for Ula3VidFrame
source§impl VideoFrame for Ula3VidFrame
impl VideoFrame for Ula3VidFrame
source§const HTS_RANGE: Range<Ts> = Ula128VidFrame::HTS_RANGE
const HTS_RANGE: Range<Ts> = Ula128VidFrame::HTS_RANGE
A range of horizontal T-states, 0 should be where the frame starts.
source§const VSL_BORDER_TOP: Ts = 15i16
const VSL_BORDER_TOP: Ts = 15i16
The first video scan line index of the top border.
source§const VSL_PIXELS: Range<Ts> = Ula128VidFrame::VSL_PIXELS
const VSL_PIXELS: Range<Ts> = Ula128VidFrame::VSL_PIXELS
A range of video scan line indexes for the pixel area.
source§const VSL_BORDER_BOT: Ts = 303i16
const VSL_BORDER_BOT: Ts = 303i16
The last video scan line index of the bottom border.
§type BorderHtsIter = StepBy<Range<i16>>
type BorderHtsIter = StepBy<Range<i16>>
An iterator for rendering borders.
source§fn border_whole_line_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
fn border_whole_line_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
Returns an iterator of border latch horizontal T-states.
source§fn border_left_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
fn border_left_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
Returns an iterator of left border latch horizontal T-states.
source§fn border_right_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
fn border_right_hts_iter(border_size: BorderSize) -> Self::BorderHtsIter
Returns an iterator of right border latch horizontal T-states.
source§fn is_contended_line_no_mreq(_vsl: Ts) -> bool
fn is_contended_line_no_mreq(_vsl: Ts) -> bool
Returns
true
if the given scan line index is contended for other than MREQ (memory request) access. Read moresource§fn contention(hc: Ts) -> Ts
fn contention(hc: Ts) -> Ts
Returns a horizontal T-state counter after adding an additional T-states required for emulating
a memory contention, while rendering lines that require reading video memory. Read more
source§const HTS_COUNT: i16 = Self::HTS_RANGE.end - Self::HTS_RANGE.start
const HTS_COUNT: i16 = Self::HTS_RANGE.end - Self::HTS_RANGE.start
The number of horizontal T-states.
source§const FRAME_TSTATES_COUNT: i32 = Self::HTS_COUNT as FTs * Self::VSL_COUNT as FTs
const FRAME_TSTATES_COUNT: i32 = Self::HTS_COUNT as FTs * Self::VSL_COUNT as FTs
The total number of T-states per frame.
source§fn border_size_pixels(border_size: BorderSize) -> u32
fn border_size_pixels(border_size: BorderSize) -> u32
A rendered screen border size in pixels depending on the border size selection. Read more
source§fn screen_size_pixels(border_size: BorderSize) -> (u32, u32)
fn screen_size_pixels(border_size: BorderSize) -> (u32, u32)
Returns output screen pixel size (horizontal, vertical), including the border area, measured
in low-resolution pixels. Read more
source§fn border_top_vsl_iter(border_size: BorderSize) -> Range<i16>
fn border_top_vsl_iter(border_size: BorderSize) -> Range<i16>
Returns an iterator of the top border low-resolution scan line indexes.
source§fn border_bot_vsl_iter(border_size: BorderSize) -> Range<i16>
fn border_bot_vsl_iter(border_size: BorderSize) -> Range<i16>
Returns an iterator of the bottom border low-resolution scan line indexes.
source§fn floating_bus_offset(_hc: i16) -> Option<u16>
fn floating_bus_offset(_hc: i16) -> Option<u16>
Returns an optional floating bus horizontal offset for the given horizontal timestamp.
source§fn floating_bus_screen_address(_: VideoTs) -> Option<u16>
fn floating_bus_screen_address(_: VideoTs) -> Option<u16>
Returns an optional floating bus screen address (in the screen address space) for the given timestamp. Read more
source§fn snow_interference_coords(_ts: VideoTs) -> Option<CellCoords>
fn snow_interference_coords(_ts: VideoTs) -> Option<CellCoords>
Returns an optional cell coordinates of a “snow effect” interference.
impl Copy for Ula3VidFrame
impl Eq for Ula3VidFrame
impl StructuralEq for Ula3VidFrame
impl StructuralPartialEq for Ula3VidFrame
Auto Trait Implementations§
impl RefUnwindSafe for Ula3VidFrame
impl Send for Ula3VidFrame
impl Sync for Ula3VidFrame
impl Unpin for Ula3VidFrame
impl UnwindSafe for Ula3VidFrame
Blanket Implementations§
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§impl<S, T> IntoSample<S> for Twhere
S: FromSample<T>,
impl<S, T> IntoSample<S> for Twhere
S: FromSample<T>,
source§fn into_sample(self) -> S
fn into_sample(self) -> S
Convert to
S
a sample type from self
.§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read more§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read more§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read more§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more