From 891c542e25f94c7d80887ffa6f03710d7143beca Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 23 Jan 2018 11:25:23 -0500 Subject: mcs48.cpp: UPI has no external memory space (nw) --- src/devices/cpu/mcs48/mcs48.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/devices/cpu/mcs48/mcs48.cpp b/src/devices/cpu/mcs48/mcs48.cpp index b4207f5d4d7..b87a0683102 100644 --- a/src/devices/cpu/mcs48/mcs48.cpp +++ b/src/devices/cpu/mcs48/mcs48.cpp @@ -323,11 +323,17 @@ i8742_device::i8742_device(const machine_config &mconfig, const char *tag, devic device_memory_interface::space_config_vector mcs48_cpu_device::memory_space_config() const { - return space_config_vector { - std::make_pair(AS_PROGRAM, &m_program_config), - std::make_pair(AS_DATA, &m_data_config), - std::make_pair(AS_IO, &m_io_config) - }; + if ((m_feature_mask & UPI41_FEATURE) == 0) + return space_config_vector { + std::make_pair(AS_PROGRAM, &m_program_config), + std::make_pair(AS_DATA, &m_data_config), + std::make_pair(AS_IO, &m_io_config) + }; + else + return space_config_vector { + std::make_pair(AS_PROGRAM, &m_program_config), + std::make_pair(AS_DATA, &m_data_config) + }; } util::disasm_interface *mcs48_cpu_device::create_disassembler() @@ -979,7 +985,7 @@ void mcs48_cpu_device::device_start() m_program = &space(AS_PROGRAM); m_direct = m_program->direct<0>(); m_data = &space(AS_DATA); - m_io = &space(AS_IO); + m_io = (m_feature_mask & UPI41_FEATURE) == 0 ? &space(AS_IO) : nullptr; // resolve callbacks for (auto &cb : m_port_in_cb) -- cgit v1.2.3