Ejemplo n.º 1
0
static WRITE8_HANDLER( jingbell_leds_w )
{
	set_led_status(0, data & 0x01);	// stop_1
	set_led_status(1, data & 0x02);	// stop_2
	set_led_status(2, data & 0x04);	// stop_3
	set_led_status(3, data & 0x08);	// stop
	// data & 0x10?

	out[2] = data;
	show_out();
}
Ejemplo n.º 2
0
static WRITE8_HANDLER( jingbell_video_and_leds_w )
{
	set_led_status(4,	  data & 0x01);	// start?
	set_led_status(5,	  data & 0x04);	// l_bet?

	video_enable	=	  data & 0x40;
	hopper			=	(~data)& 0x80;

	out[1] = data;
	show_out();
}
Ejemplo n.º 3
0
static WRITE8_HANDLER( lamps1_w )
{
	/* button lamps */
	set_led_status(0,data & 0x01);
	set_led_status(1,data & 0x02);
	set_led_status(2,data & 0x04);
	set_led_status(3,data & 0x08);
	set_led_status(4,data & 0x10);

	/* bit 5 toggles all the time - extra lamp? */
}
Ejemplo n.º 4
0
static WRITE8_HANDLER( lamps1_w )
{
	/* button lamps */
	set_led_status(space->machine, 0,data & 0x01);
	set_led_status(space->machine, 1,data & 0x02);
	set_led_status(space->machine, 2,data & 0x04);
	set_led_status(space->machine, 3,data & 0x08);
	set_led_status(space->machine, 4,data & 0x10);

	/* bit 5 toggles all the time - extra lamp? */
}
Ejemplo n.º 5
0
static void dragrace_update_misc_flags( address_space &space )
{
	dragrace_state *state = space.machine().driver_data<dragrace_state>();
	/* 0x0900 = set 3SPEED1         0x00000001
	 * 0x0901 = set 4SPEED1         0x00000002
	 * 0x0902 = set 5SPEED1         0x00000004
	 * 0x0903 = set 6SPEED1         0x00000008
	 * 0x0904 = set 7SPEED1         0x00000010
	 * 0x0905 = set EXPLOSION1      0x00000020
	 * 0x0906 = set SCREECH1        0x00000040
	 * 0x0920 - 0x0927 = clear 0x0900 - 0x0907

	 * 0x0909 = set KLEXPL1         0x00000200
	 * 0x090b = set MOTOR1          0x00000800
	 * 0x090c = set ATTRACT         0x00001000
	 * 0x090d = set LOTONE          0x00002000
	 * 0x090f = set Player 1 Start Lamp 0x00008000
	 * 0x0928 - 0x092f = clear 0x0908 - 0x090f

	 * 0x0910 = set 3SPEED2         0x00010000
	 * 0x0911 = set 4SPEED2         0x00020000
	 * 0x0912 = set 5SPEED2         0x00040000
	 * 0x0913 = set 6SPEED2         0x00080000
	 * 0x0914 = set 7SPEED2         0x00100000
	 * 0x0915 = set EXPLOSION2      0x00200000
	 * 0x0916 = set SCREECH2        0x00400000
	 * 0x0930 = clear 0x0910 - 0x0917

	 * 0x0919 = set KLEXPL2         0x02000000
	 * 0x091b = set MOTOR2          0x08000000
	 * 0x091d = set HITONE          0x20000000
	 * 0x091f = set Player 2 Start Lamp 0x80000000
	 * 0x0938 = clear 0x0918 - 0x091f
	 */
	set_led_status(space.machine(), 0, state->m_misc_flags & 0x00008000);
	set_led_status(space.machine(), 1, state->m_misc_flags & 0x80000000);

	discrete_sound_w(state->m_discrete, space, DRAGRACE_MOTOR1_DATA,  ~state->m_misc_flags & 0x0000001f);       // Speed1 data*
	discrete_sound_w(state->m_discrete, space, DRAGRACE_EXPLODE1_EN, (state->m_misc_flags & 0x00000020) ? 1: 0);    // Explosion1 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_SCREECH1_EN, (state->m_misc_flags & 0x00000040) ? 1: 0);    // Screech1 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_KLEXPL1_EN, (state->m_misc_flags & 0x00000200) ? 1: 0); // KLEXPL1 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_MOTOR1_EN, (state->m_misc_flags & 0x00000800) ? 1: 0);  // Motor1 enable

	discrete_sound_w(state->m_discrete, space, DRAGRACE_MOTOR2_DATA, (~state->m_misc_flags & 0x001f0000) >> 0x10);  // Speed2 data*
	discrete_sound_w(state->m_discrete, space, DRAGRACE_EXPLODE2_EN, (state->m_misc_flags & 0x00200000) ? 1: 0);    // Explosion2 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_SCREECH2_EN, (state->m_misc_flags & 0x00400000) ? 1: 0);    // Screech2 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_KLEXPL2_EN, (state->m_misc_flags & 0x02000000) ? 1: 0); // KLEXPL2 enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_MOTOR2_EN, (state->m_misc_flags & 0x08000000) ? 1: 0);  // Motor2 enable

	discrete_sound_w(state->m_discrete, space, DRAGRACE_ATTRACT_EN, (state->m_misc_flags & 0x00001000) ? 1: 0); // Attract enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_LOTONE_EN, (state->m_misc_flags & 0x00002000) ? 1: 0);  // LoTone enable
	discrete_sound_w(state->m_discrete, space, DRAGRACE_HITONE_EN, (state->m_misc_flags & 0x20000000) ? 1: 0);  // HiTone enable
}
Ejemplo n.º 6
0
static WRITE16_HANDLER( bssoccer_leds_w )
{
	if (ACCESSING_BITS_0_7)
	{
		set_led_status(space->machine, 0, data & 0x01);
		set_led_status(space->machine, 1, data & 0x02);
		set_led_status(space->machine, 2, data & 0x04);
		set_led_status(space->machine, 3, data & 0x08);
		coin_counter_w(space->machine, 0, data & 0x10);
	}
	if (data & ~0x1f)	logerror("CPU#0 PC %06X - Leds unknown bits: %04X\n", cpu_get_pc(space->cpu), data);
}
Ejemplo n.º 7
0
static void dragrace_update_misc_flags(void)
{
	/* 0x0900 = set 3SPEED1			0x00000001
	 * 0x0901 = set 4SPEED1			0x00000002
	 * 0x0902 = set 5SPEED1			0x00000004
	 * 0x0903 = set 6SPEED1			0x00000008
	 * 0x0904 = set 7SPEED1			0x00000010
	 * 0x0905 = set EXPLOSION1		0x00000020
	 * 0x0906 = set SCREECH1		0x00000040
	 * 0x0920 - 0x0927 = clear 0x0900 - 0x0907

	 * 0x0909 = set KLEXPL1			0x00000200
	 * 0x090b = set MOTOR1			0x00000800
	 * 0x090c = set ATTRACT			0x00001000
	 * 0x090d = set LOTONE			0x00002000
	 * 0x090f = set Player 1 Start Lamp	0x00008000
	 * 0x0928 - 0x092f = clear 0x0908 - 0x090f

	 * 0x0910 = set 3SPEED2			0x00010000
	 * 0x0911 = set 4SPEED2			0x00020000
	 * 0x0912 = set 5SPEED2			0x00040000
	 * 0x0913 = set 6SPEED2			0x00080000
	 * 0x0914 = set 7SPEED2			0x00100000
	 * 0x0915 = set EXPLOSION2		0x00200000
	 * 0x0916 = set SCREECH2		0x00400000
	 * 0x0930 = clear 0x0910 - 0x0917

	 * 0x0919 = set KLEXPL2			0x02000000
	 * 0x091b = set MOTOR2			0x08000000
	 * 0x091d = set HITONE			0x20000000
	 * 0x091f = set Player 2 Start Lamp	0x80000000
	 * 0x0938 = clear 0x0918 - 0x091f
	 */
	set_led_status(0, dragrace_misc_flags & 0x00008000);
	set_led_status(1, dragrace_misc_flags & 0x80000000);

	discrete_sound_w(0x06,  ~dragrace_misc_flags & 0x0000001f);		// Speed1 data*
	discrete_sound_w(0x04, (dragrace_misc_flags & 0x00000020) ? 1: 0);	// Explosion1 enable
	discrete_sound_w(0x00, (dragrace_misc_flags & 0x00000040) ? 1: 0);	// Screech1 enable
	discrete_sound_w(0x0a, (dragrace_misc_flags & 0x00000200) ? 1: 0);	// KLEXPL1 enable
	discrete_sound_w(0x08, (dragrace_misc_flags & 0x00000800) ? 1: 0);	// Motor1 enable

	discrete_sound_w(0x07, (~dragrace_misc_flags & 0x001f0000) >> 0x10);	// Speed2 data*
	discrete_sound_w(0x05, (dragrace_misc_flags & 0x00200000) ? 1: 0);	// Explosion2 enable
	discrete_sound_w(0x01, (dragrace_misc_flags & 0x00400000) ? 1: 0);	// Screech2 enable
	discrete_sound_w(0x0b, (dragrace_misc_flags & 0x02000000) ? 1: 0);	// KLEXPL2 enable
	discrete_sound_w(0x09, (dragrace_misc_flags & 0x08000000) ? 1: 0);	// Motor2 enable

	discrete_sound_w(0x0c, (dragrace_misc_flags & 0x00001000) ? 1: 0);	// Attract enable
	discrete_sound_w(0x02, (dragrace_misc_flags & 0x00002000) ? 1: 0);	// LoTone enable
	discrete_sound_w(0x03, (dragrace_misc_flags & 0x20000000) ? 1: 0);	// HiTone enable
}
Ejemplo n.º 8
0
static void dragrace_update_misc_flags(void)
{
	/* 0x0900 = set 3SPEED1         0x00000001
     * 0x0901 = set 4SPEED1         0x00000002
     * 0x0902 = set 5SPEED1         0x00000004
     * 0x0903 = set 6SPEED1         0x00000008
     * 0x0904 = set 7SPEED1         0x00000010
     * 0x0905 = set EXPLOSION1      0x00000020
     * 0x0906 = set SCREECH1        0x00000040
     * 0x0920 - 0x0927 = clear 0x0900 - 0x0907

     * 0x0909 = set KLEXPL1         0x00000200
     * 0x090b = set MOTOR1          0x00000800
     * 0x090c = set ATTRACT         0x00001000
     * 0x090d = set LOTONE          0x00002000
     * 0x090f = set Player 1 Start Lamp 0x00008000
     * 0x0928 - 0x092f = clear 0x0908 - 0x090f

     * 0x0910 = set 3SPEED2         0x00010000
     * 0x0911 = set 4SPEED2         0x00020000
     * 0x0912 = set 5SPEED2         0x00040000
     * 0x0913 = set 6SPEED2         0x00080000
     * 0x0914 = set 7SPEED2         0x00100000
     * 0x0915 = set EXPLOSION2      0x00200000
     * 0x0916 = set SCREECH2        0x00400000
     * 0x0930 = clear 0x0910 - 0x0917

     * 0x0919 = set KLEXPL2         0x02000000
     * 0x091b = set MOTOR2          0x08000000
     * 0x091d = set HITONE          0x20000000
     * 0x091f = set Player 2 Start Lamp 0x80000000
     * 0x0938 = clear 0x0918 - 0x091f
     */
	set_led_status(0, dragrace_misc_flags & 0x00008000);
	set_led_status(1, dragrace_misc_flags & 0x80000000);

	discrete_sound_w(DRAGRACE_MOTOR1_DATA,  ~dragrace_misc_flags & 0x0000001f);		/* Speed1 data* */
	discrete_sound_w(DRAGRACE_EXPLODE1_EN, (dragrace_misc_flags & 0x00000020) ? 1: 0);	/* Explosion1 enable */
	discrete_sound_w(DRAGRACE_SCREECH1_EN, (dragrace_misc_flags & 0x00000040) ? 1: 0);	/* Screech1 enable */
	discrete_sound_w(DRAGRACE_KLEXPL1_EN, (dragrace_misc_flags & 0x00000200) ? 1: 0);	/* KLEXPL1 enable */
	discrete_sound_w(DRAGRACE_MOTOR1_EN, (dragrace_misc_flags & 0x00000800) ? 1: 0);	/* Motor1 enable */

	discrete_sound_w(DRAGRACE_MOTOR2_DATA, (~dragrace_misc_flags & 0x001f0000) >> 0x10);	/* Speed2 data* */
	discrete_sound_w(DRAGRACE_EXPLODE2_EN, (dragrace_misc_flags & 0x00200000) ? 1: 0);	/* Explosion2 enable */
	discrete_sound_w(DRAGRACE_SCREECH2_EN, (dragrace_misc_flags & 0x00400000) ? 1: 0);	/* Screech2 enable */
	discrete_sound_w(DRAGRACE_KLEXPL2_EN, (dragrace_misc_flags & 0x02000000) ? 1: 0);	/* KLEXPL2 enable */
	discrete_sound_w(DRAGRACE_MOTOR2_EN, (dragrace_misc_flags & 0x08000000) ? 1: 0);	/* Motor2 enable */

	discrete_sound_w(DRAGRACE_ATTRACT_EN, (dragrace_misc_flags & 0x00001000) ? 1: 0);	/* Attract enable */
	discrete_sound_w(DRAGRACE_LOTONE_EN, (dragrace_misc_flags & 0x00002000) ? 1: 0);	/* LoTone enable */
	discrete_sound_w(DRAGRACE_HITONE_EN, (dragrace_misc_flags & 0x20000000) ? 1: 0);	/* HiTone enable */
}
Ejemplo n.º 9
0
static WRITE8_HANDLER( spoker_leds_w )
{
	spoker_state *state = space->machine().driver_data<spoker_state>();

	set_led_status(space->machine(), 0, data & 0x01);	// stop_1
	set_led_status(space->machine(), 1, data & 0x02);	// stop_2
	set_led_status(space->machine(), 2, data & 0x04);	// stop_3
	set_led_status(space->machine(), 3, data & 0x08);	// stop
	// data & 0x10?

	state->m_out[2] = data;
	show_out(state->m_out);
}
Ejemplo n.º 10
0
void at_keyboard_reset(void)
{
	keyboard.head = keyboard.tail = 0;
	keyboard.input_state = 0;
	memset(&keyboard.make[0], 0, sizeof(UINT8)*128);
	/* set default led state */
	set_led_status(2, 0);
	set_led_status(0, 0);
	set_led_status(1, 0);

	keyboard.scan_code_set=1;
	at_keyboard_queue_insert(0xaa);
}
Ejemplo n.º 11
0
static WRITE8_HANDLER( spoker_video_and_leds_w )
{
	spoker_state *state = space->machine().driver_data<spoker_state>();

	set_led_status(space->machine(), 4,	  data & 0x01);	// start?
	set_led_status(space->machine(), 5,	  data & 0x04);	// l_bet?

	state->m_video_enable	=	  data & 0x40;
	state->m_hopper			=	(~data)& 0x80;

	state->m_out[1] = data;
	show_out(state->m_out);
}
Ejemplo n.º 12
0
static WRITE8_HANDLER( omegrace_leds_w )
{
	/* bits 0 and 1 are coin counters */
	coin_counter_w(space->machine, 0,data & 0x01);
	coin_counter_w(space->machine, 1,data & 0x02);

	/* bits 2 to 5 are the start leds (4 and 5 cocktail only) */
	set_led_status(space->machine, 0,~data & 0x04);
	set_led_status(space->machine, 1,~data & 0x08);
	set_led_status(space->machine, 2,~data & 0x10);
	set_led_status(space->machine, 3,~data & 0x20);

	/* bit 6 flips screen (not supported) */
}
Ejemplo n.º 13
0
static WRITE8_HANDLER( portrait_ctrl_w )
{
	/* bits 4 and 5 are unknown */

	coin_counter_w(0, data & 0x01);
	coin_counter_w(1, data & 0x02);
	coin_counter_w(2, data & 0x04);

	/* the 2 lamps near the camera */
	set_led_status(0, data & 0x08);
	set_led_status(1, data & 0x40);

	/* shows the black and white photo from the camera */
	output_set_value("photo", (data >> 7) & 1);
}
Ejemplo n.º 14
0
static WRITE_HANDLER( starshp1_misc_w )
{
	data &= 1;

	switch (offset & 7)
	{
	case 0:
		starshp1_ship_explode = data;
		break;
	case 1:
		starshp1_circle_mod = data;
		break;
	case 2:
		starshp1_circle_kill = !data;
		break;
	case 3:
		starshp1_starfield_kill = data;
		break;
	case 4:
		starshp1_write_palette(data);
		break;
	case 5:
		/* BLACK HOLE, not used */
		break;
	case 6:
		starshp1_mux = data;
		break;
	case 7:
		set_led_status(0, !data);
		break;
	}
}
Ejemplo n.º 15
0
static WRITE8_HANDLER( kopunch_lamp_w )
{
	set_led_status(0,~data & 0x80);

//  if ((data & 0x7f) != 0x7f)
//      popmessage("port 38 = %02x",data);
}
Ejemplo n.º 16
0
static WRITE8_DEVICE_HANDLER( amiga_cia_0_portA_w )
{
	amiga_state *state = space.machine().driver_data<amiga_state>();
	/* switch banks as appropriate */
	state->m_bank1->set_entry(data & 1);

	/* swap the write handlers between ROM and bank 1 based on the bit */
	if ((data & 1) == 0) {
		UINT32 mirror_mask = state->m_chip_ram.bytes();

		while( (mirror_mask<<1) < 0x100000 ) {
			mirror_mask |= ( mirror_mask << 1 );
		}

		/* overlay disabled, map RAM on 0x000000 */
		state->m_maincpu_program_space->install_write_bank(0x000000, state->m_chip_ram.bytes() - 1, 0, mirror_mask, "bank1");

		/* if there is a cart region, check for cart overlay */
		if (space.machine().root_device().memregion("user2")->base() != NULL)
			amiga_cart_check_overlay(space.machine());
	}
	else
		/* overlay enabled, map Amiga system ROM on 0x000000 */
		state->m_maincpu_program_space->unmap_write(0x000000, state->m_chip_ram.bytes() - 1);

	set_led_status( space.machine(), 0, ( data & 2 ) ? 0 : 1 ); /* bit 2 = Power Led on Amiga */
	output_set_value("power_led", ( data & 2 ) ? 0 : 1);
}
Ejemplo n.º 17
0
static WRITE8_HANDLER( kopunch_lamp_w )
{
	set_led_status(0,~data & 0x80);

/*  if ((data & 0x7f) != 0x7f) */
/*      ui_popup("port 38 = %02x",data); */
}
Ejemplo n.º 18
0
void vip_state::machine_start()
{
    UINT8 *ram = m_ram->pointer();

    // randomize RAM contents
    for (UINT16 addr = 0; addr < m_ram->size(); addr++)
    {
        ram[addr] = machine().rand() & 0xff;
    }

    // turn on power LED
    set_led_status(machine(), LED_POWER, 1);

    // reset sound
    m_beeper->write(machine().driver_data()->generic_space(), NODE_01, 0);

    // state saving
    save_item(NAME(m_8000));
    save_item(NAME(m_vdc_int));
    save_item(NAME(m_vdc_dma_out));
    save_item(NAME(m_vdc_ef1));
    save_item(NAME(m_exp_int));
    save_item(NAME(m_exp_dma_out));
    save_item(NAME(m_exp_dma_in));
    save_item(NAME(m_byteio_ef3));
    save_item(NAME(m_byteio_ef4));
    save_item(NAME(m_exp_ef1));
    save_item(NAME(m_exp_ef3));
    save_item(NAME(m_exp_ef4));
    save_item(NAME(m_keylatch));
    save_item(NAME(m_byteio_data));
}
Ejemplo n.º 19
0
static WRITE8_HANDLER(YM2203_out_b)
{
        coin_counter_w(0,data & 0x80);
        coin_counter_w(1,data & 0x40);
        coin_counter_w(2,data & 0x20);
        set_led_status(1,!(data & 0x10));            // 'LOCK-ON' lamp
}
Ejemplo n.º 20
0
static WRITE8_HANDLER( spoker_nmi_and_coins_w )
{
	spoker_state *state = space->machine().driver_data<spoker_state>();

	if ((data) & (0x22))
	{
		logerror("PC %06X: nmi_and_coins = %02x\n",cpu_get_pc(&space->device()),data);
//      popmessage("%02x",data);
	}

	coin_counter_w(space->machine(), 0,		data & 0x01);	// coin_a
	coin_counter_w(space->machine(), 1,		data & 0x04);	// coin_c
	coin_counter_w(space->machine(), 2,		data & 0x08);	// key in
	coin_counter_w(space->machine(), 3,		data & 0x10);	// coin out mech

	set_led_status(space->machine(), 6,		data & 0x40);	// led for coin out / hopper active

	if(((state->m_nmi_ack & 0x80) == 0) && data & 0x80)
		cputag_set_input_line(space->machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);

	state->m_nmi_ack = data & 0x80;     // nmi acknowledge, 0 -> 1

	state->m_out[0] = data;
	show_out(state->m_out);
}
Ejemplo n.º 21
0
static void msm_led_torch_brightness_set(struct led_classdev *led_cdev,
				enum led_brightness value)
{
	if(value > 0)
		value = 128 - value;
	set_led_status(g_fctrl, value);
};
Ejemplo n.º 22
0
static WRITE8_HANDLER( videopin_led_w )
{
	int i = (video_screen_get_vpos(space->machine->primary_screen) >> 5) & 7;
	static const char *const matrix[8][4] =
	{
		{ "LED26", "LED18", "LED11", "LED13" },
		{ "LED25", "LED17", "LED10", "LED08" },
		{ "LED24", "LED29", "LED09", "LED07" },
		{ "LED23", "LED28", "LED04", "LED06" },
		{ "LED22", "LED27", "LED03", "LED05" },
		{ "LED21", "LED16", "LED02", "-" },
		{ "LED20", "LED15", "LED01", "-" },
		{ "LED19", "LED14", "LED12", "-" }
	};

	output_set_value(matrix[i][0], (data >> 0) & 1);
	output_set_value(matrix[i][1], (data >> 1) & 1);
	output_set_value(matrix[i][2], (data >> 2) & 1);
	output_set_value(matrix[i][3], (data >> 3) & 1);

	if (i == 7)
		set_led_status(0, data & 8);   /* start button */

	cputag_set_input_line(space->machine, "maincpu", 0, CLEAR_LINE);
}
Ejemplo n.º 23
0
static WRITE8_DEVICE_HANDLER( sound2_w )
{
	/* bit 3,6 - coin lockout, lamp10+11 in selection test mode */
	coin_lockout_w(0, ~data & 0x08);
	coin_lockout_w(1, ~data & 0x40);
	set_led_status(9,data & 0x08);
	set_led_status(10,data & 0x40);

	/* bit 4,5 - lamps 12, 13 in selection test mode;
    12 lights up if dsw maximum bet = 30 an bet > 15 or if dsw maximum bet = 10 an bet = 10 */
	set_led_status(11,data & 0x10);
	set_led_status(12,data & 0x20);

	/* bit 7 goes directly to the sound amplifier */
	dac_data_w(devtag_get_device(device->machine, "dac"), ((data & 0x80) >> 7) * 255);
}
Ejemplo n.º 24
0
static WRITE8_HANDLER( starshp1_misc_w )
{
	starshp1_state *state = space->machine().driver_data<starshp1_state>();
	data &= 1;

	switch (offset & 7)
	{
	case 0:
		state->m_ship_explode = data;
		break;
	case 1:
		state->m_circle_mod = data;
		break;
	case 2:
		state->m_circle_kill = !data;
		break;
	case 3:
		state->m_starfield_kill = data;
		break;
	case 4:
		state->m_inverse = data;
		break;
	case 5:
		/* BLACK HOLE, not used */
		break;
	case 6:
		state->m_mux = data;
		break;
	case 7:
		set_led_status(space->machine(), 0, !data);
		break;
	}
}
Ejemplo n.º 25
0
static WRITE8_HANDLER( videopin_led_w )
{
	static const char* matrix[8][4] =
	{
		{ "LED26", "LED18", "LED11", "LED13" },
		{ "LED25", "LED17", "LED10", "LED08" },
		{ "LED24", "LED29", "LED09", "LED07" },
		{ "LED23", "LED28", "LED04", "LED06" },
		{ "LED22", "LED27", "LED03", "LED05" },
		{ "LED21", "LED16", "LED02", "-" },
		{ "LED20", "LED15", "LED01", "-" },
		{ "LED19", "LED14", "LED12", "-" }
	};

	int i = (cpu_getscanline() >> 5) & 7;

	artwork_show(matrix[i][0], data & 1);
	artwork_show(matrix[i][1], data & 2);
	artwork_show(matrix[i][2], data & 4);
	artwork_show(matrix[i][3], data & 8);

	if (i == 7)
	{
		set_led_status(0, data & 8);   /* start button */
	}

	cpunum_set_input_line(0, 0, CLEAR_LINE);
}
Ejemplo n.º 26
0
static WRITE8_HANDLER( flyball_misc_w )
{
	int bit = ~data & 1;

	switch (offset)
	{
	case 0:
		set_led_status(space->machine(), 0, bit);
		break;
	case 1:
		/* crowd very loud */
		break;
	case 2:
		/* footstep off-on */
		break;
	case 3:
		/* crowd off-on */
		break;
	case 4:
		/* crowd soft-loud */
		break;
	case 5:
		/* bat hit */
		break;
	}
}
Ejemplo n.º 27
0
int AY3600_init(running_machine &machine)
{
	apple2_state *state = machine.driver_data<apple2_state>();
	/* Init the key remapping table */
	state->m_ay3600_keys = auto_alloc_array_clear(machine, unsigned int, AY3600_KEYS_LENGTH);

	/* We poll the keyboard periodically to scan the keys.  This is
    actually consistent with how the AY-3600 keyboard controller works. */
	machine.scheduler().timer_pulse(attotime::from_hz(60), FUNC(AY3600_poll));

	/* Set Caps Lock light to ON, since that's how we default it. */
	set_led_status(machine,1,1);

	state->m_keywaiting = 0;
	state->m_keycode = 0;
	state->m_keystilldown = 0;
	state->m_keymodreg = A2_KEYMOD_CAPSLOCK;	// caps lock on

	state->m_last_key = 0xff;	/* necessary for special repeat key behaviour */
	state->m_last_key_unmodified = 0xff;	/* necessary for special repeat key behaviour */
	state->m_time_until_repeat = MAGIC_KEY_REPEAT_NUMBER;

	inputx_setup_natural_keyboard(machine,
		AY3600_keyboard_queue_chars,
		AY3600_keyboard_accept_char,
		NULL);

	return 0;
}
Ejemplo n.º 28
0
Archivo: disk.c Proyecto: dinkc64/mame
void msx_cart_disk_type2::set_control(UINT8 data)
{
	UINT8 old_m_control = m_control;

	m_control = data;

	switch (m_control & 3)
	{
		case 1:
			m_floppy = m_floppy0 ? m_floppy0->get_device() : NULL;
			break;

		case 2:
			m_floppy = m_floppy1 ? m_floppy1->get_device() : NULL;
			break;

		default:
			m_floppy = NULL;
			break;
	}

	if (m_floppy)
	{
		m_floppy->mon_w((m_control & 0x08) ? 0 : 1);
		m_floppy->ss_w((m_control & 0x04) ? 1 : 0);
	}

	m_fdc->set_floppy(m_floppy);

	if ((old_m_control ^ m_control) & 0x40)
	{
		set_led_status(machine(), 0, !(m_control & 0x40));
	}
}
Ejemplo n.º 29
0
static WRITE8_HANDLER( bwidow_misc_w )
{
	/*
        0x10 = p1 led
        0x20 = p2 led
        0x01 = coin counter 1
        0x02 = coin counter 2
    */
	static int lastdata;

	if (data == lastdata) return;
	set_led_status(0,~data & 0x10);
	set_led_status(1,~data & 0x20);
	coin_counter_w(0, data & 0x01);
	coin_counter_w(1, data & 0x02);
	lastdata = data;
}
Ejemplo n.º 30
0
static WRITE8_HANDLER( bwidow_misc_w )
{
	bwidow_state *state = space->machine().driver_data<bwidow_state>();
	/*
        0x10 = p1 led
        0x20 = p2 led
        0x01 = coin counter 1
        0x02 = coin counter 2
    */

	if (data == state->m_lastdata) return;
	set_led_status(space->machine(), 0,~data & 0x10);
	set_led_status(space->machine(), 1,~data & 0x20);
	coin_counter_w(space->machine(), 0, data & 0x01);
	coin_counter_w(space->machine(), 1, data & 0x02);
	state->m_lastdata = data;
}