Navigation Menu

Skip to content

Commit

Permalink
wd11c00_17, wd2010, wd33c93, wd7600, x76f041, x76f100, ym2148, ym3802…
Browse files Browse the repository at this point in the history
…: removed MCFG macros (nw)

wd_fdc: started removing MCFG macros (nw)
  • Loading branch information
Osso13 committed Sep 4, 2018
1 parent 618c4d7 commit 502a131
Show file tree
Hide file tree
Showing 53 changed files with 294 additions and 449 deletions.
9 changes: 5 additions & 4 deletions src/devices/bus/isa/p1_hdc.cpp
Expand Up @@ -56,17 +56,18 @@ ROM_END
// device_add_mconfig - add device configuration
//-------------------------------------------------

MACHINE_CONFIG_START(p1_hdc_device::device_add_mconfig)
void p1_hdc_device::device_add_mconfig(machine_config &config)
{
WD2010(config, m_hdc, 5'000'000); // XXX clock?
m_hdc->in_drdy_callback().set_constant(1);
m_hdc->in_index_callback().set_constant(1);
m_hdc->in_wf_callback().set_constant(1);
m_hdc->in_tk000_callback().set_constant(1);
m_hdc->in_sc_callback().set_constant(1);

MCFG_HARDDISK_ADD("hard0")
MCFG_HARDDISK_ADD("hard1")
MACHINE_CONFIG_END
HARDDISK(config, "hard0", 0);
HARDDISK(config, "hard1", 0);
}


//-------------------------------------------------
Expand Down
9 changes: 5 additions & 4 deletions src/devices/bus/isa/wdxt_gen.cpp
Expand Up @@ -137,7 +137,8 @@ WRITE8_MEMBER( wdxt_gen_device::ram_w )
// device_add_mconfig - add device configuration
//-------------------------------------------------

MACHINE_CONFIG_START(wdxt_gen_device::device_add_mconfig)
void wdxt_gen_device::device_add_mconfig(machine_config &config)
{
mcs48_cpu_device &cpu(I8049(config, m_maincpu, 5000000));
cpu.set_addrmap(AS_IO, &wdxt_gen_device::wd1015_io);
cpu.t0_in_cb().set(m_host, FUNC(wd11c00_17_device::busy_r));
Expand Down Expand Up @@ -168,9 +169,9 @@ MACHINE_CONFIG_START(wdxt_gen_device::device_add_mconfig)
m_hdc->in_tk000_callback().set_constant(1);
m_hdc->in_sc_callback().set_constant(1);

MCFG_HARDDISK_ADD("hard0")
MCFG_HARDDISK_ADD("hard1")
MACHINE_CONFIG_END
HARDDISK(config, "hard0", 0);
HARDDISK(config, "hard1", 0);
}


//**************************************************************************
Expand Down
10 changes: 5 additions & 5 deletions src/devices/bus/msx_cart/yamaha.cpp
Expand Up @@ -58,11 +58,11 @@ MACHINE_CONFIG_START(msx_cart_sfg_device::device_add_mconfig)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.80)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.80)

MCFG_DEVICE_ADD("ym2148", YM2148, XTAL(4'000'000))
MCFG_YM2148_TXD_HANDLER(WRITELINE("mdout", midi_port_device, write_txd))
MCFG_YM2148_PORT_WRITE_HANDLER(WRITE8("kbdc", msx_audio_kbdc_port_device, write))
MCFG_YM2148_PORT_READ_HANDLER(READ8("kbdc", msx_audio_kbdc_port_device, read))
MCFG_YM2148_IRQ_HANDLER(WRITELINE(*this, msx_cart_sfg_device, ym2148_irq_w))
YM2148(config, m_ym2148, XTAL(4'000'000));
m_ym2148->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_ym2148->port_write_handler().set("kbdc", FUNC(msx_audio_kbdc_port_device::write));
m_ym2148->port_read_handler().set("kbdc", FUNC(msx_audio_kbdc_port_device::read));
m_ym2148->irq_handler().set(FUNC(msx_cart_sfg_device::ym2148_irq_w));

MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr)

