pub struct InterfaceHandler {
pub advance_clock: Option<Box<dyn FnMut(i64) -> u8>>,
pub read_data: Option<Box<dyn Fn(AccessClass, u32, u32) -> Vec<u8>>>,
pub write_data: Option<Box<dyn FnMut(AccessClass, u32, &[u8])>>,
pub ymfm_external_read: Option<Box<dyn FnMut(AccessClass, u32) -> u8>>,
pub ymfm_external_write: Option<Box<dyn FnMut(AccessClass, u32, u8)>>,
pub ymfm_is_busy: Option<Box<dyn Fn() -> bool>>,
pub ymfm_set_busy_end: Option<Box<dyn FnMut(u32)>>,
pub ymfm_set_timer: Option<Box<dyn FnMut(u32, i32)>>,
pub ymfm_update_irq: Option<Box<dyn FnMut(bool)>>,
}Expand description
User-provided ymfm interface handlers. Each callback is optional; omitted callbacks use the corresponding no-op/default behavior.
Fields§
§advance_clock: Option<Box<dyn FnMut(i64) -> u8>>§read_data: Option<Box<dyn Fn(AccessClass, u32, u32) -> Vec<u8>>>§write_data: Option<Box<dyn FnMut(AccessClass, u32, &[u8])>>§ymfm_external_read: Option<Box<dyn FnMut(AccessClass, u32) -> u8>>§ymfm_external_write: Option<Box<dyn FnMut(AccessClass, u32, u8)>>§ymfm_is_busy: Option<Box<dyn Fn() -> bool>>§ymfm_set_busy_end: Option<Box<dyn FnMut(u32)>>§ymfm_set_timer: Option<Box<dyn FnMut(u32, i32)>>§ymfm_update_irq: Option<Box<dyn FnMut(bool)>>Trait Implementations§
Source§impl Default for InterfaceHandler
impl Default for InterfaceHandler
Source§fn default() -> InterfaceHandler
fn default() -> InterfaceHandler
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for InterfaceHandler
impl !Send for InterfaceHandler
impl !Sync for InterfaceHandler
impl !UnwindSafe for InterfaceHandler
impl Freeze for InterfaceHandler
impl Unpin for InterfaceHandler
impl UnsafeUnpin for InterfaceHandler
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