static void delayed_sound_2( running_machine &machine, int data ) { n8080_state *state = machine.driver_data<n8080_state>(); state->m_curr_sound_pins &= ~( (1 << 0x8) | (1 << 0x9) | (1 << 0xa) | (1 << 0xb) | (1 << 0x2) | (1 << 0xc)); if (~data & 0x01) state->m_curr_sound_pins |= 1 << 0x8; if (~data & 0x02) state->m_curr_sound_pins |= 1 << 0x9; if (~data & 0x04) state->m_curr_sound_pins |= 1 << 0xa; if (~data & 0x08) state->m_curr_sound_pins |= 1 << 0xb; if (~data & 0x10) state->m_curr_sound_pins |= 1 << 0x2; /* pulse */ if (~data & 0x20) state->m_curr_sound_pins |= 1 << 0xc; if (state->m_n8080_hardware == 1) state->flip_screen_set_no_update(data & 0x20); if (state->m_n8080_hardware == 3) state->m_helifire_flash = data & 0x20; sound_pins_changed(machine); }
static void delayed_sound_1( running_machine &machine, int data ) { n8080_state *state = machine.driver_data<n8080_state>(); state->m_curr_sound_pins &= ~( (1 << 0x7) | (1 << 0x5) | (1 << 0x6) | (1 << 0x3) | (1 << 0x4) | (1 << 0x1)); if (~data & 0x01) state->m_curr_sound_pins |= 1 << 0x7; if (~data & 0x02) state->m_curr_sound_pins |= 1 << 0x5; /* pulse */ if (~data & 0x04) state->m_curr_sound_pins |= 1 << 0x6; /* pulse */ if (~data & 0x08) state->m_curr_sound_pins |= 1 << 0x3; /* pulse (except in Helifire) */ if (~data & 0x10) state->m_curr_sound_pins |= 1 << 0x4; /* pulse (except in Helifire) */ if (~data & 0x20) state->m_curr_sound_pins |= 1 << 0x1; if (state->m_n8080_hardware == 1) { if (data & ~state->m_prev_snd_data & 0x10) { spacefev_start_red_cannon(machine); } state->m_spacefev_red_screen = data & 0x08; } sound_pins_changed(machine); state->m_prev_snd_data = data; }
void n8080_state::delayed_sound_1( int data ) { m_curr_sound_pins &= ~( (1 << 0x7) | (1 << 0x5) | (1 << 0x6) | (1 << 0x3) | (1 << 0x4) | (1 << 0x1)); if (~data & 0x01) m_curr_sound_pins |= 1 << 0x7; if (~data & 0x02) m_curr_sound_pins |= 1 << 0x5; /* pulse */ if (~data & 0x04) m_curr_sound_pins |= 1 << 0x6; /* pulse */ if (~data & 0x08) m_curr_sound_pins |= 1 << 0x3; /* pulse (except in Helifire) */ if (~data & 0x10) m_curr_sound_pins |= 1 << 0x4; /* pulse (except in Helifire) */ if (~data & 0x20) m_curr_sound_pins |= 1 << 0x1; if (m_n8080_hardware == 1) { if (data & ~m_prev_snd_data & 0x10) { spacefev_start_red_cannon(); } m_spacefev_red_screen = data & 0x08; } sound_pins_changed(); m_prev_snd_data = data; }
void n8080_state::delayed_sound_2( int data ) { m_curr_sound_pins &= ~( (1 << 0x8) | (1 << 0x9) | (1 << 0xa) | (1 << 0xb) | (1 << 0x2) | (1 << 0xc)); if (~data & 0x01) m_curr_sound_pins |= 1 << 0x8; if (~data & 0x02) m_curr_sound_pins |= 1 << 0x9; if (~data & 0x04) m_curr_sound_pins |= 1 << 0xa; if (~data & 0x08) m_curr_sound_pins |= 1 << 0xb; if (~data & 0x10) m_curr_sound_pins |= 1 << 0x2; /* pulse */ if (~data & 0x20) m_curr_sound_pins |= 1 << 0xc; if (m_n8080_hardware == 1) flip_screen_set(data & 0x20); if (m_n8080_hardware == 3) m_helifire_flash = data & 0x20; sound_pins_changed(); }