diff options
Diffstat (limited to 'src/devices/cpu/mcs40/mcs40.cpp')
-rw-r--r-- | src/devices/cpu/mcs40/mcs40.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/devices/cpu/mcs40/mcs40.cpp b/src/devices/cpu/mcs40/mcs40.cpp index e7b30082012..bf9b6a310d6 100644 --- a/src/devices/cpu/mcs40/mcs40.cpp +++ b/src/devices/cpu/mcs40/mcs40.cpp @@ -510,39 +510,39 @@ inline void mcs40_cpu_device_base::set_rc(u8 val) inline u8 mcs40_cpu_device_base::read_memory() { - return m_spaces[AS_RAM_MEMORY]->read_byte((u16(m_cr & 0x7U) << 8) | m_latched_rc) & 0x0fU; + return m_spaces[AS_RAM_MEMORY]->read_byte((u16(m_cr & 0x7U) << 8) | m_latched_rc, 0x0fU) & 0x0fU; } inline void mcs40_cpu_device_base::write_memory(u8 val) { - m_spaces[AS_RAM_MEMORY]->write_byte((u16(m_cr & 0x7U) << 8) | m_latched_rc, val & 0x0fU); + m_spaces[AS_RAM_MEMORY]->write_byte((u16(m_cr & 0x7U) << 8) | m_latched_rc, val & 0x0fU, 0x0fU); } inline u8 mcs40_cpu_device_base::read_status() { u16 const addr((((u16(m_cr) << 6) | (m_latched_rc >> 2)) & 0x01fcU) | (m_opa & 0x0003U)); - return m_spaces[AS_RAM_STATUS]->read_byte(addr) & 0x0fU; + return m_spaces[AS_RAM_STATUS]->read_byte(addr, 0x0fU) & 0x0fU; } inline void mcs40_cpu_device_base::write_status(u8 val) { u16 const addr((((u16(m_cr) << 6) | (m_latched_rc >> 2)) & 0x01fcU) | (m_opa & 0x0003U)); - m_spaces[AS_RAM_STATUS]->write_byte(addr, val & 0x0fU); + m_spaces[AS_RAM_STATUS]->write_byte(addr, val & 0x0fU, 0x0fU); } inline u8 mcs40_cpu_device_base::read_rom_port() { - return m_spaces[AS_ROM_PORTS]->read_byte((u16(m_cr) << 8) | m_latched_rc) & 0x0fU; + return m_spaces[AS_ROM_PORTS]->read_byte((u16(m_cr) << 8) | m_latched_rc, 0x0fU) & 0x0fU; } inline void mcs40_cpu_device_base::write_rom_port(u8 val) { - m_spaces[AS_ROM_PORTS]->write_byte((u16(m_cr) << 8) | m_latched_rc, val & 0x0fU); + m_spaces[AS_ROM_PORTS]->write_byte((u16(m_cr) << 8) | m_latched_rc, val & 0x0fU, 0x0fU); } inline void mcs40_cpu_device_base::write_memory_port(u8 val) { - m_spaces[AS_RAM_PORTS]->write_byte(((m_cr << 2) & 0x1cU) | (m_latched_rc >> 6), val & 0x0fU); + m_spaces[AS_RAM_PORTS]->write_byte(((m_cr << 2) & 0x1cU) | (m_latched_rc >> 6), val & 0x0fU, 0x0fU); } @@ -580,7 +580,7 @@ inline void mcs40_cpu_device_base::do_a1() if (cycle::OP == m_cycle) { m_pcbase = rom_bank() | m_rom_addr; - if (machine().debug_flags & DEBUG_FLAG_ENABLED) + if (debugger_enabled()) debugger_instruction_hook(pc()); if (m_stop_latch) { @@ -812,16 +812,15 @@ i4004_cpu_device::i4004_cpu_device(machine_config const &mconfig, char const *ta { } +i4004_cpu_device::~i4004_cpu_device() +{ +} + /*********************************************************************** device_execute_interface implementation ***********************************************************************/ -u32 i4004_cpu_device::execute_input_lines() const noexcept -{ - return 1U; -} - void i4004_cpu_device::execute_set_input(int inputnum, int state) { switch (inputnum) @@ -863,10 +862,9 @@ i4004_cpu_device::cycle i4004_cpu_device::do_cycle1(u8 opr, u8 opa, pmem &progra case 0x0: switch (opa) { + default: // in practice, the 4004 treats these as aliases for NOP case 0x0: // NOP return cycle::OP; - default: - break; } break; @@ -1122,16 +1120,15 @@ i4040_cpu_device::i4040_cpu_device(machine_config const &mconfig, char const *ta { } +i4040_cpu_device::~i4040_cpu_device() +{ +} + /*********************************************************************** device_execute_interface implementation ***********************************************************************/ -u32 i4040_cpu_device::execute_input_lines() const noexcept -{ - return 3U; -} - void i4040_cpu_device::execute_set_input(int inputnum, int state) { switch (inputnum) @@ -1166,6 +1163,8 @@ i4040_cpu_device::cycle i4040_cpu_device::do_cycle1(u8 opr, u8 opa, pmem &progra case 0x0: switch (opa) { + case 0x0: // NOP + return cycle::OP; case 0x1: // HLT halt_decoded(); return cycle::OP; @@ -1192,7 +1191,8 @@ i4040_cpu_device::cycle i4040_cpu_device::do_cycle1(u8 opr, u8 opa, pmem &progra program_op = pmem::READ; return cycle::OP; default: - break; + logerror("MCS-40: unhandled instruction OPR=%X OPA=%X\n", opr, opa); + return cycle::OP; } break; default: |