diff options
Diffstat (limited to 'src/devices/cpu/m6502/m6502.cpp')
-rw-r--r-- | src/devices/cpu/m6502/m6502.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/devices/cpu/m6502/m6502.cpp b/src/devices/cpu/m6502/m6502.cpp index c704a114e5e..e72fd74459a 100644 --- a/src/devices/cpu/m6502/m6502.cpp +++ b/src/devices/cpu/m6502/m6502.cpp @@ -140,11 +140,6 @@ uint32_t m6502_device::execute_max_cycles() const noexcept return 10; } -uint32_t m6502_device::execute_input_lines() const noexcept -{ - return NMI_LINE+1; -} - bool m6502_device::execute_input_edge_triggered(int inputnum) const noexcept { return inputnum == NMI_LINE || inputnum == V_LINE; @@ -399,7 +394,7 @@ void m6502_device::execute_run() if(inst_state < 0xff00) { PPC = NPC; inst_state = IR | inst_state_base; - if(machine().debug_flags & DEBUG_FLAG_ENABLED) + if(debugger_enabled()) debugger_instruction_hook(pc_to_external(NPC)); } do_exec_full(); @@ -485,14 +480,16 @@ void m6502_device::state_string_export(const device_state_entry &entry, std::str void m6502_device::prefetch_start() { sync = true; - sync_w(ASSERT_LINE); + if(!sync_w.isunset()) + sync_w(ASSERT_LINE); NPC = PC; } void m6502_device::prefetch_end() { sync = false; - sync_w(CLEAR_LINE); + if(!sync_w.isunset()) + sync_w(CLEAR_LINE); if((nmi_pending || ((irq_state || apu_irq_state) && !(P & F_I))) && !inhibit_interrupts) { irq_taken = true; @@ -504,7 +501,8 @@ void m6502_device::prefetch_end() void m6502_device::prefetch_end_noirq() { sync = false; - sync_w(CLEAR_LINE); + if(!sync_w.isunset()) + sync_w(CLEAR_LINE); PC++; } |