// the chip implementation calls this whenever data is written outside // of the chip; our responsibility is to pass the written data on to any consumers public void ymfm_interface_ymfm_external_write(ymfm.access_class type, uint32_t address, uint8_t data) { if (type == ymfm.access_class.ACCESS_IO && !m_io_write[address & 1].isnull()) { m_io_write[address & 1].op_u8(data); } }
protected override void ymfm_external_write(ymfm.access_class type, uint32_t address, uint8_t data) { m_device.ymfm_interface_ymfm_external_write(type, address, data); }
protected override uint8_t ymfm_external_read(ymfm.access_class type, uint32_t address) { return(m_device.ymfm_interface_ymfm_external_read(type, address)); }
// the chip implementation calls this whenever data is read from outside // of the chip; our responsibility is to provide the data requested public uint8_t ymfm_interface_ymfm_external_read(ymfm.access_class type, uint32_t address) { return((type != ymfm.access_class.ACCESS_IO || m_io_read[address & 1].isnull()) ? (u8)0 : m_io_read[address & 1].op_u8()); }