summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/devices/bus/abcbus/fd2.cpp2
-rw-r--r--src/devices/bus/abcbus/hdc.cpp2
-rw-r--r--src/devices/bus/abcbus/lux10828.cpp2
-rw-r--r--src/devices/bus/abcbus/lux21046.cpp2
-rw-r--r--src/devices/bus/abcbus/lux21056.cpp2
-rw-r--r--src/devices/bus/abcbus/turbo.cpp2
-rw-r--r--src/devices/bus/ecbbus/grip.cpp2
-rw-r--r--src/devices/bus/imi7000/imi5000h.cpp2
-rw-r--r--src/devices/bus/kc/d004.cpp2
-rw-r--r--src/devices/bus/ti99x/handset.h7
-rw-r--r--src/devices/bus/wangpc/rtc.cpp2
-rw-r--r--src/devices/bus/wangpc/wdc.cpp2
-rw-r--r--src/devices/cpu/pdp1/pdp1.cpp2
-rw-r--r--src/devices/cpu/pdp1/pdp1.h7
-rw-r--r--src/devices/cpu/z180/z180.cpp11
-rw-r--r--src/devices/cpu/z180/z180.h3
-rw-r--r--src/devices/cpu/z180/z180op.inc4
-rw-r--r--src/devices/cpu/z180/z180ops.h2
-rw-r--r--src/devices/cpu/z80/tmpz84c015.cpp2
-rw-r--r--src/devices/cpu/z80/z80.cpp17
-rw-r--r--src/devices/cpu/z80/z80.h3
-rw-r--r--src/devices/cpu/z80/z80daisy.cpp110
-rw-r--r--src/devices/cpu/z80/z80daisy.h55
-rw-r--r--src/devices/cpu/z8000/z8000.cpp2
-rw-r--r--src/devices/cpu/z8000/z8000.h4
-rw-r--r--src/devices/imagedev/flopdrv.cpp13
-rw-r--r--src/devices/imagedev/flopdrv.h18
-rw-r--r--src/devices/machine/ldv1000.cpp2
-rw-r--r--src/devices/sound/flt_rc.h4
-rw-r--r--src/emu/devcpu.h1
-rw-r--r--src/emu/device.cpp1
-rw-r--r--src/emu/device.h5
-rw-r--r--src/emu/disound.h3
-rw-r--r--src/mame/audio/cinemat.cpp2
-rw-r--r--src/mame/drivers/4dpi.cpp1
-rw-r--r--src/mame/drivers/a5105.cpp2
-rw-r--r--src/mame/drivers/abc80.cpp2
-rw-r--r--src/mame/drivers/abc80x.cpp8
-rw-r--r--src/mame/drivers/altos5.cpp2
-rw-r--r--src/mame/drivers/ampro.cpp2
-rw-r--r--src/mame/drivers/apexc.cpp1
-rw-r--r--src/mame/drivers/astrocde.cpp2
-rw-r--r--src/mame/drivers/attache.cpp2
-rw-r--r--src/mame/drivers/aussiebyte.cpp2
-rw-r--r--src/mame/drivers/babbage.cpp2
-rw-r--r--src/mame/drivers/bbcbc.cpp2
-rw-r--r--src/mame/drivers/bcs3.cpp4
-rw-r--r--src/mame/drivers/bigbord2.cpp2
-rw-r--r--src/mame/drivers/binbug.cpp2
-rw-r--r--src/mame/drivers/br8641.cpp2
-rw-r--r--src/mame/drivers/bullet.cpp4
-rw-r--r--src/mame/drivers/c80.cpp2
-rw-r--r--src/mame/drivers/cchasm.cpp2
-rw-r--r--src/mame/drivers/comquest.cpp3
-rw-r--r--src/mame/drivers/csplayh5.cpp2
-rw-r--r--src/mame/drivers/czk80.cpp2
-rw-r--r--src/mame/drivers/dlair.cpp2
-rw-r--r--src/mame/drivers/einstein.cpp2
-rw-r--r--src/mame/drivers/ghosteo.cpp2
-rw-r--r--src/mame/drivers/gp_1.cpp2
-rw-r--r--src/mame/drivers/gp_2.cpp2
-rw-r--r--src/mame/drivers/hikaru.cpp14
-rw-r--r--src/mame/drivers/huebler.cpp2
-rw-r--r--src/mame/drivers/igs011.cpp2
-rw-r--r--src/mame/drivers/indy_indigo2.cpp17
-rw-r--r--src/mame/drivers/jankenmn.cpp2
-rw-r--r--src/mame/drivers/kaypro.cpp4
-rw-r--r--src/mame/drivers/kc.cpp4
-rw-r--r--src/mame/drivers/kenseim.cpp2
-rw-r--r--src/mame/drivers/llc.cpp4
-rw-r--r--src/mame/drivers/m5.cpp4
-rw-r--r--src/mame/drivers/magictg.cpp18
-rw-r--r--src/mame/drivers/mbee.cpp4
-rw-r--r--src/mame/drivers/mc80.cpp2
-rw-r--r--src/mame/drivers/mcr.cpp4
-rw-r--r--src/mame/drivers/mcr3.cpp2
-rw-r--r--src/mame/drivers/meritm.cpp2
-rw-r--r--src/mame/drivers/mpf1.cpp6
-rw-r--r--src/mame/drivers/mtx.cpp4
-rw-r--r--src/mame/drivers/n64.cpp14
-rw-r--r--src/mame/drivers/nanos.cpp2
-rw-r--r--src/mame/drivers/nbmj9195.cpp4
-rw-r--r--src/mame/drivers/niyanpai.cpp2
-rw-r--r--src/mame/drivers/onyx.cpp4
-rw-r--r--src/mame/drivers/osbexec.cpp2
-rw-r--r--src/mame/drivers/p8k.cpp4
-rw-r--r--src/mame/drivers/pachifev.cpp9
-rw-r--r--src/mame/drivers/pasopia.cpp2
-rw-r--r--src/mame/drivers/pasopia7.cpp2
-rw-r--r--src/mame/drivers/pcm.cpp2
-rw-r--r--src/mame/drivers/pdp1.cpp2
-rw-r--r--src/mame/drivers/pipeline.cpp2
-rw-r--r--src/mame/drivers/proconn.cpp2
-rw-r--r--src/mame/drivers/pulsar.cpp2
-rw-r--r--src/mame/drivers/pve500.cpp2
-rw-r--r--src/mame/drivers/rt1715.cpp2
-rw-r--r--src/mame/drivers/senjyo.cpp2
-rw-r--r--src/mame/drivers/super6.cpp2
-rw-r--r--src/mame/drivers/super80.cpp4
-rw-r--r--src/mame/drivers/superslave.cpp2
-rw-r--r--src/mame/drivers/thomson.cpp8
-rw-r--r--src/mame/drivers/tiki100.cpp2
-rw-r--r--src/mame/drivers/trs80m2.cpp4
-rw-r--r--src/mame/drivers/ts802.cpp2
-rw-r--r--src/mame/drivers/ts803.cpp2
-rw-r--r--src/mame/drivers/univac.cpp2
-rw-r--r--src/mame/drivers/vcs80.cpp2
-rw-r--r--src/mame/drivers/x1.cpp4
-rw-r--r--src/mame/drivers/x1twin.cpp2
-rw-r--r--src/mame/drivers/xerox820.cpp4
-rw-r--r--src/mame/drivers/z9001.cpp2
-rw-r--r--src/mame/machine/appldriv.h12
-rw-r--r--src/mame/machine/applefdc.cpp9
-rw-r--r--src/mame/machine/applefdc.h15
-rw-r--r--src/mame/machine/inder_sb.cpp2
-rw-r--r--src/mame/machine/sonydriv.h12
-rw-r--r--src/mame/machine/swim.h4
117 files changed, 306 insertions, 311 deletions
diff --git a/src/devices/bus/abcbus/fd2.cpp b/src/devices/bus/abcbus/fd2.cpp
index 6a7c4cc5f4d..e967c3050cf 100644
--- a/src/devices/bus/abcbus/fd2.cpp
+++ b/src/devices/bus/abcbus/fd2.cpp
@@ -237,7 +237,7 @@ static MACHINE_CONFIG_FRAGMENT( abc_fd2 )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz/2)
MCFG_CPU_PROGRAM_MAP(abc_fd2_mem)
MCFG_CPU_IO_MAP(abc_fd2_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_4MHz/2)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
diff --git a/src/devices/bus/abcbus/hdc.cpp b/src/devices/bus/abcbus/hdc.cpp
index 7450f60819e..4108daa85a3 100644
--- a/src/devices/bus/abcbus/hdc.cpp
+++ b/src/devices/bus/abcbus/hdc.cpp
@@ -84,7 +84,7 @@ static MACHINE_CONFIG_FRAGMENT( abc_hdc )
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(abc_hdc_mem)
MCFG_CPU_IO_MAP(abc_hdc_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_DEVICE_ADD(SASIBUS_TAG, SCSI_PORT, 0)
MCFG_SCSIDEV_ADD(SASIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_0)
diff --git a/src/devices/bus/abcbus/lux10828.cpp b/src/devices/bus/abcbus/lux10828.cpp
index e14bdf9a20e..4b9c074e193 100644
--- a/src/devices/bus/abcbus/lux10828.cpp
+++ b/src/devices/bus/abcbus/lux10828.cpp
@@ -329,7 +329,7 @@ static MACHINE_CONFIG_FRAGMENT( luxor_55_10828 )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz/2)
MCFG_CPU_PROGRAM_MAP(luxor_55_10828_mem)
MCFG_CPU_IO_MAP(luxor_55_10828_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_4MHz/2)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0))
diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp
index 733aee9538e..5a7f693d275 100644
--- a/src/devices/bus/abcbus/lux21046.cpp
+++ b/src/devices/bus/abcbus/lux21046.cpp
@@ -286,7 +286,7 @@ static const z80_daisy_config z80_daisy_chain[] =
static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
- MCFG_CPU_CONFIG(z80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(z80_daisy_chain)
MCFG_CPU_PROGRAM_MAP(luxor_55_21046_mem)
MCFG_CPU_IO_MAP(luxor_55_21046_io)
diff --git a/src/devices/bus/abcbus/lux21056.cpp b/src/devices/bus/abcbus/lux21056.cpp
index f506c1b8e01..f5227393a0a 100644
--- a/src/devices/bus/abcbus/lux21056.cpp
+++ b/src/devices/bus/abcbus/lux21056.cpp
@@ -247,7 +247,7 @@ static MACHINE_CONFIG_FRAGMENT( luxor_55_21056 )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(luxor_55_21056_mem)
MCFG_CPU_IO_MAP(luxor_55_21056_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, XTAL_8MHz/2)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT))
diff --git a/src/devices/bus/abcbus/turbo.cpp b/src/devices/bus/abcbus/turbo.cpp
index 449f4697a48..1f16cadab96 100644
--- a/src/devices/bus/abcbus/turbo.cpp
+++ b/src/devices/bus/abcbus/turbo.cpp
@@ -85,7 +85,7 @@ static MACHINE_CONFIG_FRAGMENT( turbo_kontroller )
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(turbo_kontroller_mem)
MCFG_CPU_IO_MAP(turbo_kontroller_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MACHINE_CONFIG_END
diff --git a/src/devices/bus/ecbbus/grip.cpp b/src/devices/bus/ecbbus/grip.cpp
index ca0cd2a579a..3a47b5692fc 100644
--- a/src/devices/bus/ecbbus/grip.cpp
+++ b/src/devices/bus/ecbbus/grip.cpp
@@ -454,7 +454,7 @@ WRITE8_MEMBER( grip_device::kb_w )
static MACHINE_CONFIG_FRAGMENT( grip )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
- MCFG_CPU_CONFIG(grip_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(grip_daisy_chain)
MCFG_CPU_PROGRAM_MAP(grip_mem)
MCFG_CPU_IO_MAP(grip_io)
diff --git a/src/devices/bus/imi7000/imi5000h.cpp b/src/devices/bus/imi7000/imi5000h.cpp
index cea944b9eaf..bca1e9f0083 100644
--- a/src/devices/bus/imi7000/imi5000h.cpp
+++ b/src/devices/bus/imi7000/imi5000h.cpp
@@ -341,7 +341,7 @@ WRITE8_MEMBER( imi5000h_device::pio3_pb_w )
static MACHINE_CONFIG_FRAGMENT( imi5000h )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
- MCFG_CPU_CONFIG(z80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(z80_daisy_chain)
MCFG_CPU_PROGRAM_MAP(imi5000h_mem)
MCFG_CPU_IO_MAP(imi5000h_io)
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index 4895c5419c4..c22b5c16f9c 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -67,7 +67,7 @@ static MACHINE_CONFIG_FRAGMENT(kc_d004)
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(kc_d004_mem)
MCFG_CPU_IO_MAP(kc_d004_io)
- MCFG_CPU_CONFIG(kc_d004_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(kc_d004_daisy_chain)
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_8MHz/2)
MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, 0))
diff --git a/src/devices/bus/ti99x/handset.h b/src/devices/bus/ti99x/handset.h
index 3f9de1b6221..5e592bd2ebc 100644
--- a/src/devices/bus/ti99x/handset.h
+++ b/src/devices/bus/ti99x/handset.h
@@ -58,13 +58,6 @@ private:
emu_timer *m_delay_timer;
};
-#define MCFG_HANDSET_ADD(_tag, _intf, _clock ) \
- MCFG_DEVICE_ADD(_tag, HANDSET, _clock) \
- MCFG_DEVICE_CONFIG(_intf)
-
-#define TI99_HANDSET_INTERFACE(name) \
- const ti99_handset_intf(name) =
-
/****************************************************************************/
extern const device_type TI99_JOYSTICK;
diff --git a/src/devices/bus/wangpc/rtc.cpp b/src/devices/bus/wangpc/rtc.cpp
index f8a436af0c8..34279514870 100644
--- a/src/devices/bus/wangpc/rtc.cpp
+++ b/src/devices/bus/wangpc/rtc.cpp
@@ -104,7 +104,7 @@ static const z80_daisy_config wangpc_rtc_daisy_chain[] =
static MACHINE_CONFIG_FRAGMENT( wangpc_rtc )
MCFG_CPU_ADD(Z80_TAG, Z80, 2000000)
- MCFG_CPU_CONFIG(wangpc_rtc_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(wangpc_rtc_daisy_chain)
MCFG_CPU_PROGRAM_MAP(wangpc_rtc_mem)
MCFG_CPU_IO_MAP(wangpc_rtc_io)
diff --git a/src/devices/bus/wangpc/wdc.cpp b/src/devices/bus/wangpc/wdc.cpp
index 7b2dafdd5f9..b4326319cf3 100644
--- a/src/devices/bus/wangpc/wdc.cpp
+++ b/src/devices/bus/wangpc/wdc.cpp
@@ -91,7 +91,7 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_FRAGMENT( wangpc_wdc )
MCFG_CPU_ADD(Z80_TAG, Z80, 2000000) // XTAL_10MHz / ?
- //MCFG_CPU_CONFIG(wangpc_wdc_daisy_chain)
+ //MCFG_Z80_DAISY_CHAIN(wangpc_wdc_daisy_chain)
MCFG_CPU_PROGRAM_MAP(wangpc_wdc_mem)
MCFG_CPU_IO_MAP(wangpc_wdc_io)
diff --git a/src/devices/cpu/pdp1/pdp1.cpp b/src/devices/cpu/pdp1/pdp1.cpp
index 0a2cf9e1061..dad758a1d9d 100644
--- a/src/devices/cpu/pdp1/pdp1.cpp
+++ b/src/devices/cpu/pdp1/pdp1.cpp
@@ -391,7 +391,7 @@ pdp1_device::pdp1_device(const machine_config &mconfig, const char *tag, device_
void pdp1_device::device_config_complete()
{
// inherit a copy of the static data
- const pdp1_reset_param_t *intf = reinterpret_cast<const pdp1_reset_param_t *>(static_config());
+ const pdp1_reset_param_t *intf = m_reset_param;
if (intf != nullptr)
*static_cast<pdp1_reset_param_t *>(this) = *intf;
diff --git a/src/devices/cpu/pdp1/pdp1.h b/src/devices/cpu/pdp1/pdp1.h
index 2cb01f5c20b..f6d742a2a4e 100644
--- a/src/devices/cpu/pdp1/pdp1.h
+++ b/src/devices/cpu/pdp1/pdp1.h
@@ -81,6 +81,8 @@ public:
// construction/destruction
pdp1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ static void static_set_reset_param(device_t &device, const pdp1_reset_param_t *param) { downcast<pdp1_device &>(device).m_reset_param = param; }
+
void pulse_start_clear();
void io_complete() { m_ios = 1; }
void pdp1_null_iot(int op2, int nac, int mb, int *io, int ac);
@@ -190,10 +192,15 @@ private:
void field_interrupt();
void execute_instruction();
+ const pdp1_reset_param_t *m_reset_param;
};
extern const device_type PDP1;
+#define MCFG_PDP1_RESET_PARAM(_param) \
+ pdp1_device::static_set_reset_param(*device, &(_param));
+
+
#endif /* __PDP1_H__ */
diff --git a/src/devices/cpu/z180/z180.cpp b/src/devices/cpu/z180/z180.cpp
index 8e3e5e6fb5d..7b389baec26 100644
--- a/src/devices/cpu/z180/z180.cpp
+++ b/src/devices/cpu/z180/z180.cpp
@@ -83,6 +83,7 @@ const device_type Z180 = &device_creator<z180_device>;
z180_device::z180_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: cpu_device(mconfig, Z180, "Z180", tag, owner, clock, "z180", __FILE__)
+ , z80_daisy_chain_interface(mconfig, *this)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0)
, m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0)
, m_decrypted_opcodes_config("program", ENDIANNESS_LITTLE, 8, 20, 0)
@@ -1888,11 +1889,6 @@ void z180_device::device_start()
int oldval, newval, val;
UINT8 *padd, *padc, *psub, *psbc;
- if (static_config() != nullptr)
- {
- m_daisy.init(this, (const z80_daisy_config *)static_config());
- }
-
/* allocate big flag arrays once */
SZHVC_add = std::make_unique<UINT8[]>(2*256*256);
SZHVC_sub = std::make_unique<UINT8[]>(2*256*256);
@@ -2241,7 +2237,6 @@ void z180_device::device_reset()
IO_OMCR = Z180_OMCR_RESET;
IO_IOCR = Z180_IOCR_RESET;
- m_daisy.reset();
z180_mmu();
}
@@ -2496,8 +2491,8 @@ void z180_device::execute_set_input(int irqline, int state)
/* update the IRQ state */
m_irq_state[irqline] = state;
- if (m_daisy.present())
- m_irq_state[0] = m_daisy.update_irq_state();
+ if (daisy_chain_present())
+ m_irq_state[0] = daisy_update_irq_state();
/* the main execute loop will take the interrupt */
}
diff --git a/src/devices/cpu/z180/z180.h b/src/devices/cpu/z180/z180.h
index e76c75501ba..87980e29f4e 100644
--- a/src/devices/cpu/z180/z180.h
+++ b/src/devices/cpu/z180/z180.h
@@ -125,7 +125,7 @@ enum
#define Z180_IRQ2 2 /* Execute IRQ2 */
-class z180_device : public cpu_device
+class z180_device : public cpu_device, public z80_daisy_chain_interface
{
public:
// construction/destruction
@@ -184,7 +184,6 @@ private:
UINT8 m_timer_cnt; /* timer counter / divide by 20 */
UINT8 m_dma0_cnt; /* dma0 counter / divide by 20 */
UINT8 m_dma1_cnt; /* dma1 counter / divide by 20 */
- z80_daisy_chain m_daisy;
address_space *m_program;
direct_read_data *m_direct;
address_space *m_oprogram;
diff --git a/src/devices/cpu/z180/z180op.inc b/src/devices/cpu/z180/z180op.inc
index b3005629a78..c00515ee9a5 100644
--- a/src/devices/cpu/z180/z180op.inc
+++ b/src/devices/cpu/z180/z180op.inc
@@ -310,8 +310,8 @@ int z180_device::take_interrupt(int irq)
if( irq == Z180_INT_IRQ0 )
{
/* Daisy chain mode? If so, call the requesting device */
- if (m_daisy.present())
- irq_vector = m_daisy.call_ack_device();
+ if (daisy_chain_present())
+ irq_vector = daisy_call_ack_device();
/* else call back the cpu interface to retrieve the vector */
else
diff --git a/src/devices/cpu/z180/z180ops.h b/src/devices/cpu/z180/z180ops.h
index 36f06a6847f..6fb50e18112 100644
--- a/src/devices/cpu/z180/z180ops.h
+++ b/src/devices/cpu/z180/z180ops.h
@@ -233,7 +233,7 @@ UINT32 z180_device::ARG16()
POP(PC); \
/* according to http://www.msxnet.org/tech/Z80/z80undoc.txt */ \
/* m_IFF1 = m_IFF2; */ \
- m_daisy.call_reti_device(); \
+ daisy_call_reti_device(); \
}
/***************************************************************
diff --git a/src/devices/cpu/z80/tmpz84c015.cpp b/src/devices/cpu/z80/tmpz84c015.cpp
index d61ae4ef4c5..6c1f88c087a 100644
--- a/src/devices/cpu/z80/tmpz84c015.cpp
+++ b/src/devices/cpu/z80/tmpz84c015.cpp
@@ -163,7 +163,7 @@ WRITE8_MEMBER(tmpz84c015_device::irq_priority_w)
{ dev[prio[data][2]] },
{ nullptr }
};
- m_daisy.init(this, daisy_chain);
+ daisy_init(daisy_chain);
m_irq_priority = data;
}
diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp
index 306b1ae49f2..8d30ae2df3d 100644
--- a/src/devices/cpu/z80/z80.cpp
+++ b/src/devices/cpu/z80/z80.cpp
@@ -110,7 +110,6 @@
#include "emu.h"
#include "debugger.h"
#include "z80.h"
-#include "z80daisy.h"
#define VERBOSE 0
@@ -647,7 +646,7 @@ inline void z80_device::reti()
pop(m_pc);
WZ = PC;
m_iff1 = m_iff2;
- m_daisy.call_reti_device();
+ daisy_call_reti_device();
}
/***************************************************************
@@ -3160,8 +3159,8 @@ void z80_device::take_interrupt()
m_iff1 = m_iff2 = 0;
/* Daisy chain mode? If so, call the requesting device */
- if (m_daisy.present())
- irq_vector = m_daisy.call_ack_device();
+ if (daisy_chain_present())
+ irq_vector = daisy_call_ack_device();
/* else call back the cpu interface to retrieve the vector */
else
@@ -3419,8 +3418,6 @@ void z80_device::device_start()
m_decrypted_opcodes_direct = &m_decrypted_opcodes->direct();
m_io = &space(AS_IO);
- if (static_config() != nullptr)
- m_daisy.init(this, (const z80_daisy_config *)static_config());
m_irq_callback = device_irq_acknowledge_delegate(FUNC(z80_device::standard_irq_callback_member), this);
IX = IY = 0xffff; /* IX and IY are FFFF after a reset! */
@@ -3494,8 +3491,6 @@ void z80_device::device_reset()
m_iff1 = 0;
m_iff2 = 0;
- m_daisy.reset();
-
WZ=PCD;
}
@@ -3582,8 +3577,8 @@ void z80_device::execute_set_input(int inputnum, int state)
case INPUT_LINE_IRQ0:
/* update the IRQ state via the daisy chain */
m_irq_state = state;
- if (m_daisy.present())
- m_irq_state = ( m_daisy.update_irq_state() == ASSERT_LINE ) ? ASSERT_LINE : m_irq_state;
+ if (daisy_chain_present())
+ m_irq_state = (daisy_update_irq_state() == ASSERT_LINE ) ? ASSERT_LINE : m_irq_state;
/* the main execute loop will take the interrupt */
break;
@@ -3700,6 +3695,7 @@ void z80_device::z80_set_cycle_tables(const UINT8 *op, const UINT8 *cb, const UI
z80_device::z80_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
cpu_device(mconfig, Z80, "Z80", tag, owner, clock, "z80", __FILE__),
+ z80_daisy_chain_interface(mconfig, *this),
m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0),
m_decrypted_opcodes_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16, 0),
m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0),
@@ -3710,6 +3706,7 @@ z80_device::z80_device(const machine_config &mconfig, const char *tag, device_t
z80_device::z80_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
cpu_device(mconfig, type, name, tag, owner, clock, shortname, source),
+ z80_daisy_chain_interface(mconfig, *this),
m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0),
m_decrypted_opcodes_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16, 0),
m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0),
diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h
index 38cc207347e..e3733807770 100644
--- a/src/devices/cpu/z80/z80.h
+++ b/src/devices/cpu/z80/z80.h
@@ -37,7 +37,7 @@ enum
Z80_GENPCBASE = STATE_GENPCBASE
};
-class z80_device : public cpu_device
+class z80_device : public cpu_device, public z80_daisy_chain_interface
{
public:
z80_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@@ -283,7 +283,6 @@ protected:
device_irq_acknowledge_delegate m_irq_callback;
int m_icount;
- z80_daisy_chain m_daisy;
UINT8 m_rtemp;
const UINT8 * m_cc_op;
const UINT8 * m_cc_cb;
diff --git a/src/devices/cpu/z80/z80daisy.cpp b/src/devices/cpu/z80/z80daisy.cpp
index 6553760160b..9d06fe1c9fc 100644
--- a/src/devices/cpu/z80/z80daisy.cpp
+++ b/src/devices/cpu/z80/z80daisy.cpp
@@ -21,7 +21,8 @@
//-------------------------------------------------
device_z80daisy_interface::device_z80daisy_interface(const machine_config &mconfig, device_t &device)
- : device_interface(device, "z80daisy")
+ : device_interface(device, "z80daisy"),
+ m_daisy_next(nullptr)
{
}
@@ -41,31 +42,61 @@ device_z80daisy_interface::~device_z80daisy_interface()
//**************************************************************************
//-------------------------------------------------
-// z80_daisy_chain - constructor
+// z80_daisy_chain_interface - constructor
//-------------------------------------------------
-z80_daisy_chain::z80_daisy_chain()
- : m_daisy_list(nullptr)
+z80_daisy_chain_interface::z80_daisy_chain_interface(const machine_config &mconfig, device_t &device)
+ : device_interface(device, "z80daisychain"),
+ m_daisy_config(nullptr),
+ m_chain(nullptr)
{
}
//-------------------------------------------------
-// init - allocate the daisy chain based on the
-// provided configuration
+// z80_daisy_chain_interface - destructor
//-------------------------------------------------
+z80_daisy_chain_interface::~z80_daisy_chain_interface()
+{
+}
+
+
+//-------------------------------------------------
+// static_set_daisy_config - configuration helper
+// to set up the daisy chain
+//-------------------------------------------------
+void z80_daisy_chain_interface::static_set_daisy_config(device_t &device, const z80_daisy_config *config)
+{
+ z80_daisy_chain_interface *daisyintf;
+ if (!device.interface(daisyintf))
+ throw emu_fatalerror("MCFG_Z80_DAISY_CHAIN called on device '%s' with no daisy chain interface", device.tag());
+ daisyintf->m_daisy_config = config;
+}
+
+
+//-------------------------------------------------
+// interface_post_start - work to be done after
+// actually starting a device
+//-------------------------------------------------
+
+void z80_daisy_chain_interface::interface_post_start()
+{
+ if (m_daisy_config != nullptr)
+ daisy_init(m_daisy_config);
+}
-void z80_daisy_chain::init(device_t *cpudevice, const z80_daisy_config *daisy)
+void z80_daisy_chain_interface::daisy_init(const z80_daisy_config *daisy)
{
// create a linked list of devices
- daisy_entry **tailptr = &m_daisy_list;
+ device_z80daisy_interface **tailptr = &m_chain;
for ( ; daisy->devname != nullptr; daisy++)
{
// find the device
- device_t *target;
- if ((target = cpudevice->subdevice(daisy->devname)) == nullptr)
+ device_t *target = device().subdevice(daisy->devname);
+ if (target == nullptr)
{
- if ((target = cpudevice->siblingdevice(daisy->devname)) == nullptr)
+ target = device().siblingdevice(daisy->devname);
+ if (target == nullptr)
fatalerror("Unable to locate device '%s'\n", daisy->devname);
}
@@ -75,26 +106,24 @@ void z80_daisy_chain::init(device_t *cpudevice, const z80_daisy_config *daisy)
fatalerror("Device '%s' does not implement the z80daisy interface!\n", daisy->devname);
// append to the end, or overwrite existing entry
- daisy_entry *next = (*tailptr) ? (*tailptr)->m_next : nullptr;
- if (*tailptr != nullptr)
- auto_free(cpudevice->machine(), *tailptr);
- *tailptr = auto_alloc(cpudevice->machine(), daisy_entry(target));
- (*tailptr)->m_next = next;
- tailptr = &(*tailptr)->m_next;
+ device_z80daisy_interface *next = (*tailptr != nullptr) ? (*tailptr)->m_daisy_next : nullptr;
+ *tailptr = intf;
+ (*tailptr)->m_daisy_next = next;
+ tailptr = &(*tailptr)->m_daisy_next;
}
}
//-------------------------------------------------
-// reset - send a reset signal to all chained
-// devices
+// interface_post_reset - work to be done after a
+// device is reset
//-------------------------------------------------
-void z80_daisy_chain::reset()
+void z80_daisy_chain_interface::interface_post_reset()
{
- // loop over all devices and call their reset function
- for (daisy_entry *daisy = m_daisy_list; daisy != nullptr; daisy = daisy->m_next)
- daisy->m_device->reset();
+ // loop over all chained devices and call their reset function
+ for (device_z80daisy_interface *intf = m_chain; intf != nullptr; intf = intf->m_daisy_next)
+ intf->device().reset();
}
@@ -103,13 +132,13 @@ void z80_daisy_chain::reset()
// return assert/clear based on the state
//-------------------------------------------------
-int z80_daisy_chain::update_irq_state()
+int z80_daisy_chain_interface::daisy_update_irq_state()
{
// loop over all devices; dev[0] is highest priority
- for (daisy_entry *daisy = m_daisy_list; daisy != nullptr; daisy = daisy->m_next)
+ for (device_z80daisy_interface *intf = m_chain; intf != nullptr; intf = intf->m_daisy_next)
{
// if this device is asserting the INT line, that's the one we want
- int state = daisy->m_interface->z80daisy_irq_state();
+ int state = intf->z80daisy_irq_state();
if (state & Z80_DAISY_INT)
return ASSERT_LINE;
@@ -126,16 +155,16 @@ int z80_daisy_chain::update_irq_state()
// from a chained device and return the vector
//-------------------------------------------------
-int z80_daisy_chain::call_ack_device()
+int z80_daisy_chain_interface::daisy_call_ack_device()
{
int vector = 0;
// loop over all devices; dev[0] is the highest priority
- for (daisy_entry *daisy = m_daisy_list; daisy != nullptr; daisy = daisy->m_next)
+ for (device_z80daisy_interface *intf = m_chain; intf != nullptr; intf = intf->m_daisy_next)
{
// if this device is asserting the INT line, that's the one we want
- int state = daisy->m_interface->z80daisy_irq_state();
- vector = daisy->m_interface->z80daisy_irq_ack();
+ int state = intf->z80daisy_irq_state();
+ vector = intf->z80daisy_irq_ack();
if (state & Z80_DAISY_INT)
return vector;
}
@@ -149,31 +178,18 @@ int z80_daisy_chain::call_ack_device()
// the chain
//-------------------------------------------------
-void z80_daisy_chain::call_reti_device()
+void z80_daisy_chain_interface::daisy_call_reti_device()
{
// loop over all devices; dev[0] is the highest priority
- for (daisy_entry *daisy = m_daisy_list; daisy != nullptr; daisy = daisy->m_next)
+ for (device_z80daisy_interface *intf = m_chain; intf != nullptr; intf = intf->m_daisy_next)
{
// if this device is asserting the IEO line, that's the one we want
- int state = daisy->m_interface->z80daisy_irq_state();
+ int state = intf->z80daisy_irq_state();
if (state & Z80_DAISY_IEO)
{
- daisy->m_interface->z80daisy_irq_reti();
+ intf->z80daisy_irq_reti();
return;
}
}
//logerror("z80daisy_call_reti_device: failed to find an device to reti!\n");
}
-
-
-//-------------------------------------------------
-// daisy_entry - constructor
-//-------------------------------------------------
-
-z80_daisy_chain::daisy_entry::daisy_entry(device_t *device)
- : m_next(nullptr),
- m_device(device),
- m_interface(nullptr)
-{
- device->interface(m_interface);
-}
diff --git a/src/devices/cpu/z80/z80daisy.h b/src/devices/cpu/z80/z80daisy.h
index 258df6cd017..9248c31c6da 100644
--- a/src/devices/cpu/z80/z80daisy.h
+++ b/src/devices/cpu/z80/z80daisy.h
@@ -26,6 +26,16 @@ const UINT8 Z80_DAISY_IEO = 0x02; // interrupt disable mask (IEO)
//**************************************************************************
+// DEVICE CONFIGURATION MACROS
+//**************************************************************************
+
+// configure devices
+#define MCFG_Z80_DAISY_CHAIN(_config) \
+ z80_daisy_chain_interface::static_set_daisy_config(*device, _config);
+
+
+
+//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -43,6 +53,8 @@ struct z80_daisy_config
class device_z80daisy_interface : public device_interface
{
+ friend class z80_daisy_chain_interface;
+
public:
// construction/destruction
device_z80daisy_interface(const machine_config &mconfig, device_t &device);
@@ -52,37 +64,44 @@ public:
virtual int z80daisy_irq_state() = 0;
virtual int z80daisy_irq_ack() = 0;
virtual void z80daisy_irq_reti() = 0;
+
+private:
+ device_z80daisy_interface *m_daisy_next; // next device in the chain
};
-// ======================> z80_daisy_chain
+// ======================> z80_daisy_chain_interface
-class z80_daisy_chain
+class z80_daisy_chain_interface : public device_interface
{
public:
- z80_daisy_chain();
- void init(device_t *cpudevice, const z80_daisy_config *daisy);
+ // construction/destruction
+ z80_daisy_chain_interface(const machine_config &mconfig, device_t &device);
+ virtual ~z80_daisy_chain_interface();
- bool present() const { return (m_daisy_list != nullptr); }
+ // configuration helpers
+ static void static_set_daisy_config(device_t &device, const z80_daisy_config *config);
- void reset();
- int update_irq_state();
- int call_ack_device();
- void call_reti_device();
+ // getters
+ bool daisy_chain_present() const { return (m_chain != nullptr); }
protected:
- class daisy_entry
- {
- public:
- daisy_entry(device_t *device);
+ // interface-level overrides
+ virtual void interface_post_start() override;
+ virtual void interface_post_reset() override;
+
+ // initialization
+ void daisy_init(const z80_daisy_config *daisy);
- daisy_entry * m_next; // next device
- device_t * m_device; // associated device
- device_z80daisy_interface * m_interface; // associated device's daisy interface
- };
+ // callbacks
+ int daisy_update_irq_state();
+ int daisy_call_ack_device();
+ void daisy_call_reti_device();
- daisy_entry * m_daisy_list; // head of the daisy chain
+private:
+ const z80_daisy_config *m_daisy_config;
+ device_z80daisy_interface *m_chain; // head of the daisy chain
};
diff --git a/src/devices/cpu/z8000/z8000.cpp b/src/devices/cpu/z8000/z8000.cpp
index 9d796a518dd..9f71abf47a8 100644
--- a/src/devices/cpu/z8000/z8000.cpp
+++ b/src/devices/cpu/z8000/z8000.cpp
@@ -35,6 +35,7 @@ const device_type Z8002 = &device_creator<z8002_device>;
z8002_device::z8002_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: cpu_device(mconfig, Z8002, "Z8002", tag, owner, clock, "z8002", __FILE__)
+ , z80_daisy_chain_interface(mconfig, *this)
, m_program_config("program", ENDIANNESS_BIG, 16, 16, 0)
, m_io_config("io", ENDIANNESS_BIG, 8, 16, 0)
, m_mo_out(*this), m_ppc(0), m_pc(0), m_psapseg(0), m_psapoff(0), m_fcw(0), m_refresh(0), m_nspseg(0), m_nspoff(0), m_irq_req(0), m_irq_vec(0), m_op_valid(0), m_nmi_state(0), m_mi(0), m_program(nullptr), m_data(nullptr), m_direct(nullptr), m_io(nullptr), m_icount(0)
@@ -45,6 +46,7 @@ z8002_device::z8002_device(const machine_config &mconfig, const char *tag, devic
z8002_device::z8002_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: cpu_device(mconfig, type, name, tag, owner, clock, shortname, source)
+ , z80_daisy_chain_interface(mconfig, *this)
, m_program_config("program", ENDIANNESS_BIG, 16, 20, 0)
, m_io_config("io", ENDIANNESS_BIG, 16, 16, 0)
, m_mo_out(*this), m_ppc(0), m_pc(0), m_psapseg(0), m_psapoff(0), m_fcw(0), m_refresh(0), m_nspseg(0), m_nspoff(0), m_irq_req(0), m_irq_vec(0), m_op_valid(0), m_nmi_state(0), m_mi(0), m_program(nullptr), m_data(nullptr), m_direct(nullptr), m_io(nullptr), m_icount(0)
diff --git a/src/devices/cpu/z8000/z8000.h b/src/devices/cpu/z8000/z8000.h
index 98ccc6ddea4..288a2700c99 100644
--- a/src/devices/cpu/z8000/z8000.h
+++ b/src/devices/cpu/z8000/z8000.h
@@ -5,6 +5,8 @@
#ifndef __Z8000_H__
#define __Z8000_H__
+#include "cpu/z80/z80daisy.h"
+
enum
{
@@ -31,7 +33,7 @@ enum
#define MCFG_Z8000_MO(_devcb) \
devcb = &z8002_device::set_mo_callback(*device, DEVCB_##_devcb);
-class z8002_device : public cpu_device
+class z8002_device : public cpu_device, public z80_daisy_chain_interface
{
public:
// construction/destruction
diff --git a/src/devices/imagedev/flopdrv.cpp b/src/devices/imagedev/flopdrv.cpp
index 71bfd2c7158..9842e4af0b1 100644
--- a/src/devices/imagedev/flopdrv.cpp
+++ b/src/devices/imagedev/flopdrv.cpp
@@ -127,7 +127,7 @@ void legacy_floppy_image_device::floppy_drive_init()
m_index_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(legacy_floppy_image_device::floppy_drive_index_callback),this));
m_idx = 0;
- floppy_drive_set_geometry(((floppy_interface*)static_config())->floppy_type);
+ floppy_drive_set_geometry(m_config->floppy_type);
/* initialise id index - not so important */
m_id_index = 0;
@@ -426,7 +426,7 @@ int legacy_floppy_image_device::internal_floppy_device_load(int create_format, o
device_image_interface *image = nullptr;
interface(image); /* figure out the floppy options */
- floppy_options = ((floppy_interface*)static_config())->formats;
+ floppy_options = m_config->formats;
if (has_been_created())
{
@@ -776,7 +776,6 @@ legacy_floppy_image_device::~legacy_floppy_image_device()
void legacy_floppy_image_device::device_start()
{
- m_config = (const floppy_interface*)static_config();
floppy_drive_init();
m_drive_id = floppy_get_drive(this);
@@ -816,7 +815,7 @@ void legacy_floppy_image_device::device_start()
void legacy_floppy_image_device::device_config_complete()
{
m_extension_list[0] = '\0';
- const struct FloppyFormat *floppy_options = ((floppy_interface*)static_config())->formats;
+ const struct FloppyFormat *floppy_options = m_config->formats;
for (int i = 0; floppy_options[i].construct; i++)
{
// only add if creatable
@@ -885,9 +884,9 @@ void legacy_floppy_image_device::call_unload()
bool legacy_floppy_image_device::is_creatable() const
{
int cnt = 0;
- if (static_config() )
+ if (m_config != nullptr)
{
- const struct FloppyFormat *floppy_options = ((floppy_interface*)static_config())->formats;
+ const struct FloppyFormat *floppy_options = m_config->formats;
int i;
for ( i = 0; floppy_options[i].construct; i++ ) {
if(floppy_options[i].param_guidelines) cnt++;
@@ -898,5 +897,5 @@ bool legacy_floppy_image_device::is_creatable() const
const char *legacy_floppy_image_device::image_interface() const
{
- return ((floppy_interface *)static_config())->interface;
+ return m_config->interface;
}
diff --git a/src/devices/imagedev/flopdrv.h b/src/devices/imagedev/flopdrv.h
index 9d4333cfae2..de01485ba97 100644
--- a/src/devices/imagedev/flopdrv.h
+++ b/src/devices/imagedev/flopdrv.h
@@ -96,6 +96,7 @@ public:
legacy_floppy_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
~legacy_floppy_image_device();
+ static void static_set_floppy_config(device_t &device, const floppy_interface *config) { downcast<legacy_floppy_image_device &>(device).m_config = config; }
template<class _Object> static devcb_base &set_out_idx_func(device_t &device, _Object object) { return downcast<legacy_floppy_image_device &>(device).m_out_idx_func.set_callback(object); }
virtual bool call_load() override;
@@ -242,24 +243,27 @@ int floppy_get_count(running_machine &machine);
#define FLOPPY_3 "floppy3"
+#define MCFG_LEGACY_FLOPPY_CONFIG(_config) \
+ legacy_floppy_image_device::static_set_floppy_config(*device, &(_config));
+
#define MCFG_LEGACY_FLOPPY_DRIVE_ADD(_tag, _config) \
MCFG_DEVICE_ADD(_tag, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
#define MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(_config) \
MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
#define MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(_config) \
MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
#endif /* __FLOPDRV_H__ */
diff --git a/src/devices/machine/ldv1000.cpp b/src/devices/machine/ldv1000.cpp
index 1e6224adc0d..36dae481853 100644
--- a/src/devices/machine/ldv1000.cpp
+++ b/src/devices/machine/ldv1000.cpp
@@ -86,7 +86,7 @@ static const z80_daisy_config daisy_chain[] =
static MACHINE_CONFIG_FRAGMENT( ldv1000 )
MCFG_CPU_ADD("ldv1000", Z80, XTAL_5MHz/2)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PROGRAM_MAP(ldv1000_map)
MCFG_CPU_IO_MAP(ldv1000_portmap)
diff --git a/src/devices/sound/flt_rc.h b/src/devices/sound/flt_rc.h
index 79c1abfa2ca..e6bc72baaa7 100644
--- a/src/devices/sound/flt_rc.h
+++ b/src/devices/sound/flt_rc.h
@@ -34,11 +34,11 @@
* This filter may be setup just with
*
* MCFG_FILTER_RC_ADD("tag", 0)
- * MCFG_FILTER_RC_AC(&flt_rc_ac_default)
+ * MCFG_FILTER_RC_AC()
*
* Default behaviour:
*
- * Without MCFG_SOUND_CONFIG, a disabled FLT_RC_LOWPASS is created
+ * Without MCFG_FILTER_RC_AC, a disabled FLT_RC_LOWPASS is created
*
*/
diff --git a/src/emu/devcpu.h b/src/emu/devcpu.h
index f34d5645b78..1ee234c3d12 100644
--- a/src/emu/devcpu.h
+++ b/src/emu/devcpu.h
@@ -26,7 +26,6 @@
#define MCFG_CPU_REPLACE MCFG_DEVICE_REPLACE
#define MCFG_CPU_CLOCK MCFG_DEVICE_CLOCK
-#define MCFG_CPU_CONFIG MCFG_DEVICE_CONFIG
#define MCFG_CPU_PROGRAM_MAP MCFG_DEVICE_PROGRAM_MAP
#define MCFG_CPU_DATA_MAP MCFG_DEVICE_DATA_MAP
diff --git a/src/emu/device.cpp b/src/emu/device.cpp
index 64fe6fede58..94b53d7c054 100644
--- a/src/emu/device.cpp
+++ b/src/emu/device.cpp
@@ -40,7 +40,6 @@ device_t::device_t(const machine_config &mconfig, device_type type, const char *
m_attoseconds_per_clock((clock == 0) ? 0 : HZ_TO_ATTOSECONDS(clock)),
m_machine_config(mconfig),
- m_static_config(nullptr),
m_input_defaults(nullptr),
m_default_bios_tag(""),
diff --git a/src/emu/device.h b/src/emu/device.h
index c098b2c337b..18b65765554 100644
--- a/src/emu/device.h
+++ b/src/emu/device.h
@@ -33,8 +33,6 @@
//**************************************************************************
// configure devices
-#define MCFG_DEVICE_CONFIG(_config) \
- device_t::static_set_static_config(*device, &(_config));
#define MCFG_DEVICE_CLOCK(_clock) \
device_t::static_set_clock(*device, _clock);
#define MCFG_DEVICE_INPUT_DEFAULTS(_config) \
@@ -201,7 +199,6 @@ public:
device_t *owner() const { return m_owner; }
device_t *next() const { return m_next; }
UINT32 configured_clock() const { return m_configured_clock; }
- const void *static_config() const { return m_static_config; }
const machine_config &mconfig() const { return m_machine_config; }
const input_device_default *input_ports_defaults() const { return m_input_defaults; }
const rom_entry *rom_region() const { return device_rom_region(); }
@@ -247,7 +244,6 @@ public:
// configuration helpers
static void static_set_clock(device_t &device, UINT32 clock);
- static void static_set_static_config(device_t &device, const void *config) { device.m_static_config = config; }
static void static_set_input_default(device_t &device, const input_device_default *config) { device.m_input_defaults = config; }
static void static_set_default_bios_tag(device_t &device, const char *tag) { std::string default_bios_tag(tag); device.m_default_bios_tag = default_bios_tag; }
@@ -345,7 +341,6 @@ protected:
std::unique_ptr<device_debug> m_debug;
const machine_config & m_machine_config; // reference to the machine's configuration
- const void * m_static_config; // static device configuration
const input_device_default *m_input_defaults; // devices input ports default overrides
UINT8 m_system_bios; // the system BIOS we wish to load
diff --git a/src/emu/disound.h b/src/emu/disound.h
index 6ee07690c92..055f59d921e 100644
--- a/src/emu/disound.h
+++ b/src/emu/disound.h
@@ -42,9 +42,6 @@ const int AUTO_ALLOC_INPUT = 65535;
#define MCFG_SOUND_REPLACE(_tag, _type, _clock) \
MCFG_DEVICE_REPLACE(_tag, _type, _clock)
-#define MCFG_SOUND_CONFIG(_config) \
- MCFG_DEVICE_CONFIG(_config)
-
#define MCFG_SOUND_ROUTE(_output, _target, _gain) \
device_sound_interface::static_add_route(*device, _output, _target, _gain);
#define MCFG_SOUND_ROUTE_EX(_output, _target, _gain, _input) \
diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp
index 3a59752f1e9..99260c00a61 100644
--- a/src/mame/audio/cinemat.cpp
+++ b/src/mame/audio/cinemat.cpp
@@ -1311,7 +1311,7 @@ MACHINE_CONFIG_FRAGMENT( demon_sound )
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PROGRAM_MAP(demon_sound_map)
MCFG_CPU_IO_MAP(demon_sound_ports)
diff --git a/src/mame/drivers/4dpi.cpp b/src/mame/drivers/4dpi.cpp
index 7feead80bea..3fbe6ed8244 100644
--- a/src/mame/drivers/4dpi.cpp
+++ b/src/mame/drivers/4dpi.cpp
@@ -229,7 +229,6 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_START( sgi_ip6, sgi_ip6_state )
MCFG_CPU_ADD( "maincpu", R3041, 20000000 ) // FIXME: Should be R2000
MCFG_R3000_ENDIANNESS(ENDIANNESS_BIG)
- MCFG_CPU_CONFIG( config )
MCFG_CPU_PROGRAM_MAP( sgi_ip6_map )
MCFG_CPU_VBLANK_INT_DRIVER("screen", sgi_ip6_state, sgi_ip6_vbl)
diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp
index de95d2a33a6..f0ac55e9b03 100644
--- a/src/mame/drivers/a5105.cpp
+++ b/src/mame/drivers/a5105.cpp
@@ -557,7 +557,7 @@ static MACHINE_CONFIG_START( a5105, a5105_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_15MHz / 4)
MCFG_CPU_PROGRAM_MAP(a5105_mem)
MCFG_CPU_IO_MAP(a5105_io)
- MCFG_CPU_CONFIG(a5105_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(a5105_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp
index 35a0bc0d9ca..e4d5100e777 100644
--- a/src/mame/drivers/abc80.cpp
+++ b/src/mame/drivers/abc80.cpp
@@ -524,7 +524,7 @@ static MACHINE_CONFIG_START( abc80, abc80_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_11_9808MHz/2/2) // 2.9952 MHz
MCFG_CPU_PROGRAM_MAP(abc80_mem)
MCFG_CPU_IO_MAP(abc80_io)
- MCFG_CPU_CONFIG(abc80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(abc80_daisy_chain)
// video hardware
MCFG_FRAGMENT_ADD(abc80_video)
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index eb171c990fd..4e941c927a8 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -1015,7 +1015,7 @@ void abc806_state::machine_reset()
static MACHINE_CONFIG_START( abc800c, abc800c_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, ABC800_X01/2/2)
- MCFG_CPU_CONFIG(abc800_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(abc800_daisy_chain)
MCFG_CPU_PROGRAM_MAP(abc800c_mem)
MCFG_CPU_IO_MAP(abc800c_io)
@@ -1090,7 +1090,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( abc800m, abc800m_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, ABC800_X01/2/2)
- MCFG_CPU_CONFIG(abc800_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(abc800_daisy_chain)
MCFG_CPU_PROGRAM_MAP(abc800m_mem)
MCFG_CPU_IO_MAP(abc800m_io)
@@ -1165,7 +1165,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( abc802, abc802_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, ABC800_X01/2/2)
- MCFG_CPU_CONFIG(abc800_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(abc800_daisy_chain)
MCFG_CPU_PROGRAM_MAP(abc802_mem)
MCFG_CPU_IO_MAP(abc802_io)
@@ -1241,7 +1241,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( abc806, abc806_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, ABC800_X01/2/2)
- MCFG_CPU_CONFIG(abc800_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(abc800_daisy_chain)
MCFG_CPU_PROGRAM_MAP(abc806_mem)
MCFG_CPU_IO_MAP(abc806_io)
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp
index 96fd75ae2e4..51542eaa43e 100644
--- a/src/mame/drivers/altos5.cpp
+++ b/src/mame/drivers/altos5.cpp
@@ -381,7 +381,7 @@ static MACHINE_CONFIG_START( altos5, altos5_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2)
MCFG_CPU_PROGRAM_MAP(altos5_mem)
MCFG_CPU_IO_MAP(altos5_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
/* devices */
MCFG_DEVICE_ADD("z80dma", Z80DMA, XTAL_8MHz / 2)
diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp
index 6aef2a6f984..f111312c3f1 100644
--- a/src/mame/drivers/ampro.cpp
+++ b/src/mame/drivers/ampro.cpp
@@ -160,7 +160,7 @@ static MACHINE_CONFIG_START( ampro, ampro_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_16MHz / 4)
MCFG_CPU_PROGRAM_MAP(ampro_mem)
MCFG_CPU_IO_MAP(ampro_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
MCFG_MACHINE_RESET_OVERRIDE(ampro_state, ampro)
/* Devices */
diff --git a/src/mame/drivers/apexc.cpp b/src/mame/drivers/apexc.cpp
index dd992f1a209..d56f89e5e24 100644
--- a/src/mame/drivers/apexc.cpp
+++ b/src/mame/drivers/apexc.cpp
@@ -871,7 +871,6 @@ static MACHINE_CONFIG_START( apexc, apexc_state )
/* basic machine hardware */
/* APEXC CPU @ 2.0 kHz (memory word clock frequency) */
MCFG_CPU_ADD("maincpu", APEXC, 2000)
- /*MCFG_CPU_CONFIG(NULL)*/
MCFG_CPU_PROGRAM_MAP(apexc_mem_map)
MCFG_CPU_IO_MAP(apexc_io_map)
/* dummy interrupt: handles the control panel */
diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp
index 43101fc49ed..5883edcdaa1 100644
--- a/src/mame/drivers/astrocde.cpp
+++ b/src/mame/drivers/astrocde.cpp
@@ -1441,7 +1441,7 @@ static MACHINE_CONFIG_DERIVED( tenpindx, astrocade_16color_base )
MCFG_CPU_IO_MAP(port_map_16col_pattern_nosound)
MCFG_CPU_ADD("sub", Z80, ASTROCADE_CLOCK/4) /* real clock unknown */
- MCFG_CPU_CONFIG(tenpin_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(tenpin_daisy_chain)
MCFG_CPU_PROGRAM_MAP(tenpin_sub_map)
MCFG_CPU_IO_MAP(tenpin_sub_io_map)
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index 69bcb219ee6..64649910a4f 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -927,7 +927,7 @@ static MACHINE_CONFIG_START( attache, attache_state )
MCFG_CPU_ADD("maincpu",Z80,XTAL_8MHz / 2)
MCFG_CPU_PROGRAM_MAP(attache_map)
MCFG_CPU_IO_MAP(attache_io)
- MCFG_CPU_CONFIG(attache_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(attache_daisy_chain)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp
index eb790c0ae00..1fdf1cd1fcb 100644
--- a/src/mame/drivers/aussiebyte.cpp
+++ b/src/mame/drivers/aussiebyte.cpp
@@ -447,7 +447,7 @@ static MACHINE_CONFIG_START( aussiebyte, aussiebyte_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz / 4)
MCFG_CPU_PROGRAM_MAP(aussiebyte_map)
MCFG_CPU_IO_MAP(aussiebyte_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
MCFG_MACHINE_RESET_OVERRIDE(aussiebyte_state, aussiebyte )
diff --git a/src/mame/drivers/babbage.cpp b/src/mame/drivers/babbage.cpp
index f3d9c187fc8..f98ade87c91 100644
--- a/src/mame/drivers/babbage.cpp
+++ b/src/mame/drivers/babbage.cpp
@@ -237,7 +237,7 @@ static MACHINE_CONFIG_START( babbage, babbage_state )
MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK) //2.5MHz
MCFG_CPU_PROGRAM_MAP(babbage_map)
MCFG_CPU_IO_MAP(babbage_io)
- MCFG_CPU_CONFIG(babbage_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(babbage_daisy_chain)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_babbage)
diff --git a/src/mame/drivers/bbcbc.cpp b/src/mame/drivers/bbcbc.cpp
index c2d6d661d9f..96e346aed67 100644
--- a/src/mame/drivers/bbcbc.cpp
+++ b/src/mame/drivers/bbcbc.cpp
@@ -131,7 +131,7 @@ static MACHINE_CONFIG_START( bbcbc, bbcbc_state )
MCFG_CPU_ADD( "maincpu", Z80, MAIN_CLOCK / 8 )
MCFG_CPU_PROGRAM_MAP( bbcbc_prg)
MCFG_CPU_IO_MAP( bbcbc_io)
- MCFG_CPU_CONFIG(bbcbc_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(bbcbc_daisy_chain)
MCFG_DEVICE_ADD("z80pio", Z80PIO, MAIN_CLOCK/8)
diff --git a/src/mame/drivers/bcs3.cpp b/src/mame/drivers/bcs3.cpp
index eab460c0cc3..bc38ce59c9a 100644
--- a/src/mame/drivers/bcs3.cpp
+++ b/src/mame/drivers/bcs3.cpp
@@ -378,7 +378,7 @@ static MACHINE_CONFIG_START( bcs3, bcs3_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_5MHz /2)
MCFG_CPU_PROGRAM_MAP(bcs3_mem)
MCFG_CPU_IO_MAP(bcs3_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -405,7 +405,7 @@ static MACHINE_CONFIG_START( bcs3a, bcs3_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_7MHz /2)
MCFG_CPU_PROGRAM_MAP(bcs3a_mem)
MCFG_CPU_IO_MAP(bcs3_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/bigbord2.cpp b/src/mame/drivers/bigbord2.cpp
index 7b00129e939..88af1c08601 100644
--- a/src/mame/drivers/bigbord2.cpp
+++ b/src/mame/drivers/bigbord2.cpp
@@ -545,7 +545,7 @@ static MACHINE_CONFIG_START( bigbord2, bigbord2_state )
MCFG_CPU_ADD(Z80_TAG, Z80, MAIN_CLOCK)
MCFG_CPU_PROGRAM_MAP(bigbord2_mem)
MCFG_CPU_IO_MAP(bigbord2_io)
- MCFG_CPU_CONFIG(bigbord2_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(bigbord2_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index fa05ab12f59..8abd74a23cd 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -531,7 +531,7 @@ static MACHINE_CONFIG_START( dg680, dg680_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_8MHz / 4)
MCFG_CPU_PROGRAM_MAP(dg680_mem)
MCFG_CPU_IO_MAP(dg680_io)
- MCFG_CPU_CONFIG(dg680_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(dg680_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::amber)
diff --git a/src/mame/drivers/br8641.cpp b/src/mame/drivers/br8641.cpp
index ce8e204e4ee..1e0197a86f1 100644
--- a/src/mame/drivers/br8641.cpp
+++ b/src/mame/drivers/br8641.cpp
@@ -157,7 +157,7 @@ static MACHINE_CONFIG_START( brandt8641, brandt8641_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_4MHz) // U4 ,4MHz crystal on board
MCFG_CPU_PROGRAM_MAP(brandt8641_mem)
MCFG_CPU_IO_MAP(brandt8641_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp
index 97a7d5ef81f..186f19043b5 100644
--- a/src/mame/drivers/bullet.cpp
+++ b/src/mame/drivers/bullet.cpp
@@ -1102,7 +1102,7 @@ static MACHINE_CONFIG_START( bullet, bullet_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
MCFG_CPU_PROGRAM_MAP(bullet_mem)
MCFG_CPU_IO_MAP(bullet_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
// devices
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_16MHz/4)
@@ -1182,7 +1182,7 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
MCFG_CPU_PROGRAM_MAP(bulletf_mem)
MCFG_CPU_IO_MAP(bulletf_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
// devices
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_16MHz/4)
diff --git a/src/mame/drivers/c80.cpp b/src/mame/drivers/c80.cpp
index b1dfb1263aa..fa0f3244ce0 100644
--- a/src/mame/drivers/c80.cpp
+++ b/src/mame/drivers/c80.cpp
@@ -251,7 +251,7 @@ static MACHINE_CONFIG_START( c80, c80_state )
MCFG_CPU_ADD(Z80_TAG, Z80, 2500000) /* U880D */
MCFG_CPU_PROGRAM_MAP(c80_mem)
MCFG_CPU_IO_MAP(c80_io)
- MCFG_CPU_CONFIG(c80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(c80_daisy_chain)
/* video hardware */
MCFG_DEFAULT_LAYOUT( layout_c80 )
diff --git a/src/mame/drivers/cchasm.cpp b/src/mame/drivers/cchasm.cpp
index 78a34741514..237f34e87f3 100644
--- a/src/mame/drivers/cchasm.cpp
+++ b/src/mame/drivers/cchasm.cpp
@@ -148,7 +148,7 @@ static MACHINE_CONFIG_START( cchasm, cchasm_state )
MCFG_CPU_PROGRAM_MAP(memmap)
MCFG_CPU_ADD("audiocpu", Z80, 3584229) /* 3.58 MHz (from schematics) */
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PROGRAM_MAP(sound_memmap)
MCFG_CPU_IO_MAP(sound_portmap)
diff --git a/src/mame/drivers/comquest.cpp b/src/mame/drivers/comquest.cpp
index a4000192f2e..6a35917800a 100644
--- a/src/mame/drivers/comquest.cpp
+++ b/src/mame/drivers/comquest.cpp
@@ -210,8 +210,6 @@ void comquest_state::machine_reset()
// membank(1)->set_base(mem+0x00000);
}
-static const UINT32 amask= 0xffff;
-
static MACHINE_CONFIG_START( comquest, comquest_state )
/* basic machine hardware */
@@ -244,7 +242,6 @@ static MACHINE_CONFIG_START( comquest, comquest_state )
*/
MCFG_CPU_PROGRAM_MAP(comquest_mem)
- MCFG_CPU_CONFIG( amask )
/* video hardware */
diff --git a/src/mame/drivers/csplayh5.cpp b/src/mame/drivers/csplayh5.cpp
index fa87c2f7a02..aadf7ecbdb6 100644
--- a/src/mame/drivers/csplayh5.cpp
+++ b/src/mame/drivers/csplayh5.cpp
@@ -466,7 +466,7 @@ static MACHINE_CONFIG_START( csplayh5, csplayh5_state )
#endif
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, unknown clock */
- MCFG_CPU_CONFIG(daisy_chain_sound)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_sound)
MCFG_CPU_PROGRAM_MAP(csplayh5_sound_map)
MCFG_CPU_IO_MAP(csplayh5_sound_io_map)
MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(csplayh5_state, soundcpu_porta_w))
diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp
index 1b0415d9b4f..ba528e1b833 100644
--- a/src/mame/drivers/czk80.cpp
+++ b/src/mame/drivers/czk80.cpp
@@ -193,7 +193,7 @@ static MACHINE_CONFIG_START( czk80, czk80_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz / 4)
MCFG_CPU_PROGRAM_MAP(czk80_mem)
MCFG_CPU_IO_MAP(czk80_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_MACHINE_RESET_OVERRIDE(czk80_state, czk80)
MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0)
diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp
index 016e71a5358..fb1b3c21e8b 100644
--- a/src/mame/drivers/dlair.cpp
+++ b/src/mame/drivers/dlair.cpp
@@ -697,7 +697,7 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK_EURO/4)
- MCFG_CPU_CONFIG(dleuro_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(dleuro_daisy_chain)
MCFG_CPU_PROGRAM_MAP(dleuro_map)
MCFG_CPU_IO_MAP(dleuro_io_map)
diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp
index c2fd45e06b8..d0f5bb73a05 100644
--- a/src/mame/drivers/einstein.cpp
+++ b/src/mame/drivers/einstein.cpp
@@ -686,7 +686,7 @@ static MACHINE_CONFIG_START( einstein, einstein_state )
MCFG_CPU_ADD(IC_I001, Z80, XTAL_X002 / 2)
MCFG_CPU_PROGRAM_MAP(einstein_mem)
MCFG_CPU_IO_MAP(einstein_io)
- MCFG_CPU_CONFIG(einstein_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(einstein_daisy_chain)
/* this is actually clocked at the system clock 4 MHz, but this would be too fast for our
driver. So we update at 50Hz and hope this is good enough. */
diff --git a/src/mame/drivers/ghosteo.cpp b/src/mame/drivers/ghosteo.cpp
index 6a57e0ccba5..2e1c408ccf6 100644
--- a/src/mame/drivers/ghosteo.cpp
+++ b/src/mame/drivers/ghosteo.cpp
@@ -638,7 +638,7 @@ static MACHINE_CONFIG_START( ghosteo, ghosteo_state )
// MCFG_DEVICE_ADD("nand", NAND, 0)
// MCFG_NAND_TYPE(NAND_CHIP_K9F5608U0D) // or another variant with ID 0xEC 0x75 ?
-// MCFG_DEVICE_CONFIG(bballoon_nand_intf)
+// MCFG_NAND_RNB_CALLBACK(DEVWRITELINE("s3c2410", s3c2410_device, s3c24xx_pin_frnb_w))
// MCFG_I2CMEM_ADD("i2cmem", 0xA0, 0, 0x100, NULL)
diff --git a/src/mame/drivers/gp_1.cpp b/src/mame/drivers/gp_1.cpp
index 96d4e94cb78..330f49b36ff 100644
--- a/src/mame/drivers/gp_1.cpp
+++ b/src/mame/drivers/gp_1.cpp
@@ -421,7 +421,7 @@ static MACHINE_CONFIG_START( gp_1, gp_1_state )
MCFG_CPU_ADD("maincpu", Z80, 2457600)
MCFG_CPU_PROGRAM_MAP(gp_1_map)
MCFG_CPU_IO_MAP(gp_1_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/gp_2.cpp b/src/mame/drivers/gp_2.cpp
index b829912b939..6046ede4f13 100644
--- a/src/mame/drivers/gp_2.cpp
+++ b/src/mame/drivers/gp_2.cpp
@@ -574,7 +574,7 @@ static MACHINE_CONFIG_START( gp_2, gp_2_state )
MCFG_CPU_ADD("maincpu", Z80, 2457600)
MCFG_CPU_PROGRAM_MAP(gp_2_map)
MCFG_CPU_IO_MAP(gp_2_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/hikaru.cpp b/src/mame/drivers/hikaru.cpp
index b5939d4e09e..e2239e73c6d 100644
--- a/src/mame/drivers/hikaru.cpp
+++ b/src/mame/drivers/hikaru.cpp
@@ -385,8 +385,6 @@ Notes:
#include "cpu/sh4/sh4.h"
#define CPU_CLOCK (200000000)
- /* MD2 MD1 MD0 MD6 MD4 MD3 MD5 MD7 MD8 */
-//static const struct sh4_config sh4cpu_config = { 1, 0, 1, 0, 0, 0, 1, 1, 0, CPU_CLOCK };
class hikaru_state : public driver_device
{
@@ -484,7 +482,16 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_START( hikaru, hikaru_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SH4LE, CPU_CLOCK)
-// MCFG_CPU_CONFIG(sh4cpu_config)
+// MCFG_SH4_MD0(1)
+// MCFG_SH4_MD1(0)
+// MCFG_SH4_MD2(1)
+// MCFG_SH4_MD3(0)
+// MCFG_SH4_MD4(0)
+// MCFG_SH4_MD5(1)
+// MCFG_SH4_MD6(0)
+// MCFG_SH4_MD7(1)
+// MCFG_SH4_MD8(0)
+// MCFG_SH4_CLOCK(CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(hikaru_map)
// MCFG_CPU_IO_MAP(hikaru_port)
// MCFG_CPU_VBLANK_INT("screen", hikaru,vblank)
@@ -509,7 +516,6 @@ static MACHINE_CONFIG_START( hikaru, hikaru_state )
// MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
// MCFG_SOUND_ADD("aica", AICA, 0)
-// MCFG_SOUND_CONFIG(aica_config)
// MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
// MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/huebler.cpp b/src/mame/drivers/huebler.cpp
index 1d5dda7ff73..26148bcbff6 100644
--- a/src/mame/drivers/huebler.cpp
+++ b/src/mame/drivers/huebler.cpp
@@ -330,7 +330,7 @@ static MACHINE_CONFIG_START( amu880, amu880_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_10MHz/4) // U880D
MCFG_CPU_PROGRAM_MAP(amu880_mem)
MCFG_CPU_IO_MAP(amu880_io)
- MCFG_CPU_CONFIG(amu880_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(amu880_daisy_chain)
MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", amu880_state, keyboard_tick, attotime::from_hz(1500))
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index 0edcd3e7cb9..fb26115a720 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -4142,8 +4142,6 @@ static MACHINE_CONFIG_DERIVED( vbowl, igs011_base )
MCFG_DEVICE_REMOVE("oki")
MCFG_ICS2115_ADD("ics", 0)
MCFG_ICS2115_IRQ_CB(WRITELINE(igs011_state, sound_irq))
-// MCFG_SOUND_ADD("ics", ICS2115, 0)
-// MCFG_SOUND_CONFIG(vbowl_ics2115_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 5.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp
index 20eee2b6f27..2631d9f66fb 100644
--- a/src/mame/drivers/indy_indigo2.cpp
+++ b/src/mame/drivers/indy_indigo2.cpp
@@ -1572,14 +1572,6 @@ INTERRUPT_GEN_MEMBER(ip22_state::ip22_vbl)
}
}
-#if 0
-static const mips3_config config =
-{
- 32768, /* code cache size */
- 32768 /* data cache size */
-};
-#endif
-
static MACHINE_CONFIG_FRAGMENT( cdrom_config )
MCFG_DEVICE_MODIFY( "cdda" )
MCFG_SOUND_ROUTE( 0, "^^^^lspeaker", 1.0 )
@@ -1588,7 +1580,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( ip225015, ip22_state )
MCFG_CPU_ADD( "maincpu", R5000BE, 50000000*3 )
- MCFG_CPU_CONFIG( config )
+ //MCFG_MIPS3_ICACHE_SIZE(32768)
+ //MCFG_MIPS3_DCACHE_SIZE(32768)
MCFG_CPU_PROGRAM_MAP( ip225015_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", ip22_state, ip22_vbl)
@@ -1639,14 +1632,16 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ip224613, ip225015 )
MCFG_CPU_REPLACE( "maincpu", R4600BE, 133333333 )
- MCFG_CPU_CONFIG( config )
+ //MCFG_MIPS3_ICACHE_SIZE(32768)
+ //MCFG_MIPS3_DCACHE_SIZE(32768)
MCFG_CPU_PROGRAM_MAP( ip225015_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", ip22_state, ip22_vbl)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ip244415, ip225015 )
MCFG_CPU_REPLACE( "maincpu", R4600BE, 150000000 )
- MCFG_CPU_CONFIG( config )
+ //MCFG_MIPS3_ICACHE_SIZE(32768)
+ //MCFG_MIPS3_DCACHE_SIZE(32768)
MCFG_CPU_PROGRAM_MAP( ip225015_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", ip22_state, ip22_vbl)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp
index 10195a3d4f1..3d8c2ffcf83 100644
--- a/src/mame/drivers/jankenmn.cpp
+++ b/src/mame/drivers/jankenmn.cpp
@@ -363,7 +363,7 @@ static const z80_daisy_config daisy_chain[] =
static MACHINE_CONFIG_START( jankenmn, jankenmn_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK) /* 2.5 MHz */
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PROGRAM_MAP(jankenmn_map)
MCFG_CPU_IO_MAP(jankenmn_port_map)
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index f8d78018e85..62e3b1eae87 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -196,7 +196,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_CPU_PROGRAM_MAP(kaypro_map)
MCFG_CPU_IO_MAP(kayproii_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", kaypro_state, kay_kbd_interrupt) /* this doesn't actually exist, it is to run the keyboard */
- MCFG_CPU_CONFIG(kayproii_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(kayproii_daisy_chain)
MCFG_MACHINE_START_OVERRIDE(kaypro_state, kayproii )
MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro )
@@ -266,7 +266,7 @@ static MACHINE_CONFIG_START( kaypro2x, kaypro_state )
MCFG_CPU_PROGRAM_MAP(kaypro_map)
MCFG_CPU_IO_MAP(kaypro2x_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", kaypro_state, kay_kbd_interrupt)
- MCFG_CPU_CONFIG(kaypro2x_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(kaypro2x_daisy_chain)
MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro )
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 09afbd06209..ba3fec228c2 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -92,7 +92,7 @@ static MACHINE_CONFIG_START( kc85_3, kc_state )
MCFG_CPU_ADD("maincpu", Z80, KC85_3_CLOCK)
MCFG_CPU_PROGRAM_MAP(kc85_3_mem)
MCFG_CPU_IO_MAP(kc85_3_io)
- MCFG_CPU_CONFIG(kc85_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(kc85_daisy_chain)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_ADD("z80pio", Z80PIO, KC85_3_CLOCK)
@@ -176,7 +176,7 @@ static MACHINE_CONFIG_START( kc85_4, kc85_4_state )
MCFG_CPU_ADD("maincpu", Z80, KC85_4_CLOCK)
MCFG_CPU_PROGRAM_MAP(kc85_4_mem)
MCFG_CPU_IO_MAP(kc85_4_io)
- MCFG_CPU_CONFIG(kc85_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(kc85_daisy_chain)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_ADD("z80pio", Z80PIO, KC85_4_CLOCK)
diff --git a/src/mame/drivers/kenseim.cpp b/src/mame/drivers/kenseim.cpp
index e5ec6e2cd78..320ca23d44f 100644
--- a/src/mame/drivers/kenseim.cpp
+++ b/src/mame/drivers/kenseim.cpp
@@ -475,7 +475,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( kenseim, cps1_12MHz, kenseim_state )
/* basic machine hardware */
MCFG_CPU_ADD("gamecpu", TMPZ84C011, XTAL_16MHz/2) // tmpz84c011-8
- MCFG_CPU_CONFIG(daisy_chain_gamecpu)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_gamecpu)
MCFG_CPU_PROGRAM_MAP(kenseim_map)
MCFG_CPU_IO_MAP(kenseim_io_map)
MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(kenseim_state, cpu_portc_w))
diff --git a/src/mame/drivers/llc.cpp b/src/mame/drivers/llc.cpp
index 183496a535c..a5f300c6fd1 100644
--- a/src/mame/drivers/llc.cpp
+++ b/src/mame/drivers/llc.cpp
@@ -197,7 +197,7 @@ GFXDECODE_END
static MACHINE_CONFIG_START( llc1, llc_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_3MHz)
- MCFG_CPU_CONFIG(llc1_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(llc1_daisy_chain)
MCFG_CPU_PROGRAM_MAP(llc1_mem)
MCFG_CPU_IO_MAP(llc1_io)
@@ -241,7 +241,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( llc2, llc_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_3MHz)
- MCFG_CPU_CONFIG(llc2_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(llc2_daisy_chain)
MCFG_CPU_PROGRAM_MAP(llc2_mem)
MCFG_CPU_IO_MAP(llc2_io)
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 8344b68e9e3..5f2baad000a 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1400,7 +1400,7 @@ static MACHINE_CONFIG_START( m5, m5_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_14_31818MHz/4)
MCFG_CPU_PROGRAM_MAP(m5_mem)
MCFG_CPU_IO_MAP(m5_io)
- MCFG_CPU_CONFIG(m5_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(m5_daisy_chain)
MCFG_CPU_ADD(Z80_FD5_TAG, Z80, XTAL_14_31818MHz/4)
MCFG_CPU_PROGRAM_MAP(fd5_mem)
@@ -1492,7 +1492,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( brno, m5, brno_state )
MCFG_CPU_MODIFY(Z80_TAG)
MCFG_CPU_PROGRAM_MAP(m5_mem_brno)
MCFG_CPU_IO_MAP(brno_io)
-// MCFG_CPU_CONFIG(m5_daisy_chain)
+// MCFG_Z80_DAISY_CHAIN(m5_daisy_chain)
//remove devices used for fd5 floppy
diff --git a/src/mame/drivers/magictg.cpp b/src/mame/drivers/magictg.cpp
index 901c8070390..7a7a20bb33b 100644
--- a/src/mame/drivers/magictg.cpp
+++ b/src/mame/drivers/magictg.cpp
@@ -891,28 +891,14 @@ INPUT_PORTS_END
/*************************************
*
- * CPU configuration
- *
- *************************************/
-
-#if 0
-/* TODO: Unknown */
-static const mips3_config config =
-{
- 16384, /* code cache size */
- 16384 /* data cache size */
-};
-#endif
-
-/*************************************
- *
* Machine driver
*
*************************************/
static MACHINE_CONFIG_START( magictg, magictg_state )
MCFG_CPU_ADD("mips", R5000BE, 150000000) /* TODO: CPU type and clock are unknown */
- MCFG_CPU_CONFIG(config)
+ //MCFG_MIPS3_ICACHE_SIZE(16384) /* TODO: Unknown */
+ //MCFG_MIPS3_DCACHE_SIZE(16384) /* TODO: Unknown */
MCFG_CPU_PROGRAM_MAP(magictg_map)
MCFG_CPU_ADD("adsp", ADSP2181, 16000000)
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index 420aa8340f6..e28d4e63036 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -627,7 +627,7 @@ static MACHINE_CONFIG_START( mbee, mbee_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz / 6) /* 2 MHz */
MCFG_CPU_PROGRAM_MAP(mbee_mem)
MCFG_CPU_IO_MAP(mbee_io)
- MCFG_CPU_CONFIG(mbee_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain)
MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee)
@@ -686,7 +686,7 @@ static MACHINE_CONFIG_START( mbeeic, mbee_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_13_5MHz / 4) /* 3.37500 MHz */
MCFG_CPU_PROGRAM_MAP(mbeeic_mem)
MCFG_CPU_IO_MAP(mbeeic_io)
- MCFG_CPU_CONFIG(mbee_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain)
MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee)
diff --git a/src/mame/drivers/mc80.cpp b/src/mame/drivers/mc80.cpp
index 48a237a56b3..d9eff85385d 100644
--- a/src/mame/drivers/mc80.cpp
+++ b/src/mame/drivers/mc80.cpp
@@ -201,7 +201,7 @@ static MACHINE_CONFIG_START( mc8030, mc80_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_2_4576MHz)
MCFG_CPU_PROGRAM_MAP(mc8030_mem)
MCFG_CPU_IO_MAP(mc8030_io)
- MCFG_CPU_CONFIG(mc8030_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mc8030_daisy_chain)
MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(mc80_state,mc8030_irq_callback)
MCFG_MACHINE_RESET_OVERRIDE(mc80_state,mc8030)
diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp
index e0b42f836d1..056116804f5 100644
--- a/src/mame/drivers/mcr.cpp
+++ b/src/mame/drivers/mcr.cpp
@@ -1757,7 +1757,7 @@ static MACHINE_CONFIG_START( mcr_90009, mcr_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, MAIN_OSC_MCR_I/8)
- MCFG_CPU_CONFIG(mcr_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mcr_daisy_chain)
MCFG_CPU_PROGRAM_MAP(cpu_90009_map)
MCFG_CPU_IO_MAP(cpu_90009_portmap)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mcr_state, mcr_interrupt, "screen", 0, 1)
@@ -1879,7 +1879,7 @@ static MACHINE_CONFIG_DERIVED( mcr_91490_ipu, mcr_91490_snt )
MCFG_MACHINE_START_OVERRIDE(mcr_state,nflfoot)
MCFG_CPU_ADD("ipu", Z80, 7372800/2)
- MCFG_CPU_CONFIG(mcr_ipu_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mcr_ipu_daisy_chain)
MCFG_CPU_PROGRAM_MAP(ipu_91695_map)
MCFG_CPU_IO_MAP(ipu_91695_portmap)
MCFG_TIMER_MODIFY("scantimer")
diff --git a/src/mame/drivers/mcr3.cpp b/src/mame/drivers/mcr3.cpp
index 9b3b15dabb3..5a7d07c6909 100644
--- a/src/mame/drivers/mcr3.cpp
+++ b/src/mame/drivers/mcr3.cpp
@@ -1085,7 +1085,7 @@ static MACHINE_CONFIG_START( mcrmono, mcr3_state )
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(mcrmono_map)
MCFG_CPU_IO_MAP(mcrmono_portmap)
- MCFG_CPU_CONFIG(mcr_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mcr_daisy_chain)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mcr3_state, mcr_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("ctc", Z80CTC, MASTER_CLOCK/4 /* same as "maincpu" */)
diff --git a/src/mame/drivers/meritm.cpp b/src/mame/drivers/meritm.cpp
index 07c93d7b8f5..d1d4ce7c222 100644
--- a/src/mame/drivers/meritm.cpp
+++ b/src/mame/drivers/meritm.cpp
@@ -1087,7 +1087,7 @@ static MACHINE_CONFIG_START( meritm_crt250, meritm_state )
MCFG_CPU_ADD("maincpu", Z80, SYSTEM_CLK/6)
MCFG_CPU_PROGRAM_MAP(meritm_crt250_map)
MCFG_CPU_IO_MAP(meritm_crt250_io_map)
- MCFG_CPU_CONFIG(meritm_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(meritm_daisy_chain)
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_OUT_PORTB_CB(WRITE8(meritm_state, meritm_crt250_port_b_w)) // used LMP x DRIVE
diff --git a/src/mame/drivers/mpf1.cpp b/src/mame/drivers/mpf1.cpp
index 36eecbdc9a6..5f0b9eeb78b 100644
--- a/src/mame/drivers/mpf1.cpp
+++ b/src/mame/drivers/mpf1.cpp
@@ -338,7 +338,7 @@ static MACHINE_CONFIG_START( mpf1, mpf1_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_3_579545MHz/2)
MCFG_CPU_PROGRAM_MAP(mpf1_map)
MCFG_CPU_IO_MAP(mpf1_io_map)
- MCFG_CPU_CONFIG(mpf1_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
/* devices */
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_3_579545MHz/2)
@@ -371,7 +371,7 @@ static MACHINE_CONFIG_START( mpf1b, mpf1_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_3_579545MHz/2)
MCFG_CPU_PROGRAM_MAP(mpf1b_map)
MCFG_CPU_IO_MAP(mpf1b_io_map)
- MCFG_CPU_CONFIG(mpf1_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
/* devices */
MCFG_DEVICE_ADD(Z80PIO_TAG, Z80PIO, XTAL_3_579545MHz/2)
@@ -407,7 +407,7 @@ static MACHINE_CONFIG_START( mpf1p, mpf1_state )
MCFG_CPU_ADD(Z80_TAG, Z80, 2500000)
MCFG_CPU_PROGRAM_MAP(mpf1p_map)
MCFG_CPU_IO_MAP(mpf1p_io_map)
- MCFG_CPU_CONFIG(mpf1_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mpf1p)
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index 64ffb944e70..a2d69798559 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -287,7 +287,7 @@ static MACHINE_CONFIG_START( mtx512, mtx_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(mtx_mem)
MCFG_CPU_IO_MAP(mtx_io)
- MCFG_CPU_CONFIG(mtx_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(mtx_daisy_chain)
MCFG_MACHINE_START_OVERRIDE(mtx_state,mtx512)
MCFG_MACHINE_RESET_OVERRIDE(mtx_state,mtx512)
@@ -356,7 +356,7 @@ static MACHINE_CONFIG_DERIVED( rs128, mtx512 )
/* basic machine hardware */
MCFG_CPU_MODIFY(Z80_TAG)
MCFG_CPU_IO_MAP(rs128_io)
- MCFG_CPU_CONFIG(rs128_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(rs128_daisy_chain)
/* devices */
MCFG_Z80DART_ADD(Z80DART_TAG, XTAL_4MHz, 0, 0, 0, 0 )
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp
index e3cefcdf6d6..f397d7a35b2 100644
--- a/src/mame/drivers/n64.cpp
+++ b/src/mame/drivers/n64.cpp
@@ -242,16 +242,6 @@ static INPUT_PORTS_START( n64 )
INPUT_PORTS_END
-#if 0
-/* ?? */
-static const mips3_config config =
-{
- 16384, /* code cache size */
- 8192, /* data cache size */
- 62500000 /* system clock */
-};
-#endif
-
void n64_mess_state::mempak_format(UINT8* pak)
{
unsigned char pak_header[] =
@@ -419,7 +409,9 @@ static MACHINE_CONFIG_START( n64, n64_mess_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", VR4300BE, 93750000)
MCFG_CPU_FORCE_NO_DRC()
- MCFG_CPU_CONFIG(config)
+ //MCFG_MIPS3_ICACHE_SIZE(16384) /* ?? */
+ //MCFG_MIPS3_DCACHE_SIZE(8192) /* ?? */
+ //MCFG_MIPS3_SYSTEM_CLOCK(62500000) /* ?? */
MCFG_CPU_PROGRAM_MAP(n64_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", n64_mess_state, n64_reset_poll)
diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp
index e83f3074979..02d5471a472 100644
--- a/src/mame/drivers/nanos.cpp
+++ b/src/mame/drivers/nanos.cpp
@@ -473,7 +473,7 @@ static MACHINE_CONFIG_START( nanos, nanos_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(nanos_mem)
MCFG_CPU_IO_MAP(nanos_io)
- MCFG_CPU_CONFIG(nanos_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(nanos_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index c670df4dbf0..a9f97f5ec8e 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -2710,13 +2710,13 @@ static MACHINE_CONFIG_START( NBMJDRV1_base, nbmj9195_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMPZ84C011, 12000000/2) /* TMPZ84C011, 6.00 MHz */
- MCFG_CPU_CONFIG(daisy_chain_main)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_main)
MCFG_CPU_PROGRAM_MAP(sailorws_map)
MCFG_CPU_IO_MAP(sailorws_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj9195_state, ctc0_trg1) /* vblank is connect to ctc trigger */
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */
- MCFG_CPU_CONFIG(daisy_chain_sound)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_sound)
MCFG_CPU_PROGRAM_MAP(sailorws_sound_map)
MCFG_CPU_IO_MAP(sailorws_sound_io_map)
MCFG_TMPZ84C011_ZC0_CB(DEVWRITELINE("audiocpu", tmpz84c011_device, trg3))
diff --git a/src/mame/drivers/niyanpai.cpp b/src/mame/drivers/niyanpai.cpp
index 87dfcc07f85..d96baa66ced 100644
--- a/src/mame/drivers/niyanpai.cpp
+++ b/src/mame/drivers/niyanpai.cpp
@@ -740,7 +740,7 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
MCFG_TMP68301_OUT_PARALLEL_CB(WRITE16(niyanpai_state, tmp68301_parallel_port_w))
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */
- MCFG_CPU_CONFIG(daisy_chain_sound)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_sound)
MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map)
MCFG_CPU_IO_MAP(niyanpai_sound_io_map)
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, soundlatch_byte_r))
diff --git a/src/mame/drivers/onyx.cpp b/src/mame/drivers/onyx.cpp
index 85d02013975..b9b66872201 100644
--- a/src/mame/drivers/onyx.cpp
+++ b/src/mame/drivers/onyx.cpp
@@ -114,13 +114,13 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_START( c8002, onyx_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z8002, XTAL_4MHz )
- //MCFG_CPU_CONFIG(main_daisy_chain)
+ //MCFG_Z80_DAISY_CHAIN(main_daisy_chain)
MCFG_CPU_PROGRAM_MAP(c8002_mem)
//MCFG_CPU_DATA_MAP(c8002_data)
MCFG_CPU_IO_MAP(c8002_io)
MCFG_CPU_ADD("subcpu", Z80, XTAL_4MHz )
- //MCFG_CPU_CONFIG(sub_daisy_chain)
+ //MCFG_Z80_DAISY_CHAIN(sub_daisy_chain)
MCFG_CPU_PROGRAM_MAP(submem)
MCFG_CPU_IO_MAP(subio)
MCFG_MACHINE_RESET_OVERRIDE(onyx_state, c8002)
diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp
index 226b4519128..e9542df1ff9 100644
--- a/src/mame/drivers/osbexec.cpp
+++ b/src/mame/drivers/osbexec.cpp
@@ -528,7 +528,7 @@ static MACHINE_CONFIG_START( osbexec, osbexec_state )
MCFG_CPU_ADD( "maincpu", Z80, MAIN_CLOCK/6 )
MCFG_CPU_PROGRAM_MAP( osbexec_mem)
MCFG_CPU_IO_MAP( osbexec_io)
- MCFG_CPU_CONFIG( osbexec_daisy_config )
+ MCFG_Z80_DAISY_CHAIN( osbexec_daisy_config )
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green)
MCFG_SCREEN_UPDATE_DRIVER(osbexec_state, screen_update)
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp
index 8a6ed441127..5ceaa9c698f 100644
--- a/src/mame/drivers/p8k.cpp
+++ b/src/mame/drivers/p8k.cpp
@@ -466,7 +466,7 @@ GFXDECODE_END
static MACHINE_CONFIG_START( p8k, p8k_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80, XTAL_4MHz )
- MCFG_CPU_CONFIG(p8k_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(p8k_daisy_chain)
MCFG_CPU_PROGRAM_MAP(p8k_memmap)
MCFG_CPU_IO_MAP(p8k_iomap)
MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k)
@@ -526,7 +526,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( p8k_16, p8k_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z8001, XTAL_4MHz )
- MCFG_CPU_CONFIG(p8k_16_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(p8k_16_daisy_chain)
MCFG_CPU_PROGRAM_MAP(p8k_16_memmap)
MCFG_CPU_DATA_MAP(p8k_16_datamap)
MCFG_CPU_IO_MAP(p8k_16_iomap)
diff --git a/src/mame/drivers/pachifev.cpp b/src/mame/drivers/pachifev.cpp
index 03d945b1943..e675c180eac 100644
--- a/src/mame/drivers/pachifev.cpp
+++ b/src/mame/drivers/pachifev.cpp
@@ -278,12 +278,6 @@ WRITE_LINE_MEMBER(pachifev_state::pf_adpcm_int)
}
}
-static const msm5205_interface msm5205_config =
-{
- DEVCB_DRIVER_LINE_MEMBER(pachifev_state,pf_adpcm_int), /* interrupt function */
- MSM5205_S48_4B /* 8kHz */
-};
-
#endif
void pachifev_state::machine_reset()
@@ -360,7 +354,8 @@ static MACHINE_CONFIG_START( pachifev, pachifev_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
#if USE_MSM
MCFG_SOUND_ADD("adpcm", MSM5205, XTAL_384kHz) /* guess */
- MCFG_SOUND_CONFIG(msm5205_config)
+ MCFG_MSM5205_VCLK_CB(WRITELINE(pachifev_state,pf_adpcm_int)) /* interrupt function */
+ MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S48_4B) /* 8kHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
#endif
MCFG_SOUND_ADD("y2404_1", Y2404, XTAL_10_738635MHz/3) /* guess */
diff --git a/src/mame/drivers/pasopia.cpp b/src/mame/drivers/pasopia.cpp
index aa65d9979b9..f76d73402ad 100644
--- a/src/mame/drivers/pasopia.cpp
+++ b/src/mame/drivers/pasopia.cpp
@@ -291,7 +291,7 @@ static MACHINE_CONFIG_START( pasopia, pasopia_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(pasopia_map)
MCFG_CPU_IO_MAP(pasopia_io)
- MCFG_CPU_CONFIG(pasopia_daisy)
+ MCFG_Z80_DAISY_CHAIN(pasopia_daisy)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index 2a9ec18114d..68e16212e61 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -913,7 +913,7 @@ static MACHINE_CONFIG_START( p7_base, pasopia7_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(pasopia7_mem)
MCFG_CPU_IO_MAP(pasopia7_io)
- MCFG_CPU_CONFIG(p7_daisy)
+ MCFG_Z80_DAISY_CHAIN(p7_daisy)
/* Audio */
diff --git a/src/mame/drivers/pcm.cpp b/src/mame/drivers/pcm.cpp
index e11ff7b8da4..6a0a817c0c5 100644
--- a/src/mame/drivers/pcm.cpp
+++ b/src/mame/drivers/pcm.cpp
@@ -255,7 +255,7 @@ static MACHINE_CONFIG_START( pcm, pcm_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_10MHz /4)
MCFG_CPU_PROGRAM_MAP(pcm_mem)
MCFG_CPU_IO_MAP(pcm_io)
- MCFG_CPU_CONFIG(pcm_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(pcm_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pdp1.cpp b/src/mame/drivers/pdp1.cpp
index 0c74eae9f55..0425841abc1 100644
--- a/src/mame/drivers/pdp1.cpp
+++ b/src/mame/drivers/pdp1.cpp
@@ -1931,7 +1931,7 @@ static MACHINE_CONFIG_START( pdp1, pdp1_state )
/* basic machine hardware */
/* PDP1 CPU @ 200 kHz (no master clock, but the instruction and memory rate is 200 kHz) */
MCFG_CPU_ADD("maincpu", PDP1, 1000000/*the CPU core uses microsecond counts*/)
- MCFG_CPU_CONFIG(pdp1_reset_param)
+ MCFG_PDP1_RESET_PARAM(pdp1_reset_param)
MCFG_CPU_PROGRAM_MAP(pdp1_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pdp1_state, pdp1_interrupt) /* dummy interrupt: handles input */
diff --git a/src/mame/drivers/pipeline.cpp b/src/mame/drivers/pipeline.cpp
index 0757fd1ae32..a322f66dbfb 100644
--- a/src/mame/drivers/pipeline.cpp
+++ b/src/mame/drivers/pipeline.cpp
@@ -369,7 +369,7 @@ static MACHINE_CONFIG_START( pipeline, pipeline_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", pipeline_state, nmi_line_pulse)
MCFG_CPU_ADD("audiocpu", Z80, 7372800/2)
- MCFG_CPU_CONFIG(daisy_chain_sound)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_sound)
MCFG_CPU_PROGRAM_MAP(cpu1_mem)
MCFG_CPU_IO_MAP(sound_port)
diff --git a/src/mame/drivers/proconn.cpp b/src/mame/drivers/proconn.cpp
index 9c7a5cd75ef..dbff3d2d993 100644
--- a/src/mame/drivers/proconn.cpp
+++ b/src/mame/drivers/proconn.cpp
@@ -316,7 +316,7 @@ void proconn_state::machine_reset()
static MACHINE_CONFIG_START( proconn, proconn_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000) /* ?? Mhz */
- MCFG_CPU_CONFIG(z80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(z80_daisy_chain)
MCFG_CPU_PROGRAM_MAP(proconn_map)
MCFG_CPU_IO_MAP(proconn_portmap)
MCFG_S16LF01_ADD("vfd",0)
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp
index eda3535ee2d..9cad86a4f56 100644
--- a/src/mame/drivers/pulsar.cpp
+++ b/src/mame/drivers/pulsar.cpp
@@ -220,7 +220,7 @@ static MACHINE_CONFIG_START( pulsar, pulsar_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(pulsar_mem)
MCFG_CPU_IO_MAP(pulsar_io)
- MCFG_CPU_CONFIG(daisy_chain_intf)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
MCFG_MACHINE_RESET_OVERRIDE(pulsar_state, pulsar)
/* Devices */
diff --git a/src/mame/drivers/pve500.cpp b/src/mame/drivers/pve500.cpp
index e94e548d92f..7c87ca636d0 100644
--- a/src/mame/drivers/pve500.cpp
+++ b/src/mame/drivers/pve500.cpp
@@ -351,7 +351,7 @@ static MACHINE_CONFIG_START( pve500, pve500_state )
MCFG_CPU_ADD("maincpu", TMPZ84C015, XTAL_12MHz / 2) /* TMPZ84C015BF-6 */
MCFG_CPU_PROGRAM_MAP(maincpu_prg)
MCFG_CPU_IO_MAP(maincpu_io)
- MCFG_CPU_CONFIG(maincpu_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(maincpu_daisy_chain)
MCFG_TMPZ84C015_OUT_DTRA_CB(WRITELINE(pve500_state, GPI_w))
MCFG_TMPZ84C015_OUT_DTRB_CB(DEVWRITELINE("buzzer", beep_device, set_state))
MCFG_TMPZ84C015_OUT_TXDA_CB(DEVWRITELINE("recorder", rs232_port_device, write_txd))
diff --git a/src/mame/drivers/rt1715.cpp b/src/mame/drivers/rt1715.cpp
index 4e8e259192a..680487f7344 100644
--- a/src/mame/drivers/rt1715.cpp
+++ b/src/mame/drivers/rt1715.cpp
@@ -270,7 +270,7 @@ static MACHINE_CONFIG_START( rt1715, rt1715_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_2_4576MHz)
MCFG_CPU_PROGRAM_MAP(rt1715_mem)
MCFG_CPU_IO_MAP(rt1715_io)
- MCFG_CPU_CONFIG(rt1715_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(rt1715_daisy_chain)
/* keyboard */
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index 4ccb8036ab1..3ee41df62bb 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -553,7 +553,7 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, irq0_line_assert)
MCFG_CPU_ADD("sub", Z80, 2000000) /* 2 MHz? */
- MCFG_CPU_CONFIG(senjyo_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(senjyo_daisy_chain)
MCFG_CPU_PROGRAM_MAP(senjyo_sound_map)
MCFG_CPU_IO_MAP(senjyo_sound_io_map)
diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp
index 838db3e3b20..34958f31edb 100644
--- a/src/mame/drivers/super6.cpp
+++ b/src/mame/drivers/super6.cpp
@@ -490,7 +490,7 @@ static MACHINE_CONFIG_START( super6, super6_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_24MHz/4)
MCFG_CPU_PROGRAM_MAP(super6_mem)
MCFG_CPU_IO_MAP(super6_io)
- MCFG_CPU_CONFIG(super6_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(super6_daisy_chain)
// devices
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_24MHz/4)
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index b3823f3ef28..1d8e9bbcbfb 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -693,7 +693,7 @@ static MACHINE_CONFIG_START( super80, super80_state )
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 2 MHz */
MCFG_CPU_PROGRAM_MAP(super80_map)
MCFG_CPU_IO_MAP(super80_io)
- MCFG_CPU_CONFIG(super80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(super80_daisy_chain)
MCFG_DEVICE_ADD("z80pio", Z80PIO, MASTER_CLOCK/6)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@@ -773,7 +773,7 @@ static MACHINE_CONFIG_START( super80v, super80_state )
MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 2 MHz */
MCFG_CPU_PROGRAM_MAP(super80v_map)
MCFG_CPU_IO_MAP(super80v_io)
- MCFG_CPU_CONFIG(super80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(super80_daisy_chain)
MCFG_DEVICE_ADD("z80pio", Z80PIO, MASTER_CLOCK/6)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp
index 11e4de4b815..e5b224bdefa 100644
--- a/src/mame/drivers/superslave.cpp
+++ b/src/mame/drivers/superslave.cpp
@@ -329,7 +329,7 @@ static MACHINE_CONFIG_START( superslave, superslave_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(superslave_mem)
MCFG_CPU_IO_MAP(superslave_io)
- MCFG_CPU_CONFIG(superslave_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(superslave_daisy_chain)
// devices
MCFG_PIC8259_ADD(AM9519_TAG, INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0), VCC, NULL)
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index 24938323908..4bb631ff92a 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -663,16 +663,16 @@ static MACHINE_CONFIG_START( to7, thomson_state )
MCFG_FLOPPY_DRIVE_ADD("wd2793:1", cd90_640_floppies, "dd", thomson_state::cd90_640_formats)
MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_CONFIG(thomson_floppy_interface)
MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_0_w))
MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_CONFIG(thomson_floppy_interface)
MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_1_w))
MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_CONFIG(thomson_floppy_interface)
MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_2_w))
MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_CONFIG(thomson_floppy_interface)
MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_3_w))
/* network */
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp
index a7487cce617..a25dc17ccbd 100644
--- a/src/mame/drivers/tiki100.cpp
+++ b/src/mame/drivers/tiki100.cpp
@@ -706,7 +706,7 @@ static MACHINE_CONFIG_START( tiki100, tiki100_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(tiki100_mem)
MCFG_CPU_IO_MAP(tiki100_io)
- MCFG_CPU_CONFIG(tiki100_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(tiki100_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index e642a894edd..f20409e0a2e 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -701,7 +701,7 @@ void trs80m2_state::machine_reset()
static MACHINE_CONFIG_START( trs80m2, trs80m2_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
- MCFG_CPU_CONFIG(trs80m2_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(trs80m2_daisy_chain)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
@@ -786,7 +786,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( trs80m16, trs80m16_state )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
- MCFG_CPU_CONFIG(trs80m2_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(trs80m2_daisy_chain)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(m16_z80_io)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(AM9519A_TAG, pic8259_device, inta_cb)
diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp
index 19680c956cb..d60c5005576 100644
--- a/src/mame/drivers/ts802.cpp
+++ b/src/mame/drivers/ts802.cpp
@@ -187,7 +187,7 @@ static MACHINE_CONFIG_START( ts802, ts802_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz / 4)
MCFG_CPU_PROGRAM_MAP(ts802_mem)
MCFG_CPU_IO_MAP(ts802_io)
- //MCFG_CPU_CONFIG(daisy_chain_intf) // causes problems
+ //MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) // causes problems
MCFG_MACHINE_RESET_OVERRIDE(ts802_state, ts802)
/* Devices */
diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp
index c18f41cfda2..8885ecce299 100644
--- a/src/mame/drivers/ts803.cpp
+++ b/src/mame/drivers/ts803.cpp
@@ -493,7 +493,7 @@ static MACHINE_CONFIG_START( ts803, ts803_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/4)
MCFG_CPU_PROGRAM_MAP(ts803_mem)
MCFG_CPU_IO_MAP(ts803_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green)
diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp
index b8131c8c5cb..0a798a8af57 100644
--- a/src/mame/drivers/univac.cpp
+++ b/src/mame/drivers/univac.cpp
@@ -170,7 +170,7 @@ static MACHINE_CONFIG_START( uts20, univac_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) // unknown clock
MCFG_CPU_PROGRAM_MAP(uts20_mem)
MCFG_CPU_IO_MAP(uts20_io)
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green)
diff --git a/src/mame/drivers/vcs80.cpp b/src/mame/drivers/vcs80.cpp
index 1e4540d4643..9ab71cf8c49 100644
--- a/src/mame/drivers/vcs80.cpp
+++ b/src/mame/drivers/vcs80.cpp
@@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( vcs80, vcs80_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_5MHz/2) /* U880D */
MCFG_CPU_PROGRAM_MAP(vcs80_mem)
MCFG_CPU_IO_MAP(vcs80_io)
- MCFG_CPU_CONFIG(vcs80_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(vcs80_daisy_chain)
/* keyboard timer */
MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", vcs80_state, vcs80_keyboard_tick, attotime::from_hz(1000))
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index 21bd91f6253..53c11e9319c 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -2461,7 +2461,7 @@ static MACHINE_CONFIG_START( x1, x1_state )
MCFG_CPU_ADD("x1_cpu", Z80, MAIN_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(x1_mem)
MCFG_CPU_IO_MAP(x1_io)
- MCFG_CPU_CONFIG(x1_daisy)
+ MCFG_Z80_DAISY_CHAIN(x1_daisy)
MCFG_DEVICE_ADD("ctc", Z80CTC, MAIN_CLOCK/4)
MCFG_Z80CTC_INTR_CB(INPUTLINE("x1_cpu", INPUT_LINE_IRQ0))
@@ -2543,7 +2543,7 @@ static MACHINE_CONFIG_DERIVED( x1turbo, x1 )
MCFG_CPU_MODIFY("x1_cpu")
MCFG_CPU_PROGRAM_MAP(x1turbo_mem)
MCFG_CPU_IO_MAP(x1turbo_io)
- MCFG_CPU_CONFIG(x1turbo_daisy)
+ MCFG_Z80_DAISY_CHAIN(x1turbo_daisy)
MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1turbo)
MCFG_Z80SIO0_ADD("sio", MAIN_CLOCK/4 , 0, 0, 0, 0)
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp
index 41783de4e28..c5d431da65a 100644
--- a/src/mame/drivers/x1twin.cpp
+++ b/src/mame/drivers/x1twin.cpp
@@ -403,7 +403,7 @@ static MACHINE_CONFIG_START( x1twin, x1twin_state )
MCFG_CPU_ADD("x1_cpu", Z80, X1_MAIN_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(x1_mem)
MCFG_CPU_IO_MAP(x1_io)
- MCFG_CPU_CONFIG(x1_daisy)
+ MCFG_Z80_DAISY_CHAIN(x1_daisy)
MCFG_DEVICE_ADD("ctc", Z80CTC, MAIN_CLOCK/4)
MCFG_Z80CTC_INTR_CB(INPUTLINE("x1_cpu", INPUT_LINE_IRQ0))
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 0e49169dd2d..744d57a57b4 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -544,7 +544,7 @@ static MACHINE_CONFIG_START( xerox820, xerox820_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_20MHz/8)
MCFG_CPU_PROGRAM_MAP(xerox820_mem)
MCFG_CPU_IO_MAP(xerox820_io)
- MCFG_CPU_CONFIG(xerox820_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(xerox820_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
@@ -618,7 +618,7 @@ static MACHINE_CONFIG_START( xerox820ii, xerox820ii_state )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
MCFG_CPU_PROGRAM_MAP(xerox820ii_mem)
MCFG_CPU_IO_MAP(xerox820ii_io)
- MCFG_CPU_CONFIG(xerox820_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(xerox820_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
diff --git a/src/mame/drivers/z9001.cpp b/src/mame/drivers/z9001.cpp
index 9cfb24ceb73..939d2bc8cf7 100644
--- a/src/mame/drivers/z9001.cpp
+++ b/src/mame/drivers/z9001.cpp
@@ -205,7 +205,7 @@ static MACHINE_CONFIG_START( z9001, z9001_state )
MCFG_CPU_ADD("maincpu",Z80, XTAL_9_8304MHz / 4)
MCFG_CPU_PROGRAM_MAP(z9001_mem)
MCFG_CPU_IO_MAP(z9001_io)
- MCFG_CPU_CONFIG(z9001_daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(z9001_daisy_chain)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/machine/appldriv.h b/src/mame/machine/appldriv.h
index 4ab7ea18479..f01c7b68217 100644
--- a/src/mame/machine/appldriv.h
+++ b/src/mame/machine/appldriv.h
@@ -61,24 +61,24 @@ extern const device_type FLOPPY_APPLE;
#define MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(_config,_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_0, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_1, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor)
#define MCFG_LEGACY_FLOPPY_APPLE_4_DRIVES_ADD(_config,_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_0, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_1, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_2, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor) \
MCFG_DEVICE_ADD(FLOPPY_3, FLOPPY_APPLE, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_LEGACY_FLOPPY_APPLE_PARAMS(_dividend,_divisor)
#define MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_REMOVE() \
diff --git a/src/mame/machine/applefdc.cpp b/src/mame/machine/applefdc.cpp
index 014546b0f85..06bf5cba948 100644
--- a/src/mame/machine/applefdc.cpp
+++ b/src/mame/machine/applefdc.cpp
@@ -106,9 +106,10 @@ enum
//-------------------------------------------------
applefdc_base_device::applefdc_base_device(applefdc_base_device::applefdc_t fdc_type, const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
- : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
+ m_type(fdc_type),
+ m_interface(nullptr)
{
- m_type = fdc_type;
}
@@ -176,9 +177,7 @@ const applefdc_interface *applefdc_base_device::get_interface()
{
static const applefdc_interface dummy_interface = {nullptr, };
- return (static_config() != nullptr)
- ? (const applefdc_interface *) static_config()
- : &dummy_interface;
+ return (m_interface != nullptr) ? m_interface : &dummy_interface;
}
diff --git a/src/mame/machine/applefdc.h b/src/mame/machine/applefdc.h
index 6e02ddc87b2..7a105b777a1 100644
--- a/src/mame/machine/applefdc.h
+++ b/src/mame/machine/applefdc.h
@@ -59,6 +59,9 @@ struct applefdc_interface
class applefdc_base_device : public device_t
{
public:
+ // configuration helpers
+ static void static_set_config(device_t &device, const applefdc_interface *intrf) { downcast<applefdc_base_device &>(device).m_interface = intrf; }
+
// read/write handlers
virtual UINT8 read(UINT8 offset);
virtual void write(UINT8 offset, UINT8 data);
@@ -95,6 +98,7 @@ private:
// data that is constant for the lifetime of the emulation
emu_timer * m_motor_timer;
applefdc_t m_type;
+ const applefdc_interface *m_interface;
// data that changes at emulation time
UINT8 m_write_byte;
@@ -143,21 +147,24 @@ public:
DEVICE CONFIGURATION MACROS
***************************************************************************/
+#define MCFG_APPLEFDC_CONFIG(_intrf) \
+ applefdc_base_device::static_set_config(*device, &(_intrf));
+
#define MCFG_APPLEFDC_ADD(_tag, _intrf) \
MCFG_DEVICE_ADD(_tag, APPLEFDC, 0) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#define MCFG_APPLEFDC_MODIFY(_tag, _intrf) \
MCFG_DEVICE_MODIFY(_tag) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#define MCFG_IWM_ADD(_tag, _intrf) \
MCFG_DEVICE_ADD(_tag, IWM, 0) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#define MCFG_IWM_MODIFY(_tag, _intrf) \
MCFG_DEVICE_MODIFY(_tag) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#endif /* __APPLEFDC_H__ */
diff --git a/src/mame/machine/inder_sb.cpp b/src/mame/machine/inder_sb.cpp
index bad2b30d279..bd5cbd170a1 100644
--- a/src/mame/machine/inder_sb.cpp
+++ b/src/mame/machine/inder_sb.cpp
@@ -259,7 +259,7 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_FRAGMENT( inder_sb )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) // unk freq
- MCFG_CPU_CONFIG(daisy_chain)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io)
diff --git a/src/mame/machine/sonydriv.h b/src/mame/machine/sonydriv.h
index 5e5d20c2f3d..4a48ceb9f9d 100644
--- a/src/mame/machine/sonydriv.h
+++ b/src/mame/machine/sonydriv.h
@@ -50,21 +50,21 @@ extern const device_type FLOPPY_SONY;
#define MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADD(_config) \
MCFG_DEVICE_ADD(FLOPPY_0, FLOPPY_SONY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_1, FLOPPY_SONY, 0) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
#define MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_ADDITIONAL_ADD(_config) \
MCFG_DEVICE_ADD(FLOPPY_2, FLOPPY_SONY, 0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_ADD(FLOPPY_3, FLOPPY_SONY, 0) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
#define MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_MODIFY(_config) \
MCFG_DEVICE_MODIFY(FLOPPY_0) \
- MCFG_DEVICE_CONFIG(_config) \
+ MCFG_LEGACY_FLOPPY_CONFIG(_config) \
MCFG_DEVICE_MODIFY(FLOPPY_1) \
- MCFG_DEVICE_CONFIG(_config)
+ MCFG_LEGACY_FLOPPY_CONFIG(_config)
diff --git a/src/mame/machine/swim.h b/src/mame/machine/swim.h
index 438ee9e4933..f628f13dc2f 100644
--- a/src/mame/machine/swim.h
+++ b/src/mame/machine/swim.h
@@ -54,10 +54,10 @@ private:
#define MCFG_SWIM_ADD(_tag, _intrf) \
MCFG_DEVICE_ADD(_tag, SWIM, 0) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#define MCFG_SWIM_MODIFY(_tag, _intrf) \
MCFG_DEVICE_MODIFY(_tag) \
- MCFG_DEVICE_CONFIG(_intrf)
+ MCFG_APPLEFDC_CONFIG(_intrf)
#endif // __SWIM_H__