pdc.h, phi.h, zx8301, zx8302: removed MCFG macros (nw)

This commit is contained in:
Ivan Vangelista 2018-11-02 13:42:51 +01:00
parent 4e0a7632f4
commit 3750b5619b
6 changed files with 62 additions and 170 deletions

View File

@ -113,10 +113,5 @@ private:
/* Device type */
DECLARE_DEVICE_TYPE(PDC, pdc_device)
/* MCFG defines */
#define MCFG_PDC_R_CB(_devcb) \
downcast<pdc_device &>(*device).m68k_r_callback(DEVCB_##_devcb);
#define MCFG_PDC_W_CB(_devcb) \
downcast<pdc_device &>(*device).m68k_w_callback(DEVCB_##_devcb);
#endif // MAME_MACHINE_PDC_H

View File

@ -11,47 +11,6 @@
#ifndef MAME_MACHINE_PHI_H
#define MAME_MACHINE_PHI_H
// Set read and write callbacks to access DIO bus on IEEE-488
#define MCFG_PHI_DIO_READWRITE_CB(_read , _write) \
downcast<phi_device &>(*device).set_dio_read_cb(DEVCB_##_read); \
downcast<phi_device &>(*device).set_dio_write_cb(DEVCB_##_write);
// Set write callbacks to access uniline signals on IEEE-488
#define MCFG_PHI_EOI_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_EOI , DEVCB_##_write);
#define MCFG_PHI_DAV_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_DAV , DEVCB_##_write);
#define MCFG_PHI_NRFD_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_NRFD , DEVCB_##_write);
#define MCFG_PHI_NDAC_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_NDAC , DEVCB_##_write);
#define MCFG_PHI_IFC_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_IFC , DEVCB_##_write);
#define MCFG_PHI_SRQ_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_SRQ , DEVCB_##_write);
#define MCFG_PHI_ATN_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_ATN , DEVCB_##_write);
#define MCFG_PHI_REN_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_488_signal_write_cb(phi_device::PHI_488_REN , DEVCB_##_write);
// Set write callback for INT signal
#define MCFG_PHI_INT_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_int_write_cb(DEVCB_##_write);
// Set write callback for DMARQ signal
#define MCFG_PHI_DMARQ_WRITE_CB(_write) \
downcast<phi_device &>(*device).set_dmarq_write_cb(DEVCB_##_write);
// Set read callback for SYS_CNTRL signal
#define MCFG_PHI_SYS_CNTRL_READ_CB(_read) \
downcast<phi_device &>(*device).set_sys_cntrl_read_cb(DEVCB_##_read);
class phi_device : public device_t
{
@ -72,18 +31,16 @@ public:
PHI_488_SIGNAL_COUNT
};
template <class Object> devcb_base& set_dio_read_cb(Object &&cb) { return m_dio_read_func.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base& set_dio_write_cb(Object &&cb) { return m_dio_write_func.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base& set_488_signal_write_cb(phi_488_signal_t signal , Object &&cb) { return m_signal_wr_fns[ signal ].set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base& set_int_write_cb(Object &&cb) { return m_int_write_func.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base& set_dmarq_write_cb(Object &&cb) { return m_dmarq_write_func.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_sys_cntrl_read_cb(Object &&cb) { return m_sys_cntrl_read_func.set_callback(std::forward<Object>(cb)); }
// Set read and write callbacks to access DIO bus on IEEE-488
auto dio_read_cb() { return m_dio_read_func.bind(); }
auto dio_write_cb() { return m_dio_write_func.bind(); }
// Set write callbacks to access uniline signals on IEEE-488
template <phi_488_signal_t Signal> auto signal_write_cb() { return m_signal_wr_fns[ Signal ].bind(); }
// Set write callback for INT signal
auto int_write_cb() { return m_int_write_func.bind(); }
// Set write callback for DMARQ signal
auto dmarq_write_cb() { return m_dmarq_write_func.bind(); }
// Set read callback for SYS_CNTRL signal
auto sys_cntrl_read_cb() { return m_sys_cntrl_read_func.bind(); }
DECLARE_WRITE_LINE_MEMBER(eoi_w);

View File

@ -1449,29 +1449,31 @@ MACHINE_CONFIG_START(hp64k_state::hp64k)
m_rs232->dcd_handler().set(FUNC(hp64k_state::hp64k_rs232_dcd_w));
m_rs232->cts_handler().set(FUNC(hp64k_state::hp64k_rs232_cts_w));
MCFG_DEVICE_ADD("phi", PHI, 0)
MCFG_PHI_INT_WRITE_CB(WRITELINE(*this, hp64k_state, hp64k_phi_int_w))
MCFG_PHI_DMARQ_WRITE_CB(WRITELINE("cpu" , hp_5061_3011_cpu_device, halt_w))
MCFG_PHI_SYS_CNTRL_READ_CB(READLINE(*this, hp64k_state, hp64k_phi_sys_ctrl_r))
MCFG_PHI_DIO_READWRITE_CB(READ8(IEEE488_TAG, ieee488_device, dio_r), WRITE8(IEEE488_TAG, ieee488_device, host_dio_w))
MCFG_PHI_EOI_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_eoi_w))
MCFG_PHI_DAV_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_dav_w))
MCFG_PHI_NRFD_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_nrfd_w))
MCFG_PHI_NDAC_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ndac_w))
MCFG_PHI_IFC_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ifc_w))
MCFG_PHI_SRQ_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_srq_w))
MCFG_PHI_ATN_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_atn_w))
MCFG_PHI_REN_WRITE_CB(WRITELINE(IEEE488_TAG, ieee488_device, host_ren_w))
PHI(config, m_phi, 0);
m_phi->int_write_cb().set(FUNC(hp64k_state::hp64k_phi_int_w));
m_phi->dmarq_write_cb().set(m_cpu, FUNC(hp_5061_3011_cpu_device::halt_w));
m_phi->sys_cntrl_read_cb().set(FUNC(hp64k_state::hp64k_phi_sys_ctrl_r));
m_phi->dio_read_cb().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
m_phi->dio_write_cb().set(IEEE488_TAG, FUNC(ieee488_device::host_dio_w));
m_phi->signal_write_cb<phi_device::PHI_488_EOI>().set(IEEE488_TAG, FUNC(ieee488_device::host_eoi_w));
m_phi->signal_write_cb<phi_device::PHI_488_DAV>().set(IEEE488_TAG, FUNC(ieee488_device::host_dav_w));
m_phi->signal_write_cb<phi_device::PHI_488_NRFD>().set(IEEE488_TAG, FUNC(ieee488_device::host_nrfd_w));
m_phi->signal_write_cb<phi_device::PHI_488_NDAC>().set(IEEE488_TAG, FUNC(ieee488_device::host_ndac_w));
m_phi->signal_write_cb<phi_device::PHI_488_IFC>().set(IEEE488_TAG, FUNC(ieee488_device::host_ifc_w));
m_phi->signal_write_cb<phi_device::PHI_488_SRQ>().set(IEEE488_TAG, FUNC(ieee488_device::host_srq_w));
m_phi->signal_write_cb<phi_device::PHI_488_ATN>().set(IEEE488_TAG, FUNC(ieee488_device::host_atn_w));
m_phi->signal_write_cb<phi_device::PHI_488_REN>().set(IEEE488_TAG, FUNC(ieee488_device::host_ren_w));
MCFG_IEEE488_BUS_ADD()
MCFG_IEEE488_EOI_CALLBACK(WRITELINE("phi", phi_device, eoi_w))
MCFG_IEEE488_DAV_CALLBACK(WRITELINE("phi", phi_device, dav_w))
MCFG_IEEE488_NRFD_CALLBACK(WRITELINE("phi", phi_device, nrfd_w))
MCFG_IEEE488_NDAC_CALLBACK(WRITELINE("phi", phi_device, ndac_w))
MCFG_IEEE488_IFC_CALLBACK(WRITELINE("phi", phi_device, ifc_w))
MCFG_IEEE488_SRQ_CALLBACK(WRITELINE("phi", phi_device, srq_w))
MCFG_IEEE488_ATN_CALLBACK(WRITELINE("phi", phi_device, atn_w))
MCFG_IEEE488_REN_CALLBACK(WRITELINE("phi", phi_device, ren_w))
MCFG_IEEE488_DIO_CALLBACK(WRITE8("phi", phi_device , bus_dio_w))
MCFG_IEEE488_EOI_CALLBACK(WRITELINE(m_phi, phi_device, eoi_w))
MCFG_IEEE488_DAV_CALLBACK(WRITELINE(m_phi, phi_device, dav_w))
MCFG_IEEE488_NRFD_CALLBACK(WRITELINE(m_phi, phi_device, nrfd_w))
MCFG_IEEE488_NDAC_CALLBACK(WRITELINE(m_phi, phi_device, ndac_w))
MCFG_IEEE488_IFC_CALLBACK(WRITELINE(m_phi, phi_device, ifc_w))
MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(m_phi, phi_device, srq_w))
MCFG_IEEE488_ATN_CALLBACK(WRITELINE(m_phi, phi_device, atn_w))
MCFG_IEEE488_REN_CALLBACK(WRITELINE(m_phi, phi_device, ren_w))
MCFG_IEEE488_DIO_CALLBACK(WRITE8(m_phi, phi_device , bus_dio_w))
MCFG_IEEE488_SLOT_ADD("ieee_rem" , 0 , remote488_devices , nullptr)
MACHINE_CONFIG_END

