inline void im6402_device::transmit() { if (is_transmit_register_empty() && !m_tbre) { if (LOG) logerror("IM6402 '%s' Transmit Data %02x\n", tag(), m_tbr); transmit_register_setup(m_tbr); set_tbre(ASSERT_LINE); set_tre(CLEAR_LINE); } if (!is_transmit_register_empty()) { int bit = transmit_register_send_bit(); if (LOG) logerror("IM6402 '%s' Transmit Bit %u\n", tag(), bit); m_out_tro_func(bit); if (is_transmit_register_empty()) { set_tre(ASSERT_LINE); } } }
inline void im6402_device::transmit() { if (is_transmit_register_empty() && !m_tbre) { transmit_register_setup(m_tbr); set_tbre(ASSERT_LINE); set_tre(CLEAR_LINE); } if (!is_transmit_register_empty()) { int bit = transmit_register_get_data_bit(); m_out_tro_func(bit); serial_connection_out(); if (is_transmit_register_empty()) { set_tre(ASSERT_LINE); } } }