diff options
Diffstat (limited to 'src/devices/bus/bbc/exp/exp.cpp')
-rw-r--r-- | src/devices/bus/bbc/exp/exp.cpp | 44 |
1 files changed, 7 insertions, 37 deletions
diff --git a/src/devices/bus/bbc/exp/exp.cpp b/src/devices/bus/bbc/exp/exp.cpp index 25f19746b72..8339197eccb 100644 --- a/src/devices/bus/bbc/exp/exp.cpp +++ b/src/devices/bus/bbc/exp/exp.cpp @@ -26,8 +26,8 @@ DEFINE_DEVICE_TYPE(BBC_EXP_SLOT, bbc_exp_slot_device, "bbc_exp_slot", "BBC Maste // device_bbc_exp_interface - constructor //------------------------------------------------- -device_bbc_exp_interface::device_bbc_exp_interface(const machine_config &mconfig, device_t &device) - : device_slot_card_interface(mconfig, device) +device_bbc_exp_interface::device_bbc_exp_interface(const machine_config &mconfig, device_t &device) : + device_interface(device, "bbcexp") { m_slot = dynamic_cast<bbc_exp_slot_device *>(device.owner()); } @@ -43,7 +43,7 @@ device_bbc_exp_interface::device_bbc_exp_interface(const machine_config &mconfig bbc_exp_slot_device::bbc_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, BBC_EXP_SLOT, tag, owner, clock), - device_slot_interface(mconfig, *this), + device_single_card_slot_interface<device_bbc_exp_interface>(mconfig, *this), m_card(nullptr), m_irq_handler(*this), m_nmi_handler(*this), @@ -54,46 +54,16 @@ bbc_exp_slot_device::bbc_exp_slot_device(const machine_config &mconfig, const ch //------------------------------------------------- -// device_validity_check - -//------------------------------------------------- - -void bbc_exp_slot_device::device_validity_check(validity_checker &valid) const -{ - device_t *const carddev = get_card_device(); - if (carddev && !dynamic_cast<device_bbc_exp_interface *>(carddev)) - osd_printf_error("Card device %s (%s) does not implement device_bbc_exp_interface\n", carddev->tag(), carddev->name()); -} - - -//------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- void bbc_exp_slot_device::device_start() { - device_t *const carddev = get_card_device(); - m_card = dynamic_cast<device_bbc_exp_interface *>(carddev); - if (carddev && !m_card) - fatalerror("Card device %s (%s) does not implement device_bbc_exp_interface\n", carddev->tag(), carddev->name()); - - // resolve callbacks - m_irq_handler.resolve_safe(); - m_nmi_handler.resolve_safe(); - - m_cb1_handler.resolve_safe(); - m_cb2_handler.resolve_safe(); + m_card = get_card_device(); } //------------------------------------------------- -// device_reset - device-specific reset -//------------------------------------------------- - -void bbc_exp_slot_device::device_reset() -{ -} - -//------------------------------------------------- // read //------------------------------------------------- @@ -172,12 +142,12 @@ void bbc_exp_slot_device::pb_w(uint8_t data) // slot devices -//#include "autocue.h" +#include "autocue.h" #include "mertec.h" void bbc_exp_devices(device_slot_interface &device) { - //device.option_add("autocue", BBC_AUTOCUE); /* Autocue RAM disk board */ - device.option_add("mertec", BBC_MERTEC); /* Mertec Compact Companion */ + device.option_add_internal("autocue", BBC_AUTOCUE); /* Autocue RAM disk board */ + device.option_add("mertec", BBC_MERTEC); /* Mertec Compact Companion */ } |