Exemple #1
0
        // device-level overrides
        protected override void device_start()
        {
            m_dimemory = GetClassInterface <device_memory_interface_m6502>();
            m_diexec   = GetClassInterface <device_execute_interface_m6502>();
            m_distate  = GetClassInterface <device_state_interface_m6502>();


            mintf = m_dimemory.space(AS_PROGRAM).addr_width() > 14 ? new mi_default() : new mi_default14();

            init();
        }
Exemple #2
0
        // device-level overrides
        protected override void device_start()
        {
            m_dimemory = GetClassInterface <device_memory_interface_m6502>();
            m_diexec   = GetClassInterface <device_execute_interface_m6502>();
            m_distate  = GetClassInterface <device_state_interface_m6502>();


            if (cache_disabled)
            {
                mintf = new mi_default_nd();
            }
            else
            {
                mintf = new mi_default_normal();
            }

            init();
        }
Exemple #3
0
        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;
        }