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 READ8_DEVICE_HANDLER( r6532_porta_r ) { /* Configured as follows: */ /* d7 (in) Main Ready Flag */ /* d6 (in) Sound Ready Flag */ /* d5 (out) Mute Speech */ /* d4 (in) Not Sound Self Test */ /* d3 (out) Hold Main CPU in Reset? */ /* + enable delay circuit? */ /* d2 (in) TMS5220 Not Ready */ /* d1 (out) TMS5220 Not Read */ /* d0 (out) TMS5220 Not Write */ /* Note: bit 4 is always set to avoid sound self test */ UINT8 olddata = riot6532_porta_in_get(device); return (olddata & 0xc0) | 0x10 | (tms5220_readyq_r(devtag_get_device(device->machine, "tms")) << 2); }