View File

@ -900,7 +900,7 @@ void ql_state::machine_reset()
MACHINE_CONFIG_START(ql_state::ql)
// basic machine hardware
MCFG_DEVICE_ADD(M68008_TAG, M68008, X1/2)
MCFG_DEVICE_ADD(m_maincpu, M68008, X1/2)
MCFG_DEVICE_PROGRAM_MAP(ql_mem)
MCFG_DEVICE_ADD(I8749_TAG, I8749, X4)
@ -925,27 +925,26 @@ MACHINE_CONFIG_START(ql_state::ql)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
// devices
MCFG_DEVICE_ADD(ZX8301_TAG, ZX8301, X1, M68008_TAG)
MCFG_ZX8301_VSYNC_CALLBACK(WRITELINE(ZX8302_TAG, zx8302_device, vsync_w))
ZX8301(config, m_zx8301, X1, m_maincpu);
m_zx8301->vsync_wr_callback().set(m_zx8302, FUNC(zx8302_device::vsync_w));
m_zx8301->set_screen(SCREEN_TAG);
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
MCFG_DEVICE_ADD(ZX8302_TAG, ZX8302, X1)
MCFG_ZX8302_RTC_CLOCK(X2)
MCFG_ZX8302_OUT_IPL1L_CB(INPUTLINE(M68008_TAG, M68K_IRQ_2))
MCFG_ZX8302_OUT_BAUDX4_CB(WRITELINE(*this, ql_state, ql_baudx4_w))
MCFG_ZX8302_OUT_COMDATA_CB(WRITELINE(*this, ql_state, ql_comdata_w))
ZX8302(config, m_zx8302, X1);
m_zx8302->set_rtc_clock(X2);
m_zx8302->out_ipl1l_callback().set_inputline(m_maincpu, M68K_IRQ_2);
m_zx8302->out_baudx4_callback().set(FUNC(ql_state::ql_baudx4_w));
m_zx8302->out_comdata_callback().set(FUNC(ql_state::ql_comdata_w));
// TXD1
MCFG_ZX8302_OUT_TXD2_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
m_zx8302->out_txd2_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd));
// NETOUT
MCFG_ZX8302_OUT_MDSELCK_CB(WRITELINE(*this, ql_state, zx8302_mdselck_w))
MCFG_ZX8302_OUT_MDSELD_CB(WRITELINE(MDV_1, microdrive_image_device, comms_in_w))
MCFG_ZX8302_OUT_MDRDW_CB(WRITELINE(*this, ql_state, zx8302_mdrdw_w))
MCFG_ZX8302_OUT_ERASE_CB(WRITELINE(*this, ql_state, zx8302_erase_w))
MCFG_ZX8302_OUT_RAW1_CB(WRITELINE(*this, ql_state, zx8302_raw1_w))
MCFG_ZX8302_IN_RAW1_CB(READLINE(*this, ql_state, zx8302_raw1_r))
MCFG_ZX8302_OUT_RAW2_CB(WRITELINE(*this, ql_state, zx8302_raw2_w))
MCFG_ZX8302_IN_RAW2_CB(READLINE(*this, ql_state, zx8302_raw2_r))
m_zx8302->out_mdselck_callback().set(FUNC(ql_state::zx8302_mdselck_w));
m_zx8302->out_mdseld_callback().set(m_mdv1, FUNC(microdrive_image_device::comms_in_w));
m_zx8302->out_mdrdw_callback().set(FUNC(ql_state::zx8302_mdrdw_w));
m_zx8302->out_erase_callback().set(FUNC(ql_state::zx8302_erase_w));
m_zx8302->out_raw1_callback().set(FUNC(ql_state::zx8302_raw1_w));
m_zx8302->in_raw1_callback().set(FUNC(ql_state::zx8302_raw1_r));
m_zx8302->out_raw2_callback().set(FUNC(ql_state::zx8302_raw2_w));
m_zx8302->in_raw2_callback().set(FUNC(ql_state::zx8302_raw2_r));
MCFG_MICRODRIVE_ADD(MDV_1)
MCFG_MICRODRIVE_COMMS_OUT_CALLBACK(WRITELINE(MDV_2, microdrive_image_device, comms_in_w))

