pub struct AyPlayer<P> {
    pub frames: Wrapping<u64>,
    pub tsc: TsCounter<FTs>,
    pub memory: Memory64k,
    pub ay_sound: Ay3_891xAudio,
    pub ay_io: Ay3_8913Io<FTs>,
    pub earmic_changes: Vec<FTsData2>,
    pub last_earmic: u8,
    pub prev_earmic: u8,
    /* private fields */
}

Fields§

§frames: Wrapping<u64>§tsc: TsCounter<FTs>§memory: Memory64k§ay_sound: Ay3_891xAudio§ay_io: Ay3_8913Io<FTs>§earmic_changes: Vec<FTsData2>§last_earmic: u8§prev_earmic: u8

Implementations§

Changes the cpu clock frequency and the duration of frames.

Changes the cpu clock frequency and the duration of frames.

Resets the frames counter.

Writes data directly into the AY registers, recording changes and advancing the clock counter.

Sets the clock counter to timestamp.

Panics

The timestamp must be larger than or equal to the current clock counter value.

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
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Renders EAR/MIC output as square-wave pulses via Blep interface. 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
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
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
Serialize this value into the given Serde serializer. Read more

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 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.
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.