Expand Down
27 changes: 14 additions & 13 deletions src/devices/bus/tiki100/hdc.cpp
Expand Up @@ -27,21 +27,22 @@ DEFINE_DEVICE_TYPE(TIKI100_HDC, tiki100_hdc_device, "tiki100_hdc", "TIKI-100 Win


//-------------------------------------------------
// MACHINE_CONFIG_START( tiki100_hdc )
// device_add_mconfig - add device configuration
//-------------------------------------------------

MACHINE_CONFIG_START(tiki100_hdc_device::device_add_mconfig)
MCFG_DEVICE_ADD(WD1010_TAG, WD2010, 5000000)
//MCFG_WD2010_OUT_INTRQ_CB()
MCFG_WD2010_IN_DRDY_CB(CONSTANT(1))
MCFG_WD2010_IN_INDEX_CB(CONSTANT(1))
MCFG_WD2010_IN_WF_CB(CONSTANT(1))
MCFG_WD2010_IN_TK000_CB(CONSTANT(1))
MCFG_WD2010_IN_SC_CB(CONSTANT(1))

MCFG_HARDDISK_ADD("hard0")
MCFG_HARDDISK_ADD("hard1")
MACHINE_CONFIG_END
void tiki100_hdc_device::device_add_mconfig(machine_config & config)
{
WD2010(config, m_hdc, 5000000);
//m_hdc->out_intr_callback().set();
m_hdc->in_drdy_callback().set_constant(1);
m_hdc->in_index_callback().set_constant(1);
m_hdc->in_wf_callback().set_constant(1);
m_hdc->in_tk000_callback().set_constant(1);
m_hdc->in_sc_callback().set_constant(1);

HARDDISK(config, "hard0", 0);
HARDDISK(config, "hard1", 0);
}



Expand Down
6 changes: 3 additions & 3 deletions src/devices/bus/x68k/x68k_midi.cpp
Expand Up @@ -18,9 +18,9 @@
DEFINE_DEVICE_TYPE(X68K_MIDI, x68k_midi_device, "x68k_midi", "X68000 MIDI Interface")

MACHINE_CONFIG_START(x68k_midi_device::device_add_mconfig)
MCFG_DEVICE_ADD("midi", YM3802, XTAL(1'000'000)) // clock is unknown
MCFG_YM3802_TXD_HANDLER(WRITELINE("mdout",midi_port_device,write_txd))
MCFG_YM3802_IRQ_HANDLER(WRITELINE(*this, x68k_midi_device,irq_w))
YM3802(config, m_midi, XTAL(1'000'000)); // clock is unknown
m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd));
m_midi->irq_handler().set(FUNC(x68k_midi_device::irq_w));
MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
// MCFG_MIDI_PORT_ADD("mdthru", midiout_slot, "midiout")
Expand Down
4 changes: 2 additions & 2 deletions src/devices/machine/pdc.h
Expand Up @@ -37,8 +37,8 @@ class pdc_device : public device_t
pdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

