Ejemplo n.º 1
0
void ldv1000_state::execute_command(int command)
{
	static const UINT8 digits[10] = { 0x3f, 0x0f, 0x8f, 0x4f, 0x2f, 0xaf, 0x6f, 0x1f, 0x9f, 0x5f };
	switch (command)
	{
		case CMD_SCAN_REVERSE:
			laserdisc_data_w(m_laserdisc, 0xf8);
			m_playing = true;
			break;

		case CMD_STEP_REVERSE:
			laserdisc_data_w(m_laserdisc, 0xfe);
			m_playing = false;
			break;

		case CMD_SCAN_FORWARD:
			laserdisc_data_w(m_laserdisc, 0xf0);
			m_playing = true;
			break;

		case CMD_STEP_FORWARD:
			laserdisc_data_w(m_laserdisc, 0xf6);
			m_playing = false;
			break;

		case CMD_PLAY:
			laserdisc_data_w(m_laserdisc, 0xfd);
			m_playing = true;
			break;

		case CMD_PAUSE:
			laserdisc_data_w(m_laserdisc, 0xa0);
			m_playing = false;
			break;

		case CMD_FRAME_TOGGLE:
			laserdisc_data_w(m_laserdisc, 0xf1);
			break;

		case CMD_0:
		case CMD_1:
		case CMD_2:
		case CMD_3:
		case CMD_4:
		case CMD_5:
		case CMD_6:
		case CMD_7:
		case CMD_8:
		case CMD_9:
			laserdisc_data_w(m_laserdisc, digits[command - CMD_0]);
			break;

		case CMD_SEARCH:
			laserdisc_data_w(m_laserdisc, 0xf7);
			m_playing = false;
			break;
	}
}
Ejemplo n.º 2
0
static void ldv1000_execute(const device_config *laserdisc, int command)
{
	static const UINT8 digits[10] = { 0x3f, 0x0f, 0x8f, 0x4f, 0x2f, 0xaf, 0x6f, 0x1f, 0x9f, 0x5f };
	switch (command)
	{
		case CMD_SCAN_REVERSE:
			laserdisc_data_w(laserdisc, 0xf8);
			playing = TRUE;
			break;

		case CMD_STEP_REVERSE:
			laserdisc_data_w(laserdisc, 0xfe);
			playing = FALSE;
			break;

		case CMD_SCAN_FORWARD:
			laserdisc_data_w(laserdisc, 0xf0);
			playing = TRUE;
			break;

		case CMD_STEP_FORWARD:
			laserdisc_data_w(laserdisc, 0xf6);
			playing = FALSE;
			break;

		case CMD_PLAY:
			laserdisc_data_w(laserdisc, 0xfd);
			playing = TRUE;
			break;

		case CMD_PAUSE:
			laserdisc_data_w(laserdisc, 0xa0);
			playing = FALSE;
			break;

		case CMD_FRAME_TOGGLE:
			laserdisc_data_w(laserdisc, 0xf1);
			break;

		case CMD_0:
		case CMD_1:
		case CMD_2:
		case CMD_3:
		case CMD_4:
		case CMD_5:
		case CMD_6:
		case CMD_7:
		case CMD_8:
		case CMD_9:
			laserdisc_data_w(laserdisc, digits[command - CMD_0]);
			break;

		case CMD_SEARCH:
			laserdisc_data_w(laserdisc, 0xf7);
			playing = FALSE;
			break;
	}
}
Ejemplo n.º 3
0
static WRITE8_HANDLER( dleuro_misc_w )
{
	dlair_state *state = space->machine->driver_data<dlair_state>();
	/*
           D0 = CHAR GEN ON+
           D1 = KILL VIDEO+
           D2 = SEL CHAR GEN VIDEO+
           D3 = counter 2
           D4 = coin counter
           D5 = OUT DISC DATA
           D6 = ENTER
           D7 = INT/EXT
    */
	UINT8 diff = data ^ state->last_misc;
	state->last_misc = data;

	coin_counter_w(space->machine, 1, (~data >> 3) & 1);
	coin_counter_w(space->machine, 0, (~data >> 4) & 1);

	/* on bit 5 going low, push the data out to the laserdisc player */
	if ((diff & 0x20) && !(data & 0x20))
		laserdisc_data_w(state->laserdisc, state->laserdisc_data);

	/* on bit 6 going low, we need to signal enter */
	laserdisc_line_w(state->laserdisc, LASERDISC_LINE_ENTER, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
}
Ejemplo n.º 4
0
/* WRITES */
static WRITE8_HANDLER( astron_DISC_write )
{
	logerror("DISC write : 0x%04x @  0x%04x [0x%x]\n", data, offset, cpu_get_pc(space->cpu));

	ldv1000_output_latch = data;

	if (nmi_enable)
		laserdisc_data_w(laserdisc, ldv1000_output_latch);
}
Ejemplo n.º 5
0
/* WRITES */
static WRITE8_HANDLER( astron_DISC_write )
{
	segald_state *state = space->machine().driver_data<segald_state>();

	logerror("DISC write : 0x%04x @  0x%04x [0x%x]\n", data, offset, cpu_get_pc(&space->device()));

	state->m_ldv1000_output_latch = data;

	if (state->m_nmi_enable)
		laserdisc_data_w(state->m_laserdisc, state->m_ldv1000_output_latch);
}
Ejemplo n.º 6
0
static void serial_w(UINT16 data)
{
	/* write to the laserdisc player */
	laserdisc_data_w(discinfo, data & 0xff);

	/* if we have data available, set a timer to read it */
	if (!serial_timer_active && laserdisc_line_r(discinfo, LASERDISC_LINE_DATA_AVAIL) == ASSERT_LINE)
	{
		timer_adjust(serial_timer, amiga_get_serial_char_period(), 0, 0);
		serial_timer_active = TRUE;
	}
}
Ejemplo n.º 7
0
static WRITE8_DEVICE_HANDLER( serial_transmit )
{
	dlair_state *state = device->machine->driver_data<dlair_state>();
	laserdisc_data_w(state->laserdisc, data);
}
Ejemplo n.º 8
0
static WRITE8_HANDLER(ldp_write)
{
    laserdisc_data_w(discinfo,data);
}
Ejemplo n.º 9
0
static WRITE8_HANDLER(ldp_write)
{
	lgp_state *state = space->machine().driver_data<lgp_state>();
	laserdisc_data_w(state->m_laserdisc,data);
}