View File

@ -37,56 +37,6 @@
#include "diserial.h"
///*************************************************************************
// INTERFACE CONFIGURATION MACROS
///*************************************************************************
#define MCFG_ZX8302_RTC_CLOCK(_clk) \
downcast<zx8302_device &>(*device).set_rtc_clock(_clk);
#define MCFG_ZX8302_OUT_IPL1L_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_ipl1l_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_BAUDX4_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_baudx4_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_COMDATA_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_comdata_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_TXD1_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_txd1_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_TXD2_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_txd2_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_NETOUT_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_netout_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_MDSELCK_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_mdselck_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_MDSELD_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_mdseld_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_MDRDW_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_mdrdw_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_ERASE_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_erase_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_RAW1_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_raw1_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_IN_RAW1_CB(_devcb) \
downcast<zx8302_device &>(*device).set_in_raw1_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_OUT_RAW2_CB(_devcb) \
downcast<zx8302_device &>(*device).set_out_raw2_callback(DEVCB_##_devcb);
#define MCFG_ZX8302_IN_RAW2_CB(_devcb) \
downcast<zx8302_device &>(*device).set_in_raw2_callback(DEVCB_##_devcb);
///*************************************************************************
// TYPE DEFINITIONS
///*************************************************************************
@ -102,20 +52,20 @@ public:
void set_rtc_clock(int rtc_clock) { m_rtc_clock = rtc_clock; }
void set_rtc_clock(const XTAL &rtc_clock) { set_rtc_clock(rtc_clock.value()); }
template <class Object> devcb_base &set_out_ipl1l_callback(Object &&cb) { return m_out_ipl1l_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_baudx4_callback(Object &&cb) { return m_out_baudx4_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_comdata_callback(Object &&cb) { return m_out_comdata_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_txd1_callback(Object &&cb) { return m_out_txd1_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_txd2_callback(Object &&cb) { return m_out_txd2_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_netout_callback(Object &&cb) { return m_out_netout_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_mdselck_callback(Object &&cb) { return m_out_mdselck_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_mdseld_callback(Object &&cb) { return m_out_mdseld_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_mdrdw_callback(Object &&cb) { return m_out_mdrdw_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_erase_callback(Object &&cb) { return m_out_erase_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_raw1_callback(Object &&cb) { return m_out_raw1_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_raw1_callback(Object &&cb) { return m_in_raw1_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_raw2_callback(Object &&cb) { return m_out_raw2_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_raw2_callback(Object &&cb) { return m_in_raw2_cb.set_callback(std::forward<Object>(cb)); }
auto out_ipl1l_callback() { return m_out_ipl1l_cb.bind(); }
auto out_baudx4_callback() { return m_out_baudx4_cb.bind(); }
auto out_comdata_callback() { return m_out_comdata_cb.bind(); }
auto out_txd1_callback() { return m_out_txd1_cb.bind(); }
auto out_txd2_callback() { return m_out_txd2_cb.bind(); }
auto out_netout_callback() { return m_out_netout_cb.bind(); }
auto out_mdselck_callback() { return m_out_mdselck_cb.bind(); }
auto out_mdseld_callback() { return m_out_mdseld_cb.bind(); }
auto out_mdrdw_callback() { return m_out_mdrdw_cb.bind(); }
auto out_erase_callback() { return m_out_erase_cb.bind(); }
auto out_raw1_callback() { return m_out_raw1_cb.bind(); }
auto in_raw1_callback() { return m_in_raw1_cb.bind(); }
auto out_raw2_callback() { return m_out_raw2_cb.bind(); }
auto in_raw2_callback() { return m_in_raw2_cb.bind(); }
DECLARE_READ8_MEMBER( rtc_r );
DECLARE_WRITE8_MEMBER( rtc_w );

View File

@ -35,17 +35,6 @@
#pragma once
///*************************************************************************
// INTERFACE CONFIGURATION MACROS
///*************************************************************************
#define MCFG_ZX8301_VSYNC_CALLBACK(_write) \
downcast<zx8301_device &>(*device).set_vsync_wr_callback(DEVCB_##_write);
///*************************************************************************
// TYPE DEFINITIONS
///*************************************************************************
@ -66,7 +55,7 @@ public:
zx8301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_vsync_wr_callback(Object &&cb) { return m_write_vsync.set_callback(std::forward<Object>(cb)); }
auto vsync_wr_callback() { return m_write_vsync.bind(); }
DECLARE_WRITE8_MEMBER( control_w );
DECLARE_READ8_MEMBER( data_r );