Example #1
0
        // construction/destruction
        public mb88_cpu_device(machine_config mconfig, device_type type, string tag, device_t owner, uint32_t clock, int program_width, int data_width)
            : base(mconfig, type, tag, owner, clock)
        {
            m_class_interfaces.Add(new device_execute_interface_mb88(mconfig, this));
            m_class_interfaces.Add(new device_memory_interface_mb88(mconfig, this));
            m_class_interfaces.Add(new device_state_interface_mb88(mconfig, this));
            m_class_interfaces.Add(new device_disasm_interface_mb88(mconfig, this));


            m_program_config = new address_space_config("program", endianness_t.ENDIANNESS_BIG, 8, (byte)program_width, 0, (program_width == 9) ? program_9bit : (program_width == 10) ? program_10bit : (address_map_constructor)program_11bit);
            m_data_config    = new address_space_config("data", endianness_t.ENDIANNESS_BIG, 8, (byte)data_width, 0, (data_width == 4) ? data_4bit : (data_width == 5) ? data_5bit : (data_width == 6) ? data_6bit : (address_map_constructor)data_7bit);
            m_PLA            = null;
            m_read_k         = new devcb_read8(this);
            m_write_o        = new devcb_write8(this);
            m_write_p        = new devcb_write8(this);
            for (int i = 0; i < 4; i++)
            {
                m_read_r[i] = new devcb_read8(this);
            }
            for (int i = 0; i < 4; i++)
            {
                m_write_r[i] = new devcb_write8(this);
            }
            m_read_si  = new devcb_read_line(this);
            m_write_so = new devcb_write_line(this);
        }
Example #2
0
 latch8_device(machine_config mconfig, string tag, device_t owner, uint32_t clock = 0)
     : base(mconfig, LATCH8, tag, owner, clock)
 {
     m_value     = 0;
     m_has_write = 0;
     m_has_read  = 0;
     m_maskout   = 0;
     m_xorvalue  = 0;
     m_nosync    = 0;
     for (int i = 0; i < 8; i++)
     {
         m_write_cb[i] = new devcb_write_line(this);
     }
     for (int i = 0; i < 8; i++)
     {
         m_read_cb[i] = new devcb_read_line(this);
     }
 }