Struct spectrusty::chip::ula128::Ula128

source ·
pub struct Ula128<B = VFNullDevice<Ula128VidFrame>, X = NoMemoryExtension> { /* private fields */ }
Expand description

128k ULA (Uncommitted Logic Array).

See Ula for description of generic parameters.

Trait Implementations§

Sets up the Blep time rate and ensures there is enough room for the single frame’s audio data. Read more
Returns a timestamp to be passed to Blep to end the frame. Read more
Calls Blep::end_frame to finalize the frame and prepare it for rendition. Read more
Renders square-wave pulses via Blep interface. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
A type of a chain of emulated peripheral devices should be declared here. Read more
Returns a mutable reference to the instance of the first bus device in the device chain.
Returns a reference to the the instance of the first bus device in the device chain.
Destructs self and returns the instance of the bus device.
Performs a system reset. Read more
Triggers a non-maskable interrupt. Returns true if NMI was accepted. Read more
Conditionally prepares the internal state for the next frame and executes instructions on the cpu as fast as possible, until the near end of that frame. Read more
Conditionally prepares the internal state for the next frame, advances the frame counter, and wraps the T-state counter if it is near the end of a frame. Read more
Executes a single instruction on the cpu with the option to pass a debugging function. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Sets EAR IN bit state after the provided interval in ∆ T-states counted from the last recorded change.
Feeds the EAR IN buffer with changes. Read more
Removes all buffered so far EAR IN changes. Read more
Returns the counter of how many times the EAR input line was read since the beginning of the current frame. Read more
Returns the current mode.
Changes the current mode.
Renders EAR input as square-wave pulses via Blep interface. Read more
Renders EAR/MIC output as square-wave pulses via Blep interface. Read more
The number of CPU cycles (T-states) per second.
The number of CPU cycles (T-states) in a single execution frame.
Returns the CPU rate (T-states / second) after multiplying it by the multiplier.
Returns the duration of a single execution frame in nanoseconds after multiplying the CPU rate by the multiplier. Read more
Returns the duration of a single execution frame after multiplying the CPU rate by the multiplier. Read more
Returns the duration of a single execution frame in nanoseconds.
Returns the duration of a single execution frame.
Returns a reference to the inner chipset.
Returns a mutable reference to the inner chipset.
Destructs self and returns the inner chipset.
This type is being used for timestamping I/O operations. See also [Clock::Timestamp].
A value of this type is returned when a break is being requested by [Io::write_io].
A value of this type is returned when a break is being requested by [Io::reti].
Should return true if the interrupt request signal - the INT line - is active. Read more
Called during the IO_IORQ cycle when executing one of the IN instructions. Read more
Called during the IO_IORQ cycle when executing one of the OUT instructions. Read more
Called during the INT_IORQ cycle when the maskable interrupt has been requested and accepted. Read more
When RETI instruction is being executed this method is being called to update the device implementation instance, so another interrupt signal can be set up if necessary. Read more
Reads the current state of the keyboard.
Sets the state of the keyboard.
This type is being used for timestamping memory operations. See also [Clock::Timestamp].
Should return a single byte read from the memory present at the given address. Read more
Should return a single byte read from the memory present at the given address. Read more
Should return the unaligned, 2 consecutive bytes from the memory present at the given address as a 16-bit unsigned integer in a LE (least significant byte first) order. Read more
Should return a single byte read from the memory present at the given pc address. Read more
Should write a byte value into the memory at the given address. Read more
Returns a read-only reference to the memory extension.
Returns a mutable reference to the memory extension.
Returns a mutable reference to the memory.
Returns a reference to the memory.
Returns mutable references to both the memory and the memory extension.
Returns a frame buffered MIC output as a pulse iterator.
Should return a currently selected screen mode.
Should set a requested screen mode and return true. If the provided mode can not be set this method should return false. Read more
Should return a reference to the primary screen data.
Should return a mutable reference to the primary screen data.
Should return a reference to the secondary screen data. Read more
Should return a mutable reference to the secondary screen data. Read more
Should return a reference to the ULAplus palette. Read more
Should return a mutable reference to the ULAplus palette. Read more
Serialize this value into the given Serde serializer. Read more
Returns the state of the “late timings” mode.
Sets the “late timings” mode on or off. Read more
Returns the last value sent to the memory port 0x7FFD if supported.
Sets the current value of the memory port 0x7FFD. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
Returns the last value sent to the memory port 0x1FFD if supported.
Sets the current value of the memory port 0x1FFD. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
Returns the last value sent to the memory port 0xFF.
Sets the current value of the memory port 0xFF. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
Returns the last value sent to the memory port 0xF4.
Sets the current value of the memory port 0xF4. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
Returns the last value sent to the register port 0xBF3B.
Sets the current value of the memory port 0xBF3B. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
Returns the last value sent to the data port 0xFF3B.
Sets the current value of the memory port 0xFF3B. Returns true if supported. Otherwise, returns false and no writing is performed. Read more
This method is used by wrappers with a different contention scheme.
Returns true if port matches the ULA port.
Sets the state of EarMic flags and optionally records an EarMic change.
Records a shadow screen swap.
Updates the border color, returns true if the border color has changed.
Returns Some(is_shadow) if a screen memory is accessible at page address: 0x4000-0x5FFF.
Returns Some(is_shadow) if a screen memory is accessible at page address: 0x6000-0x7FFF.
Returns Some(is_shadow) if a screen memory is accessible at page address: 0xC000-0xDFFF.
Returns Some(is_shadow) if a screen memory is accessible at page address: 0xE000-0xFFFF.
Returns a mutable reference to the normal frame cache and a memory reference.
Returns a mutable reference to the shadow frame cache and a memory reference.
Returns true if the shadow screen is displayed at the beginning of the video frame.
Returns true if the shadow screen is currently being displayed.
Returns references to components necessary for video rendering.
The type implementing VideoFrame, that is being used by the chipset emulator.
The type implementing MemoryContention, that is being used by the chipset emulator.
Returns the current border color.
Force sets the border area to the given color.
Renders last emulated frame’s video data into the provided pixel buffer. Read more
Returns the screen bank index of the currently visible screen. Read more
Returns the current value of the video T-state counter.
Returns the current value of the video T-state clock.
Modifies the current value of the video T-state counter.
Returns the temporary video flash attribute state.
The horizontal pixel density. Read more
Returns rendered screen pixel size (horizontal, vertical), including the border area, measured in pixels depending on Video::PIXEL_DENSITY. Read more
Returns the horizontal pixel density.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Converts self into T using Into<T>. Read more
Causes self to use its Binary implementation when Debug-formatted.
Causes self to use its Display implementation when Debug-formatted. Read more
Causes self to use its LowerExp implementation when Debug-formatted. Read more
Causes self to use its LowerHex implementation when Debug-formatted. Read more
Causes self to use its Octal implementation when Debug-formatted.
Causes self to use its Pointer implementation when Debug-formatted. Read more
Causes self to use its UpperExp implementation when Debug-formatted. Read more
Causes self to use its UpperHex implementation when Debug-formatted. Read more
Formats each item in a sequence. Read more
Returns the value of the current execution frame counter. The FrameState implementation should count passing frames infinitely wrapping at 2^64. Read more
Sets the frame counter to the specified value.
Returns a normalized frame counter and a T-state counter as a tuple. Read more
Returns the current value of the T-state counter. Read more
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. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Convert to S a sample type from self.
Attempts to read the SCR file from the src and load it into the underlying implementation. Read more
Attempts to save the screen from the underlying implementation and write as the SCR file into the dst. Read more
Pipes by value. This is generally the method you want to use. Read more
Borrows self and passes that borrow into the pipe function. Read more
Mutably borrows self and passes that borrow into the pipe function. Read more
Borrows self, then passes self.borrow() into the pipe function. Read more
Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Borrows self, then passes self.as_ref() into the pipe function.
Mutably borrows self, then passes self.as_mut() into the pipe function. Read more
Borrows self, then passes self.deref() into the pipe function.
Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more
Immutable access to a value. Read more
Mutable access to a value. Read more
Immutable access to the Borrow<B> of a value. Read more
Mutable access to the BorrowMut<B> of a value. Read more
Immutable access to the AsRef<R> view of a value. Read more
Mutable access to the AsMut<R> view of a value. Read more
Immutable access to the Deref::Target of a value. Read more
Mutable access to the Deref::Target of a value. Read more
Calls .tap() only in debug builds, and is erased in release builds.
Calls .tap_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more
Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_ref() only in debug builds, and is erased in release builds. Read more
Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_deref() only in debug builds, and is erased in release builds. Read more
Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Attempts to convert self into T using TryInto<T>. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.