Esempio n. 1
0
        //-------------------------------------------------
        //  daisy_get_irq_device - return the device
        //  in the chain that requested the interrupt
        //-------------------------------------------------
        public device_z80daisy_interface daisy_get_irq_device()
        {
            // loop over all devices; dev[0] is the highest priority
            for (device_z80daisy_interface intf = m_chain; intf != null; intf = intf.m_daisy_next)
            {
                // if this device is asserting the INT line, that's the one we want
                int state = intf.z80daisy_irq_state();
                if ((state & Z80_DAISY_INT) != 0)
                {
                    return(intf);
                }
            }

            if (VERBOSE && daisy_chain_present())
            {
                device().logerror("Interrupt from outside Z80 daisy chain\n");
            }

            return(null);
        }
Esempio n. 2
0
        device_z80daisy_interface m_chain;     // head of the daisy chain


        // construction/destruction
        //-------------------------------------------------
        //  z80_daisy_chain_interface - constructor
        //-------------------------------------------------
        public z80_daisy_chain_interface(machine_config mconfig, device_t device)
            : base(device, "z80daisychain")
        {
            m_daisy_config = null;
            m_chain        = null;
        }
Esempio n. 3
0
        public device_z80daisy_interface m_daisy_next;    // next device in the chain


        // construction/destruction
        //-------------------------------------------------
        //  device_z80daisy_interface - constructor
        //-------------------------------------------------
        device_z80daisy_interface(machine_config mconfig, device_t device)
            : base(device, "z80daisy")
        {
            m_daisy_next = null;
        }