Exemplo n.º 1
0
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);
		}
	}
}
Exemplo n.º 2
0
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);
		}
	}
}