Struct moa_peripherals_yamaha::ym2612::Ym2612
source · pub struct Ym2612 {Show 17 fields
source: Box<dyn Audio>,
selected_reg_0: Option<NonZeroU8>,
selected_reg_1: Option<NonZeroU8>,
fm_clock_period: Duration,
next_fm_clock: u64,
envelope_clock: u64,
channels: Vec<Channel>,
dac: Dac,
timer_a_enable: bool,
timer_a: u16,
timer_a_current: u16,
timer_a_overflow: bool,
timer_b_enable: bool,
timer_b: u8,
timer_b_current: u8,
timer_b_overflow: bool,
registers: Vec<u8>,
}
Fields§
§source: Box<dyn Audio>
§selected_reg_0: Option<NonZeroU8>
§selected_reg_1: Option<NonZeroU8>
§fm_clock_period: Duration
§next_fm_clock: u64
§envelope_clock: u64
§channels: Vec<Channel>
§dac: Dac
§timer_a_enable: bool
§timer_a: u16
§timer_a_current: u16
§timer_a_overflow: bool
§timer_b_enable: bool
§timer_b: u8
§timer_b_current: u8
§timer_b_overflow: bool
§registers: Vec<u8>
Implementations§
Trait Implementations§
source§impl Addressable for Ym2612
impl Addressable for Ym2612
fn size(&self) -> usize
fn read( &mut self, _clock: Instant, addr: Address, data: &mut [u8] ) -> Result<(), Error>
fn write( &mut self, clock: Instant, addr: Address, data: &[u8] ) -> Result<(), Error>
fn read_u8(&mut self, clock: Instant, addr: u64) -> Result<u8, Error>
fn read_beu16(&mut self, clock: Instant, addr: u64) -> Result<u16, Error>
fn read_leu16(&mut self, clock: Instant, addr: u64) -> Result<u16, Error>
fn read_beu32(&mut self, clock: Instant, addr: u64) -> Result<u32, Error>
fn read_leu32(&mut self, clock: Instant, addr: u64) -> Result<u32, Error>
fn write_u8( &mut self, clock: Instant, addr: u64, value: u8 ) -> Result<(), Error>
fn write_beu16( &mut self, clock: Instant, addr: u64, value: u16 ) -> Result<(), Error>
fn write_leu16( &mut self, clock: Instant, addr: u64, value: u16 ) -> Result<(), Error>
fn write_beu32( &mut self, clock: Instant, addr: u64, value: u32 ) -> Result<(), Error>
fn write_leu32( &mut self, clock: Instant, addr: u64, value: u32 ) -> Result<(), Error>
source§impl Transmutable for Ym2612
impl Transmutable for Ym2612
fn as_addressable(&mut self) -> Option<&mut dyn Addressable>
fn as_steppable(&mut self) -> Option<&mut dyn Steppable>
fn as_interruptable(&mut self) -> Option<&mut dyn Interruptable>
fn as_debuggable(&mut self) -> Option<&mut dyn Debuggable>
fn as_inspectable(&mut self) -> Option<&mut dyn Inspectable>
fn as_signalable(&mut self) -> Option<&mut dyn Signalable>
Auto Trait Implementations§
impl Freeze for Ym2612
impl !RefUnwindSafe for Ym2612
impl !Send for Ym2612
impl !Sync for Ym2612
impl Unpin for Ym2612
impl !UnwindSafe for Ym2612
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
source§fn into_address(self) -> T
fn into_address(self) -> T
Translate the given address into an address of type
T