summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502/m6502.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6502/m6502.cpp')
-rw-r--r--src/devices/cpu/m6502/m6502.cpp16
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++;
}