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; }
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; }
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); }