summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cbmiec/cbmiec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cbmiec/cbmiec.cpp')
-rw-r--r--src/devices/bus/cbmiec/cbmiec.cpp53
1 files changed, 21 insertions, 32 deletions
diff --git a/src/devices/bus/cbmiec/cbmiec.cpp b/src/devices/bus/cbmiec/cbmiec.cpp
index c9a04f863e2..43faf6e17a3 100644
--- a/src/devices/bus/cbmiec/cbmiec.cpp
+++ b/src/devices/bus/cbmiec/cbmiec.cpp
@@ -222,8 +222,8 @@ DEFINE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device, "cbm_iec_slot", "CBM IEC s
// device_cbm_iec_interface - constructor
//-------------------------------------------------
-device_cbm_iec_interface::device_cbm_iec_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device), m_next(nullptr), m_bus(nullptr), m_slot(nullptr)
+device_cbm_iec_interface::device_cbm_iec_interface(const machine_config &mconfig, device_t &device) :
+ device_interface(device, "cbmiec"), m_next(nullptr), m_bus(nullptr), m_slot(nullptr)
{
}
@@ -247,8 +247,8 @@ device_cbm_iec_interface::~device_cbm_iec_interface()
//-------------------------------------------------
cbm_iec_slot_device::cbm_iec_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CBM_IEC_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this), m_address(0)
+ device_t(mconfig, CBM_IEC_SLOT, tag, owner, clock),
+ device_slot_interface(mconfig, *this), m_address(0)
{
}
@@ -273,14 +273,6 @@ void cbm_iec_slot_device::device_start()
if (dev) bus->add_device(this, get_card_device());
}
-void cbm_iec_slot_device::add_slot(machine_config &config, const char *_tag, int _address, const char *_def_slot)
-{
- cbm_iec_slot_device &slot(CBM_IEC_SLOT(config, _tag, 0));
- cbm_iec_devices(slot);
- slot.set_default_option(_def_slot);
- slot.set_address(_address);
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -289,13 +281,13 @@ void cbm_iec_slot_device::add_slot(machine_config &config, const char *_tag, int
// cbm_iec_device - constructor
//-------------------------------------------------
-cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, CBM_IEC, tag, owner, clock),
- m_write_srq(*this),
- m_write_atn(*this),
- m_write_clk(*this),
- m_write_data(*this),
- m_write_reset(*this)
+cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, CBM_IEC, tag, owner, clock),
+ m_write_srq(*this),
+ m_write_atn(*this),
+ m_write_clk(*this),
+ m_write_data(*this),
+ m_write_reset(*this)
{
for (auto & elem : m_line)
{
@@ -310,12 +302,6 @@ cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, d
void cbm_iec_device::device_start()
{
- // resolve callbacks
- m_write_srq.resolve_safe();
- m_write_atn.resolve_safe();
- m_write_clk.resolve_safe();
- m_write_data.resolve_safe();
- m_write_reset.resolve_safe();
}
@@ -346,7 +332,7 @@ void cbm_iec_device::device_stop()
void cbm_iec_device::add_device(cbm_iec_slot_device *slot, device_t *target)
{
- auto entry = global_alloc(daisy_entry(target));
+ auto entry = new daisy_entry(target);
entry->m_interface->m_slot = slot;
entry->m_interface->m_bus = this;
@@ -359,10 +345,10 @@ void cbm_iec_device::add_device(cbm_iec_slot_device *slot, device_t *target)
// daisy_entry - constructor
//-------------------------------------------------
-cbm_iec_device::daisy_entry::daisy_entry(device_t *device)
- : m_next(nullptr),
- m_device(device),
- m_interface(nullptr)
+cbm_iec_device::daisy_entry::daisy_entry(device_t *device) :
+ m_next(nullptr),
+ m_device(device),
+ m_interface(nullptr)
{
for (auto & elem : m_line)
{
@@ -502,6 +488,7 @@ int cbm_iec_device::get_signal(int signal)
#include "vic1515.h"
#include "vic1520.h"
#include "c1526.h"
+#include "mps1200.h"
void cbm_iec_devices(device_slot_interface &device)
{
@@ -522,9 +509,9 @@ void cbm_iec_devices(device_slot_interface &device)
device.option_add("cmdhd", CMD_HD);
device.option_add("fd2000", FD2000);
device.option_add("fd4000", FD4000);
- device.option_add("interpod", INTERPOD);
+ device.option_add("interpod", CBM_INTERPOD);
device.option_add("minichief", MINI_CHIEF);
- device.option_add("serialbox", SERIAL_BOX);
+ device.option_add("serialbox", CBM_SERIAL_BOX);
device.option_add("diag264", DIAG264_SERIAL_LOOPBACK);
device.option_add("nl10", C64_NL10_INTERFACE);
device.option_add("vic1515", VIC1515);
@@ -537,4 +524,6 @@ void cbm_iec_devices(device_slot_interface &device)
device.option_add("fd148", FD148);
device.option_add("msdsd1", MSD_SD1);
device.option_add("msdsd2", MSD_SD2);
+ device.option_add("mps1200", MPS1200);
+ device.option_add("mps1250", MPS1250);
}