diff options
Diffstat (limited to 'src/devices/bus/bbc/analogue/analogue.cpp')
-rw-r--r-- | src/devices/bus/bbc/analogue/analogue.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/devices/bus/bbc/analogue/analogue.cpp b/src/devices/bus/bbc/analogue/analogue.cpp index 24f2707e8f5..fd004baab91 100644 --- a/src/devices/bus/bbc/analogue/analogue.cpp +++ b/src/devices/bus/bbc/analogue/analogue.cpp @@ -57,13 +57,22 @@ bbc_analogue_slot_device::bbc_analogue_slot_device(const machine_config &mconfig } +void bbc_analogue_slot_device::device_validity_check(validity_checker &valid) const +{ + device_t *const carddev = get_card_device(); + if (carddev && !dynamic_cast<device_bbc_analogue_interface *>(carddev)) + osd_printf_error("Card device %s (%s) does not implement device_bbc_analogue_interface\n", carddev->tag(), carddev->name()); +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- void bbc_analogue_slot_device::device_start() { - m_card = dynamic_cast<device_bbc_analogue_interface *>(get_card_device()); + device_t *const carddev = get_card_device(); + if (carddev && !dynamic_cast<device_bbc_analogue_interface *>(carddev)) + osd_printf_error("Card device %s (%s) does not implement device_bbc_analogue_interface\n", carddev->tag(), carddev->name()); } uint8_t bbc_analogue_slot_device::ch_r(int channel) @@ -88,10 +97,6 @@ uint8_t bbc_analogue_slot_device::pb_r() void bbc_analogue_slot_device::device_reset() { - if (get_card_device()) - { - get_card_device()->reset(); - } } |