Beispiel #1
0
static WRITE8_HANDLER( geebee_out7_w )
{
	switch (offset & 7)
	{
		case 0:
			set_led_status(space->machine, 0,data & 1);
			break;
		case 1:
			set_led_status(space->machine, 1,data & 1);
			break;
		case 2:
			set_led_status(space->machine, 2,data & 1);
			break;
		case 3:
			coin_counter_w(space->machine, 0,data & 1);
			break;
		case 4:
			if (strcmp(space->machine->gamedrv->name, "geebeeb"))
				coin_lockout_global_w(space->machine, ~data & 1);
			break;
		case 5:
			if( geebee_bgw != (data & 1) )
				tilemap_mark_all_tiles_dirty_all(space->machine);
			geebee_bgw = data & 1;
			break;
		case 6:
			warpwarp_ball_on = data & 1;
			break;
		case 7:
			flip_screen_set(space->machine, data & 1);
			break;
	}
}
Beispiel #2
0
static WRITE8_HANDLER( warpwarp_out3_w )
{
	switch (offset & 7)
	{
		case 0:
			set_led_status(0,data & 1);
			break;
		case 1:
			set_led_status(1,data & 1);
			break;
		case 2:
			set_led_status(2,data & 1);
			break;
		case 3:
			/* n.c. */
			break;
		case 4:
			coin_lockout_global_w(~data & 1);
			break;
		case 5:
			coin_counter_w(0,data & 1);
			break;
		case 6:
			warpwarp_ball_on = data & 1;
			cpu_interrupt_enable(0,data & 1);
			if (~data & 1)
				cpunum_set_input_line(0, 0, CLEAR_LINE);
			break;
		case 7:
			flip_screen_set(data & 1);
			break;
	}
}
Beispiel #3
0
static WRITE8_HANDLER( warpwarp_out3_w )
{
	switch (offset & 7)
	{
		case 0:
			set_led_status(space->machine, 0,data & 1);
			break;
		case 1:
			set_led_status(space->machine, 1,data & 1);
			break;
		case 2:
			set_led_status(space->machine, 2,data & 1);
			break;
		case 3:
			/* n.c. */
			break;
		case 4:
			coin_lockout_global_w(space->machine, ~data & 1);
			break;
		case 5:
			coin_counter_w(space->machine, 0,data & 1);
			break;
		case 6:
			warpwarp_ball_on = data & 1;
			cpu_interrupt_enable(space->machine->device("maincpu"), data & 1);
			if (~data & 1)
				cputag_set_input_line(space->machine, "maincpu", 0, CLEAR_LINE);
			break;
		case 7:
			flip_screen_set(space->machine, data & 1);
			break;
	}
}
Beispiel #4
0
static WRITE8_DEVICE_HANDLER( out_lamps0 )
{
	set_led_status(device->machine(), 0, data & 1);
	set_led_status(device->machine(), 1, data & 2);
	coin_lockout_global_w(device->machine(), data & 4);
	coin_counter_w(device->machine(), 0, ~data & 8);
}
Beispiel #5
0
static WRITE8_HANDLER( out_lamps0 )
{
	set_led_status(0,data & 1);
	set_led_status(1,data & 2);
	coin_lockout_global_w(data & 4);
	coin_counter_w(0,~data & 8);
}
static WRITE8_HANDLER( geebee_out7_w )
{
	warpwarp_state *state = space->machine().driver_data<warpwarp_state>();
	switch (offset & 7)
	{
		case 0:
			set_led_status(space->machine(), 0,data & 1);
			break;
		case 1:
			set_led_status(space->machine(), 1,data & 1);
			break;
		case 2:
			set_led_status(space->machine(), 2,data & 1);
			break;
		case 3:
			coin_counter_w(space->machine(), 0,data & 1);
			break;
		case 4:
			if (strcmp(space->machine().system().name, "geebeeb"))
				coin_lockout_global_w(space->machine(), ~data & 1);
			break;
		case 5:
			if( state->m_geebee_bgw != (data & 1) )
				tilemap_mark_all_tiles_dirty_all(space->machine());
			state->m_geebee_bgw = data & 1;
			break;
		case 6:
			state->m_ball_on = data & 1;
			break;
		case 7:
			flip_screen_set(space->machine(), data & 1);
			break;
	}
}
Beispiel #7
0
static WRITE8_HANDLER( sqixu_mcu_p2_w )
{
	// bit 0 = unknown (clocked often)

	// bit 1 = coin cointer 1
	coin_counter_w(space->machine, 0,data & 2);

	// bit 2 = coin counter 2
	coin_counter_w(space->machine, 1,data & 4);

	// bit 3 = coin lockout
	coin_lockout_global_w(space->machine, ~data & 8);

	// bit 4 = flip screen
	flip_screen_set(space->machine, data & 0x10);

	// bit 5 = unknown (set on startup)

	// bit 6 = unknown
	if ((data & 0x40) == 0)
		from_mcu_pending = 0;	// ????

	// bit 7 = clock latch from port 3 to Z80
	if ((port2 & 0x80) != 0 && (data & 0x80) == 0)
	{
//              logerror("%04x: MCU -> Z80 %02x\n",cpu_get_pc(space->cpu),port3);
		from_mcu = port3;
		from_mcu_pending = 1;
		from_z80_pending = 0;	// ????
	}

	port2 = data;
}
Beispiel #8
0
static WRITE8_DEVICE_HANDLER( tourtabl_led_w )
{
	set_led_status(device->machine(), 0, data & 0x40); /* start 1 */
	set_led_status(device->machine(), 1, data & 0x20); /* start 2 */
	set_led_status(device->machine(), 2, data & 0x10); /* start 4 */
	set_led_status(device->machine(), 3, data & 0x80); /* select game */

	coin_lockout_global_w(device->machine(), !(data & 0x80));
}
Beispiel #9
0
static WRITE8_HANDLER( tourtabl_led_w )
{
	set_led_status(0, data & 0x40); /* start 1 */
	set_led_status(1, data & 0x20); /* start 2 */
	set_led_status(2, data & 0x10); /* start 4 */
	set_led_status(3, data & 0x80); /* select game */

	coin_lockout_global_w(!(data & 0x80));
}
Beispiel #10
0
static WRITE8_HANDLER( boxer_crowd_w )
{
	/* BIT0 => ATTRACT */
	/* BIT1 => CROWD-1 */
	/* BIT2 => CROWD-2 */
	/* BIT3 => CROWD-3 */

	coin_lockout_global_w(data & 1);
}
Beispiel #11
0
static WRITE8_DEVICE_HANDLER( yumefuda_output_w )
{
	coin_counter_w(device->machine(), 0, ~data & 4);
	coin_counter_w(device->machine(), 1, ~data & 2);
	coin_lockout_global_w(device->machine(), data & 1);
	//data & 0x10 hopper-c (active LOW)
	//data & 0x08 divider (active HIGH)
	flip_screen_set(device->machine(), ~data & 0x20);
}
Beispiel #12
0
static WRITE8_DEVICE_HANDLER( sound_w )
{
	const address_space *space = cputag_get_address_space(device->machine, "cpu", ADDRESS_SPACE_PROGRAM);

	/* bit 3 - coin lockout, lamp10 in poker / lamp6 in trivia test modes */
	coin_lockout_global_w(~data & 0x08);
	set_led_status(9,data & 0x08);

	/* bit 5 - ticket out in trivia games */
	ticket_dispenser_w(space, 0, (data & 0x20)<< 2);

	/* bit 6 enables NMI */
	interrupt_enable_w(space, 0, data & 0x40);

	/* bit 7 goes directly to the sound amplifier */
	dac_data_w(devtag_get_device(device->machine, "dac"), ((data & 0x80) >> 7) * 255);
}
Beispiel #13
0
void xyonix_state::handle_coins(int coin)
{
	static const int coinage_table[4][2] = {{2,3},{2,1},{1,2},{1,1}};
	int tmp = 0;

	//popmessage("Coin %d", m_coin);

	if (coin & 1)   // Coin 2 !
	{
		tmp = (ioport("DSW")->read() & 0xc0) >> 6;
		m_coins++;
		if (m_coins >= coinage_table[tmp][0])
		{
			m_credits += coinage_table[tmp][1];
			m_coins -= coinage_table[tmp][0];
		}
		coin_lockout_global_w(machine(), 0); /* Unlock all coin slots */
		coin_counter_w(machine(),1,1); coin_counter_w(machine(),1,0); /* Count slot B */
	}
Beispiel #14
0
void handle_coins(int coin)
{
	int coinage_table[4][2] = {{2,3},{2,1},{1,2},{1,1}};
	int tmp = 0;

//	usrintf_showmessage("Coin %d",coin);

	if (coin & 1)	// Coin 2 !
	{
		tmp = (readinputport(2) & 0xc0) >> 6;
		coins++;
		if (coins >= coinage_table[tmp][0])
		{
			credits += coinage_table[tmp][1];
			coins -= coinage_table[tmp][0];
		}
		coin_lockout_global_w(0); /* Unlock all coin slots */
		coin_counter_w(1,1); coin_counter_w(1,0); /* Count slot B */
	}
Beispiel #15
0
static void handle_coins(int coin)
{
	static const int coinage_table[4][2] = {{2,3},{2,1},{1,2},{1,1}};
	int tmp = 0;

/*  ui_popup("Coin %d",coin); */

	if (coin & 1)	/* Coin 2 ! */
	{
		tmp = (readinputport(2) & 0xc0) >> 6;
		coins++;
		if (coins >= coinage_table[tmp][0])
		{
			credits += coinage_table[tmp][1];
			coins -= coinage_table[tmp][0];
		}
		coin_lockout_global_w(0); /* Unlock all coin slots */
		coin_counter_w(1,1); coin_counter_w(1,0); /* Count slot B */
	}
Beispiel #16
0
static void handle_coins(running_machine &machine, int coin)
{
	static const int coinage_table[4][2] = {{2,3},{2,1},{1,2},{1,1}};
	xyonix_state *state = machine.driver_data<xyonix_state>();
	int tmp = 0;

	//popmessage("Coin %d", state->m_coin);

	if (coin & 1)	// Coin 2 !
	{
		tmp = (input_port_read(machine, "DSW") & 0xc0) >> 6;
		state->m_coins++;
		if (state->m_coins >= coinage_table[tmp][0])
		{
			state->m_credits += coinage_table[tmp][1];
			state->m_coins -= coinage_table[tmp][0];
		}
		coin_lockout_global_w(machine, 0); /* Unlock all coin slots */
		coin_counter_w(machine,1,1); coin_counter_w(machine,1,0); /* Count slot B */
	}
Beispiel #17
0
static WRITE8_DEVICE_HANDLER( videopin_out1_w )
{
	/* D0 => OCTAVE0  */
	/* D1 => OCTACE1  */
	/* D2 => OCTAVE2  */
	/* D3 => LOCKOUT  */
	/* D4 => NMIMASK  */
	/* D5 => NOT USED */
	/* D6 => NOT USED */
	/* D7 => NOT USED */

	mask = ~data & 0x10;

	if (mask)
		cputag_set_input_line(device->machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE);

	coin_lockout_global_w(~data & 0x08);

	/* Convert octave data to divide value and write to sound */
	discrete_sound_w(device, VIDEOPIN_OCTAVE_DATA, (0x01 << (~data & 0x07)) & 0xfe);
}
Beispiel #18
0
static WRITE8_HANDLER( mcu_p1_w )
{
	switch ((data & 0x0e) >> 1)
	{
		case 0:
			/* ??? */
			break;
		case 1:
			coin_counter_w(0,data & 1);
			break;
		case 2:
			coin_counter_w(1,data & 1);
			break;
		case 3:
			coin_lockout_global_w((data & 1) ^ invert_coin_lockout);
			break;
		case 4:
			flip_screen_set(data & 1);
			break;
		case 5:
			port1 = data;
			if ((port1 & 0x80) == 0)
			{
				port3_latch = port3;
			}
			break;
		case 6:
			from_mcu_pending = 0;	/* ???? */
			break;
		case 7:
			if ((data & 1) == 0)
			{
/*              logerror("%04x: MCU -> Z80 %02x\n",activecpu_get_pc(),port3); */
				from_mcu = port3_latch;
				from_mcu_pending = 1;
				from_z80_pending = 0;	/* ???? */
			}
			break;
	}
}
Beispiel #19
0
static WRITE8_HANDLER( bootleg_mcu_p1_w )
{
	switch ((data & 0x0e) >> 1)
	{
		case 0:
			// ???
			break;
		case 1:
			coin_counter_w(space->machine, 0,data & 1);
			break;
		case 2:
			coin_counter_w(space->machine, 1,data & 1);
			break;
		case 3:
			coin_lockout_global_w(space->machine, (data & 1) ^ invert_coin_lockout);
			break;
		case 4:
			flip_screen_set(space->machine, data & 1);
			break;
		case 5:
			port1 = data;
			if ((port1 & 0x80) == 0)
			{
				port3_latch = port3;
			}
			break;
		case 6:
			from_mcu_pending = 0;	// ????
			break;
		case 7:
			if ((data & 1) == 0)
			{
//              logerror("%04x: MCU -> Z80 %02x\n",cpu_get_pc(space->cpu),port3);
				from_mcu = port3_latch;
				from_mcu_pending = 1;
				from_z80_pending = 0;	// ????
			}
			break;
	}
}
Beispiel #20
0
static WRITE8_HANDLER( videopin_out1_w )
{
	/* D0 => OCTAVE0  */
	/* D1 => OCTACE1  */
	/* D2 => OCTAVE2  */
	/* D3 => LOCKOUT  */
	/* D4 => NMIMASK  */
	/* D5 => NOT USED */
	/* D6 => NOT USED */
	/* D7 => NOT USED */

	mask = ~data & 0x10;

	if (mask)
	{
		cpunum_set_input_line(0, INPUT_LINE_NMI, CLEAR_LINE);
	}

	coin_lockout_global_w(~data & 0x08);

	/* Convert octave data to divide value and write to sound */
	discrete_sound_w(0, (0x01 << (~data & 0x07)) & 0xfe);
}
Beispiel #21
0
static WRITE8_HANDLER( wolfpack_attract_w )
{
	coin_lockout_global_w(space->machine, !(data & 1));
}
Beispiel #22
0
static WRITE_HANDLER( polaris_sh_port6_w )
{
	coin_lockout_global_w(0, data & 0x04);

	invaders_flip_screen_w(data & 0x20);
}
Beispiel #23
0
static WRITE8_HANDLER( wolfpack_attract_w )
{
	coin_lockout_global_w(!(data & 1));
}
Beispiel #24
0
static WRITE8_HANDLER( pacland_coin_w )
{
    coin_lockout_global_w(space->machine, data & 1);
    coin_counter_w(space->machine, 0, ~data & 2);
    coin_counter_w(space->machine, 1, ~data & 4);
}
Beispiel #25
0
static WRITE8_HANDLER( out_coin0 )
{
    coin_lockout_global_w(data & 4);
    coin_counter_w(0,~data & 8);
}
Beispiel #26
0
static WRITE8_HANDLER( pacland_coin_w )
{
	coin_lockout_global_w(data & 1);
	coin_counter_w(0,~data & 2);
	coin_counter_w(1,~data & 4);
}
Beispiel #27
0
static WRITE8_HANDLER( flower_coin_lockout_w )
{
	coin_lockout_global_w(space->machine(), ~data & 1);
}