static WRITE8_HANDLER( speech_control_w ) { _88games_state *state = space->machine().driver_data<_88games_state>(); device_t *upd; state->m_speech_chip = (data & 4) ? 1 : 0; upd = state->m_speech_chip ? state->m_upd_2 : state->m_upd_1; upd7759_reset_w(upd, data & 2); upd7759_start_w(upd, data & 1); }
static WRITE8_HANDLER( sound_io_w ) { sound_port_latch[offset] = data; switch (offset) { case 0x01: { break; } case 0x03: { const device_config *upd = devtag_get_device(space->machine, "upd7759"); upd7759_set_bank_base(upd, (data & 0x4) ? 0x20000 : 0); upd7759_reset_w(upd, (data & 0x10) ? 0 : 1); break; } } }
static WRITE8_HANDLER( combasc_voice_reset_w ) { upd7759_reset_w(0,data & 1); }
static WRITE8_DEVICE_HANDLER( D7759_upd_reset_w ) { upd7759_reset_w(device, data & 0x80); }