diff options
Diffstat (limited to 'src/devices/bus/pet/exp.cpp')
-rw-r--r-- | src/devices/bus/pet/exp.cpp | 35 |
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; } |