summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/bbc/exp/exp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/bbc/exp/exp.cpp')
-rw-r--r--src/devices/bus/bbc/exp/exp.cpp44
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 */
}