Beispiel #1
0
static INPUT_CHANGED( key_stroke )
{
	esq1_state *state = device.machine().driver_data<esq1_state>();

    if (oldval == 0 && newval == 1)
    {
        printf("key on %02x\n", (int)(FPTR)param);
        duart68681_rx_data(state->m_duart, 1, (UINT8)(FPTR)param);
    }
    else if (oldval == 1 && newval == 0)
    {
        printf("key off %02x\n", (int)(FPTR)param);
//        duart68681_rx_data(state->m_duart, 1, (UINT8)(FPTR)param-0x40);
    }
}
Beispiel #2
0
static void duart_tx(device_t *device, int channel, UINT8 data)
{
	esqkt_state *state = device->machine().driver_data<esqkt_state>();

	if (channel == 1)
	{
//        printf("ch %d: [%02x] (PC=%x)\n", channel, data, state->m_maincpu->pc());

		state->m_sq1vfd->write_char(data);

		if (state->m_bCalibSecondByte)
		{
			if (data == 0xfd)   // calibration request
			{
				duart68681_rx_data(state->m_duart, 1, (UINT8)(FPTR)0xff);   // this is the correct response for "calibration OK"
			}
			state->m_bCalibSecondByte = false;
		}
		else if (data == 0xfb)   // request calibration
		{
			state->m_bCalibSecondByte = true;
		}
	}
}
Beispiel #3
0
static void data_from_i8031(device_t *device, int data)
{
	micro3d_state *state = device->machine().driver_data<micro3d_state>();
	duart68681_rx_data(state->m_duart68681, 1, data);
}
Beispiel #4
0
static WRITE8_DEVICE_HANDLER( sgi_kbd_put )
{
	duart68681_rx_data(device->machine().device("duart68681a"), 1, data);
}
Beispiel #5
0
static WRITE8_DEVICE_HANDLER( ht68k_kbd_put )
{
	duart68681_rx_data(device->machine().device("duart68681"), 0, data);
}
Beispiel #6
0
static void data_from_i8031(const device_config *device, int data)
{
	duart68681_rx_data(duart68681, 1, data);
}