示例#1
0
void riot6532_device::update_pa7_state()
{
	UINT8 data = apply_ddr(&m_port[0]) & 0x80;

	/* if the state changed in the correct direction, set the PA7 flag and update IRQs */
	if ((m_pa7prev ^ data) && (m_pa7dir ^ data) == 0)
	{
		m_irqstate |= PA7_FLAG;
		update_irqstate();
	}
	m_pa7prev = data;
}
示例#2
0
INLINE void update_pa7_state(running_device *device)
{
    riot6532_state *riot = get_safe_token(device);
    UINT8 data = apply_ddr(&riot->port[0]) & 0x80;

    /* if the state changed in the correct direction, set the PA7 flag and update IRQs */
    if ((riot->pa7prev ^ data) && (riot->pa7dir ^ data) == 0)
    {
        riot->irqstate |= PA7_FLAG;
        update_irqstate(device);
    }
    riot->pa7prev = data;
}
示例#3
0
void mos6530_device::device_reset()
{
	/* reset I/O states */
	m_port[0].out = 0;
	m_port[0].ddr = 0;
	m_port[1].out = 0;
	m_port[1].ddr = 0;

	/* reset IRQ states */
	m_irqenable = 0;
	m_irqstate = TIMER_FLAG;
	update_irqstate();

	/* reset timer states */
	m_timershift = 0;
	m_timerstate = TIMER_IDLE;
	m_timer->adjust(attotime::never);
}