Esempio n. 1
0
 // construction/destruction
 //-------------------------------------------------
 //  generic_latch_base_device - constructor
 //-------------------------------------------------
 protected generic_latch_base_device(machine_config mconfig, device_type type, string tag, device_t owner, u32 clock)
     : base(mconfig, type, tag, owner, clock)
 {
     m_separate_acknowledge = false;
     m_latch_written        = false;
     m_data_pending_cb      = new devcb_write_line(this);
 }
Esempio n. 2
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);
        }
Esempio n. 3
0
        bool m_clear;                  // clear/reset active state


        // construction/destruction
        protected addressable_latch_device(machine_config mconfig, device_type type, string tag, device_t owner, u32 clock, bool clear_active)
            : base(mconfig, type, tag, owner, clock)
        {
            for (int i = 0; i < 8; i++)
            {
                m_q_out_cb[i] = new devcb_write_line(this);
            }
            m_parallel_out_cb = new devcb_write8(this);
            m_clear_active    = clear_active;
        }
Esempio n. 4
0
        msm5205_device(machine_config mconfig, device_type type, string tag, device_t owner, u32 clock)
            : base(mconfig, type, tag, owner, clock)
        {
            m_class_interfaces.Add(new device_sound_interface_msm5205(mconfig, this));  //device_sound_interface(mconfig, *this),

            m_s1            = false;
            m_s2            = false;
            m_bitwidth      = 4;
            m_vck_cb        = new devcb_write_line(this);
            m_vck_legacy_cb = new devcb_write_line(this);
        }
Esempio n. 5
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);
     }
 }
Esempio n. 6
0
File: m6801.cs Progetto: kwanboy/mcs
        protected m6801_cpu_device(machine_config mconfig, device_type type, string tag, device_t owner, uint32_t clock, op_func [] insn, uint8_t [] cycles, address_map_constructor internal_ = null)
            : base(mconfig, type, tag, owner, clock, insn, cycles, internal_)
        {
            m_class_interfaces.Add(new device_execute_interface_m6801(mconfig, this));
            m_class_interfaces.Add(new device_memory_interface_m6800(mconfig, this));
            m_class_interfaces.Add(new device_state_interface_m6800(mconfig, this));

            init_m6803_insn();

            m_in_port_func = new devcb_read8 [4] {
                new devcb_read8(this), new devcb_read8(this), new devcb_read8(this), new devcb_read8(this)
            };
            m_out_port_func = new devcb_write8 [4] {
                new devcb_write8(this), new devcb_write8(this), new devcb_write8(this), new devcb_write8(this)
            };
            m_out_sc2_func   = new devcb_write_line(this);
            m_out_sertx_func = new devcb_write_line(this);
        }
Esempio n. 7
0
        namco_06xx_device(machine_config mconfig, string tag, device_t owner, u32 clock)
            : base(mconfig, NAMCO_06XX, tag, owner, clock)
        {
            m_control = 0;
            m_nmicpu  = new required_device <cpu_device>(this, finder_base.DUMMY_TAG);

            for (int i = 0; i < 4; i++)
            {
                m_read[i] = new devcb_read8(this);
            }

            for (int i = 0; i < 4; i++)
            {
                m_readreq[i] = new devcb_write_line(this);
            }

            for (int i = 0; i < 4; i++)
            {
                m_write[i] = new devcb_write8(this);
            }
        }
Esempio n. 8
0
File: m6502.cs Progetto: kwanboy/mcs
        m6502_device(machine_config mconfig, device_type type, string tag, device_t owner, u32 clock)
            : base(mconfig, type, tag, owner, clock)
        {
            m_class_interfaces.Add(new device_execute_interface_m6502(mconfig, this));
            m_class_interfaces.Add(new device_memory_interface_m6502(mconfig, this));
            m_class_interfaces.Add(new device_state_interface_m6502(mconfig, this));
            m_class_interfaces.Add(new device_disasm_interface_m6502(mconfig, this));


            sync_w          = new devcb_write_line(this);
            program_config  = new address_space_config("program", endianness_t.ENDIANNESS_LITTLE, 8, 16);
            sprogram_config = new address_space_config("decrypted_opcodes", endianness_t.ENDIANNESS_LITTLE, 8, 16);
            PPC             = 0;
            NPC             = 0;
            PC                            = 0;
            SP                            = 0;
            TMP                           = 0;
            TMP2                          = 0;
            A                             = 0;
            X                             = 0;
            Y                             = 0;
            P                             = 0;
            IR                            = 0;
            inst_state_base               = 0;
            mintf                         = null;
            inst_state                    = 0;
            inst_substate                 = 0;
            icountRef.i                   = 0; //icount = 0;
            nmi_state                     = false;
            irq_state                     = false;
            apu_irq_state                 = false;
            v_state                       = false;
            irq_taken                     = false;
            sync                          = false;
            inhibit_interrupts            = false;
            count_before_instruction_step = 0;


            cache_disabled = false;
        }
Esempio n. 9
0
File: i8257.cs Progetto: kwanboy/mcs
        intref m_icountRef = new intref();  //int m_icount;


        // construction/destruction
        i8257_device(machine_config mconfig, string tag, device_t owner, uint32_t clock)
            : base(mconfig, I8257, tag, owner, clock)
        {
            m_class_interfaces.Add(new device_execute_interface_i8257(mconfig, this));  //device_execute_interface(mconfig, *this),


            m_icountRef.i     = 0;
            m_reverse_rw      = false;
            m_tc              = false;
            m_msb             = 0;
            m_hreq            = CLEAR_LINE;
            m_hack            = 0;
            m_ready           = 1;
            m_state           = 0;
            m_current_channel = 0;
            m_last_channel    = 0;
            m_transfer_mode   = 0;
            m_status          = 0;
            m_request         = 0;
            m_temp            = 0;
            m_out_hrq_cb      = new devcb_write_line(this);
            m_out_tc_cb       = new devcb_write_line(this);
            m_in_memr_cb      = new devcb_read8(this);
            m_out_memw_cb     = new devcb_write8(this);
            for (int i = 0; i < 4; i++)
            {
                m_in_ior_cb[i] = new devcb_read8(this);
            }
            for (int i = 0; i < 4; i++)
            {
                m_out_iow_cb[i] = new devcb_write8(this);
            }
            for (int i = 0; i < 4; i++)
            {
                m_out_dack_cb[i] = new devcb_write_line(this);
            }
        }