[][src]Trait spectrusty::chip::plus::UlaPlusInner

pub trait UlaPlusInner<'a>: Video + MemoryAccess {
    type ScreenSwapIter: Iterator<Item = VideoTs> + 'a;
    pub fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs);
pub fn push_screen_change(&mut self, ts: VideoTs);
pub fn update_last_border_color(&mut self, border: BorderColor) -> bool;
pub fn page1_screen0_shadow_bank(&self) -> Option<bool>;
pub fn page1_screen1_shadow_bank(&self) -> Option<bool>;
pub fn page3_screen0_shadow_bank(&self) -> Option<bool>;
pub fn page3_screen1_shadow_bank(&self) -> Option<bool>;
pub fn frame_cache_mut_mem_ref(
        &mut self
    ) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory);
pub fn shadow_frame_cache_mut_mem_ref(
        &mut self
    ) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory);
pub fn beg_screen_shadow(&self) -> bool;
pub fn cur_screen_shadow(&self) -> bool;
pub fn video_render_data_view(
        &'a mut self
    ) -> VideoRenderDataView<'a, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>; pub fn is_ula_port(port: u16) -> bool { ... } }

Implemented by chipsets that UlaPlus can enhance.

Associated Types

Loading content...

Required methods

pub fn ula_write_earmic(&mut self, flags: UlaPortFlags, ts: VideoTs)[src]

Sets the state of EarMic flags and optionally records an EarMic change.

pub fn push_screen_change(&mut self, ts: VideoTs)[src]

Records a shadow screen swap.

pub fn update_last_border_color(&mut self, border: BorderColor) -> bool[src]

Updates the border color, returns true if the border color has changed.

pub fn page1_screen0_shadow_bank(&self) -> Option<bool>[src]

Returns Some(is_shadow) if a screen memory is accessible at page address: 0x4000-0x5FFF.

pub fn page1_screen1_shadow_bank(&self) -> Option<bool>[src]

Returns Some(is_shadow) if a screen memory is accessible at page address: 0x6000-0x7FFF.

pub fn page3_screen0_shadow_bank(&self) -> Option<bool>[src]

Returns Some(is_shadow) if a screen memory is accessible at page address: 0xC000-0xDFFF.

pub fn page3_screen1_shadow_bank(&self) -> Option<bool>[src]

Returns Some(is_shadow) if a screen memory is accessible at page address: 0xE000-0xFFFF.

pub fn frame_cache_mut_mem_ref(
    &mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]

Returns a mutable reference to the normal frame cache and a memory reference.

pub fn shadow_frame_cache_mut_mem_ref(
    &mut self
) -> (&mut UlaFrameCache<Self::VideoFrame>, &Self::Memory)
[src]

Returns a mutable reference to the shadow frame cache and a memory reference.

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

Returns true if the shadow screen is displayed at the beginning of the video frame.

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

Returns true if the shadow screen is currently being displayed.

pub fn video_render_data_view(
    &'a mut self
) -> VideoRenderDataView<'a, Self::ScreenSwapIter, Self::Memory, Self::VideoFrame>
[src]

Returns references to components necessary for video rendering.

Loading content...

Provided methods

pub fn is_ula_port(port: u16) -> bool[src]

Returns true if port matches the ULA port.

Loading content...

Implementors

impl<'a, B, X> UlaPlusInner<'a> for Ula3<B, X> where
    X: MemoryExtension
[src]

type ScreenSwapIter = Drain<'a, VideoTs>

impl<'a, B, X> UlaPlusInner<'a> for Ula128<B, X> where
    X: MemoryExtension
[src]

type ScreenSwapIter = Drain<'a, VideoTs>

impl<'a, M, B, X, V> UlaPlusInner<'a> for Ula<M, B, X, V> where
    M: ZxMemory,
    X: MemoryExtension,
    V: VideoFrame
[src]

type ScreenSwapIter = Empty<VideoTs>

Loading content...