diff options
Diffstat (limited to 'src/devices/bus/intellec4/intellec4.cpp')
-rw-r--r-- | src/devices/bus/intellec4/intellec4.cpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/devices/bus/intellec4/intellec4.cpp b/src/devices/bus/intellec4/intellec4.cpp index c3742062454..82cf6702144 100644 --- a/src/devices/bus/intellec4/intellec4.cpp +++ b/src/devices/bus/intellec4/intellec4.cpp @@ -58,11 +58,16 @@ void univ_slot_device::device_start() univ_bus_device::univ_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock) : device_t(mconfig, INTELLEC4_UNIV_BUS, tag, owner, clock) - , m_rom_space(*this, finder_base::DUMMY_TAG, -1) - , m_rom_ports_space(*this, finder_base::DUMMY_TAG, -1) - , m_memory_space(*this, finder_base::DUMMY_TAG, -1) - , m_status_space(*this, finder_base::DUMMY_TAG, -1) - , m_ram_ports_space(*this, finder_base::DUMMY_TAG, -1) + , m_rom_device(*this, finder_base::DUMMY_TAG) + , m_rom_ports_device(*this, finder_base::DUMMY_TAG) + , m_memory_device(*this, finder_base::DUMMY_TAG) + , m_status_device(*this, finder_base::DUMMY_TAG) + , m_ram_ports_device(*this, finder_base::DUMMY_TAG) + , m_rom_space(-1) + , m_rom_ports_space(-1) + , m_memory_space(-1) + , m_status_space(-1) + , m_ram_ports_space(-1) , m_test_out_cb(*this) , m_stop_out_cb(*this) , m_reset_4002_out_cb(*this) @@ -118,6 +123,20 @@ WRITE_LINE_MEMBER(univ_bus_device::cpu_reset_in) device_t implementation ----------------------------------*/ +void univ_bus_device::device_validity_check(validity_checker &valid) const +{ + if (m_rom_device && !m_rom_device->space_config(m_rom_space)) + osd_printf_error("ROM space device %s (%s) lacks address space %d config\n", m_rom_device->device().tag(), m_rom_device->device().name(), m_rom_space); + if (m_rom_ports_device && !m_rom_ports_device->space_config(m_rom_ports_space)) + osd_printf_error("ROM ports space device %s (%s) lacks address space %d config\n", m_rom_ports_device->device().tag(), m_rom_ports_device->device().name(), m_rom_ports_space); + if (m_memory_device && !m_memory_device->space_config(m_memory_space)) + osd_printf_error("Memory space device %s (%s) lacks address space %d config\n", m_memory_device->device().tag(), m_memory_device->device().name(), m_memory_space); + if (m_status_device && !m_status_device->space_config(m_status_space)) + osd_printf_error("Status space device %s (%s) lacks address space %d config\n", m_status_device->device().tag(), m_status_device->device().name(), m_status_space); + if (m_ram_ports_device && !m_ram_ports_device->space_config(m_ram_ports_space)) + osd_printf_error("RAM ports space device %s (%s) lacks address space %d config\n", m_ram_ports_device->device().tag(), m_ram_ports_device->device().name(), m_ram_ports_space); +} + void univ_bus_device::device_start() { m_test_out_cb.resolve_safe(); |