Ejemplo n.º 1
0
void z80sti_device::tra_callback()
{
	if (m_out_so_func.isnull())
		transmit_register_send_bit();
	else
		m_out_so_func(transmit_register_get_data_bit());
}
Ejemplo n.º 2
0
void mos6551_device::tra_callback()
{
	if (m_txd_handler.isnull())
		transmit_register_send_bit();
	else
		m_txd_handler(transmit_register_get_data_bit());
}
Ejemplo n.º 3
0
void mos6551_device::tra_callback()
{
	if (m_write_txd.isnull())
		transmit_register_send_bit();
	else
		m_write_txd(transmit_register_get_data_bit());
}
Ejemplo n.º 4
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);
		}
	}
}
Ejemplo n.º 5
0
void z80dart_channel::tra_callback()
{
	if (!(m_wr[5] & WR5_TX_ENABLE))
	{
		// transmit mark
		m_out_txd_func(1);
		set_out_data_bit(1);
	}
	else if (m_wr[5] & WR5_SEND_BREAK)
	{
		// transmit break
		m_out_txd_func(0);
		set_out_data_bit(0);
	}
	else if (!is_transmit_register_empty())
	{
		// transmit data
		if (m_out_txd_func.isnull())
			transmit_register_send_bit();
		else
			m_out_txd_func(transmit_register_get_data_bit());
	}
}