static int sfx_sh_irq_callback(int irqline) { /* interrupt acknowledge clears the flip-flop -- we need to pulse the CLR line because MAME's core never clears this line, only asserts it */ TTL7474_clear_w(3, 0); TTL7474_update(3); TTL7474_clear_w(3, 1); TTL7474_update(3); return 0xff; }
static void machine_reset_common( int line ) { irq_line = line; /* initalize main CPU interrupt generator flip-flops */ TTL7474_config(0, &galaxian_7474_9M_2_intf); TTL7474_preset_w(0, 1); TTL7474_clear_w (0, 1); TTL7474_config(1, &galaxian_7474_9M_1_intf); TTL7474_clear_w (1, 1); TTL7474_d_w (1, 0); TTL7474_preset_w(1, 0); /* start a timer to generate interrupts */ int_timer = timer_alloc(interrupt_timer, NULL); timer_adjust(int_timer, video_screen_get_time_until_pos(0, 0, 0), 0, attotime_zero); }
static void machine_reset_common( int line ) { irq_line = line; /* initalize main CPU interrupt generator flip-flops */ TTL7474_config(0, &galaxian_7474_9M_2_intf); TTL7474_preset_w(0, 1); TTL7474_clear_w (0, 1); TTL7474_config(1, &galaxian_7474_9M_1_intf); TTL7474_clear_w (1, 1); TTL7474_d_w (1, 0); TTL7474_preset_w(1, 0); /* start a timer to generate interrupts */ int_timer = timer_alloc(interrupt_timer); timer_adjust(int_timer, cpu_getscanlinetime(0), 0, 0); }
static void machine_reset_common(running_machine *machine, int line) { irq_line = line; /* initalize main CPU interrupt generator flip-flops */ TTL7474_config(0, &galaxold_7474_9M_2_intf); TTL7474_preset_w(0, 1); TTL7474_clear_w (0, 1); TTL7474_config(1, &galaxold_7474_9M_1_intf); TTL7474_clear_w (1, 1); TTL7474_d_w (1, 0); TTL7474_preset_w(1, 0); /* start a timer to generate interrupts */ int_timer = timer_alloc(interrupt_timer, NULL); timer_adjust_oneshot(int_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0), 0); }
static WRITE8_HANDLER( pia_0_port_a_w ) { /* bit 0 - Coin counter bit 1 - Player 4 crash sound bit 2 - Player 3 crash sound bit 3 - Clear steering wheel logic bit 4 - Player 2 crash sound bit 5 - Score pulse sound bit 6 - Player 1 crash sound bit 7 - Ball hit pulse sound */ coin_counter_w(0, data & 0x01); TTL7474_clear_w(TTL7474_1F_1, data & 0x08); TTL7474_clear_w(TTL7474_1D_1, data & 0x08); TTL7474_clear_w(TTL7474_1C_1, data & 0x08); TTL7474_clear_w(TTL7474_1A_1, data & 0x08); TTL7474_update(TTL7474_1F_1); TTL7474_update(TTL7474_1D_1); TTL7474_update(TTL7474_1C_1); TTL7474_update(TTL7474_1A_1); }
static WRITE8_HANDLER( coin4_interrupt_clear_w ) { TTL7474_clear_w(TTL7474_2U_2, data); TTL7474_update(TTL7474_2U_2); }
static WRITE8_HANDLER( coin1_interrupt_clear_w ) { TTL7474_clear_w(TTL7474_2S_1, data); TTL7474_update(TTL7474_2S_1); }