mirror of
https://github.com/holub/mame
synced 2025-05-05 05:53:05 +03:00
Converted ds75161a_device to devcb2 (nw)
This commit is contained in:
parent
fb7696c225
commit
e63c72f1a1
@ -31,6 +31,22 @@ const device_type DS75161A = &device_creator<ds75161a_device>;
|
||||
|
||||
ds75161a_device::ds75161a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, DS75161A, "DS75161A", tag, owner, clock, "ds75161a", __FILE__),
|
||||
m_in_ren_cb(*this),
|
||||
m_in_ifc_cb(*this),
|
||||
m_in_ndac_cb(*this),
|
||||
m_in_nrfd_cb(*this),
|
||||
m_in_dav_cb(*this),
|
||||
m_in_eoi_cb(*this),
|
||||
m_in_atn_cb(*this),
|
||||
m_in_srq_cb(*this),
|
||||
m_out_ren_cb(*this),
|
||||
m_out_ifc_cb(*this),
|
||||
m_out_ndac_cb(*this),
|
||||
m_out_nrfd_cb(*this),
|
||||
m_out_dav_cb(*this),
|
||||
m_out_eoi_cb(*this),
|
||||
m_out_atn_cb(*this),
|
||||
m_out_srq_cb(*this),
|
||||
m_ren(1),
|
||||
m_ifc(1),
|
||||
m_ndac(1),
|
||||
@ -44,44 +60,6 @@ ds75161a_device::ds75161a_device(const machine_config &mconfig, const char *tag,
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_config_complete - perform any
|
||||
// operations now that the configuration is
|
||||
// complete
|
||||
//-------------------------------------------------
|
||||
|
||||
void ds75161a_device::device_config_complete()
|
||||
{
|
||||
// inherit a copy of the static data
|
||||
const ds75161a_interface *intf = reinterpret_cast<const ds75161a_interface *>(static_config());
|
||||
if (intf != NULL)
|
||||
*static_cast<ds75161a_interface *>(this) = *intf;
|
||||
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
memset(&m_in_ren_cb, 0, sizeof(m_in_ren_cb));
|
||||
memset(&m_in_ifc_cb, 0, sizeof(m_in_ifc_cb));
|
||||
memset(&m_in_ndac_cb, 0, sizeof(m_in_ndac_cb));
|
||||
memset(&m_in_nrfd_cb, 0, sizeof(m_in_nrfd_cb));
|
||||
memset(&m_in_dav_cb, 0, sizeof(m_in_dav_cb));
|
||||
memset(&m_in_eoi_cb, 0, sizeof(m_in_eoi_cb));
|
||||
memset(&m_in_atn_cb, 0, sizeof(m_in_atn_cb));
|
||||
memset(&m_in_srq_cb, 0, sizeof(m_in_srq_cb));
|
||||
|
||||
memset(&m_out_ren_cb, 0, sizeof(m_out_ren_cb));
|
||||
memset(&m_out_ifc_cb, 0, sizeof(m_out_ifc_cb));
|
||||
memset(&m_out_ndac_cb, 0, sizeof(m_out_ndac_cb));
|
||||
memset(&m_out_nrfd_cb, 0, sizeof(m_out_nrfd_cb));
|
||||
memset(&m_out_dav_cb, 0, sizeof(m_out_dav_cb));
|
||||
memset(&m_out_eoi_cb, 0, sizeof(m_out_eoi_cb));
|
||||
memset(&m_out_atn_cb, 0, sizeof(m_out_atn_cb));
|
||||
memset(&m_out_srq_cb, 0, sizeof(m_out_srq_cb));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -89,23 +67,23 @@ void ds75161a_device::device_config_complete()
|
||||
void ds75161a_device::device_start()
|
||||
{
|
||||
// resolve callbacks
|
||||
m_in_ren_func.resolve(m_in_ren_cb, *this);
|
||||
m_in_ifc_func.resolve(m_in_ifc_cb, *this);
|
||||
m_in_ndac_func.resolve(m_in_ndac_cb, *this);
|
||||
m_in_nrfd_func.resolve(m_in_nrfd_cb, *this);
|
||||
m_in_dav_func.resolve(m_in_dav_cb, *this);
|
||||
m_in_eoi_func.resolve(m_in_eoi_cb, *this);
|
||||
m_in_atn_func.resolve(m_in_atn_cb, *this);
|
||||
m_in_srq_func.resolve(m_in_srq_cb, *this);
|
||||
m_in_ren_cb.resolve_safe(0);
|
||||
m_in_ifc_cb.resolve_safe(0);
|
||||
m_in_ndac_cb.resolve_safe(0);
|
||||
m_in_nrfd_cb.resolve_safe(0);
|
||||
m_in_dav_cb.resolve_safe(0);
|
||||
m_in_eoi_cb.resolve_safe(0);
|
||||
m_in_atn_cb.resolve_safe(0);
|
||||
m_in_srq_cb.resolve_safe(0);
|
||||
|
||||
m_out_ren_func.resolve(m_out_ren_cb, *this);
|
||||
m_out_ifc_func.resolve(m_out_ifc_cb, *this);
|
||||
m_out_ndac_func.resolve(m_out_ndac_cb, *this);
|
||||
m_out_nrfd_func.resolve(m_out_nrfd_cb, *this);
|
||||
m_out_dav_func.resolve(m_out_dav_cb, *this);
|
||||
m_out_eoi_func.resolve(m_out_eoi_cb, *this);
|
||||
m_out_atn_func.resolve(m_out_atn_cb, *this);
|
||||
m_out_srq_func.resolve(m_out_srq_cb, *this);
|
||||
m_out_ren_cb.resolve_safe();
|
||||
m_out_ifc_cb.resolve_safe();
|
||||
m_out_ndac_cb.resolve_safe();
|
||||
m_out_nrfd_cb.resolve_safe();
|
||||
m_out_dav_cb.resolve_safe();
|
||||
m_out_eoi_cb.resolve_safe();
|
||||
m_out_atn_cb.resolve_safe();
|
||||
m_out_srq_cb.resolve_safe();
|
||||
|
||||
// register for state saving
|
||||
save_item(NAME(m_ren));
|
||||
@ -127,19 +105,19 @@ void ds75161a_device::device_start()
|
||||
|
||||
void ds75161a_device::update_signals()
|
||||
{
|
||||
m_out_ren_func(m_dc ? 1 : m_ren);
|
||||
m_out_ifc_func(m_dc ? 1 : m_ifc);
|
||||
m_out_ndac_func(m_te ? 1 : m_ndac);
|
||||
m_out_nrfd_func(m_te ? 1 : m_nrfd);
|
||||
m_out_dav_func(m_te ? m_dav : 1);
|
||||
m_out_atn_func(m_dc ? 1 : m_atn);
|
||||
m_out_srq_func(m_dc ? m_srq : 1 );
|
||||
m_out_ren_cb(m_dc ? 1 : m_ren);
|
||||
m_out_ifc_cb(m_dc ? 1 : m_ifc);
|
||||
m_out_ndac_cb(m_te ? 1 : m_ndac);
|
||||
m_out_nrfd_cb(m_te ? 1 : m_nrfd);
|
||||
m_out_dav_cb(m_te ? m_dav : 1);
|
||||
m_out_atn_cb(m_dc ? 1 : m_atn);
|
||||
m_out_srq_cb(m_dc ? m_srq : 1 );
|
||||
|
||||
int atn = m_in_atn_func();
|
||||
int atn = m_in_atn_cb();
|
||||
|
||||
if (m_te && atn) m_out_eoi_func(m_eoi);
|
||||
else if (!m_dc && !atn) m_out_eoi_func(m_eoi);
|
||||
else m_out_eoi_func(1);
|
||||
if (m_te && atn) m_out_eoi_cb(m_eoi);
|
||||
else if (!m_dc && !atn) m_out_eoi_cb(m_eoi);
|
||||
else m_out_eoi_cb(1);
|
||||
}
|
||||
|
||||
|
||||
@ -179,7 +157,7 @@ WRITE_LINE_MEMBER( ds75161a_device::dc_w )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::ren_r )
|
||||
{
|
||||
return m_dc ? m_in_ren_func() : 0;
|
||||
return m_dc ? m_in_ren_cb() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -189,7 +167,7 @@ READ_LINE_MEMBER( ds75161a_device::ren_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::ifc_r )
|
||||
{
|
||||
return m_dc ? m_in_ifc_func() : 0;
|
||||
return m_dc ? m_in_ifc_cb() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -199,7 +177,7 @@ READ_LINE_MEMBER( ds75161a_device::ifc_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::ndac_r )
|
||||
{
|
||||
return m_te ? m_in_ndac_func() : 0;
|
||||
return m_te ? m_in_ndac_cb() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -209,7 +187,7 @@ READ_LINE_MEMBER( ds75161a_device::ndac_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::nrfd_r )
|
||||
{
|
||||
return m_te ? m_in_nrfd_func() : 0;
|
||||
return m_te ? m_in_nrfd_cb() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -219,7 +197,7 @@ READ_LINE_MEMBER( ds75161a_device::nrfd_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::dav_r )
|
||||
{
|
||||
return m_te ? 0 : m_in_dav_func();
|
||||
return m_te ? 0 : m_in_dav_cb();
|
||||
}
|
||||
|
||||
|
||||
@ -229,8 +207,8 @@ READ_LINE_MEMBER( ds75161a_device::dav_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::eoi_r )
|
||||
{
|
||||
int atn = m_in_atn_func();
|
||||
int eoi = m_in_eoi_func();
|
||||
int atn = m_in_atn_cb();
|
||||
int eoi = m_in_eoi_cb();
|
||||
|
||||
if (!m_te && atn) return eoi;
|
||||
else if (m_dc && !atn) return eoi;
|
||||
@ -244,7 +222,7 @@ READ_LINE_MEMBER( ds75161a_device::eoi_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::atn_r )
|
||||
{
|
||||
return m_dc ? m_in_atn_func() : 0;
|
||||
return m_dc ? m_in_atn_cb() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -254,7 +232,7 @@ READ_LINE_MEMBER( ds75161a_device::atn_r )
|
||||
|
||||
READ_LINE_MEMBER( ds75161a_device::srq_r )
|
||||
{
|
||||
return m_dc ? 0 : m_in_srq_func();
|
||||
return m_dc ? 0 : m_in_srq_cb();
|
||||
}
|
||||
|
||||
|
||||
|
@ -35,52 +35,82 @@
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
///*************************************************************************
|
||||
|
||||
#define MCFG_DS75161A_ADD(_tag, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, DS75161A, 0) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
#define MCFG_DS75161A_IN_REN_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_ren_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_IFC_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_ifc_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_NDAC_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_ndac_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_NRFD_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_nrfd_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_DAV_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_dav_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_EOI_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_eoi_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_ATN_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_atn_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_IN_SRQ_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_in_srq_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define DS75161A_INTERFACE(name) \
|
||||
const ds75161a_interface (name) =
|
||||
|
||||
#define MCFG_DS75161A_OUT_REN_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_ren_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_IFC_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_ifc_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_NDAC_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_ndac_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_NRFD_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_nrfd_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_DAV_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_dav_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_EOI_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_eoi_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_ATN_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_atn_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_DS75161A_OUT_SRQ_CB(_devcb) \
|
||||
devcb = &ds75161a_device::set_out_srq_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
///*************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
///*************************************************************************
|
||||
|
||||
// ======================> ds75161a_interface
|
||||
|
||||
struct ds75161a_interface
|
||||
{
|
||||
devcb_read_line m_in_ren_cb;
|
||||
devcb_read_line m_in_ifc_cb;
|
||||
devcb_read_line m_in_ndac_cb;
|
||||
devcb_read_line m_in_nrfd_cb;
|
||||
devcb_read_line m_in_dav_cb;
|
||||
devcb_read_line m_in_eoi_cb;
|
||||
devcb_read_line m_in_atn_cb;
|
||||
devcb_read_line m_in_srq_cb;
|
||||
|
||||
devcb_write_line m_out_ren_cb;
|
||||
devcb_write_line m_out_ifc_cb;
|
||||
devcb_write_line m_out_ndac_cb;
|
||||
devcb_write_line m_out_nrfd_cb;
|
||||
devcb_write_line m_out_dav_cb;
|
||||
devcb_write_line m_out_eoi_cb;
|
||||
devcb_write_line m_out_atn_cb;
|
||||
devcb_write_line m_out_srq_cb;
|
||||
};
|
||||
|
||||
|
||||
// ======================> ds75161a_device
|
||||
|
||||
class ds75161a_device : public device_t,
|
||||
public ds75161a_interface
|
||||
class ds75161a_device : public device_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
ds75161a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_in_ren_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_ren_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_ifc_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_ifc_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_ndac_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_ndac_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_nrfd_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_nrfd_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_dav_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_dav_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_eoi_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_eoi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_atn_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_atn_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_srq_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_in_srq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_ren_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_ren_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_ifc_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_ifc_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_ndac_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_ndac_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nrfd_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_nrfd_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_dav_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_dav_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_eoi_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_eoi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_atn_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_atn_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_srq_callback(device_t &device, _Object object) { return downcast<ds75161a_device &>(device).m_out_srq_cb.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( te_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( dc_w );
|
||||
@ -105,29 +135,28 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
void update_signals();
|
||||
|
||||
devcb_resolved_read_line m_in_ren_func;
|
||||
devcb_resolved_read_line m_in_ifc_func;
|
||||
devcb_resolved_read_line m_in_ndac_func;
|
||||
devcb_resolved_read_line m_in_nrfd_func;
|
||||
devcb_resolved_read_line m_in_dav_func;
|
||||
devcb_resolved_read_line m_in_eoi_func;
|
||||
devcb_resolved_read_line m_in_atn_func;
|
||||
devcb_resolved_read_line m_in_srq_func;
|
||||
devcb2_read_line m_in_ren_cb;
|
||||
devcb2_read_line m_in_ifc_cb;
|
||||
devcb2_read_line m_in_ndac_cb;
|
||||
devcb2_read_line m_in_nrfd_cb;
|
||||
devcb2_read_line m_in_dav_cb;
|
||||
devcb2_read_line m_in_eoi_cb;
|
||||
devcb2_read_line m_in_atn_cb;
|
||||
devcb2_read_line m_in_srq_cb;
|
||||
|
||||
devcb_resolved_write_line m_out_ren_func;
|
||||
devcb_resolved_write_line m_out_ifc_func;
|
||||
devcb_resolved_write_line m_out_ndac_func;
|
||||
devcb_resolved_write_line m_out_nrfd_func;
|
||||
devcb_resolved_write_line m_out_dav_func;
|
||||
devcb_resolved_write_line m_out_eoi_func;
|
||||
devcb_resolved_write_line m_out_atn_func;
|
||||
devcb_resolved_write_line m_out_srq_func;
|
||||
devcb2_write_line m_out_ren_cb;
|
||||
devcb2_write_line m_out_ifc_cb;
|
||||
devcb2_write_line m_out_ndac_cb;
|
||||
devcb2_write_line m_out_nrfd_cb;
|
||||
devcb2_write_line m_out_dav_cb;
|
||||
devcb2_write_line m_out_eoi_cb;
|
||||
devcb2_write_line m_out_atn_cb;
|
||||
devcb2_write_line m_out_srq_cb;
|
||||
|
||||
int m_ren;
|
||||
int m_ifc;
|
||||
|
@ -1656,31 +1656,6 @@ READ8_MEMBER( cbm2_state::cia_pb_r )
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// DS75161A_INTERFACE( ds75161a_intf )
|
||||
//-------------------------------------------------
|
||||
|
||||
static DS75161A_INTERFACE( ds75161a_intf )
|
||||
{
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ren_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ifc_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ndac_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, nrfd_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, dav_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, eoi_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, atn_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, srq_r),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ren_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ifc_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, ndac_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, nrfd_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, dav_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, eoi_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, atn_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(IEEE488_TAG, ieee488_device, srq_w)
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// pic8259_interface ext_pic_intf
|
||||
//-------------------------------------------------
|
||||
@ -2177,7 +2152,23 @@ static MACHINE_CONFIG_START( p500_ntsc, p500_state )
|
||||
MCFG_MOS6526_PORT_A_CALLBACKS(READ8(cbm2_state, cia_pa_r), WRITE8(cbm2_state, cia_pa_w))
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(cbm2_state, cia_pb_r), DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w))
|
||||
MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w))
|
||||
MCFG_DS75161A_ADD(DS75161A_TAG, ds75161a_intf)
|
||||
MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0)
|
||||
MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r))
|
||||
MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r))
|
||||
MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r))
|
||||
MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r))
|
||||
MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r))
|
||||
MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r))
|
||||
MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r))
|
||||
MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r))
|
||||
MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w))
|
||||
MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w))
|
||||
MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w))
|
||||
MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w))
|
||||
MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w))
|
||||
MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w))
|
||||
MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w))
|
||||
MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w))
|
||||
MCFG_CBM_IEEE488_ADD("c8050")
|
||||
MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, NULL, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
@ -2243,7 +2234,23 @@ static MACHINE_CONFIG_START( p500_pal, p500_state )
|
||||
MCFG_MOS6526_PORT_A_CALLBACKS(READ8(cbm2_state, cia_pa_r), WRITE8(cbm2_state, cia_pa_w))
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(cbm2_state, cia_pb_r), DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w))
|
||||
MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w))
|
||||
MCFG_DS75161A_ADD(DS75161A_TAG, ds75161a_intf)
|
||||
MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0)
|
||||
MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r))
|
||||
MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r))
|
||||
MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r))
|
||||
MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r))
|
||||
MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r))
|
||||
MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r))
|
||||
MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r))
|
||||
MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r))
|
||||
MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w))
|
||||
MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w))
|
||||
MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w))
|
||||
MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w))
|
||||
MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w))
|
||||
MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w))
|
||||
MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w))
|
||||
MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w))
|
||||
MCFG_CBM_IEEE488_ADD("c8050")
|
||||
MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, NULL, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
@ -2318,7 +2325,23 @@ static MACHINE_CONFIG_START( cbm2lp_ntsc, cbm2_state )
|
||||
MCFG_MOS6526_PORT_A_CALLBACKS(READ8(cbm2_state, cia_pa_r), WRITE8(cbm2_state, cia_pa_w))
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(cbm2_state, cia_pb_r), DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w))
|
||||
MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w))
|
||||
MCFG_DS75161A_ADD(DS75161A_TAG, ds75161a_intf)
|
||||
MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0)
|
||||
MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r))
|
||||
MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r))
|
||||
MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r))
|
||||
MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r))
|
||||
MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r))
|
||||
MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r))
|
||||
MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r))
|
||||
MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r))
|
||||
MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w))
|
||||
MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w))
|
||||
MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w))
|
||||
MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w))
|
||||
MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w))
|
||||
MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w))
|
||||
MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w))
|
||||
MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w))
|
||||
MCFG_CBM_IEEE488_ADD("c8050")
|
||||
MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, NULL,DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
|
Loading…
Reference in New Issue
Block a user