summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/abcbus/abcbus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/abcbus/abcbus.cpp')
-rw-r--r--src/devices/bus/abcbus/abcbus.cpp62
1 files changed, 37 insertions, 25 deletions
diff --git a/src/devices/bus/abcbus/abcbus.cpp b/src/devices/bus/abcbus/abcbus.cpp
index e34f51ac729..d02042720b7 100644
--- a/src/devices/bus/abcbus/abcbus.cpp
+++ b/src/devices/bus/abcbus/abcbus.cpp
@@ -28,7 +28,7 @@ DEFINE_DEVICE_TYPE(ABCBUS_SLOT, abcbus_slot_device, "abcbus_slot", "ABCBUS slot"
//-------------------------------------------------
device_abcbus_card_interface::device_abcbus_card_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device)
+ device_interface(device, "abcbus")
{
m_slot = dynamic_cast<abcbus_slot_device *>(device.owner());
}
@@ -40,7 +40,7 @@ device_abcbus_card_interface::device_abcbus_card_interface(const machine_config
abcbus_slot_device::abcbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ABCBUS_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this),
+ device_single_card_slot_interface<device_abcbus_card_interface>(mconfig, *this),
m_write_irq(*this),
m_write_nmi(*this),
m_write_rdy(*this),
@@ -50,8 +50,16 @@ abcbus_slot_device::abcbus_slot_device(const machine_config &mconfig, const char
m_write_xint2(*this),
m_write_xint3(*this),
m_write_xint4(*this),
- m_write_xint5(*this), m_card(nullptr), m_irq(0), m_nmi(0), m_pren(0),
- m_trrq(0), m_xint2(0), m_xint3(0), m_xint4(0), m_xint5(0)
+ m_write_xint5(*this),
+ m_card(nullptr),
+ m_irq(1),
+ m_nmi(1),
+ m_pren(1),
+ m_trrq(1),
+ m_xint2(1),
+ m_xint3(1),
+ m_xint4(1),
+ m_xint5(1)
{
}
@@ -62,28 +70,29 @@ abcbus_slot_device::abcbus_slot_device(const machine_config &mconfig, const char
void abcbus_slot_device::device_start()
{
- m_card = dynamic_cast<device_abcbus_card_interface *>(get_card_device());
-
- // resolve callbacks
- m_write_irq.resolve_safe();
- m_write_nmi.resolve_safe();
- m_write_rdy.resolve_safe();
- m_write_resin.resolve_safe();
- m_write_pren.resolve_safe();
- m_write_trrq.resolve_safe();
- m_write_xint2.resolve_safe();
- m_write_xint3.resolve_safe();
- m_write_xint4.resolve_safe();
- m_write_xint5.resolve_safe();
+ m_card = get_card_device();
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void abcbus_slot_device::device_reset()
+{
+ m_write_irq(1);
+ m_write_pren(1);
+ m_write_trrq(1);
}
// slot devices
#include "abc890.h"
#include "cadmouse.h"
-#include "db411223.h"
+#include "db4106.h"
+#include "db4107.h"
+#include "db4112.h"
#include "fd2.h"
-#include "hdc.h"
#include "lux10828.h"
#include "lux21046.h"
#include "lux21056.h"
@@ -108,12 +117,14 @@ void abc80_cards(device_slot_interface &device)
device.option_add("abc830", ABC830);
device.option_add("abcexp", ABC_EXPANSION_UNIT);
device.option_add("cadabc", ABC_CADMOUSE);
- device.option_add("db411223", DATABOARD_4112_23);
+ device.option_add("db4106", DATABOARD_4106);
+ device.option_add("db4107", DATABOARD_4107);
+ device.option_add("db4112", DATABOARD_4112);
device.option_add("fd2", ABC_FD2);
device.option_add("memcard", ABC_MEMORY_CARD);
device.option_add("slow", LUXOR_55_10828);
- device.option_add("ssa", SUPER_SMARTAID);
- device.option_add("unidisk", UNIDISK);
+ device.option_add("ssa", ABC_SUPER_SMARTAID);
+ device.option_add("unidisk", ABC_UNIDISK);
}
@@ -133,13 +144,14 @@ void abcbus_cards(device_slot_interface &device)
device.option_add("abc856", ABC856);
device.option_add("abc890", ABC890);
device.option_add("abc894", ABC894);
- device.option_add("db411223", DATABOARD_4112_23);
- device.option_add("hdc", ABC_HDC);
+ device.option_add("db4106", DATABOARD_4106);
+ device.option_add("db4107", DATABOARD_4107);
+ device.option_add("db4112", DATABOARD_4112);
device.option_add("sio", ABC_SIO);
device.option_add("slow", LUXOR_55_10828);
device.option_add("slutprov", ABC_SLUTPROV);
device.option_add("uni800", ABC_UNI800);
- device.option_add("unidisk", UNIDISK);
+ device.option_add("unidisk", ABC_UNIDISK);
device.option_add("xebec", LUXOR_55_21056);
}