void psxirq_device::psx_irq_update( void ) { if( ( n_irqdata & n_irqmask ) != 0 ) { verboselog( machine(), 2, "psx irq assert\n" ); m_irq_handler( ASSERT_LINE ); } else { verboselog( machine(), 2, "psx irq clear\n" ); m_irq_handler( CLEAR_LINE ); } }
inline void via6522_device::set_irq_line(int state) { if (m_irq != state) { m_irq_handler(state); m_irq = state; } }
void ncr5380n_device::check_irq() { #if 0 bool oldirq = irq; irq = istatus != 0; if(irq != oldirq) m_irq_handler(irq); #endif }
void via6522_device::output_irq() { if (m_ier & m_ifr & 0x7f) { if ((m_ifr & INT_ANY) == 0) { m_ifr |= INT_ANY; m_irq_handler(ASSERT_LINE); } } else { if (m_ifr & INT_ANY) { m_ifr &= ~INT_ANY; m_irq_handler(CLEAR_LINE); } } }
void ide_controller_device::set_irq(int state) { if (state == ASSERT_LINE) LOG(("IDE interrupt assert\n")); else LOG(("IDE interrupt clear\n")); /* signal an interrupt */ m_irq_handler(state); interrupt_pending = state; }
//------------------------------------------------- // update_interrupts //------------------------------------------------- void ef9365_device::update_interrupts() { int new_state = ( m_irq_vb && (m_registers[EF936X_REG_CTRL1] & 0x20) ) || ( m_irq_rdy && (m_registers[EF936X_REG_CTRL1] & 0x40) ) || ( m_irq_lb && (m_registers[EF936X_REG_CTRL1] & 0x10) ); if (new_state != m_irq_state) { m_irq_state = new_state; m_irq_handler(m_irq_state); } }
void pc_lpt_device::update_irq() { int irq = 1; // high impedance if (!m_irq_enabled) { irq = m_centronics_ack; } if (m_irq != irq) { m_irq = irq; m_irq_handler(!irq); } }
void ym3802_device::set_irq(uint8_t irq) { uint8_t x; m_irq_status |= (irq & m_reg[REG_IER]); for(x=0;x<8;x++) { if(m_irq_status & (1 << x)) break; } m_vector = (m_reg[REG_IOR] & 0xe0) | (x << 1); if(m_irq_status != 0) m_irq_handler(ASSERT_LINE); }
void mos6551_device::tra_complete() { if (!(m_st & ST_TDRE)) { transmit_register_setup(m_tdr); m_st |= ST_TDRE; if ((m_cmd & CMD_TC_MASK) == CMD_TC_TIE_RTS_LO) { m_st |= ST_IRQ; m_irq_handler(ASSERT_LINE); } } }
void ncr5380n_device::device_reset() { clock_conv = 2; sync_period = 5; sync_offset = 0; seq = 0; status = 0; m_tcommand = 0; m_icommand = 0; istatus = 0; m_busstatus = 0; irq = false; m_irq_handler(irq); reset_soft(); }
void ncr5390_device::device_reset() { fifo_pos = 0; memset(fifo, 0, sizeof(fifo)); clock_conv = 2; sync_period = 5; sync_offset = 0; seq = 0; config &= 7; status &= 0x90; istatus = 0; irq = false; m_irq_handler(irq); reset_soft(); }
void mos6551_device::rcv_complete() { if (m_st & ST_RDRF) { m_st |= ST_OR; } m_st &= ~(ST_FE | ST_PE); m_st |= ST_RDRF; if (!(m_cmd & CMD_RIE)) { m_st |= ST_IRQ; m_irq_handler(ASSERT_LINE); } }
void ef9365_device::device_reset() { m_state = 0; m_bf = 0; m_irq_state = 0; m_irq_vb = 0; m_irq_lb = 0; m_irq_rdy = 0; memset(m_registers, 0, sizeof(m_registers)); memset(m_border, 0, sizeof(m_border)); m_screen_out.fill(0); set_video_mode(); m_irq_handler(FALSE); }
void psxsio_device::sio_interrupt() { verboselog( *this, 1, "sio_interrupt( %s )\n", tag() ); m_status |= SIO_STATUS_IRQ; m_irq_handler(1); }
void ym3526_device::_IRQHandler(int irq) { if (!m_irq_handler.isnull()) m_irq_handler(irq); }
void ata_interface_device::set_irq(int state) { // printf( "irq %d\n", state ); m_irq_handler(state); }
void k052109_device::vblank_callback(screen_device &screen, bool state) { if (state) m_irq_handler(ASSERT_LINE); }
void am53cf96_device::device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) { scsi_regs[REG_IRQSTATE] = 8; // indicate success scsi_regs[REG_STATUS] |= 0x80; // indicate IRQ m_irq_handler(1); }
void y8950_device::_IRQHandler(int irq) { m_irq_handler(irq); }
void ym3802_device::reset_irq(uint8_t irq) { m_irq_status &= ~irq; if(m_irq_status == 0) m_irq_handler(CLEAR_LINE); }
void ata_interface_device::set_irq(int state) { // printf( "%s: irq %d\n", machine().describe_context(), state ); m_irq_handler(state); }