static READ8_HANDLER( mtrap_voiceio_r ) { if (!(offset & 0x80)) { UINT8 porta = riot6532_porta_out_get(riot); UINT8 data = (porta & 0x06) >> 1; data |= (porta & 0x01) << 2; data |= (porta & 0x08); return data; }
static WRITE8_DEVICE_HANDLER( r6532_porta_w ) { if (has_mc3417) cputag_set_input_line(device->machine, "cvsdcpu", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (has_tms5220) { running_device *tms = devtag_get_device(device->machine, "tms"); logerror("(%f)%s:TMS5220 data write = %02X\n", attotime_to_double(timer_get_time(device->machine)), cpuexec_describe_context(device->machine), riot6532_porta_out_get(riot)); tms5220_data_w(tms, 0, data); } }
static WRITE8_DEVICE_HANDLER( r6532_porta_w ) { exidy_sound_state *state = get_safe_token(device); if (state->m_cvsd != NULL) space.machine().device("cvsdcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (state->m_tms != NULL) { logerror("(%f)%s:TMS5220 data write = %02X\n", space.machine().time().as_double(), space.machine().describe_context(), riot6532_porta_out_get(state->m_riot)); tms5220_data_w(state->m_tms, space, 0, data); } }