summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/pet/exp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/pet/exp.cpp')
-rw-r--r--src/devices/bus/pet/exp.cpp35
1 files changed, 5 insertions, 30 deletions
diff --git a/src/devices/bus/pet/exp.cpp b/src/devices/bus/pet/exp.cpp
index 07aa7155b93..aef8c5dfbf4 100644
--- a/src/devices/bus/pet/exp.cpp
+++ b/src/devices/bus/pet/exp.cpp
@@ -37,7 +37,8 @@ DEFINE_DEVICE_TYPE(PET_EXPANSION_SLOT, pet_expansion_slot_device, "pet_expansion
pet_expansion_slot_device::pet_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, PET_EXPANSION_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this), m_card(nullptr),
+ device_single_card_slot_interface<device_pet_expansion_card_interface>(mconfig, *this),
+ m_card(nullptr),
m_read_dma(*this),
m_write_dma(*this)
{
@@ -58,7 +59,7 @@ pet_expansion_slot_device::~pet_expansion_slot_device()
//-------------------------------------------------
device_pet_expansion_card_interface::device_pet_expansion_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
+ : device_interface(device, "petexp")
{
m_slot = dynamic_cast<pet_expansion_slot_device *>(device.owner());
}
@@ -74,27 +75,12 @@ device_pet_expansion_card_interface::~device_pet_expansion_card_interface()
//-------------------------------------------------
-// device_validity_check -
-//-------------------------------------------------
-
-void pet_expansion_slot_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const carddev = get_card_device();
- if (carddev && !dynamic_cast<device_pet_expansion_card_interface *>(carddev))
- osd_printf_error("Card device %s (%s) does not implement device_pet_expansion_card_interface\n", carddev->tag(), carddev->name());
-}
-
-
-//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void pet_expansion_slot_device::device_start()
{
- device_t *const carddev = get_card_device();
- m_card = dynamic_cast<device_pet_expansion_card_interface *>(carddev);
- if (carddev && !m_card)
- fatalerror("Card device %s (%s) does not implement device_pet_expansion_card_interface\n", carddev->tag(), carddev->name());
+ m_card = get_card_device();
// resolve callbacks
m_read_dma.resolve_safe(0);
@@ -103,15 +89,6 @@ void pet_expansion_slot_device::device_start()
//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void pet_expansion_slot_device::device_reset()
-{
-}
-
-
-//-------------------------------------------------
// norom_r - NO ROM read
//-------------------------------------------------
@@ -127,10 +104,8 @@ int pet_expansion_slot_device::norom_r(offs_t offset, int sel)
uint8_t pet_expansion_slot_device::read(offs_t offset, uint8_t data, int &sel)
{
- if (m_card != nullptr)
- {
+ if (m_card)
data = m_card->pet_bd_r(offset, data, sel);
- }
return data;
}