// 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(); }
// 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(); }
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; }