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; } }
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; } }
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; } }
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); }
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; } }
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; }
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)); }
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)); }
static WRITE8_HANDLER( boxer_crowd_w ) { /* BIT0 => ATTRACT */ /* BIT1 => CROWD-1 */ /* BIT2 => CROWD-2 */ /* BIT3 => CROWD-3 */ coin_lockout_global_w(data & 1); }
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); }
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); }
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 */ }
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 */ }
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 */ }
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 */ }
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); }
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; } }
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; } }
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); }
static WRITE8_HANDLER( wolfpack_attract_w ) { coin_lockout_global_w(space->machine, !(data & 1)); }
static WRITE_HANDLER( polaris_sh_port6_w ) { coin_lockout_global_w(0, data & 0x04); invaders_flip_screen_w(data & 0x20); }
static WRITE8_HANDLER( wolfpack_attract_w ) { coin_lockout_global_w(!(data & 1)); }
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); }
static WRITE8_HANDLER( out_coin0 ) { coin_lockout_global_w(data & 4); coin_counter_w(0,~data & 8); }
static WRITE8_HANDLER( pacland_coin_w ) { coin_lockout_global_w(data & 1); coin_counter_w(0,~data & 2); coin_counter_w(1,~data & 4); }
static WRITE8_HANDLER( flower_coin_lockout_w ) { coin_lockout_global_w(space->machine(), ~data & 1); }