/* Callbacks */
template <class Object> devcb_base &m68k_r_callback(Object &&cb) { return m_m68k_r_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &m68k_w_callback(Object &&cb) { return m_m68k_w_cb.set_callback(std::forward<Object>(cb)); }
auto m68k_r_callback() { return m_m68k_r_cb.bind(); }
auto m68k_w_callback() { return m_m68k_w_cb.bind(); }

/* Read and Write members */
DECLARE_WRITE_LINE_MEMBER(hdd_irq);
Expand Down
49 changes: 0 additions & 49 deletions src/devices/machine/wd11c00_17.h
Expand Up @@ -12,44 +12,6 @@
#pragma once



//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************

#define MCFG_WD11C00_17_OUT_IRQ5_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_irq5_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_DRQ3_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_drq3_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_MR_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_mr_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_BUSY_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_busy_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_REQ_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_req_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_RA3_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_ra3_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_IN_RD322_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_in_rd322_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_IN_RAMCS_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_in_ramcs_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_RAMWR_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_ramwr_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_IN_CS1010_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_in_cs1010_callback(DEVCB_##_devcb);

#define MCFG_WD11C00_17_OUT_CS1010_CB(_devcb) \
downcast<wd11c00_17_device &>(*device).set_out_cs1010_callback(DEVCB_##_devcb);

//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
Expand All @@ -62,17 +24,6 @@ class wd11c00_17_device : public device_t
// construction/destruction
wd11c00_17_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

template <class Object> devcb_base &set_out_irq5_callback(Object &&cb) { return m_out_irq5_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq3_callback(Object &&cb) { return m_out_drq3_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_mr_callback(Object &&cb) { return m_out_mr_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_busy_callback(Object &&cb) { return m_out_busy_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_req_callback(Object &&cb) { return m_out_req_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_ra3_callback(Object &&cb) { return m_out_ra3_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_rd322_callback(Object &&cb) { return m_in_rd322_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_ramcs_callback(Object &&cb) { return m_in_ramcs_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_ramwr_callback(Object &&cb) { return m_out_ramwr_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_cs1010_callback(Object &&cb) { return m_in_cs1010_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_cs1010_callback(Object &&cb) { return m_out_cs1010_cb.set_callback(std::forward<Object>(cb)); }
auto out_irq5_callback() { return m_out_irq5_cb.bind(); }
auto out_drq3_callback() { return m_out_drq3_cb.bind(); }
auto out_mr_callback() { return m_out_mr_cb.bind(); }
Expand Down
66 changes: 0 additions & 66 deletions src/devices/machine/wd2010.h
Expand Up @@ -12,57 +12,6 @@
#pragma once




//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************

#define MCFG_WD2010_OUT_INTRQ_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_intrq_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_BDRQ_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_bdrq_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_BCR_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_bcr_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_BRDY_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_brdy_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_BCS_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_bcs_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_BCS_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_bcs_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_DIRIN_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_dirin_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_STEP_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_step_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_RWC_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_rwc_callback(DEVCB_##_devcb);

#define MCFG_WD2010_OUT_WG_CB(_devcb) \
downcast<wd2010_device &>(*device).set_out_wg_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_DRDY_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_drdy_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_INDEX_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_index_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_WF_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_wf_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_TK000_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_tk000_callback(DEVCB_##_devcb);

#define MCFG_WD2010_IN_SC_CB(_devcb) \
downcast<wd2010_device &>(*device).set_in_sc_callback(DEVCB_##_devcb);

//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
Expand All @@ -75,21 +24,6 @@ class wd2010_device : public device_t
// construction/destruction
wd2010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

template <class Object> devcb_base &set_out_intrq_callback(Object &&cb) { return m_out_intrq_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_bdrq_callback(Object &&cb) { return m_out_bdrq_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_bcr_callback(Object &&cb) { return m_out_bcr_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_brdy_callback(Object &&cb) { return m_in_brdy_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_bcs_callback(Object &&cb) { return m_in_bcs_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_bcs_callback(Object &&cb) { return m_out_bcs_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_dirin_callback(Object &&cb) { return m_out_dirin_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_step_callback(Object &&cb) { return m_out_step_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_rwc_callback(Object &&cb) { return m_out_rwc_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_wg_callback(Object &&cb) { return m_out_wg_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_drdy_callback(Object &&cb) { return m_in_drdy_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_index_callback(Object &&cb) { return m_in_index_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_wf_callback(Object &&cb) { return m_in_wf_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_tk000_callback(Object &&cb) { return m_in_tk000_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_in_sc_callback(Object &&cb) { return m_in_sc_cb.set_callback(std::forward<Object>(cb)); }
auto out_intrq_callback() { return m_out_intrq_cb.bind(); }
auto out_bdrq_callback() { return m_out_bdrq_cb.bind(); }
auto out_bcr_callback() { return m_out_bcr_cb.bind(); }
Expand Down
4 changes: 0 additions & 4 deletions src/devices/machine/wd33c93.h
Expand Up @@ -12,9 +12,6 @@

#include "legscsi.h"

#define MCFG_WD33C93_IRQ_CB(cb) \
downcast<wd33c93_device &>(*device).set_irq_callback((DEVCB_##cb));

class wd33c93_device : public legacy_scsi_host_adapter
{
public:
Expand All @@ -26,7 +23,6 @@ class wd33c93_device : public legacy_scsi_host_adapter

wd33c93_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

template<class Object> devcb_base &set_irq_callback(Object &&cb) { return m_irq_cb.set_callback(std::forward<Object>(cb)); }
auto irq_cb() { return m_irq_cb.bind(); }

DECLARE_READ8_MEMBER(read);
Expand Down
53 changes: 9 additions & 44 deletions src/devices/machine/wd7600.h
Expand Up @@ -19,41 +19,6 @@
#include "machine/ram.h"


#define MCFG_WD7600_ADD(_tag, _clock, _cputag, _isatag, _biostag, _keybctag) \
MCFG_DEVICE_ADD(_tag, WD7600, _clock) \
downcast<wd7600_device &>(*device).set_cputag(_cputag); \
downcast<wd7600_device &>(*device).set_isatag(_isatag); \
downcast<wd7600_device &>(*device).set_biostag(_biostag); \
downcast<wd7600_device &>(*device).set_keybctag(_keybctag);

This comment has been minimized.

Copy link
@cuavas

cuavas Sep 5, 2018

Member

Is it worth adding a constructor to replace this, if all these devices need to be connected for it to work?


#define MCFG_WD7600_IOR(_ior) \
downcast<wd7600_device *>(device)->set_ior_callback(DEVCB_##_ior);

#define MCFG_WD7600_IOW(_iow) \
downcast<wd7600_device *>(device)->set_iow_callback(DEVCB_##_iow);

#define MCFG_WD7600_TC(_tc) \
downcast<wd7600_device *>(device)->set_tc_callback(DEVCB_##_tc);

#define MCFG_WD7600_HOLD(_hold) \
downcast<wd7600_device *>(device)->set_hold_callback(DEVCB_##_hold);

#define MCFG_WD7600_NMI(_nmi) \
downcast<wd7600_device *>(device)->set_nmi_callback(DEVCB_##_nmi);

#define MCFG_WD7600_INTR(_intr) \
downcast<wd7600_device *>(device)->set_intr_callback(DEVCB_##_intr);

#define MCFG_WD7600_CPURESET(_cpureset) \
downcast<wd7600_device *>(device)->set_cpureset_callback(DEVCB_##_cpureset);

#define MCFG_WD7600_A20M(_a20m) \
downcast<wd7600_device *>(device)->set_a20m_callback(DEVCB_##_a20m);

#define MCFG_WD7600_SPKR(_spkr) \
downcast<wd7600_device *>(device)->set_spkr_callback(DEVCB_##_spkr);


//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
Expand All @@ -67,15 +32,15 @@ class wd7600_device : public device_t
wd7600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

// callbacks
template <class Object> devcb_base &set_ior_callback(Object &&ior) { return m_read_ior.set_callback(std::forward<Object>(ior)); }
template <class Object> devcb_base &set_iow_callback(Object &&iow) { return m_write_iow.set_callback(std::forward<Object>(iow)); }
template <class Object> devcb_base &set_tc_callback(Object &&tc) { return m_write_tc.set_callback(std::forward<Object>(tc)); }
template <class Object> devcb_base &set_hold_callback(Object &&hold) { return m_write_hold.set_callback(std::forward<Object>(hold)); }
template <class Object> devcb_base &set_cpureset_callback(Object &&cpureset) { return m_write_cpureset.set_callback(std::forward<Object>(cpureset)); }
template <class Object> devcb_base &set_nmi_callback(Object &&nmi) { return m_write_nmi.set_callback(std::forward<Object>(nmi)); }
template <class Object> devcb_base &set_intr_callback(Object &&intr) { return m_write_intr.set_callback(std::forward<Object>(intr)); }
template <class Object> devcb_base &set_a20m_callback(Object &&a20m) { return m_write_a20m.set_callback(std::forward<Object>(a20m)); }
template <class Object> devcb_base &set_spkr_callback(Object &&spkr) { return m_write_spkr.set_callback(std::forward<Object>(spkr)); }
auto ior_callback() { return m_read_ior.bind(); }
auto iow_callback() { return m_write_iow.bind(); }
auto tc_callback() { return m_write_tc.bind(); }
auto hold_callback() { return m_write_hold.bind(); }
auto cpureset_callback() { return m_write_cpureset.bind(); }
auto nmi_callback() { return m_write_nmi.bind(); }
auto intr_callback() { return m_write_intr.bind(); }
auto a20m_callback() { return m_write_a20m.bind(); }
auto spkr_callback() { return m_write_spkr.bind(); }

// inline configuration
template <typename T> void set_cputag(T &&tag) { m_cpu.set_tag(std::forward<T>(tag)); }
Expand Down
5 changes: 1 addition & 4 deletions src/devices/machine/x76f041.h
Expand Up @@ -13,15 +13,12 @@
#pragma once


#define MCFG_X76F041_ADD( _tag ) \
MCFG_DEVICE_ADD( _tag, X76F041, 0 )

class x76f041_device : public device_t,
public device_nvram_interface
{
public:
// construction/destruction
x76f041_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock );
x76f041_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);

DECLARE_WRITE_LINE_MEMBER( write_cs );
DECLARE_WRITE_LINE_MEMBER( write_rst );
Expand Down
5 changes: 1 addition & 4 deletions src/devices/machine/x76f100.h
Expand Up @@ -13,14 +13,11 @@
#pragma once


#define MCFG_X76F100_ADD( tag ) \
MCFG_DEVICE_ADD( (tag), X76F100, 0 )

class x76f100_device : public device_t, public device_nvram_interface
{
public:
// construction/destruction
x76f100_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock );
x76f100_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);

DECLARE_WRITE_LINE_MEMBER( write_cs );
DECLARE_WRITE_LINE_MEMBER( write_rst );
Expand Down

0 comments on commit 502a131

Please sign in to comment.