[−][src]Trait spectrusty::chip::plus::UlaPlusInner
Implemented by chipsets that UlaPlus can enhance.
Associated Types
type ScreenSwapIter: Iterator<Item = VideoTs> + 'a
Required methods
fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs)
Sets the state of EarMic flags and optionally records an EarMic change.
fn push_screen_change(&mut self, ts: VideoTs)
Records a shadow screen swap.
fn update_last_border_color(&mut self, border: BorderColor) -> bool
Updates the border color, returns true
if the border color has changed.
fn page1_screen0_shadow_bank(&self) -> Option<bool>
Returns Some(is_shadow)
if a screen memory is accessible at page address: 0x4000-0x5FFF.
fn page1_screen1_shadow_bank(&self) -> Option<bool>
Returns Some(is_shadow)
if a screen memory is accessible at page address: 0x6000-0x7FFF.
fn page3_screen0_shadow_bank(&self) -> Option<bool>
Returns Some(is_shadow)
if a screen memory is accessible at page address: 0xC000-0xDFFF.
fn page3_screen1_shadow_bank(&self) -> Option<bool>
Returns Some(is_shadow)
if a screen memory is accessible at page address: 0xE000-0xFFFF.
fn frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
Returns a mutable reference to the normal frame cache and a memory reference.
fn shadow_frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
Returns a mutable reference to the shadow frame cache and a memory reference.
fn beg_screen_shadow(&self) -> bool
Returns true if the shadow screen is displayed at the beginning of the video frame.
fn cur_screen_shadow(&self) -> bool
Returns true if the shadow screen is currently being displayed.
fn video_render_data_view(
&'a mut self
) -> VideoRenderDataView<'a, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>
&'a mut self
) -> VideoRenderDataView<'a, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>
Returns references to components necessary for video rendering.
Provided methods
fn is_ula_port(port: u16) -> bool
Returns true
if port
matches the ULA port.
Implementors
impl<'a, B, X> UlaPlusInner<'a> for Ula3<B, X> where
X: MemoryExtension,
[src]
X: MemoryExtension,
type ScreenSwapIter = Drain<'a, VideoTs>
fn is_ula_port(port: u16) -> bool
[src]
fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs)
[src]
fn push_screen_change(&mut self, ts: VideoTs)
[src]
fn update_last_border_color(&mut self, border: BorderColor) -> bool
[src]
fn page1_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page1_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn shadow_frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn beg_screen_shadow(&self) -> bool
[src]
fn cur_screen_shadow(&self) -> bool
[src]
fn video_render_data_view(
&mut self
) -> VideoRenderDataView<'_, Drain<'_, VideoTs>, Self::Memory, Self::VideoFrame>
[src]
&mut self
) -> VideoRenderDataView<'_, Drain<'_, VideoTs>, Self::Memory, Self::VideoFrame>
impl<'a, B, X> UlaPlusInner<'a> for Ula128<B, X> where
X: MemoryExtension,
[src]
X: MemoryExtension,
type ScreenSwapIter = Drain<'a, VideoTs>
fn is_ula_port(port: u16) -> bool
[src]
fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs)
[src]
fn push_screen_change(&mut self, ts: VideoTs)
[src]
fn update_last_border_color(&mut self, border: BorderColor) -> bool
[src]
fn page1_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page1_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn shadow_frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn beg_screen_shadow(&self) -> bool
[src]
fn cur_screen_shadow(&self) -> bool
[src]
fn video_render_data_view(
&mut self
) -> VideoRenderDataView<'_, Drain<'_, VideoTs>, Self::Memory, Self::VideoFrame>
[src]
&mut self
) -> VideoRenderDataView<'_, Drain<'_, VideoTs>, Self::Memory, Self::VideoFrame>
impl<'a, M, B, X, V> UlaPlusInner<'a> for Ula<M, B, X, V> where
M: ZxMemory,
X: MemoryExtension,
V: VideoFrame,
[src]
M: ZxMemory,
X: MemoryExtension,
V: VideoFrame,
type ScreenSwapIter = Empty<VideoTs>
fn is_ula_port(port: u16) -> bool
[src]
fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs)
[src]
fn push_screen_change(&mut self, _ts: VideoTs)
[src]
fn update_last_border_color(&mut self, border: BorderColor) -> bool
[src]
fn page1_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page1_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen0_shadow_bank(&self) -> Option<bool>
[src]
fn page3_screen1_shadow_bank(&self) -> Option<bool>
[src]
fn frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn shadow_frame_cache_mut_mem_ref(
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]
&mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
fn beg_screen_shadow(&self) -> bool
[src]
fn cur_screen_shadow(&self) -> bool
[src]
fn video_render_data_view(
&mut self
) -> VideoRenderDataView<'_, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>
[src]
&mut self
) -> VideoRenderDataView<'_, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>