static TIMER_CALLBACK( sound_callback ) { starwars_state *state = machine.driver_data<starwars_state>(); riot6532_porta_in_set(state->m_riot, 0x40, 0x40); state->m_main_data = param; machine.scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }
void base_d9060_device::ieee488_atn(int state) { update_ieee_signals(); // set RIOT PA7 riot6532_porta_in_set(m_riot1, !state << 7, 0x80); }
static TIMER_CALLBACK( main_callback ) { starwars_state *state = machine.driver_data<starwars_state>(); if (riot6532_porta_in_get(state->m_riot) & 0x80) logerror("Sound data not read %x\n",state->m_sound_data); riot6532_porta_in_set(state->m_riot, 0x80, 0x80); state->m_sound_data = param; machine.scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }
static void gottlieb1_sh_w(device_t *riot, UINT8 data) { device_t *samples = riot->machine().device("samples"); int pa7 = (data & 0x0f) != 0xf; int pa0_5 = ~data & 0x3f; /* snoop the data looking for commands that need samples */ if (pa7 && samples != NULL) trigger_sample(samples, pa0_5); /* write the command data to the low 6 bits, and the trigger to the upper bit */ riot6532_porta_in_set(riot, pa0_5 | (pa7 << 7), 0xbf); }