diff --git a/src/devices/bus/sbus/sbus.cpp b/src/devices/bus/sbus/sbus.cpp index dce9053b3a4..3fa46c124a0 100644 --- a/src/devices/bus/sbus/sbus.cpp +++ b/src/devices/bus/sbus/sbus.cpp @@ -199,14 +199,14 @@ void device_sbus_card_interface::interface_pre_start() fatalerror("Can't find Sun SBus device %s\n", m_sbus_finder.finder_tag()); } - if (0 > m_slot) - { - if (!m_sbus->started()) - throw device_missing_dependencies(); + if (!m_sbus->started()) + throw device_missing_dependencies(); +} - m_base = m_slot << 25; - m_sbus->add_sbus_card(m_slot, this); - } +void device_sbus_card_interface::interface_post_start() +{ + m_base = m_slot << 25; + m_sbus->add_sbus_card(m_slot, this); } void device_sbus_card_interface::set_sbus(sbus_device *sbus, int slot) diff --git a/src/devices/bus/sbus/sbus.h b/src/devices/bus/sbus/sbus.h index fb9f2a508d5..29d2e2c26bb 100644 --- a/src/devices/bus/sbus/sbus.h +++ b/src/devices/bus/sbus/sbus.h @@ -146,6 +146,7 @@ protected: virtual void interface_validity_check(validity_checker &valid) const override; virtual void interface_pre_start() override; + virtual void interface_post_start() override; virtual void install_device() = 0; sbus_device &sbus() { assert(m_sbus); return *m_sbus; }