Beispiel #1
0
void z80sti_device::rcv_callback()
{
	if (m_in_si_func.isnull())
		receive_register_update_bit(get_in_data_bit());
	else
		receive_register_update_bit(m_in_si_func());
}
Beispiel #2
0
void mos6551_device::rcv_callback()
{
	if (m_read_rxd.isnull())
		receive_register_update_bit(get_in_data_bit());
	else
		receive_register_update_bit(m_read_rxd());
}
Beispiel #3
0
void z80dart_channel::rcv_callback()
{
	if (m_wr[3] & WR3_RX_ENABLE)
	{
		if (m_in_rxd_func.isnull())
			receive_register_update_bit(get_in_data_bit());
		else
			receive_register_update_bit(m_in_rxd_func());
	}
}
Beispiel #4
0
void z80dart_channel::rcv_callback()
{
	if (m_wr[3] & WR3_RX_ENABLE)
	{
		receive_register_update_bit(m_rxd);
	}
}
Beispiel #5
0
void i8251_device::receive_clock()
{
	/* receive enable? */
	if (BIT(m_command, 2))
	{
		const bool sync = is_receive_register_synchronized();
		if (sync)
		{
			--m_rxc_count;
			if (m_rxc_count)
				return;
		}

		//logerror("I8251\n");
		/* get bit received from other side and update receive register */
		receive_register_update_bit(m_rxd);
		if (is_receive_register_synchronized())
			m_rxc_count = sync ? m_br_factor : (3 * m_br_factor / 2);

		if (is_receive_register_full())
		{
			receive_register_extract();
			receive_character(get_received_char());
		}
	}
}
Beispiel #6
0
void px4_state::rcv_callback()
{
	if (ART_RX_ENABLED)
	{
		// receive data
		receive_register_update_bit(m_serial_rx);
	}
}
Beispiel #7
0
void zx8302_device::rcv_callback()
{
	switch (m_tcr & MODE_MASK)
	{
	case MODE_NET:
		receive_register_update_bit(m_rs232_rx);
		break;
	}
}
void i8251_device::receive_clock()
{
	/* receive enable? */
	if (m_command & (1<<2))
	{
		//logerror("I8251\n");
		/* get bit received from other side and update receive register */
		if(m_in_rxd_func.isnull())
			receive_register_update_bit(get_in_data_bit());
		else
			receive_register_update_bit(m_in_rxd_func());

		if (is_receive_register_full())
		{
			receive_register_extract();
			receive_character(get_received_char());
		}
	}
}
Beispiel #9
0
void wangpc_keyboard_device::input_callback(UINT8 state)
{
	int bit = (state & RX) ? 1 : 0;

	receive_register_update_bit(bit);

	if (is_receive_register_full())
	{
		m_maincpu->set_input_line(MCS51_RX_LINE, ASSERT_LINE);
		receive_register_extract();

		if (LOG) logerror("Wang PC keyboard receive data %02x\n", get_received_char());
	}
}
Beispiel #10
0
//-------------------------------------------------
//  rcv_callback -
//-------------------------------------------------
void z80sio_channel::rcv_callback()
{
	if (m_wr3 & WR3_RX_ENABLE)
	{
		LOG("%s() \"%s \"Channel %c Received Data Bit %d\n", FUNCNAME, m_owner->tag(), 'A' + m_index, m_rxd);
		receive_register_update_bit(m_rxd);
	}
#if 0
	else
	{
		LOG("%s() \"%s \"Channel %c Received Data Bit but receiver is disabled\n", FUNCNAME, m_owner->tag(), 'A' + m_index);
		logerror("Z80SIO %s() \"%s \"Channel %c Received data dit but receiver is disabled\n", __func__, m_owner->tag(), 'A' + m_index);
	}
#endif
}
Beispiel #11
0
//-------------------------------------------------
//  rcv_callback -
//-------------------------------------------------
void z80sio_channel::rcv_callback()
{
	if (m_wr3 & WR3_RX_ENABLE)
	{
		LOG(("%" I64FMT "d %s() \"%s \"Channel %c Received Data Bit %d\n", machine().firstcpu->total_cycles(), FUNCNAME, m_owner->tag().c_str(), 'A' + m_index, m_rxd));
		receive_register_update_bit(m_rxd);
	}
#if 0
	else
	{
		LOG(("%" I64FMT "d %s() \"%s \"Channel %c Received Data Bit but receiver is disabled\n", machine().firstcpu->total_cycles(), FUNCNAME, m_owner->tag().c_str(), 'A' + m_index));
		logerror("Z80SIO %s() \"%s \"Channel %c Received data dit but receiver is disabled\n", __func__, m_owner->tag(), 'A' + m_index);
	}
#endif
}
Beispiel #12
0
inline void im6402_device::receive()
{
	if (m_in_rri_func.isnull())
	{
		receive_register_update_bit(get_in_data_bit());
	}
	else
	{
		receive_register_update_bit(m_in_rri_func());
	}

	if (is_receive_register_full())
	{
		receive_register_extract();
		m_rbr = get_received_char();

		if (m_dr)
		{
			m_oe = 1;
		}

		set_dr(ASSERT_LINE);
	}
}
Beispiel #13
0
inline void im6402_device::receive_bit(int state)
{
	if (LOG) logerror("IM6402 '%s' Receive Bit %u\n", tag(), state);

	receive_register_update_bit(state);

	if (is_receive_register_full())
	{
		receive_register_extract();
		m_rbr = get_received_char();

		if (LOG) logerror("IM6402 '%s' Receive Data %02x\n", tag(), m_rbr);

		if (m_dr)
		{
			m_oe = 1;
		}

		set_dr(ASSERT_LINE);
	}
}
Beispiel #14
0
void i8251_device::receive_clock()
{
	m_rxc_count++;

	if (m_rxc_count == m_br_factor)
		m_rxc_count = 0;
	else
		return;

	/* receive enable? */
	if (m_command & (1<<2))
	{
		//logerror("I8251\n");
		/* get bit received from other side and update receive register */
		receive_register_update_bit(m_rxd);

		if (is_receive_register_full())
		{
			receive_register_extract();
			receive_character(get_received_char());
		}
	}
}
Beispiel #15
0
void z80sti_device::rcv_callback()
{
	receive_register_update_bit(get_in_data_bit());
}
Beispiel #16
0
void wangpc_keyboard_device::rcv_callback()
{
	if (LOG) logerror("KB '%s' Receive Bit %u\n", tag(), m_rxd);

	receive_register_update_bit(m_rxd);
}