From 4f6c56b47f94431064c436014eafc12721626ccc Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Thu, 30 Aug 2018 20:15:32 +0200 Subject: z80daisy_generic, z80dart, z80dma: removed MCFG macros (nw) z80_daisy: first part of MCFG macro removal (nw) --- src/devices/bus/abcbus/lux21046.cpp | 18 ++-- src/devices/bus/abcbus/sio.cpp | 9 +- src/devices/bus/cpc/cpc_rs232.cpp | 18 ++-- src/devices/bus/epson_sio/tf20.cpp | 8 +- src/devices/bus/wangpc/rtc.cpp | 6 +- src/devices/cpu/z80/tmpz84c011.h | 74 +++------------ src/devices/cpu/z80/tmpz84c015.cpp | 44 ++++----- src/devices/cpu/z80/z80.h | 3 + src/devices/machine/z80daisy_generic.h | 14 +-- src/devices/machine/z80dart.h | 68 ------------- src/devices/machine/z80dma.h | 33 ------- src/mame/audio/cinemat.cpp | 8 +- src/mame/audio/efo_zsu.cpp | 8 +- src/mame/audio/nichisnd.cpp | 20 ++-- src/mame/drivers/a5105.cpp | 10 +- src/mame/drivers/a7150.cpp | 8 +- src/mame/drivers/abc80.cpp | 8 +- src/mame/drivers/abc80x.cpp | 26 +++-- src/mame/drivers/altos2.cpp | 10 +- src/mame/drivers/altos5.cpp | 10 +- src/mame/drivers/ampro.cpp | 11 ++- src/mame/drivers/astrocde.cpp | 9 +- src/mame/drivers/att4425.cpp | 8 +- src/mame/drivers/attache.cpp | 18 ++-- src/mame/drivers/aussiebyte.cpp | 8 +- src/mame/drivers/avt.cpp | 12 +-- src/mame/drivers/babbage.cpp | 11 ++- src/mame/drivers/bbcbc.cpp | 10 +- src/mame/drivers/bcs3.cpp | 18 ++-- src/mame/drivers/bigbord2.cpp | 14 +-- src/mame/drivers/binbug.cpp | 10 +- src/mame/drivers/br8641.cpp | 10 +- src/mame/drivers/bullet.cpp | 88 ++++++++--------- src/mame/drivers/c80.cpp | 8 +- src/mame/drivers/cchasm.cpp | 9 +- src/mame/drivers/ccs300.cpp | 10 +- src/mame/drivers/compis.cpp | 30 +++--- src/mame/drivers/cpzodiac.cpp | 10 +- src/mame/drivers/czk80.cpp | 21 +++-- src/mame/drivers/dlair.cpp | 10 +- src/mame/drivers/dmax8000.cpp | 10 +- src/mame/drivers/dsb46.cpp | 10 +- src/mame/drivers/einstein.cpp | 24 ++--- src/mame/drivers/excali64.cpp | 14 +-- src/mame/drivers/gp_1.cpp | 10 +- src/mame/drivers/gp_2.cpp | 10 +- src/mame/drivers/hazelgr.cpp | 10 +- src/mame/drivers/huebler.cpp | 14 +-- src/mame/drivers/isbc.cpp | 16 ++-- src/mame/drivers/jankenmn.cpp | 10 +- src/mame/drivers/joctronic.cpp | 26 ++--- src/mame/drivers/kaypro.cpp | 16 ++-- src/mame/drivers/kdt6.cpp | 8 +- src/mame/drivers/kenseim.cpp | 24 ++--- src/mame/drivers/llc.cpp | 16 ++-- src/mame/drivers/m5.cpp | 15 ++- src/mame/drivers/mbee.cpp | 16 ++-- src/mame/drivers/mcr.cpp | 30 +++--- src/mame/drivers/mcr3.cpp | 14 +-- src/mame/drivers/meritm.cpp | 26 ++--- src/mame/drivers/mmm.cpp | 10 +- src/mame/drivers/mpf1.cpp | 30 +++--- src/mame/drivers/mtx.cpp | 18 ++-- src/mame/drivers/nanos.cpp | 10 +- src/mame/drivers/nbmj9195.cpp | 168 +++++++++++++-------------------- src/mame/drivers/nichild.cpp | 24 ++--- src/mame/drivers/osbexec.cpp | 10 +- src/mame/drivers/p8k.cpp | 29 +++--- src/mame/drivers/pasopia.cpp | 11 ++- src/mame/drivers/pasopia7.cpp | 11 +-- src/mame/drivers/pbaction.cpp | 14 ++- src/mame/drivers/pcm.cpp | 10 +- src/mame/drivers/pipeline.cpp | 8 +- src/mame/drivers/polyplay.cpp | 23 +++-- src/mame/drivers/proconn.cpp | 11 ++- src/mame/drivers/pulsar.cpp | 21 +++-- src/mame/drivers/pve500.cpp | 8 +- src/mame/drivers/qvt103.cpp | 10 +- src/mame/drivers/rc702.cpp | 10 +- src/mame/drivers/rt1715.cpp | 11 +-- src/mame/drivers/senjyo.cpp | 8 +- src/mame/drivers/stargame.cpp | 10 +- src/mame/drivers/super6.cpp | 8 +- src/mame/drivers/super80.cpp | 18 ++-- src/mame/drivers/superslave.cpp | 10 +- src/mame/drivers/tiki100.cpp | 30 +++--- src/mame/drivers/trs80m2.cpp | 58 ++++++------ src/mame/drivers/ts802.cpp | 33 +++---- src/mame/drivers/ts803.cpp | 16 ++-- src/mame/drivers/ts816.cpp | 16 ++-- src/mame/drivers/univac.cpp | 10 +- src/mame/drivers/vcs80.cpp | 8 +- src/mame/drivers/x1.cpp | 15 +-- src/mame/drivers/x1twin.cpp | 8 +- src/mame/drivers/xerox820.cpp | 40 ++++---- src/mame/drivers/z9001.cpp | 10 +- src/mame/drivers/zorba.cpp | 14 +-- src/mame/includes/abc80.h | 2 +- src/mame/includes/abc80x.h | 2 +- src/mame/includes/astrocde.h | 5 +- src/mame/includes/aussiebyte.h | 2 +- src/mame/includes/c80.h | 2 +- src/mame/includes/cchasm.h | 3 +- src/mame/includes/huebler.h | 7 +- src/mame/includes/kaypro.h | 2 +- src/mame/includes/llc.h | 2 +- src/mame/includes/m5.h | 3 +- src/mame/includes/mbee.h | 2 +- src/mame/includes/mcr.h | 2 +- src/mame/includes/mpf1.h | 2 +- src/mame/includes/mtx.h | 3 +- src/mame/includes/pbaction.h | 3 +- src/mame/includes/polyplay.h | 3 +- src/mame/includes/super6.h | 2 +- src/mame/includes/super80.h | 2 +- src/mame/includes/tiki100.h | 2 +- src/mame/includes/trs80m2.h | 2 +- src/mame/includes/vcs80.h | 2 +- src/mame/includes/x1.h | 4 +- src/mame/machine/acs8600_ics.cpp | 9 +- src/mame/machine/acs8600_ics.h | 3 +- src/mame/machine/inder_sb.cpp | 8 +- src/mame/machine/inder_sb.h | 2 +- 123 files changed, 853 insertions(+), 1034 deletions(-) diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp index 3b20f164cdf..984193f5e66 100644 --- a/src/devices/bus/abcbus/lux21046.cpp +++ b/src/devices/bus/abcbus/lux21046.cpp @@ -161,7 +161,7 @@ void luxor_55_21046_device::luxor_55_21046_io(address_map &map) map(0x58, 0x58).mirror(0x0007).select(0xff00).r(FUNC(luxor_55_21046_device::_9a_r)); map(0x68, 0x6b).mirror(0xff00).r(SAB1793_TAG, FUNC(fd1793_device::read)); map(0x78, 0x7b).mirror(0xff00).w(SAB1793_TAG, FUNC(fd1793_device::write)); - map(0x80, 0x80).mirror(0xff77).rw(Z80DMA_TAG, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w)); + map(0x80, 0x80).mirror(0xff77).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w)); } @@ -296,17 +296,17 @@ MACHINE_CONFIG_START(luxor_55_21046_device::device_add_mconfig) MCFG_DEVICE_PROGRAM_MAP(luxor_55_21046_mem) MCFG_DEVICE_IO_MAP(luxor_55_21046_io) - MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, 16_MHz_XTAL / 4) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(WRITELINE(*this, luxor_55_21046_device, dma_int_w)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, luxor_55_21046_device, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, luxor_55_21046_device, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, luxor_55_21046_device, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, luxor_55_21046_device, io_write_byte)) + Z80DMA(config, m_dma, 16_MHz_XTAL / 4); + m_dma->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + m_dma->out_int_callback().set(FUNC(luxor_55_21046_device::dma_int_w)); + m_dma->in_mreq_callback().set(FUNC(luxor_55_21046_device::memory_read_byte)); + m_dma->out_mreq_callback().set(FUNC(luxor_55_21046_device::memory_write_byte)); + m_dma->in_iorq_callback().set(FUNC(luxor_55_21046_device::io_read_byte)); + m_dma->out_iorq_callback().set(FUNC(luxor_55_21046_device::io_write_byte)); MCFG_DEVICE_ADD(SAB1793_TAG, FD1793, 16_MHz_XTAL / 16) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(*this, luxor_55_21046_device, fdc_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(Z80DMA_TAG, z80dma_device, rdy_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(m_dma, z80dma_device, rdy_w)) MACHINE_CONFIG_END MACHINE_CONFIG_START(abc830_device::device_add_mconfig) diff --git a/src/devices/bus/abcbus/sio.cpp b/src/devices/bus/abcbus/sio.cpp index 1521e5b7459..326d4f07a73 100644 --- a/src/devices/bus/abcbus/sio.cpp +++ b/src/devices/bus/abcbus/sio.cpp @@ -76,10 +76,11 @@ const tiny_rom_entry *abc_sio_device::device_rom_region() const // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(abc_sio_device::device_add_mconfig) - MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL(4'915'200)) - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80DART, 0) -MACHINE_CONFIG_END +void abc_sio_device::device_add_mconfig(machine_config &config) +{ + Z80CTC(config, m_ctc, XTAL(4'915'200)); + Z80DART(config, m_sio, 0); +} diff --git a/src/devices/bus/cpc/cpc_rs232.cpp b/src/devices/bus/cpc/cpc_rs232.cpp index 5b2e9e374d2..a0f09dd5ac5 100644 --- a/src/devices/bus/cpc/cpc_rs232.cpp +++ b/src/devices/bus/cpc/cpc_rs232.cpp @@ -34,7 +34,7 @@ ROM_END // device machine config MACHINE_CONFIG_START(cpc_rs232_device::device_add_mconfig) - MCFG_DEVICE_ADD("pit", PIT8253, 0) + MCFG_DEVICE_ADD(m_pit, PIT8253, 0) MCFG_PIT8253_CLK0(2000000) MCFG_PIT8253_CLK1(2000000) MCFG_PIT8253_CLK2(2000000) @@ -42,16 +42,16 @@ MACHINE_CONFIG_START(cpc_rs232_device::device_add_mconfig) MCFG_PIT8253_OUT1_HANDLER(WRITELINE(*this, cpc_rs232_device, pit_out1_w)) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, cpc_rs232_device, pit_out2_w)) - MCFG_DEVICE_ADD("dart", Z80DART, XTAL(4'000'000)) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts)) + Z80DART(config, m_dart, XTAL(4'000'000)); + m_dart->out_txda_callback().set(m_rs232, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtra_callback().set(m_rs232, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsa_callback().set(m_rs232, FUNC(rs232_port_device::write_rts)); MCFG_DEVICE_ADD("rs232",RS232_PORT,default_rs232_devices,nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("dart",z80dart_device,rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("dart",z80dart_device,dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("dart",z80dart_device,ctsa_w)) -// MCFG_RS232_RI_HANDLER(WRITELINE("dart",z80dart_device,ria_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart,z80dart_device,rxa_w)) + MCFG_RS232_DCD_HANDLER(WRITELINE(m_dart,z80dart_device,dcda_w)) + MCFG_RS232_CTS_HANDLER(WRITELINE(m_dart,z80dart_device,ctsa_w)) +// MCFG_RS232_RI_HANDLER(WRITELINE(m_dart,z80dart_device,ria_w)) // pass-through MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0) diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp index 85ac6d3a358..1ba26849112 100644 --- a/src/devices/bus/epson_sio/tf20.cpp +++ b/src/devices/bus/epson_sio/tf20.cpp @@ -39,7 +39,7 @@ void epson_tf20_device::cpu_io(address_map &map) { map.unmap_value_high(); map.global_mask(0xff); - map(0xf0, 0xf3).rw("3a", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)); + map(0xf0, 0xf3).rw(m_mpsc, FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w)); map(0xf6, 0xf6).r(FUNC(epson_tf20_device::rom_disable_r)); map(0xf7, 0xf7).portr("tf20_dip"); map(0xf8, 0xf8).rw(FUNC(epson_tf20_device::upd765_tc_r), FUNC(epson_tf20_device::fdc_control_w)); @@ -96,9 +96,9 @@ MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig) RAM(config, "ram").set_default_size("64K"); // upd7201 serial interface - MCFG_DEVICE_ADD("3a", UPD7201, XTAL_CR1 / 2) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(*this, epson_tf20_device, txda_w)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(*this, epson_tf20_device, dtra_w)) + UPD7201(config, m_mpsc, XTAL_CR1 / 2); + m_mpsc->out_txda_callback().set(FUNC(epson_tf20_device::txda_w)); + m_mpsc->out_dtra_callback().set(FUNC(epson_tf20_device::dtra_w)); // floppy disk controller MCFG_UPD765A_ADD("5a", true, true) diff --git a/src/devices/bus/wangpc/rtc.cpp b/src/devices/bus/wangpc/rtc.cpp index 794510e142b..dbff0547a4f 100644 --- a/src/devices/bus/wangpc/rtc.cpp +++ b/src/devices/bus/wangpc/rtc.cpp @@ -70,7 +70,7 @@ void wangpc_rtc_device::wangpc_rtc_mem(address_map &map) void wangpc_rtc_device::wangpc_rtc_io(address_map &map) { map.global_mask(0xff); - map(0x00, 0x03).rw(Z80SIO_TAG, FUNC(z80sio0_device::cd_ba_r), FUNC(z80sio0_device::cd_ba_w)); + map(0x00, 0x03).rw(m_sio, FUNC(z80sio0_device::cd_ba_r), FUNC(z80sio0_device::cd_ba_w)); map(0x10, 0x1f).rw(AM9517A_TAG, FUNC(am9517a_device::read), FUNC(am9517a_device::write)); map(0x20, 0x23).rw(Z80CTC_0_TAG, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); map(0x30, 0x30); //AM_WRITE(clear_char_w) @@ -119,8 +119,8 @@ MACHINE_CONFIG_START(wangpc_rtc_device::device_add_mconfig) MCFG_DEVICE_ADD(Z80CTC_1_TAG, Z80CTC, 2000000) MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, 2000000) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + Z80SIO0(config, m_sio, 2000000); + m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MACHINE_CONFIG_END diff --git a/src/devices/cpu/z80/tmpz84c011.h b/src/devices/cpu/z80/tmpz84c011.h index bef9986698c..013416cbd9e 100644 --- a/src/devices/cpu/z80/tmpz84c011.h +++ b/src/devices/cpu/z80/tmpz84c011.h @@ -23,50 +23,6 @@ // For daisy chain configuration, insert this: #define TMPZ84C011_DAISY_INTERNAL { "tmpz84c011_ctc" } -// CTC callbacks -#define MCFG_TMPZ84C011_ZC0_CB(_devcb) \ - downcast(*device).set_zc0_callback(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_ZC1_CB(_devcb) \ - downcast(*device).set_zc1_callback(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_ZC2_CB(_devcb) \ - downcast(*device).set_zc2_callback(DEVCB_##_devcb); - - -// I/O callbacks -#define MCFG_TMPZ84C011_PORTA_READ_CB(_devcb) \ - downcast(*device).set_inportsa_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTB_READ_CB(_devcb) \ - downcast(*device).set_inportsb_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTC_READ_CB(_devcb) \ - downcast(*device).set_inportsc_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTD_READ_CB(_devcb) \ - downcast(*device).set_inportsd_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTE_READ_CB(_devcb) \ - downcast(*device).set_inportse_cb(DEVCB_##_devcb); - - -#define MCFG_TMPZ84C011_PORTA_WRITE_CB(_devcb) \ - downcast(*device).set_outportsa_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTB_WRITE_CB(_devcb) \ - downcast(*device).set_outportsb_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTC_WRITE_CB(_devcb) \ - downcast(*device).set_outportsc_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTD_WRITE_CB(_devcb) \ - downcast(*device).set_outportsd_cb(DEVCB_##_devcb); - -#define MCFG_TMPZ84C011_PORTE_WRITE_CB(_devcb) \ - downcast(*device).set_outportse_cb(DEVCB_##_devcb); - - /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ @@ -77,21 +33,21 @@ public: tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t); // configuration helpers - template devcb_base &set_zc0_callback(Object &&cb) { return m_zc0_cb.set_callback(std::forward(cb)); } - template devcb_base &set_zc1_callback(Object &&cb) { return m_zc1_cb.set_callback(std::forward(cb)); } - template devcb_base &set_zc2_callback(Object &&cb) { return m_zc2_cb.set_callback(std::forward(cb)); } - - template devcb_base &set_outportsa_cb(Object &&cb) { return m_outportsa.set_callback(std::forward(cb)); } - template devcb_base &set_outportsb_cb(Object &&cb) { return m_outportsb.set_callback(std::forward(cb)); } - template devcb_base &set_outportsc_cb(Object &&cb) { return m_outportsc.set_callback(std::forward(cb)); } - template devcb_base &set_outportsd_cb(Object &&cb) { return m_outportsd.set_callback(std::forward(cb)); } - template devcb_base &set_outportse_cb(Object &&cb) { return m_outportse.set_callback(std::forward(cb)); } - - template devcb_base &set_inportsa_cb(Object &&cb) { return m_inportsa.set_callback(std::forward(cb)); } - template devcb_base &set_inportsb_cb(Object &&cb) { return m_inportsb.set_callback(std::forward(cb)); } - template devcb_base &set_inportsc_cb(Object &&cb) { return m_inportsc.set_callback(std::forward(cb)); } - template devcb_base &set_inportsd_cb(Object &&cb) { return m_inportsd.set_callback(std::forward(cb)); } - template devcb_base &set_inportse_cb(Object &&cb) { return m_inportse.set_callback(std::forward(cb)); } + auto zc0_callback() { return m_zc0_cb.bind(); } + auto zc1_callback() { return m_zc1_cb.bind(); } + auto zc2_callback() { return m_zc2_cb.bind(); } + + auto out_pa_callback() { return m_outportsa.bind(); } + auto out_pb_callback() { return m_outportsb.bind(); } + auto out_pc_callback() { return m_outportsc.bind(); } + auto out_pd_callback() { return m_outportsd.bind(); } + auto out_pe_callback() { return m_outportse.bind(); } + + auto in_pa_callback() { return m_inportsa.bind(); } + auto in_pb_callback() { return m_inportsb.bind(); } + auto in_pc_callback() { return m_inportsc.bind(); } + auto in_pd_callback() { return m_inportsd.bind(); } + auto in_pe_callback() { return m_inportse.bind(); } // CTC public interface DECLARE_WRITE_LINE_MEMBER( trg0 ) { m_ctc->trg0(state); } diff --git a/src/devices/cpu/z80/tmpz84c015.cpp b/src/devices/cpu/z80/tmpz84c015.cpp index 78e515ecece..894cf5d7ad8 100644 --- a/src/devices/cpu/z80/tmpz84c015.cpp +++ b/src/devices/cpu/z80/tmpz84c015.cpp @@ -19,9 +19,9 @@ DEFINE_DEVICE_TYPE(TMPZ84C015, tmpz84c015_device, "tmpz84c015", "Toshiba TMPZ84C void tmpz84c015_device::tmpz84c015_internal_io_map(address_map &map) { - map(0x10, 0x13).mirror(0xff00).rw("tmpz84c015_ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); - map(0x18, 0x1b).mirror(0xff00).rw("tmpz84c015_sio", FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w)); - map(0x1c, 0x1f).mirror(0xff00).rw("tmpz84c015_pio", FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt)); + map(0x10, 0x13).mirror(0xff00).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); + map(0x18, 0x1b).mirror(0xff00).rw(m_sio, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w)); + map(0x1c, 0x1f).mirror(0xff00).rw(m_pio, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt)); map(0xf4, 0xf4).mirror(0xff00).w(FUNC(tmpz84c015_device::irq_priority_w)); } @@ -180,25 +180,25 @@ WRITE8_MEMBER(tmpz84c015_device::irq_priority_w) MACHINE_CONFIG_START(tmpz84c015_device::device_add_mconfig) /* basic machine hardware */ - MCFG_DEVICE_ADD("tmpz84c015_sio", Z80SIO0, DERIVED_CLOCK(1,1)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0)) - - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(*this, tmpz84c015_device, out_txda_cb_trampoline_w)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(*this, tmpz84c015_device, out_dtra_cb_trampoline_w)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(*this, tmpz84c015_device, out_rtsa_cb_trampoline_w)) - MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(*this, tmpz84c015_device, out_wrdya_cb_trampoline_w)) - MCFG_Z80DART_OUT_SYNCA_CB(WRITELINE(*this, tmpz84c015_device, out_synca_cb_trampoline_w)) - - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(*this, tmpz84c015_device, out_txdb_cb_trampoline_w)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(*this, tmpz84c015_device, out_dtrb_cb_trampoline_w)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(*this, tmpz84c015_device, out_rtsb_cb_trampoline_w)) - MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(*this, tmpz84c015_device, out_wrdyb_cb_trampoline_w)) - MCFG_Z80DART_OUT_SYNCB_CB(WRITELINE(*this, tmpz84c015_device, out_syncb_cb_trampoline_w)) - - MCFG_Z80DART_OUT_RXDRQA_CB(WRITELINE(*this, tmpz84c015_device, out_rxdrqa_cb_trampoline_w)) - MCFG_Z80DART_OUT_TXDRQA_CB(WRITELINE(*this, tmpz84c015_device, out_txdrqa_cb_trampoline_w)) - MCFG_Z80DART_OUT_RXDRQB_CB(WRITELINE(*this, tmpz84c015_device, out_rxdrqb_cb_trampoline_w)) - MCFG_Z80DART_OUT_TXDRQB_CB(WRITELINE(*this, tmpz84c015_device, out_txdrqb_cb_trampoline_w)) + Z80SIO0(config, m_sio, DERIVED_CLOCK(1,1)); + m_sio->out_int_callback().set_inputline(DEVICE_SELF, INPUT_LINE_IRQ0); + + m_sio->out_txda_callback().set(FUNC(tmpz84c015_device::out_txda_cb_trampoline_w)); + m_sio->out_dtra_callback().set(FUNC(tmpz84c015_device::out_dtra_cb_trampoline_w)); + m_sio->out_rtsa_callback().set(FUNC(tmpz84c015_device::out_rtsa_cb_trampoline_w)); + m_sio->out_wrdya_callback().set(FUNC(tmpz84c015_device::out_wrdya_cb_trampoline_w)); + m_sio->out_synca_callback().set(FUNC(tmpz84c015_device::out_synca_cb_trampoline_w)); + + m_sio->out_txdb_callback().set(FUNC(tmpz84c015_device::out_txdb_cb_trampoline_w)); + m_sio->out_dtrb_callback().set(FUNC(tmpz84c015_device::out_dtrb_cb_trampoline_w)); + m_sio->out_rtsb_callback().set(FUNC(tmpz84c015_device::out_rtsb_cb_trampoline_w)); + m_sio->out_wrdyb_callback().set(FUNC(tmpz84c015_device::out_wrdyb_cb_trampoline_w)); + m_sio->out_syncb_callback().set(FUNC(tmpz84c015_device::out_syncb_cb_trampoline_w)); + + m_sio->out_rxdrqa_callback().set(FUNC(tmpz84c015_device::out_rxdrqa_cb_trampoline_w)); + m_sio->out_txdrqa_callback().set(FUNC(tmpz84c015_device::out_txdrqa_cb_trampoline_w)); + m_sio->out_rxdrqb_callback().set(FUNC(tmpz84c015_device::out_rxdrqb_cb_trampoline_w)); + m_sio->out_txdrqb_callback().set(FUNC(tmpz84c015_device::out_txdrqb_cb_trampoline_w)); MCFG_DEVICE_ADD("tmpz84c015_ctc", Z80CTC, DERIVED_CLOCK(1,1) ) MCFG_Z80CTC_INTR_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0)) diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h index a8380f8bf0e..3a95d183b4a 100644 --- a/src/devices/cpu/z80/z80.h +++ b/src/devices/cpu/z80/z80.h @@ -48,6 +48,9 @@ public: template devcb_base &set_irqack_cb(Object &&cb) { return m_irqack_cb.set_callback(std::forward(cb)); } template devcb_base &set_refresh_cb(Object &&cb) { return m_refresh_cb.set_callback(std::forward(cb)); } template devcb_base &set_halt_cb(Object &&cb) { return m_halt_cb.set_callback(std::forward(cb)); } + auto irqack_cb() { return m_irqack_cb.bind(); } + auto refresh_cb() { return m_refresh_cb.bind(); } + auto halt_cb() { return m_halt_cb.bind(); } protected: z80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/z80daisy_generic.h b/src/devices/machine/z80daisy_generic.h index 1270abf8659..d26b50e6ee7 100644 --- a/src/devices/machine/z80daisy_generic.h +++ b/src/devices/machine/z80daisy_generic.h @@ -14,18 +14,6 @@ #include "z80daisy.h" -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_Z80DAISY_GENERIC_ADD(_tag, _vector) \ - MCFG_DEVICE_ADD(_tag, Z80DAISY_GENERIC, 0) \ - downcast(*device).set_vector(_vector); \ - -#define MCFG_Z80DAISY_GENERIC_INT_CB(_devcb) \ - downcast(*device).set_int_handler(DEVCB_##_devcb); - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -37,7 +25,7 @@ public: z80daisy_generic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // callbacks - template devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward(cb)); } + auto int_handler() { return m_int_handler.bind(); } // configuration void set_vector(uint8_t vector) { m_vector = vector; } diff --git a/src/devices/machine/z80dart.h b/src/devices/machine/z80dart.h index b539d2e6a02..6abceefa5d9 100644 --- a/src/devices/machine/z80dart.h +++ b/src/devices/machine/z80dart.h @@ -151,59 +151,6 @@ #include "diserial.h" -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_Z80DART_OFFSETS(_rxa, _txa, _rxb, _txb) \ - downcast(*device).configure_channels(_rxa, _txa, _rxb, _txb); - -#define MCFG_Z80DART_OUT_TXDA_CB(_devcb) \ - downcast(*device).set_out_txda_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_DTRA_CB(_devcb) \ - downcast(*device).set_out_dtra_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_RTSA_CB(_devcb) \ - downcast(*device).set_out_rtsa_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_WRDYA_CB(_devcb) \ - downcast(*device).set_out_wrdya_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_SYNCA_CB(_devcb) \ - downcast(*device).set_out_synca_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_TXDB_CB(_devcb) \ - downcast(*device).set_out_txdb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_DTRB_CB(_devcb) \ - downcast(*device).set_out_dtrb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_RTSB_CB(_devcb) \ - downcast(*device).set_out_rtsb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_WRDYB_CB(_devcb) \ - downcast(*device).set_out_wrdyb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_SYNCB_CB(_devcb) \ - downcast(*device).set_out_syncb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_INT_CB(_devcb) \ - downcast(*device).set_out_int_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_RXDRQA_CB(_devcb) \ - downcast(*device).set_out_rxdrqa_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_TXDRQA_CB(_devcb) \ - downcast(*device).set_out_txdrqa_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_RXDRQB_CB(_devcb) \ - downcast(*device).set_out_rxdrqb_callback(DEVCB_##_devcb); - -#define MCFG_Z80DART_OUT_TXDRQB_CB(_devcb) \ - downcast(*device).set_out_txdrqb_callback(DEVCB_##_devcb); - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -447,21 +394,6 @@ public: // construction/destruction z80dart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_out_txda_callback(Object &&cb) { return m_out_txda_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_dtra_callback(Object &&cb) { return m_out_dtra_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_rtsa_callback(Object &&cb) { return m_out_rtsa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_wrdya_callback(Object &&cb) { return m_out_wrdya_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_synca_callback(Object &&cb) { return m_out_synca_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_txdb_callback(Object &&cb) { return m_out_txdb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_dtrb_callback(Object &&cb) { return m_out_dtrb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_rtsb_callback(Object &&cb) { return m_out_rtsb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_wrdyb_callback(Object &&cb) { return m_out_wrdyb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_syncb_callback(Object &&cb) { return m_out_syncb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_rxdrqa_callback(Object &&cb) { return m_out_rxdrqa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_txdrqa_callback(Object &&cb) { return m_out_txdrqa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_rxdrqb_callback(Object &&cb) { return m_out_rxdrqb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_txdrqb_callback(Object &&cb) { return m_out_txdrqb_cb.set_callback(std::forward(cb)); } auto out_txda_callback() { return m_out_txda_cb.bind(); } auto out_dtra_callback() { return m_out_dtra_cb.bind(); } auto out_rtsa_callback() { return m_out_rtsa_cb.bind(); } diff --git a/src/devices/machine/z80dma.h b/src/devices/machine/z80dma.h index f6f8091e31c..37409927de3 100644 --- a/src/devices/machine/z80dma.h +++ b/src/devices/machine/z80dma.h @@ -37,32 +37,6 @@ #include "machine/z80daisy.h" -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_Z80DMA_OUT_BUSREQ_CB(_devcb) \ - downcast(*device).set_out_busreq_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_OUT_INT_CB(_devcb) \ - downcast(*device).set_out_int_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_OUT_BAO_CB(_devcb) \ - downcast(*device).set_out_bao_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_IN_MREQ_CB(_devcb) \ - downcast(*device).set_in_mreq_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_OUT_MREQ_CB(_devcb) \ - downcast(*device).set_out_mreq_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_IN_IORQ_CB(_devcb) \ - downcast(*device).set_in_iorq_callback(DEVCB_##_devcb); - -#define MCFG_Z80DMA_OUT_IORQ_CB(_devcb) \ - downcast(*device).set_out_iorq_callback(DEVCB_##_devcb); - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -77,13 +51,6 @@ public: // construction/destruction z80dma_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_out_busreq_callback(Object &&cb) { return m_out_busreq_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_bao_callback(Object &&cb) { return m_out_bao_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_mreq_callback(Object &&cb) { return m_in_mreq_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_mreq_callback(Object &&cb) { return m_out_mreq_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_iorq_callback(Object &&cb) { return m_in_iorq_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_iorq_callback(Object &&cb) { return m_out_iorq_cb.set_callback(std::forward(cb)); } auto out_busreq_callback() { return m_out_busreq_cb.bind(); } auto out_int_callback() { return m_out_int_cb.bind(); } auto out_bao_callback() { return m_out_bao_cb.bind(); } diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp index 031f11b3112..e522219264c 100644 --- a/src/mame/audio/cinemat.cpp +++ b/src/mame/audio/cinemat.cpp @@ -1395,10 +1395,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(demon_state::demon_sound) /* basic machine hardware */ - MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(demon_sound_map) - MCFG_DEVICE_IO_MAP(demon_sound_ports) + z80_device& audiocpu(Z80(config, "audiocpu", 3579545)); + audiocpu.set_daisy_config(daisy_chain); + audiocpu.set_addrmap(AS_PROGRAM, &demon_state::demon_sound_map); + audiocpu.set_addrmap(AS_IO, &demon_state::demon_sound_ports); MCFG_DEVICE_ADD("ctc", Z80CTC, 3579545 /* same as "audiocpu" */) MCFG_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/audio/efo_zsu.cpp b/src/mame/audio/efo_zsu.cpp index a847c98a177..4e05805236f 100644 --- a/src/mame/audio/efo_zsu.cpp +++ b/src/mame/audio/efo_zsu.cpp @@ -191,10 +191,10 @@ TIMER_CALLBACK_MEMBER(cedar_magnet_sound_device::reset_assert_callback) MACHINE_CONFIG_START(efo_zsu_device::device_add_mconfig) - MCFG_DEVICE_ADD("soundcpu", Z80, 4000000) - MCFG_DEVICE_PROGRAM_MAP(zsu_map) - MCFG_DEVICE_IO_MAP(zsu_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + z80_device& soundcpu(Z80(config, "soundcpu", 4000000)); + soundcpu.set_addrmap(AS_PROGRAM, &efo_zsu_device::zsu_map); + soundcpu.set_addrmap(AS_IO, &efo_zsu_device::zsu_io); + soundcpu.set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("ctc0", Z80CTC, 4000000) MCFG_Z80CTC_INTR_CB(WRITELINE("soundirq", input_merger_device, in_w<0>)) diff --git a/src/mame/audio/nichisnd.cpp b/src/mame/audio/nichisnd.cpp index a73a7ef5b9b..5235d4f9849 100644 --- a/src/mame/audio/nichisnd.cpp +++ b/src/mame/audio/nichisnd.cpp @@ -79,16 +79,16 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(nichisnd_device::device_add_mconfig) - MCFG_DEVICE_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */ - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(nichisnd_map) - MCFG_DEVICE_IO_MAP(nichisnd_io_map) - MCFG_TMPZ84C011_PORTD_READ_CB(READ8("soundlatch", generic_latch_8_device, read)) - MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(*this, nichisnd_device, soundbank_w)) - MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8("dac1", dac_byte_interface, data_w)) - MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8("dac2", dac_byte_interface, data_w)) - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, nichisnd_device, soundlatch_clear_w)) - MCFG_TMPZ84C011_ZC0_CB(WRITELINE("audiocpu", tmpz84c011_device, trg3)) + tmpz84c011_device& audiocpu(TMPZ84C011(config, "audiocpu", 8000000)); /* TMPZ84C011, 8.00 MHz */ + audiocpu.set_daisy_config(daisy_chain); + audiocpu.set_addrmap(AS_PROGRAM, &nichisnd_device::nichisnd_map); + audiocpu.set_addrmap(AS_IO, &nichisnd_device::nichisnd_io_map); + audiocpu.in_pd_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + audiocpu.out_pa_callback().set(FUNC(nichisnd_device::soundbank_w)); + audiocpu.out_pb_callback().set("dac1", FUNC(dac_byte_interface::data_w)); + audiocpu.out_pc_callback().set("dac2", FUNC(dac_byte_interface::data_w)); + audiocpu.out_pe_callback().set(FUNC(nichisnd_device::soundlatch_clear_w)); + audiocpu.zc0_callback().set(FUNC(tmpz84c011_device::trg3)); /* sound hardware */ SPEAKER(config, "speaker").front_center(); diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp index 6a84ce93084..41c90aa43de 100644 --- a/src/mame/drivers/a5105.cpp +++ b/src/mame/drivers/a5105.cpp @@ -89,7 +89,7 @@ private: uint8_t m_memsel[4]; virtual void machine_reset() override; virtual void video_start() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_screen; required_device m_hgdc; required_device m_cass; @@ -571,10 +571,10 @@ static const z80_daisy_config a5105_daisy_chain[] = MACHINE_CONFIG_START(a5105_state::a5105) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(15'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(a5105_mem) - MCFG_DEVICE_IO_MAP(a5105_io) - MCFG_Z80_DAISY_CHAIN(a5105_daisy_chain) + Z80(config, m_maincpu, XTAL(15'000'000) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &a5105_state::a5105_mem); + m_maincpu->set_addrmap(AS_IO, &a5105_state::a5105_io); + m_maincpu->set_daisy_config(a5105_daisy_chain); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/a7150.cpp b/src/mame/drivers/a7150.cpp index 56652a50223..183362b8d12 100644 --- a/src/mame/drivers/a7150.cpp +++ b/src/mame/drivers/a7150.cpp @@ -516,10 +516,10 @@ MACHINE_CONFIG_START(a7150_state::a7150) ISBC_215G(config, "isbc_215g", 0, 0x4a, m_maincpu).irq_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w)); // KGS K7070 graphics terminal controlling ABG K7072 framebuffer - MCFG_DEVICE_ADD("gfxcpu", Z80, XTAL(16'000'000)/4) - MCFG_DEVICE_PROGRAM_MAP(k7070_cpu_mem) - MCFG_DEVICE_IO_MAP(k7070_cpu_io) - MCFG_Z80_DAISY_CHAIN(k7070_daisy_chain) + Z80(config, m_gfxcpu, XTAL(16'000'000)/4); + m_gfxcpu->set_addrmap(AS_PROGRAM, &a7150_state::k7070_cpu_mem); + m_gfxcpu->set_addrmap(AS_IO, &a7150_state::k7070_cpu_io); + m_gfxcpu->set_daisy_config(k7070_daisy_chain); ADDRESS_MAP_BANK(config, m_video_bankdev, 0); m_video_bankdev->set_map(&a7150_state::k7070_cpu_banked); diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp index a86917d7c0b..53bc5e7b7b3 100644 --- a/src/mame/drivers/abc80.cpp +++ b/src/mame/drivers/abc80.cpp @@ -487,10 +487,10 @@ QUICKLOAD_LOAD_MEMBER( abc80_state, bac ) MACHINE_CONFIG_START(abc80_state::abc80) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(11'980'800)/2/2) // 2.9952 MHz - MCFG_DEVICE_PROGRAM_MAP(abc80_mem) - MCFG_DEVICE_IO_MAP(abc80_io) - MCFG_Z80_DAISY_CHAIN(abc80_daisy_chain) + Z80(config, m_maincpu, XTAL(11'980'800)/2/2); // 2.9952 MHz + m_maincpu->set_addrmap(AS_PROGRAM, &abc80_state::abc80_mem); + m_maincpu->set_addrmap(AS_IO, &abc80_state::abc80_io); + m_maincpu->set_daisy_config(abc80_daisy_chain); // video hardware abc80_video(config); diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp index 85ef5656302..3f1994437f9 100644 --- a/src/mame/drivers/abc80x.cpp +++ b/src/mame/drivers/abc80x.cpp @@ -1054,9 +1054,9 @@ QUICKLOAD_LOAD_MEMBER( abc800_state, bac ) MACHINE_CONFIG_START(abc800_state::common) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, ABC800_X01/2/2) - MCFG_Z80_DAISY_CHAIN(abc800_daisy_chain) - MCFG_DEVICE_OPCODES_MAP(abc800_m1) + Z80(config, m_maincpu, ABC800_X01/2/2); + m_maincpu->set_daisy_config(abc800_daisy_chain); + m_maincpu->set_addrmap(AS_OPCODES, &abc800_state::abc800_m1); // peripheral hardware Z80CTC(config, m_ctc, ABC800_X01/2/2); @@ -1126,9 +1126,8 @@ MACHINE_CONFIG_START(abc800c_state::abc800c) common(config); // basic machine hardware - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_PROGRAM_MAP(abc800c_mem) - MCFG_DEVICE_IO_MAP(abc800c_io) + m_maincpu->set_addrmap(AS_PROGRAM, &abc800c_state::abc800c_mem); + m_maincpu->set_addrmap(AS_IO, &abc800c_state::abc800c_io); // video hardware abc800c_video(config); @@ -1154,9 +1153,8 @@ MACHINE_CONFIG_START(abc800m_state::abc800m) common(config); // basic machine hardware - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_PROGRAM_MAP(abc800m_mem) - MCFG_DEVICE_IO_MAP(abc800m_io) + m_maincpu->set_addrmap(AS_PROGRAM, &abc800m_state::abc800m_mem); + m_maincpu->set_addrmap(AS_IO, &abc800m_state::abc800m_io); // video hardware abc800m_video(config); @@ -1182,9 +1180,8 @@ MACHINE_CONFIG_START(abc802_state::abc802) common(config); // basic machine hardware - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_PROGRAM_MAP(abc802_mem) - MCFG_DEVICE_IO_MAP(abc802_io) + m_maincpu->set_addrmap(AS_PROGRAM, &abc802_state::abc802_mem); + m_maincpu->set_addrmap(AS_IO, &abc802_state::abc802_io); // video hardware abc802_video(config); @@ -1212,9 +1209,8 @@ MACHINE_CONFIG_START(abc806_state::abc806) common(config); // basic machine hardware - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_PROGRAM_MAP(abc806_mem) - MCFG_DEVICE_IO_MAP(abc806_io) + m_maincpu->set_addrmap(AS_PROGRAM, &abc806_state::abc806_mem); + m_maincpu->set_addrmap(AS_IO, &abc806_state::abc806_io); // video hardware abc806_video(config); diff --git a/src/mame/drivers/altos2.cpp b/src/mame/drivers/altos2.cpp index 7261f9778a5..b9ba88922af 100644 --- a/src/mame/drivers/altos2.cpp +++ b/src/mame/drivers/altos2.cpp @@ -47,7 +47,7 @@ private: void io_map(address_map &map); void mem_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_device m_novram; required_region_ptr m_p_chargen; required_shared_ptr m_p_videoram; @@ -102,10 +102,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(altos2_state::altos2) /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(4'000'000)) // unknown clock - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(4'000'000)); // unknown clock + m_maincpu->set_addrmap(AS_PROGRAM, &altos2_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &altos2_state::io_map); + m_maincpu->set_daisy_config(daisy_chain); clock_device &ctc_clock(CLOCK(config, "ctc_clock", 4915200)); // ctc & dart connections are guesswork ctc_clock.signal_handler().set("ctc", FUNC(z80ctc_device::trg0)); diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp index d1168a4d730..c81fd7e1f4c 100644 --- a/src/mame/drivers/altos5.cpp +++ b/src/mame/drivers/altos5.cpp @@ -69,7 +69,7 @@ private: uint8_t convert(offs_t offset, bool state); void setup_banks(uint8_t source); virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_pio0; required_device m_dma; required_device m_fdc; @@ -410,10 +410,10 @@ void altos5_state::init_altos5() MACHINE_CONFIG_START(altos5_state::altos5) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 8_MHz_XTAL / 2) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &altos5_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &altos5_state::io_map); + m_maincpu->set_daisy_config(daisy_chain_intf); clock_device &ctc_clock(CLOCK(config, "ctc_clock", 8_MHz_XTAL / 4)); // 2MHz ctc_clock.signal_handler().set("ctc", FUNC(z80ctc_device::trg0)); diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp index a233bab84da..935b96daa0d 100644 --- a/src/mame/drivers/ampro.cpp +++ b/src/mame/drivers/ampro.cpp @@ -58,7 +58,7 @@ private: void ampro_io(address_map &map); void ampro_mem(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_device m_dart; required_device m_ctc; required_device m_fdc; @@ -154,10 +154,11 @@ void ampro_state::init_ampro() MACHINE_CONFIG_START(ampro_state::ampro) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 16_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(ampro_mem) - MCFG_DEVICE_IO_MAP(ampro_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, 16_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &ro_state::ampro_mem); + m_maincpu->set_addrmap(AS_IO, &ro_state::ampro_io); + m_maincpu->set_daisy_config(daisy_chain_intf); + MCFG_MACHINE_RESET_OVERRIDE(ampro_state, ampro) clock_device &ctc_clock(CLOCK(config, "ctc_clock", 16_MHz_XTAL / 8)); // 2MHz diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp index faa4760d5bd..a6b0e3f0630 100644 --- a/src/mame/drivers/astrocde.cpp +++ b/src/mame/drivers/astrocde.cpp @@ -116,7 +116,6 @@ #include "emu.h" #include "includes/astrocde.h" -#include "cpu/z80/z80.h" #include "machine/z80daisy.h" #include "machine/z80ctc.h" #include "machine/nvram.h" @@ -1513,10 +1512,10 @@ MACHINE_CONFIG_START(tenpindx_state::tenpindx) MCFG_DEVICE_PROGRAM_MAP(profpac_map) MCFG_DEVICE_IO_MAP(port_map_16col_pattern_tenpindx) - MCFG_DEVICE_ADD("sub", Z80, ASTROCADE_CLOCK/4) /* real clock unknown */ - MCFG_Z80_DAISY_CHAIN(tenpin_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(sub_map) - MCFG_DEVICE_IO_MAP(sub_io_map) + Z80(config, m_subcpu, ASTROCADE_CLOCK/4); /* real clock unknown */ + m_subcpu->set_daisy_config(tenpin_daisy_chain); + m_subcpu->set_addrmap(AS_PROGRAM, &tenpindx_state::sub_map); + m_subcpu->set_addrmap(AS_IO, &tenpindx_state::sub_io_map); MCFG_DEVICE_ADD("ctc", Z80CTC, ASTROCADE_CLOCK/4 /* same as "sub" */) MCFG_Z80CTC_INTR_CB(INPUTLINE("sub", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/att4425.cpp b/src/mame/drivers/att4425.cpp index 283524085cf..d1d038361bb 100644 --- a/src/mame/drivers/att4425.cpp +++ b/src/mame/drivers/att4425.cpp @@ -240,10 +240,10 @@ static const z80_daisy_config att4425_daisy_chain[] = MACHINE_CONFIG_START(att4425_state::att4425) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(32'000'000)/8) // XXX - MCFG_DEVICE_PROGRAM_MAP(att4425_mem) - MCFG_DEVICE_IO_MAP(att4425_io) - MCFG_Z80_DAISY_CHAIN(att4425_daisy_chain) + Z80(config, m_maincpu, XTAL(32'000'000)/8); // XXX + m_maincpu->set_addrmap(AS_PROGRAM, &att4425_state::att4425_mem); + m_maincpu->set_addrmap(AS_IO, &att4425_state::att4425_io); + m_maincpu->set_daisy_config(att4425_daisy_chain); /* video hardware */ MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp index 238957dfa13..e21824d1f76 100644 --- a/src/mame/drivers/attache.cpp +++ b/src/mame/drivers/attache.cpp @@ -196,7 +196,7 @@ protected: void attache_io(address_map &map); void attache_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_memory_region m_rom; required_device m_ram; required_memory_region m_char_rom; @@ -1122,10 +1122,10 @@ void attache816_state::machine_reset() } MACHINE_CONFIG_START(attache_state::attache) - MCFG_DEVICE_ADD("maincpu", Z80, 8_MHz_XTAL / 2) - MCFG_DEVICE_PROGRAM_MAP(attache_map) - MCFG_DEVICE_IO_MAP(attache_io) - MCFG_Z80_DAISY_CHAIN(attache_daisy_chain) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &attache_state::attache_map); + m_maincpu->set_addrmap(AS_IO, &attache_state::attache_io); + m_maincpu->set_daisy_config(attache_daisy_chain); MCFG_QUANTUM_TIME(attotime::from_hz(60)) @@ -1200,10 +1200,10 @@ MACHINE_CONFIG_START(attache_state::attache) MACHINE_CONFIG_END MACHINE_CONFIG_START(attache816_state::attache816) - MCFG_DEVICE_ADD("maincpu", Z80, 8_MHz_XTAL / 2) - MCFG_DEVICE_PROGRAM_MAP(attache_map) - MCFG_DEVICE_IO_MAP(attache816_io) - MCFG_Z80_DAISY_CHAIN(attache_daisy_chain) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &attache816_state::attache_map); + m_maincpu->set_addrmap(AS_IO, &attache816_state::attache_io); + m_maincpu->set_daisy_config(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 74e90812a9b..3076baedeb1 100644 --- a/src/mame/drivers/aussiebyte.cpp +++ b/src/mame/drivers/aussiebyte.cpp @@ -497,10 +497,10 @@ void aussiebyte_state::machine_reset() MACHINE_CONFIG_START(aussiebyte_state::aussiebyte) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 16_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(aussiebyte_map) - MCFG_DEVICE_IO_MAP(aussiebyte_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, 16_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &aussiebyte_state::aussiebyte_map); + m_maincpu->set_addrmap(AS_IO, &aussiebyte_state::aussiebyte_io); + m_maincpu->set_daisy_config(daisy_chain_intf); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/avt.cpp b/src/mame/drivers/avt.cpp index f175dddfc3e..27d5f3664f3 100644 --- a/src/mame/drivers/avt.cpp +++ b/src/mame/drivers/avt.cpp @@ -439,7 +439,7 @@ class avt_state : public driver_device public: avt_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) - , m_maincpu(*this,"maincpu") + , m_maincpu(*this, "maincpu") , m_crtc(*this, "crtc") , m_pio0(*this, "pio0") , m_pio1(*this, "pio1") @@ -470,7 +470,7 @@ private: tilemap_t *m_bg_tilemap; uint8_t m_crtc_vreg[0x100],m_crtc_index; virtual void video_start() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_crtc; required_device m_pio0; required_device m_pio1; @@ -963,10 +963,10 @@ WRITE_LINE_MEMBER( avt_state::avtbingo_w ) MACHINE_CONFIG_START(avt_state::avt) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, CPU_CLOCK) /* guess */ - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(avt_map) - MCFG_DEVICE_IO_MAP(avt_portmap) + Z80(config, m_maincpu, CPU_CLOCK); /* guess */ + m_maincpu->set_daisy_config(daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &avt_state::avt_map); + m_maincpu->set_addrmap(AS_IO, &avt_state::avt_portmap); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/babbage.cpp b/src/mame/drivers/babbage.cpp index 675b4c364c1..82bf3cd55ee 100644 --- a/src/mame/drivers/babbage.cpp +++ b/src/mame/drivers/babbage.cpp @@ -65,7 +65,7 @@ private: uint8_t m_prev_key; bool m_step; virtual void machine_start() override { m_digits.resolve(); } - required_device m_maincpu; + required_device m_maincpu; required_device m_pio_1; required_device m_pio_2; required_device m_ctc; @@ -232,10 +232,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(babbage_state::keyboard_callback) MACHINE_CONFIG_START(babbage_state::babbage) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MAIN_CLOCK) //2.5MHz - MCFG_DEVICE_PROGRAM_MAP(babbage_map) - MCFG_DEVICE_IO_MAP(babbage_io) - MCFG_Z80_DAISY_CHAIN(babbage_daisy_chain) + + Z80(config, m_maincpu, MAIN_CLOCK); //2.5MHz + m_maincpu->set_addrmap(AS_PROGRAM, &babbage_state::babbage_map); + m_maincpu->set_addrmap(AS_IO, &babbage_state::babbage_io); + m_maincpu->set_daisy_config(babbage_daisy_chain); /* video hardware */ config.set_default_layout(layout_babbage); diff --git a/src/mame/drivers/bbcbc.cpp b/src/mame/drivers/bbcbc.cpp index 3fa5e1c20ac..005ac12cd9b 100644 --- a/src/mame/drivers/bbcbc.cpp +++ b/src/mame/drivers/bbcbc.cpp @@ -56,7 +56,7 @@ private: uint8_t m_input_select; virtual void machine_start() override; virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_z80pio; required_ioport_array<3> m_buttons; }; @@ -119,10 +119,10 @@ static const z80_daisy_config bbcbc_daisy_chain[] = MACHINE_CONFIG_START(bbcbc_state::bbcbc) - MCFG_DEVICE_ADD("maincpu", Z80, 10.6875_MHz_XTAL / 3) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(bbcbc_daisy_chain) + Z80(config, m_maincpu, 10.6875_MHz_XTAL / 3); + m_maincpu->set_addrmap(AS_PROGRAM, &bbcbc_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &bbcbc_state::io_map); + m_maincpu->set_daisy_config(bbcbc_daisy_chain); Z80PIO(config, m_z80pio, 10.6875_MHz_XTAL / 3); //m_z80pio->out_pa_callback().set(???); diff --git a/src/mame/drivers/bcs3.cpp b/src/mame/drivers/bcs3.cpp index 3bb2a888e4b..8b06aa5ea64 100644 --- a/src/mame/drivers/bcs3.cpp +++ b/src/mame/drivers/bcs3.cpp @@ -96,7 +96,7 @@ private: u8 s_rows; u8 s_cols; - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_region_ptr m_p_chargen; required_shared_ptr m_p_videoram; @@ -387,10 +387,10 @@ void bcs3_state::init_bcs3d() MACHINE_CONFIG_START(bcs3_state::bcs3) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(5'000'000) /2) - MCFG_DEVICE_PROGRAM_MAP(bcs3_mem) - MCFG_DEVICE_IO_MAP(bcs3_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, XTAL(5'000'000) /2); + m_maincpu->set_addrmap(AS_PROGRAM, &bcs3_state::bcs3_mem); + m_maincpu->set_addrmap(AS_IO, &bcs3_state::bcs3_io); + m_maincpu->set_daisy_config(daisy_chain_intf); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -414,10 +414,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(bcs3_state::bcs3a) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(7'000'000) /2) - MCFG_DEVICE_PROGRAM_MAP(bcs3a_mem) - MCFG_DEVICE_IO_MAP(bcs3_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, XTAL(7'000'000) /2); + m_maincpu->set_addrmap(AS_PROGRAM, &bcs3_state::bcs3a_mem); + m_maincpu->set_addrmap(AS_IO, &bcs3_state::bcs3_io); + m_maincpu->set_daisy_config(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 88abd275837..ad2fb715885 100644 --- a/src/mame/drivers/bigbord2.cpp +++ b/src/mame/drivers/bigbord2.cpp @@ -565,13 +565,13 @@ MACHINE_CONFIG_START(bigbord2_state::bigbord2) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, bigbord2_state, clock_w)) /* devices */ - MCFG_DEVICE_ADD("dma", Z80DMA, MAIN_CLOCK) - MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, bigbord2_state, busreq_w)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, bigbord2_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, bigbord2_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, bigbord2_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, bigbord2_state, io_write_byte)) + Z80DMA(config, m_dma, MAIN_CLOCK); + m_dma->out_busreq_callback().set(FUNC(bigbord2_state::busreq_w)); + m_dma->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_dma->in_mreq_callback().set(FUNC(bigbord2_state::memory_read_byte)); + m_dma->out_mreq_callback().set(FUNC(bigbord2_state::memory_write_byte)); + m_dma->in_iorq_callback().set(FUNC(bigbord2_state::io_read_byte)); + m_dma->out_iorq_callback().set(FUNC(bigbord2_state::io_write_byte)); Z80SIO(config, m_sio, MAIN_CLOCK); m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp index 7b8f9ebb6fb..59995610b0c 100644 --- a/src/mame/drivers/binbug.cpp +++ b/src/mame/drivers/binbug.cpp @@ -86,7 +86,7 @@ public: DECLARE_QUICKLOAD_LOAD_MEMBER( binbug ); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); // needed by dg680 class - required_device m_maincpu; + required_device m_maincpu; // S2650 or Z80 required_device m_cass; void binbug(machine_config &config); @@ -537,10 +537,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(dg680_state::uart_tick) MACHINE_CONFIG_START(dg680_state::dg680) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(dg680_mem) - MCFG_DEVICE_IO_MAP(dg680_io) - MCFG_Z80_DAISY_CHAIN(dg680_daisy_chain) + z80_device& maincpu(Z80(config, m_maincpu, XTAL(8'000'000) / 4)); + maincpu.set_addrmap(AS_PROGRAM, &dg680_state::dg680_mem); + maincpu.set_addrmap(AS_IO, &dg680_state::dg680_io); + maincpu.set_daisy_config(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 da04a510f15..95c4d452321 100644 --- a/src/mame/drivers/br8641.cpp +++ b/src/mame/drivers/br8641.cpp @@ -54,7 +54,7 @@ public: private: uint8_t m_port08; uint8_t m_port09; - required_device m_maincpu; + required_device m_maincpu; required_device m_pio1; required_device m_pio2; required_device m_pio3; @@ -160,10 +160,10 @@ static const z80_daisy_config daisy_chain_intf[] = MACHINE_CONFIG_START(brandt8641_state::brandt8641) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000)) // U4 ,4MHz crystal on board - MCFG_DEVICE_PROGRAM_MAP(brandt8641_mem) - MCFG_DEVICE_IO_MAP(brandt8641_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, XTAL(4'000'000)); // U4 ,4MHz crystal on board + m_maincpu->set_addrmap(AS_PROGRAM, &brandt8641_state::brandt8641_mem); + m_maincpu->set_addrmap(AS_IO, &brandt8641_state::brandt8641_io); + m_maincpu->set_daisy_config(daisy_chain_intf); /* sound hardware */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp index 93749e31694..d17e88a6a06 100644 --- a/src/mame/drivers/bullet.cpp +++ b/src/mame/drivers/bullet.cpp @@ -1117,29 +1117,29 @@ MACHINE_CONFIG_START(bullet_state::bullet) MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, 16_MHz_XTAL / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) MCFG_Z80CTC_ZC0_CB(WRITELINE(*this, bullet_state, dart_rxtxca_w)) - MCFG_Z80CTC_ZC1_CB(WRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w)) + MCFG_Z80CTC_ZC1_CB(WRITELINE(m_dart, z80dart_device, rxtxcb_w)) MCFG_Z80CTC_ZC2_CB(WRITELINE(Z80CTC_TAG, z80ctc_device, trg3)) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", bullet_state, ctc_tick, attotime::from_hz(4.9152_MHz_XTAL /4)) - MCFG_DEVICE_ADD(Z80DART_TAG, Z80DART, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(*this, bullet_state, dartardy_w)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(*this, bullet_state, dartbrdy_w)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - - MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, 16_MHz_XTAL / 4) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, bullet_state, dma_mreq_r)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, bullet_state, dma_mreq_w)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, bullet_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, bullet_state, io_write_byte)) + Z80DART(config, m_dart, 16_MHz_XTAL / 4); + m_dart->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_wrdya_callback().set(FUNC(bullet_state::dartardy_w)); + m_dart->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_wrdyb_callback().set(FUNC(bullet_state::dartbrdy_w)); + m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + + Z80DMA(config, m_dmac, 16_MHz_XTAL / 4); + m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + m_dmac->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_dmac->in_mreq_callback().set(FUNC(bullet_state::dma_mreq_r)); + m_dmac->out_mreq_callback().set(FUNC(bullet_state::dma_mreq_w)); + m_dmac->in_iorq_callback().set(FUNC(bullet_state::io_read_byte)); + m_dmac->out_iorq_callback().set(FUNC(bullet_state::io_write_byte)); z80pio_device& pio(Z80PIO(config, Z80PIO_TAG, 16_MHz_XTAL / 4)); pio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); @@ -1147,7 +1147,7 @@ MACHINE_CONFIG_START(bullet_state::bullet) pio.in_pb_callback().set(FUNC(bullet_state::pio_pb_r)); MCFG_DEVICE_ADD(MB8877_TAG, MB8877, 16_MHz_XTAL / 16) - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) + MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(m_dart, z80dart_device, dcda_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, bullet_state, fdc_drq_w)) MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, nullptr, floppy_image_device::default_floppy_formats) @@ -1167,11 +1167,11 @@ MACHINE_CONFIG_START(bullet_state::bullet) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) // software lists MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet") @@ -1196,29 +1196,29 @@ MACHINE_CONFIG_START(bulletf_state::bulletf) MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, 16_MHz_XTAL / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) MCFG_Z80CTC_ZC0_CB(WRITELINE(*this, bullet_state, dart_rxtxca_w)) - MCFG_Z80CTC_ZC1_CB(WRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w)) + MCFG_Z80CTC_ZC1_CB(WRITELINE(m_dart, z80dart_device, rxtxcb_w)) MCFG_Z80CTC_ZC2_CB(WRITELINE(Z80CTC_TAG, z80ctc_device, trg3)) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", bullet_state, ctc_tick, attotime::from_hz(4.9152_MHz_XTAL / 4)) - MCFG_DEVICE_ADD(Z80DART_TAG, Z80DART, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(*this, bullet_state, dartardy_w)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(*this, bullet_state, dartbrdy_w)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - - MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, 16_MHz_XTAL / 4) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, bullet_state, dma_mreq_r)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, bullet_state, dma_mreq_w)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, bullet_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, bullet_state, io_write_byte)) + Z80DART(config, m_dart, 16_MHz_XTAL / 4); + m_dart->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_wrdya_callback().set(FUNC(bullet_state::dartardy_w)); + m_dart->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_wrdyb_callback().set(FUNC(bullet_state::dartbrdy_w)); + m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + + Z80DMA(config, m_dmac, 16_MHz_XTAL / 4); + m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + m_dmac->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_dmac->in_mreq_callback().set(FUNC(bullet_state::dma_mreq_r)); + m_dmac->out_mreq_callback().set(FUNC(bullet_state::dma_mreq_w)); + m_dmac->in_iorq_callback().set(FUNC(bullet_state::io_read_byte)); + m_dmac->out_iorq_callback().set(FUNC(bullet_state::io_write_byte)); z80pio_device& pio(Z80PIO(config, Z80PIO_TAG, 16_MHz_XTAL / 4)); pio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); @@ -1228,7 +1228,7 @@ MACHINE_CONFIG_START(bulletf_state::bulletf) pio.out_brdy_callback().set(FUNC(bulletf_state::cstrb_w)); MCFG_DEVICE_ADD(MB8877_TAG, MB8877, 16_MHz_XTAL / 16) - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(Z80DART_TAG, z80dart_device, rib_w)) + MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(m_dart, z80dart_device, rib_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, bullet_state, fdc_drq_w)) MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", bullet_525_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", bullet_525_floppies, nullptr, floppy_image_device::default_floppy_formats) @@ -1247,11 +1247,11 @@ MACHINE_CONFIG_START(bulletf_state::bulletf) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) MCFG_DEVICE_ADD(SCSIBUS_TAG, SCSI_PORT, 0) MCFG_SCSI_BSY_HANDLER(WRITELINE("scsi_ctrl_in", input_buffer_device, write_bit3)) diff --git a/src/mame/drivers/c80.cpp b/src/mame/drivers/c80.cpp index 6a614e5c8b5..6fc5b7466ef 100644 --- a/src/mame/drivers/c80.cpp +++ b/src/mame/drivers/c80.cpp @@ -256,10 +256,10 @@ void c80_state::machine_start() MACHINE_CONFIG_START(c80_state::c80) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, 2500000) /* U880D */ - MCFG_DEVICE_PROGRAM_MAP(c80_mem) - MCFG_DEVICE_IO_MAP(c80_io) - MCFG_Z80_DAISY_CHAIN(c80_daisy_chain) + Z80(config, m_maincpu, 2500000); /* U880D */ + m_maincpu->set_addrmap(AS_PROGRAM, &c80_state::c80_mem); + m_maincpu->set_addrmap(AS_IO, &c80_state::c80_io); + m_maincpu->set_daisy_config(c80_daisy_chain); /* video hardware */ config.set_default_layout(layout_c80); diff --git a/src/mame/drivers/cchasm.cpp b/src/mame/drivers/cchasm.cpp index 0b407e256ca..4d26b868371 100644 --- a/src/mame/drivers/cchasm.cpp +++ b/src/mame/drivers/cchasm.cpp @@ -17,7 +17,6 @@ #include "emu.h" #include "includes/cchasm.h" -#include "cpu/z80/z80.h" #include "machine/z80daisy.h" #include "cpu/m68000/m68000.h" #include "machine/6840ptm.h" @@ -153,10 +152,10 @@ MACHINE_CONFIG_START(cchasm_state::cchasm) MCFG_DEVICE_ADD("maincpu", M68000, CCHASM_68K_CLOCK) /* 8 MHz (from schematics) */ MCFG_DEVICE_PROGRAM_MAP(memmap) - MCFG_DEVICE_ADD("audiocpu", Z80, 3584229) /* 3.58 MHz (from schematics) */ - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(sound_memmap) - MCFG_DEVICE_IO_MAP(sound_portmap) + Z80(config, m_audiocpu, 3584229); /* 3.58 MHz (from schematics) */ + m_audiocpu->set_daisy_config(daisy_chain); + m_audiocpu->set_addrmap(AS_PROGRAM, &cchasm_state::sound_memmap); + m_audiocpu->set_addrmap(AS_IO, &cchasm_state::sound_portmap); MCFG_DEVICE_ADD("ctc", Z80CTC, 3584229 /* same as "audiocpu" */) MCFG_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp index 506521f357b..e27a7ed6e0d 100644 --- a/src/mame/drivers/ccs300.cpp +++ b/src/mame/drivers/ccs300.cpp @@ -44,7 +44,7 @@ public: void ccs300_io(address_map &map); void ccs300_mem(address_map &map); private: - required_device m_maincpu; + required_device m_maincpu; }; void ccs300_state::ccs300_mem(address_map &map) @@ -116,10 +116,10 @@ DEVICE_INPUT_DEFAULTS_END MACHINE_CONFIG_START(ccs300_state::ccs300) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(ccs300_mem) - MCFG_DEVICE_IO_MAP(ccs300_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(4'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &ccs300_state::ccs300_mem); + m_maincpu->set_addrmap(AS_IO, &ccs300_state::ccs300_io); + m_maincpu->set_daisy_config(daisy_chain); MCFG_MACHINE_RESET_OVERRIDE(ccs300_state, ccs300) diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp index 69a3fadcd65..5306646ef6e 100644 --- a/src/mame/drivers/compis.cpp +++ b/src/mame/drivers/compis.cpp @@ -769,7 +769,7 @@ MACHINE_CONFIG_START(compis_state::compis) MCFG_DEVICE_ADD(I8253_TAG, PIT8253, 0) MCFG_PIT8253_CLK0(15.36_MHz_XTAL/8) - MCFG_PIT8253_OUT0_HANDLER(WRITELINE(I8274_TAG, i8274_device, rxtxcb_w)) + MCFG_PIT8253_OUT0_HANDLER(WRITELINE(m_mpsc, i8274_device, rxtxcb_w)) MCFG_PIT8253_CLK1(15.36_MHz_XTAL/8) MCFG_PIT8253_CLK2(15.36_MHz_XTAL/8) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, compis_state, tmr5_w)) @@ -787,14 +787,14 @@ MACHINE_CONFIG_START(compis_state::compis) MCFG_DEVICE_ADD(COMPIS_KEYBOARD_TAG, COMPIS_KEYBOARD, 0) MCFG_COMPIS_KEYBOARD_OUT_TX_HANDLER(WRITELINE(I8251A_TAG, i8251_device, write_rxd)) - MCFG_DEVICE_ADD(I8274_TAG, I8274, 15.36_MHz_XTAL/4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(WRITELINE(I80186_TAG, i80186_cpu_device, int3_w)) + I8274(config, m_mpsc, 15.36_MHz_XTAL/4); + m_mpsc->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_mpsc->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_mpsc->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_mpsc->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_mpsc->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_mpsc->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_mpsc->out_int_callback().set(m_maincpu, FUNC(i80186_cpu_device::int3_w)); MCFG_DEVICE_ADD(MM58174A_TAG, MM58274C, 32.768_kHz_XTAL) MCFG_MM58274C_MODE24(1) // 24 hour @@ -806,14 +806,14 @@ MACHINE_CONFIG_START(compis_state::compis) MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", compis_state, tape_tick, attotime::from_hz(44100)) MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(I8274_TAG, z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(I8274_TAG, z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(I8274_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, z80dart_device, ctsa_w)) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(I8274_TAG, z80dart_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(I8274_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(I8274_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_mpsc, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(WRITELINE(m_mpsc, z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, z80dart_device, ctsb_w)) MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, compis_state, write_centronics_busy)) diff --git a/src/mame/drivers/cpzodiac.cpp b/src/mame/drivers/cpzodiac.cpp index 170aa5e188e..39011926d72 100644 --- a/src/mame/drivers/cpzodiac.cpp +++ b/src/mame/drivers/cpzodiac.cpp @@ -51,7 +51,7 @@ public: private: virtual void machine_start() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_audiocpu; required_memory_bank m_bank; @@ -163,10 +163,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(cpzodiac_state::cpzodiac) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 12_MHz_XTAL/2) - MCFG_DEVICE_PROGRAM_MAP(main_map) - MCFG_DEVICE_IO_MAP(main_io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 12_MHz_XTAL/2); + m_maincpu->set_addrmap(AS_PROGRAM, &cpzodiac_state::main_map); + m_maincpu->set_addrmap(AS_IO, &cpzodiac_state::main_io_map); + m_maincpu->set_daisy_config(daisy_chain); te7750_device &io(TE7750(config, "io", 0)); io.ios_cb().set_constant(4); diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp index d3ebf864f1f..55fe855a3b6 100644 --- a/src/mame/drivers/czk80.cpp +++ b/src/mame/drivers/czk80.cpp @@ -74,7 +74,7 @@ private: void czk80_io(address_map &map); void czk80_mem(address_map &map); uint8_t m_term_data; - required_device m_maincpu; + required_device m_maincpu; required_device m_terminal; required_device m_fdc; }; @@ -186,10 +186,11 @@ void czk80_state::kbd_put(u8 data) MACHINE_CONFIG_START(czk80_state::czk80) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(16'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(czk80_mem) - MCFG_DEVICE_IO_MAP(czk80_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(16'000'000) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &czk80_state::czk80_mem); + m_maincpu->set_addrmap(AS_IO, &czk80_state::czk80_io); + m_maincpu->set_daisy_config(daisy_chain); + MCFG_MACHINE_RESET_OVERRIDE(czk80_state, czk80) MCFG_DEVICE_ADD(m_terminal, GENERIC_TERMINAL, 0) @@ -203,11 +204,11 @@ MACHINE_CONFIG_START(czk80_state::czk80) MCFG_Z80CTC_ZC1_CB(WRITELINE(*this, czk80_state, ctc_z1_w)) MCFG_Z80CTC_ZC2_CB(WRITELINE(*this, czk80_state, ctc_z2_w)) - MCFG_DEVICE_ADD("dart", Z80DART, XTAL(16'000'000) / 4) - //MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd)) - //MCFG_Z80DART_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr)) - //MCFG_Z80DART_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) + z80dart_device& dart(Z80DART(config, "dart", XTAL(16'000'000) / 4)); + //dart.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); + //dart.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); + //dart.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); + dart.out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0); z80pio_device& pio(Z80PIO(config, "pio", XTAL(16'000'000)/4)); pio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp index 6c4aeafef13..70dadf8d65c 100644 --- a/src/mame/drivers/dlair.cpp +++ b/src/mame/drivers/dlair.cpp @@ -135,7 +135,7 @@ private: void dleuro_map(address_map &map); void dlus_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; optional_device m_speaker; optional_device m_gfxdecode; optional_device m_palette; @@ -768,10 +768,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(dlair_state::dleuro) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK_EURO/4) - MCFG_Z80_DAISY_CHAIN(dleuro_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(dleuro_map) - MCFG_DEVICE_IO_MAP(dleuro_io_map) + Z80(config, m_maincpu, MASTER_CLOCK_EURO/4); + m_maincpu->set_daisy_config(dleuro_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &dlair_state::dleuro_map); + m_maincpu->set_addrmap(AS_IO, &dlair_state::dleuro_io_map); MCFG_DEVICE_ADD("ctc", Z80CTC, MASTER_CLOCK_EURO/4 /* same as "maincpu" */) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/dmax8000.cpp b/src/mame/drivers/dmax8000.cpp index 0dfadd4f1c3..853808a7199 100644 --- a/src/mame/drivers/dmax8000.cpp +++ b/src/mame/drivers/dmax8000.cpp @@ -172,10 +172,10 @@ MACHINE_CONFIG_START(dmax8000_state::dmax8000) ctc.zc_callback<1>().set("dart2", FUNC(z80dart_device::rxtxcb_w)); ctc.zc_callback<2>().set("dart1", FUNC(z80dart_device::rxtxcb_w)); - MCFG_DEVICE_ADD("dart1", Z80DART, 4'000'000) // A = terminal; B = aux - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts)) + z80dart_device& dart1(Z80DART(config, "dart1", 4'000'000)); // A = terminal; B = aux + dart1.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); + dart1.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); + dart1.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(WRITELINE("dart1", z80dart_device, rxa_w)) @@ -183,7 +183,7 @@ MACHINE_CONFIG_START(dmax8000_state::dmax8000) MCFG_RS232_RI_HANDLER(WRITELINE("dart1", z80dart_device, ria_w)) MCFG_RS232_CTS_HANDLER(WRITELINE("dart1", z80dart_device, ctsa_w)) - MCFG_DEVICE_ADD("dart2", Z80DART, 4'000'000) // RS232 ports + Z80DART(config, "dart2", 4'000'000); // RS232 ports z80pio_device& pio1(Z80PIO(config, "pio1", 4'000'000)); pio1.out_pa_callback().set(FUNC(dmax8000_state::port0c_w)); diff --git a/src/mame/drivers/dsb46.cpp b/src/mame/drivers/dsb46.cpp index ea34b754a7f..cc19c141f1b 100644 --- a/src/mame/drivers/dsb46.cpp +++ b/src/mame/drivers/dsb46.cpp @@ -54,7 +54,7 @@ private: DECLARE_MACHINE_RESET(dsb46); void dsb46_io(address_map &map); void dsb46_mem(address_map &map); - required_device m_maincpu; + required_device m_maincpu; }; void dsb46_state::dsb46_mem(address_map &map) @@ -110,10 +110,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(dsb46_state::dsb46) // basic machine hardware - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(24'000'000) / 6) - MCFG_DEVICE_PROGRAM_MAP(dsb46_mem) - MCFG_DEVICE_IO_MAP(dsb46_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(24'000'000) / 6); + m_maincpu->set_addrmap(AS_PROGRAM, &dsb46_state::dsb46_mem); + m_maincpu->set_addrmap(AS_IO, &dsb46_state::dsb46_io); + m_maincpu->set_daisy_config(daisy_chain); MCFG_MACHINE_RESET_OVERRIDE(dsb46_state, dsb46) diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp index 199a98a816b..a39a104cb79 100644 --- a/src/mame/drivers/einstein.cpp +++ b/src/mame/drivers/einstein.cpp @@ -119,7 +119,7 @@ private: void einstein_scan_keyboard(); - required_device m_maincpu; + required_device m_maincpu; required_device m_keyboard_daisy; required_device m_adc_daisy; required_device m_fire_daisy; @@ -579,10 +579,10 @@ static void einstein_floppies(device_slot_interface &device) MACHINE_CONFIG_START(einstein_state::einstein) /* basic machine hardware */ - MCFG_DEVICE_ADD(IC_I001, Z80, XTAL_X002 / 2) - MCFG_DEVICE_PROGRAM_MAP(einstein_mem) - MCFG_DEVICE_IO_MAP(einstein_io) - MCFG_Z80_DAISY_CHAIN(einstein_daisy_chain) + Z80(config, m_maincpu, XTAL_X002 / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &einstein_state::einstein_mem); + m_maincpu->set_addrmap(AS_IO, &einstein_state::einstein_io); + m_maincpu->set_daisy_config(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. */ @@ -608,12 +608,12 @@ MACHINE_CONFIG_START(einstein_state::einstein) ctc_trigger.signal_handler().append(IC_I058, FUNC(z80ctc_device::trg2)); /* Einstein daisy chain support for non-Z80 devices */ - MCFG_Z80DAISY_GENERIC_ADD("keyboard_daisy", 0xf7) - MCFG_Z80DAISY_GENERIC_INT_CB(WRITELINE(*this, einstein_state, int_w<2>)) - MCFG_Z80DAISY_GENERIC_ADD("adc_daisy", 0xfb) - MCFG_Z80DAISY_GENERIC_INT_CB(WRITELINE(*this, einstein_state, int_w<3>)) - MCFG_Z80DAISY_GENERIC_ADD("fire_daisy", 0xfd) - MCFG_Z80DAISY_GENERIC_INT_CB(WRITELINE(*this, einstein_state, int_w<4>)) + Z80DAISY_GENERIC(config, m_keyboard_daisy, 0xf7); + m_keyboard_daisy->int_handler().set(FUNC(einstein_state::int_w<2>)); + Z80DAISY_GENERIC(config, m_adc_daisy, 0xfb); + m_adc_daisy->int_handler().set(FUNC(einstein_state::int_w<3>)); + Z80DAISY_GENERIC(config, m_fire_daisy, 0xfd); + m_fire_daisy->int_handler().set(FUNC(einstein_state::int_w<4>)); /* video hardware */ tms9129_device &vdp(TMS9129(config, "vdp", 10.738635_MHz_XTAL)); @@ -629,7 +629,7 @@ MACHINE_CONFIG_START(einstein_state::einstein) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) adc0844_device &adc(ADC0844(config, "adc", 0)); - adc.intr_callback().set("adc_daisy", FUNC(z80daisy_generic_device::int_w)); + adc.intr_callback().set(m_adc_daisy, FUNC(z80daisy_generic_device::int_w)); adc.ch1_callback().set_ioport("analogue_1_x"); adc.ch2_callback().set_ioport("analogue_1_y"); adc.ch3_callback().set_ioport("analogue_2_x"); diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp index fd77b9c7b63..e61be693a91 100644 --- a/src/mame/drivers/excali64.cpp +++ b/src/mame/drivers/excali64.cpp @@ -603,18 +603,18 @@ MACHINE_CONFIG_START(excali64_state::excali64) MCFG_CASSETTE_ADD( "cassette" ) MCFG_DEVICE_ADD("fdc", WD2793, 16_MHz_XTAL / 16) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE("dma", z80dma_device, rdy_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(m_dma, z80dma_device, rdy_w)) MCFG_FLOPPY_DRIVE_ADD("fdc:0", excali64_floppies, "525qd", excali64_state::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) MCFG_FLOPPY_DRIVE_ADD("fdc:1", excali64_floppies, "525qd", excali64_state::floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_DEVICE_ADD("dma", Z80DMA, 16_MHz_XTAL / 4) - MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, excali64_state, busreq_w)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, excali64_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, excali64_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, excali64_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, excali64_state, io_write_byte)) + Z80DMA(config, m_dma, 16_MHz_XTAL / 4); + m_dma->out_busreq_callback().set(FUNC(excali64_state::busreq_w)); + m_dma->in_mreq_callback().set(FUNC(excali64_state::memory_read_byte)); + m_dma->out_mreq_callback().set(FUNC(excali64_state::memory_write_byte)); + m_dma->in_iorq_callback().set(FUNC(excali64_state::io_read_byte)); + m_dma->out_iorq_callback().set(FUNC(excali64_state::io_write_byte)); TTL74123(config, m_u12, 0); m_u12->set_connection_type(TTL74123_GROUNDED); /* Hook up type (no idea what this means) */ diff --git a/src/mame/drivers/gp_1.cpp b/src/mame/drivers/gp_1.cpp index 6fd5c627c62..b649163982d 100644 --- a/src/mame/drivers/gp_1.cpp +++ b/src/mame/drivers/gp_1.cpp @@ -71,7 +71,7 @@ private: uint8_t m_segment[16]; virtual void machine_reset() override; virtual void machine_start() override { m_digits.resolve(); } - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; optional_device m_sn; required_ioport m_io_dsw0; @@ -435,10 +435,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(gp_1_state::gp_1) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 2457600) - MCFG_DEVICE_PROGRAM_MAP(gp_1_map) - MCFG_DEVICE_IO_MAP(gp_1_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 2457600); + m_maincpu->set_addrmap(AS_PROGRAM, &gp_1_state::gp_1_map); + m_maincpu->set_addrmap(AS_IO, &gp_1_state::gp_1_io); + m_maincpu->set_daisy_config(daisy_chain); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/drivers/gp_2.cpp b/src/mame/drivers/gp_2.cpp index 5ec3687f581..85986796ccd 100644 --- a/src/mame/drivers/gp_2.cpp +++ b/src/mame/drivers/gp_2.cpp @@ -78,7 +78,7 @@ private: uint8_t m_segment[16]; virtual void machine_reset() override; virtual void machine_start() override { m_digits.resolve(); } - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_ioport m_io_dsw0; required_ioport m_io_dsw1; @@ -584,10 +584,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(gp_2_state::gp_2) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 2457600) - MCFG_DEVICE_PROGRAM_MAP(gp_2_map) - MCFG_DEVICE_IO_MAP(gp_2_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 2457600); + m_maincpu->set_addrmap(AS_PROGRAM, &gp_2_state::gp_2_map); + m_maincpu->set_addrmap(AS_IO, &gp_2_state::gp_2_io); + m_maincpu->set_daisy_config(daisy_chain); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/drivers/hazelgr.cpp b/src/mame/drivers/hazelgr.cpp index b2b4f41335b..46141b86cce 100644 --- a/src/mame/drivers/hazelgr.cpp +++ b/src/mame/drivers/hazelgr.cpp @@ -28,7 +28,7 @@ private: void io_map(address_map &map); void mem_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; }; @@ -74,10 +74,10 @@ static const z80_daisy_config daisy_chain[] = // All frequencies are guesswork, in an effort to get something to happen MACHINE_CONFIG_START(haze_state::haze) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80,2000000) /* ? MHz */ - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 2000000); /* ? MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &haze_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &haze_state::io_map); + m_maincpu->set_daisy_config(daisy_chain); clock_device &ctc_clock(CLOCK(config, "ctc_clock", 1'000'000)); ctc_clock.signal_handler().set("ctc1", FUNC(z80ctc_device::trg3)); diff --git a/src/mame/drivers/huebler.cpp b/src/mame/drivers/huebler.cpp index bf61d2251ef..ac7aacc2a0b 100644 --- a/src/mame/drivers/huebler.cpp +++ b/src/mame/drivers/huebler.cpp @@ -313,10 +313,10 @@ GFXDECODE_END MACHINE_CONFIG_START(amu880_state::amu880) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(10'000'000)/4) // U880D - MCFG_DEVICE_PROGRAM_MAP(amu880_mem) - MCFG_DEVICE_IO_MAP(amu880_io) - MCFG_Z80_DAISY_CHAIN(amu880_daisy_chain) + Z80(config, m_maincpu, XTAL(10'000'000)/4); // U880D + m_maincpu->set_addrmap(AS_PROGRAM, &amu880_state::amu880_mem); + m_maincpu->set_addrmap(AS_IO, &amu880_state::amu880_io); + m_maincpu->set_daisy_config(amu880_daisy_chain); MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", amu880_state, keyboard_tick, attotime::from_hz(1500)) @@ -336,14 +336,14 @@ MACHINE_CONFIG_START(amu880_state::amu880) MCFG_Z80CTC_ZC2_CB(WRITELINE(*this, amu880_state, ctc_z2_w)) z80pio_device& pio1(Z80PIO(config, Z80PIO1_TAG, XTAL(10'000'000)/4)); - pio1.out_int_callback().set_inputline(Z80_TAG, INPUT_LINE_IRQ0); + pio1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); z80pio_device& pio2(Z80PIO(config, Z80PIO2_TAG, XTAL(10'000'000)/4)); - pio2.out_int_callback().set_inputline(Z80_TAG, INPUT_LINE_IRQ0); + pio2.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); Z80SIO0(config, m_z80sio, XTAL(10'000'000)/4); // U856 m_z80sio->out_txda_callback().set(FUNC(amu880_state::cassette_w)); - m_z80sio->out_int_callback().set_inputline(Z80_TAG, INPUT_LINE_IRQ0); + m_z80sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED) diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp index 19fc24b10e0..730517e0490 100644 --- a/src/mame/drivers/isbc.cpp +++ b/src/mame/drivers/isbc.cpp @@ -468,14 +468,14 @@ MACHINE_CONFIG_START(isbc_state::isbc286) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") #if 0 - MCFG_DEVICE_ADD("uart8274", I8274, XTAL(16'000'000)/4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232a", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE("rs232a", rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE("rs232a", rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE("rs232b", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE("rs232b", rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE("rs232b", rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(WRITELINE(*this, isbc_state, isbc_uart8274_irq)) + I8274(config, m_uart8274, XTAL(16'000'000)/4); + m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); + m_uart8274->out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr)); + m_uart8274->out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts)); + m_uart8274->out_txdb_callback().set("rs232b", FUNC(rs232_port_device::write_txd)); + m_uart8274->out_dtrb_callback().set("rs232b", FUNC(rs232_port_device::write_dtr)); + m_uart8274->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); + m_uart8274->out_int_callback().set(FUNC(isbc_state::isbc_uart8274_irq)); #else I8274_NEW(config, m_uart8274, XTAL(16'000'000)/4); m_uart8274->out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd)); diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp index dab1e3d8e1f..6f7ead86d88 100644 --- a/src/mame/drivers/jankenmn.cpp +++ b/src/mame/drivers/jankenmn.cpp @@ -183,7 +183,7 @@ private: void jankenmn_map(address_map &map); void jankenmn_port_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; output_finder<2> m_digits; output_finder<16> m_lamps; }; @@ -385,10 +385,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(jankenmn_state::jankenmn) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK) /* 2.5 MHz */ - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(jankenmn_map) - MCFG_DEVICE_IO_MAP(jankenmn_port_map) + Z80(config, m_maincpu, MASTER_CLOCK); /* 2.5 MHz */ + m_maincpu->set_daisy_config(daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &jankenmn_state::jankenmn_map); + m_maincpu->set_addrmap(AS_IO, &jankenmn_state::jankenmn_port_map); MCFG_DEVICE_ADD("ppi8255_0", I8255, 0) /* (10-13) Mode 0 - Ports A & B set as input, high C & low C as output. */ diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp index 9c318fc794c..9d73efba2aa 100644 --- a/src/mame/drivers/joctronic.cpp +++ b/src/mame/drivers/joctronic.cpp @@ -74,7 +74,7 @@ private: void slalom03_sound_io_map(address_map &map); void slalom03_sound_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_device m_mainlatch; required_device m_soundcpu; optional_device m_oki; @@ -337,10 +337,10 @@ INPUT_PORTS_END MACHINE_CONFIG_START(joctronic_state::joctronic) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/4) // 3 MHz - uses WAIT - MCFG_DEVICE_PROGRAM_MAP(maincpu_map) // 139 - MCFG_DEVICE_IO_MAP(maincpu_io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(12'000'000)/4); // 3 MHz - uses WAIT + m_maincpu->set_addrmap(AS_PROGRAM, &joctronic_state::maincpu_map); // 139 + m_maincpu->set_addrmap(AS_IO, &joctronic_state::maincpu_io_map); + m_maincpu->set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("soundcpu", Z80, XTAL(12'000'000)/2) // 6 MHz - uses WAIT MCFG_DEVICE_PROGRAM_MAP(joctronic_sound_map) @@ -383,10 +383,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(joctronic_state::slalom03) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) // 6 MHz - uses WAIT - MCFG_DEVICE_PROGRAM_MAP(slalom03_maincpu_map) // 138, 368, 32 - MCFG_DEVICE_IO_MAP(maincpu_io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(12'000'000)/2); // 6 MHz - uses WAIT + m_maincpu->set_addrmap(AS_PROGRAM, &joctronic_state::slalom03_maincpu_map); // 138, 368, 32 + m_maincpu->set_addrmap(AS_IO, &joctronic_state::maincpu_io_map); + m_maincpu->set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("soundcpu", Z80, XTAL(12'000'000)/2) // 6 MHz - uses WAIT MCFG_DEVICE_PROGRAM_MAP(slalom03_sound_map) @@ -434,11 +434,11 @@ MACHINE_CONFIG_START(joctronic_state::slalom03) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END -MACHINE_CONFIG_START(joctronic_state::bldyrolr) +void joctronic_state::bldyrolr(machine_config & config) +{ slalom03(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(bldyrolr_maincpu_map) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &joctronic_state::bldyrolr_maincpu_map); +} /*------------------------------------------------------------------- diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp index 33b2ebc14e7..1cb1dff0271 100644 --- a/src/mame/drivers/kaypro.cpp +++ b/src/mame/drivers/kaypro.cpp @@ -197,10 +197,10 @@ static void kaypro_floppies(device_slot_interface &device) MACHINE_CONFIG_START(kaypro_state::kayproii) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 20_MHz_XTAL / 8) - MCFG_DEVICE_PROGRAM_MAP(kaypro_map) - MCFG_DEVICE_IO_MAP(kayproii_io) - MCFG_Z80_DAISY_CHAIN(kayproii_daisy_chain) + Z80(config, m_maincpu, 20_MHz_XTAL / 8); + m_maincpu->set_addrmap(AS_PROGRAM, &kaypro_state::kaypro_map); + m_maincpu->set_addrmap(AS_IO, &kaypro_state::kayproii_io); + m_maincpu->set_daisy_config(kayproii_daisy_chain); MCFG_MACHINE_START_OVERRIDE(kaypro_state, kayproii ) MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro ) @@ -286,10 +286,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(kaypro_state::kaypro484) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 16_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(kaypro_map) - MCFG_DEVICE_IO_MAP(kaypro484_io) - MCFG_Z80_DAISY_CHAIN(kaypro484_daisy_chain) + Z80(config, m_maincpu, 16_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &kaypro_state::kaypro_map); + m_maincpu->set_addrmap(AS_IO, &kaypro_state::kaypro484_io); + m_maincpu->set_daisy_config(kaypro484_daisy_chain); MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro ) diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp index d8a76b955b8..dcd91a68ccb 100644 --- a/src/mame/drivers/kdt6.cpp +++ b/src/mame/drivers/kdt6.cpp @@ -617,10 +617,10 @@ static const z80_daisy_config daisy_chain_intf[] = }; MACHINE_CONFIG_START(kdt6_state::psi98) - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(16'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(psi98_mem) - MCFG_DEVICE_IO_MAP(psi98_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_cpu, XTAL(16'000'000) / 4); + m_cpu->set_addrmap(AS_PROGRAM, &kdt6_state::psi98_mem); + m_cpu->set_addrmap(AS_IO, &kdt6_state::psi98_io); + m_cpu->set_daisy_config(daisy_chain_intf); // video hardware MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) diff --git a/src/mame/drivers/kenseim.cpp b/src/mame/drivers/kenseim.cpp index d47473dfc07..aec34d7a567 100644 --- a/src/mame/drivers/kenseim.cpp +++ b/src/mame/drivers/kenseim.cpp @@ -138,7 +138,7 @@ GND | 20 */ -// note: I've kept this code out of cps1.c as there is likely to be a substantial amount of game specific code here ones all the extra hardware is emulated +// note: I've kept this code out of cps1.cpp as there is likely to be a substantial amount of game specific code here ones all the extra hardware is emulated #include "emu.h" #include "cpu/z80/tmpz84c011.h" @@ -481,17 +481,17 @@ MACHINE_CONFIG_START(kenseim_state::kenseim) cps1_12MHz(config); /* basic machine hardware */ - MCFG_DEVICE_ADD("gamecpu", TMPZ84C011, XTAL(16'000'000)/2) // tmpz84c011-8 - MCFG_Z80_DAISY_CHAIN(daisy_chain_gamecpu) - MCFG_DEVICE_PROGRAM_MAP(kenseim_map) - MCFG_DEVICE_IO_MAP(kenseim_io_map) - MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(*this, kenseim_state, cpu_portc_w)) - MCFG_TMPZ84C011_PORTD_WRITE_CB(WRITE8(*this, kenseim_state, cpu_portd_w)) - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, kenseim_state, cpu_porte_w)) - MCFG_TMPZ84C011_PORTA_READ_CB(IOPORT("DSW1")) - MCFG_TMPZ84C011_PORTB_READ_CB(IOPORT("DSW2")) - MCFG_TMPZ84C011_PORTC_READ_CB(IOPORT("CAB-IN")) - MCFG_TMPZ84C011_PORTD_READ_CB(READ8(*this, kenseim_state, cpu_portd_r)) + tmpz84c011_device& gamecpu(TMPZ84C011(config, "gamecpu", XTAL(16'000'000)/2)); // tmpz84c011-8 + gamecpu.set_daisy_config(daisy_chain_gamecpu); + gamecpu.set_addrmap(AS_PROGRAM, &kenseim_state::kenseim_map); + gamecpu.set_addrmap(AS_IO, &kenseim_state::kenseim_io_map); + gamecpu.out_pc_callback().set(FUNC(kenseim_state::cpu_portc_w)); + gamecpu.out_pd_callback().set(FUNC(kenseim_state::cpu_portd_w)); + gamecpu.out_pe_callback().set(FUNC(kenseim_state::cpu_porte_w)); + gamecpu.in_pa_callback().set_ioport("DSW1"); + gamecpu.in_pb_callback().set_ioport("DSW2"); + gamecpu.in_pc_callback().set_ioport("CAB-IN"); + gamecpu.in_pd_callback().set(FUNC(kenseim_state::cpu_portd_r)); MCFG_MB89363B_ADD("mb89363b") // a,b,c always $80: all ports set as output diff --git a/src/mame/drivers/llc.cpp b/src/mame/drivers/llc.cpp index 06cf7bd8b95..4f7aa987a50 100644 --- a/src/mame/drivers/llc.cpp +++ b/src/mame/drivers/llc.cpp @@ -202,10 +202,10 @@ GFXDECODE_END /* Machine driver */ MACHINE_CONFIG_START(llc_state::llc1) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(3'000'000)) - MCFG_Z80_DAISY_CHAIN(llc1_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(llc1_mem) - MCFG_DEVICE_IO_MAP(llc1_io) + Z80(config, m_maincpu, XTAL(3'000'000)); + m_maincpu->set_daisy_config(llc1_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &llc_state::llc1_mem); + m_maincpu->set_addrmap(AS_IO, &llc_state::llc1_io); MCFG_MACHINE_START_OVERRIDE(llc_state, llc1 ) MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc1 ) @@ -246,10 +246,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(llc_state::llc2) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(3'000'000)) - MCFG_Z80_DAISY_CHAIN(llc2_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(llc2_mem) - MCFG_DEVICE_IO_MAP(llc2_io) + Z80(config, m_maincpu, XTAL(3'000'000)); + m_maincpu->set_daisy_config(llc2_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &llc_state::llc2_mem); + m_maincpu->set_addrmap(AS_IO, &llc_state::llc2_io); MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc2 ) diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp index 883ff137ac6..add6b9017af 100644 --- a/src/mame/drivers/m5.cpp +++ b/src/mame/drivers/m5.cpp @@ -277,7 +277,6 @@ Few other notes: #include "emu.h" #include "includes/m5.h" -#include "cpu/z80/z80.h" #include "machine/z80daisy.h" #include "machine/z80ctc.h" #include "sound/sn76496.h" @@ -1407,10 +1406,10 @@ void brno_state::machine_reset() MACHINE_CONFIG_START(m5_state::m5) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, 14.318181_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(m5_mem) - MCFG_DEVICE_IO_MAP(m5_io) - MCFG_Z80_DAISY_CHAIN(m5_daisy_chain) + Z80(config, m_maincpu, 14.318181_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &m5_state::m5_mem); + m_maincpu->set_addrmap(AS_IO, &m5_state::m5_io); + m_maincpu->set_daisy_config(m5_daisy_chain); MCFG_DEVICE_ADD(Z80_FD5_TAG, Z80, 14.318181_MHz_XTAL / 4) MCFG_DEVICE_PROGRAM_MAP(fd5_mem) @@ -1503,10 +1502,8 @@ MACHINE_CONFIG_START(brno_state::brno) m5(config); // basic machine hardware - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_PROGRAM_MAP(m5_mem_brno) - MCFG_DEVICE_IO_MAP(brno_io) -// MCFG_Z80_DAISY_CHAIN(m5_daisy_chain) + m_maincpu->set_addrmap(AS_PROGRAM, &brno_state::m5_mem_brno); + m_maincpu->set_addrmap(AS_IO, &brno_state::brno_io); //remove devices used for fd5 floppy diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp index 6c71e6a1263..a56a03fa10b 100644 --- a/src/mame/drivers/mbee.cpp +++ b/src/mame/drivers/mbee.cpp @@ -647,10 +647,10 @@ static void mbee_floppies(device_slot_interface &device) MACHINE_CONFIG_START(mbee_state::mbee) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 12_MHz_XTAL / 6) /* 2 MHz */ - MCFG_DEVICE_PROGRAM_MAP(mbee_mem) - MCFG_DEVICE_IO_MAP(mbee_io) - MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain) + Z80(config, m_maincpu, 12_MHz_XTAL / 6); /* 2 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbee_mem); + m_maincpu->set_addrmap(AS_IO, &mbee_state::mbee_io); + m_maincpu->set_daisy_config(mbee_daisy_chain); MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee) @@ -704,10 +704,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(mbee_state::mbeeic) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL_13_5MHz / 4) /* 3.37500 MHz */ - MCFG_DEVICE_PROGRAM_MAP(mbeeic_mem) - MCFG_DEVICE_IO_MAP(mbeeic_io) - MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain) + Z80(config, m_maincpu, XTAL_13_5MHz / 4); /* 3.37500 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbeeic_mem); + m_maincpu->set_addrmap(AS_IO, &mbee_state::mbeeic_io); + m_maincpu->set_daisy_config(mbee_daisy_chain); MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee) diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp index 03a6c62828e..69b2a888cd4 100644 --- a/src/mame/drivers/mcr.cpp +++ b/src/mame/drivers/mcr.cpp @@ -1752,10 +1752,11 @@ static const char *const twotiger_sample_names[] = MACHINE_CONFIG_START(mcr_state::mcr_90009) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MAIN_OSC_MCR_I/8) - MCFG_Z80_DAISY_CHAIN(mcr_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(cpu_90009_map) - MCFG_DEVICE_IO_MAP(cpu_90009_portmap) + Z80(config, m_maincpu, MAIN_OSC_MCR_I/8); + m_maincpu->set_daisy_config(mcr_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &mcr_state::cpu_90009_map); + m_maincpu->set_addrmap(AS_IO, &mcr_state::cpu_90009_portmap); + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mcr_state, mcr_interrupt, "screen", 0, 1) MCFG_DEVICE_ADD("ctc", Z80CTC, MAIN_OSC_MCR_I/8 /* same as "maincpu" */) @@ -1805,9 +1806,8 @@ MACHINE_CONFIG_START(mcr_state::mcr_90010) mcr_90009(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(cpu_90010_map) - MCFG_DEVICE_IO_MAP(cpu_90010_portmap) + m_maincpu->set_addrmap(AS_PROGRAM, &mcr_state::cpu_90010_map); + m_maincpu->set_addrmap(AS_IO, &mcr_state::cpu_90010_portmap); /* video hardware */ MCFG_PALETTE_MODIFY("palette") @@ -1852,10 +1852,9 @@ MACHINE_CONFIG_START(mcr_state::mcr_91490) mcr_90010(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK(5000000) - MCFG_DEVICE_PROGRAM_MAP(cpu_91490_map) - MCFG_DEVICE_IO_MAP(cpu_91490_portmap) + m_maincpu->set_clock(5000000); + m_maincpu->set_addrmap(AS_PROGRAM, &mcr_state::cpu_91490_map); + m_maincpu->set_addrmap(AS_IO, &mcr_state::cpu_91490_portmap); MCFG_DEVICE_MODIFY("ctc") MCFG_DEVICE_CLOCK(5000000 /* same as "maincpu" */) @@ -1878,10 +1877,11 @@ MACHINE_CONFIG_START(mcr_nflfoot_state::mcr_91490_ipu) mcr_91490_snt(config); /* basic machine hardware */ - MCFG_DEVICE_ADD(m_ipu, Z80, 7372800/2) - MCFG_Z80_DAISY_CHAIN(mcr_ipu_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(ipu_91695_map) - MCFG_DEVICE_IO_MAP(ipu_91695_portmap) + Z80(config, m_ipu, 7372800/2); + m_ipu->set_daisy_config(mcr_ipu_daisy_chain); + m_ipu->set_addrmap(AS_PROGRAM, &mcr_nflfoot_state::ipu_91695_map); + m_ipu->set_addrmap(AS_IO, &mcr_nflfoot_state::ipu_91695_portmap); + MCFG_TIMER_MODIFY("scantimer") MCFG_TIMER_DRIVER_CALLBACK(mcr_nflfoot_state, ipu_interrupt) diff --git a/src/mame/drivers/mcr3.cpp b/src/mame/drivers/mcr3.cpp index 552cce6b392..03bd561b0e5 100644 --- a/src/mame/drivers/mcr3.cpp +++ b/src/mame/drivers/mcr3.cpp @@ -1081,10 +1081,11 @@ GFXDECODE_END MACHINE_CONFIG_START(mcr3_state::mcrmono) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/4) - MCFG_DEVICE_PROGRAM_MAP(mcrmono_map) - MCFG_DEVICE_IO_MAP(mcrmono_portmap) - MCFG_Z80_DAISY_CHAIN(mcr_daisy_chain) + Z80(config, m_maincpu, MASTER_CLOCK/4); + m_maincpu->set_addrmap(AS_PROGRAM, &mcr3_state::mcrmono_map); + m_maincpu->set_addrmap(AS_IO, &mcr3_state::mcrmono_portmap); + m_maincpu->set_daisy_config(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" */) @@ -1163,9 +1164,8 @@ MACHINE_CONFIG_START(mcr3_state::mcrscroll) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(spyhunt_map) - MCFG_DEVICE_IO_MAP(spyhunt_portmap) + m_maincpu->set_addrmap(AS_PROGRAM, &mcr3_state::spyhunt_map); + m_maincpu->set_addrmap(AS_IO, &mcr3_state::spyhunt_portmap); /* video hardware */ MCFG_SCREEN_MODIFY("screen") diff --git a/src/mame/drivers/meritm.cpp b/src/mame/drivers/meritm.cpp index 53cc296b096..c626c223c90 100644 --- a/src/mame/drivers/meritm.cpp +++ b/src/mame/drivers/meritm.cpp @@ -223,7 +223,7 @@ private: required_device_array m_v9938; optional_device m_microtouch; optional_device m_uart; - required_device m_maincpu; + required_device m_maincpu; optional_memory_bank_array<3> m_banks; required_memory_region m_region_maincpu; optional_memory_region m_region_extra; @@ -1101,10 +1101,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(meritm_state::vblank_end_tick) } MACHINE_CONFIG_START(meritm_state::crt250) - MCFG_DEVICE_ADD(m_maincpu, Z80, SYSTEM_CLK/6) - MCFG_DEVICE_PROGRAM_MAP(crt250_map) - MCFG_DEVICE_IO_MAP(crt250_io_map) - MCFG_Z80_DAISY_CHAIN(meritm_daisy_chain) + Z80(config, m_maincpu, SYSTEM_CLK/6); + m_maincpu->set_addrmap(AS_PROGRAM, &meritm_state::crt250_map); + m_maincpu->set_addrmap(AS_IO, &meritm_state::crt250_io_map); + m_maincpu->set_daisy_config(meritm_daisy_chain); MCFG_DEVICE_ADD("ppi8255", I8255, 0) MCFG_I8255_OUT_PORTB_CB(WRITE8(*this, meritm_state, crt250_port_b_w)) // used LMP x DRIVE @@ -1150,15 +1150,17 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(meritm_state::crt250_questions) crt250(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(crt250_questions_map) + + m_maincpu->set_addrmap(AS_PROGRAM, &meritm_state::crt250_questions_map); + MCFG_MACHINE_START_OVERRIDE(meritm_state, crt250_questions) MACHINE_CONFIG_END MACHINE_CONFIG_START(meritm_state::crt250_crt252_crt258) crt250_questions(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(crt250_crt258_io_map) + + m_maincpu->set_addrmap(AS_IO, &meritm_state::crt250_crt258_io_map); + MCFG_MACHINE_START_OVERRIDE(meritm_state, crt250_crt252_crt258) MCFG_DEVICE_ADD(m_uart, NS16550, UART_CLK) @@ -1169,9 +1171,9 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(meritm_state::crt260) crt250(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(map) - MCFG_DEVICE_IO_MAP(io_map) + + m_maincpu->set_addrmap(AS_PROGRAM, &meritm_state::map); + m_maincpu->set_addrmap(AS_IO, &meritm_state::io_map); MCFG_DEVICE_REMOVE("ppi8255") MCFG_DEVICE_ADD("ppi8255", I8255A, 0) diff --git a/src/mame/drivers/mmm.cpp b/src/mame/drivers/mmm.cpp index d0b0d394eeb..8da2f58f904 100644 --- a/src/mame/drivers/mmm.cpp +++ b/src/mame/drivers/mmm.cpp @@ -33,7 +33,7 @@ private: void io_map(address_map &map); void mem_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_ioport_array<8> m_inputs; u8 m_strobe; @@ -175,10 +175,10 @@ static const z80_daisy_config mmm_daisy_chain[] = MACHINE_CONFIG_START(mmm_state::mmm) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80,2000000) /* ? MHz */ - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(mmm_daisy_chain) + Z80(config, m_maincpu, 2000000); /* ? MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &mmm_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &mmm_state::io_map); + m_maincpu->set_daisy_config(mmm_daisy_chain); MCFG_DEVICE_ADD("ctc", Z80CTC, 2000000) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/mpf1.cpp b/src/mame/drivers/mpf1.cpp index 0acdf1726bf..8ad13164092 100644 --- a/src/mame/drivers/mpf1.cpp +++ b/src/mame/drivers/mpf1.cpp @@ -358,11 +358,11 @@ void mpf1_state::machine_reset() MACHINE_CONFIG_START(mpf1_state::mpf1) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(3'579'545)/2) - MCFG_DEVICE_PROGRAM_MAP(mpf1_map) - MCFG_DEVICE_OPCODES_MAP(mpf1_step) - MCFG_DEVICE_IO_MAP(mpf1_io_map) - MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain) + Z80(config, m_maincpu, XTAL(3'579'545)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &mpf1_state::mpf1_map); + m_maincpu->set_addrmap(AS_OPCODES, &mpf1_state::mpf1_step); + m_maincpu->set_addrmap(AS_IO, &mpf1_state::mpf1_io_map); + m_maincpu->set_daisy_config(mpf1_daisy_chain); /* devices */ z80pio_device& pio(Z80PIO(config, Z80PIO_TAG, XTAL(3'579'545)/2)); @@ -392,11 +392,11 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(mpf1_state::mpf1b) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(3'579'545)/2) - MCFG_DEVICE_PROGRAM_MAP(mpf1b_map) - MCFG_DEVICE_OPCODES_MAP(mpf1_step) - MCFG_DEVICE_IO_MAP(mpf1b_io_map) - MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain) + Z80(config, m_maincpu, XTAL(3'579'545)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &mpf1_state::mpf1b_map); + m_maincpu->set_addrmap(AS_OPCODES, &mpf1_state::mpf1_step); + m_maincpu->set_addrmap(AS_IO, &mpf1_state::mpf1b_io_map); + m_maincpu->set_daisy_config(mpf1_daisy_chain); /* devices */ z80pio_device& pio(Z80PIO(config, Z80PIO_TAG, XTAL(3'579'545)/2)); @@ -429,11 +429,11 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(mpf1_state::mpf1p) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, 2500000) - MCFG_DEVICE_PROGRAM_MAP(mpf1p_map) - MCFG_DEVICE_OPCODES_MAP(mpf1_step) - MCFG_DEVICE_IO_MAP(mpf1p_io_map) - MCFG_Z80_DAISY_CHAIN(mpf1_daisy_chain) + Z80(config, m_maincpu, 2500000); + m_maincpu->set_addrmap(AS_PROGRAM, &mpf1_state::mpf1p_map); + m_maincpu->set_addrmap(AS_OPCODES, &mpf1_state::mpf1_step); + m_maincpu->set_addrmap(AS_IO, &mpf1_state::mpf1p_io_map); + m_maincpu->set_daisy_config(mpf1_daisy_chain); /* video hardware */ config.set_default_layout(layout_mpf1p); diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp index ca375bc6431..c7d0cc45913 100644 --- a/src/mame/drivers/mtx.cpp +++ b/src/mame/drivers/mtx.cpp @@ -286,10 +286,10 @@ WRITE_LINE_MEMBER(mtx_state::mtx_tms9929a_interrupt) MACHINE_CONFIG_START(mtx_state::mtx512) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(mtx_mem) - MCFG_DEVICE_IO_MAP(mtx_io) - MCFG_Z80_DAISY_CHAIN(mtx_daisy_chain) + Z80(config, m_maincpu, XTAL(4'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &mtx_state::mtx_mem); + m_maincpu->set_addrmap(AS_IO, &mtx_state::mtx_io); + m_maincpu->set_daisy_config(mtx_daisy_chain); MCFG_MACHINE_START_OVERRIDE(mtx_state,mtx512) MCFG_MACHINE_RESET_OVERRIDE(mtx_state,mtx512) @@ -360,13 +360,13 @@ void mtx_state::mtx500(machine_config &config) MACHINE_CONFIG_START( rs128 ) -------------------------------------------------*/ -MACHINE_CONFIG_START(mtx_state::rs128) +void mtx_state::rs128(machine_config &config) +{ mtx512(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY(Z80_TAG) - MCFG_DEVICE_IO_MAP(rs128_io) - MCFG_Z80_DAISY_CHAIN(rs128_daisy_chain) + m_maincpu->set_addrmap(AS_IO, &mtx_state::rs128_io); + m_maincpu->set_daisy_config(rs128_daisy_chain); /* devices */ Z80DART(config, m_z80dart, XTAL(4'000'000)); @@ -374,7 +374,7 @@ MACHINE_CONFIG_START(mtx_state::rs128) /* internal ram */ m_ram->set_default_size("128K").set_extra_options("192K,320K,448K,512K"); -MACHINE_CONFIG_END +} /*************************************************************************** ROMS diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp index 6f861789bd2..d39fadf3797 100644 --- a/src/mame/drivers/nanos.cpp +++ b/src/mame/drivers/nanos.cpp @@ -78,7 +78,7 @@ private: uint8_t m_key_pressed; uint8_t row_number(uint8_t code); - required_device m_maincpu; + required_device m_maincpu; required_device m_pio; required_device m_pio_0; required_device m_pio_1; @@ -467,10 +467,10 @@ GFXDECODE_END MACHINE_CONFIG_START(nanos_state::nanos) /* basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu,Z80, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(nanos_daisy_chain) + Z80(config, m_maincpu, XTAL(4'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &nanos_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &nanos_state::io_map); + m_maincpu->set_daisy_config(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 6b71fcabbd2..0230b862896 100644 --- a/src/mame/drivers/nbmj9195.cpp +++ b/src/mame/drivers/nbmj9195.cpp @@ -2492,39 +2492,39 @@ static const z80_daisy_config daisy_chain_sound[] = }; #define MSCOUTM_TMZ84C011_MAIN_PORTS \ - MCFG_TMPZ84C011_PORTA_READ_CB(IOPORT("SYSTEM")) \ - MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(*this, nbmj9195_state, mscoutm_inputportsel_w)) \ - MCFG_TMPZ84C011_PORTB_READ_CB(READ8(*this, nbmj9195_state, mscoutm_cpu_portb_r)) \ - MCFG_TMPZ84C011_PORTC_READ_CB(READ8(*this, nbmj9195_state, mscoutm_cpu_portc_r)) \ - MCFG_TMPZ84C011_PORTD_WRITE_CB(WRITE8(*this, nbmj9195_state, clutsel_w)) \ - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, nbmj9195_state, gfxflag2_w)) + m_maincpu->in_pa_callback().set_ioport("SYSTEM"); \ + m_maincpu->out_pa_callback().set(FUNC(nbmj9195_state::mscoutm_inputportsel_w)); \ + m_maincpu->in_pb_callback().set(FUNC(nbmj9195_state::mscoutm_cpu_portb_r)); \ + m_maincpu->in_pc_callback().set(FUNC(nbmj9195_state::mscoutm_cpu_portc_r)); \ + m_maincpu->out_pd_callback().set(FUNC(nbmj9195_state::clutsel_w)); \ + m_maincpu->out_pe_callback().set(FUNC(nbmj9195_state::gfxflag2_w)); #define OTHERS_TMZ84C011_MAIN_PORTS \ - MCFG_TMPZ84C011_PORTA_READ_CB(READ8(*this, nbmj9195_state, others_cpu_porta_r)) \ - MCFG_TMPZ84C011_PORTB_READ_CB(READ8(*this, nbmj9195_state, others_cpu_portb_r)) \ - MCFG_TMPZ84C011_PORTC_READ_CB(READ8(*this, nbmj9195_state, others_cpu_portc_r)) \ - MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(*this, nbmj9195_state, dipswbitsel_w)) \ - MCFG_TMPZ84C011_PORTD_WRITE_CB(WRITE8(*this, nbmj9195_state, clutsel_w)) \ - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, nbmj9195_state, outcoin_flag_w)) + m_maincpu->in_pa_callback().set(FUNC(nbmj9195_state::others_cpu_porta_r)); \ + m_maincpu->in_pb_callback().set(FUNC(nbmj9195_state::others_cpu_portb_r)); \ + m_maincpu->in_pc_callback().set(FUNC(nbmj9195_state::others_cpu_portc_r)); \ + m_maincpu->out_pc_callback().set(FUNC(nbmj9195_state::dipswbitsel_w)); \ + m_maincpu->out_pd_callback().set(FUNC(nbmj9195_state::clutsel_w)); \ + m_maincpu->out_pe_callback().set(FUNC(nbmj9195_state::outcoin_flag_w)); MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1_base) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", TMPZ84C011, 12000000/2) /* TMPZ84C011, 6.00 MHz */ - MCFG_Z80_DAISY_CHAIN(daisy_chain_main) - MCFG_DEVICE_PROGRAM_MAP(sailorws_map) - MCFG_DEVICE_IO_MAP(sailorws_io_map) - - MCFG_DEVICE_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */ - MCFG_Z80_DAISY_CHAIN(daisy_chain_sound) - MCFG_DEVICE_PROGRAM_MAP(sailorws_sound_map) - MCFG_DEVICE_IO_MAP(sailorws_sound_io_map) - MCFG_TMPZ84C011_ZC0_CB(WRITELINE("audiocpu", tmpz84c011_device, trg3)) - MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(*this, nbmj9195_state, soundbank_w)) \ - MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8("dac1", dac_byte_interface, data_w)) \ - MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8("dac2", dac_byte_interface, data_w)) \ - MCFG_TMPZ84C011_PORTD_READ_CB(READ8("soundlatch", generic_latch_8_device, read)) \ - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, nbmj9195_state, soundcpu_porte_w)) + TMPZ84C011(config, m_maincpu, 12000000/2); /* TMPZ84C011, 6.00 MHz */ + m_maincpu->set_daisy_config(daisy_chain_main); + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::sailorws_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::sailorws_io_map); + + tmpz84c011_device& audiocpu(TMPZ84C011(config, "audiocpu", 8000000)); /* TMPZ84C011, 8.00 MHz */ + audiocpu.set_daisy_config(daisy_chain_sound); + audiocpu.set_addrmap(AS_PROGRAM, &nbmj9195_state::sailorws_sound_map); + audiocpu.set_addrmap(AS_IO, &nbmj9195_state::sailorws_sound_io_map); + audiocpu.zc0_callback().set(FUNC(tmpz84c011_device::trg3)); + audiocpu.out_pa_callback().set(FUNC(nbmj9195_state::soundbank_w)); + audiocpu.out_pb_callback().set("dac1", FUNC(dac_byte_interface::data_w)); + audiocpu.out_pc_callback().set("dac2", FUNC(dac_byte_interface::data_w)); + audiocpu.in_pd_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); + audiocpu.out_pe_callback().set(FUNC(nbmj9195_state::soundcpu_porte_w)); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); @@ -2557,7 +2557,6 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1) NBMJDRV1_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") OTHERS_TMZ84C011_MAIN_PORTS MACHINE_CONFIG_END @@ -2566,7 +2565,6 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV2) NBMJDRV1_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") OTHERS_TMZ84C011_MAIN_PORTS /* video hardware */ @@ -2578,7 +2576,6 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV3) NBMJDRV1_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") MSCOUTM_TMZ84C011_MAIN_PORTS /* video hardware */ @@ -2595,9 +2592,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mjuraden) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mjuraden_map) - MCFG_DEVICE_IO_MAP(mjuraden_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mjuraden_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjuraden_io_map); MACHINE_CONFIG_END @@ -2605,9 +2601,8 @@ MACHINE_CONFIG_START(nbmj9195_state::koinomp) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(koinomp_map) - MCFG_DEVICE_IO_MAP(koinomp_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::koinomp_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::koinomp_io_map); MACHINE_CONFIG_END @@ -2615,17 +2610,12 @@ MACHINE_CONFIG_START(nbmj9195_state::patimono) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(patimono_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::patimono_io_map); MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj9195_state::janbari) - NBMJDRV1(config); - - /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(patimono_io_map) + patimono(config); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END @@ -2635,21 +2625,15 @@ MACHINE_CONFIG_START(nbmj9195_state::mmehyou) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(koinomp_map) - MCFG_DEVICE_IO_MAP(mmehyou_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::koinomp_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mmehyou_io_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END MACHINE_CONFIG_START(nbmj9195_state::ultramhm) - NBMJDRV1(config); - - /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(koinomp_map) - MCFG_DEVICE_IO_MAP(koinomp_io_map) + koinomp(config); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END @@ -2659,8 +2643,7 @@ MACHINE_CONFIG_START(nbmj9195_state::gal10ren) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(gal10ren_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::gal10ren_io_map); MACHINE_CONFIG_END @@ -2668,8 +2651,7 @@ MACHINE_CONFIG_START(nbmj9195_state::renaiclb) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(renaiclb_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::renaiclb_io_map); MACHINE_CONFIG_END @@ -2677,8 +2659,7 @@ MACHINE_CONFIG_START(nbmj9195_state::mjlaman) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(mjlaman_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjlaman_io_map); MACHINE_CONFIG_END @@ -2686,8 +2667,7 @@ MACHINE_CONFIG_START(nbmj9195_state::mkeibaou) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(mkeibaou_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mkeibaou_io_map); MACHINE_CONFIG_END @@ -2695,8 +2675,7 @@ MACHINE_CONFIG_START(nbmj9195_state::pachiten) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(pachiten_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::pachiten_io_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END @@ -2713,8 +2692,7 @@ MACHINE_CONFIG_START(nbmj9195_state::sailorwr) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(sailorwr_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::sailorwr_io_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END @@ -2724,8 +2702,7 @@ MACHINE_CONFIG_START(nbmj9195_state::psailor1) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(psailor1_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::psailor1_io_map); MACHINE_CONFIG_END @@ -2733,8 +2710,7 @@ MACHINE_CONFIG_START(nbmj9195_state::psailor2) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(psailor2_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::psailor2_io_map); MACHINE_CONFIG_END @@ -2742,8 +2718,7 @@ MACHINE_CONFIG_START(nbmj9195_state::otatidai) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(otatidai_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::otatidai_io_map); MACHINE_CONFIG_END @@ -2751,8 +2726,7 @@ MACHINE_CONFIG_START(nbmj9195_state::yosimoto) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(yosimoto_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::yosimoto_io_map); MACHINE_CONFIG_END @@ -2760,8 +2734,7 @@ MACHINE_CONFIG_START(nbmj9195_state::yosimotm) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(yosimotm_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::yosimotm_io_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MACHINE_CONFIG_END @@ -2771,8 +2744,7 @@ MACHINE_CONFIG_START(nbmj9195_state::jituroku) NBMJDRV1(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(jituroku_io_map) + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::jituroku_io_map); MACHINE_CONFIG_END @@ -2780,9 +2752,8 @@ MACHINE_CONFIG_START(nbmj9195_state::ngpgal) NBMJDRV2(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ngpgal_map) - MCFG_DEVICE_IO_MAP(ngpgal_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::ngpgal_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::ngpgal_io_map); MACHINE_CONFIG_END @@ -2790,9 +2761,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mjgottsu) NBMJDRV2(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ngpgal_map) - MCFG_DEVICE_IO_MAP(mjgottsu_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::ngpgal_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjgottsu_io_map); MACHINE_CONFIG_END @@ -2801,8 +2771,8 @@ MACHINE_CONFIG_START(nbmj9195_state::bakuhatu) /* basic machine hardware */ MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ngpgal_map) - MCFG_DEVICE_IO_MAP(mjgottsu_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::ngpgal_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjgottsu_io_map); MACHINE_CONFIG_END @@ -2810,9 +2780,8 @@ MACHINE_CONFIG_START(nbmj9195_state::cmehyou) NBMJDRV2(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(ngpgal_map) - MCFG_DEVICE_IO_MAP(cmehyou_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::ngpgal_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::cmehyou_io_map); MACHINE_CONFIG_END @@ -2820,9 +2789,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mjkoiura) NBMJDRV2(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mjuraden_map) - MCFG_DEVICE_IO_MAP(mjkoiura_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mjuraden_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjkoiura_io_map); MACHINE_CONFIG_END @@ -2830,9 +2798,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mkoiuraa) NBMJDRV2(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mjuraden_map) - MCFG_DEVICE_IO_MAP(mkoiuraa_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mjuraden_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mkoiuraa_io_map); MACHINE_CONFIG_END @@ -2840,9 +2807,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mscoutm) NBMJDRV3(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mscoutm_map) - MCFG_DEVICE_IO_MAP(mscoutm_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mscoutm_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mscoutm_io_map); MACHINE_CONFIG_END @@ -2850,9 +2816,8 @@ MACHINE_CONFIG_START(nbmj9195_state::imekura) NBMJDRV3(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mjegolf_map) - MCFG_DEVICE_IO_MAP(imekura_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mjegolf_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::imekura_io_map); MACHINE_CONFIG_END @@ -2860,9 +2825,8 @@ MACHINE_CONFIG_START(nbmj9195_state::mjegolf) NBMJDRV3(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(mjegolf_map) - MCFG_DEVICE_IO_MAP(mjegolf_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &nbmj9195_state::mjegolf_map); + m_maincpu->set_addrmap(AS_IO, &nbmj9195_state::mjegolf_io_map); MACHINE_CONFIG_END diff --git a/src/mame/drivers/nichild.cpp b/src/mame/drivers/nichild.cpp index 6f190f115f1..91aeed4f902 100644 --- a/src/mame/drivers/nichild.cpp +++ b/src/mame/drivers/nichild.cpp @@ -69,7 +69,7 @@ private: virtual void machine_start() override; virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_v9938; required_region_ptr m_gfxrom; uint32_t m_gfx_bank; @@ -233,17 +233,17 @@ INTERRUPT_GEN_MEMBER(nichild_state::vdp_irq) MACHINE_CONFIG_START(nichild_state::nichild) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",TMPZ84C011,MAIN_CLOCK/4) -// MCFG_Z80_DAISY_CHAIN(daisy_chain_main) - MCFG_DEVICE_PROGRAM_MAP(nichild_map) - MCFG_DEVICE_IO_MAP(nichild_io) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", nichild_state, vdp_irq) - MCFG_TMPZ84C011_PORTB_READ_CB(READ8(*this, nichild_state, mux_r)) - MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(*this, nichild_state, porta_w)) - MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8(*this, nichild_state, portb_w)) - MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(*this, nichild_state, portc_w)) - MCFG_TMPZ84C011_PORTD_WRITE_CB(WRITE8(*this, nichild_state, portd_w)) - MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(*this, nichild_state, gfxbank_w)) + TMPZ84C011(config, m_maincpu, MAIN_CLOCK/4); + //m_maincpu->set_daisy_config(daisy_chain_main); + m_maincpu->set_addrmap(AS_PROGRAM, &nichild_state::nichild_map); + m_maincpu->set_addrmap(AS_IO, &nichild_state::nichild_io); + m_maincpu->set_vblank_int("screen", FUNC(nichild_state::vdp_irq)); + m_maincpu->in_pb_callback().set(FUNC(nichild_state::mux_r)); + m_maincpu->out_pa_callback().set(FUNC(nichild_state::porta_w)); + m_maincpu->out_pb_callback().set(FUNC(nichild_state::portb_w)); + m_maincpu->out_pc_callback().set(FUNC(nichild_state::portc_w)); + m_maincpu->out_pd_callback().set(FUNC(nichild_state::portd_w)); + m_maincpu->out_pe_callback().set(FUNC(nichild_state::gfxbank_w)); /* video hardware */ MCFG_V9938_ADD("v9938", "screen", 0x40000, MAIN_CLOCK) diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp index 44ee1622344..b3324e2adaa 100644 --- a/src/mame/drivers/osbexec.cpp +++ b/src/mame/drivers/osbexec.cpp @@ -54,7 +54,7 @@ public: void init_osbexec(); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_screen; required_device m_mb8877; required_device m_messram; @@ -528,10 +528,10 @@ static const z80_daisy_config osbexec_daisy_config[] = MACHINE_CONFIG_START(osbexec_state::osbexec) - MCFG_DEVICE_ADD(m_maincpu, Z80, MAIN_CLOCK/6) - MCFG_DEVICE_PROGRAM_MAP(osbexec_mem) - MCFG_DEVICE_IO_MAP(osbexec_io) - MCFG_Z80_DAISY_CHAIN(osbexec_daisy_config) + Z80(config, m_maincpu, MAIN_CLOCK/6); + m_maincpu->set_addrmap(AS_PROGRAM, &osbexec_state::osbexec_mem); + m_maincpu->set_addrmap(AS_IO, &osbexec_state::osbexec_io); + m_maincpu->set_daisy_config(osbexec_daisy_config); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_color(rgb_t::green()); diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp index 5aa1240db72..8b8997c6382 100644 --- a/src/mame/drivers/p8k.cpp +++ b/src/mame/drivers/p8k.cpp @@ -116,7 +116,7 @@ private: void p8k_iomap(address_map &map); void p8k_memmap(address_map &map); - required_device m_maincpu; + required_device m_maincpu; // Z80 or Z8001 depending on the machine optional_device m_daisy; optional_device m_pio2; optional_device m_i8272; @@ -417,20 +417,21 @@ GFXDECODE_END MACHINE_CONFIG_START(p8k_state::p8k) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000) ) - MCFG_Z80_DAISY_CHAIN(p8k_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(p8k_memmap) - MCFG_DEVICE_IO_MAP(p8k_iomap) + z80_device& maincpu(Z80(config, "maincpu", XTAL(4'000'000))); + maincpu.set_daisy_config(p8k_daisy_chain); + maincpu.set_addrmap(AS_PROGRAM, &p8k_state::p8k_memmap); + maincpu.set_addrmap(AS_IO, &p8k_state::p8k_iomap); + MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k) /* peripheral hardware */ - MCFG_DEVICE_ADD("dma", Z80DMA, XTAL(4'000'000)) - MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, p8k_state, p8k_dma_irq_w)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, p8k_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, p8k_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, p8k_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, p8k_state, io_write_byte)) + z80dma_device& dma(Z80DMA(config, "dma", XTAL(4'000'000))); + dma.out_busreq_callback().set(FUNC(p8k_state::p8k_dma_irq_w)); + dma.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + dma.in_mreq_callback().set(FUNC(p8k_state::memory_read_byte)); + dma.out_mreq_callback().set(FUNC(p8k_state::memory_write_byte)); + dma.in_iorq_callback().set(FUNC(p8k_state::io_read_byte)); + dma.out_iorq_callback().set(FUNC(p8k_state::io_write_byte)); clock_device &uart_clock(CLOCK(config, "uart_clock", 307200)); uart_clock.signal_handler().set("sio", FUNC(z80sio_device::txcb_w)); @@ -491,8 +492,8 @@ MACHINE_CONFIG_START(p8k_state::p8k_16) MCFG_DEVICE_IO_MAP(p8k_16_iomap) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("p8k_16_daisy", p8k_16_daisy_device, irq_callback) - MCFG_DEVICE_ADD("p8k_16_daisy", P8K_16_DAISY, 0) - MCFG_Z80_DAISY_CHAIN(p8k_16_daisy_chain) + P8K_16_DAISY(config, m_daisy, 0); + m_daisy->set_daisy_config(p8k_16_daisy_chain); clock_device &uart_clock(CLOCK(config, "uart_clock", 307200)); uart_clock.signal_handler().set("sio", FUNC(z80sio_device::txcb_w)); diff --git a/src/mame/drivers/pasopia.cpp b/src/mame/drivers/pasopia.cpp index a2e8618584b..cf9fcca69ea 100644 --- a/src/mame/drivers/pasopia.cpp +++ b/src/mame/drivers/pasopia.cpp @@ -72,7 +72,7 @@ private: emu_timer *m_pio_timer; virtual void machine_start() override; virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_chargen; required_region_ptr m_p_vram; required_device m_ppi0; @@ -288,10 +288,11 @@ We preset all banks here, so that bankswitching will incur no speed penalty. MACHINE_CONFIG_START(pasopia_state::pasopia) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 4000000) - MCFG_DEVICE_PROGRAM_MAP(pasopia_map) - MCFG_DEVICE_IO_MAP(pasopia_io) - MCFG_Z80_DAISY_CHAIN(pasopia_daisy) + + Z80(config, m_maincpu, 4000000); + m_maincpu->set_addrmap(AS_PROGRAM, &pasopia_state::pasopia_map); + m_maincpu->set_addrmap(AS_IO, &pasopia_state::pasopia_io); + m_maincpu->set_daisy_config(pasopia_daisy); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index 81752f73fad..0c9ba749f85 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -130,7 +130,7 @@ private: void draw_tv_screen(bitmap_ind16 &bitmap,const rectangle &cliprect,int width); void draw_mixed_screen(bitmap_ind16 &bitmap,const rectangle &cliprect,int width); - required_device m_maincpu; + required_device m_maincpu; required_device m_screen; required_device m_ppi0; required_device m_ppi1; @@ -923,11 +923,10 @@ static void pasopia7_floppies(device_slot_interface &device) MACHINE_CONFIG_START(pasopia7_state::p7_base) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(pasopia7_mem) - MCFG_DEVICE_IO_MAP(pasopia7_io) - MCFG_Z80_DAISY_CHAIN(p7_daisy) - + Z80(config, m_maincpu, XTAL(4'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &pasopia7_state::pasopia7_mem); + m_maincpu->set_addrmap(AS_IO, &pasopia7_state::pasopia7_io); + m_maincpu->set_daisy_config(p7_daisy); /* Audio */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/pbaction.cpp b/src/mame/drivers/pbaction.cpp index f5ad0127328..f0fa82c58aa 100644 --- a/src/mame/drivers/pbaction.cpp +++ b/src/mame/drivers/pbaction.cpp @@ -68,7 +68,6 @@ Stephh's notes (based on the game Z80 code and some tests) : #include "emu.h" #include "includes/pbaction.h" -#include "cpu/z80/z80.h" #include "sound/ay8910.h" #include "machine/segacrpt_device.h" #include "screen.h" @@ -327,10 +326,10 @@ MACHINE_CONFIG_START(pbaction_state::pbaction) MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ MCFG_DEVICE_PROGRAM_MAP(pbaction_map) - MCFG_DEVICE_ADD("audiocpu", Z80, 3072000) - MCFG_DEVICE_PROGRAM_MAP(pbaction_sound_map) - MCFG_DEVICE_IO_MAP(pbaction_sound_io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_audiocpu, 3072000); + m_audiocpu->set_addrmap(AS_PROGRAM, &pbaction_state::pbaction_sound_map); + m_audiocpu->set_addrmap(AS_IO, &pbaction_state::pbaction_sound_io_map); + m_audiocpu->set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("ctc", Z80CTC, 3072000) MCFG_Z80CTC_INTR_CB(ASSERTLINE("audiocpu", 0)) @@ -367,9 +366,8 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(pbaction_state::pbaction2) pbaction(config); - MCFG_DEVICE_MODIFY("audiocpu") - MCFG_DEVICE_PROGRAM_MAP(pbaction2_sound_map) - MCFG_Z80_SET_IRQACK_CALLBACK(WRITELINE(*this, pbaction_state, sound_irq_clear)) + m_audiocpu->set_addrmap(AS_PROGRAM, &pbaction_state::pbaction2_sound_map); + m_audiocpu->irqack_cb().set(FUNC(pbaction_state::sound_irq_clear)); MACHINE_CONFIG_END MACHINE_CONFIG_START(pbaction_state::pbactionx) diff --git a/src/mame/drivers/pcm.cpp b/src/mame/drivers/pcm.cpp index 4f521bd362b..487b1316a75 100644 --- a/src/mame/drivers/pcm.cpp +++ b/src/mame/drivers/pcm.cpp @@ -98,7 +98,7 @@ private: bool m_cone; uint8_t m_85; virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_pio_s; required_device m_pio_u; required_device m_ctc_s; @@ -258,10 +258,10 @@ GFXDECODE_END MACHINE_CONFIG_START(pcm_state::pcm) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(10'000'000) /4) - MCFG_DEVICE_PROGRAM_MAP(pcm_mem) - MCFG_DEVICE_IO_MAP(pcm_io) - MCFG_Z80_DAISY_CHAIN(pcm_daisy_chain) + Z80(config, m_maincpu, XTAL(10'000'000) /4); + m_maincpu->set_addrmap(AS_PROGRAM, &pcm_state::pcm_mem); + m_maincpu->set_addrmap(AS_IO, &pcm_state::pcm_io); + m_maincpu->set_daisy_config(pcm_daisy_chain); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/pipeline.cpp b/src/mame/drivers/pipeline.cpp index cf1bd9057b1..a7a58ce0928 100644 --- a/src/mame/drivers/pipeline.cpp +++ b/src/mame/drivers/pipeline.cpp @@ -365,10 +365,10 @@ MACHINE_CONFIG_START(pipeline_state::pipeline) MCFG_DEVICE_ADD("maincpu", Z80, 7372800/2) MCFG_DEVICE_PROGRAM_MAP(cpu0_mem) - MCFG_DEVICE_ADD("audiocpu", Z80, 7372800/2) - MCFG_Z80_DAISY_CHAIN(daisy_chain_sound) - MCFG_DEVICE_PROGRAM_MAP(cpu1_mem) - MCFG_DEVICE_IO_MAP(sound_port) + z80_device& audiocpu(Z80(config, "audiocpu", 7372800/2)); + audiocpu.set_daisy_config(daisy_chain_sound); + audiocpu.set_addrmap(AS_PROGRAM, &pipeline_state::cpu1_mem); + audiocpu.set_addrmap(AS_IO, &pipeline_state::sound_port); MCFG_DEVICE_ADD("mcu", M68705R3, 7372800/2) MCFG_M68705_PORTA_W_CB(WRITE8(*this, pipeline_state, mcu_portA_w)) diff --git a/src/mame/drivers/polyplay.cpp b/src/mame/drivers/polyplay.cpp index 9e1f33e4674..46d04b71828 100644 --- a/src/mame/drivers/polyplay.cpp +++ b/src/mame/drivers/polyplay.cpp @@ -129,7 +129,6 @@ playing the automaton. Bits 0-2 of PORTB control the organ. #include "emu.h" #include "includes/polyplay.h" -#include "cpu/z80/z80.h" #include "machine/z80daisy.h" #include "screen.h" @@ -279,11 +278,11 @@ GFXDECODE_END /* the machine driver */ MACHINE_CONFIG_START(polyplay_state::polyplay_zre) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80CPU_TAG, Z80, POLYPLAY_MAIN_CLOCK / 4) /* UB880D */ - MCFG_Z80_DAISY_CHAIN(daisy_chain_zre) - MCFG_DEVICE_PROGRAM_MAP(polyplay_mem_zre) - MCFG_DEVICE_IO_MAP(polyplay_io_zre) - MCFG_DEVICE_PERIODIC_INT_DRIVER(polyplay_state, nmi_handler, 100) /* A302 - zero cross detection from AC (50Hz) */ + Z80(config, m_maincpu, POLYPLAY_MAIN_CLOCK / 4); /* UB880D */ + m_maincpu->set_daisy_config(daisy_chain_zre); + m_maincpu->set_addrmap(AS_PROGRAM, &polyplay_state::polyplay_mem_zre); + m_maincpu->set_addrmap(AS_IO, &polyplay_state::polyplay_io_zre); + m_maincpu->set_periodic_int(FUNC(polyplay_state::nmi_handler), attotime::from_hz(100)); /* A302 - zero cross detection from AC (50Hz) */ /* devices */ MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, POLYPLAY_MAIN_CLOCK / 4) /* UB857D */ @@ -319,19 +318,19 @@ MACHINE_CONFIG_START(polyplay_state::polyplay_zre) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) MACHINE_CONFIG_END -MACHINE_CONFIG_START(polyplay_state::polyplay_zrepp) +void polyplay_state::polyplay_zrepp(machine_config &config) +{ polyplay_zre(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY(Z80CPU_TAG) /* UB880D */ - MCFG_Z80_DAISY_CHAIN(daisy_chain_zrepp) - MCFG_DEVICE_PROGRAM_MAP(polyplay_mem_zrepp) - MCFG_DEVICE_IO_MAP(polyplay_io_zrepp) + m_maincpu->set_daisy_config(daisy_chain_zrepp); + m_maincpu->set_addrmap(AS_PROGRAM, &polyplay_state::polyplay_mem_zrepp); + m_maincpu->set_addrmap(AS_IO, &polyplay_state::polyplay_io_zrepp); /* devices */ Z80SIO(config, m_z80sio, POLYPLAY_MAIN_CLOCK / 4); /* UB8560D */ m_z80sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); -MACHINE_CONFIG_END +} /* ROM loading and mapping */ diff --git a/src/mame/drivers/proconn.cpp b/src/mame/drivers/proconn.cpp index 443290a563c..2872ee91d0c 100644 --- a/src/mame/drivers/proconn.cpp +++ b/src/mame/drivers/proconn.cpp @@ -134,7 +134,7 @@ private: // devices optional_device m_vfd; - required_device m_maincpu; + required_device m_maincpu; required_device_array m_z80pio; required_device m_z80ctc; required_device m_z80sio; @@ -266,10 +266,11 @@ void proconn_state::machine_reset() } MACHINE_CONFIG_START(proconn_state::proconn) - MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* ?? Mhz */ - MCFG_Z80_DAISY_CHAIN(z80_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(proconn_map) - MCFG_DEVICE_IO_MAP(proconn_portmap) + Z80(config, m_maincpu, 4000000); /* ?? Mhz */ + m_maincpu->set_daisy_config(z80_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &proconn_state::proconn_map); + m_maincpu->set_addrmap(AS_IO, &proconn_state::proconn_portmap); + MCFG_S16LF01_ADD("vfd",0) Z80PIO(config, m_z80pio[0], 4000000); /* ?? Mhz */ diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp index 65b3dcf6a41..61d9c26b0de 100644 --- a/src/mame/drivers/pulsar.cpp +++ b/src/mame/drivers/pulsar.cpp @@ -78,7 +78,7 @@ private: void mem_map(address_map &map); floppy_image_device *m_floppy; - required_device m_maincpu; + required_device m_maincpu; required_device m_fdc; required_device m_floppy0; required_device m_floppy1; @@ -211,10 +211,11 @@ void pulsar_state::init_pulsar() MACHINE_CONFIG_START(pulsar_state::pulsar) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 4_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, 4_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &pulsar_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &pulsar_state::io_map); + m_maincpu->set_daisy_config(daisy_chain_intf); + MCFG_MACHINE_RESET_OVERRIDE(pulsar_state, pulsar) /* Devices */ @@ -226,11 +227,11 @@ MACHINE_CONFIG_START(pulsar_state::pulsar) MCFG_DEVICE_ADD("rtc", MSM5832, 32.768_kHz_XTAL) - MCFG_DEVICE_ADD("dart", Z80DART, 4_MHz_XTAL) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE("rs232", rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE("rs232", rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) + z80dart_device& dart(Z80DART(config, "dart", 4_MHz_XTAL)); + dart.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); + dart.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); + dart.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); + dart.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(WRITELINE("dart", z80dart_device, rxa_w)) diff --git a/src/mame/drivers/pve500.cpp b/src/mame/drivers/pve500.cpp index 8bd673128cb..36ef29b6d1c 100644 --- a/src/mame/drivers/pve500.cpp +++ b/src/mame/drivers/pve500.cpp @@ -374,10 +374,10 @@ MACHINE_CONFIG_START(pve500_state::pve500) MCFG_DEVICE_ADD("external_ctc", Z80CTC, 12_MHz_XTAL / 2) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_DEVICE_ADD("external_sio", Z80SIO0, 12_MHz_XTAL / 2) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("player2", rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE("edl_inout", rs232_port_device, write_txd)) + z80sio0_device& sio(Z80SIO0(config, "external_sio", 12_MHz_XTAL / 2)); + sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + sio.out_txda_callback().set("player2", FUNC(rs232_port_device::write_txd)); + sio.out_txdb_callback().set("edl_inout", FUNC(rs232_port_device::write_txd)); /* Secondary CPU */ MCFG_DEVICE_ADD("subcpu", TMPZ84C015, 12_MHz_XTAL / 2) /* TMPZ84C015BF-6 */ diff --git a/src/mame/drivers/qvt103.cpp b/src/mame/drivers/qvt103.cpp index bda819393b2..71621eeb96b 100644 --- a/src/mame/drivers/qvt103.cpp +++ b/src/mame/drivers/qvt103.cpp @@ -32,7 +32,7 @@ private: void io_map(address_map &map); void mem_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_chargen; }; @@ -68,10 +68,10 @@ static const z80_daisy_config daisy_chain[] = }; MACHINE_CONFIG_START(qvt103_state::qvt103) - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(29'376'000) / 9) // divider guessed - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(29'376'000) / 9); // divider guessed + m_maincpu->set_addrmap(AS_PROGRAM, &qvt103_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &qvt103_state::io_map); + m_maincpu->set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL(29'376'000) / 9) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp index fc6d4e78350..e30dfa2b666 100644 --- a/src/mame/drivers/rc702.cpp +++ b/src/mame/drivers/rc702.cpp @@ -89,7 +89,7 @@ private: bool m_eop; bool m_dack1; required_device m_palette; - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_chargen; required_device m_ctc1; required_device m_pio; @@ -329,10 +329,10 @@ static void floppies(device_slot_interface &device) MACHINE_CONFIG_START(rc702_state::rc702) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000) / 2) - MCFG_DEVICE_PROGRAM_MAP(rc702_mem) - MCFG_DEVICE_IO_MAP(rc702_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) + Z80(config, m_maincpu, XTAL(8'000'000) / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &rc702_state::rc702_mem); + m_maincpu->set_addrmap(AS_IO, &rc702_state::rc702_io); + m_maincpu->set_daisy_config(daisy_chain_intf); CLOCK(config, "ctc_clock", 614000).signal_handler().set(FUNC(rc702_state::clock_w)); diff --git a/src/mame/drivers/rt1715.cpp b/src/mame/drivers/rt1715.cpp index c9f1ecee025..c07b1320eb8 100644 --- a/src/mame/drivers/rt1715.cpp +++ b/src/mame/drivers/rt1715.cpp @@ -59,7 +59,7 @@ private: int m_led1_val; int m_led2_val; - required_device m_maincpu; + required_device m_maincpu; required_device m_ram; }; @@ -286,11 +286,10 @@ static const z80_daisy_config rt1715_daisy_chain[] = MACHINE_CONFIG_START(rt1715_state::rt1715) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 9.832_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(rt1715_mem) - MCFG_DEVICE_IO_MAP(rt1715_io) - MCFG_Z80_DAISY_CHAIN(rt1715_daisy_chain) - + Z80(config, m_maincpu, 9.832_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &rt1715_state::rt1715_mem); + m_maincpu->set_addrmap(AS_IO, &rt1715_state::rt1715_io); + m_maincpu->set_daisy_config(rt1715_daisy_chain); /* keyboard */ MCFG_DEVICE_ADD("keyboard", Z80, 683000) diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp index 6e120ed45ed..00ea6ef9df6 100644 --- a/src/mame/drivers/senjyo.cpp +++ b/src/mame/drivers/senjyo.cpp @@ -555,10 +555,10 @@ MACHINE_CONFIG_START(senjyo_state::senjyo) MCFG_DEVICE_PROGRAM_MAP(senjyo_map) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", senjyo_state, irq0_line_assert) - MCFG_DEVICE_ADD("sub", Z80, 2000000) /* 2 MHz? */ - MCFG_Z80_DAISY_CHAIN(senjyo_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(senjyo_sound_map) - MCFG_DEVICE_IO_MAP(senjyo_sound_io_map) + z80_device& sub(Z80(config, "sub", 2000000)); /* 2 MHz? */ + sub.set_daisy_config(senjyo_daisy_chain); + sub.set_addrmap(AS_PROGRAM, &senjyo_state::senjyo_sound_map); + sub.set_addrmap(AS_IO, &senjyo_state::senjyo_sound_io_map); Z80PIO(config, m_pio, 2000000); m_pio->out_int_callback().set_inputline("sub", INPUT_LINE_IRQ0); diff --git a/src/mame/drivers/stargame.cpp b/src/mame/drivers/stargame.cpp index e7cd7a4ab6a..40a10142284 100644 --- a/src/mame/drivers/stargame.cpp +++ b/src/mame/drivers/stargame.cpp @@ -40,7 +40,7 @@ private: void maincpu_io(address_map &map); void maincpu_map(address_map &map); - required_device m_maincpu; + required_device m_maincpu; required_device m_audiocpu; required_device m_ctc; }; @@ -105,10 +105,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(stargame_state::stargame) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 15000000 / 4) // clock line marked as CK4 and derived from 15MHz crystal - MCFG_DEVICE_PROGRAM_MAP(maincpu_map) - MCFG_DEVICE_IO_MAP(maincpu_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 15000000 / 4); // clock line marked as CK4 and derived from 15MHz crystal + m_maincpu->set_addrmap(AS_PROGRAM, &stargame_state::maincpu_map); + m_maincpu->set_addrmap(AS_IO, &stargame_state::maincpu_io); + m_maincpu->set_daisy_config(daisy_chain); MCFG_DEVICE_ADD("audiocpu", Z80, 15000000 / 3) // ? check divider - clock line marked as CK6 and derived from 15MHz crystal MCFG_DEVICE_PROGRAM_MAP(audiocpu_map) diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp index 319787d7fb8..282b426ef76 100644 --- a/src/mame/drivers/super6.cpp +++ b/src/mame/drivers/super6.cpp @@ -445,10 +445,10 @@ void super6_state::machine_reset() MACHINE_CONFIG_START(super6_state::super6) // basic machine hardware - MCFG_DEVICE_ADD(m_maincpu, Z80, 24_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(super6_mem) - MCFG_DEVICE_IO_MAP(super6_io) - //MCFG_Z80_DAISY_CHAIN(super6_daisy_chain) + Z80(config, m_maincpu, 24_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &super6_state::super6_mem); + m_maincpu->set_addrmap(AS_IO, &super6_state::super6_io); + //m_maincpu->set_daisy_config(super6_daisy_chain); // devices MCFG_DEVICE_ADD(m_ctc, Z80CTC, 24_MHz_XTAL / 4) diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp index cfd20124d33..6b1ecc5da4f 100644 --- a/src/mame/drivers/super80.cpp +++ b/src/mame/drivers/super80.cpp @@ -707,10 +707,11 @@ static const char *const relay_sample_names[] = MACHINE_CONFIG_START(super80_state::super80) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 2 MHz */ - MCFG_DEVICE_PROGRAM_MAP(super80_map) - MCFG_DEVICE_IO_MAP(super80_io) - MCFG_Z80_DAISY_CHAIN(super80_daisy_chain) + Z80(config, m_maincpu, MASTER_CLOCK/6); /* 2 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &super80_state::super80_map); + m_maincpu->set_addrmap(AS_IO, &super80_state::super80_io); + m_maincpu->set_daisy_config(super80_daisy_chain); + MCFG_MACHINE_RESET_OVERRIDE(super80_state, super80) Z80PIO(config, m_pio, MASTER_CLOCK/6); @@ -794,10 +795,11 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(super80_state::super80v) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 2 MHz */ - MCFG_DEVICE_PROGRAM_MAP(super80v_map) - MCFG_DEVICE_IO_MAP(super80v_io) - MCFG_Z80_DAISY_CHAIN(super80_daisy_chain) + Z80(config, m_maincpu, MASTER_CLOCK/6); /* 2 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &super80_state::super80v_map); + m_maincpu->set_addrmap(AS_IO, &super80_state::super80v_io); + m_maincpu->set_daisy_config(super80_daisy_chain); + MCFG_MACHINE_RESET_OVERRIDE(super80_state, super80r) Z80PIO(config, m_pio, MASTER_CLOCK/6); diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp index 5bc3b3d1226..64a3b5d985e 100644 --- a/src/mame/drivers/superslave.cpp +++ b/src/mame/drivers/superslave.cpp @@ -73,7 +73,7 @@ private: DECLARE_READ8_MEMBER( status_r ); DECLARE_WRITE8_MEMBER( cmd_w ); - required_device m_maincpu; + required_device m_maincpu; required_device m_dbrg; required_device m_ram; required_device m_rs232a; @@ -363,10 +363,10 @@ void superslave_state::machine_reset() MACHINE_CONFIG_START(superslave_state::superslave) // basic machine hardware - MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(8'000'000)/2) - MCFG_DEVICE_PROGRAM_MAP(superslave_mem) - MCFG_DEVICE_IO_MAP(superslave_io) - MCFG_Z80_DAISY_CHAIN(superslave_daisy_chain) + Z80(config, m_maincpu, XTAL(8'000'000)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &superslave_state::superslave_mem); + m_maincpu->set_addrmap(AS_IO, &superslave_state::superslave_io); + m_maincpu->set_daisy_config(superslave_daisy_chain); // devices am9519_device &am9519(AM9519(config, AM9519_TAG, 0)); diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp index 8526b77efb8..5cac074c004 100644 --- a/src/mame/drivers/tiki100.cpp +++ b/src/mame/drivers/tiki100.cpp @@ -702,10 +702,10 @@ void tiki100_state::machine_reset() MACHINE_CONFIG_START(tiki100_state::tiki100) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, 8_MHz_XTAL / 2) - MCFG_DEVICE_PROGRAM_MAP(tiki100_mem) - MCFG_DEVICE_IO_MAP(tiki100_io) - MCFG_Z80_DAISY_CHAIN(tiki100_daisy_chain) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &tiki100_state::tiki100_mem); + m_maincpu->set_addrmap(AS_IO, &tiki100_state::tiki100_io); + m_maincpu->set_daisy_config(tiki100_daisy_chain); /* video hardware */ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) @@ -724,14 +724,14 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) MCFG_TIKI100_BUS_SLOT_ADD("slot3", nullptr) /* devices */ - MCFG_DEVICE_ADD(Z80DART_TAG, Z80DART, 8_MHz_XTAL / 4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + Z80DART(config, m_dart, 8_MHz_XTAL / 4); + m_dart->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_dart->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_dart->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); Z80PIO(config, m_pio, 8_MHz_XTAL / 4); m_pio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); @@ -743,7 +743,7 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, 8_MHz_XTAL / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) MCFG_Z80CTC_ZC0_CB(WRITELINE(*this, tiki100_state, bar0_w)) - MCFG_Z80CTC_ZC1_CB(WRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w)) + MCFG_Z80CTC_ZC1_CB(WRITELINE(m_dart, z80dart_device, rxtxcb_w)) MCFG_Z80CTC_ZC2_CB(WRITELINE(*this, tiki100_state, bar2_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", tiki100_state, ctc_tick, attotime::from_hz(8_MHz_XTAL / 4)) @@ -753,10 +753,10 @@ MACHINE_CONFIG_START(tiki100_state::tiki100) MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats) MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) CENTRONICS(config, m_centronics, centronics_devices, "printer"); m_centronics->set_data_input_buffer("cent_data_in"); diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp index 8081d8488ab..e608f00bcd9 100644 --- a/src/mame/drivers/trs80m2.cpp +++ b/src/mame/drivers/trs80m2.cpp @@ -709,10 +709,10 @@ void trs80m2_state::machine_reset() MACHINE_CONFIG_START(trs80m2_state::trs80m2) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, 8_MHz_XTAL / 2) - MCFG_Z80_DAISY_CHAIN(trs80m2_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(z80_mem) - MCFG_DEVICE_IO_MAP(z80_io) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_daisy_config(trs80m2_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &trs80m2_state::z80_mem); + m_maincpu->set_addrmap(AS_IO, &trs80m2_state::z80_io); // video hardware MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) @@ -734,7 +734,7 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2) // devices MCFG_DEVICE_ADD(FD1791_TAG, FD1791, 8_MHz_XTAL / 4) MCFG_WD_FDC_INTRQ_CALLBACK(WRITE8(m_pio, z80pio_device, pa_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(Z80DMA_TAG, z80dma_device, rdy_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(m_dmac, z80dma_device, rdy_w)) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":0", trs80m2_floppies, "8dsdd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":1", trs80m2_floppies, nullptr, floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":2", trs80m2_floppies, nullptr, floppy_image_device::default_floppy_formats) @@ -748,13 +748,13 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(8_MHz_XTAL / 2 / 2)) - MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, 8_MHz_XTAL / 2) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, trs80m2_state, read)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, trs80m2_state, write)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, trs80m2_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, trs80m2_state, io_write_byte)) + Z80DMA(config, m_dmac, 8_MHz_XTAL / 2); + m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + m_dmac->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_dmac->in_mreq_callback().set(FUNC(trs80m2_state::read)); + m_dmac->out_mreq_callback().set(FUNC(trs80m2_state::write)); + m_dmac->in_iorq_callback().set(FUNC(trs80m2_state::io_read_byte)); + m_dmac->out_iorq_callback().set(FUNC(trs80m2_state::io_write_byte)); Z80PIO(config, m_pio, 8_MHz_XTAL / 2); m_pio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); @@ -763,8 +763,8 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2) m_pio->out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); m_pio->out_brdy_callback().set(FUNC(trs80m2_state::strobe_w)); - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, 8_MHz_XTAL / 2) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + z80sio0_device& sio(Z80SIO0(config, Z80SIO_TAG, 8_MHz_XTAL / 2)); + sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer") MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(m_pio, z80pio_device, strobe_b)) @@ -792,11 +792,11 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(trs80m16_state::trs80m16) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, 8_MHz_XTAL / 2) - MCFG_Z80_DAISY_CHAIN(trs80m2_daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(z80_mem) - MCFG_DEVICE_IO_MAP(m16_z80_io) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(AM9519A_TAG, am9519_device, iack_cb) + Z80(config, m_maincpu, 8_MHz_XTAL / 2); + m_maincpu->set_daisy_config(trs80m2_daisy_chain); + m_maincpu->set_addrmap(AS_PROGRAM, &trs80m16_state::z80_mem); + m_maincpu->set_addrmap(AS_IO, &trs80m16_state::m16_z80_io); + m_maincpu->set_irq_acknowledge_callback(AM9519A_TAG, FUNC(am9519_device::iack_cb)); MCFG_DEVICE_ADD(M68000_TAG, M68000, 24_MHz_XTAL / 4) MCFG_DEVICE_PROGRAM_MAP(m68000_mem) @@ -822,7 +822,7 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16) // devices MCFG_DEVICE_ADD(FD1791_TAG, FD1791, 8_MHz_XTAL / 4) MCFG_WD_FDC_INTRQ_CALLBACK(WRITE8(m_pio, z80pio_device, pa_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(Z80DMA_TAG, z80dma_device, rdy_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(m_dmac, z80dma_device, rdy_w)) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":0", trs80m2_floppies, "8dsdd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":1", trs80m2_floppies, nullptr, floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1791_TAG":2", trs80m2_floppies, nullptr, floppy_image_device::default_floppy_formats) @@ -836,13 +836,13 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc", trs80m2_state, ctc_tick, attotime::from_hz(8_MHz_XTAL / 2 / 2)) - MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, 8_MHz_XTAL / 2) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, trs80m2_state, read)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, trs80m2_state, write)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, trs80m2_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, trs80m2_state, io_write_byte)) + Z80DMA(config, m_dmac, 8_MHz_XTAL / 2); + m_dmac->out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + m_dmac->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + m_dmac->in_mreq_callback().set(FUNC(trs80m2_state::read)); + m_dmac->out_mreq_callback().set(FUNC(trs80m2_state::write)); + m_dmac->in_iorq_callback().set(FUNC(trs80m2_state::io_read_byte)); + m_dmac->out_iorq_callback().set(FUNC(trs80m2_state::io_write_byte)); Z80PIO(config, m_pio, 8_MHz_XTAL / 2); m_pio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); @@ -851,8 +851,8 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16) m_pio->out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w)); m_pio->out_brdy_callback().set(FUNC(trs80m2_state::strobe_w)); - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, 8_MHz_XTAL / 2) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + z80sio0_device& sio(Z80SIO0(config, Z80SIO_TAG, 8_MHz_XTAL / 2)); + sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); AM9519(config, m_uic, 0); m_uic->out_int_callback().set_inputline(M68000_TAG, M68K_IRQ_5); diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp index 8eca9a44c79..459c2e06aad 100644 --- a/src/mame/drivers/ts802.cpp +++ b/src/mame/drivers/ts802.cpp @@ -64,7 +64,7 @@ private: uint8_t m_term_data; address_space *m_mem; address_space *m_io; - required_device m_maincpu; + required_device m_maincpu; required_device m_terminal; }; @@ -190,29 +190,30 @@ void ts802_state::init_ts802() MACHINE_CONFIG_START(ts802_state::ts802) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 16_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(ts802_mem) - MCFG_DEVICE_IO_MAP(ts802_io) - //MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) // causes problems + Z80(config, m_maincpu, 16_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &ts802_state::ts802_mem); + m_maincpu->set_addrmap(AS_IO, &ts802_state::ts802_io); + //m_maincpu->set_daisy_config(daisy_chain_intf); // causes problems + MCFG_MACHINE_RESET_OVERRIDE(ts802_state, ts802) /* Devices */ MCFG_DEVICE_ADD(m_terminal, GENERIC_TERMINAL, 0) MCFG_GENERIC_TERMINAL_KEYBOARD_CB(PUT(ts802_state, kbd_put)) - MCFG_DEVICE_ADD("dma", Z80DMA, 16_MHz_XTAL / 4) - MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE("maincpu", INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, ts802_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, ts802_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, ts802_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, ts802_state, io_write_byte)) + z80dma_device& dma(Z80DMA(config, "dma", 16_MHz_XTAL / 4)); + dma.out_busreq_callback().set_inputline(m_maincpu, INPUT_LINE_HALT); + dma.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + dma.in_mreq_callback().set(FUNC(ts802_state::memory_read_byte)); + dma.out_mreq_callback().set(FUNC(ts802_state::memory_write_byte)); + dma.in_iorq_callback().set(FUNC(ts802_state::io_read_byte)); + dma.out_iorq_callback().set(FUNC(ts802_state::io_write_byte)); - MCFG_DEVICE_ADD("dart1", Z80DART, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) + z80dart_device& dart1(Z80DART(config, "dart1", 16_MHz_XTAL / 4)); + dart1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD("dart2", Z80DART, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) + z80dart_device& dart2(Z80DART(config, "dart2", 16_MHz_XTAL / 4)); + dart2.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD("ctc", Z80CTC, 16_MHz_XTAL / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp index 3b55dab096c..62062135e69 100644 --- a/src/mame/drivers/ts803.cpp +++ b/src/mame/drivers/ts803.cpp @@ -98,7 +98,7 @@ private: virtual void machine_reset() override; virtual void machine_start() override; required_device m_palette; - required_device m_maincpu; + required_device m_maincpu; required_device m_fdc; required_device m_floppy0; required_device m_floppy1; @@ -422,10 +422,10 @@ static const z80_daisy_config daisy_chain[] = }; MACHINE_CONFIG_START(ts803_state::ts803) - MCFG_DEVICE_ADD("maincpu", Z80, 16_MHz_XTAL / 4) - MCFG_DEVICE_PROGRAM_MAP(ts803_mem) - MCFG_DEVICE_IO_MAP(ts803_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, 16_MHz_XTAL / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &ts803_state::ts803_mem); + m_maincpu->set_addrmap(AS_IO, &ts803_state::ts803_io); + m_maincpu->set_daisy_config(daisy_chain); /* video hardware */ MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) @@ -454,9 +454,9 @@ MACHINE_CONFIG_START(ts803_state::ts803) sti.out_tbo_cb().set("dart", FUNC(z80dart_device::rxtxcb_w)); sti.out_int_cb().set_inputline("maincpu", INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD("dart", Z80DART, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE("rs232", rs232_port_device, write_txd)) + z80dart_device& dart(Z80DART(config, "dart", 16_MHz_XTAL / 4)); + dart.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + dart.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard") MCFG_RS232_RXD_HANDLER(WRITELINE("dart", z80dart_device, rxa_w)) diff --git a/src/mame/drivers/ts816.cpp b/src/mame/drivers/ts816.cpp index c6972a3827b..27d26ce2e21 100644 --- a/src/mame/drivers/ts816.cpp +++ b/src/mame/drivers/ts816.cpp @@ -57,7 +57,7 @@ private: bool m_endram; void set_banks(); virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_terminal; }; @@ -265,10 +265,10 @@ void ts816_state::init_ts816() MACHINE_CONFIG_START(ts816_state::ts816) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(16'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(ts816_mem) - MCFG_DEVICE_IO_MAP(ts816_io) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(16'000'000) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &ts816_state::ts816_mem); + m_maincpu->set_addrmap(AS_IO, &ts816_state::ts816_io); + m_maincpu->set_daisy_config(daisy_chain); /* video hardware */ MCFG_DEVICE_ADD(m_terminal, GENERIC_TERMINAL, 0) @@ -306,9 +306,9 @@ MACHINE_CONFIG_START(ts816_state::ts816) MCFG_DEVICE_ADD("ctc2", Z80CTC, XTAL(16'000'000) / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_DEVICE_ADD("dma", Z80DMA, XTAL(16'000'000) / 4) - //MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, ts816_state, busreq_w)) - MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) + z80dma_device& dma(Z80DMA(config, "dma", XTAL(16'000'000) / 4)); + //dma.out_busreq_callback().set(FUNC(ts816_state::busreq_w)); + dma.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp index fd435d1c842..46cd26ca4fd 100644 --- a/src/mame/drivers/univac.cpp +++ b/src/mame/drivers/univac.cpp @@ -96,7 +96,7 @@ private: virtual void machine_reset() override; virtual void device_post_load() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_nvram; required_device m_ctc; required_device m_uart; @@ -314,10 +314,10 @@ static const z80_daisy_config daisy_chain[] = MACHINE_CONFIG_START(univac_state::uts20) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000)) // unknown clock - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) - MCFG_Z80_DAISY_CHAIN(daisy_chain) + Z80(config, m_maincpu, XTAL(4'000'000)); // unknown clock + m_maincpu->set_addrmap(AS_PROGRAM, &univac_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &univac_state::io_map); + m_maincpu->set_daisy_config(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 dda437ae35e..638560b9d28 100644 --- a/src/mame/drivers/vcs80.cpp +++ b/src/mame/drivers/vcs80.cpp @@ -215,10 +215,10 @@ void vcs80_state::machine_start() MACHINE_CONFIG_START(vcs80_state::vcs80) /* basic machine hardware */ - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(5'000'000)/2) /* U880D */ - MCFG_DEVICE_PROGRAM_MAP(vcs80_mem) - MCFG_DEVICE_IO_MAP(vcs80_io) - MCFG_Z80_DAISY_CHAIN(vcs80_daisy_chain) + Z80(config, m_maincpu, XTAL(5'000'000)/2); /* U880D */ + m_maincpu->set_addrmap(AS_PROGRAM, &vcs80_state::vcs80_mem); + m_maincpu->set_addrmap(AS_IO, &vcs80_state::vcs80_io); + m_maincpu->set_daisy_config(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 ccb7418c222..54388a6e522 100644 --- a/src/mame/drivers/x1.cpp +++ b/src/mame/drivers/x1.cpp @@ -2201,10 +2201,10 @@ static void x1_floppies(device_slot_interface &device) MACHINE_CONFIG_START(x1_state::x1) /* basic machine hardware */ - MCFG_DEVICE_ADD("x1_cpu", Z80, MAIN_CLOCK/4) - MCFG_DEVICE_PROGRAM_MAP(x1_mem) - MCFG_DEVICE_IO_MAP(x1_io) - MCFG_Z80_DAISY_CHAIN(x1_daisy) + Z80(config, m_maincpu, MAIN_CLOCK/4); + m_maincpu->set_addrmap(AS_PROGRAM, &x1_state::x1_mem); + m_maincpu->set_addrmap(AS_IO, &x1_state::x1_io); + m_maincpu->set_daisy_config(x1_daisy); ADDRESS_MAP_BANK(config, "iobank").set_map(&x1_state::x1_io_banks).set_options(ENDIANNESS_LITTLE, 8, 17, 0x10000); @@ -2286,9 +2286,10 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(x1_state::x1turbo) x1(config); - MCFG_DEVICE_MODIFY("x1_cpu") - MCFG_DEVICE_PROGRAM_MAP(x1turbo_mem) - MCFG_Z80_DAISY_CHAIN(x1turbo_daisy) + + m_maincpu->set_addrmap(AS_PROGRAM, &x1_state::x1turbo_mem); + m_maincpu->set_daisy_config(x1turbo_daisy); + MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1turbo) MCFG_DEVICE_MODIFY("iobank") diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp index d3aaa2fc911..3ac4ef6a51c 100644 --- a/src/mame/drivers/x1twin.cpp +++ b/src/mame/drivers/x1twin.cpp @@ -412,10 +412,10 @@ static void x1_floppies(device_slot_interface &device) MACHINE_CONFIG_START(x1twin_state::x1twin) /* basic machine hardware */ - MCFG_DEVICE_ADD("x1_cpu", Z80, X1_MAIN_CLOCK/4) - MCFG_DEVICE_PROGRAM_MAP(x1_mem) - MCFG_DEVICE_IO_MAP(x1_io) - MCFG_Z80_DAISY_CHAIN(x1_daisy) + Z80(config, m_maincpu, X1_MAIN_CLOCK/4); + m_maincpu->set_addrmap(AS_PROGRAM, &x1twin_state::x1_mem); + m_maincpu->set_addrmap(AS_IO, &x1twin_state::x1_io); + m_maincpu->set_daisy_config(x1_daisy); ADDRESS_MAP_BANK(config, "iobank").set_map(&x1_state::x1_io_banks).set_options(ENDIANNESS_LITTLE, 8, 17, 0x10000); diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp index 0596f45d028..c61fcfb2d95 100644 --- a/src/mame/drivers/xerox820.cpp +++ b/src/mame/drivers/xerox820.cpp @@ -632,20 +632,20 @@ MACHINE_CONFIG_START(xerox820_state::xerox820) MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400l", floppy_image_device::default_floppy_formats) - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, 20_MHz_XTAL / 8) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + Z80SIO0(config, m_sio, 20_MHz_XTAL / 8); + m_sio->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_sio->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_sio->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_sio->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_sio->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_sio->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio0_device, rxa_w)) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio0_device, rxb_w)) com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL)); dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w)); @@ -721,20 +721,20 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii) MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats) - MCFG_DEVICE_ADD(Z80SIO_TAG, Z80SIO0, 16_MHz_XTAL / 4) - MCFG_Z80DART_OUT_TXDA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSA_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_TXDB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) - MCFG_Z80DART_OUT_DTRB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) - MCFG_Z80DART_OUT_RTSB_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) - MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) + Z80SIO0(config, m_sio, 16_MHz_XTAL / 4); + m_sio->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); + m_sio->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); + m_sio->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_sio->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); + m_sio->out_dtrb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); + m_sio->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); + m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio0_device, rxa_w)) MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio0_device, rxb_w)) com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL)); dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w)); diff --git a/src/mame/drivers/z9001.cpp b/src/mame/drivers/z9001.cpp index 336d723a0b7..49cc04b3457 100644 --- a/src/mame/drivers/z9001.cpp +++ b/src/mame/drivers/z9001.cpp @@ -74,7 +74,7 @@ private: bool m_cassbit; virtual void machine_reset() override; //virtual void machine_start(); - required_device m_maincpu; + required_device m_maincpu; required_device m_beeper; required_device m_cass; required_shared_ptr m_p_colorram; @@ -208,10 +208,10 @@ GFXDECODE_END MACHINE_CONFIG_START(z9001_state::z9001) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",Z80, XTAL(9'830'400) / 4) - MCFG_DEVICE_PROGRAM_MAP(z9001_mem) - MCFG_DEVICE_IO_MAP(z9001_io) - MCFG_Z80_DAISY_CHAIN(z9001_daisy_chain) + Z80(config, m_maincpu, XTAL(9'830'400) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &z9001_state::z9001_mem); + m_maincpu->set_addrmap(AS_IO, &z9001_state::z9001_io); + m_maincpu->set_daisy_config(z9001_daisy_chain); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/zorba.cpp b/src/mame/drivers/zorba.cpp index e3da07ad940..e294d34f8f7 100644 --- a/src/mame/drivers/zorba.cpp +++ b/src/mame/drivers/zorba.cpp @@ -160,15 +160,15 @@ MACHINE_CONFIG_START(zorba_state::zorba) MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE(*this, zorba_state, irq_w<2>)) /* devices */ - MCFG_DEVICE_ADD(m_dma, Z80DMA, 24_MHz_XTAL / 6) + Z80DMA(config, m_dma, 24_MHz_XTAL / 6); // busack on cpu connects to bai pin - MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(*this, zorba_state, busreq_w)) //connects to busreq on cpu - MCFG_Z80DMA_OUT_INT_CB(WRITELINE("irq0", input_merger_device, in_w<0>)) + m_dma->out_busreq_callback().set(FUNC(zorba_state::busreq_w)); //connects to busreq on cpu + m_dma->out_int_callback().set("irq0", FUNC(input_merger_device::in_w<0>)); //ba0 - not connected - MCFG_Z80DMA_IN_MREQ_CB(READ8(*this, zorba_state, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(*this, zorba_state, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(*this, zorba_state, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(*this, zorba_state, io_write_byte)) + m_dma->in_mreq_callback().set(FUNC(zorba_state::memory_read_byte)); + m_dma->out_mreq_callback().set(FUNC(zorba_state::memory_write_byte)); + m_dma->in_iorq_callback().set(FUNC(zorba_state::io_read_byte)); + m_dma->out_iorq_callback().set(FUNC(zorba_state::io_write_byte)); I8251(config, m_uart0, 0); // U32 COM port J2 m_uart0->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); // TODO: this line has a LED attached diff --git a/src/mame/includes/abc80.h b/src/mame/includes/abc80.h index a5b3b6e5988..4737a0a1d86 100644 --- a/src/mame/includes/abc80.h +++ b/src/mame/includes/abc80.h @@ -95,7 +95,7 @@ public: static constexpr feature_type imperfect_features() { return feature::KEYBOARD; } - required_device m_maincpu; + required_device m_maincpu; required_device m_pio; required_device m_csg; required_device m_cassette; diff --git a/src/mame/includes/abc80x.h b/src/mame/includes/abc80x.h index f5be1519960..ec65b0f910f 100644 --- a/src/mame/includes/abc80x.h +++ b/src/mame/includes/abc80x.h @@ -99,7 +99,7 @@ public: m_tape_ctr(4) { } - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_device m_dart; required_device m_sio; diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h index e522626d6cb..5626956f200 100644 --- a/src/mame/includes/astrocde.h +++ b/src/mame/includes/astrocde.h @@ -6,6 +6,7 @@ ***************************************************************************/ +#include "cpu/z80/z80.h" #include "machine/bankdev.h" #include "machine/gen_latch.h" #include "sound/astrocde.h" @@ -34,7 +35,6 @@ public: astrocde_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub"), m_votrax(*this, "votrax"), m_astrocade_sound1(*this, "astrocade1"), m_videoram(*this, "videoram"), @@ -48,7 +48,6 @@ public: { } required_device m_maincpu; - optional_device m_subcpu; optional_device m_votrax; optional_device m_astrocade_sound1; optional_shared_ptr m_videoram; @@ -245,6 +244,7 @@ class tenpindx_state : public astrocde_state public: tenpindx_state(const machine_config &mconfig, device_type type, const char *tag) : astrocde_state(mconfig, type, tag) + , m_subcpu(*this, "sub") , m_lamps(*this, "lamp%0", 0U) { } @@ -260,5 +260,6 @@ private: void sub_io_map(address_map &map); void sub_map(address_map &map); + required_device m_subcpu; output_finder<19> m_lamps; }; diff --git a/src/mame/includes/aussiebyte.h b/src/mame/includes/aussiebyte.h index 279624c5d86..a87288e3e93 100644 --- a/src/mame/includes/aussiebyte.h +++ b/src/mame/includes/aussiebyte.h @@ -127,7 +127,7 @@ private: uint16_t m_graph_address; int m_centronics_busy; required_device m_palette; - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_chargen; required_region_ptr m_p_videoram; required_region_ptr m_p_attribram; diff --git a/src/mame/includes/c80.h b/src/mame/includes/c80.h index bacc2d2e130..ed174ea8e58 100644 --- a/src/mame/includes/c80.h +++ b/src/mame/includes/c80.h @@ -29,7 +29,7 @@ public: , m_digits(*this, "digit%u", 0U) { } - required_device m_maincpu; + required_device m_maincpu; required_device m_pio1; required_device m_cassette; required_ioport m_row0; diff --git a/src/mame/includes/cchasm.h b/src/mame/includes/cchasm.h index 3d75f5774d6..8fbcfeeb673 100644 --- a/src/mame/includes/cchasm.h +++ b/src/mame/includes/cchasm.h @@ -7,6 +7,7 @@ *************************************************************************/ +#include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/z80ctc.h" #include "sound/dac.h" @@ -38,7 +39,7 @@ public: required_device m_maincpu; required_device m_ctc; - required_device m_audiocpu; + required_device m_audiocpu; required_device m_dac1; required_device m_dac2; required_device m_vector; diff --git a/src/mame/includes/huebler.h b/src/mame/includes/huebler.h index 05f88881925..163e52f7581 100644 --- a/src/mame/includes/huebler.h +++ b/src/mame/includes/huebler.h @@ -26,6 +26,7 @@ class amu880_state : public driver_device public: amu880_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) + , m_maincpu(*this, Z80_TAG) , m_cassette(*this, "cassette") , m_z80sio(*this, Z80SIO_TAG) , m_palette(*this, "palette") @@ -41,7 +42,11 @@ public: void amu880(machine_config &config); +protected: + virtual void machine_start() override; + private: + required_device m_maincpu; required_device m_cassette; required_device m_z80sio; required_device m_palette; @@ -51,8 +56,6 @@ private: required_ioport_array<16> m_key_row; required_ioport m_special; - virtual void machine_start() override; - uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); DECLARE_READ8_MEMBER( keyboard_r ); diff --git a/src/mame/includes/kaypro.h b/src/mame/includes/kaypro.h index 3c310d350b2..893cd61bd5c 100644 --- a/src/mame/includes/kaypro.h +++ b/src/mame/includes/kaypro.h @@ -96,7 +96,7 @@ private: required_device m_palette; required_device m_screen; - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_chargen; optional_device m_pio_g; optional_device m_pio_s; diff --git a/src/mame/includes/llc.h b/src/mame/includes/llc.h index 77f922f33be..96f5b47c5cf 100644 --- a/src/mame/includes/llc.h +++ b/src/mame/includes/llc.h @@ -69,7 +69,7 @@ private: uint8_t m_term_data; optional_device m_speaker; optional_shared_ptr m_p_videoram; - required_device m_maincpu; + required_device m_maincpu; optional_device m_ram; required_region_ptr m_p_chargen; output_finder<8> m_digits; diff --git a/src/mame/includes/m5.h b/src/mame/includes/m5.h index 62cb04ce0d0..de2eaab34ae 100644 --- a/src/mame/includes/m5.h +++ b/src/mame/includes/m5.h @@ -6,6 +6,7 @@ #include "imagedev/cassette.h" #include "imagedev/snapquik.h" +#include "cpu/z80/z80.h" #include "machine/i8255.h" #include "machine/ram.h" #include "machine/upd765.h" @@ -61,7 +62,7 @@ public: DECLARE_WRITE_LINE_MEMBER(sordm5_video_interrupt_callback); protected: - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; //I've changed following devices to optional since we have to remove them in BRNO mod (I don't know better solution) optional_device m_fd5cpu; diff --git a/src/mame/includes/mbee.h b/src/mame/includes/mbee.h index 88f2630a4f2..a2f94339ca0 100644 --- a/src/mame/includes/mbee.h +++ b/src/mame/includes/mbee.h @@ -180,7 +180,7 @@ private: void oldkb_matrix_r(uint16_t offs); void machine_reset_common(); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - required_device m_maincpu; + required_device m_maincpu; required_device m_pio; required_device m_cassette; required_device m_wave; diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h index dd390e512b2..d6f34072dcf 100644 --- a/src/mame/includes/mcr.h +++ b/src/mame/includes/mcr.h @@ -206,7 +206,7 @@ private: int m_ipu_sio_txdb; emu_timer *m_ipu_watchdog_timer; - required_device m_ipu; + required_device m_ipu; required_device m_ipu_sio; required_device m_ipu_ctc; required_device m_ipu_pio0; diff --git a/src/mame/includes/mpf1.h b/src/mame/includes/mpf1.h index 0ff3b9398ea..7d9e7bfdc6d 100644 --- a/src/mame/includes/mpf1.h +++ b/src/mame/includes/mpf1.h @@ -49,7 +49,7 @@ public: DECLARE_INPUT_CHANGED_MEMBER( trigger_res ); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_device m_speaker; required_device m_cassette; diff --git a/src/mame/includes/mtx.h b/src/mame/includes/mtx.h index 012be8da430..959780228f3 100644 --- a/src/mame/includes/mtx.h +++ b/src/mame/includes/mtx.h @@ -14,6 +14,7 @@ #include "bus/centronics/ctronics.h" #include "bus/generic/slot.h" #include "bus/generic/carts.h" +#include "cpu/z80/z80.h" #include "machine/z80dart.h" #include "machine/z80ctc.h" #include "sound/sn76496.h" @@ -51,7 +52,7 @@ public: void mtx512(machine_config &config); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_sn; required_device m_z80ctc; optional_device m_z80dart; diff --git a/src/mame/includes/pbaction.h b/src/mame/includes/pbaction.h index ca6dc26e729..cac977d4771 100644 --- a/src/mame/includes/pbaction.h +++ b/src/mame/includes/pbaction.h @@ -6,6 +6,7 @@ *************************************************************************/ +#include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/z80ctc.h" #include "emupal.h" @@ -44,7 +45,7 @@ public: /* devices */ required_device m_maincpu; - required_device m_audiocpu; + required_device m_audiocpu; required_device m_gfxdecode; required_device m_palette; required_device m_soundlatch; diff --git a/src/mame/includes/polyplay.h b/src/mame/includes/polyplay.h index 0122026b2e2..3fbf90bcc59 100644 --- a/src/mame/includes/polyplay.h +++ b/src/mame/includes/polyplay.h @@ -4,6 +4,7 @@ #ifndef MAME_INCLUDES_POLYPLAY_H #define MAME_INCLUDES_POLYPLAY_H +#include "cpu/z80/z80.h" #include "machine/z80ctc.h" #include "machine/z80pio.h" #include "machine/z80sio.h" @@ -69,7 +70,7 @@ private: required_shared_ptr m_videoram; required_shared_ptr m_characterram; - required_device m_maincpu; + required_device m_maincpu; required_device m_z80ctc; required_device m_z80pio; optional_device m_z80sio; diff --git a/src/mame/includes/super6.h b/src/mame/includes/super6.h index 1ea9122c9fc..81aedb35d9b 100644 --- a/src/mame/includes/super6.h +++ b/src/mame/includes/super6.h @@ -69,7 +69,7 @@ private: void bankswitch(); - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_device m_dart; required_device m_dma; diff --git a/src/mame/includes/super80.h b/src/mame/includes/super80.h index e5a963ae191..b6d5a5e17aa 100644 --- a/src/mame/includes/super80.h +++ b/src/mame/includes/super80.h @@ -131,7 +131,7 @@ private: void mc6845_cursor_configure(); void super80_cassette_motor(bool data); required_device m_palette; - required_device m_maincpu; + required_device m_maincpu; required_region_ptr m_p_ram; optional_region_ptr m_p_chargen; optional_region_ptr m_p_colorram; diff --git a/src/mame/includes/tiki100.h b/src/mame/includes/tiki100.h index 8daff0eff4f..136aebd8b79 100644 --- a/src/mame/includes/tiki100.h +++ b/src/mame/includes/tiki100.h @@ -107,7 +107,7 @@ private: virtual void machine_start() override; virtual void machine_reset() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_device m_fdc; required_device m_pio; diff --git a/src/mame/includes/trs80m2.h b/src/mame/includes/trs80m2.h index 54192583ecf..8c44263f2f6 100644 --- a/src/mame/includes/trs80m2.h +++ b/src/mame/includes/trs80m2.h @@ -104,7 +104,7 @@ protected: virtual void video_start() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_ctc; required_device m_dmac; required_device m_pio; diff --git a/src/mame/includes/vcs80.h b/src/mame/includes/vcs80.h index c63790e6add..1e91a8c7794 100644 --- a/src/mame/includes/vcs80.h +++ b/src/mame/includes/vcs80.h @@ -34,7 +34,7 @@ public: void vcs80(machine_config &config); private: - required_device m_maincpu; + required_device m_maincpu; required_device m_pio; required_ioport m_y0; required_ioport m_y1; diff --git a/src/mame/includes/x1.h b/src/mame/includes/x1.h index 3595e6bc62e..6ceabad1255 100644 --- a/src/mame/includes/x1.h +++ b/src/mame/includes/x1.h @@ -57,7 +57,7 @@ class x1_state : public driver_device public: x1_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this,"x1_cpu"), + m_maincpu(*this, "x1_cpu"), m_cassette(*this, "cassette"), m_cart(*this, "cartslot"), m_fdc(*this, "fdc"), @@ -81,7 +81,7 @@ public: DECLARE_FLOPPY_FORMATS(floppy_formats); - required_device m_maincpu; + required_device m_maincpu; required_device m_cassette; required_device m_cart; required_device m_fdc; diff --git a/src/mame/machine/acs8600_ics.cpp b/src/mame/machine/acs8600_ics.cpp index 944ea30c1f7..9f540e574c7 100644 --- a/src/mame/machine/acs8600_ics.cpp +++ b/src/mame/machine/acs8600_ics.cpp @@ -5,7 +5,6 @@ #include "emu.h" #include "machine/acs8600_ics.h" -#include "cpu/z80/z80.h" #include "machine/z80sio.h" #include "machine/am9513.h" #include "bus/rs232/rs232.h" @@ -97,10 +96,10 @@ static const z80_daisy_config ics_daisy_chain[] = }; MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) - MCFG_DEVICE_ADD(m_icscpu, Z80, 4_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(ics_mem) - MCFG_DEVICE_IO_MAP(ics_io) - MCFG_Z80_DAISY_CHAIN(ics_daisy_chain) + Z80(config, m_icscpu, 4_MHz_XTAL); + m_icscpu->set_addrmap(AS_PROGRAM, &acs8600_ics_device::ics_mem); + m_icscpu->set_addrmap(AS_IO, &acs8600_ics_device::ics_io); + m_icscpu->set_daisy_config(ics_daisy_chain); am9513_device &stc1(AM9513(config, "stc1", 1.8432_MHz_XTAL)); stc1.out1_cb().set("sio1", FUNC(z80sio_device::rxca_w)); diff --git a/src/mame/machine/acs8600_ics.h b/src/mame/machine/acs8600_ics.h index 1ca1f623245..697666fdd8f 100644 --- a/src/mame/machine/acs8600_ics.h +++ b/src/mame/machine/acs8600_ics.h @@ -6,6 +6,7 @@ #pragma once +#include "cpu/z80/z80.h" class acs8600_ics_device : public device_t { @@ -33,7 +34,7 @@ protected: void ics_mem(address_map &map); private: - required_device m_icscpu; + required_device m_icscpu; devcb_write_line m_out_irq1_func; devcb_write_line m_out_irq2_func; required_device m_host_space_device; diff --git a/src/mame/machine/inder_sb.cpp b/src/mame/machine/inder_sb.cpp index ae232eb8450..1548fba99fb 100644 --- a/src/mame/machine/inder_sb.cpp +++ b/src/mame/machine/inder_sb.cpp @@ -151,10 +151,10 @@ void inder_sb_device::sound_io(address_map &map) MACHINE_CONFIG_START(inder_sb_device::device_add_mconfig) - MCFG_DEVICE_ADD("audiocpu", Z80, 8000000) // unk freq - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_DEVICE_IO_MAP(sound_io) + Z80(config, m_audiocpu, 8000000); // unk freq + m_audiocpu->set_daisy_config(daisy_chain); + m_audiocpu->set_addrmap(AS_PROGRAM, &inder_sb_device::sound_map); + m_audiocpu->set_addrmap(AS_IO, &inder_sb_device::sound_io); MCFG_DEVICE_ADD("ctc", Z80CTC, 4000000) // unk freq // runs in IM2 , vector set to 0x20 , values there are 0xCC, 0x02, 0xE6, 0x02, 0x09, 0x03, 0x23, 0x03 (so 02cc, 02e6, 0309, 0323, all of which are valid irq handlers) diff --git a/src/mame/machine/inder_sb.h b/src/mame/machine/inder_sb.h index fff245dd830..70a2ba11070 100644 --- a/src/mame/machine/inder_sb.h +++ b/src/mame/machine/inder_sb.h @@ -50,7 +50,7 @@ protected: virtual void device_reset() override; private: - required_device m_audiocpu; + required_device m_audiocpu; required_device m_ctc; required_region_ptr m_audiocpu_rom; required_memory_bank m_sounddata_bank; -- cgit v1.2.3