diff options
Diffstat (limited to 'src/devices/cpu/s2650/s2650.cpp')
-rw-r--r-- | src/devices/cpu/s2650/s2650.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/devices/cpu/s2650/s2650.cpp b/src/devices/cpu/s2650/s2650.cpp index ccdc5694cd2..baa8beae391 100644 --- a/src/devices/cpu/s2650/s2650.cpp +++ b/src/devices/cpu/s2650/s2650.cpp @@ -13,7 +13,6 @@ *************************************************************************/ #include "emu.h" -#include "debugger.h" #include "s2650.h" #include "s2650cpu.h" @@ -33,8 +32,9 @@ s2650_device::s2650_device(const machine_config &mconfig, const char *tag, devic , m_program_config("program", ENDIANNESS_BIG, 8, 15) , m_io_config("io", ENDIANNESS_BIG, 8, 8) , m_data_config("data", ENDIANNESS_BIG, 8, 1) - , m_sense_handler(*this) - , m_flag_handler(*this), m_intack_handler(*this) + , m_sense_handler(*this, 0) + , m_flag_handler(*this) + , m_intack_handler(*this, 0x00) , m_ppc(0), m_page(0), m_iar(0), m_ea(0), m_psl(0), m_psu(0), m_r(0) , m_halt(0), m_ir(0), m_irq_state(0), m_icount(0) , m_debugger_temp(0) @@ -180,7 +180,7 @@ inline void s2650_device::set_psu(uint8_t new_val) inline uint8_t s2650_device::get_psu() { - if (!m_sense_handler.isnull()) + if (!m_sense_handler.isunset()) { if (m_sense_handler()) m_psu |= SI; @@ -207,14 +207,14 @@ inline int s2650_device::check_irq_line() if (m_irq_state != CLEAR_LINE) { - if( (m_psu & II) == 0 ) + if ((m_psu & II) == 0) { if (m_halt) { m_halt = 0; m_iar = (m_iar + 1) & PMSK; } - standard_irq_callback(0); + standard_irq_callback(0, m_page + m_iar); /* Say hi */ int vector = m_intack_handler(); @@ -820,10 +820,6 @@ static void BRA_EA(void) _BRA_EA() void s2650_device::device_start() { - m_sense_handler.resolve(); - m_flag_handler.resolve_safe(); - m_intack_handler.resolve_safe(0x00); - space(AS_PROGRAM).cache(m_cprogram); space(AS_PROGRAM).specific(m_program); space(AS_DATA).specific(m_data); |