@Override
    public void set_irq_line(int irqline, int state) {
        
        if(errorlog!=null) fprintf(errorlog, "Z80#%d set_irq_line %d\n",cpu_getactivecpu() , state);
        Z80.irq_state = state;
        if(state==CLEAR_LINE) return;
        
        
    	if( Z80.irq_max!=0 )
    	{
            throw new UnsupportedOperationException("Daisychain not supported yet."); 
    /*TODO*///		int daisychain, device, int_state;
    /*TODO*///		daisychain = (*Z80.irq_callback)(irqline);
    /*TODO*///		device = daisychain >> 8;
    /*TODO*///		int_state = daisychain & 0xff;
    /*TODO*///		LOG((errorlog, "Z80#%d daisy chain $%04x -> device %d, state $%02x",cpu_getactivecpu(), daisychain, device, int_state));
    /*TODO*///
    /*TODO*///		if( Z80.int_state[device] != int_state )
    /*TODO*///		{
    /*TODO*///			LOG((errorlog, " change\n"));
    /*TODO*///			/* set new interrupt status */
    /*TODO*///            Z80.int_state[device] = int_state;
    /*TODO*///			/* check interrupt status */
    /*TODO*///			Z80.request_irq = Z80.service_irq = -1;
    /*TODO*///
    /*TODO*///            /* search higher IRQ or IEO */
    /*TODO*///			for( device = 0 ; device < Z80.irq_max ; device ++ )
    /*TODO*///			{
    /*TODO*///				/* IEO = disable ? */
    /*TODO*///				if( Z80.int_state[device] & Z80_INT_IEO )
    /*TODO*///				{
    /*TODO*///					Z80.request_irq = -1;		/* if IEO is disable , masking lower IRQ */
    /*TODO*///					Z80.service_irq = device;	/* set highest interrupt service device */
    /*TODO*///				}
    /*TODO*///				/* IRQ = request ? */
    /*TODO*///				if( Z80.int_state[device] & Z80_INT_REQ )
    /*TODO*///					Z80.request_irq = device;
    /*TODO*///			}
    /*TODO*///            LOG((errorlog, "Z80#%d daisy chain service_irq $%02x, request_irq $%02x\n", cpu_getactivecpu(), Z80.service_irq, Z80.request_irq));
    /*TODO*///			if( Z80.request_irq < 0 ) return;
    /*TODO*///		}
    /*TODO*///		else
    /*TODO*///		{
    /*TODO*///			LOG((errorlog, " no change\n"));
    /*TODO*///			return;
    /*TODO*///		}
    	}
    	take_interrupt();
    }