summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-06-02 08:46:37 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-06-02 08:46:37 +0200
commitdc7eec650a98a1d89690bdd67f0d2e3fd8f10893 (patch)
tree5e0abbe3c138ef5c2139df9506c539c520a45a3f /src/devices
parent9881020929083b49eeb740471863b350273c2200 (diff)
some more device_add_mconfig. Only devices/bus remains. (nw)
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/imagedev/floppy.cpp6
-rw-r--r--src/devices/imagedev/floppy.h2
-rw-r--r--src/devices/machine/pdc.cpp14
-rw-r--r--src/devices/machine/pdc.h36
-rw-r--r--src/devices/machine/scnxx562.cpp9
-rw-r--r--src/devices/machine/scnxx562.h2
-rw-r--r--src/devices/machine/terminal.cpp7
-rw-r--r--src/devices/machine/terminal.h14
-rw-r--r--src/devices/machine/wd7600.cpp6
-rw-r--r--src/devices/machine/wd7600.h95
-rw-r--r--src/devices/machine/z80dart.cpp10
-rw-r--r--src/devices/machine/z80dart.h2
-rw-r--r--src/devices/machine/z80scc.cpp8
-rw-r--r--src/devices/machine/z80scc.h2
-rw-r--r--src/devices/machine/z80sio.cpp8
-rw-r--r--src/devices/machine/z80sio.h2
16 files changed, 90 insertions, 133 deletions
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 0ea84b94d46..600608ba692 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -1344,16 +1344,12 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, stream_sampl
#define FLOPSPK "flopsndout"
-MACHINE_CONFIG_START( floppy_img )
+MACHINE_CONFIG_MEMBER( floppy_image_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO(FLOPSPK)
MCFG_SOUND_ADD(FLOPSND_TAG, FLOPPYSOUND, 44100)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, FLOPSPK, 0.5)
MACHINE_CONFIG_END
-machine_config_constructor floppy_image_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( floppy_img );
-}
DEFINE_DEVICE_TYPE(FLOPPYSOUND, floppy_sound_device, "flopsnd", "Floppy sound")
diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h
index bc84ad3ab5e..f18e6425797 100644
--- a/src/devices/imagedev/floppy.h
+++ b/src/devices/imagedev/floppy.h
@@ -149,7 +149,7 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual void setup_characteristics() = 0;
diff --git a/src/devices/machine/pdc.cpp b/src/devices/machine/pdc.cpp
index 2d7fba18bc8..3449f5aac5b 100644
--- a/src/devices/machine/pdc.cpp
+++ b/src/devices/machine/pdc.cpp
@@ -248,10 +248,10 @@ FLOPPY_FORMATS_MEMBER( pdc_device::floppy_formats )
FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_DRIVER( pdc )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( pdc )
+MACHINE_CONFIG_MEMBER( pdc_device::device_add_mconfig )
/* CPU - Zilog Z0840006PSC */
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_10MHz / 2)
MCFG_CPU_PROGRAM_MAP(pdc_mem)
@@ -284,16 +284,6 @@ static MACHINE_CONFIG_START( pdc )
MCFG_MFM_HARDDISK_CONN_ADD("h1", pdc_harddisks, nullptr, MFM_BYTE, 3000, 20, MFMHD_GEN_FORMAT)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor pdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pdc );
-}
-
ioport_constructor pdc_device::device_input_ports() const
{
return INPUT_PORTS_NAME( pdc_ports );
diff --git a/src/devices/machine/pdc.h b/src/devices/machine/pdc.h
index 0de893fcdc7..32e5a2cac09 100644
--- a/src/devices/machine/pdc.h
+++ b/src/devices/machine/pdc.h
@@ -36,23 +36,11 @@ public:
/* Constructor and Destructor */
pdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- /* Optional information overrides */
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
/* Callbacks */
template <class Object> static devcb_base &m68k_r_callback(device_t &device, Object &&cb) { return downcast<pdc_device &>(device).m_m68k_r_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> static devcb_base &m68k_w_callback(device_t &device, Object &&cb) { return downcast<pdc_device &>(device).m_m68k_w_cb.set_callback(std::forward<Object>(cb)); }
/* Read and Write members */
- DECLARE_WRITE_LINE_MEMBER(i8237_hreq_w);
- DECLARE_WRITE_LINE_MEMBER(i8237_eop_w);
- DECLARE_READ8_MEMBER(i8237_dma_mem_r);
- DECLARE_WRITE8_MEMBER(i8237_dma_mem_w);
- DECLARE_READ8_MEMBER(i8237_fdc_dma_r);
- DECLARE_WRITE8_MEMBER(i8237_fdc_dma_w);
-
DECLARE_WRITE_LINE_MEMBER(hdd_irq);
DECLARE_READ8_MEMBER(p0_7_r);
@@ -64,12 +52,6 @@ public:
DECLARE_READ8_MEMBER(p39_r);
DECLARE_WRITE8_MEMBER(p50_5f_w);
- DECLARE_READ8_MEMBER(m68k_dma_r);
- DECLARE_WRITE8_MEMBER(m68k_dma_w);
-
- DECLARE_WRITE_LINE_MEMBER(fdc_irq);
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
/* Main CPU accessible registers */
uint8_t reg_p0;
uint8_t reg_p1;
@@ -87,6 +69,24 @@ protected:
/* Device-level overrides */
virtual void device_start() override;
virtual void device_reset() override;
+ /* Optional information overrides */
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+private:
+ DECLARE_WRITE_LINE_MEMBER(i8237_hreq_w);
+ DECLARE_WRITE_LINE_MEMBER(i8237_eop_w);
+ DECLARE_READ8_MEMBER(i8237_dma_mem_r);
+ DECLARE_WRITE8_MEMBER(i8237_dma_mem_w);
+ DECLARE_READ8_MEMBER(i8237_fdc_dma_r);
+ DECLARE_WRITE8_MEMBER(i8237_fdc_dma_w);
+
+ DECLARE_READ8_MEMBER(m68k_dma_r);
+ DECLARE_WRITE8_MEMBER(m68k_dma_w);
+
+ DECLARE_WRITE_LINE_MEMBER(fdc_irq);
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
/* Protected variables */
//uint32_t fdd_68k_dma_address;
diff --git a/src/devices/machine/scnxx562.cpp b/src/devices/machine/scnxx562.cpp
index 769e48dab5e..ebb263f2096 100644
--- a/src/devices/machine/scnxx562.cpp
+++ b/src/devices/machine/scnxx562.cpp
@@ -126,18 +126,13 @@ DEFINE_DEVICE_TYPE(DUSCC68562, duscc68562_device, "duscc68562", "Philips
DEFINE_DEVICE_TYPE(DUSCC68C562, duscc68c562_device, "duscc68c562", "Philips SCN68C562 Dual SCC")
//-------------------------------------------------
-// device_mconfig_additions -
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START( duscc )
+MACHINE_CONFIG_MEMBER( duscc_device::device_add_mconfig )
MCFG_DEVICE_ADD(CHANA_TAG, DUSCC_CHANNEL, 0)
MCFG_DEVICE_ADD(CHANB_TAG, DUSCC_CHANNEL, 0)
MACHINE_CONFIG_END
-machine_config_constructor duscc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( duscc );
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/machine/scnxx562.h b/src/devices/machine/scnxx562.h
index a412cc0e1a2..2ea72b67b57 100644
--- a/src/devices/machine/scnxx562.h
+++ b/src/devices/machine/scnxx562.h
@@ -668,7 +668,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
// internal interrupt management
void check_interrupts();
diff --git a/src/devices/machine/terminal.cpp b/src/devices/machine/terminal.cpp
index 76228778303..4354c5ddb51 100644
--- a/src/devices/machine/terminal.cpp
+++ b/src/devices/machine/terminal.cpp
@@ -328,7 +328,7 @@ void generic_terminal_device::kbd_put(u8 data)
VIDEO HARDWARE
***************************************************************************/
-static MACHINE_CONFIG_START( generic_terminal )
+MACHINE_CONFIG_MEMBER( generic_terminal_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(TERMINAL_SCREEN_TAG, RASTER, rgb_t::white())
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
@@ -346,11 +346,6 @@ static MACHINE_CONFIG_START( generic_terminal )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bell", 0.50)
MACHINE_CONFIG_END
-machine_config_constructor generic_terminal_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(generic_terminal);
-}
-
void generic_terminal_device::device_start()
{
m_buffer = std::make_unique<uint8_t []>(m_width * m_height);
diff --git a/src/devices/machine/terminal.h b/src/devices/machine/terminal.h
index b23306ab810..5a6c5a7c22b 100644
--- a/src/devices/machine/terminal.h
+++ b/src/devices/machine/terminal.h
@@ -29,20 +29,14 @@ INPUT_PORTS_EXTERN( generic_terminal );
class generic_terminal_device : public device_t
{
public:
- static constexpr unsigned TERMINAL_WIDTH = 80;
- static constexpr unsigned TERMINAL_HEIGHT = 24;
-
generic_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> static void set_keyboard_callback(device_t &device, Object &&cb)
{ downcast<generic_terminal_device &>(device).m_keyboard_cb = std::forward<Object>(cb); }
DECLARE_WRITE8_MEMBER(write) { term_write(data); }
- void kbd_put(u8 data);
- uint32_t update(screen_device &device, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ void kbd_put(u8 data);
protected:
enum { BELL_TIMER_ID = 20'000 };
@@ -53,11 +47,16 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual void send_key(uint8_t code) { if (!m_keyboard_cb.isnull()) m_keyboard_cb(code); }
optional_device<palette_device> m_palette;
required_ioport m_io_term_conf;
+ static constexpr unsigned TERMINAL_WIDTH = 80;
+ static constexpr unsigned TERMINAL_HEIGHT = 24;
+
unsigned const m_width;
unsigned const m_height;
std::unique_ptr<uint8_t []> m_buffer;
@@ -67,6 +66,7 @@ private:
void scroll_line();
void write_char(uint8_t data);
void clear();
+ uint32_t update(screen_device &device, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint8_t m_framecnt;
uint8_t m_y_pos;
diff --git a/src/devices/machine/wd7600.cpp b/src/devices/machine/wd7600.cpp
index d2136a5a8f5..8334cf8b919 100644
--- a/src/devices/machine/wd7600.cpp
+++ b/src/devices/machine/wd7600.cpp
@@ -21,7 +21,7 @@
DEFINE_DEVICE_TYPE(WD7600, wd7600_device, "wd7600", "Western Digital WD7600 chipset")
-static MACHINE_CONFIG_START( wd7600 )
+MACHINE_CONFIG_MEMBER( wd7600_device::device_add_mconfig )
MCFG_DEVICE_ADD("dma1", AM9517A, 0)
MCFG_I8237_OUT_HREQ_CB(DEVWRITELINE("dma2", am9517a_device, dreq0_w))
MCFG_I8237_OUT_EOP_CB(WRITELINE(wd7600_device, dma1_eop_w))
@@ -69,10 +69,6 @@ static MACHINE_CONFIG_START( wd7600 )
MCFG_MC146818_CENTURY_INDEX(0x32)
MACHINE_CONFIG_END
-machine_config_constructor wd7600_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( wd7600 );
-}
void wd7600_device::static_set_cputag(device_t &device, const char *tag)
{
diff --git a/src/devices/machine/wd7600.h b/src/devices/machine/wd7600.h
index 0f8a65d7964..bf2c4f70d88 100644
--- a/src/devices/machine/wd7600.h
+++ b/src/devices/machine/wd7600.h
@@ -66,9 +66,6 @@ public:
// construction/destruction
wd7600_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
// callbacks
template <class Object> devcb_base &set_ior_callback(Object &&ior) { return m_read_ior.set_callback(std::forward<Object>(ior)); }
template <class Object> devcb_base &set_iow_callback(Object &&iow) { return m_write_iow.set_callback(std::forward<Object>(iow)); }
@@ -86,51 +83,6 @@ public:
static void static_set_biostag(device_t &device, const char *tag);
static void static_set_keybctag(device_t &device, const char *tag);
- DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
- DECLARE_WRITE_LINE_MEMBER( pic1_int_w ) { m_write_intr(state); }
- DECLARE_READ8_MEMBER( pic1_slave_ack_r );
- DECLARE_WRITE_LINE_MEMBER( ctc_out1_w );
- DECLARE_WRITE_LINE_MEMBER( ctc_out2_w );
- DECLARE_WRITE8_MEMBER( rtc_w );
- DECLARE_WRITE8_MEMBER( keyb_cmd_w );
- DECLARE_WRITE8_MEMBER( keyb_data_w );
- DECLARE_READ8_MEMBER( keyb_data_r );
- DECLARE_READ8_MEMBER( keyb_status_r );
- DECLARE_WRITE8_MEMBER( a20_reset_w );
- DECLARE_READ8_MEMBER( a20_reset_r );
- DECLARE_READ8_MEMBER( portb_r );
- DECLARE_WRITE8_MEMBER( portb_w );
- DECLARE_WRITE8_MEMBER( dma_page_w ) { m_dma_page[offset & 0x0f] = data; }
- DECLARE_READ8_MEMBER( dma_page_r ) { return m_dma_page[offset & 0x0f]; }
- DECLARE_READ8_MEMBER( dma_read_byte );
- DECLARE_WRITE8_MEMBER( dma_write_byte );
- DECLARE_READ8_MEMBER( dma_read_word );
- DECLARE_WRITE8_MEMBER( dma_write_word );
- DECLARE_WRITE_LINE_MEMBER( dma1_eop_w );
- DECLARE_READ8_MEMBER( dma1_ior0_r ) { return m_read_ior(0); }
- DECLARE_READ8_MEMBER( dma1_ior1_r ) { return m_read_ior(1); }
- DECLARE_READ8_MEMBER( dma1_ior2_r ) { return m_read_ior(2); }
- DECLARE_READ8_MEMBER( dma1_ior3_r ) { return m_read_ior(3); }
- DECLARE_READ8_MEMBER( dma2_ior1_r ) { uint16_t result = m_read_ior(5); m_dma_high_byte = result >> 8; return result; }
- DECLARE_READ8_MEMBER( dma2_ior2_r ) { uint16_t result = m_read_ior(6); m_dma_high_byte = result >> 8; return result; }
- DECLARE_READ8_MEMBER( dma2_ior3_r ) { uint16_t result = m_read_ior(7); m_dma_high_byte = result >> 8; return result; }
- DECLARE_WRITE8_MEMBER( dma1_iow0_w ) { m_write_iow(0, data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma1_iow1_w ) { m_write_iow(1, data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma1_iow2_w ) { m_write_iow(2, data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma1_iow3_w ) { m_write_iow(3, data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma2_iow1_w ) { m_write_iow(5, (m_dma_high_byte << 8) | data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma2_iow2_w ) { m_write_iow(6, (m_dma_high_byte << 8) | data, 0xffff); }
- DECLARE_WRITE8_MEMBER( dma2_iow3_w ) { m_write_iow(7, (m_dma_high_byte << 8) | data, 0xffff); }
- DECLARE_WRITE_LINE_MEMBER( dma1_dack0_w ) { set_dma_channel(0, state); }
- DECLARE_WRITE_LINE_MEMBER( dma1_dack1_w ) { set_dma_channel(1, state); }
- DECLARE_WRITE_LINE_MEMBER( dma1_dack2_w ) { set_dma_channel(2, state); }
- DECLARE_WRITE_LINE_MEMBER( dma1_dack3_w ) { set_dma_channel(3, state); }
- DECLARE_WRITE_LINE_MEMBER( dma2_dack0_w );
- DECLARE_WRITE_LINE_MEMBER( dma2_dack1_w ) { set_dma_channel(5, state); }
- DECLARE_WRITE_LINE_MEMBER( dma2_dack2_w ) { set_dma_channel(6, state); }
- DECLARE_WRITE_LINE_MEMBER( dma2_dack3_w ) { set_dma_channel(7, state); }
- DECLARE_WRITE_LINE_MEMBER( dma2_hreq_w ) { m_write_hold(state); }
-
// input lines
DECLARE_WRITE_LINE_MEMBER( irq01_w ) { m_pic1->ir1_w(state); }
DECLARE_WRITE_LINE_MEMBER( irq03_w ) { m_pic1->ir3_w(state); }
@@ -178,8 +130,55 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
+ DECLARE_WRITE_LINE_MEMBER( pic1_int_w ) { m_write_intr(state); }
+ DECLARE_READ8_MEMBER( pic1_slave_ack_r );
+ DECLARE_WRITE_LINE_MEMBER( ctc_out1_w );
+ DECLARE_WRITE_LINE_MEMBER( ctc_out2_w );
+ DECLARE_WRITE8_MEMBER( rtc_w );
+ DECLARE_WRITE8_MEMBER( keyb_cmd_w );
+ DECLARE_WRITE8_MEMBER( keyb_data_w );
+ DECLARE_READ8_MEMBER( keyb_data_r );
+ DECLARE_READ8_MEMBER( keyb_status_r );
+ DECLARE_WRITE8_MEMBER( a20_reset_w );
+ DECLARE_READ8_MEMBER( a20_reset_r );
+ DECLARE_READ8_MEMBER( portb_r );
+ DECLARE_WRITE8_MEMBER( portb_w );
+ DECLARE_WRITE8_MEMBER( dma_page_w ) { m_dma_page[offset & 0x0f] = data; }
+ DECLARE_READ8_MEMBER( dma_page_r ) { return m_dma_page[offset & 0x0f]; }
+ DECLARE_READ8_MEMBER( dma_read_byte );
+ DECLARE_WRITE8_MEMBER( dma_write_byte );
+ DECLARE_READ8_MEMBER( dma_read_word );
+ DECLARE_WRITE8_MEMBER( dma_write_word );
+ DECLARE_WRITE_LINE_MEMBER( dma1_eop_w );
+ DECLARE_READ8_MEMBER( dma1_ior0_r ) { return m_read_ior(0); }
+ DECLARE_READ8_MEMBER( dma1_ior1_r ) { return m_read_ior(1); }
+ DECLARE_READ8_MEMBER( dma1_ior2_r ) { return m_read_ior(2); }
+ DECLARE_READ8_MEMBER( dma1_ior3_r ) { return m_read_ior(3); }
+ DECLARE_READ8_MEMBER( dma2_ior1_r ) { uint16_t result = m_read_ior(5); m_dma_high_byte = result >> 8; return result; }
+ DECLARE_READ8_MEMBER( dma2_ior2_r ) { uint16_t result = m_read_ior(6); m_dma_high_byte = result >> 8; return result; }
+ DECLARE_READ8_MEMBER( dma2_ior3_r ) { uint16_t result = m_read_ior(7); m_dma_high_byte = result >> 8; return result; }
+ DECLARE_WRITE8_MEMBER( dma1_iow0_w ) { m_write_iow(0, data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma1_iow1_w ) { m_write_iow(1, data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma1_iow2_w ) { m_write_iow(2, data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma1_iow3_w ) { m_write_iow(3, data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma2_iow1_w ) { m_write_iow(5, (m_dma_high_byte << 8) | data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma2_iow2_w ) { m_write_iow(6, (m_dma_high_byte << 8) | data, 0xffff); }
+ DECLARE_WRITE8_MEMBER( dma2_iow3_w ) { m_write_iow(7, (m_dma_high_byte << 8) | data, 0xffff); }
+ DECLARE_WRITE_LINE_MEMBER( dma1_dack0_w ) { set_dma_channel(0, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma1_dack1_w ) { set_dma_channel(1, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma1_dack2_w ) { set_dma_channel(2, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma1_dack3_w ) { set_dma_channel(3, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma2_dack0_w );
+ DECLARE_WRITE_LINE_MEMBER( dma2_dack1_w ) { set_dma_channel(5, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma2_dack2_w ) { set_dma_channel(6, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma2_dack3_w ) { set_dma_channel(7, state); }
+ DECLARE_WRITE_LINE_MEMBER( dma2_hreq_w ) { m_write_hold(state); }
+
devcb_read16 m_read_ior;
devcb_write16 m_write_iow;
devcb_write8 m_write_tc;
diff --git a/src/devices/machine/z80dart.cpp b/src/devices/machine/z80dart.cpp
index 1fac2475992..9279cbaf280 100644
--- a/src/devices/machine/z80dart.cpp
+++ b/src/devices/machine/z80dart.cpp
@@ -56,20 +56,14 @@ DEFINE_DEVICE_TYPE(UPD7201, upd7201_device, "upd7201", "NEC uPD
//-------------------------------------------------
-// device_mconfig_additions -
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START( z80dart )
+MACHINE_CONFIG_MEMBER( z80dart_device::device_add_mconfig )
MCFG_DEVICE_ADD(CHANA_TAG, Z80DART_CHANNEL, 0)
MCFG_DEVICE_ADD(CHANB_TAG, Z80DART_CHANNEL, 0)
MACHINE_CONFIG_END
-machine_config_constructor z80dart_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( z80dart );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/machine/z80dart.h b/src/devices/machine/z80dart.h
index 2d391de37f4..b5235d4af82 100644
--- a/src/devices/machine/z80dart.h
+++ b/src/devices/machine/z80dart.h
@@ -545,7 +545,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
// device_z80daisy_interface overrides
virtual int z80daisy_irq_state() override;
diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp
index 8eb1ffbc828..af79752aa23 100644
--- a/src/devices/machine/z80scc.cpp
+++ b/src/devices/machine/z80scc.cpp
@@ -146,17 +146,13 @@ DEFINE_DEVICE_TYPE(SCC85233, scc85233_device, "scc85233", "Zilog Z85
DEFINE_DEVICE_TYPE(SCC8523L, scc8523l_device, "scc8523l", "Zilog Z8523L SCC")
//-------------------------------------------------
-// device_mconfig_additions -
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START( z80scc )
+MACHINE_CONFIG_MEMBER( z80scc_device::device_add_mconfig )
MCFG_DEVICE_ADD(CHANA_TAG, Z80SCC_CHANNEL, 0)
MCFG_DEVICE_ADD(CHANB_TAG, Z80SCC_CHANNEL, 0)
MACHINE_CONFIG_END
-machine_config_constructor z80scc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( z80scc );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/machine/z80scc.h b/src/devices/machine/z80scc.h
index a0a72a3aef1..c78d4775a17 100644
--- a/src/devices/machine/z80scc.h
+++ b/src/devices/machine/z80scc.h
@@ -722,7 +722,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
// device_z80daisy_interface overrides
virtual int z80daisy_irq_state() override;
diff --git a/src/devices/machine/z80sio.cpp b/src/devices/machine/z80sio.cpp
index e6fe879f798..6e7cbeef010 100644
--- a/src/devices/machine/z80sio.cpp
+++ b/src/devices/machine/z80sio.cpp
@@ -104,17 +104,13 @@ DEFINE_DEVICE_TYPE(UPD7201_NEW, upd7201_new_device, "upd7201_new", "NEC uP
DEFINE_DEVICE_TYPE(I8274_NEW, i8274_new_device, "i8274_new", "Intel 8274 MPSC (new)") // Remove trailing N when z80dart.cpp's 8274 implementation is fully replaced
//-------------------------------------------------
-// device_mconfig_additions -
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START( z80sio )
+MACHINE_CONFIG_MEMBER( z80sio_device::device_add_mconfig )
MCFG_DEVICE_ADD(CHANA_TAG, Z80SIO_CHANNEL, 0)
MCFG_DEVICE_ADD(CHANB_TAG, Z80SIO_CHANNEL, 0)
MACHINE_CONFIG_END
-machine_config_constructor z80sio_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( z80sio );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/machine/z80sio.h b/src/devices/machine/z80sio.h
index 33400530721..5254cd34ee5 100644
--- a/src/devices/machine/z80sio.h
+++ b/src/devices/machine/z80sio.h
@@ -499,7 +499,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
// device_z80daisy_interface overrides
virtual int z80daisy_irq_state() override;