diff --git a/src/emu/cpu/m6502/m4510.c b/src/emu/cpu/m6502/m4510.c index 390422c5679..96a2603fffc 100644 --- a/src/emu/cpu/m6502/m4510.c +++ b/src/emu/cpu/m6502/m4510.c @@ -70,6 +70,7 @@ void m4510_device::device_start() void m4510_device::device_reset() { + m65ce02_device::device_reset(); map_offset[0] = map_offset[1] = 0; map_enable = 0; nomap = true; diff --git a/src/emu/cpu/m6502/m6502.c b/src/emu/cpu/m6502/m6502.c index aa158940f90..3b0f5fa12f8 100644 --- a/src/emu/cpu/m6502/m6502.c +++ b/src/emu/cpu/m6502/m6502.c @@ -122,6 +122,7 @@ void m6502_device::init() inst_substate = 0; sync = false; end_cycles = 0; + inhibit_interrupts = false; } void m6502_device::device_reset() @@ -150,7 +151,7 @@ UINT32 m6502_device::execute_max_cycles() const UINT32 m6502_device::execute_input_lines() const { - return 3; + return NMI_LINE+1; } void m6502_device::do_adc_d(UINT8 val) diff --git a/src/emu/cpu/m6502/m6509.c b/src/emu/cpu/m6502/m6509.c index 007d6effd8d..2e8abefe749 100644 --- a/src/emu/cpu/m6502/m6509.c +++ b/src/emu/cpu/m6502/m6509.c @@ -65,6 +65,7 @@ void m6509_device::device_start() void m6509_device::device_reset() { + m6502_device::device_reset(); bank_i = 0x0f; bank_y = 0x0f; } diff --git a/src/emu/cpu/m6502/m6510.c b/src/emu/cpu/m6502/m6510.c index 55ef1a4efcf..1121392e61b 100644 --- a/src/emu/cpu/m6502/m6510.c +++ b/src/emu/cpu/m6502/m6510.c @@ -92,6 +92,7 @@ void m6510_device::device_start() void m6510_device::device_reset() { + m6502_device::device_reset(); dir = 0x00; port = 0x00; drive = 0x00;