Beispiel #1
0
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));
}
Beispiel #2
0
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);
}