diff options
Diffstat (limited to 'src/devices/bus/bbc/1mhzbus/1mhzbus.cpp')
-rw-r--r-- | src/devices/bus/bbc/1mhzbus/1mhzbus.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp index 12feac575f8..12b7fad79ae 100644 --- a/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp +++ b/src/devices/bus/bbc/1mhzbus/1mhzbus.cpp @@ -71,12 +71,27 @@ bbc_1mhzbus_slot_device::~bbc_1mhzbus_slot_device() //------------------------------------------------- +// device_validity_check - +//------------------------------------------------- + +void bbc_1mhzbus_slot_device::device_validity_check(validity_checker &valid) const +{ + device_t *const carddev = get_card_device(); + if (carddev && !dynamic_cast<device_bbc_1mhzbus_interface *>(carddev)) + osd_printf_error("Card device %s (%s) does not implement device_bbc_1mhzbus_interface\n", carddev->tag(), carddev->name()); +} + + +//------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- void bbc_1mhzbus_slot_device::device_start() { - m_card = dynamic_cast<device_bbc_1mhzbus_interface *>(get_card_device()); + device_t *const carddev = get_card_device(); + m_card = dynamic_cast<device_bbc_1mhzbus_interface *>(carddev); + if (carddev && !m_card) + fatalerror("Card device %s (%s) does not implement device_bbc_1mhzbus_interface\n", carddev->tag(), carddev->name()); // resolve callbacks m_irq_handler.resolve_safe(); @@ -90,10 +105,6 @@ void bbc_1mhzbus_slot_device::device_start() void bbc_1mhzbus_slot_device::device_reset() { - if (get_card_device()) - { - get_card_device()->reset(); - } } WRITE_LINE_MEMBER(bbc_1mhzbus_slot_device::rst_w) |