summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-07-07 23:39:05 +1000
committer Vas Crabb <vas@vastheman.com>2018-07-07 23:39:05 +1000
commit11b47cb0038e9cce84b260323fcb044876ab6f71 (patch)
tree5d286823dbe96b9200148c605090f1aa4da60a75
parentb747b711bb021d0bb550f150e62d3f7dfe6754b2 (diff)
remove more MCFG_ (nw)
-rw-r--r--src/devices/bus/ieee488/softbox.cpp16
-rw-r--r--src/devices/bus/rs232/sun_kbd.cpp11
-rw-r--r--src/devices/bus/s100/dj2db.cpp4
-rw-r--r--src/devices/bus/sunkbd/sunkbd.h6
-rw-r--r--src/devices/cpu/z80/z80.h3
-rw-r--r--src/devices/machine/am9513.h21
-rw-r--r--src/devices/machine/com8116.h19
-rw-r--r--src/devices/machine/rstbuf.h16
-rw-r--r--src/mame/drivers/ampex.cpp20
-rw-r--r--src/mame/drivers/bitgraph.cpp18
-rw-r--r--src/mame/drivers/ddenlovr.cpp41
-rw-r--r--src/mame/drivers/dynax.cpp320
-rw-r--r--src/mame/drivers/hp64k.cpp27
-rw-r--r--src/mame/drivers/kurukuru.cpp10
-rw-r--r--src/mame/drivers/m72.cpp3
-rw-r--r--src/mame/drivers/m90.cpp3
-rw-r--r--src/mame/drivers/ms6102.cpp15
-rw-r--r--src/mame/drivers/rainbow.cpp6
-rw-r--r--src/mame/drivers/shisen.cpp4
-rw-r--r--src/mame/drivers/softbox.cpp6
-rw-r--r--src/mame/drivers/sun2.cpp28
-rw-r--r--src/mame/drivers/sun3.cpp12
-rw-r--r--src/mame/drivers/sun3x.cpp7
-rw-r--r--src/mame/drivers/sun4.cpp6
-rw-r--r--src/mame/drivers/unistar.cpp3
-rw-r--r--src/mame/drivers/v100.cpp16
-rw-r--r--src/mame/drivers/v550.cpp9
-rw-r--r--src/mame/drivers/vigilant.cpp11
-rw-r--r--src/mame/drivers/vk100.cpp37
-rw-r--r--src/mame/drivers/vt100.cpp110
-rw-r--r--src/mame/drivers/xerox820.cpp22
-rw-r--r--src/mame/includes/m72.h13
-rw-r--r--src/mame/includes/m90.h7
-rw-r--r--src/mame/includes/shisen.h16
-rw-r--r--src/mame/includes/softbox.h4
-rw-r--r--src/mame/includes/vigilant.h14
-rw-r--r--src/mame/includes/xerox820.h1
-rw-r--r--src/mame/machine/vt100_kbd.h10
38 files changed, 412 insertions, 483 deletions
diff --git a/src/devices/bus/ieee488/softbox.cpp b/src/devices/bus/ieee488/softbox.cpp
index 8a0e6fd6f70..03af51971de 100644
--- a/src/devices/bus/ieee488/softbox.cpp
+++ b/src/devices/bus/ieee488/softbox.cpp
@@ -26,9 +26,7 @@
#define I8251_TAG "ic15"
#define I8255_0_TAG "ic17"
#define I8255_1_TAG "ic16"
-#define COM8116_TAG "ic14"
#define RS232_TAG "rs232"
-#define CORVUS_HDC_TAG "corvus"
@@ -91,7 +89,7 @@ void softbox_device::softbox_io(address_map &map)
map(0x0c, 0x0c).w(FUNC(softbox_device::dbrg_w));
map(0x10, 0x13).rw(I8255_0_TAG, FUNC(i8255_device::read), FUNC(i8255_device::write));
map(0x14, 0x17).rw(I8255_1_TAG, FUNC(i8255_device::read), FUNC(i8255_device::write));
- map(0x18, 0x18).rw(CORVUS_HDC_TAG, FUNC(corvus_hdc_device::read), FUNC(corvus_hdc_device::write));
+ map(0x18, 0x18).rw(m_hdc, FUNC(corvus_hdc_device::read), FUNC(corvus_hdc_device::write));
}
@@ -262,11 +260,11 @@ MACHINE_CONFIG_START(softbox_device::device_add_mconfig)
MCFG_I8255_IN_PORTC_CB(READ8(*this, softbox_device, ppi1_pc_r))
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, softbox_device, ppi1_pc_w))
- MCFG_DEVICE_ADD(COM8116_TAG, COM8116, XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_txc))
+ COM8116(config, m_dbrg, 5.0688_MHz_XTAL);
+ m_dbrg->fr_handler().set(I8251_TAG, FUNC(i8251_device::write_rxc));
+ m_dbrg->ft_handler().set(I8251_TAG, FUNC(i8251_device::write_txc));
- MCFG_DEVICE_ADD(CORVUS_HDC_TAG, CORVUS_HDC, 0)
+ MCFG_DEVICE_ADD(m_hdc, CORVUS_HDC, 0)
MCFG_HARDDISK_ADD("harddisk1")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk2")
@@ -322,8 +320,8 @@ softbox_device::softbox_device(const machine_config &mconfig, const char *tag, d
: device_t(mconfig, SOFTBOX, tag, owner, clock)
, device_ieee488_interface(mconfig, *this)
, m_maincpu(*this, Z80_TAG)
- , m_dbrg(*this, COM8116_TAG)
- , m_hdc(*this, CORVUS_HDC_TAG)
+ , m_dbrg(*this, "ic14")
+ , m_hdc(*this, "corvus")
, m_leds(*this, "led%u", 0U)
, m_ifc(0)
{
diff --git a/src/devices/bus/rs232/sun_kbd.cpp b/src/devices/bus/rs232/sun_kbd.cpp
index c1119694e16..4a7034e90b5 100644
--- a/src/devices/bus/rs232/sun_kbd.cpp
+++ b/src/devices/bus/rs232/sun_kbd.cpp
@@ -22,13 +22,14 @@ sun_keyboard_adaptor_device::~sun_keyboard_adaptor_device()
}
-MACHINE_CONFIG_START(sun_keyboard_adaptor_device::device_add_mconfig)
- MCFG_DEVICE_ADD(m_keyboard_port, SUNKBD_PORT, default_sun_keyboard_devices, nullptr)
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(*this, sun_keyboard_adaptor_device, output_rxd))
-MACHINE_CONFIG_END
+void sun_keyboard_adaptor_device::device_add_mconfig(machine_config &config)
+{
+ SUNKBD_PORT(config, m_keyboard_port, default_sun_keyboard_devices, nullptr);
+ m_keyboard_port->rxd_handler().set(FUNC(sun_keyboard_adaptor_device::output_rxd));
+}
-WRITE_LINE_MEMBER( sun_keyboard_adaptor_device::input_txd )
+WRITE_LINE_MEMBER(sun_keyboard_adaptor_device::input_txd)
{
m_keyboard_port->write_txd(state);
}
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp
index 4d788ab851b..77e1e4b32cd 100644
--- a/src/devices/bus/s100/dj2db.cpp
+++ b/src/devices/bus/s100/dj2db.cpp
@@ -103,8 +103,8 @@ WRITE_LINE_MEMBER( s100_dj2db_device::fdc_drq_w )
//-------------------------------------------------
MACHINE_CONFIG_START(s100_dj2db_device::device_add_mconfig)
- MCFG_DEVICE_ADD(BR1941_TAG, COM8116, 5.0688_MHz_XTAL)
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, s100_dj2db_device, fr_w))
+ COM8116(config, m_dbrg, 5.0688_MHz_XTAL);
+ m_dbrg->fr_handler().set(FUNC(s100_dj2db_device::fr_w));
MCFG_DEVICE_ADD(MB8866_TAG, MB8866, 10_MHz_XTAL / 5)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(*this, s100_dj2db_device, fdc_intrq_w))
diff --git a/src/devices/bus/sunkbd/sunkbd.h b/src/devices/bus/sunkbd/sunkbd.h
index 037c81f66ba..43f60067a46 100644
--- a/src/devices/bus/sunkbd/sunkbd.h
+++ b/src/devices/bus/sunkbd/sunkbd.h
@@ -8,10 +8,6 @@
#include "diserial.h"
-#define MCFG_SUNKBD_RXD_HANDLER(cb) \
- downcast<sun_keyboard_port_device &>(*device).set_rxd_handler(DEVCB_##cb);
-
-
class device_sun_keyboard_port_interface;
@@ -33,7 +29,7 @@ public:
virtual ~sun_keyboard_port_device();
// static configuration helpers
- template <class Object> devcb_base &set_rxd_handler(Object &&cb) { return m_rxd_handler.set_callback(std::forward<Object>(cb)); }
+ auto rxd_handler() { return m_rxd_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h
index 8af446f9882..a8380f8bf0e 100644
--- a/src/devices/cpu/z80/z80.h
+++ b/src/devices/cpu/z80/z80.h
@@ -42,6 +42,9 @@ public:
z80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void z80_set_cycle_tables(const uint8_t *op, const uint8_t *cb, const uint8_t *ed, const uint8_t *xy, const uint8_t *xycb, const uint8_t *ex);
+ template <typename... T> void set_memory_map(T &&... args) { set_addrmap(AS_PROGRAM, std::forward<T>(args)...); }
+ template <typename... T> void set_m1_map(T &&... args) { set_addrmap(AS_OPCODES, std::forward<T>(args)...); }
+ template <typename... T> void set_io_map(T &&... args) { set_addrmap(AS_IO, std::forward<T>(args)...); }
template<class Object> devcb_base &set_irqack_cb(Object &&cb) { return m_irqack_cb.set_callback(std::forward<Object>(cb)); }
template<class Object> devcb_base &set_refresh_cb(Object &&cb) { return m_refresh_cb.set_callback(std::forward<Object>(cb)); }
template<class Object> devcb_base &set_halt_cb(Object &&cb) { return m_halt_cb.set_callback(std::forward<Object>(cb)); }
diff --git a/src/devices/machine/am9513.h b/src/devices/machine/am9513.h
index 51fdfd54091..b591294d9b7 100644
--- a/src/devices/machine/am9513.h
+++ b/src/devices/machine/am9513.h
@@ -35,25 +35,6 @@
#pragma once
//**************************************************************************
-// CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_AM9513_OUT1_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_out_cb(0, DEVCB_##_devcb);
-#define MCFG_AM9513_OUT2_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_out_cb(1, DEVCB_##_devcb);
-#define MCFG_AM9513_OUT3_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_out_cb(2, DEVCB_##_devcb);
-#define MCFG_AM9513_OUT4_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_out_cb(3, DEVCB_##_devcb);
-#define MCFG_AM9513_OUT5_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_out_cb(4, DEVCB_##_devcb);
-#define MCFG_AM9513_FOUT_CALLBACK(_devcb) \
- downcast<am9513_device &>(*device).set_fout_cb(DEVCB_##_devcb);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -66,8 +47,6 @@ public:
am9513_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
// static configuration
- template<class Object> devcb_base &set_out_cb(int c, Object &&cb) { assert(c >= 0 && c < 5); return m_out_cb[c].set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_fout_cb(Object &&cb) { return m_fout_cb.set_callback(std::forward<Object>(cb)); }
auto out1_cb() { return m_out_cb[0].bind(); }
auto out2_cb() { return m_out_cb[1].bind(); }
auto out3_cb() { return m_out_cb[2].bind(); }
diff --git a/src/devices/machine/com8116.h b/src/devices/machine/com8116.h
index 1981571fa5c..50c8849e2ee 100644
--- a/src/devices/machine/com8116.h
+++ b/src/devices/machine/com8116.h
@@ -27,22 +27,6 @@
#pragma once
-
-
-///*************************************************************************
-// INTERFACE CONFIGURATION MACROS
-///*************************************************************************
-
-#define MCFG_COM8116_FX4_HANDLER(_devcb) \
- downcast<com8116_device &>(*device).set_fx4_handler(DEVCB_##_devcb);
-
-#define MCFG_COM8116_FR_HANDLER(_devcb) \
- downcast<com8116_device &>(*device).set_fr_handler(DEVCB_##_devcb);
-
-#define MCFG_COM8116_FT_HANDLER(_devcb) \
- downcast<com8116_device &>(*device).set_ft_handler(DEVCB_##_devcb);
-
-
///*************************************************************************
// TYPE DEFINITIONS
///*************************************************************************
@@ -55,9 +39,6 @@ public:
// construction/destruction
com8116_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_fx4_handler(Object &&cb) { return m_fx4_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_fr_handler(Object &&cb) { return m_fr_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_ft_handler(Object &&cb) { return m_ft_handler.set_callback(std::forward<Object>(cb)); }
auto fx4_handler() { return m_fx4_handler.bind(); }
auto fr_handler() { return m_fr_handler.bind(); }
auto ft_handler() { return m_ft_handler.bind(); }
diff --git a/src/devices/machine/rstbuf.h b/src/devices/machine/rstbuf.h
index af0d8ffbef2..76bb1a0393f 100644
--- a/src/devices/machine/rstbuf.h
+++ b/src/devices/machine/rstbuf.h
@@ -5,19 +5,11 @@
RST interrupt vector buffer
**********************************************************************/
+#ifndef MAME_MACHINE_RSTBUF_H
+#define MAME_MACHINE_RSTBUF_H
#pragma once
-#ifndef MAME_DEVICES_MACHINE_RSTBUF_H
-#define MAME_DEVICES_MACHINE_RSTBUF_H
-
-//**************************************************************************
-// CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_RST_BUFFER_INT_CALLBACK(_devcb) \
- downcast<rst_buffer_device &>(*device).set_int_callback(DEVCB_##_devcb);
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -28,7 +20,7 @@ class rst_buffer_device : public device_t
{
public:
// configuration
- template<class Object> devcb_base &set_int_callback(Object &&object) { return m_int_cb.set_callback(std::forward<Object>(object)); }
+ auto int_callback() { return m_int_cb.bind(); }
// getter (required override)
virtual u8 get_vector() const = 0;
@@ -104,4 +96,4 @@ protected:
DECLARE_DEVICE_TYPE(RST_POS_BUFFER, rst_pos_buffer_device)
DECLARE_DEVICE_TYPE(RST_NEG_BUFFER, rst_neg_buffer_device)
-#endif // MAME_DEVICES_MACHINE_RSTBUF_H
+#endif // MAME_MACHINE_RSTBUF_H
diff --git a/src/mame/drivers/ampex.cpp b/src/mame/drivers/ampex.cpp
index 866f2b12bf2..7c718bb04b3 100644
--- a/src/mame/drivers/ampex.cpp
+++ b/src/mame/drivers/ampex.cpp
@@ -211,23 +211,23 @@ MACHINE_CONFIG_START(ampex_state::ampex)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(23'814'000) / 9) // clocked by 8224?
MCFG_DEVICE_PROGRAM_MAP(mem_map)
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(23'814'000) / 2, 105 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 270, 0, 250)
- MCFG_SCREEN_UPDATE_DRIVER(ampex_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(23.814_MHz_XTAL / 2, 105 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 270, 0, 250);
+ screen.set_screen_update(FUNC(ampex_state::screen_update));
MCFG_DEVICE_ADD("vtac", CRT5037, XTAL(23'814'000) / 2 / CHAR_WIDTH)
MCFG_TMS9927_CHAR_WIDTH(CHAR_WIDTH)
MCFG_TMS9927_VSYN_CALLBACK(WRITELINE(*this, ampex_state, vsyn_w))
MCFG_VIDEO_SET_SCREEN("screen")
- MCFG_DEVICE_ADD("uart", AY31015, 0) // COM8017, actually
- MCFG_AY31015_WRITE_SO_CB(WRITELINE(*this, ampex_state, so_w))
- MCFG_AY31015_WRITE_DAV_CB(WRITELINE(*this, ampex_state, dav_w))
- MCFG_AY31015_AUTO_RDAV(true)
+ AY31015(config, m_uart, 0); // COM8017, actually
+ m_uart->write_so_callback().set(FUNC(ampex_state::so_w));
+ m_uart->write_dav_callback().set(FUNC(ampex_state::dav_w));
+ m_uart->set_auto_rdav(true);
- MCFG_DEVICE_ADD("dbrg", COM5016_5, XTAL(4'915'200))
- MCFG_COM8116_FR_HANDLER(WRITELINE("uart", ay31015_device, write_rcp))
- MCFG_COM8116_FT_HANDLER(WRITELINE("uart", ay31015_device, write_tcp))
+ COM5016_5(config, m_dbrg, 4.9152_MHz_XTAL);
+ m_dbrg->fr_handler().set(m_uart, FUNC(ay31015_device::write_rcp));
+ m_dbrg->ft_handler().set(m_uart, FUNC(ay31015_device::write_tcp));
MACHINE_CONFIG_END
ROM_START( dialog80 )
diff --git a/src/mame/drivers/bitgraph.cpp b/src/mame/drivers/bitgraph.cpp
index e8f1d196457..21237ce2e44 100644
--- a/src/mame/drivers/bitgraph.cpp
+++ b/src/mame/drivers/bitgraph.cpp
@@ -70,8 +70,6 @@
#define RS232_K_TAG "rs232kbd"
#define RS232_D_TAG "rs232debug"
#define RS232_M_TAG "rs232mouse"
-#define COM8116_A_TAG "com8116_a"
-#define COM8116_B_TAG "com8116_b"
#define ADLC_TAG "adlc"
#define PIA_TAG "pia"
#define PSG_TAG "psg"
@@ -101,8 +99,8 @@ public:
, m_acia2(*this, ACIA2_TAG)
, m_acia3(*this, ACIA3_TAG)
, m_adlc(*this, ADLC_TAG)
- , m_dbrga(*this, COM8116_A_TAG)
- , m_dbrgb(*this, COM8116_B_TAG)
+ , m_dbrga(*this, "com8116_a")
+ , m_dbrgb(*this, "com8116_b")
, m_pia(*this, PIA_TAG)
, m_psg(*this, PSG_TAG)
, m_earom(*this, EAROM_TAG)
@@ -536,13 +534,13 @@ MACHINE_CONFIG_START(bitgraph_state::bg_motherboard)
MCFG_RS232_CTS_HANDLER(WRITELINE(ACIA2_TAG, acia6850_device, write_cts))
// XXX actual part may be something else
- MCFG_DEVICE_ADD(COM8116_A_TAG, COM8116, XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, bitgraph_state, com8116_a_fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(*this, bitgraph_state, com8116_a_ft_w))
+ COM8116(config, m_dbrga, 5.0688_MHz_XTAL);
+ m_dbrga->fr_handler().set(FUNC(bitgraph_state::com8116_a_fr_w));
+ m_dbrga->ft_handler().set(FUNC(bitgraph_state::com8116_a_ft_w));
- MCFG_DEVICE_ADD(COM8116_B_TAG, COM8116, XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, bitgraph_state, com8116_b_fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(*this, bitgraph_state, com8116_b_ft_w))
+ COM8116(config, m_dbrgb, 5.0688_MHz_XTAL);
+ m_dbrgb->fr_handler().set(FUNC(bitgraph_state::com8116_b_fr_w));
+ m_dbrgb->ft_handler().set(FUNC(bitgraph_state::com8116_b_ft_w));
MCFG_DEVICE_ADD(PIA_TAG, PIA6821, 0)
MCFG_PIA_READCA1_HANDLER(READLINE(*this, bitgraph_state, pia_ca1_r))
diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index eb9a78db775..fce55440bad 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -4361,36 +4361,35 @@ MACHINE_CONFIG_START(ddenlovr_state::htengoku)
MCFG_DEVICE_IO_MAP(htengoku_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- MCFG_DEVICE_ADD("bankdev", ADDRESS_MAP_BANK, 0)
- MCFG_DEVICE_PROGRAM_MAP(htengoku_banked_map)
- MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
- MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(20)
- MCFG_ADDRESS_MAP_BANK_STRIDE(0x8000)
+ ADDRESS_MAP_BANK(config, m_bankdev, 0);
+ m_bankdev->set_addrmap(0, &ddenlovr_state::htengoku_banked_map);
+ m_bankdev->set_data_width(8);
+ m_bankdev->set_addr_width(20);
+ m_bankdev->set_stride(0x8000);
MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,dynax)
MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, "mainirq", 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, layer_half_w)) // half of the interleaved layer to write to
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, layer_half2_w)) //
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, blitter_ack_w)) // Blitter IRQ Ack
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::layer_half_w)); // half of the interleaved layer to write to
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::layer_half2_w)); //
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::blitter_ack_w)); // Blitter IRQ Ack
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 336-1, 0+8, 256-1-8)
- MCFG_SCREEN_UPDATE_DRIVER(ddenlovr_state, screen_update_htengoku)
- MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, ddenlovr_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256);
+ m_screen->set_visarea(0, 336-1, 0+8, 256-1-8);
+ m_screen->set_screen_update(FUNC(ddenlovr_state::screen_update_htengoku));
+ m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(ddenlovr_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, hnoridur_blit_pixel_w))
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index 4b202833365..e65380816de 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -4205,23 +4205,22 @@ MACHINE_CONFIG_START(dynax_state::cdracula)
// MCFG_NVRAM_ADD_0FILL("nvram") // no battery
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w)) // Flip Screen
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, dynax_state, blitter_ack_w)) // Blitter IRQ Ack
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, blit_palbank_w)) // Layers Palettes (High Bit)
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::flipscreen_w)); // Flip Screen
+ m_mainlatch->q_out_cb<4>().set(FUNC(dynax_state::blitter_ack_w)); // Blitter IRQ Ack
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::blit_palbank_w)); // Layers Palettes (High Bit)
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(58.56)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(16, 512-16-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_cdracula)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(58.56);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256);
+ m_screen->set_visarea(16, 512-16-1, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_cdracula));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, CDRACULA_BLITTER, 0)
MCFG_CDRACULA_BLITTER_VRAM_OUT_CB(WRITE8(*this, dynax_state, cdracula_blit_pixel_w))
@@ -4259,8 +4258,7 @@ MACHINE_CONFIG_START(dynax_state::hanamai)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
LS259(config, m_mainlatch);
m_mainlatch->q_out_cb<0>().set(m_msm, FUNC(msm5205_device::reset_w)).invert(); // MSM5205 reset
@@ -4273,14 +4271,14 @@ MACHINE_CONFIG_START(dynax_state::hanamai)
m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::layer_half_w)); // half of the interleaved layer to write to
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16+8, 255-8)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hanamai)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256);
+ m_screen->set_visarea(0, 512-1-4, 16+8, 255-8);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_hanamai));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, hanamai_blit_pixel_w))
@@ -4296,8 +4294,7 @@ MACHINE_CONFIG_START(dynax_state::hanamai)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("aysnd", AY8912, 22000000 / 8)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
+ AY8912(config, "aysnd", 22000000 / 8).add_route(ALL_OUTPUTS, "mono", 0.20);
MCFG_DEVICE_ADD("ym2203", YM2203, 22000000 / 8)
MCFG_YM2203_IRQ_HANDLER(WRITELINE("mainirq", rst_pos_buffer_device, rst1_w))
@@ -4339,28 +4336,27 @@ MACHINE_CONFIG_START(dynax_state::hnoridur)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0) // IC25
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, layer_half_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, layer_half2_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, dynax_state, blitter_ack_w))
+ LS259(config, m_mainlatch); // IC25
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::layer_half_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::layer_half2_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::blitter_ack_w));
- MCFG_DEVICE_ADD("outlatch", LS259, 0) // IC61
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
+ ls259_device &outlatch(LS259(config, "outlatch")); // IC61
+ outlatch.q_out_cb<0>().set(FUNC(dynax_state::coincounter_0_w));
+ outlatch.q_out_cb<1>().set(FUNC(dynax_state::coincounter_1_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256+22)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hnoridur)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256+22);
+ m_screen->set_visarea(0, 512-1-4, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_hnoridur));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, hnoridur_blit_pixel_w))
@@ -4412,30 +4408,29 @@ MACHINE_CONFIG_START(dynax_state::hjingi)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, layer_half_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, layer_half2_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, dynax_state, blitter_ack_w))
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::layer_half_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::layer_half2_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::blitter_ack_w));
- MCFG_DEVICE_ADD("outlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, hjingi_hopper_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, hjingi_lockout_w))
+ ls259_device &outlatch(LS259(config, "outlatch"));
+ outlatch.q_out_cb<0>().set(FUNC(dynax_state::coincounter_0_w));
+ outlatch.q_out_cb<1>().set(FUNC(dynax_state::coincounter_1_w));
+ outlatch.q_out_cb<2>().set(FUNC(dynax_state::hjingi_hopper_w));
+ outlatch.q_out_cb<3>().set(FUNC(dynax_state::hjingi_lockout_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1-4, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hnoridur)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256);
+ m_screen->set_visarea(0, 512-1-4, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_hnoridur));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, hnoridur_blit_pixel_w))
@@ -4481,25 +4476,24 @@ MACHINE_CONFIG_START(dynax_state::sprtmtch)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0) // UF12 on Intergirl
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, dynax_state, blitter_ack_w))
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, blit_palbank_w))
+ LS259(config, m_mainlatch); // UF12 on Intergirl
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::coincounter_0_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(dynax_state::coincounter_1_w));
+ m_mainlatch->q_out_cb<4>().set(FUNC(dynax_state::blitter_ack_w));
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::blit_palbank_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_sprtmtch)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, sprtmtch_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256);
+ m_screen->set_visarea(0, 512-1, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_sprtmtch));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::sprtmtch_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, drgpunch_blit_pixel_w))
@@ -4548,25 +4542,25 @@ MACHINE_CONFIG_START(dynax_state::mjfriday)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainlatch", LS259, 0) // IC15
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_blit_dest1_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_blit_dest0_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, blit_palbank_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_layer1_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_layer0_enable_w))
+ LS259(config, m_mainlatch); // IC15
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::mjdialq2_blit_dest1_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::mjdialq2_blit_dest0_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::blit_palbank_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set(FUNC(dynax_state::coincounter_0_w));
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::coincounter_1_w));
+ m_mainlatch->q_out_cb<6>().set(FUNC(dynax_state::mjdialq2_layer1_enable_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::mjdialq2_layer0_enable_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_mjdialq2)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, mjfriday_vblank_w))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(0, 256-1, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_mjdialq2));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set(FUNC(dynax_state::mjfriday_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, mjdialq2_blit_pixel_w))
@@ -4619,12 +4613,10 @@ MACHINE_CONFIG_START(dynax_state::yarunara)
MCFG_DEVICE_REMOVE("outlatch") // ???
- MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VISIBLE_AREA(0, 336-1, 8, 256-1-8-1)
+ m_screen->set_visarea(0, 336-1, 8, 256-1-8-1);
/* devices */
- MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
- MCFG_MSM6242_OUT_INT_HANDLER(WRITELINE("mainirq", rst_pos_buffer_device, rst1_w))
+ MSM6242(config, "rtc", 32.768_kHz_XTAL).out_int_handler().set(m_mainirq, FUNC(rst_pos_buffer_device::rst1_w));
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dynax_state::mjangels)
@@ -4708,36 +4700,34 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_mainirq, 0).int_callback().set_inputline(m_maincpu, 0);
- MCFG_DEVICE_ADD("soundirq", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_POS_BUFFER(config, m_soundirq, 0).int_callback().set_inputline(m_soundcpu, 0);
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w)) // Coin Counter
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, blit2_palbank_w)) // Layers Palettes (High Bit)
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, blit_palbank_w))
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, dynax_state, jantouki_blitter_ack_w)) // Blitter IRQ Ack
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, dynax_state, jantouki_blitter2_ack_w)) // Blitter 2 IRQ Ack
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::coincounter_0_w)); // Coin Counter
+ m_mainlatch->q_out_cb<3>().set(FUNC(dynax_state::blit2_palbank_w)); // Layers Palettes (High Bit)
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::blit_palbank_w));
+ m_mainlatch->q_out_cb<6>().set(FUNC(dynax_state::jantouki_blitter_ack_w)); // Blitter IRQ Ack
+ m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::jantouki_blitter2_ack_w)); // Blitter 2 IRQ Ack
- MCFG_GENERIC_LATCH_8_ADD("soundlatch")
- MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_pos_buffer_device, rst2_w))
- MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
+ GENERIC_LATCH_8(config, m_soundlatch);
+ m_soundlatch->data_pending_callback().set(m_soundirq, FUNC(rst_pos_buffer_device::rst2_w));
+ m_soundlatch->set_separate_acknowledge(true);
/* video hardware */
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
MCFG_DEFAULT_LAYOUT(layout_dualhuov)
- MCFG_SCREEN_ADD("top", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_jantouki_top)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, dynax_state, jantouki_vblank_w))
+ screen_device &top(SCREEN(config, "top", SCREEN_TYPE_RASTER));
+ top.set_refresh_hz(60);
+ top.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ top.set_size(512, 256);
+ top.set_visarea(0, 512-1, 16, 256-1);
+ top.set_screen_update(FUNC(dynax_state::screen_update_jantouki_top));
+ top.set_palette(m_palette);
+ top.screen_vblank().set(FUNC(dynax_state::jantouki_vblank_w));
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, jantouki_blit_pixel_w))
@@ -4745,13 +4735,13 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_DYNAX_BLITTER_REV2_SCROLLY_CB(WRITE8(*this, dynax_state, dynax_blit_scrolly_w))
MCFG_DYNAX_BLITTER_REV2_READY_CB(WRITELINE(*this, dynax_state, jantouki_blitter_irq_w))
- MCFG_SCREEN_ADD("bottom", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256)
- MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_jantouki_bottom)
- MCFG_SCREEN_PALETTE("palette")
+ screen_device &bottom(SCREEN(config, "bottom", SCREEN_TYPE_RASTER));
+ bottom.set_refresh_hz(60);
+ bottom.set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ bottom.set_size(512, 256);
+ bottom.set_visarea(0, 512-1, 16, 256-1);
+ bottom.set_screen_update(FUNC(dynax_state::screen_update_jantouki_bottom));
+ bottom.set_palette(m_palette);
MCFG_DEVICE_ADD(m_blitter2, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, jantouki_blit2_pixel_w))
@@ -4764,8 +4754,7 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("aysnd", AY8912, 22000000 / 8)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
+ AY8912(config, "aysnd", 22000000 / 8).add_route(ALL_OUTPUTS, "mono", 0.20);
MCFG_DEVICE_ADD("ym2203", YM2203, 22000000 / 8)
MCFG_YM2203_IRQ_HANDLER(WRITELINE("soundirq", rst_pos_buffer_device, rst1_w))
@@ -4780,7 +4769,7 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
/* devices */
- MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
+ MSM6242(config, "rtc", 32.768_kHz_XTAL);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dynax_state::janyuki)
@@ -4807,10 +4796,10 @@ MACHINE_CONFIG_START(dynax_state::mjelctrn)
MCFG_DEVICE_MODIFY("bankdev")
MCFG_DEVICE_PROGRAM_MAP(mjelctrn_banked_map)
- MCFG_DEVICE_REPLACE("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, layer_half_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, layer_half2_w))
+ LS259(config.replace(), m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::layer_half_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::layer_half2_w));
// Q3, Q4 seem to be related to wrap around enable
MCFG_DEVICE_REMOVE("mainirq")
@@ -4830,9 +4819,9 @@ MACHINE_CONFIG_START(dynax_state::mjembase)
MCFG_TMPZ84C015_IN_PA_CB(IOPORT("DSW1"))
MCFG_TMPZ84C015_IN_PB_CB(IOPORT("DSW2"))
- MCFG_DEVICE_MODIFY("mainlatch") // 13C
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
+ // 13C
+ m_mainlatch->q_out_cb<3>().set(FUNC(dynax_state::coincounter_0_w));
+ m_mainlatch->q_out_cb<4>().set(FUNC(dynax_state::coincounter_1_w));
MCFG_DEVICE_REMOVE("outlatch")
@@ -4908,14 +4897,14 @@ MACHINE_CONFIG_START(dynax_state::tenkai)
m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::tenkai_blitter_ack_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(512, 256+22)
- MCFG_SCREEN_VISIBLE_AREA(4, 512-1, 4, 255-8-4) // hide first 4 horizontal pixels (see scroll of gal 4 in test mode)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_hnoridur)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ1))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(512, 256+22);
+ m_screen->set_visarea(4, 512-1, 4, 255-8-4); // hide first 4 horizontal pixels (see scroll of gal 4 in test mode)
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_hnoridur));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ1);
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, hnoridur_blit_pixel_w))
@@ -4939,8 +4928,7 @@ MACHINE_CONFIG_START(dynax_state::tenkai)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
/* devices */
- MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
- MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ2))
+ MSM6242(config, "rtc", 32.768_kHz_XTAL).out_int_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ2);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dynax_state::majrjhdx)
@@ -4978,25 +4966,25 @@ MACHINE_CONFIG_START(dynax_state::gekisha)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_blit_dest1_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_blit_dest0_w))
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, dynax_state, blit_palbank_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, dynax_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, dynax_state, coincounter_0_w))
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, dynax_state, coincounter_1_w))
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_layer1_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, dynax_state, mjdialq2_layer0_enable_w))
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(dynax_state::mjdialq2_blit_dest1_w));
+ m_mainlatch->q_out_cb<1>().set(FUNC(dynax_state::mjdialq2_blit_dest0_w));
+ m_mainlatch->q_out_cb<2>().set(FUNC(dynax_state::blit_palbank_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(dynax_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set(FUNC(dynax_state::coincounter_0_w));
+ m_mainlatch->q_out_cb<5>().set(FUNC(dynax_state::coincounter_1_w));
+ m_mainlatch->q_out_cb<6>().set(FUNC(dynax_state::mjdialq2_layer1_enable_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(dynax_state::mjdialq2_layer0_enable_w));
/* video hardware */
- MCFG_SCREEN_ADD(m_screen, RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(256, 256)
- MCFG_SCREEN_VISIBLE_AREA(2, 256-1, 16, 256-1)
- MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_mjdialq2)
- MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_refresh_hz(60);
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
+ m_screen->set_size(256, 256);
+ m_screen->set_visarea(2, 256-1, 16, 256-1);
+ m_screen->set_screen_update(FUNC(dynax_state::screen_update_mjdialq2));
+ m_screen->set_palette(m_palette);
+ m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
MCFG_DEVICE_ADD(m_blitter, DYNAX_BLITTER_REV2, 0)
MCFG_DYNAX_BLITTER_REV2_VRAM_OUT_CB(WRITE8(*this, dynax_state, mjdialq2_blit_pixel_w))
diff --git a/src/mame/drivers/hp64k.cpp b/src/mame/drivers/hp64k.cpp
index c898fb5c6fb..74880328136 100644
--- a/src/mame/drivers/hp64k.cpp
+++ b/src/mame/drivers/hp64k.cpp
@@ -1439,25 +1439,24 @@ MACHINE_CONFIG_START(hp64k_state::hp64k)
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(*this, hp64k_state , hp64k_floppy1_rdy));
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("beeper" , BEEP , 2500)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS , "mono" , 1.00)
+ BEEP(config, m_beeper, 2500).add_route(ALL_OUTPUTS, "mono", 1.00);
MCFG_TIMER_DRIVER_ADD("beep_timer" , hp64k_state , hp64k_beeper_off);
- MCFG_DEVICE_ADD("baud_rate" , COM8116 , XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, hp64k_state , hp64k_baud_clk_w));
+ COM8116(config, m_baud_rate, 5.0688_MHz_XTAL);
+ m_baud_rate->fr_handler().set(FUNC(hp64k_state::hp64k_baud_clk_w));
- MCFG_DEVICE_ADD("uart" , I8251 , 0)
- MCFG_I8251_RXRDY_HANDLER(WRITELINE(*this, hp64k_state , hp64k_rxrdy_w));
- MCFG_I8251_TXRDY_HANDLER(WRITELINE(*this, hp64k_state , hp64k_txrdy_w));
- MCFG_I8251_TXD_HANDLER(WRITELINE(*this, hp64k_state , hp64k_txd_w));
- MCFG_I8251_DTR_HANDLER(WRITELINE(*this, hp64k_state , hp64k_dtr_w));
- MCFG_I8251_RTS_HANDLER(WRITELINE(*this, hp64k_state , hp64k_rts_w));
+ I8251(config, m_uart, 0);
+ m_uart->rxrdy_handler().set(FUNC(hp64k_state::hp64k_rxrdy_w));
+ m_uart->txrdy_handler().set(FUNC(hp64k_state::hp64k_txrdy_w));
+ m_uart->txd_handler().set(FUNC(hp64k_state::hp64k_txd_w));
+ m_uart->dtr_handler().set(FUNC(hp64k_state::hp64k_dtr_w));
+ m_uart->rts_handler().set(FUNC(hp64k_state::hp64k_rts_w));
- MCFG_DEVICE_ADD("rs232" , RS232_PORT, default_rs232_devices , nullptr)
- MCFG_RS232_RXD_HANDLER(WRITELINE(*this, hp64k_state , hp64k_rs232_rxd_w))
- MCFG_RS232_DCD_HANDLER(WRITELINE(*this, hp64k_state , hp64k_rs232_dcd_w))
- MCFG_RS232_CTS_HANDLER(WRITELINE(*this, hp64k_state , hp64k_rs232_cts_w))
+ RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
+ m_rs232->rxd_handler().set(FUNC(hp64k_state::hp64k_rs232_rxd_w));
+ m_rs232->dcd_handler().set(FUNC(hp64k_state::hp64k_rs232_dcd_w));
+ m_rs232->cts_handler().set(FUNC(hp64k_state::hp64k_rs232_cts_w));
MCFG_DEVICE_ADD("phi" , PHI , 0)
MCFG_PHI_INT_WRITE_CB(WRITELINE(*this, hp64k_state , hp64k_phi_int_w))
diff --git a/src/mame/drivers/kurukuru.cpp b/src/mame/drivers/kurukuru.cpp
index 57aeb1317b9..053f4438d84 100644
--- a/src/mame/drivers/kurukuru.cpp
+++ b/src/mame/drivers/kurukuru.cpp
@@ -399,8 +399,8 @@
class kurukuru_state : public driver_device
{
public:
- kurukuru_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ kurukuru_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_v9938(*this, "v9938"),
@@ -866,14 +866,12 @@ MACHINE_CONFIG_START(kurukuru_state::kurukuru)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_GENERIC_LATCH_8_ADD("soundlatch")
- MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst28_w))
+ GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set(m_soundirq, FUNC(rst_neg_buffer_device::rst28_w));
// latch irq vector is $ef (rst $28)
// timer irq vector is $f7 (rst $30)
// if both are asserted, the vector becomes $f7 AND $ef = $e7 (rst $20)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("audiocpu", 0))
+ RST_NEG_BUFFER(config, m_soundirq, 0).int_callback().set_inputline(m_audiocpu, 0);
MCFG_DEVICE_ADD("ym2149", YM2149, YM2149_CLOCK)
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2"))
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index 1f9613cf1c4..855ccdacf92 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -1862,8 +1862,7 @@ MACHINE_CONFIG_START(m72_state::m72_audio_chips)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline(m_soundcpu, 0);
MCFG_DEVICE_MODIFY("soundcpu")
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("soundirq", rst_neg_buffer_device, inta_cb)
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 5477854bc96..c63cdd8df10 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -764,8 +764,7 @@ MACHINE_CONFIG_START(m90_state::m90)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline(m_soundcpu, 0);
MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO)
diff --git a/src/mame/drivers/ms6102.cpp b/src/mame/drivers/ms6102.cpp
index bdd4ea47ce9..e7ab393ffb6 100644
--- a/src/mame/drivers/ms6102.cpp
+++ b/src/mame/drivers/ms6102.cpp
@@ -73,7 +73,7 @@ public:
, m_crtc1(*this, "i8275_1")
, m_crtc2(*this, "i8275_2")
, m_p_chargen(*this, "chargen")
- { }
+ { }
void ms6102(machine_config &config);
void ms6102_io(address_map &map);
@@ -350,16 +350,15 @@ MACHINE_CONFIG_START(ms6102_state::ms6102)
MCFG_RIPPLE_COUNTER_STAGES(2)
MCFG_RIPPLE_COUNTER_COUNT_OUT_CB(WRITE8(*this, ms6102_state, kbd_uart_clock_w))
- MCFG_DEVICE_ADD("keyboard", MS7002, 0)
- MCFG_VT100_KEYBOARD_SIGNAL_OUT_CALLBACK(WRITELINE("589wa1", ay31015_device, write_si))
+ MS7002(config, m_keyboard, 0).signal_out_callback().set(m_kbd_uart, FUNC(ay31015_device::write_si));
// serial connection to host
- MCFG_DEVICE_ADD("i8251", I8251, 0)
- MCFG_I8251_TXD_HANDLER(WRITELINE("rs232", rs232_port_device, write_txd))
- MCFG_I8251_RXRDY_HANDLER(WRITELINE(*this, ms6102_state, irq<3>))
+ I8251(config, m_i8251, 0);
+ m_i8251->txd_handler().set(m_rs232, FUNC(rs232_port_device::write_txd));
+ m_i8251->rxrdy_handler().set(FUNC(ms6102_state::irq<3>));
- MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "null_modem")
- MCFG_RS232_RXD_HANDLER(WRITELINE("i8251", i8251_device, write_rxd))
+ RS232_PORT(config, m_rs232, default_rs232_devices, "null_modem");
+ m_rs232->rxd_handler().set(m_i8251, FUNC(i8251_device::write_rxd));
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL(16'400'000) / 9)
diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp
index c3c87549a8f..2ea5671fa01 100644
--- a/src/mame/drivers/rainbow.cpp
+++ b/src/mame/drivers/rainbow.cpp
@@ -3306,9 +3306,9 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
MCFG_DS1315_ADD("rtc") // DS1315 (ClikClok for DEC-100 B) * OPTIONAL *
- MCFG_DEVICE_ADD("dbrg", COM8116_003, 24.0734_MHz_XTAL / 4) // 6.01835 MHz (nominally 6 MHz)
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, rainbow_state, dbrg_fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(*this, rainbow_state, dbrg_ft_w))
+ COM8116_003(config, m_dbrg, 24.0734_MHz_XTAL / 4); // 6.01835 MHz (nominally 6 MHz)
+ m_dbrg->fr_handler().set(FUNC(rainbow_state::dbrg_fr_w));
+ m_dbrg->ft_handler().set(FUNC(rainbow_state::dbrg_ft_w));
MCFG_DEVICE_ADD("mpsc", UPD7201_NEW, 24.0734_MHz_XTAL / 5 / 2) // 2.4073 MHz (nominally 2.5 MHz)
MCFG_Z80SIO_OUT_INT_CB(WRITELINE(*this, rainbow_state, mpsc_irq))
diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp
index e2325a0fdad..a82603f174c 100644
--- a/src/mame/drivers/shisen.cpp
+++ b/src/mame/drivers/shisen.cpp
@@ -240,7 +240,6 @@ MACHINE_CONFIG_START(shisen_state::shisen)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_shisen)
MCFG_PALETTE_ADD("palette", 256)
-
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -249,8 +248,7 @@ MACHINE_CONFIG_START(shisen_state::shisen)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline("soundcpu", 0);
MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO)
diff --git a/src/mame/drivers/softbox.cpp b/src/mame/drivers/softbox.cpp
index 2aaad308021..eb5e18aa604 100644
--- a/src/mame/drivers/softbox.cpp
+++ b/src/mame/drivers/softbox.cpp
@@ -389,9 +389,9 @@ MACHINE_CONFIG_START(softbox_state::softbox)
MCFG_I8255_IN_PORTC_CB(READ8(*this, softbox_state, ppi1_pc_r))
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, softbox_state, ppi1_pc_w))
- MCFG_DEVICE_ADD(COM8116_TAG, COM8116, XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_txc))
+ com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL));
+ dbrg.fr_handler().set(I8251_TAG, FUNC(i8251_device::write_rxc));
+ dbrg.ft_handler().set(I8251_TAG, FUNC(i8251_device::write_txc));
MCFG_CBM_IEEE488_ADD("c8050")
diff --git a/src/mame/drivers/sun2.cpp b/src/mame/drivers/sun2.cpp
index d70868daaf3..10b0af67191 100644
--- a/src/mame/drivers/sun2.cpp
+++ b/src/mame/drivers/sun2.cpp
@@ -655,13 +655,13 @@ MACHINE_CONFIG_START(sun2_state::sun2vme)
MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 900-1)
MCFG_SCREEN_REFRESH_RATE(72)
- MCFG_DEVICE_ADD("timer", AM9513A, 19.6608_MHz_XTAL / 4)
- MCFG_AM9513_FOUT_CALLBACK(WRITELINE("timer", am9513_device, gate1_w))
- MCFG_AM9513_OUT1_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_7))
- MCFG_AM9513_OUT2_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<0>))
- MCFG_AM9513_OUT3_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<1>))
- MCFG_AM9513_OUT4_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<2>))
- MCFG_AM9513_OUT5_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<3>))
+ am9513a_device &timer(AM9513A(config, "timer", 19.6608_MHz_XTAL / 4));
+ timer.fout_cb().set("timer", FUNC(am9513_device::gate1_w));
+ timer.out1_cb().set_inputline(m_maincpu, M68K_IRQ_7);
+ timer.out2_cb().set("irq5", FUNC(input_merger_device::in_w<0>));
+ timer.out3_cb().set("irq5", FUNC(input_merger_device::in_w<1>));
+ timer.out4_cb().set("irq5", FUNC(input_merger_device::in_w<2>));
+ timer.out5_cb().set("irq5", FUNC(input_merger_device::in_w<3>));
MCFG_INPUT_MERGER_ANY_HIGH("irq5") // 74LS05 open collectors
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", M68K_IRQ_5))
@@ -727,13 +727,13 @@ MACHINE_CONFIG_START(sun2_state::sun2mbus)
MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 900-1)
MCFG_SCREEN_REFRESH_RATE(72)
- MCFG_DEVICE_ADD("timer", AM9513, 39.3216_MHz_XTAL / 8)
- MCFG_AM9513_FOUT_CALLBACK(WRITELINE("timer", am9513_device, gate1_w))
- MCFG_AM9513_OUT1_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_7))
- MCFG_AM9513_OUT2_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<0>))
- MCFG_AM9513_OUT3_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<1>))
- MCFG_AM9513_OUT4_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<2>))
- MCFG_AM9513_OUT5_CALLBACK(WRITELINE("irq5", input_merger_device, in_w<3>))
+ am9513a_device &timer(AM9513A(config, "timer", 39.3216_MHz_XTAL / 8));
+ timer.fout_cb().set("timer", FUNC(am9513_device::gate1_w));
+ timer.out1_cb().set_inputline(m_maincpu, M68K_IRQ_7);
+ timer.out2_cb().set("irq5", FUNC(input_merger_device::in_w<0>));
+ timer.out3_cb().set("irq5", FUNC(input_merger_device::in_w<1>));
+ timer.out4_cb().set("irq5", FUNC(input_merger_device::in_w<2>));
+ timer.out5_cb().set("irq5", FUNC(input_merger_device::in_w<3>));
MCFG_INPUT_MERGER_ANY_HIGH("irq5") // 74LS05 open collectors
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", M68K_IRQ_5))
diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp
index 57e3c63f3f3..7ba3cc10e94 100644
--- a/src/mame/drivers/sun3.cpp
+++ b/src/mame/drivers/sun3.cpp
@@ -220,8 +220,8 @@ fefc34a - start of mem_size, which queries ECC registers for each memory board
class sun3_state : public driver_device
{
public:
- sun3_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ sun3_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_scc1(*this, SCC1_TAG),
m_scc2(*this, SCC2_TAG),
@@ -234,7 +234,7 @@ public:
m_rom(*this, "user1"),
m_idprom(*this, "idprom"),
m_ram(*this, RAM_TAG)
- { }
+ { }
void sun3(machine_config &config);
void sun3e(machine_config &config);
@@ -1021,8 +1021,7 @@ MACHINE_CONFIG_START(sun3_state::sun3)
MCFG_DEVICE_ADD(SCC1_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(KEYBOARD_TAG, sun_keyboard_port_device, write_txd))
- MCFG_DEVICE_ADD(KEYBOARD_TAG, SUNKBD_PORT, default_sun_keyboard_devices, "type3hle")
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(SCC1_TAG, z80scc_device, rxa_w))
+ SUNKBD_PORT(config, KEYBOARD_TAG, default_sun_keyboard_devices, "type3hle").rxd_handler().set(m_scc1, FUNC(z80scc_device::rxa_w));
MCFG_DEVICE_ADD(SCC2_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_txd))
@@ -1126,8 +1125,7 @@ MACHINE_CONFIG_START(sun3_state::sun3_50)
MCFG_DEVICE_ADD(SCC1_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(KEYBOARD_TAG, sun_keyboard_port_device, write_txd))
- MCFG_DEVICE_ADD(KEYBOARD_TAG, SUNKBD_PORT, default_sun_keyboard_devices, "type3hle")
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(SCC1_TAG, z80scc_device, rxa_w))
+ SUNKBD_PORT(config, KEYBOARD_TAG, default_sun_keyboard_devices, "type3hle").rxd_handler().set(m_scc1, FUNC(z80scc_device::rxa_w));
MCFG_DEVICE_ADD(SCC2_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_txd))
diff --git a/src/mame/drivers/sun3x.cpp b/src/mame/drivers/sun3x.cpp
index 94ee4e18f82..cc901cf8d88 100644
--- a/src/mame/drivers/sun3x.cpp
+++ b/src/mame/drivers/sun3x.cpp
@@ -160,8 +160,8 @@
class sun3x_state : public driver_device
{
public:
- sun3x_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ sun3x_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_scc1(*this, SCC1_TAG),
m_scc2(*this, SCC2_TAG),
@@ -598,8 +598,7 @@ MACHINE_CONFIG_START(sun3x_state::sun3_80)
MCFG_DEVICE_ADD(SCC1_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(KEYBOARD_TAG, sun_keyboard_port_device, write_txd))
- MCFG_DEVICE_ADD(KEYBOARD_TAG, SUNKBD_PORT, default_sun_keyboard_devices, "type3hle")
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(SCC1_TAG, z80scc_device, rxa_w))
+ SUNKBD_PORT(config, KEYBOARD_TAG, default_sun_keyboard_devices, "type3hle").rxd_handler().set(m_scc1, FUNC(z80scc_device::rxa_w));
MCFG_DEVICE_ADD(SCC2_TAG, SCC8530N, 4.9152_MHz_XTAL)
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_txd))
diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp
index 082c7031ff0..4eb06077c51 100644
--- a/src/mame/drivers/sun4.cpp
+++ b/src/mame/drivers/sun4.cpp
@@ -1937,8 +1937,7 @@ MACHINE_CONFIG_START(sun4_state::sun4)
MCFG_Z80SCC_OUT_INT_CB(WRITELINE(*this, sun4_state, scc1_int))
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(KEYBOARD_TAG, sun_keyboard_port_device, write_txd))
- MCFG_DEVICE_ADD(KEYBOARD_TAG, SUNKBD_PORT, default_sun_keyboard_devices, "type4hle")
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(SCC1_TAG, z80scc_device, rxa_w))
+ SUNKBD_PORT(config, KEYBOARD_TAG, default_sun_keyboard_devices, "type4hle").rxd_handler().set(m_scc1, FUNC(z80scc_device::rxa_w));
// RS232 serial ports
MCFG_DEVICE_ADD(SCC2_TAG, SCC8530N, 4.9152_MHz_XTAL)
@@ -2002,8 +2001,7 @@ MACHINE_CONFIG_START(sun4_state::sun4c)
MCFG_Z80SCC_OUT_INT_CB(WRITELINE(*this, sun4_state, scc1_int))
MCFG_Z80SCC_OUT_TXDA_CB(WRITELINE(KEYBOARD_TAG, sun_keyboard_port_device, write_txd))
- MCFG_DEVICE_ADD(KEYBOARD_TAG, SUNKBD_PORT, default_sun_keyboard_devices, "type5hle")
- MCFG_SUNKBD_RXD_HANDLER(WRITELINE(SCC1_TAG, z80scc_device, rxa_w))
+ SUNKBD_PORT(config, KEYBOARD_TAG, default_sun_keyboard_devices, "type5hle").rxd_handler().set(m_scc1, FUNC(z80scc_device::rxa_w));
// RS232 serial ports
MCFG_DEVICE_ADD(SCC2_TAG, SCC8530N, 4.9152_MHz_XTAL)
diff --git a/src/mame/drivers/unistar.cpp b/src/mame/drivers/unistar.cpp
index 44c6eedf162..8f96a99ac28 100644
--- a/src/mame/drivers/unistar.cpp
+++ b/src/mame/drivers/unistar.cpp
@@ -110,8 +110,7 @@ MACHINE_CONFIG_START(unistar_state::unistar)
MCFG_DEVICE_PROGRAM_MAP(unistar_mem)
MCFG_DEVICE_IO_MAP(unistar_io)
- MCFG_DEVICE_ADD("stc", AM9513, 8_MHz_XTAL)
- MCFG_AM9513_FOUT_CALLBACK(WRITELINE("stc", am9513_device, source1_w))
+ AM9513(config, "stc", 8_MHz_XTAL).fout_cb().set("stc", FUNC(am9513_device::source1_w));
MCFG_DEVICE_ADD("ppi", I8255A, 0)
diff --git a/src/mame/drivers/v100.cpp b/src/mame/drivers/v100.cpp
index bf4d47a2bec..d5fa5d4152f 100644
--- a/src/mame/drivers/v100.cpp
+++ b/src/mame/drivers/v100.cpp
@@ -351,17 +351,17 @@ MACHINE_CONFIG_START(v100_state::v100)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(v100_state, irq_ack)
- MCFG_DEVICE_ADD("usart1", I8251, XTAL(47'736'000) / 12) // divider not verified
+ I8251(config, m_usart[0], XTAL(47'736'000) / 12); // divider not verified
- MCFG_DEVICE_ADD("brg1", COM8116, 5068800) // TODO: clock and divisors for this customized variant
- MCFG_COM8116_FR_HANDLER(WRITELINE("usart1", i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE("usart1", i8251_device, write_txc))
+ com8116_device &brg1(COM8116(config, "brg1", 5068800)); // TODO: clock and divisors for this customized variant
+ brg1.fr_handler().set(m_usart[0], FUNC(i8251_device::write_rxc));
+ brg1.ft_handler().set(m_usart[0], FUNC(i8251_device::write_txc));
- MCFG_DEVICE_ADD("usart2", I8251, XTAL(47'736'000) / 12)
+ I8251(config, m_usart[1], XTAL(47'736'000) / 12);
- MCFG_DEVICE_ADD("brg2", COM8116, 5068800)
- MCFG_COM8116_FR_HANDLER(WRITELINE("usart2", i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE("usart2", i8251_device, write_txc))
+ com8116_device &brg2(COM8116(config, "brg2", 5068800));
+ brg2.fr_handler().set(m_usart[1], FUNC(i8251_device::write_rxc));
+ brg2.ft_handler().set(m_usart[1], FUNC(i8251_device::write_txc));
MCFG_SCREEN_ADD("screen", RASTER)
//MCFG_SCREEN_RAW_PARAMS(XTAL(47'736'000) / 2, 102 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 260, 0, 240)
diff --git a/src/mame/drivers/v550.cpp b/src/mame/drivers/v550.cpp
index 8c8fa969dd5..26332f7e9cf 100644
--- a/src/mame/drivers/v550.cpp
+++ b/src/mame/drivers/v550.cpp
@@ -110,12 +110,11 @@ MACHINE_CONFIG_START(v550_state::v550)
MCFG_DEVICE_ADD("mpsc", UPD7201_NEW, 4'000'000) // NEC D7201C
MCFG_Z80SIO_OUT_INT_CB(WRITELINE("mainint", input_merger_device, in_w<0>))
- MCFG_INPUT_MERGER_ANY_HIGH("mainint")
- MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
+ INPUT_MERGER_ANY_HIGH(config, "mainint").output_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- MCFG_DEVICE_ADD("brg1", COM8116, 5068800) // actually SMC COM8116T-020 (unknown clock)
- MCFG_COM8116_FT_HANDLER(WRITELINE("mpsc", upd7201_new_device, txca_w))
- MCFG_COM8116_FR_HANDLER(WRITELINE("mpsc", upd7201_new_device, rxca_w))
+ com8116_device &brg1(COM8116(config, "brg1", 5068800)); // actually SMC COM8116T-020 (unknown clock)
+ brg1.ft_handler().set("mpsc", FUNC(upd7201_new_device::txca_w));
+ brg1.fr_handler().set("mpsc", FUNC(upd7201_new_device::rxca_w));
com8116_device &brg2(COM8116(config, "brg2", 5068800)); // actually SMC COM8116T-020
brg2.ft_handler().set("mpsc", FUNC(upd7201_new_device::txcb_w));
diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp
index 4decd1a4cf3..a36fd3a385c 100644
--- a/src/mame/drivers/vigilant.cpp
+++ b/src/mame/drivers/vigilant.cpp
@@ -507,7 +507,6 @@ MACHINE_CONFIG_START(vigilant_state::vigilant)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_vigilant)
MCFG_PALETTE_ADD("palette", 512+32) /* 512 real palette, 32 virtual palette */
-
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -516,8 +515,7 @@ MACHINE_CONFIG_START(vigilant_state::vigilant)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline("soundcpu", 0);
MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO)
@@ -567,8 +565,7 @@ MACHINE_CONFIG_START(vigilant_state::buccanrs)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline("soundcpu", 0);
MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO)
@@ -625,7 +622,6 @@ MACHINE_CONFIG_START(vigilant_state::kikcubic)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_kikcubic)
MCFG_PALETTE_ADD("palette", 256)
-
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -634,8 +630,7 @@ MACHINE_CONFIG_START(vigilant_state::kikcubic)
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundirq", rst_neg_buffer_device, rst18_w))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- MCFG_DEVICE_ADD("soundirq", RST_NEG_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("soundcpu", 0))
+ RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline("soundcpu", 0);
MCFG_DEVICE_ADD("m72", IREM_M72_AUDIO)
diff --git a/src/mame/drivers/vk100.cpp b/src/mame/drivers/vk100.cpp
index f5b0045f616..9b4820d6b56 100644
--- a/src/mame/drivers/vk100.cpp
+++ b/src/mame/drivers/vk100.cpp
@@ -1044,33 +1044,32 @@ MACHINE_CONFIG_START(vk100_state::vk100)
MCFG_SCREEN_RAW_PARAMS(XTAL(45'619'200)/3, 882, 0, 720, 370, 0, 350 ) // fake screen timings for startup until 6845 sets real ones
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
- MCFG_MC6845_ADD( "crtc", H46505, "screen", XTAL(45'619'200)/3/12)
- MCFG_MC6845_SHOW_BORDER_AREA(false)
- MCFG_MC6845_CHAR_WIDTH(12)
- MCFG_MC6845_UPDATE_ROW_CB(vk100_state, crtc_update_row)
- MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, vk100_state, crtc_vsync))
+ H46505(config, m_crtc, 45.6192_MHz_XTAL/3/12);
+ m_crtc->set_show_border_area(false);
+ m_crtc->set_char_width(12);
+ m_crtc->set_update_row_callback(FUNC(vk100_state::crtc_update_row), this);
+ m_crtc->out_vsync_callback().set(FUNC(vk100_state::crtc_vsync));
/* i8251 uart */
- MCFG_DEVICE_ADD("i8251", I8251, 0)
- MCFG_I8251_TXD_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
- MCFG_I8251_DTR_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
- MCFG_I8251_RTS_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
- MCFG_I8251_RXRDY_HANDLER(WRITELINE(*this, vk100_state, i8251_rxrdy_int))
- MCFG_I8251_TXRDY_HANDLER(WRITELINE(*this, vk100_state, i8251_txrdy_int))
+ I8251(config, m_uart, 0);
+ m_uart->txd_handler().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
+ m_uart->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
+ m_uart->rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
+ m_uart->rxrdy_handler().set(FUNC(vk100_state::i8251_rxrdy_int));
+ m_uart->txrdy_handler().set(FUNC(vk100_state::i8251_txrdy_int));
- MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
- MCFG_RS232_RXD_HANDLER(WRITELINE("i8251", i8251_device, write_rxd))
- MCFG_RS232_DSR_HANDLER(WRITELINE("i8251", i8251_device, write_dsr))
+ rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
+ rs232.rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
+ rs232.dsr_handler().set(m_uart, FUNC(i8251_device::write_dsr));
- MCFG_DEVICE_ADD(COM5016T_TAG, COM8116, XTAL(5'068'800))
- MCFG_COM8116_FR_HANDLER(WRITELINE("i8251", i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE("i8251", i8251_device, write_txc))
+ com8116_device &dbrg(COM8116(config, COM5016T_TAG, 5.0688_MHz_XTAL));
+ dbrg.fr_handler().set(m_uart, FUNC(i8251_device::write_rxc));
+ dbrg.ft_handler().set(m_uart, FUNC(i8251_device::write_txc));
MCFG_DEFAULT_LAYOUT( layout_vk100 )
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD( "beeper", BEEP, 116 ) // 116 hz (page 172 of TM), but duty cycle is wrong here!
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 0.25 )
+ BEEP(config, m_speaker, 116).add_route(ALL_OUTPUTS, "mono", 0.25); // 116 hz (page 172 of TM), but duty cycle is wrong here!
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/vt100.cpp b/src/mame/drivers/vt100.cpp
index 994f9e3bf3c..3deea3ebc98 100644
--- a/src/mame/drivers/vt100.cpp
+++ b/src/mame/drivers/vt100.cpp
@@ -55,8 +55,6 @@
#include "vt100.lh"
-#define RS232_TAG "rs232"
-
class vt100_state : public driver_device
{
public:
@@ -69,7 +67,7 @@ public:
m_pusart(*this, "pusart"),
m_nvr(*this, "nvr"),
m_rstbuf(*this, "rstbuf"),
- m_rs232(*this, RS232_TAG),
+ m_rs232(*this, "rs232"),
m_printer_uart(*this, "printuart"),
m_p_ram(*this, "p_ram")
{
@@ -192,8 +190,8 @@ void vt100_state::vt100_io(address_map &map)
map.unmap_value_high();
map.global_mask(0xff);
// 0x00, 0x01 PUSART (Intel 8251)
- map(0x00, 0x00).rw("pusart", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
- map(0x01, 0x01).rw("pusart", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
+ map(0x00, 0x00).rw(m_pusart, FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
+ map(0x01, 0x01).rw(m_pusart, FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
// 0x02 Baud rate generator
map(0x02, 0x02).w("dbrg", FUNC(com8116_device::stt_str_w));
// 0x22 Modem buffer
@@ -205,7 +203,7 @@ void vt100_state::vt100_io(address_map &map)
// 0x62 NVR latch
map(0x62, 0x62).w(FUNC(vt100_state::nvr_latch_w));
// 0x82 Keyboard UART data
- map(0x82, 0x82).rw("kbduart", FUNC(ay31015_device::receive), FUNC(ay31015_device::transmit));
+ map(0x82, 0x82).rw(m_kbduart, FUNC(ay31015_device::receive), FUNC(ay31015_device::transmit));
// 0xA2 Video processor DC012
map(0xa2, 0xa2).w(m_crtc, FUNC(vt100_video_device::dc012_w));
// 0xC2 Video processor DC011
@@ -341,15 +339,15 @@ MACHINE_CONFIG_START(vt100_state::vt100)
MCFG_VT_VIDEO_LBA3_LBA4_CALLBACK(WRITE8(*this, vt100_state, uart_clock_w))
MCFG_VT_VIDEO_LBA7_CALLBACK(WRITELINE("nvr", er1400_device, clock_w))
- MCFG_DEVICE_ADD("pusart", I8251, XTAL(24'883'200) / 9)
- MCFG_I8251_TXD_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
- MCFG_I8251_DTR_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
- MCFG_I8251_RTS_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
- MCFG_I8251_RXRDY_HANDLER(WRITELINE("rstbuf", rst_pos_buffer_device, rst2_w))
+ I8251(config, m_pusart, XTAL(24'883'200) / 9);
+ m_pusart->txd_handler().set(m_rs232, FUNC(rs232_port_device::write_txd));
+ m_pusart->dtr_handler().set(m_rs232, FUNC(rs232_port_device::write_dtr));
+ m_pusart->rts_handler().set(m_rs232, FUNC(rs232_port_device::write_rts));
+ m_pusart->rxrdy_handler().set(m_rstbuf, FUNC(rst_pos_buffer_device::rst2_w));
- MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
- MCFG_RS232_RXD_HANDLER(WRITELINE("pusart", i8251_device, write_rxd))
- MCFG_RS232_DSR_HANDLER(WRITELINE("pusart", i8251_device, write_dsr))
+ RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
+ m_rs232->rxd_handler().set(m_pusart, FUNC(i8251_device::write_rxd));
+ m_rs232->dsr_handler().set(m_pusart, FUNC(i8251_device::write_dsr));
com8116_device &dbrg(COM5016_013(config, "dbrg", XTAL(24'883'200) / 9)); // COM5016T-013 (or WD1943CD-02), 2.7648Mhz Clock
dbrg.fr_handler().set(m_pusart, FUNC(i8251_device::write_rxc));
@@ -357,15 +355,13 @@ MACHINE_CONFIG_START(vt100_state::vt100)
ER1400(config, m_nvr, 0);
- MCFG_DEVICE_ADD("keyboard", VT100_KEYBOARD, 0)
- MCFG_VT100_KEYBOARD_SIGNAL_OUT_CALLBACK(WRITELINE("kbduart", ay31015_device, write_si))
+ VT100_KEYBOARD(config, m_keyboard, 0).signal_out_callback().set(m_kbduart, FUNC(ay31015_device::write_si));
- MCFG_DEVICE_ADD("kbduart", AY31015, 0)
- MCFG_AY31015_WRITE_DAV_CB(WRITELINE("rstbuf", rst_pos_buffer_device, rst1_w))
- MCFG_AY31015_AUTO_RDAV(true)
+ AY31015(config, m_kbduart, 0);
+ m_kbduart->write_dav_callback().set(m_rstbuf, FUNC(rst_pos_buffer_device::rst1_w));
+ m_kbduart->set_auto_rdav(true);
- MCFG_DEVICE_ADD("rstbuf", RST_POS_BUFFER, 0)
- MCFG_RST_BUFFER_INT_CALLBACK(INPUTLINE("maincpu", 0))
+ RST_POS_BUFFER(config, m_rstbuf, 0).int_callback().set_inputline(m_maincpu, 0);
MACHINE_CONFIG_END
void vt100_state::stp_mem(address_map &map)
@@ -385,23 +381,25 @@ void vt100_state::stp_io(address_map &map)
map(0xd0, 0xd0).rw("stpusart2", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
}
-MACHINE_CONFIG_START(vt100_state::vt100ac)
+void vt100_state::vt100ac(machine_config &config)
+{
vt100(config);
- MCFG_DEVICE_ADD("stpcpu", I8085A, 4915200)
- MCFG_DEVICE_PROGRAM_MAP(stp_mem)
- MCFG_DEVICE_IO_MAP(stp_io)
- MCFG_DEVICE_ADD("stpusart0", I8251, 2457600)
- MCFG_I8251_RXRDY_HANDLER(WRITELINE("stprxint", input_merger_device, in_w<0>))
- MCFG_I8251_TXRDY_HANDLER(WRITELINE("stptxint", input_merger_device, in_w<0>))
+ i8085a_cpu_device &stpcpu(I8085A(config, "stpcpu", 4915200));
+ stpcpu.set_addrmap(AS_PROGRAM, &vt100_state::stp_mem);
+ stpcpu.set_addrmap(AS_IO, &vt100_state::stp_io);
- MCFG_DEVICE_ADD("stpusart1", I8251, 2457600)
- MCFG_I8251_RXRDY_HANDLER(WRITELINE("stprxint", input_merger_device, in_w<1>))
- MCFG_I8251_TXRDY_HANDLER(WRITELINE("stptxint", input_merger_device, in_w<1>))
+ i8251_device &stpusart0(I8251(config, "stpusart0", 2457600));
+ stpusart0.rxrdy_handler().set("stprxint", FUNC(input_merger_device::in_w<0>));
+ stpusart0.txrdy_handler().set("stptxint", FUNC(input_merger_device::in_w<0>));
- MCFG_DEVICE_ADD("stpusart2", I8251, 2457600) // for printer?
- MCFG_I8251_RXRDY_HANDLER(WRITELINE("stprxint", input_merger_device, in_w<2>))
- MCFG_I8251_TXRDY_HANDLER(WRITELINE("stptxint", input_merger_device, in_w<2>))
+ i8251_device &stpusart1(I8251(config, "stpusart1", 2457600));
+ stpusart1.rxrdy_handler().set("stprxint", FUNC(input_merger_device::in_w<1>));
+ stpusart1.txrdy_handler().set("stptxint", FUNC(input_merger_device::in_w<1>));
+
+ i8251_device &stpusart2(I8251(config, "stpusart2", 2457600)); // for printer?
+ stpusart2.rxrdy_handler().set("stprxint", FUNC(input_merger_device::in_w<2>));
+ stpusart2.txrdy_handler().set("stptxint", FUNC(input_merger_device::in_w<2>));
INPUT_MERGER_ANY_HIGH(config, "stptxint").output_handler().set_inputline("stpcpu", I8085_RST55_LINE);
@@ -414,46 +412,48 @@ MACHINE_CONFIG_START(vt100_state::vt100ac)
dbrg.ft_handler().append("stpusart0", FUNC(i8251_device::write_txc));
dbrg.ft_handler().append("stpusart1", FUNC(i8251_device::write_txc));
dbrg.ft_handler().append("stpusart2", FUNC(i8251_device::write_txc));
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(vt100_state::vt180)
+void vt100_state::vt180(machine_config &config)
+{
vt100(config);
- MCFG_DEVICE_ADD("z80cpu", Z80, XTAL(24'883'200) / 9)
- MCFG_DEVICE_PROGRAM_MAP(vt180_mem)
- MCFG_DEVICE_IO_MAP(vt180_io)
-MACHINE_CONFIG_END
+
+ z80_device &z80cpu(Z80(config, "z80cpu", XTAL(24'883'200) / 9));
+ z80cpu.set_memory_map(&vt100_state::vt180_mem);
+ z80cpu.set_io_map(&vt100_state::vt180_io);
+}
MACHINE_CONFIG_START(vt100_state::vt101)
vt100(config);
- MCFG_DEVICE_REPLACE("maincpu", I8085A, XTAL(24'073'400) / 4)
+
+ MCFG_DEVICE_REPLACE(m_maincpu, I8085A, XTAL(24'073'400) / 4)
MCFG_DEVICE_PROGRAM_MAP(vt100_mem)
MCFG_DEVICE_IO_MAP(vt100_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(vt100_state, vt102_irq_callback)
- MCFG_DEVICE_MODIFY("pusart")
- MCFG_DEVICE_CLOCK(XTAL(24'073'400) / 8)
- MCFG_I8251_TXRDY_HANDLER(INPUTLINE("maincpu", I8085_RST55_LINE)) // 8085 pin 9, mislabeled RST 7.5 on schematics
+ m_pusart->set_clock(XTAL(24'073'400) / 8);
+ m_pusart->txrdy_handler().set_inputline(m_maincpu, I8085_RST55_LINE); // 8085 pin 9, mislabeled RST 7.5 on schematics
- MCFG_DEVICE_REPLACE("dbrg", COM8116_003, XTAL(24'073'400) / 4)
- MCFG_COM8116_FR_HANDLER(WRITELINE("pusart", i8251_device, write_rxc))
- MCFG_COM8116_FT_HANDLER(WRITELINE("pusart", i8251_device, write_txc))
+ com8116_003_device &dbrg(COM8116_003(config.replace(), "dbrg", XTAL(24'073'400) / 4));
+ dbrg.fr_handler().set(m_pusart, FUNC(i8251_device::write_rxc));
+ dbrg.ft_handler().set(m_pusart, FUNC(i8251_device::write_txc));
- MCFG_DEVICE_MODIFY("kbduart")
- MCFG_AY31015_WRITE_TBMT_CB(INPUTLINE("maincpu", I8085_RST65_LINE))
+ m_kbduart->write_tbmt_callback().set_inputline(m_maincpu, I8085_RST65_LINE);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(vt100_state::vt102)
vt101(config);
+
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(vt102_io)
- MCFG_DEVICE_ADD("printuart", INS8250, XTAL(24'073'400) / 16)
- MCFG_INS8250_OUT_TX_CB(WRITELINE("printer", rs232_port_device, write_txd))
- MCFG_INS8250_OUT_INT_CB(INPUTLINE("maincpu", I8085_RST75_LINE)) // 8085 pin 7, mislabeled RST 5.5 on schematics
+ ins8250_device &printuart(INS8250(config, "printuart", XTAL(24'073'400) / 16));
+ printuart.out_tx_callback().set("printer", FUNC(rs232_port_device::write_txd));
+ printuart.out_int_callback().set_inputline(m_maincpu, I8085_RST75_LINE); // 8085 pin 7, mislabeled RST 5.5 on schematics
- MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr)
- MCFG_RS232_RXD_HANDLER(WRITELINE("printuart", ins8250_device, rx_w))
- MCFG_RS232_DSR_HANDLER(WRITELINE("printuart", ins8250_device, dsr_w))
+ rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
+ printer.rxd_handler().set("printuart", FUNC(ins8250_device::rx_w));
+ printer.dsr_handler().set("printuart", FUNC(ins8250_device::dsr_w));
MACHINE_CONFIG_END
/* VT1xx models:
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 3f9ede99609..d180770d6d0 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -469,14 +469,6 @@ WRITE_LINE_MEMBER( xerox820_state::fdc_drq_w )
update_nmi();
}
-/* COM8116 Interface */
-
-WRITE_LINE_MEMBER( xerox820_state::fr_w )
-{
- m_sio->rxca_w(state);
- m_sio->txca_w(state);
-}
-
/* Video */
uint32_t xerox820_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@@ -655,9 +647,10 @@ MACHINE_CONFIG_START(xerox820_state::xerox820)
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w))
- MCFG_DEVICE_ADD(COM8116_TAG, COM8116, 5.0688_MHz_XTAL)
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, xerox820_state, fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
+ com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL));
+ dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w));
+ dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
+ dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
MCFG_DEVICE_ADD(KEYBOARD_TAG, XEROX_820_KEYBOARD, 0)
MCFG_XEROX_820_KEYBOARD_KBSTB_CALLBACK(WRITELINE(Z80PIO_KB_TAG, z80pio_device, strobe_b))
@@ -744,9 +737,10 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w))
- MCFG_DEVICE_ADD(COM8116_TAG, COM8116, 5.0688_MHz_XTAL)
- MCFG_COM8116_FR_HANDLER(WRITELINE(*this, xerox820_state, fr_w))
- MCFG_COM8116_FT_HANDLER(WRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
+ com8116_device &dbrg(COM8116(config, COM8116_TAG, 5.0688_MHz_XTAL));
+ dbrg.fr_handler().set(m_sio, FUNC(z80dart_device::rxca_w));
+ dbrg.fr_handler().append(m_sio, FUNC(z80dart_device::txca_w));
+ dbrg.ft_handler().set(m_sio, FUNC(z80dart_device::rxtxcb_w));
MCFG_DEVICE_ADD(KEYBOARD_TAG, XEROX_820_KEYBOARD, 0)
MCFG_XEROX_820_KEYBOARD_KBSTB_CALLBACK(WRITELINE(Z80PIO_KB_TAG, z80pio_device, strobe_b))
diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h
index 5dbc3e2c1a4..14ea8f00f52 100644
--- a/src/mame/includes/m72.h
+++ b/src/mame/includes/m72.h
@@ -5,6 +5,11 @@
Irem M72 hardware
*************************************************************************/
+#ifndef MAME_INCLUDES_M72_H
+#define MAME_INCLUDES_M72_H
+
+#pragma once
+
#include "audio/m72.h"
#include "sound/dac.h"
#include "machine/pic8259.h"
@@ -27,8 +32,8 @@
class m72_state : public driver_device
{
public:
- m72_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ m72_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
m_mcu(*this, "mcu"),
@@ -52,7 +57,7 @@ public:
m_m81_b_b_j3(*this, "JumperJ3"),
m_m82_rowscroll(0),
m_m82_tmcontrol(0)
- { }
+ { }
void m72_base(machine_config &config);
void m72_audio_chips(machine_config &config);
@@ -245,3 +250,5 @@ private:
void xmultipl_map(address_map &map);
void xmultiplm72_map(address_map &map);
};
+
+#endif // MAME_INCLUDES_M72_H
diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h
index f71a5c18c1a..9ea4333107f 100644
--- a/src/mame/includes/m90.h
+++ b/src/mame/includes/m90.h
@@ -1,5 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Bryan McPhail
+#ifndef MAME_INCLUDES_M90_H
+#define MAME_INCLUDES_M90_H
+
+#pragma once
+
#include "audio/m72.h"
#include "emupal.h"
@@ -80,3 +85,5 @@ private:
void quizf1_main_cpu_io_map(address_map &map);
void quizf1_main_cpu_map(address_map &map);
};
+
+#endif // MAME_INCLUDES_M90_H
diff --git a/src/mame/includes/shisen.h b/src/mame/includes/shisen.h
index 2e20f59a32d..e17227d2537 100644
--- a/src/mame/includes/shisen.h
+++ b/src/mame/includes/shisen.h
@@ -1,19 +1,25 @@
// license:BSD-3-Clause
// copyright-holders:Nicola Salmoria
+#ifndef MAME_INCLUDES_SHISEN_H
+#define MAME_INCLUDES_SHISEN_H
+
+#pragma once
+
#include "audio/m72.h"
#include "emupal.h"
class shisen_state : public driver_device
{
public:
- shisen_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ shisen_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_audio (*this, "m72"),
+ m_audio(*this, "m72"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_paletteram(*this, "paletteram"),
- m_videoram(*this, "videoram") { }
+ m_videoram(*this, "videoram")
+ { }
void shisen(machine_config &config);
@@ -46,3 +52,5 @@ private:
void shisen_sound_io_map(address_map &map);
void shisen_sound_map(address_map &map);
};
+
+#endif // MAME_INCLUDES_SHISEN_H
diff --git a/src/mame/includes/softbox.h b/src/mame/includes/softbox.h
index 18b71aa7523..0c79870160e 100644
--- a/src/mame/includes/softbox.h
+++ b/src/mame/includes/softbox.h
@@ -1,10 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder, Mike Naberezny
-#pragma once
-
#ifndef MAME_INCLUDES_SOFTBOX_H
#define MAME_INCLUDES_SOFTBOX_H
+#pragma once
+
#include "bus/ieee488/ieee488.h"
#include "bus/imi7000/imi7000.h"
#include "cpu/z80/z80.h"
diff --git a/src/mame/includes/vigilant.h b/src/mame/includes/vigilant.h
index 2745a799002..b3739180da6 100644
--- a/src/mame/includes/vigilant.h
+++ b/src/mame/includes/vigilant.h
@@ -1,20 +1,26 @@
// license:BSD-3-Clause
// copyright-holders:Mike Balfour
+#ifndef MAME_INCLUDES_VIGILANT_H
+#define MAME_INCLUDES_VIGILANT_H
+
+#pragma once
+
#include "audio/m72.h"
#include "emupal.h"
class vigilant_state : public driver_device
{
public:
- vigilant_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ vigilant_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_audio(*this, "m72"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_generic_paletteram_8(*this, "paletteram"),
m_spriteram(*this, "spriteram"),
- m_videoram(*this, "videoram") { }
+ m_videoram(*this, "videoram")
+ { }
void vigilant(machine_config &config);
void kikcubic(machine_config &config);
@@ -72,3 +78,5 @@ private:
void vigilant_io_map(address_map &map);
void vigilant_map(address_map &map);
};
+
+#endif // MAME_INCLUDES_VIGILANT_H
diff --git a/src/mame/includes/xerox820.h b/src/mame/includes/xerox820.h
index 120c81a80d8..3cbb101bf88 100644
--- a/src/mame/includes/xerox820.h
+++ b/src/mame/includes/xerox820.h
@@ -81,7 +81,6 @@ public:
DECLARE_READ8_MEMBER( kbpio_pa_r );
DECLARE_WRITE8_MEMBER( kbpio_pa_w );
DECLARE_READ8_MEMBER( kbpio_pb_r );
- DECLARE_WRITE_LINE_MEMBER( fr_w );
DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
diff --git a/src/mame/machine/vt100_kbd.h b/src/mame/machine/vt100_kbd.h
index 0c2a6c24d76..fbae60b044d 100644
--- a/src/mame/machine/vt100_kbd.h
+++ b/src/mame/machine/vt100_kbd.h
@@ -18,14 +18,6 @@
//**************************************************************************
-// CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_VT100_KEYBOARD_SIGNAL_OUT_CALLBACK(_devcb) \
- downcast<vt100_keyboard_device &>(*device).set_signal_out_callback(DEVCB_##_devcb);
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -38,7 +30,7 @@ public:
vt100_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
// configuration
- template <class Object> devcb_base &set_signal_out_callback(Object &&cb) { return m_signal_out_cb.set_callback(std::forward<Object>(cb)); }
+ auto signal_out_callback() { return m_signal_out_cb.bind(); }
DECLARE_WRITE_LINE_MEMBER(signal_line_w);