summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-06-09 12:48:45 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-06-09 12:48:45 +0200
commite844b01154f1d57c9736b37c085ea0b9bbb15acb (patch)
tree272d3ad1d7c9562f8c01809ab3daaafc9442435a
parent0b546073e758e33abb12e738ab12aaf1377f2a3e (diff)
device_add_mconfig up to devices/bus/l* (nw)
-rw-r--r--src/devices/bus/ieee488/c2031.cpp15
-rw-r--r--src/devices/bus/ieee488/c2031.h25
-rw-r--r--src/devices/bus/ieee488/c2040.cpp49
-rw-r--r--src/devices/bus/ieee488/c2040.h22
-rw-r--r--src/devices/bus/ieee488/c8050.cpp66
-rw-r--r--src/devices/bus/ieee488/c8050.h27
-rw-r--r--src/devices/bus/ieee488/c8280.cpp15
-rw-r--r--src/devices/bus/ieee488/c8280.h28
-rw-r--r--src/devices/bus/ieee488/d9060.cpp15
-rw-r--r--src/devices/bus/ieee488/d9060.h34
-rw-r--r--src/devices/bus/ieee488/hardbox.cpp16
-rw-r--r--src/devices/bus/ieee488/hardbox.h20
-rw-r--r--src/devices/bus/ieee488/hp9895.cpp17
-rw-r--r--src/devices/bus/ieee488/hp9895.h54
-rw-r--r--src/devices/bus/ieee488/shark.cpp15
-rw-r--r--src/devices/bus/ieee488/shark.h10
-rw-r--r--src/devices/bus/ieee488/softbox.cpp15
-rw-r--r--src/devices/bus/ieee488/softbox.h22
-rw-r--r--src/devices/bus/imi7000/imi5000h.cpp15
-rw-r--r--src/devices/bus/imi7000/imi5000h.h14
-rw-r--r--src/devices/bus/intv/ecs.cpp10
-rw-r--r--src/devices/bus/intv/ecs.h7
-rw-r--r--src/devices/bus/intv/voice.cpp15
-rw-r--r--src/devices/bus/intv/voice.h7
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.cpp7
-rw-r--r--src/devices/bus/intv_ctrl/ecs_ctrl.h6
-rw-r--r--src/devices/bus/iq151/disc2.cpp17
-rw-r--r--src/devices/bus/iq151/disc2.h12
-rw-r--r--src/devices/bus/iq151/grafik.cpp19
-rw-r--r--src/devices/bus/iq151/grafik.h15
-rw-r--r--src/devices/bus/iq151/staper.cpp22
-rw-r--r--src/devices/bus/iq151/staper.h15
-rw-r--r--src/devices/bus/isa/3c503.cpp6
-rw-r--r--src/devices/bus/isa/3c503.h11
-rw-r--r--src/devices/bus/isa/adlib.cpp18
-rw-r--r--src/devices/bus/isa/adlib.h28
-rw-r--r--src/devices/bus/isa/aga.cpp6
-rw-r--r--src/devices/bus/isa/aga.h19
-rw-r--r--src/devices/bus/isa/aha1542.cpp13
-rw-r--r--src/devices/bus/isa/aha1542.h8
-rw-r--r--src/devices/bus/isa/cga.cpp49
-rw-r--r--src/devices/bus/isa/cga.h30
-rw-r--r--src/devices/bus/isa/com.cpp57
-rw-r--r--src/devices/bus/isa/com.h8
-rw-r--r--src/devices/bus/isa/dectalk.cpp33
-rw-r--r--src/devices/bus/isa/dectalk.h13
-rw-r--r--src/devices/bus/isa/ega.cpp41
-rw-r--r--src/devices/bus/isa/ega.h23
-rw-r--r--src/devices/bus/isa/fdc.cpp97
-rw-r--r--src/devices/bus/isa/fdc.h20
-rw-r--r--src/devices/bus/isa/finalchs.cpp16
-rw-r--r--src/devices/bus/isa/finalchs.h7
-rw-r--r--src/devices/bus/isa/gblaster.cpp26
-rw-r--r--src/devices/bus/isa/gblaster.h8
-rw-r--r--src/devices/bus/isa/gus.cpp46
-rw-r--r--src/devices/bus/isa/gus.h33
-rw-r--r--src/devices/bus/isa/hdc.cpp41
-rw-r--r--src/devices/bus/isa/hdc.h19
-rw-r--r--src/devices/bus/isa/ibm_mfc.cpp83
-rw-r--r--src/devices/bus/isa/ibm_mfc.h28
-rw-r--r--src/devices/bus/isa/ide.cpp26
-rw-r--r--src/devices/bus/isa/ide.h12
-rw-r--r--src/devices/bus/isa/lpt.cpp7
-rw-r--r--src/devices/bus/isa/lpt.h11
-rw-r--r--src/devices/bus/isa/mach32.cpp14
-rw-r--r--src/devices/bus/isa/mach32.h4
-rw-r--r--src/devices/bus/isa/mc1502_fdc.cpp22
-rw-r--r--src/devices/bus/isa/mc1502_fdc.h13
-rw-r--r--src/devices/bus/isa/mda.cpp102
-rw-r--r--src/devices/bus/isa/mda.h54
-rw-r--r--src/devices/bus/isa/mpu401.cpp13
-rw-r--r--src/devices/bus/isa/mpu401.h12
-rw-r--r--src/devices/bus/isa/mufdc.cpp16
-rw-r--r--src/devices/bus/isa/mufdc.h21
-rw-r--r--src/devices/bus/isa/ne1000.cpp11
-rw-r--r--src/devices/bus/isa/ne1000.h14
-rw-r--r--src/devices/bus/isa/ne2000.cpp10
-rw-r--r--src/devices/bus/isa/ne2000.h14
-rw-r--r--src/devices/bus/isa/num9rev.cpp17
-rw-r--r--src/devices/bus/isa/num9rev.h71
-rw-r--r--src/devices/bus/isa/omti8621.cpp27
-rw-r--r--src/devices/bus/isa/omti8621.h10
-rw-r--r--src/devices/bus/isa/p1_fdc.cpp22
-rw-r--r--src/devices/bus/isa/p1_fdc.h14
-rw-r--r--src/devices/bus/isa/p1_hdc.cpp30
-rw-r--r--src/devices/bus/isa/p1_hdc.h8
-rw-r--r--src/devices/bus/isa/p1_sound.cpp15
-rw-r--r--src/devices/bus/isa/p1_sound.h9
-rw-r--r--src/devices/bus/isa/pds.cpp7
-rw-r--r--src/devices/bus/isa/pds.h5
-rw-r--r--src/devices/bus/isa/pgc.cpp31
-rw-r--r--src/devices/bus/isa/pgc.h23
-rw-r--r--src/devices/bus/isa/sb16.cpp17
-rw-r--r--src/devices/bus/isa/sb16.h9
-rw-r--r--src/devices/bus/isa/sblaster.cpp144
-rw-r--r--src/devices/bus/isa/sblaster.h18
-rw-r--r--src/devices/bus/isa/sc499.cpp6
-rw-r--r--src/devices/bus/isa/sc499.h2
-rw-r--r--src/devices/bus/isa/side116.cpp9
-rw-r--r--src/devices/bus/isa/side116.h13
-rw-r--r--src/devices/bus/isa/ssi2001.cpp7
-rw-r--r--src/devices/bus/isa/ssi2001.h6
-rw-r--r--src/devices/bus/isa/stereo_fx.cpp17
-rw-r--r--src/devices/bus/isa/stereo_fx.h9
-rw-r--r--src/devices/bus/isa/svga_cirrus.cpp33
-rw-r--r--src/devices/bus/isa/svga_cirrus.h20
-rw-r--r--src/devices/bus/isa/svga_s3.cpp84
-rw-r--r--src/devices/bus/isa/svga_s3.h40
-rw-r--r--src/devices/bus/isa/svga_trident.cpp16
-rw-r--r--src/devices/bus/isa/svga_trident.h10
-rw-r--r--src/devices/bus/isa/svga_tseng.cpp16
-rw-r--r--src/devices/bus/isa/svga_tseng.h10
-rw-r--r--src/devices/bus/isa/vga.cpp10
-rw-r--r--src/devices/bus/isa/vga.h10
-rw-r--r--src/devices/bus/isa/vga_ati.cpp30
-rw-r--r--src/devices/bus/isa/vga_ati.h32
-rw-r--r--src/devices/bus/isa/wdxt_gen.cpp15
-rw-r--r--src/devices/bus/isa/wdxt_gen.h23
-rw-r--r--src/devices/bus/isa/xtide.cpp19
-rw-r--r--src/devices/bus/isa/xtide.h13
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp15
-rw-r--r--src/devices/bus/isbx/compis_fdc.h14
-rw-r--r--src/devices/bus/isbx/isbc_218a.cpp16
-rw-r--r--src/devices/bus/isbx/isbc_218a.h14
-rw-r--r--src/devices/bus/kc/d002.cpp74
-rw-r--r--src/devices/bus/kc/d002.h18
-rw-r--r--src/devices/bus/kc/d004.cpp69
-rw-r--r--src/devices/bus/kc/d004.h24
-rw-r--r--src/devices/bus/lpci/southbridge.cpp17
-rw-r--r--src/devices/bus/lpci/southbridge.h85
130 files changed, 1296 insertions, 1786 deletions
diff --git a/src/devices/bus/ieee488/c2031.cpp b/src/devices/bus/ieee488/c2031.cpp
index acbe18f66c4..846d3512a9b 100644
--- a/src/devices/bus/ieee488/c2031.cpp
+++ b/src/devices/bus/ieee488/c2031.cpp
@@ -299,10 +299,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_DRIVER( c2031 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c2031 )
+MACHINE_CONFIG_MEMBER( c2031_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2031_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -330,17 +330,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c2031_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c2031 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c2031 )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/c2031.h b/src/devices/bus/ieee488/c2031.h
index 38b102d381a..9d892bb467d 100644
--- a/src/devices/bus/ieee488/c2031.h
+++ b/src/devices/bus/ieee488/c2031.h
@@ -31,11 +31,23 @@ public:
// construction/destruction
c2031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
+ // device_ieee488_interface overrides
+ virtual void ieee488_atn(int state) override;
+ virtual void ieee488_ifc(int state) override;
+
+private:
+ inline int get_device_number();
+
DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
DECLARE_READ8_MEMBER( via0_pa_r );
DECLARE_WRITE8_MEMBER( via0_pa_w );
@@ -48,17 +60,6 @@ public:
DECLARE_FLOPPY_FORMATS( floppy_formats );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_ieee488_interface overrides
- virtual void ieee488_atn(int state) override;
- virtual void ieee488_ifc(int state) override;
-
- inline int get_device_number();
-
required_device<cpu_device> m_maincpu;
required_device<via6522_device> m_via0;
required_device<via6522_device> m_via1;
diff --git a/src/devices/bus/ieee488/c2040.cpp b/src/devices/bus/ieee488/c2040.cpp
index 60370c57908..982dd693743 100644
--- a/src/devices/bus/ieee488/c2040.cpp
+++ b/src/devices/bus/ieee488/c2040.cpp
@@ -445,10 +445,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c2040 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c2040 )
+MACHINE_CONFIG_MEMBER( c2040_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
@@ -491,22 +491,7 @@ static MACHINE_CONFIG_START( c2040 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c2040_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c2040 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( c3040 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c3040 )
+MACHINE_CONFIG_MEMBER( c3040_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
@@ -549,22 +534,7 @@ static MACHINE_CONFIG_START( c3040 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c3040_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c3040 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( c4040 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c4040 )
+MACHINE_CONFIG_MEMBER( c4040_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c2040_main_mem)
@@ -608,17 +578,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c4040_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c4040 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c2040 )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/c2040.h b/src/devices/bus/ieee488/c2040.h
index 7289c99c43e..3c6eef7df60 100644
--- a/src/devices/bus/ieee488/c2040.h
+++ b/src/devices/bus/ieee488/c2040.h
@@ -32,11 +32,6 @@ public:
// construction/destruction
c2040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
DECLARE_READ8_MEMBER( dio_r );
DECLARE_WRITE8_MEMBER( dio_w );
DECLARE_READ8_MEMBER( riot1_pa_r );
@@ -45,8 +40,6 @@ public:
DECLARE_WRITE8_MEMBER( riot1_pb_w );
DECLARE_WRITE8_MEMBER( via_pb_w );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
c2040_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -54,6 +47,11 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_ieee488_interface overrides
virtual void ieee488_atn(int state) override;
virtual void ieee488_ifc(int state) override;
@@ -68,6 +66,8 @@ protected:
inline void update_ieee_signals();
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<m6502_device> m_maincpu;
required_device<m6504_device> m_fdccpu;
required_device<mos6532_new_device> m_riot0;
@@ -96,10 +96,12 @@ public:
// construction/destruction
c3040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
@@ -112,10 +114,12 @@ public:
// construction/destruction
c4040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
diff --git a/src/devices/bus/ieee488/c8050.cpp b/src/devices/bus/ieee488/c8050.cpp
index a7c8fb5cb77..2d73ed644ed 100644
--- a/src/devices/bus/ieee488/c8050.cpp
+++ b/src/devices/bus/ieee488/c8050.cpp
@@ -521,10 +521,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c8050 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c8050 )
+MACHINE_CONFIG_MEMBER( c8050_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
@@ -569,22 +569,7 @@ static MACHINE_CONFIG_START( c8050 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c8050_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c8050 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( c8250 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c8250 )
+MACHINE_CONFIG_MEMBER( c8250_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
@@ -630,22 +615,7 @@ static MACHINE_CONFIG_START( c8250 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c8250_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c8250 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( c8250lp )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c8250lp )
+MACHINE_CONFIG_MEMBER( c8250lp_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
@@ -691,22 +661,7 @@ static MACHINE_CONFIG_START( c8250lp )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c8250lp_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c8250lp );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( sfd1001 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( sfd1001 )
+MACHINE_CONFIG_MEMBER( sfd1001_device::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_12MHz/12)
MCFG_CPU_PROGRAM_MAP(c8050_main_mem)
@@ -751,17 +706,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor sfd1001_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sfd1001 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c8050 )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/c8050.h b/src/devices/bus/ieee488/c8050.h
index c777a2b4b5b..7eb6c5b9b0d 100644
--- a/src/devices/bus/ieee488/c8050.h
+++ b/src/devices/bus/ieee488/c8050.h
@@ -32,11 +32,6 @@ public:
// construction/destruction
c8050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
DECLARE_READ8_MEMBER( dio_r );
DECLARE_WRITE8_MEMBER( dio_w );
DECLARE_READ8_MEMBER( riot1_pa_r );
@@ -45,8 +40,6 @@ public:
DECLARE_WRITE8_MEMBER( riot1_pb_w );
DECLARE_WRITE8_MEMBER( via_pb_w );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
c8050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -54,6 +47,11 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_ieee488_interface overrides
virtual void ieee488_atn(int state) override;
virtual void ieee488_ifc(int state) override;
@@ -76,6 +74,9 @@ protected:
int m_daco; // not data accepted output
int m_atna; // attention acknowledge
int m_ifc;
+
+private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
};
@@ -87,9 +88,11 @@ public:
// construction/destruction
c8250_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
@@ -102,10 +105,12 @@ public:
// construction/destruction
c8250lp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
@@ -118,10 +123,12 @@ public:
// construction/destruction
sfd1001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
diff --git a/src/devices/bus/ieee488/c8280.cpp b/src/devices/bus/ieee488/c8280.cpp
index c115e7502e4..007f64d8710 100644
--- a/src/devices/bus/ieee488/c8280.cpp
+++ b/src/devices/bus/ieee488/c8280.cpp
@@ -286,10 +286,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c8280 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c8280 )
+MACHINE_CONFIG_MEMBER( c8280_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, XTAL_12MHz/8)
MCFG_CPU_PROGRAM_MAP(c8280_main_mem)
@@ -316,17 +316,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c8280_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c8280 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c8280 )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/c8280.h b/src/devices/bus/ieee488/c8280.h
index 8c840d707f5..c7b62e1b032 100644
--- a/src/devices/bus/ieee488/c8280.h
+++ b/src/devices/bus/ieee488/c8280.h
@@ -31,28 +31,19 @@ public:
// construction/destruction
c8280_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- // not really public
- DECLARE_READ8_MEMBER( dio_r );
- DECLARE_WRITE8_MEMBER( dio_w );
- DECLARE_READ8_MEMBER( riot1_pa_r );
- DECLARE_WRITE8_MEMBER( riot1_pa_w );
- DECLARE_READ8_MEMBER( riot1_pb_r );
- DECLARE_WRITE8_MEMBER( riot1_pb_w );
DECLARE_READ8_MEMBER( fk5_r );
DECLARE_WRITE8_MEMBER( fk5_w );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_ieee488_interface overrides
void ieee488_atn(int state) override;
void ieee488_ifc(int state) override;
@@ -60,6 +51,15 @@ protected:
private:
inline void update_ieee_signals();
+ DECLARE_READ8_MEMBER( dio_r );
+ DECLARE_WRITE8_MEMBER( dio_w );
+ DECLARE_READ8_MEMBER( riot1_pa_r );
+ DECLARE_WRITE8_MEMBER( riot1_pa_w );
+ DECLARE_READ8_MEMBER( riot1_pb_r );
+ DECLARE_WRITE8_MEMBER( riot1_pb_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_fdccpu;
required_device<mos6532_new_device> m_riot0;
diff --git a/src/devices/bus/ieee488/d9060.cpp b/src/devices/bus/ieee488/d9060.cpp
index 2f786a6735c..9260e804703 100644
--- a/src/devices/bus/ieee488/d9060.cpp
+++ b/src/devices/bus/ieee488/d9060.cpp
@@ -365,10 +365,10 @@ WRITE8_MEMBER( d9060_device_base::scsi_data_w )
//-------------------------------------------------
-// MACHINE_CONFIG_START( d9060 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( d9060 )
+MACHINE_CONFIG_MEMBER( d9060_device_base::device_add_mconfig )
// DOS
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(d9060_main_mem)
@@ -417,17 +417,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor d9060_device_base::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( d9060 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( d9060 )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/d9060.h b/src/devices/bus/ieee488/d9060.h
index e58f4c5f01c..b65155cd930 100644
--- a/src/devices/bus/ieee488/d9060.h
+++ b/src/devices/bus/ieee488/d9060.h
@@ -28,24 +28,6 @@
class d9060_device_base : public device_t, public device_ieee488_interface
{
-public:
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- // not really public
- DECLARE_READ8_MEMBER( dio_r );
- DECLARE_WRITE8_MEMBER( dio_w );
- DECLARE_READ8_MEMBER( riot1_pa_r );
- DECLARE_WRITE8_MEMBER( riot1_pa_w );
- DECLARE_READ8_MEMBER( riot1_pb_r );
- DECLARE_WRITE8_MEMBER( riot1_pb_w );
- DECLARE_WRITE8_MEMBER( via_pb_w );
- DECLARE_WRITE_LINE_MEMBER( ack_w );
- DECLARE_WRITE_LINE_MEMBER( enable_w );
- DECLARE_WRITE8_MEMBER( scsi_data_w );
-
protected:
enum
{
@@ -60,6 +42,11 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_ieee488_interface overrides
void ieee488_atn(int state) override;
void ieee488_ifc(int state) override;
@@ -67,6 +54,17 @@ protected:
private:
inline void update_ieee_signals();
+ DECLARE_READ8_MEMBER( dio_r );
+ DECLARE_WRITE8_MEMBER( dio_w );
+ DECLARE_READ8_MEMBER( riot1_pa_r );
+ DECLARE_WRITE8_MEMBER( riot1_pa_w );
+ DECLARE_READ8_MEMBER( riot1_pb_r );
+ DECLARE_WRITE8_MEMBER( riot1_pb_w );
+ DECLARE_WRITE8_MEMBER( via_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( ack_w );
+ DECLARE_WRITE_LINE_MEMBER( enable_w );
+ DECLARE_WRITE8_MEMBER( scsi_data_w );
+
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_hdccpu;
required_device<mos6532_new_device> m_riot0;
diff --git a/src/devices/bus/ieee488/hardbox.cpp b/src/devices/bus/ieee488/hardbox.cpp
index c26831bb024..24a26c8ac25 100644
--- a/src/devices/bus/ieee488/hardbox.cpp
+++ b/src/devices/bus/ieee488/hardbox.cpp
@@ -260,11 +260,12 @@ WRITE8_MEMBER( hardbox_device::ppi1_pc_w )
machine().output().set_led_value(LED_READY, !BIT(data, 2));
}
+
//-------------------------------------------------
-// MACHINE_CONFIG_START( hardbox )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( hardbox )
+MACHINE_CONFIG_MEMBER( hardbox_device::device_add_mconfig )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(hardbox_mem)
@@ -295,17 +296,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor hardbox_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( hardbox );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( hardbox )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/hardbox.h b/src/devices/bus/ieee488/hardbox.h
index d10a19c7268..e74f12054dc 100644
--- a/src/devices/bus/ieee488/hardbox.h
+++ b/src/devices/bus/ieee488/hardbox.h
@@ -33,11 +33,20 @@ public:
// construction/destruction
hardbox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset_after_children() override;
+
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
+ // device_ieee488_interface overrides
+ virtual void ieee488_ifc(int state) override;
+
+private:
DECLARE_READ8_MEMBER( ppi0_pa_r );
DECLARE_WRITE8_MEMBER( ppi0_pb_w );
DECLARE_READ8_MEMBER( ppi0_pc_r );
@@ -47,15 +56,6 @@ public:
DECLARE_READ8_MEMBER( ppi1_pc_r );
DECLARE_WRITE8_MEMBER( ppi1_pc_w );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset_after_children() override;
-
- // device_ieee488_interface overrides
- virtual void ieee488_ifc(int state) override;
-
-private:
enum
{
LED_A,
diff --git a/src/devices/bus/ieee488/hp9895.cpp b/src/devices/bus/ieee488/hp9895.cpp
index 26b4c479213..a3a52535f23 100644
--- a/src/devices/bus/ieee488/hp9895.cpp
+++ b/src/devices/bus/ieee488/hp9895.cpp
@@ -873,7 +873,12 @@ static const floppy_format_type hp9895_floppy_formats[] = {
nullptr
};
-static MACHINE_CONFIG_START(hp9895)
+const tiny_rom_entry *hp9895_device::device_rom_region() const
+{
+ return ROM_NAME(hp9895);
+}
+
+MACHINE_CONFIG_MEMBER(hp9895_device::device_add_mconfig)
MCFG_CPU_ADD("cpu" , Z80 , 4000000)
MCFG_CPU_PROGRAM_MAP(z80_program_map)
MCFG_CPU_IO_MAP(z80_io_map)
@@ -896,13 +901,3 @@ static MACHINE_CONFIG_START(hp9895)
MCFG_FLOPPY_DRIVE_ADD("floppy1" , hp9895_floppies , "8dsdd" , hp9895_floppy_formats)
MCFG_SLOT_FIXED(true)
MACHINE_CONFIG_END
-
-const tiny_rom_entry *hp9895_device::device_rom_region() const
-{
- return ROM_NAME(hp9895);
-}
-
-machine_config_constructor hp9895_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(hp9895);
-}
diff --git a/src/devices/bus/ieee488/hp9895.h b/src/devices/bus/ieee488/hp9895.h
index 001a03abd56..d30a5fac85f 100644
--- a/src/devices/bus/ieee488/hp9895.h
+++ b/src/devices/bus/ieee488/hp9895.h
@@ -26,11 +26,6 @@ public:
// construction/destruction
hp9895_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual ioport_constructor device_input_ports() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
// device_ieee488_interface overrides
virtual void ieee488_eoi(int state) override;
virtual void ieee488_dav(int state) override;
@@ -41,27 +36,6 @@ public:
virtual void ieee488_atn(int state) override;
virtual void ieee488_ren(int state) override;
- // PHI write CBs
- DECLARE_WRITE_LINE_MEMBER(phi_eoi_w);
- DECLARE_WRITE_LINE_MEMBER(phi_dav_w);
- DECLARE_WRITE_LINE_MEMBER(phi_nrfd_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ndac_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ifc_w);
- DECLARE_WRITE_LINE_MEMBER(phi_srq_w);
- DECLARE_WRITE_LINE_MEMBER(phi_atn_w);
- DECLARE_WRITE_LINE_MEMBER(phi_ren_w);
-
- // PHI DIO r/w CBs
- DECLARE_READ8_MEMBER(phi_dio_r);
- DECLARE_WRITE8_MEMBER(phi_dio_w);
-
- // PHI IRQ/Z80 NMI
- DECLARE_WRITE_LINE_MEMBER(phi_int_w);
-
- // PHI register read & Z80 IRQ
- DECLARE_READ8_MEMBER(phi_reg_r);
- DECLARE_WRITE16_MEMBER(z80_m1_w);
-
// Floppy interface
DECLARE_WRITE8_MEMBER(data_w);
DECLARE_WRITE8_MEMBER(clock_w);
@@ -76,6 +50,9 @@ public:
DECLARE_READ8_MEMBER(switches_r);
DECLARE_READ8_MEMBER(switches2_r);
+ // PHI register read
+ DECLARE_READ8_MEMBER(phi_reg_r);
+
// Floppy drive interface
void floppy_ready_cb(floppy_image_device *floppy , int state);
@@ -84,7 +61,32 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // device-level overrides
+ virtual ioport_constructor device_input_ports() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
+ // PHI write CBs
+ DECLARE_WRITE_LINE_MEMBER(phi_eoi_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_dav_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_nrfd_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_ndac_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_ifc_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_srq_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_atn_w);
+ DECLARE_WRITE_LINE_MEMBER(phi_ren_w);
+
+ // PHI DIO r/w CBs
+ DECLARE_READ8_MEMBER(phi_dio_r);
+ DECLARE_WRITE8_MEMBER(phi_dio_w);
+
+ // PHI IRQ/Z80 NMI
+ DECLARE_WRITE_LINE_MEMBER(phi_int_w);
+
+ // Z80 IRQ
+ DECLARE_WRITE16_MEMBER(z80_m1_w);
+
required_device<z80_device> m_cpu;
required_device<phi_device> m_phi;
required_device<floppy_connector> m_drives[ 2 ];
diff --git a/src/devices/bus/ieee488/shark.cpp b/src/devices/bus/ieee488/shark.cpp
index 0cf7dfbc5a8..608c133ae36 100644
--- a/src/devices/bus/ieee488/shark.cpp
+++ b/src/devices/bus/ieee488/shark.cpp
@@ -75,10 +75,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( mshark )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( mshark )
+MACHINE_CONFIG_MEMBER( mshark_device::device_add_mconfig )
// basic machine hardware
MCFG_CPU_ADD(I8085_TAG, I8085A, 1000000)
MCFG_CPU_PROGRAM_MAP(mshark_mem)
@@ -91,17 +91,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor mshark_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mshark );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( mshark )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/shark.h b/src/devices/bus/ieee488/shark.h
index 5b3893cd910..496be3d6176 100644
--- a/src/devices/bus/ieee488/shark.h
+++ b/src/devices/bus/ieee488/shark.h
@@ -30,15 +30,15 @@ public:
// construction/destruction
mshark_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
required_device<cpu_device> m_maincpu;
};
diff --git a/src/devices/bus/ieee488/softbox.cpp b/src/devices/bus/ieee488/softbox.cpp
index 84a980acf53..e89378d32b5 100644
--- a/src/devices/bus/ieee488/softbox.cpp
+++ b/src/devices/bus/ieee488/softbox.cpp
@@ -229,10 +229,10 @@ DEVICE_INPUT_DEFAULTS_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( softbox )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( softbox )
+MACHINE_CONFIG_MEMBER( softbox_device::device_add_mconfig )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(softbox_mem)
@@ -278,17 +278,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor softbox_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( softbox );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( softbox )
//-------------------------------------------------
diff --git a/src/devices/bus/ieee488/softbox.h b/src/devices/bus/ieee488/softbox.h
index 07bb986ba91..14284042d82 100644
--- a/src/devices/bus/ieee488/softbox.h
+++ b/src/devices/bus/ieee488/softbox.h
@@ -35,13 +35,22 @@ public:
// construction/destruction
softbox_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ DECLARE_WRITE8_MEMBER( dbrg_w );
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset_after_children() override;
+
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
- DECLARE_WRITE8_MEMBER( dbrg_w );
+ // device_ieee488_interface overrides
+ virtual void ieee488_ifc(int state) override;
+private:
DECLARE_READ8_MEMBER( ppi0_pa_r );
DECLARE_WRITE8_MEMBER( ppi0_pb_w );
@@ -50,15 +59,6 @@ public:
DECLARE_READ8_MEMBER( ppi1_pc_r );
DECLARE_WRITE8_MEMBER( ppi1_pc_w );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset_after_children() override;
-
- // device_ieee488_interface overrides
- virtual void ieee488_ifc(int state) override;
-
-private:
enum
{
LED_A,
diff --git a/src/devices/bus/imi7000/imi5000h.cpp b/src/devices/bus/imi7000/imi5000h.cpp
index c9465c32b6b..a2b2c582984 100644
--- a/src/devices/bus/imi7000/imi5000h.cpp
+++ b/src/devices/bus/imi7000/imi5000h.cpp
@@ -337,10 +337,10 @@ WRITE8_MEMBER( imi5000h_device::pio3_pb_w )
}
//-------------------------------------------------
-// MACHINE_DRIVER( imi5000h )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( imi5000h )
+MACHINE_CONFIG_MEMBER( imi5000h_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_Z80_DAISY_CHAIN(z80_daisy_chain)
MCFG_CPU_PROGRAM_MAP(imi5000h_mem)
@@ -382,17 +382,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor imi5000h_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( imi5000h );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( imi5000h )
//-------------------------------------------------
diff --git a/src/devices/bus/imi7000/imi5000h.h b/src/devices/bus/imi7000/imi5000h.h
index 89165ef328e..78a8113dc0a 100644
--- a/src/devices/bus/imi7000/imi5000h.h
+++ b/src/devices/bus/imi7000/imi5000h.h
@@ -34,11 +34,17 @@ public:
// construction/destruction
imi5000h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
+private:
DECLARE_WRITE_LINE_MEMBER( ctc_z0_w );
DECLARE_WRITE_LINE_MEMBER( ctc_z1_w );
DECLARE_WRITE_LINE_MEMBER( ctc_z2_w );
@@ -58,12 +64,6 @@ public:
DECLARE_READ8_MEMBER( pio3_pb_r );
DECLARE_WRITE8_MEMBER( pio3_pb_w );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
enum
{
LED_FAULT,
diff --git a/src/devices/bus/intv/ecs.cpp b/src/devices/bus/intv/ecs.cpp
index fe90b9313ff..be0de17131b 100644
--- a/src/devices/bus/intv/ecs.cpp
+++ b/src/devices/bus/intv/ecs.cpp
@@ -90,11 +90,11 @@ void intv_ecs_device::late_subslot_setup()
}
//-------------------------------------------------
-// MACHINE_CONFIG_START( sub_slot )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( sub_slot )
+MACHINE_CONFIG_MEMBER( intv_ecs_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono_ecs")
MCFG_SOUND_ADD("ay8914", AY8914, XTAL_3_579545MHz/2)
@@ -108,12 +108,6 @@ static MACHINE_CONFIG_START( sub_slot )
MACHINE_CONFIG_END
-machine_config_constructor intv_ecs_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sub_slot );
-}
-
-
ROM_START( ecs )
ROM_REGION( 0x20000, "ecs", ROMREGION_ERASEFF )
ROM_LOAD16_WORD_SWAP( "ecs_rom.20", 0x04000, 0x2000, CRC(5f9d05e5) SHA1(083a3e7405b8f8b4b8a5003ca9c31b8d824b535c))
diff --git a/src/devices/bus/intv/ecs.h b/src/devices/bus/intv/ecs.h
index d577ba66250..943a768fe03 100644
--- a/src/devices/bus/intv/ecs.h
+++ b/src/devices/bus/intv/ecs.h
@@ -19,10 +19,6 @@ public:
// construction/destruction
intv_ecs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
// reading and writing
// actual ECS accesses
@@ -66,8 +62,11 @@ public:
virtual void late_subslot_setup() override;
protected:
+ // device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
private:
diff --git a/src/devices/bus/intv/voice.cpp b/src/devices/bus/intv/voice.cpp
index d13818234a5..96f8a05c451 100644
--- a/src/devices/bus/intv/voice.cpp
+++ b/src/devices/bus/intv/voice.cpp
@@ -66,10 +66,10 @@ void intv_voice_device::late_subslot_setup()
//-------------------------------------------------
-// MACHINE_CONFIG_START( intellivoice )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( intellivoice )
+MACHINE_CONFIG_MEMBER( intv_voice_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono_voice")
MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000)
@@ -80,17 +80,6 @@ static MACHINE_CONFIG_START( intellivoice )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor intv_voice_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( intellivoice );
-}
-
-
ROM_START( intellivoice )
ROM_REGION( 0x10000, "sp0256_speech", 0 )
/* SP0256-012 Speech chip w/2KiB mask rom */
diff --git a/src/devices/bus/intv/voice.h b/src/devices/bus/intv/voice.h
index 0cf6a2d433b..d99b31573a3 100644
--- a/src/devices/bus/intv/voice.h
+++ b/src/devices/bus/intv/voice.h
@@ -16,10 +16,6 @@ public:
// construction/destruction
intv_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
// reading and writing
// actual IntelliVoice access
virtual DECLARE_READ16_MEMBER(read_speech) override;
@@ -51,7 +47,10 @@ public:
virtual void late_subslot_setup() override;
protected:
+ // device-level overrides
virtual void device_start() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
private:
required_device<sp0256_device> m_speech;
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
index c1075e98dd7..3615ea05721 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.cpp
@@ -143,17 +143,12 @@ static SLOT_INTERFACE_START( intvecs_controller )
SLOT_INTERFACE("handctrl", INTV_HANDCTRL)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( intvecs_ctrls )
+MACHINE_CONFIG_MEMBER( intvecs_ctrls_device::device_add_mconfig )
MCFG_INTV_CONTROL_PORT_ADD("port1", intvecs_controller, "handctrl")
MCFG_INTV_CONTROL_PORT_ADD("port2", intvecs_controller, "handctrl")
MACHINE_CONFIG_END
-machine_config_constructor intvecs_ctrls_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( intvecs_ctrls );
-}
-
intvecs_ctrls_device::intvecs_ctrls_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ECS_CTRLS, tag, owner, clock),
device_intvecs_control_port_interface(mconfig, *this),
diff --git a/src/devices/bus/intv_ctrl/ecs_ctrl.h b/src/devices/bus/intv_ctrl/ecs_ctrl.h
index 5bf1ef69c1f..f7132c8e28b 100644
--- a/src/devices/bus/intv_ctrl/ecs_ctrl.h
+++ b/src/devices/bus/intv_ctrl/ecs_ctrl.h
@@ -94,14 +94,14 @@ public:
// construction/destruction
intvecs_ctrls_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;
-
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 uint8_t read_portA() override;
virtual uint8_t read_portB() override;
diff --git a/src/devices/bus/iq151/disc2.cpp b/src/devices/bus/iq151/disc2.cpp
index 9e103dc2d4f..bf9c8db7e6a 100644
--- a/src/devices/bus/iq151/disc2.cpp
+++ b/src/devices/bus/iq151/disc2.cpp
@@ -23,12 +23,6 @@ static SLOT_INTERFACE_START( iq151_disc2_floppies )
SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( iq151_disc2 )
- MCFG_UPD765A_ADD("fdc", false, true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:2", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats)
-MACHINE_CONFIG_END
-
ROM_START( iq151_disc2 )
ROM_REGION(0x0800, "disc2", 0)
ROM_LOAD( "iq151_disc2_12_5_1987_v4_0.rom", 0x0000, 0x0800, CRC(b189b170) SHA1(3e2ca80934177e7a32d0905f5a0ad14072f9dabf))
@@ -74,13 +68,14 @@ void iq151_disc2_device::device_reset()
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor iq151_disc2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( iq151_disc2 );
-}
+MACHINE_CONFIG_MEMBER( iq151_disc2_device::device_add_mconfig )
+ MCFG_UPD765A_ADD("fdc", false, true)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:2", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/iq151/disc2.h b/src/devices/bus/iq151/disc2.h
index c7452ef1415..ac778b253dc 100644
--- a/src/devices/bus/iq151/disc2.h
+++ b/src/devices/bus/iq151/disc2.h
@@ -22,23 +22,23 @@ public:
// construction/destruction
iq151_disc2_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 const tiny_rom_entry *device_rom_region() const override;
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
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 const tiny_rom_entry *device_rom_region() const override;
+
// iq151cart_interface overrides
virtual void read(offs_t offset, uint8_t &data) override;
virtual void io_read(offs_t offset, uint8_t &data) override;
virtual void io_write(offs_t offset, uint8_t data) override;
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<upd765a_device> m_fdc;
uint8_t * m_rom;
bool m_rom_enabled;
diff --git a/src/devices/bus/iq151/grafik.cpp b/src/devices/bus/iq151/grafik.cpp
index bdcc47f9886..1120aeea642 100644
--- a/src/devices/bus/iq151/grafik.cpp
+++ b/src/devices/bus/iq151/grafik.cpp
@@ -16,13 +16,6 @@
IMPLEMENTATION
***************************************************************************/
-static MACHINE_CONFIG_START( iq151_grafik )
- MCFG_DEVICE_ADD("ppi8255", I8255, 0)
- MCFG_I8255_OUT_PORTA_CB(WRITE8(iq151_grafik_device, x_write))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(iq151_grafik_device, y_write))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(iq151_grafik_device, control_w))
-MACHINE_CONFIG_END
-
//**************************************************************************
// GLOBAL VARIABLES
@@ -69,13 +62,15 @@ void iq151_grafik_device::device_reset()
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor iq151_grafik_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( iq151_grafik );
-}
+MACHINE_CONFIG_MEMBER( iq151_grafik_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("ppi8255", I8255, 0)
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(iq151_grafik_device, x_write))
+ MCFG_I8255_OUT_PORTB_CB(WRITE8(iq151_grafik_device, y_write))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(iq151_grafik_device, control_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// I8255 port a
diff --git a/src/devices/bus/iq151/grafik.h b/src/devices/bus/iq151/grafik.h
index afdb233b4f6..aa77473b3e8 100644
--- a/src/devices/bus/iq151/grafik.h
+++ b/src/devices/bus/iq151/grafik.h
@@ -22,25 +22,24 @@ public:
// construction/destruction
iq151_grafik_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;
-
- // ppi8255 callback
- DECLARE_WRITE8_MEMBER(x_write);
- DECLARE_WRITE8_MEMBER(y_write);
- DECLARE_WRITE8_MEMBER(control_w);
-
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;
+
// iq151cart_interface overrides
virtual void io_read(offs_t offset, uint8_t &data) override;
virtual void io_write(offs_t offset, uint8_t data) override;
virtual void video_update(bitmap_ind16 &bitmap, const rectangle &cliprect) override;
private:
+ // ppi8255 callback
+ DECLARE_WRITE8_MEMBER(x_write);
+ DECLARE_WRITE8_MEMBER(y_write);
+ DECLARE_WRITE8_MEMBER(control_w);
required_device<i8255_device> m_ppi8255;
diff --git a/src/devices/bus/iq151/staper.cpp b/src/devices/bus/iq151/staper.cpp
index eba32ef39cc..1dc818dfecf 100644
--- a/src/devices/bus/iq151/staper.cpp
+++ b/src/devices/bus/iq151/staper.cpp
@@ -21,14 +21,6 @@
IMPLEMENTATION
***************************************************************************/
-static MACHINE_CONFIG_START( iq151_staper )
- MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(iq151_staper_device, ppi_porta_r))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(iq151_staper_device, ppi_portb_w))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(iq151_staper_device, ppi_portc_w))
-
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
-MACHINE_CONFIG_END
//**************************************************************************
// GLOBAL VARIABLES
@@ -65,13 +57,17 @@ void iq151_staper_device::device_start()
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor iq151_staper_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( iq151_staper );
-}
+MACHINE_CONFIG_MEMBER( iq151_staper_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
+ MCFG_I8255_IN_PORTA_CB(READ8(iq151_staper_device, ppi_porta_r))
+ MCFG_I8255_OUT_PORTB_CB(WRITE8(iq151_staper_device, ppi_portb_w))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(iq151_staper_device, ppi_portc_w))
+
+ MCFG_DEVICE_ADD("printer", PRINTER, 0)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_timer - handler timer events
diff --git a/src/devices/bus/iq151/staper.h b/src/devices/bus/iq151/staper.h
index 65df83e03fd..8e0c5e2b094 100644
--- a/src/devices/bus/iq151/staper.h
+++ b/src/devices/bus/iq151/staper.h
@@ -23,24 +23,23 @@ public:
// construction/destruction
iq151_staper_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;
-
- // i8255 callbacks
- DECLARE_READ8_MEMBER( ppi_porta_r );
- DECLARE_WRITE8_MEMBER( ppi_portb_w );
- DECLARE_WRITE8_MEMBER( ppi_portc_w );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// iq151cart_interface overrides
virtual void io_read(offs_t offset, uint8_t &data) override;
virtual void io_write(offs_t offset, uint8_t data) override;
private:
+ // i8255 callbacks
+ DECLARE_READ8_MEMBER( ppi_porta_r );
+ DECLARE_WRITE8_MEMBER( ppi_portb_w );
+ DECLARE_WRITE8_MEMBER( ppi_portc_w );
static const device_timer_id TIMER_PRINTER = 0;
diff --git a/src/devices/bus/isa/3c503.cpp b/src/devices/bus/isa/3c503.cpp
index b0fe1361a70..7a811272f38 100644
--- a/src/devices/bus/isa/3c503.cpp
+++ b/src/devices/bus/isa/3c503.cpp
@@ -5,7 +5,7 @@
#define SADDR 0xcc000
-static MACHINE_CONFIG_START(el2_3c503_config)
+MACHINE_CONFIG_MEMBER(el2_3c503_device::device_add_mconfig)
MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
MCFG_DP8390D_IRQ_CB(WRITELINE(el2_3c503_device, el2_3c503_irq_w))
MCFG_DP8390D_MEM_READ_CB(READ8(el2_3c503_device, el2_3c503_mem_read))
@@ -14,10 +14,6 @@ MACHINE_CONFIG_END
DEFINE_DEVICE_TYPE(EL2_3C503, el2_3c503_device, "el2_3c503", "3C503 Network Adapter")
-machine_config_constructor el2_3c503_device::device_mconfig_additions() const {
- return MACHINE_CONFIG_NAME(el2_3c503_config);
-}
-
el2_3c503_device::el2_3c503_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock)
: device_t(mconfig, EL2_3C503, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
diff --git a/src/devices/bus/isa/3c503.h b/src/devices/bus/isa/3c503.h
index 9db5b7c5e70..73661ab2071 100644
--- a/src/devices/bus/isa/3c503.h
+++ b/src/devices/bus/isa/3c503.h
@@ -14,11 +14,7 @@ class el2_3c503_device : public device_t, public device_isa8_card_interface
{
public:
el2_3c503_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- void el2_3c503_irq_w(int state);
- DECLARE_READ8_MEMBER(el2_3c503_mem_read);
- DECLARE_WRITE8_MEMBER(el2_3c503_mem_write);
DECLARE_READ8_MEMBER(el2_3c503_loport_r);
DECLARE_WRITE8_MEMBER(el2_3c503_loport_w);
DECLARE_READ8_MEMBER(el2_3c503_hiport_r);
@@ -26,10 +22,17 @@ public:
void eop_w(int state) override;
uint8_t dack_r(int line) override;
void dack_w(int line, uint8_t data) override;
+
protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
+ void el2_3c503_irq_w(int state);
+ DECLARE_READ8_MEMBER(el2_3c503_mem_read);
+ DECLARE_WRITE8_MEMBER(el2_3c503_mem_write);
+
required_device<dp8390d_device> m_dp8390;
uint8_t m_board_ram[8*1024];
uint8_t m_rom[8*1024];
diff --git a/src/devices/bus/isa/adlib.cpp b/src/devices/bus/isa/adlib.cpp
index d9ce293e1c8..a82e5d63d7b 100644
--- a/src/devices/bus/isa/adlib.cpp
+++ b/src/devices/bus/isa/adlib.cpp
@@ -15,12 +15,6 @@
#define ym3812_StdClock 3579545
-static MACHINE_CONFIG_START( adlib_config )
- MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00)
-MACHINE_CONFIG_END
-
READ8_MEMBER( isa8_adlib_device::ym3812_16_r )
{
uint8_t retVal = 0xff;
@@ -47,14 +41,14 @@ WRITE8_MEMBER( isa8_adlib_device::ym3812_16_w )
DEFINE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device, "isa_adlib", "Ad Lib Sound Card")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_adlib_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adlib_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_adlib_device::device_add_mconfig )
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+ MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/adlib.h b/src/devices/bus/isa/adlib.h
index e91c4f4521d..590ea4f675e 100644
--- a/src/devices/bus/isa/adlib.h
+++ b/src/devices/bus/isa/adlib.h
@@ -15,25 +15,27 @@
// ======================> isa8_adlib_device
class isa8_adlib_device :
- public device_t,
- public device_isa8_card_interface
+ public device_t,
+ public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_adlib_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ // construction/destruction
+ isa8_adlib_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;
+ DECLARE_READ8_MEMBER(ym3812_16_r);
+ DECLARE_WRITE8_MEMBER(ym3812_16_w);
- DECLARE_READ8_MEMBER(ym3812_16_r);
- DECLARE_WRITE8_MEMBER(ym3812_16_w);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // 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:
- // internal state
- required_device<ym3812_device> m_ym3812;
+ // internal state
+ required_device<ym3812_device> m_ym3812;
};
diff --git a/src/devices/bus/isa/aga.cpp b/src/devices/bus/isa/aga.cpp
index 1ae7f83de4e..b52ab5bb18c 100644
--- a/src/devices/bus/isa/aga.cpp
+++ b/src/devices/bus/isa/aga.cpp
@@ -273,7 +273,7 @@ MC6845_UPDATE_ROW( isa8_aga_device::aga_update_row )
}
-MACHINE_CONFIG_START( pcvideo_aga )
+MACHINE_CONFIG_MEMBER( isa8_aga_device::device_add_mconfig )
MCFG_SCREEN_ADD( AGA_SCREEN_NAME, RASTER )
MCFG_SCREEN_RAW_PARAMS( XTAL_14_31818MHz,912,0,640,262,0,200 )
MCFG_SCREEN_UPDATE_DEVICE( AGA_MC6845_NAME, mc6845_device, screen_update )
@@ -288,10 +288,6 @@ MACHINE_CONFIG_START( pcvideo_aga )
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_aga_device, vsync_changed))
MACHINE_CONFIG_END
-machine_config_constructor isa8_aga_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_aga );
-}
/*************************************
*
diff --git a/src/devices/bus/isa/aga.h b/src/devices/bus/isa/aga.h
index 528fced9bda..85142843009 100644
--- a/src/devices/bus/isa/aga.h
+++ b/src/devices/bus/isa/aga.h
@@ -37,13 +37,6 @@ class isa8_aga_device :
public:
// construction/destruction
isa8_aga_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 const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_WRITE_LINE_MEMBER( hsync_changed );
- DECLARE_WRITE_LINE_MEMBER( vsync_changed );
DECLARE_READ8_MEMBER( pc_aga_mda_r );
DECLARE_WRITE8_MEMBER( pc_aga_mda_w );
@@ -54,7 +47,6 @@ public:
DECLARE_WRITE8_MEMBER( pc_aga_videoram_w );
DECLARE_READ8_MEMBER( pc_aga_videoram_r );
- MC6845_UPDATE_ROW( aga_update_row );
MC6845_UPDATE_ROW( mda_text_inten_update_row );
MC6845_UPDATE_ROW( mda_text_blink_update_row );
MC6845_UPDATE_ROW( cga_text_inten_update_row );
@@ -71,9 +63,15 @@ public:
protected:
isa8_aga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
required_ioport m_cga_config;
int m_update_row_type;
@@ -95,6 +93,11 @@ protected:
uint8_t m_cga_palette_lut_2bpp[4];
std::unique_ptr<uint8_t[]> m_videoram;
+
+private:
+ MC6845_UPDATE_ROW( aga_update_row );
+ DECLARE_WRITE_LINE_MEMBER( hsync_changed );
+ DECLARE_WRITE_LINE_MEMBER( vsync_changed );
};
// device type definition
diff --git a/src/devices/bus/isa/aha1542.cpp b/src/devices/bus/isa/aha1542.cpp
index 2fcd42ae52b..f03d92a105e 100644
--- a/src/devices/bus/isa/aha1542.cpp
+++ b/src/devices/bus/isa/aha1542.cpp
@@ -169,20 +169,15 @@ static ADDRESS_MAP_START( z84c0010_mem, AS_PROGRAM, 8, aha1542_device )
AM_RANGE(0xb000, 0xb000) AM_NOP // something?
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( aha1542 )
- MCFG_CPU_ADD(Z84C0010_TAG, Z80, XTAL_12MHz)
- MCFG_CPU_PROGRAM_MAP( z84c0010_mem )
-MACHINE_CONFIG_END
-
const tiny_rom_entry *aha1542_device::device_rom_region() const
{
return ROM_NAME( aha1542 );
}
-machine_config_constructor aha1542_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( aha1542 );
-}
+MACHINE_CONFIG_MEMBER( aha1542_device::device_add_mconfig )
+ MCFG_CPU_ADD(Z84C0010_TAG, Z80, XTAL_12MHz)
+ MCFG_CPU_PROGRAM_MAP( z84c0010_mem )
+MACHINE_CONFIG_END
aha1542_device::aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, AHA1542, tag, owner, clock),
diff --git a/src/devices/bus/isa/aha1542.h b/src/devices/bus/isa/aha1542.h
index 2b9fd179054..96a02757999 100644
--- a/src/devices/bus/isa/aha1542.h
+++ b/src/devices/bus/isa/aha1542.h
@@ -31,10 +31,6 @@ public:
// construction/destruction
aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
DECLARE_READ8_MEMBER( aha1542_r );
DECLARE_WRITE8_MEMBER( aha1542_w );
@@ -43,6 +39,10 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
};
// device type definition
diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp
index ca5c44d92d8..2f810bdafdb 100644
--- a/src/devices/bus/isa/cga.cpp
+++ b/src/devices/bus/isa/cga.cpp
@@ -244,24 +244,6 @@ MC6845_UPDATE_ROW( isa8_cga_pc1512_device::crtc_update_row )
#define CGA_LCLK (XTAL_14_31818MHz/16)
-static MACHINE_CONFIG_START( cga )
- MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL_14_31818MHz,912,0,640,262,0,200)
- MCFG_SCREEN_UPDATE_DEVICE( DEVICE_SELF, isa8_cga_device, screen_update )
-
- MCFG_PALETTE_ADD("palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
-
- MCFG_MC6845_ADD(CGA_MC6845_NAME, MC6845, CGA_SCREEN_NAME, XTAL_14_31818MHz/8)
- MCFG_MC6845_SHOW_BORDER_AREA(false)
- MCFG_MC6845_CHAR_WIDTH(8)
- MCFG_MC6845_UPDATE_ROW_CB(isa8_cga_device, crtc_update_row)
- MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(isa8_cga_device, hsync_changed))
- MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_cga_device, vsync_changed))
- MCFG_MC6845_RECONFIGURE_CB(isa8_cga_device, reconfigure)
- MCFG_VIDEO_SET_SCREEN(nullptr)
-MACHINE_CONFIG_END
-
-
ROM_START( cga )
/* IBM 1501981(CGA) and 1501985(MDA) Character rom */
ROM_REGION(0x2000,"gfx1", 0)
@@ -276,14 +258,25 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device, "cga", "IBM Color/Graphics Monitor Adapter")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_cga_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cga );
-}
+MACHINE_CONFIG_MEMBER( isa8_cga_device::device_add_mconfig )
+ MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL_14_31818MHz,912,0,640,262,0,200)
+ MCFG_SCREEN_UPDATE_DEVICE( DEVICE_SELF, isa8_cga_device, screen_update )
+
+ MCFG_PALETTE_ADD("palette", /* CGA_PALETTE_SETS * 16*/ 65536 )
+
+ MCFG_MC6845_ADD(CGA_MC6845_NAME, MC6845, CGA_SCREEN_NAME, XTAL_14_31818MHz/8)
+ MCFG_MC6845_SHOW_BORDER_AREA(false)
+ MCFG_MC6845_CHAR_WIDTH(8)
+ MCFG_MC6845_UPDATE_ROW_CB(isa8_cga_device, crtc_update_row)
+ MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(isa8_cga_device, hsync_changed))
+ MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_cga_device, vsync_changed))
+ MCFG_MC6845_RECONFIGURE_CB(isa8_cga_device, reconfigure)
+ MCFG_VIDEO_SET_SCREEN(nullptr)
+MACHINE_CONFIG_END
ioport_constructor isa8_cga_device::device_input_ports() const
{
@@ -1916,17 +1909,15 @@ const tiny_rom_entry *isa8_cga_mc1502_device::device_rom_region() const
DEFINE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24_device, "cga_m24", "Olivetti M24 CGA")
-static MACHINE_CONFIG_DERIVED( m24, cga )
+MACHINE_CONFIG_MEMBER( isa8_cga_m24_device::device_add_mconfig )
+ isa8_cga_device::device_add_mconfig(config);
+
MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME)
MCFG_SCREEN_RAW_PARAMS(XTAL_14_31818MHz,912,0,640,462,0,400)
MCFG_DEVICE_MODIFY(CGA_MC6845_NAME)
MCFG_MC6845_RECONFIGURE_CB(isa8_cga_m24_device, reconfigure)
MACHINE_CONFIG_END
-machine_config_constructor isa8_cga_m24_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( m24 );
-}
isa8_cga_m24_device::isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
isa8_cga_device(mconfig, ISA8_CGA_M24, tag, owner, clock), m_mode2(0), m_index(0)
{
diff --git a/src/devices/bus/isa/cga.h b/src/devices/bus/isa/cga.h
index 3b843ba83a3..5dd14acd103 100644
--- a/src/devices/bus/isa/cga.h
+++ b/src/devices/bus/isa/cga.h
@@ -41,11 +41,6 @@ public:
MC6845_UPDATE_ROW( cga_gfx_2bpp_update_row );
MC6845_UPDATE_ROW( cga_gfx_1bpp_update_row );
- // 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;
-
protected:
isa8_cga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -54,16 +49,21 @@ 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;
+
+ virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
public:
void mode_control_w(uint8_t data);
void set_palette_luts();
void plantronics_w(uint8_t data);
virtual DECLARE_READ8_MEMBER( io_read );
virtual DECLARE_WRITE8_MEMBER( io_write );
- DECLARE_WRITE_LINE_MEMBER( hsync_changed );
- DECLARE_WRITE_LINE_MEMBER( vsync_changed );
- virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- MC6845_RECONFIGURE(reconfigure);
+
public:
int m_framecnt;
@@ -86,6 +86,11 @@ public:
offs_t m_start_offset;
required_device<palette_device> m_palette;
required_device<screen_device> m_screen;
+
+private:
+ DECLARE_WRITE_LINE_MEMBER( hsync_changed );
+ DECLARE_WRITE_LINE_MEMBER( vsync_changed );
+ MC6845_RECONFIGURE(reconfigure);
};
// device type definition
@@ -272,16 +277,17 @@ class isa8_cga_m24_device :
public:
// construction/destruction
isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- // optional information overrides
- //virtual const rom_entry *device_rom_region() const;
virtual DECLARE_READ8_MEMBER( io_read ) override;
virtual DECLARE_WRITE8_MEMBER( io_write ) override;
virtual MC6845_UPDATE_ROW( crtc_update_row ) override;
MC6845_UPDATE_ROW( m24_gfx_1bpp_m24_update_row );
MC6845_RECONFIGURE(reconfigure);
+
protected:
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
uint8_t m_mode2, m_index;
};
diff --git a/src/devices/bus/isa/com.cpp b/src/devices/bus/isa/com.cpp
index 180c99cfcfc..edb477e2ff7 100644
--- a/src/devices/bus/isa/com.cpp
+++ b/src/devices/bus/isa/com.cpp
@@ -21,7 +21,18 @@ static SLOT_INTERFACE_START(isa_com)
SLOT_INTERFACE("null_modem", NULL_MODEM)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( com_config )
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(ISA8_COM, isa8_com_device, "isa_com", "Communications Adapter PC/XT")
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_com_device::device_add_mconfig )
MCFG_DEVICE_ADD( "uart_0", INS8250, XTAL_1_8432MHz )
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("serport0", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(DEVWRITELINE("serport0", rs232_port_device, write_dtr))
@@ -73,22 +84,6 @@ static MACHINE_CONFIG_START( com_config )
MACHINE_CONFIG_END
//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ISA8_COM, isa8_com_device, "isa_com", "Communications Adapter PC/XT")
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_com_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( com_config );
-}
-
-//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -129,7 +124,17 @@ void isa8_com_device::device_reset()
{
}
-static MACHINE_CONFIG_START( com_at_config )
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(ISA8_COM_AT, isa8_com_at_device, "isa_com_at", "Communications Adapter")
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_com_at_device::device_add_mconfig )
MCFG_DEVICE_ADD( "uart_0", NS16450, XTAL_1_8432MHz ) /* Verified: IBM P/N 6320947 Serial/Parallel card uses an NS16450N */
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("serport0", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(DEVWRITELINE("serport0", rs232_port_device, write_dtr))
@@ -168,22 +173,6 @@ static MACHINE_CONFIG_START( com_at_config )
// MCFG_RS232_PORT_ADD( "serport3", isa_com, nullptr )
MACHINE_CONFIG_END
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ISA8_COM_AT, isa8_com_at_device, "isa_com_at", "Communications Adapter")
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_com_at_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( com_at_config );
-}
-
//-------------------------------------------------
// isa8_com_device - constructor
//-------------------------------------------------
diff --git a/src/devices/bus/isa/com.h b/src/devices/bus/isa/com.h
index b0230fbc405..ff7b5e4eef8 100644
--- a/src/devices/bus/isa/com.h
+++ b/src/devices/bus/isa/com.h
@@ -22,8 +22,6 @@ public:
// construction/destruction
isa8_com_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;
DECLARE_WRITE_LINE_MEMBER(pc_com_interrupt_1) { m_isa->irq4_w(state); }
DECLARE_WRITE_LINE_MEMBER(pc_com_interrupt_2) { m_isa->irq3_w(state); }
@@ -33,6 +31,9 @@ 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;
};
@@ -48,8 +49,9 @@ public:
// construction/destruction
isa8_com_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp
index b13468996d3..4b0811bdbea 100644
--- a/src/devices/bus/isa/dectalk.cpp
+++ b/src/devices/bus/isa/dectalk.cpp
@@ -140,7 +140,20 @@ static ADDRESS_MAP_START(dectalk_dsp_map, AS_PROGRAM, 16, dectalk_isa_device)
AM_RANGE(0x0000, 0x0FFF) AM_ROM AM_REGION("dectalk_dsp", 0)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( dectalk_isa )
+ROM_START( dectalk_isa )
+ ROM_REGION( 0x4000, "dectalk_cpu", 0 )
+ ROM_LOAD16_BYTE("pc_boot_hxl.am27c64.d6.e26", 0x0000, 0x2000, CRC(7492f1e3) SHA1(fe6946a227f01c94f2b99220320a616445c96ee0)) // Some cards have a different label on the chip which lists the sum16: 31AC (matches contents)
+ ROM_LOAD16_BYTE("pc_boot_hxh.am27c64.d8.e27", 0x0001, 0x2000, CRC(1fe7fe40) SHA1(6e89c237f01aa22e0d21ff4d6fdf8137c6ace374)) // Some cards have a different label on the chip which lists the sum16: 1A25 (matches contents)
+ ROM_REGION( 0x2000, "dectalk_dsp", 0 )
+ ROM_LOAD("spc_034c__2-1-92.tms320p15nl.d3.bin", 0x0000, 0x2000, CRC(d8b1201e) SHA1(4b873a5e882205fcac79a27562054b5c4d1a117c))
+ROM_END
+
+const tiny_rom_entry* dectalk_isa_device::device_rom_region() const
+{
+ return ROM_NAME( dectalk_isa );
+}
+
+MACHINE_CONFIG_MEMBER( dectalk_isa_device::device_add_mconfig )
MCFG_CPU_ADD("dectalk_cpu", I80186, XTAL_20MHz)
MCFG_CPU_IO_MAP(dectalk_cpu_io)
MCFG_CPU_PROGRAM_MAP(dectalk_cpu_map)
@@ -157,24 +170,6 @@ static MACHINE_CONFIG_START( dectalk_isa )
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
-ROM_START( dectalk_isa )
- ROM_REGION( 0x4000, "dectalk_cpu", 0 )
- ROM_LOAD16_BYTE("pc_boot_hxl.am27c64.d6.e26", 0x0000, 0x2000, CRC(7492f1e3) SHA1(fe6946a227f01c94f2b99220320a616445c96ee0)) // Some cards have a different label on the chip which lists the sum16: 31AC (matches contents)
- ROM_LOAD16_BYTE("pc_boot_hxh.am27c64.d8.e27", 0x0001, 0x2000, CRC(1fe7fe40) SHA1(6e89c237f01aa22e0d21ff4d6fdf8137c6ace374)) // Some cards have a different label on the chip which lists the sum16: 1A25 (matches contents)
- ROM_REGION( 0x2000, "dectalk_dsp", 0 )
- ROM_LOAD("spc_034c__2-1-92.tms320p15nl.d3.bin", 0x0000, 0x2000, CRC(d8b1201e) SHA1(4b873a5e882205fcac79a27562054b5c4d1a117c))
-ROM_END
-
-const tiny_rom_entry* dectalk_isa_device::device_rom_region() const
-{
- return ROM_NAME( dectalk_isa );
-}
-
-machine_config_constructor dectalk_isa_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dectalk_isa );
-}
-
WRITE8_MEMBER(dectalk_isa_device::write)
{
switch(offset)
diff --git a/src/devices/bus/isa/dectalk.h b/src/devices/bus/isa/dectalk.h
index eaab353afb7..f2743787a15 100644
--- a/src/devices/bus/isa/dectalk.h
+++ b/src/devices/bus/isa/dectalk.h
@@ -16,10 +16,6 @@ class dectalk_isa_device : public device_t,
public:
dectalk_isa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
DECLARE_WRITE8_MEMBER(write);
DECLARE_READ8_MEMBER(read);
@@ -34,16 +30,21 @@ public:
DECLARE_READ16_MEMBER(dsp_dma_r);
DECLARE_WRITE16_MEMBER(dsp_dma_w);
DECLARE_WRITE16_MEMBER(output_ctl_w);
- DECLARE_READ_LINE_MEMBER(bio_line_r);
DECLARE_WRITE16_MEMBER(irq_line_w);
- DECLARE_WRITE_LINE_MEMBER(clock_w);
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
+ DECLARE_READ_LINE_MEMBER(bio_line_r);
+ DECLARE_WRITE_LINE_MEMBER(clock_w);
+
uint16_t m_cmd, m_stat, m_data, m_dsp_dma, m_ctl;
uint8_t m_dma, m_vol, m_bio;
diff --git a/src/devices/bus/isa/ega.cpp b/src/devices/bus/isa/ega.cpp
index 530a57731cd..c700df2ede3 100644
--- a/src/devices/bus/isa/ega.cpp
+++ b/src/devices/bus/isa/ega.cpp
@@ -463,23 +463,6 @@ located at I/O port 0x3CE, and a data register located at I/O port 0x3CF.
Prototypes
*/
-MACHINE_CONFIG_START( pcvideo_ega )
- MCFG_SCREEN_ADD(EGA_SCREEN_NAME, RASTER)
- MCFG_SCREEN_RAW_PARAMS(16257000,912,0,640,262,0,200)
- MCFG_SCREEN_UPDATE_DEVICE(EGA_CRTC_NAME, crtc_ega_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
-
- MCFG_PALETTE_ADD( "palette", 64 )
-
- MCFG_DEVICE_ADD(EGA_CRTC_NAME, CRTC_EGA, 16257000/8)
- MCFG_CRTC_EGA_SET_SCREEN(EGA_SCREEN_NAME)
- MCFG_CRTC_EGA_HPIXELS_PER_COLUMN(8)
- MCFG_CRTC_EGA_ROW_UPDATE_CB(isa8_ega_device, ega_update_row)
- MCFG_CRTC_EGA_RES_OUT_DE_CB(WRITELINE(isa8_ega_device, de_changed))
- MCFG_CRTC_EGA_RES_OUT_HSYNC_CB(WRITELINE(isa8_ega_device, hsync_changed))
- MCFG_CRTC_EGA_RES_OUT_VSYNC_CB(WRITELINE(isa8_ega_device, vsync_changed))
- MCFG_CRTC_EGA_RES_OUT_VBLANK_CB(WRITELINE(isa8_ega_device, vblank_changed))
-MACHINE_CONFIG_END
ROM_START( ega )
ROM_REGION(0x4000, "user1", 0)
@@ -542,14 +525,26 @@ DEFINE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device, "ega", "IBM Enhanced Graphics Adap
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_ega_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_ega );
-}
+MACHINE_CONFIG_MEMBER( isa8_ega_device::device_add_mconfig )
+ MCFG_SCREEN_ADD(EGA_SCREEN_NAME, RASTER)
+ MCFG_SCREEN_RAW_PARAMS(16257000,912,0,640,262,0,200)
+ MCFG_SCREEN_UPDATE_DEVICE(EGA_CRTC_NAME, crtc_ega_device, screen_update)
+ MCFG_SCREEN_PALETTE("palette")
+
+ MCFG_PALETTE_ADD( "palette", 64 )
+
+ MCFG_DEVICE_ADD(EGA_CRTC_NAME, CRTC_EGA, 16257000/8)
+ MCFG_CRTC_EGA_SET_SCREEN(EGA_SCREEN_NAME)
+ MCFG_CRTC_EGA_HPIXELS_PER_COLUMN(8)
+ MCFG_CRTC_EGA_ROW_UPDATE_CB(isa8_ega_device, ega_update_row)
+ MCFG_CRTC_EGA_RES_OUT_DE_CB(WRITELINE(isa8_ega_device, de_changed))
+ MCFG_CRTC_EGA_RES_OUT_HSYNC_CB(WRITELINE(isa8_ega_device, hsync_changed))
+ MCFG_CRTC_EGA_RES_OUT_VSYNC_CB(WRITELINE(isa8_ega_device, vsync_changed))
+ MCFG_CRTC_EGA_RES_OUT_VBLANK_CB(WRITELINE(isa8_ega_device, vblank_changed))
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/ega.h b/src/devices/bus/isa/ega.h
index 38310580de4..88b33fd5a4c 100644
--- a/src/devices/bus/isa/ega.h
+++ b/src/devices/bus/isa/ega.h
@@ -22,11 +22,6 @@ public:
// construction/destruction
isa8_ega_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 const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
DECLARE_READ8_MEMBER(pc_ega8_3b0_r);
@@ -35,12 +30,7 @@ public:
DECLARE_WRITE8_MEMBER(pc_ega8_3c0_w);
DECLARE_READ8_MEMBER(pc_ega8_3d0_r);
DECLARE_WRITE8_MEMBER(pc_ega8_3d0_w);
- DECLARE_WRITE_LINE_MEMBER(de_changed);
- DECLARE_WRITE_LINE_MEMBER(hsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vblank_changed);
- CRTC_EGA_ROW_UPDATE(ega_update_row);
CRTC_EGA_ROW_UPDATE(pc_ega_graphics);
CRTC_EGA_ROW_UPDATE(pc_ega_text);
@@ -51,8 +41,21 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
uint8_t alu_op( uint8_t data, uint8_t latch_data );
+private:
+ DECLARE_WRITE_LINE_MEMBER(de_changed);
+ DECLARE_WRITE_LINE_MEMBER(hsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vblank_changed);
+
+ CRTC_EGA_ROW_UPDATE(ega_update_row);
+
public:
crtc_ega_device *m_crtc_ega;
diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp
index 2c37cb176dd..ddaf8409a8c 100644
--- a/src/devices/bus/isa/fdc.cpp
+++ b/src/devices/bus/isa/fdc.cpp
@@ -31,46 +31,6 @@ static SLOT_INTERFACE_START( pc_hd_floppies )
SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( cfg_xt )
- MCFG_PC_FDC_XT_ADD("fdc")
- MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
- MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( cfg_at )
- MCFG_PC_FDC_AT_ADD("fdc")
- MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
- MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( cfg_smc )
- MCFG_SMC37C78_ADD("fdc")
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
- MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( cfg_ps2 )
- MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2)
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
- MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( cfg_superio )
- MCFG_PC_FDC_SUPERIO_ADD("fdc")
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
- MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
@@ -115,50 +75,67 @@ void isa8_fdc_device::eop_w(int state)
fdc->tc_w(state == ASSERT_LINE);
}
+
isa8_fdc_xt_device::isa8_fdc_xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_XT, tag, owner, clock)
{
}
-machine_config_constructor isa8_fdc_xt_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg_xt);
-}
+MACHINE_CONFIG_MEMBER( isa8_fdc_xt_device::device_add_mconfig )
+ MCFG_PC_FDC_XT_ADD("fdc")
+ MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
+ MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
+
isa8_fdc_at_device::isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_AT, tag, owner, clock)
{
}
-machine_config_constructor isa8_fdc_at_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg_at);
-}
+MACHINE_CONFIG_MEMBER( isa8_fdc_at_device::device_add_mconfig )
+ MCFG_PC_FDC_AT_ADD("fdc")
+ MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
+ MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SMC, tag, owner, clock)
{
}
-machine_config_constructor isa8_fdc_smc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg_smc);
-}
+MACHINE_CONFIG_MEMBER( isa8_fdc_smc_device::device_add_mconfig )
+ MCFG_SMC37C78_ADD("fdc")
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
+ MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_PS2, tag, owner, clock)
{
}
-machine_config_constructor isa8_fdc_ps2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg_ps2);
-}
+MACHINE_CONFIG_MEMBER( isa8_fdc_ps2_device::device_add_mconfig )
+ MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2)
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
+ MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SUPERIO, tag, owner, clock)
{
}
-machine_config_constructor isa8_fdc_superio_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg_superio);
-}
+MACHINE_CONFIG_MEMBER( isa8_fdc_superio_device::device_add_mconfig )
+ MCFG_PC_FDC_SUPERIO_ADD("fdc")
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w))
+ MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
DEFINE_DEVICE_TYPE(ISA8_FDC_XT, isa8_fdc_xt_device, "isa8_fdc_xt", "ISA 8bits XT FDC hookup")
DEFINE_DEVICE_TYPE(ISA8_FDC_AT, isa8_fdc_at_device, "isa8_fdc_at", "ISA 8bits AT FDC hookup")
diff --git a/src/devices/bus/isa/fdc.h b/src/devices/bus/isa/fdc.h
index 0d9227a04e4..026e0d5005d 100644
--- a/src/devices/bus/isa/fdc.h
+++ b/src/devices/bus/isa/fdc.h
@@ -46,31 +46,41 @@ protected:
class isa8_fdc_xt_device : public isa8_fdc_device {
public:
isa8_fdc_xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
};
class isa8_fdc_at_device : public isa8_fdc_device {
public:
isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
};
class isa8_fdc_smc_device : public isa8_fdc_device {
public:
isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
};
class isa8_fdc_ps2_device : public isa8_fdc_device {
public:
isa8_fdc_ps2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
};
class isa8_fdc_superio_device : public isa8_fdc_device {
public:
isa8_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
};
// device type definition
diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp
index 2960366a325..9892e1508a9 100644
--- a/src/devices/bus/isa/finalchs.cpp
+++ b/src/devices/bus/isa/finalchs.cpp
@@ -46,11 +46,6 @@ static ADDRESS_MAP_START(finalchs_mem , AS_PROGRAM, 8, isa8_finalchs_device)
AM_RANGE( 0x8000, 0xffff ) AM_ROM
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( finalchs_config )
- MCFG_CPU_ADD("maincpu",M65C02,5000000)
- MCFG_CPU_PROGRAM_MAP(finalchs_mem)
-MACHINE_CONFIG_END
-
ROM_START(finalchs)
ROM_REGION(0x10000,"maincpu",0)
ROM_LOAD("finalchs.bin", 0x8000, 0x8000, CRC(c8e72dff) SHA1(f422b19a806cef4fadd580caefaaf8c32b644098))
@@ -72,14 +67,13 @@ WRITE8_MEMBER( isa8_finalchs_device::finalchs_w )
DEFINE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device, "isa_finalchs", "Final Chess Card")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_finalchs_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( finalchs_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_finalchs_device::device_add_mconfig )
+ MCFG_CPU_ADD("maincpu",M65C02,5000000)
+ MCFG_CPU_PROGRAM_MAP(finalchs_mem)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/finalchs.h b/src/devices/bus/isa/finalchs.h
index f287489cb3f..d16a69443ac 100644
--- a/src/devices/bus/isa/finalchs.h
+++ b/src/devices/bus/isa/finalchs.h
@@ -29,14 +29,15 @@ public:
DECLARE_READ8_MEMBER( io6000_read );
DECLARE_WRITE8_MEMBER( io6000_write );
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
// internal state
uint8_t m_FCH_latch_data;
diff --git a/src/devices/bus/isa/gblaster.cpp b/src/devices/bus/isa/gblaster.cpp
index 0ee1da6f5cf..f742fa413fc 100644
--- a/src/devices/bus/isa/gblaster.cpp
+++ b/src/devices/bus/isa/gblaster.cpp
@@ -20,15 +20,7 @@
jumperable? normally 0x220
*/
-static MACHINE_CONFIG_START( game_blaster_config )
- MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SAA1099_ADD("saa1099.1", 7159090)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
- MCFG_SAA1099_ADD("saa1099.2", 7159090)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
-MACHINE_CONFIG_END
+
READ8_MEMBER( isa8_gblaster_device::saa1099_16_r )
{
@@ -73,14 +65,18 @@ WRITE8_MEMBER( isa8_gblaster_device::detect_w )
DEFINE_DEVICE_TYPE(ISA8_GAME_BLASTER, isa8_gblaster_device, "isa_gblaster", "Game Blaster Sound Card")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_gblaster_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( game_blaster_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_gblaster_device::device_add_mconfig )
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+ MCFG_SAA1099_ADD("saa1099.1", 7159090)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
+ MCFG_SAA1099_ADD("saa1099.2", 7159090)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/gblaster.h b/src/devices/bus/isa/gblaster.h
index 32cebdaa0ba..03b1fcea87d 100644
--- a/src/devices/bus/isa/gblaster.h
+++ b/src/devices/bus/isa/gblaster.h
@@ -22,18 +22,20 @@ public:
// construction/destruction
isa8_gblaster_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;
-
DECLARE_READ8_MEMBER(saa1099_16_r);
DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
DECLARE_READ8_MEMBER(detect_r);
DECLARE_WRITE8_MEMBER(detect_w);
+
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:
// internal state
required_device<saa1099_device> m_saa1099_1;
diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp
index de9dc6624e9..5545a070e25 100644
--- a/src/devices/bus/isa/gus.cpp
+++ b/src/devices/bus/isa/gus.cpp
@@ -1231,7 +1231,26 @@ void gf1_device::eop_w(int state)
/* 16-bit ISA card device implementation */
-static MACHINE_CONFIG_START( gus_config )
+static INPUT_PORTS_START( gus_joy )
+ PORT_START("gus_joy")
+ PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) // x/y ad stick to digital converters
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("GUS Joystick Button 1")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("GUS Joystick Button 2")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("GUS Joystick Button 3")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("GUS Joystick Button 4")
+
+ PORT_START("gus_joy_1")
+ PORT_BIT(0xff,0x80,IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH)
+
+ PORT_START("gus_joy_2")
+ PORT_BIT(0xff,0x80,IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_INC(KEYCODE_DOWN) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)
+INPUT_PORTS_END
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_gus_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
MCFG_SOUND_ADD("gf1",GGF1,GF1_CLOCK)
MCFG_SOUND_ROUTE(0,"lspeaker",0.50)
@@ -1259,31 +1278,6 @@ static MACHINE_CONFIG_START( gus_config )
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(isa16_gus_device, write_acia_clock))
MACHINE_CONFIG_END
-static INPUT_PORTS_START( gus_joy )
- PORT_START("gus_joy")
- PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED ) // x/y ad stick to digital converters
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("GUS Joystick Button 1")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("GUS Joystick Button 2")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("GUS Joystick Button 3")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("GUS Joystick Button 4")
-
- PORT_START("gus_joy_1")
- PORT_BIT(0xff,0x80,IPT_AD_STICK_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH)
-
- PORT_START("gus_joy_2")
- PORT_BIT(0xff,0x80,IPT_AD_STICK_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_MINMAX(1,0xff) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_INC(KEYCODE_DOWN) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)
-INPUT_PORTS_END
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_gus_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( gus_config );
-}
-
ioport_constructor isa16_gus_device::device_input_ports() const
{
return INPUT_PORTS_NAME( gus_joy );
diff --git a/src/devices/bus/isa/gus.h b/src/devices/bus/isa/gus.h
index fe0103734d5..7c3bdcea91a 100644
--- a/src/devices/bus/isa/gus.h
+++ b/src/devices/bus/isa/gus.h
@@ -270,35 +270,36 @@ public:
DECLARE_WRITE8_MEMBER(adlib_w);
DECLARE_READ8_MEMBER(joy_r);
DECLARE_WRITE8_MEMBER(joy_w);
- DECLARE_WRITE_LINE_MEMBER(midi_txirq);
- DECLARE_WRITE_LINE_MEMBER(midi_rxirq);
- DECLARE_WRITE_LINE_MEMBER(wavetable_irq);
- DECLARE_WRITE_LINE_MEMBER(volumeramp_irq);
- DECLARE_WRITE_LINE_MEMBER(timer1_irq);
- DECLARE_WRITE_LINE_MEMBER(timer2_irq);
- DECLARE_WRITE_LINE_MEMBER(sb_irq);
- DECLARE_WRITE_LINE_MEMBER(dma_irq);
- DECLARE_WRITE_LINE_MEMBER(drq1_w);
- DECLARE_WRITE_LINE_MEMBER(drq2_w);
- DECLARE_WRITE_LINE_MEMBER(nmi_w);
- DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
// DMA overrides
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line,uint8_t data) override;
virtual void eop_w(int state) override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_stop() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
+ DECLARE_WRITE_LINE_MEMBER(midi_txirq);
+ DECLARE_WRITE_LINE_MEMBER(midi_rxirq);
+ DECLARE_WRITE_LINE_MEMBER(wavetable_irq);
+ DECLARE_WRITE_LINE_MEMBER(volumeramp_irq);
+ DECLARE_WRITE_LINE_MEMBER(timer1_irq);
+ DECLARE_WRITE_LINE_MEMBER(timer2_irq);
+ DECLARE_WRITE_LINE_MEMBER(sb_irq);
+ DECLARE_WRITE_LINE_MEMBER(dma_irq);
+ DECLARE_WRITE_LINE_MEMBER(drq1_w);
+ DECLARE_WRITE_LINE_MEMBER(drq2_w);
+ DECLARE_WRITE_LINE_MEMBER(nmi_w);
+ DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
+
required_device<gf1_device> m_gf1;
uint8_t m_irq_status;
diff --git a/src/devices/bus/isa/hdc.cpp b/src/devices/bus/isa/hdc.cpp
index c5d5797ecd2..d728aa73b74 100644
--- a/src/devices/bus/isa/hdc.cpp
+++ b/src/devices/bus/isa/hdc.cpp
@@ -112,22 +112,6 @@ static const char *const hdc_command_names[] =
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr /* 0xF8-0xFF */
};
-static MACHINE_CONFIG_START( xt_hdc_config )
- MCFG_DEVICE_ADD("hdc",XT_HDC,0)
- MCFG_XTHDC_IRQ_HANDLER(WRITELINE(isa8_hdc_device,irq_w))
- MCFG_XTHDC_DRQ_HANDLER(WRITELINE(isa8_hdc_device,drq_w))
- MCFG_HARDDISK_ADD("hdc:primary")
- MCFG_HARDDISK_ADD("hdc:slave")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( ec1841_hdc_config )
- MCFG_DEVICE_ADD("hdc",EC1841_HDC,0)
- MCFG_XTHDC_IRQ_HANDLER(WRITELINE(isa8_hdc_ec1841_device,irq_w))
- MCFG_XTHDC_DRQ_HANDLER(WRITELINE(isa8_hdc_ec1841_device,drq_w))
- MCFG_HARDDISK_ADD("hdc:primary")
- MCFG_HARDDISK_ADD("hdc:slave")
-MACHINE_CONFIG_END
-
ROM_START( hdc )
ROM_REGION(0x02000,"hdc", 0)
// Bios taken from WD1002A-WX1
@@ -931,19 +915,24 @@ DEFINE_DEVICE_TYPE(ISA8_HDC, isa8_hdc_device, "isa_hdc", "F
DEFINE_DEVICE_TYPE(ISA8_HDC_EC1841, isa8_hdc_ec1841_device, "isa_hdc_ec1841", "EC1841 HDC Card")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_hdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( xt_hdc_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_hdc_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("hdc",XT_HDC,0)
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(isa8_hdc_device,irq_w))
+ MCFG_XTHDC_DRQ_HANDLER(WRITELINE(isa8_hdc_device,drq_w))
+ MCFG_HARDDISK_ADD("hdc:primary")
+ MCFG_HARDDISK_ADD("hdc:slave")
+MACHINE_CONFIG_END
-machine_config_constructor isa8_hdc_ec1841_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( ec1841_hdc_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_hdc_ec1841_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("hdc",EC1841_HDC,0)
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(isa8_hdc_ec1841_device,irq_w))
+ MCFG_XTHDC_DRQ_HANDLER(WRITELINE(isa8_hdc_ec1841_device,drq_w))
+ MCFG_HARDDISK_ADD("hdc:primary")
+ MCFG_HARDDISK_ADD("hdc:slave")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/hdc.h b/src/devices/bus/isa/hdc.h
index b631fc91818..b8b325f1c6d 100644
--- a/src/devices/bus/isa/hdc.h
+++ b/src/devices/bus/isa/hdc.h
@@ -149,21 +149,23 @@ public:
DECLARE_READ8_MEMBER(pc_hdc_r);
DECLARE_WRITE8_MEMBER(pc_hdc_w);
- DECLARE_WRITE_LINE_MEMBER(irq_w);
- DECLARE_WRITE_LINE_MEMBER(drq_w);
required_device<xt_hdc_device> m_hdc;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
protected:
isa8_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// 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 const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+ DECLARE_WRITE_LINE_MEMBER(drq_w);
+
public:
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line,uint8_t data) override;
@@ -178,8 +180,9 @@ class isa8_hdc_ec1841_device : public isa8_hdc_device
public:
isa8_hdc_ec1841_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
required_device<ec1841_device> m_hdc;
};
diff --git a/src/devices/bus/isa/ibm_mfc.cpp b/src/devices/bus/isa/ibm_mfc.cpp
index 81ba7f9328a..e2c35e02551 100644
--- a/src/devices/bus/isa/ibm_mfc.cpp
+++ b/src/devices/bus/isa/ibm_mfc.cpp
@@ -269,47 +269,6 @@ WRITE_LINE_MEMBER(isa8_ibm_mfc_device::ibm_mfc_ym_irq)
//-------------------------------------------------
-// Machine config
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( ibm_mfc )
- MCFG_CPU_ADD("ibm_mfc", Z80, XTAL_11_8MHz / 2)
- MCFG_CPU_PROGRAM_MAP(prg_map)
- MCFG_CPU_IO_MAP(io_map)
-
- MCFG_DEVICE_ADD("d71055c_0", I8255, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(isa8_ibm_mfc_device, ppi0_i_a))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(isa8_ibm_mfc_device, ppi0_o_b))
- MCFG_I8255_IN_PORTC_CB(READ8(isa8_ibm_mfc_device, ppi0_i_c))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(isa8_ibm_mfc_device, ppi0_o_c))
-
- MCFG_DEVICE_ADD("d71055c_1", I8255, 0)
- MCFG_I8255_OUT_PORTA_CB(WRITE8(isa8_ibm_mfc_device, ppi1_o_a))
- MCFG_I8255_IN_PORTB_CB(READ8(isa8_ibm_mfc_device, ppi1_i_b))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(isa8_ibm_mfc_device, ppi1_o_c))
-
- MCFG_DEVICE_ADD("d71051", I8251, 0)
-
- MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL_4MHz / 8) // 500KHz
- MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(isa8_ibm_mfc_device, write_usart_clock))
-
- MCFG_DEVICE_ADD("d8253", PIT8253, 0)
- MCFG_PIT8253_CLK0(XTAL_4MHz / 8)
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(isa8_ibm_mfc_device, d8253_out0))
- MCFG_PIT8253_CLK1(0)
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE(isa8_ibm_mfc_device, d8253_out1))
- MCFG_PIT8253_CLK2(XTAL_4MHz / 2)
- MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("d8253", pit8253_device, write_clk1))
-
- MCFG_SPEAKER_STANDARD_STEREO("ymleft", "ymright")
- MCFG_YM2151_ADD("ym2151", XTAL_4MHz)
- MCFG_YM2151_IRQ_HANDLER(WRITELINE(isa8_ibm_mfc_device, ibm_mfc_ym_irq))
- MCFG_SOUND_ROUTE(0, "ymleft", 1.00)
- MCFG_SOUND_ROUTE(1, "ymright", 1.00)
-MACHINE_CONFIG_END
-
-
-//-------------------------------------------------
// ISA interface
//-------------------------------------------------
@@ -410,14 +369,44 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_ibm_mfc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( ibm_mfc );
-}
+MACHINE_CONFIG_MEMBER( isa8_ibm_mfc_device::device_add_mconfig )
+ MCFG_CPU_ADD("ibm_mfc", Z80, XTAL_11_8MHz / 2)
+ MCFG_CPU_PROGRAM_MAP(prg_map)
+ MCFG_CPU_IO_MAP(io_map)
+
+ MCFG_DEVICE_ADD("d71055c_0", I8255, 0)
+ MCFG_I8255_IN_PORTA_CB(READ8(isa8_ibm_mfc_device, ppi0_i_a))
+ MCFG_I8255_OUT_PORTB_CB(WRITE8(isa8_ibm_mfc_device, ppi0_o_b))
+ MCFG_I8255_IN_PORTC_CB(READ8(isa8_ibm_mfc_device, ppi0_i_c))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(isa8_ibm_mfc_device, ppi0_o_c))
+
+ MCFG_DEVICE_ADD("d71055c_1", I8255, 0)
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(isa8_ibm_mfc_device, ppi1_o_a))
+ MCFG_I8255_IN_PORTB_CB(READ8(isa8_ibm_mfc_device, ppi1_i_b))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(isa8_ibm_mfc_device, ppi1_o_c))
+
+ MCFG_DEVICE_ADD("d71051", I8251, 0)
+
+ MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL_4MHz / 8) // 500KHz
+ MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(isa8_ibm_mfc_device, write_usart_clock))
+
+ MCFG_DEVICE_ADD("d8253", PIT8253, 0)
+ MCFG_PIT8253_CLK0(XTAL_4MHz / 8)
+ MCFG_PIT8253_OUT0_HANDLER(WRITELINE(isa8_ibm_mfc_device, d8253_out0))
+ MCFG_PIT8253_CLK1(0)
+ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(isa8_ibm_mfc_device, d8253_out1))
+ MCFG_PIT8253_CLK2(XTAL_4MHz / 2)
+ MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("d8253", pit8253_device, write_clk1))
+
+ MCFG_SPEAKER_STANDARD_STEREO("ymleft", "ymright")
+ MCFG_YM2151_ADD("ym2151", XTAL_4MHz)
+ MCFG_YM2151_IRQ_HANDLER(WRITELINE(isa8_ibm_mfc_device, ibm_mfc_ym_irq))
+ MCFG_SOUND_ROUTE(0, "ymleft", 1.00)
+ MCFG_SOUND_ROUTE(1, "ymright", 1.00)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/isa/ibm_mfc.h b/src/devices/bus/isa/ibm_mfc.h
index 019f89d5da2..38403291378 100644
--- a/src/devices/bus/isa/ibm_mfc.h
+++ b/src/devices/bus/isa/ibm_mfc.h
@@ -31,6 +31,20 @@ public:
// Construction/destruction
isa8_ibm_mfc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ DECLARE_READ8_MEMBER( ibm_mfc_r );
+ DECLARE_WRITE8_MEMBER( ibm_mfc_w );
+
+protected:
+ // Device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ 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_READ8_MEMBER( ppi0_i_a );
DECLARE_WRITE8_MEMBER( ppi0_o_b );
DECLARE_READ8_MEMBER( ppi0_i_c );
@@ -41,9 +55,6 @@ public:
DECLARE_WRITE8_MEMBER( ppi1_o_c );
- DECLARE_READ8_MEMBER( ibm_mfc_r );
- DECLARE_WRITE8_MEMBER( ibm_mfc_w );
-
DECLARE_WRITE_LINE_MEMBER( d8253_out0 );
DECLARE_WRITE_LINE_MEMBER( d8253_out1 );
@@ -51,17 +62,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( ibm_mfc_ym_irq );
-protected:
- // Device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- 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;
-
-private:
void set_z80_interrupt(int src, int state);
void set_pc_interrupt(int src, int state);
void update_pc_interrupts(void);
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index fe2feb511d2..94312ba3cf0 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -52,16 +52,6 @@ static MACHINE_CONFIG_START(cdrom_headphones)
MCFG_SPEAKER_STANDARD_STEREO("lheadphone", "rheadphone")
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ide )
- MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, false)
- MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(isa16_ide_device, ide_interrupt))
-
- MCFG_DEVICE_MODIFY("ide:0")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones)
- MCFG_DEVICE_MODIFY("ide:1")
- MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones)
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( ide )
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x00, "IDE Configuration")
@@ -76,14 +66,18 @@ INPUT_PORTS_END
DEFINE_DEVICE_TYPE(ISA16_IDE, isa16_ide_device, "isa_ide", "IDE Fixed Drive Adapter")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa16_ide_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( ide );
-}
+MACHINE_CONFIG_MEMBER( isa16_ide_device::device_add_mconfig )
+ MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, false)
+ MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(isa16_ide_device, ide_interrupt))
+
+ MCFG_DEVICE_MODIFY("ide:0")
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones)
+ MCFG_DEVICE_MODIFY("ide:1")
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("cdrom", cdrom_headphones)
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/isa/ide.h b/src/devices/bus/isa/ide.h
index 6f34b144461..d1655c5cfd5 100644
--- a/src/devices/bus/isa/ide.h
+++ b/src/devices/bus/isa/ide.h
@@ -21,22 +21,24 @@ public:
// construction/destruction
isa16_ide_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;
-
bool is_primary() { return m_is_primary; }
- DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
DECLARE_ADDRESS_MAP(map, 16);
DECLARE_ADDRESS_MAP(alt_map, 8);
READ8_MEMBER(ide16_alt_r);
WRITE8_MEMBER(ide16_alt_w);
+
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;
+
private:
+ DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
+
// internal state
bool m_is_primary;
required_device<ide_controller_device> m_ide;
diff --git a/src/devices/bus/isa/lpt.cpp b/src/devices/bus/isa/lpt.cpp
index 39f9df36671..ca81b9a0499 100644
--- a/src/devices/bus/isa/lpt.cpp
+++ b/src/devices/bus/isa/lpt.cpp
@@ -19,16 +19,11 @@ isa8_lpt_device::isa8_lpt_device(const machine_config &mconfig, const char *tag,
{
}
-static MACHINE_CONFIG_START( lpt_config )
+MACHINE_CONFIG_MEMBER( isa8_lpt_device::device_add_mconfig )
MCFG_DEVICE_ADD("lpt", PC_LPT, 0)
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(isa8_lpt_device, pc_cpu_line))
MACHINE_CONFIG_END
-machine_config_constructor isa8_lpt_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( lpt_config );
-}
-
static INPUT_PORTS_START( lpt_dsw )
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x00, "Base address")
diff --git a/src/devices/bus/isa/lpt.h b/src/devices/bus/isa/lpt.h
index 4ff3e60a9e2..1aa2731bfaf 100644
--- a/src/devices/bus/isa/lpt.h
+++ b/src/devices/bus/isa/lpt.h
@@ -27,20 +27,19 @@ public:
// construction/destruction
isa8_lpt_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;
-
bool is_primary() { return m_is_primary; }
- WRITE_LINE_MEMBER(pc_cpu_line);
-
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;
+
private:
+ WRITE_LINE_MEMBER(pc_cpu_line);
// internal state
bool m_is_primary;
diff --git a/src/devices/bus/isa/mach32.cpp b/src/devices/bus/isa/mach32.cpp
index 51a28531ac2..328072ca7a9 100644
--- a/src/devices/bus/isa/mach32.cpp
+++ b/src/devices/bus/isa/mach32.cpp
@@ -48,16 +48,11 @@ mach32_device::mach32_device(const machine_config &mconfig, device_type type, co
{
}
-static MACHINE_CONFIG_START( mach32_8514a )
+MACHINE_CONFIG_MEMBER( mach32_device::device_add_mconfig )
MCFG_DEVICE_ADD("8514a", ATIMACH32_8514A, 0)
MCFG_EEPROM_SERIAL_93C56_ADD("ati_eeprom")
MACHINE_CONFIG_END
-machine_config_constructor mach32_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mach32_8514a );
-}
-
void mach32_8514a_device::device_config_complete()
{
m_vga = dynamic_cast<vga_device*>(owner());
@@ -115,16 +110,11 @@ mach64_device::mach64_device(const machine_config &mconfig, device_type type, co
{
}
-static MACHINE_CONFIG_START( mach64_8514a )
+MACHINE_CONFIG_MEMBER( mach64_device::device_add_mconfig )
MCFG_DEVICE_ADD("8514a", ATIMACH64_8514A, 0)
MCFG_EEPROM_SERIAL_93C56_ADD("ati_eeprom")
MACHINE_CONFIG_END
-machine_config_constructor mach64_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mach64_8514a );
-}
-
void mach64_8514a_device::device_config_complete()
{
m_vga = dynamic_cast<vga_device*>(owner());
diff --git a/src/devices/bus/isa/mach32.h b/src/devices/bus/isa/mach32.h
index f3aba4a911a..db2f8bdc2af 100644
--- a/src/devices/bus/isa/mach32.h
+++ b/src/devices/bus/isa/mach32.h
@@ -129,7 +129,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;
};
/*
@@ -167,7 +167,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;
required_device<mach64_8514a_device> m_8514a; // provides accelerated 2D drawing, derived from the Mach8 device
};
diff --git a/src/devices/bus/isa/mc1502_fdc.cpp b/src/devices/bus/isa/mc1502_fdc.cpp
index b59d2482c13..9ea522fd8f9 100644
--- a/src/devices/bus/isa/mc1502_fdc.cpp
+++ b/src/devices/bus/isa/mc1502_fdc.cpp
@@ -39,14 +39,6 @@ static SLOT_INTERFACE_START( mc1502_floppies )
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( mc1502_fdc )
- MCFG_FD1793_ADD("fdc", XTAL_16MHz / 16)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(mc1502_fdc_device, mc1502_fdc_irq_drq))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(mc1502_fdc_device, mc1502_fdc_irq_drq))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", mc1502_floppies, "525qd", mc1502_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", mc1502_floppies, "525qd", mc1502_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
//-------------------------------------------------
// ROM( mc1502_fdc )
//-------------------------------------------------
@@ -56,14 +48,16 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor mc1502_fdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(mc1502_fdc);
-}
+MACHINE_CONFIG_MEMBER( mc1502_fdc_device::device_add_mconfig )
+ MCFG_FD1793_ADD("fdc", XTAL_16MHz / 16)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(mc1502_fdc_device, mc1502_fdc_irq_drq))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(mc1502_fdc_device, mc1502_fdc_irq_drq))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", mc1502_floppies, "525qd", mc1502_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", mc1502_floppies, "525qd", mc1502_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/mc1502_fdc.h b/src/devices/bus/isa/mc1502_fdc.h
index 0d3b97f326c..972a005b761 100644
--- a/src/devices/bus/isa/mc1502_fdc.h
+++ b/src/devices/bus/isa/mc1502_fdc.h
@@ -27,23 +27,26 @@ public:
// construction/destruction
mc1502_fdc_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 const tiny_rom_entry *device_rom_region() const override;
- DECLARE_FLOPPY_FORMATS(floppy_formats);
TIMER_CALLBACK_MEMBER(motor_callback);
DECLARE_READ8_MEMBER(mc1502_fdc_r);
DECLARE_READ8_MEMBER(mc1502_fdcv2_r);
DECLARE_WRITE8_MEMBER(mc1502_fdc_w);
- DECLARE_WRITE_LINE_MEMBER(mc1502_fdc_irq_drq);
protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
private:
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
+ DECLARE_WRITE_LINE_MEMBER(mc1502_fdc_irq_drq);
+
required_device<fd1793_device> m_fdc;
int motor_on;
emu_timer *motor_timer;
diff --git a/src/devices/bus/isa/mda.cpp b/src/devices/bus/isa/mda.cpp
index 7b7df7c5009..a3978eb9369 100644
--- a/src/devices/bus/isa/mda.cpp
+++ b/src/devices/bus/isa/mda.cpp
@@ -93,7 +93,24 @@ WRITE_LINE_MEMBER(isa8_mda_device::pc_cpu_line)
}
-MACHINE_CONFIG_START( pcvideo_mda )
+ROM_START( mda )
+ /* IBM 1501981(CGA) and 1501985(MDA) Character rom */
+ ROM_REGION(0x08100,"gfx1", 0)
+ ROM_LOAD("5788005.u33", 0x00000, 0x02000, CRC(0bf56d70) SHA1(c2a8b10808bf51a3c123ba3eb1e9dd608231916f)) /* "AMI 8412PI // 5788005 // (C) IBM CORP. 1981 // KOREA" */
+ROM_END
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Display and Printer Adapter")
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_mda_device::device_add_mconfig )
MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( MDA_MC6845_NAME, mc6845_device, screen_update )
@@ -113,29 +130,6 @@ MACHINE_CONFIG_START( pcvideo_mda )
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(isa8_mda_device, pc_cpu_line))
MACHINE_CONFIG_END
-ROM_START( mda )
- /* IBM 1501981(CGA) and 1501985(MDA) Character rom */
- ROM_REGION(0x08100,"gfx1", 0)
- ROM_LOAD("5788005.u33", 0x00000, 0x02000, CRC(0bf56d70) SHA1(c2a8b10808bf51a3c123ba3eb1e9dd608231916f)) /* "AMI 8412PI // 5788005 // (C) IBM CORP. 1981 // KOREA" */
-ROM_END
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Display and Printer Adapter")
-
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_mda_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_mda );
-}
-
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -529,7 +523,22 @@ static GFXDECODE_START( pcherc )
GFXDECODE_ENTRY( "gfx1", 0x0000, pc_16_charlayout, 1, 1 )
GFXDECODE_END
-MACHINE_CONFIG_START( pcvideo_hercules )
+ROM_START( hercules )
+ ROM_REGION(0x1000,"gfx1", 0)
+ ROM_LOAD("um2301.bin", 0x00000, 0x1000, CRC(0827bdac) SHA1(15f1aceeee8b31f0d860ff420643e3c7f29b5ffc))
+ROM_END
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercules Graphics Card")
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_hercules_device::device_add_mconfig )
MCFG_SCREEN_ADD( HERCULES_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( HERCULES_MC6845_NAME, mc6845_device, screen_update )
@@ -549,27 +558,6 @@ MACHINE_CONFIG_START( pcvideo_hercules )
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(isa8_mda_device, pc_cpu_line))
MACHINE_CONFIG_END
-ROM_START( hercules )
- ROM_REGION(0x1000,"gfx1", 0)
- ROM_LOAD("um2301.bin", 0x00000, 0x1000, CRC(0827bdac) SHA1(15f1aceeee8b31f0d860ff420643e3c7f29b5ffc))
-ROM_END
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercules Graphics Card")
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_hercules_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_hercules );
-}
-
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -760,8 +748,15 @@ READ8_MEMBER( isa8_hercules_device::io_read )
return data;
}
+DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC1840.0002 (MDA)")
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
// XXX
-MACHINE_CONFIG_START( pcvideo_ec1840_0002 )
+MACHINE_CONFIG_MEMBER( isa8_ec1840_0002_device::device_add_mconfig )
MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 792, 0, 640, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( MDA_MC6845_NAME, mc6845_device, screen_update )
@@ -776,19 +771,6 @@ MACHINE_CONFIG_START( pcvideo_ec1840_0002 )
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_mda_device, vsync_changed))
MACHINE_CONFIG_END
-DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC1840.0002 (MDA)")
-
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_ec1840_0002_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_ec1840_0002 );
-}
-
//-------------------------------------------------
// isa8_ec1840_0002_device - constructor
//-------------------------------------------------
diff --git a/src/devices/bus/isa/mda.h b/src/devices/bus/isa/mda.h
index effbf2b59e5..f786f22b84b 100644
--- a/src/devices/bus/isa/mda.h
+++ b/src/devices/bus/isa/mda.h
@@ -23,22 +23,15 @@ public:
// construction/destruction
isa8_mda_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 const tiny_rom_entry *device_rom_region() const override;
-
- DECLARE_WRITE_LINE_MEMBER(hsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vsync_changed);
virtual DECLARE_READ8_MEMBER(io_read);
virtual DECLARE_WRITE8_MEMBER(io_write);
virtual DECLARE_READ8_MEMBER(status_r);
virtual DECLARE_WRITE8_MEMBER(mode_control_w);
- WRITE_LINE_MEMBER(pc_cpu_line);
-
+ DECLARE_WRITE_LINE_MEMBER(hsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vsync_changed);
+
virtual MC6845_UPDATE_ROW( crtc_update_row );
- MC6845_UPDATE_ROW( mda_text_inten_update_row );
- MC6845_UPDATE_ROW( mda_text_blink_update_row );
protected:
isa8_mda_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -47,6 +40,16 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+private:
+ WRITE_LINE_MEMBER(pc_cpu_line);
+
+ MC6845_UPDATE_ROW( mda_text_inten_update_row );
+ MC6845_UPDATE_ROW( mda_text_blink_update_row );
+
public:
int m_framecnt;
@@ -73,24 +76,25 @@ class isa8_hercules_device :
public:
// construction/destruction
isa8_hercules_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 const tiny_rom_entry *device_rom_region() const override;
virtual DECLARE_READ8_MEMBER(io_read) override;
virtual DECLARE_WRITE8_MEMBER(io_write) override;
virtual DECLARE_READ8_MEMBER(status_r) override;
virtual DECLARE_WRITE8_MEMBER(mode_control_w) override;
- virtual MC6845_UPDATE_ROW( crtc_update_row ) override;
- MC6845_UPDATE_ROW( hercules_gfx_update_row );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-public:
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+private:
+ virtual MC6845_UPDATE_ROW( crtc_update_row ) override;
+ MC6845_UPDATE_ROW( hercules_gfx_update_row );
+
uint8_t m_configuration_switch; //hercules
};
@@ -106,23 +110,23 @@ class isa8_ec1840_0002_device :
public:
// construction/destruction
isa8_ec1840_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+private:
virtual DECLARE_WRITE8_MEMBER(mode_control_w) override;
virtual MC6845_UPDATE_ROW( crtc_update_row ) override;
MC6845_UPDATE_ROW( mda_lowres_text_inten_update_row );
MC6845_UPDATE_ROW( mda_lowres_text_blink_update_row );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-public:
std::unique_ptr<uint8_t[]> m_soft_chr_gen;
-
};
// device type definition
diff --git a/src/devices/bus/isa/mpu401.cpp b/src/devices/bus/isa/mpu401.cpp
index 77e5540a6c5..84757bbb6cf 100644
--- a/src/devices/bus/isa/mpu401.cpp
+++ b/src/devices/bus/isa/mpu401.cpp
@@ -15,9 +15,6 @@
#define MPU_CORE_TAG "mpu401"
-MACHINE_CONFIG_START( isa8mpu401 )
- MCFG_MPU401_ADD(MPU_CORE_TAG, WRITELINE(isa8_mpu401_device, mpu_irq_out))
-MACHINE_CONFIG_END
/*
DIP-SWs
@@ -48,14 +45,12 @@ WRITE_LINE_MEMBER( isa8_mpu401_device::mpu_irq_out )
DEFINE_DEVICE_TYPE(ISA8_MPU401, isa8_mpu401_device, "isa_mpu401", "Roland MPU-401 MIDI Interface (ISA)")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_mpu401_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( isa8mpu401 );
-}
+MACHINE_CONFIG_MEMBER( isa8_mpu401_device::device_add_mconfig )
+ MCFG_MPU401_ADD(MPU_CORE_TAG, WRITELINE(isa8_mpu401_device, mpu_irq_out))
+MACHINE_CONFIG_END
//**************************************************************************
diff --git a/src/devices/bus/isa/mpu401.h b/src/devices/bus/isa/mpu401.h
index 2daabbac9e7..89974be7b84 100644
--- a/src/devices/bus/isa/mpu401.h
+++ b/src/devices/bus/isa/mpu401.h
@@ -22,15 +22,17 @@ public:
// construction/destruction
isa8_mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // called back by the MPU401 core to set the IRQ line state
- DECLARE_WRITE_LINE_MEMBER(mpu_irq_out);
-
- // optional information overrides
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ // called back by the MPU401 core to set the IRQ line state
+ DECLARE_WRITE_LINE_MEMBER(mpu_irq_out);
required_device<mpu401_device> m_mpu401;
};
diff --git a/src/devices/bus/isa/mufdc.cpp b/src/devices/bus/isa/mufdc.cpp
index e3313982327..b77c63d51a0 100644
--- a/src/devices/bus/isa/mufdc.cpp
+++ b/src/devices/bus/isa/mufdc.cpp
@@ -28,11 +28,6 @@
DEFINE_DEVICE_TYPE(ISA8_FDC344, fdc344_device, "fdc344", "Ably-Tech FDC-344")
DEFINE_DEVICE_TYPE(ISA8_FDCMAG, fdcmag_device, "fdcmag", "Magitronic Multi Floppy Controller Card")
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
FLOPPY_FORMATS_MEMBER( mufdc_device::floppy_formats )
FLOPPY_PC_FORMAT,
FLOPPY_NASLITE_FORMAT
@@ -45,7 +40,11 @@ static SLOT_INTERFACE_START( drives )
SLOT_INTERFACE("35dd", FLOPPY_35_DD)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( mufdc_device )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( mufdc_device::device_add_mconfig )
MCFG_MCS3201_ADD("fdc")
MCFG_MCS3201_INPUT_HANDLER(READ8(mufdc_device, fdc_input_r))
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(mufdc_device, fdc_irq_w))
@@ -56,11 +55,6 @@ static MACHINE_CONFIG_START( mufdc_device )
MCFG_FLOPPY_DRIVE_ADD("fdc:3", drives, nullptr, mufdc_device::floppy_formats)
MACHINE_CONFIG_END
-machine_config_constructor mufdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mufdc_device );
-}
-
//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
diff --git a/src/devices/bus/isa/mufdc.h b/src/devices/bus/isa/mufdc.h
index 3f62b9862ed..4d042a58834 100644
--- a/src/devices/bus/isa/mufdc.h
+++ b/src/devices/bus/isa/mufdc.h
@@ -32,17 +32,6 @@
class mufdc_device : public device_t, public device_isa8_card_interface
{
-public:
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
- DECLARE_READ8_MEMBER( fdc_input_r );
- DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
-
protected:
// construction/destruction
mufdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -51,12 +40,22 @@ protected:
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;
+
// device_isa8_card_interface
virtual uint8_t dack_r(int line) override;
virtual void dack_w(int line, uint8_t data) override;
virtual void eop_w(int state) override;
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
+ DECLARE_READ8_MEMBER( fdc_input_r );
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
+
required_device<pc_fdc_interface> m_fdc;
required_ioport m_config;
};
diff --git a/src/devices/bus/isa/ne1000.cpp b/src/devices/bus/isa/ne1000.cpp
index 1657b2f0c77..5041e091a1a 100644
--- a/src/devices/bus/isa/ne1000.cpp
+++ b/src/devices/bus/isa/ne1000.cpp
@@ -3,19 +3,16 @@
#include "emu.h"
#include "ne1000.h"
-static MACHINE_CONFIG_START(ne1000_config)
+
+DEFINE_DEVICE_TYPE(NE1000, ne1000_device, "ne1000", "NE1000 Network Adapter")
+
+MACHINE_CONFIG_MEMBER(ne1000_device::device_add_mconfig)
MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
MCFG_DP8390D_IRQ_CB(WRITELINE(ne1000_device, ne1000_irq_w))
MCFG_DP8390D_MEM_READ_CB(READ8(ne1000_device, ne1000_mem_read))
MCFG_DP8390D_MEM_WRITE_CB(WRITE8(ne1000_device, ne1000_mem_write))
MACHINE_CONFIG_END
-DEFINE_DEVICE_TYPE(NE1000, ne1000_device, "ne1000", "NE1000 Network Adapter")
-
-machine_config_constructor ne1000_device::device_mconfig_additions() const {
- return MACHINE_CONFIG_NAME(ne1000_config);
-}
-
ne1000_device::ne1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, NE1000, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
diff --git a/src/devices/bus/isa/ne1000.h b/src/devices/bus/isa/ne1000.h
index 5277b4d61c5..a59e24374ed 100644
--- a/src/devices/bus/isa/ne1000.h
+++ b/src/devices/bus/isa/ne1000.h
@@ -15,18 +15,22 @@ class ne1000_device: public device_t,
{
public:
ne1000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
- void ne1000_irq_w(int state);
- DECLARE_READ8_MEMBER(ne1000_mem_read);
- DECLARE_WRITE8_MEMBER(ne1000_mem_write);
DECLARE_READ8_MEMBER(ne1000_port_r);
DECLARE_WRITE8_MEMBER(ne1000_port_w);
+
protected:
virtual void device_start() override;
virtual void device_reset() override;
+
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
+ void ne1000_irq_w(int state);
+ DECLARE_READ8_MEMBER(ne1000_mem_read);
+ DECLARE_WRITE8_MEMBER(ne1000_mem_write);
+
required_device<dp8390d_device> m_dp8390;
uint8_t m_irq;
uint8_t m_board_ram[8*1024];
diff --git a/src/devices/bus/isa/ne2000.cpp b/src/devices/bus/isa/ne2000.cpp
index a6086b4b77a..19bc8f015de 100644
--- a/src/devices/bus/isa/ne2000.cpp
+++ b/src/devices/bus/isa/ne2000.cpp
@@ -4,19 +4,15 @@
#include "ne2000.h"
-static MACHINE_CONFIG_START(ne2000_config)
+DEFINE_DEVICE_TYPE(NE2000, ne2000_device, "ne2000", "NE2000 Network Adapter")
+
+MACHINE_CONFIG_MEMBER(ne2000_device::device_add_mconfig)
MCFG_DEVICE_ADD("dp8390d", DP8390D, 0)
MCFG_DP8390D_IRQ_CB(WRITELINE(ne2000_device, ne2000_irq_w))
MCFG_DP8390D_MEM_READ_CB(READ8(ne2000_device, ne2000_mem_read))
MCFG_DP8390D_MEM_WRITE_CB(WRITE8(ne2000_device, ne2000_mem_write))
MACHINE_CONFIG_END
-DEFINE_DEVICE_TYPE(NE2000, ne2000_device, "ne2000", "NE2000 Network Adapter")
-
-machine_config_constructor ne2000_device::device_mconfig_additions() const {
- return MACHINE_CONFIG_NAME(ne2000_config);
-}
-
ne2000_device::ne2000_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock)
: device_t(mconfig, NE2000, tag, owner, clock),
device_isa16_card_interface(mconfig, *this),
diff --git a/src/devices/bus/isa/ne2000.h b/src/devices/bus/isa/ne2000.h
index 27f3688d1b5..868d78b35a6 100644
--- a/src/devices/bus/isa/ne2000.h
+++ b/src/devices/bus/isa/ne2000.h
@@ -13,18 +13,22 @@ class ne2000_device: public device_t,
{
public:
ne2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
- void ne2000_irq_w(int state);
- DECLARE_READ8_MEMBER(ne2000_mem_read);
- DECLARE_WRITE8_MEMBER(ne2000_mem_write);
DECLARE_READ16_MEMBER(ne2000_port_r);
DECLARE_WRITE16_MEMBER(ne2000_port_w);
+
protected:
virtual void device_start() override;
virtual void device_reset() override;
+
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
+ void ne2000_irq_w(int state);
+ DECLARE_READ8_MEMBER(ne2000_mem_read);
+ DECLARE_WRITE8_MEMBER(ne2000_mem_write);
+
required_device<dp8390d_device> m_dp8390;
uint8_t m_irq;
uint8_t m_board_ram[16*1024];
diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp
index 022cb911f5f..61176c4a7ec 100644
--- a/src/devices/bus/isa/num9rev.cpp
+++ b/src/devices/bus/isa/num9rev.cpp
@@ -47,7 +47,12 @@ UPD7220_DISPLAY_PIXELS_MEMBER( isa8_number_9_rev_device::hgdc_display_pixels )
}
}
-static MACHINE_CONFIG_START( num_9_rev )
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_number_9_rev_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(512, 448)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 448-1)
@@ -61,16 +66,6 @@ static MACHINE_CONFIG_START( num_9_rev )
MCFG_VIDEO_SET_SCREEN("screen")
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_number_9_rev_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( num_9_rev );
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/isa/num9rev.h b/src/devices/bus/isa/num9rev.h
index 805ee13d449..0686c3e4cc4 100644
--- a/src/devices/bus/isa/num9rev.h
+++ b/src/devices/bus/isa/num9rev.h
@@ -16,44 +16,47 @@
// ======================> isa16_vga_device
class isa8_number_9_rev_device :
- public device_t,
- public device_isa8_card_interface
+ public device_t,
+ public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_number_9_rev_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;
-
- UPD7220_DISPLAY_PIXELS_MEMBER(hgdc_display_pixels);
- DECLARE_READ8_MEMBER(pal8_r);
- DECLARE_WRITE8_MEMBER(pal8_w);
- DECLARE_READ8_MEMBER(pal12_r);
- DECLARE_WRITE8_MEMBER(pal12_w);
- DECLARE_READ8_MEMBER(overlay_r);
- DECLARE_WRITE8_MEMBER(overlay_w);
- DECLARE_READ8_MEMBER(bank_r);
- DECLARE_WRITE8_MEMBER(bank_w);
- DECLARE_READ8_MEMBER(ctrl_r);
- DECLARE_WRITE8_MEMBER(ctrl_w);
- DECLARE_READ8_MEMBER(read8);
- DECLARE_WRITE8_MEMBER(write8);
-
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ // construction/destruction
+ isa8_number_9_rev_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ DECLARE_READ8_MEMBER(pal8_r);
+ DECLARE_WRITE8_MEMBER(pal8_w);
+ DECLARE_READ8_MEMBER(pal12_r);
+ DECLARE_WRITE8_MEMBER(pal12_w);
+ DECLARE_READ8_MEMBER(overlay_r);
+ DECLARE_WRITE8_MEMBER(overlay_w);
+ DECLARE_READ8_MEMBER(bank_r);
+ DECLARE_WRITE8_MEMBER(bank_w);
+ DECLARE_READ8_MEMBER(ctrl_r);
+ DECLARE_WRITE8_MEMBER(ctrl_w);
+ DECLARE_READ8_MEMBER(read8);
+ DECLARE_WRITE8_MEMBER(write8);
+
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // 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:
- required_device<upd7220_device> m_upd7220;
- required_device<palette_device> m_palette;
- std::vector<uint8_t> m_ram;
- std::vector<uint8_t> m_overlay;
-
- uint8_t m_bank;
- uint8_t m_mode;
- bool m_1024;
+ UPD7220_DISPLAY_PIXELS_MEMBER(hgdc_display_pixels);
+
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ required_device<upd7220_device> m_upd7220;
+ required_device<palette_device> m_palette;
+ std::vector<uint8_t> m_ram;
+ std::vector<uint8_t> m_overlay;
+
+ uint8_t m_bank;
+ uint8_t m_mode;
+ bool m_1024;
};
// device type definition
diff --git a/src/devices/bus/isa/omti8621.cpp b/src/devices/bus/isa/omti8621.cpp
index d288882eb6e..ddffb43575e 100644
--- a/src/devices/bus/isa/omti8621.cpp
+++ b/src/devices/bus/isa/omti8621.cpp
@@ -212,18 +212,6 @@ static SLOT_INTERFACE_START( pc_hd_floppies )
SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
SLOT_INTERFACE_END
-MACHINE_CONFIG_START( omti_disk )
- MCFG_DEVICE_ADD(OMTI_DISK0_TAG, OMTI_DISK, 0)
- MCFG_DEVICE_ADD(OMTI_DISK1_TAG, OMTI_DISK, 0)
-
- MCFG_PC_FDC_AT_ADD(OMTI_FDC_TAG)
- MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(omti8621_device, fdc_irq_w))
- MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(omti8621_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":0", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
-// Apollo workstations never have more then 1 floppy drive
-// MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":1", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
-MACHINE_CONFIG_END
-
FLOPPY_FORMATS_MEMBER( omti8621_device::floppy_formats )
FLOPPY_APOLLO_FORMAT,
FLOPPY_PC_FORMAT,
@@ -264,10 +252,17 @@ static INPUT_PORTS_START( omti_port )
PORT_DIPSETTING( 0x01, "CA000h" )
INPUT_PORTS_END
-machine_config_constructor omti8621_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( omti_disk );
-}
+MACHINE_CONFIG_MEMBER( omti8621_device::device_add_mconfig )
+ MCFG_DEVICE_ADD(OMTI_DISK0_TAG, OMTI_DISK, 0)
+ MCFG_DEVICE_ADD(OMTI_DISK1_TAG, OMTI_DISK, 0)
+
+ MCFG_PC_FDC_AT_ADD(OMTI_FDC_TAG)
+ MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(omti8621_device, fdc_irq_w))
+ MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(omti8621_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":0", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
+// Apollo workstations never have more then 1 floppy drive
+// MCFG_FLOPPY_DRIVE_ADD(OMTI_FDC_TAG":1", pc_hd_floppies, "525hd", omti8621_device::floppy_formats)
+MACHINE_CONFIG_END
const tiny_rom_entry *omti8621_device::device_rom_region() const
{
diff --git a/src/devices/bus/isa/omti8621.h b/src/devices/bus/isa/omti8621.h
index 66f5ad64b73..33411ef0da5 100644
--- a/src/devices/bus/isa/omti8621.h
+++ b/src/devices/bus/isa/omti8621.h
@@ -34,10 +34,6 @@ public:
static void set_verbose(int on_off);
- DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
static constexpr unsigned OMTI_MAX_LUN = 1;
static constexpr unsigned CDB_SIZE = 10;
@@ -54,7 +50,7 @@ protected:
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const 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 ioport_constructor device_input_ports() const override;
virtual uint8_t dack_r(int line) override;
@@ -70,6 +66,10 @@ protected:
omti_disk_image_device *our_disks[OMTI_MAX_LUN+1];
private:
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
uint16_t jumper;
uint8_t omti_state;
diff --git a/src/devices/bus/isa/p1_fdc.cpp b/src/devices/bus/isa/p1_fdc.cpp
index 166c9f32dfc..53690881366 100644
--- a/src/devices/bus/isa/p1_fdc.cpp
+++ b/src/devices/bus/isa/p1_fdc.cpp
@@ -39,14 +39,6 @@ static SLOT_INTERFACE_START( poisk1_floppies )
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( fdc_b504 )
- MCFG_FD1793_ADD("fdc", XTAL_16MHz / 16)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(p1_fdc_device, p1_fdc_irq_drq))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(p1_fdc_device, p1_fdc_irq_drq))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", poisk1_floppies, "525qd", p1_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", poisk1_floppies, "525qd", p1_fdc_device::floppy_formats)
-MACHINE_CONFIG_END
-
//-------------------------------------------------
// ROM( p1_fdc )
//-------------------------------------------------
@@ -66,14 +58,16 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor p1_fdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(fdc_b504);
-}
+MACHINE_CONFIG_MEMBER( p1_fdc_device::device_add_mconfig )
+ MCFG_FD1793_ADD("fdc", XTAL_16MHz / 16)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(p1_fdc_device, p1_fdc_irq_drq))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(p1_fdc_device, p1_fdc_irq_drq))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", poisk1_floppies, "525qd", p1_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", poisk1_floppies, "525qd", p1_fdc_device::floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/p1_fdc.h b/src/devices/bus/isa/p1_fdc.h
index 81d17bb4bf5..2670f47c250 100644
--- a/src/devices/bus/isa/p1_fdc.h
+++ b/src/devices/bus/isa/p1_fdc.h
@@ -27,21 +27,23 @@ public:
// construction/destruction
p1_fdc_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 const tiny_rom_entry *device_rom_region() const override;
-
- DECLARE_FLOPPY_FORMATS(floppy_formats);
DECLARE_READ8_MEMBER(p1_fdc_r);
DECLARE_WRITE8_MEMBER(p1_fdc_w);
- DECLARE_WRITE_LINE_MEMBER(p1_fdc_irq_drq);
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
+ DECLARE_WRITE_LINE_MEMBER(p1_fdc_irq_drq);
+
required_device<fd1793_device> m_fdc;
public:
diff --git a/src/devices/bus/isa/p1_hdc.cpp b/src/devices/bus/isa/p1_hdc.cpp
index e638e044fc9..3656f1846d8 100644
--- a/src/devices/bus/isa/p1_hdc.cpp
+++ b/src/devices/bus/isa/p1_hdc.cpp
@@ -35,18 +35,6 @@
DEFINE_DEVICE_TYPE(P1_HDC, p1_hdc_device, "p1_hdc", "Poisk-1 MFM disk B942")
-static MACHINE_CONFIG_START( hdc_b942 )
- MCFG_DEVICE_ADD(KM1809VG7_TAG, WD2010, 5000000) // XXX clock?
- MCFG_WD2010_IN_DRDY_CB(VCC)
- MCFG_WD2010_IN_INDEX_CB(VCC)
- MCFG_WD2010_IN_WF_CB(VCC)
- MCFG_WD2010_IN_TK000_CB(VCC)
- MCFG_WD2010_IN_SC_CB(VCC)
-
- MCFG_HARDDISK_ADD("hard0")
- MCFG_HARDDISK_ADD("hard1")
-MACHINE_CONFIG_END
-
//-------------------------------------------------
// ROM( p1_hdc )
@@ -67,14 +55,20 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor p1_hdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(hdc_b942);
-}
+MACHINE_CONFIG_MEMBER( p1_hdc_device::device_add_mconfig )
+ MCFG_DEVICE_ADD(KM1809VG7_TAG, WD2010, 5000000) // XXX clock?
+ MCFG_WD2010_IN_DRDY_CB(VCC)
+ MCFG_WD2010_IN_INDEX_CB(VCC)
+ MCFG_WD2010_IN_WF_CB(VCC)
+ MCFG_WD2010_IN_TK000_CB(VCC)
+ MCFG_WD2010_IN_SC_CB(VCC)
+
+ MCFG_HARDDISK_ADD("hard0")
+ MCFG_HARDDISK_ADD("hard1")
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/isa/p1_hdc.h b/src/devices/bus/isa/p1_hdc.h
index 071cbcded95..65fbb801886 100644
--- a/src/devices/bus/isa/p1_hdc.h
+++ b/src/devices/bus/isa/p1_hdc.h
@@ -27,15 +27,15 @@ public:
// construction/destruction
p1_hdc_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 const tiny_rom_entry *device_rom_region() const override;
-
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
required_device<wd2010_device> m_hdc;
diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp
index e639be97ac2..629926f657a 100644
--- a/src/devices/bus/isa/p1_sound.cpp
+++ b/src/devices/bus/isa/p1_sound.cpp
@@ -26,10 +26,10 @@ DEFINE_DEVICE_TYPE(P1_SOUND, p1_sound_device, "p1_sound", "Poisk-1 sound card (B
//-------------------------------------------------
-// Machine config
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( p1_sound )
+MACHINE_CONFIG_MEMBER( p1_sound_device::device_add_mconfig )
MCFG_DEVICE_ADD("midi", I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_I8251_RXRDY_HANDLER(DEVWRITELINE(":isa", isa8_device, irq3_w))
@@ -73,17 +73,6 @@ static MACHINE_CONFIG_START( p1_sound )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor p1_sound_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(p1_sound);
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/isa/p1_sound.h b/src/devices/bus/isa/p1_sound.h
index aee52304b99..e0d105300ba 100644
--- a/src/devices/bus/isa/p1_sound.h
+++ b/src/devices/bus/isa/p1_sound.h
@@ -33,9 +33,6 @@ public:
// construction/destruction
p1_sound_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;
-
DECLARE_READ8_MEMBER(d14_r);
DECLARE_READ8_MEMBER(d16_r);
DECLARE_READ8_MEMBER(d17_r);
@@ -43,7 +40,6 @@ public:
DECLARE_WRITE8_MEMBER(d16_w);
DECLARE_WRITE8_MEMBER(d17_w);
- DECLARE_WRITE_LINE_MEMBER(sampler_sync);
DECLARE_READ8_MEMBER(adc_r);
DECLARE_WRITE8_MEMBER(dac_w);
@@ -52,7 +48,12 @@ protected:
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(sampler_sync);
+
uint8_t m_dac_data[16];
int m_dac_ptr;
diff --git a/src/devices/bus/isa/pds.cpp b/src/devices/bus/isa/pds.cpp
index ec0b7f00c8c..c86ab0d7c48 100644
--- a/src/devices/bus/isa/pds.cpp
+++ b/src/devices/bus/isa/pds.cpp
@@ -56,11 +56,6 @@ void isa8_pds_device::device_stop()
{
}
-static MACHINE_CONFIG_START( pds_config )
+MACHINE_CONFIG_MEMBER( isa8_pds_device::device_add_mconfig )
MCFG_DEVICE_ADD("pds_ppi", I8255, 0)
MACHINE_CONFIG_END
-
-machine_config_constructor isa8_pds_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pds_config );
-}
diff --git a/src/devices/bus/isa/pds.h b/src/devices/bus/isa/pds.h
index 7b92f10350b..5e8bf16bb88 100644
--- a/src/devices/bus/isa/pds.h
+++ b/src/devices/bus/isa/pds.h
@@ -22,14 +22,15 @@ public:
DECLARE_READ8_MEMBER(ppi_r);
DECLARE_WRITE8_MEMBER(ppi_w);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_stop() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
required_device<i8255_device> m_ppi;
};
diff --git a/src/devices/bus/isa/pgc.cpp b/src/devices/bus/isa/pgc.cpp
index f4a776a16c0..c0126190ca7 100644
--- a/src/devices/bus/isa/pgc.cpp
+++ b/src/devices/bus/isa/pgc.cpp
@@ -138,7 +138,19 @@ static GFXDECODE_START( pgc )
GFXDECODE_REVERSEBITS("chargen", 0, pgc_charlayout, 0, 1)
GFXDECODE_END
-MACHINE_CONFIG_START( pcvideo_pgc )
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional Graphics Controller")
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_pgc_device::device_add_mconfig )
MCFG_CPU_ADD("maincpu", I8088, XTAL_24MHz/3)
MCFG_CPU_PROGRAM_MAP(pgc_map)
MCFG_CPU_IO_MAP(pgc_io)
@@ -162,23 +174,6 @@ MACHINE_CONFIG_START( pcvideo_pgc )
MCFG_PALETTE_ADD( "palette", 256 )
MACHINE_CONFIG_END
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional Graphics Controller")
-
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_pgc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_pgc );
-}
-
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/isa/pgc.h b/src/devices/bus/isa/pgc.h
index 546c1d24f5a..fc82c094cf6 100644
--- a/src/devices/bus/isa/pgc.h
+++ b/src/devices/bus/isa/pgc.h
@@ -24,17 +24,6 @@ public:
// construction/destruction
isa8_pgc_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 const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
-
- TIMER_DEVICE_CALLBACK_MEMBER( scanline_callback );
- INTERRUPT_GEN_MEMBER(vblank_irq);
- IRQ_CALLBACK_MEMBER(irq_callback);
-
DECLARE_WRITE8_MEMBER( stateparam_w );
DECLARE_READ8_MEMBER( stateparam_r );
DECLARE_WRITE8_MEMBER( lut_w );
@@ -49,7 +38,19 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ TIMER_DEVICE_CALLBACK_MEMBER( scanline_callback );
+
+ INTERRUPT_GEN_MEMBER(vblank_irq);
+ IRQ_CALLBACK_MEMBER(irq_callback);
+
required_device<i8088_cpu_device> m_cpu;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp
index 2a6270469a7..49853e6c5ba 100644
--- a/src/devices/bus/isa/sb16.cpp
+++ b/src/devices/bus/isa/sb16.cpp
@@ -405,7 +405,12 @@ static ADDRESS_MAP_START(sb16_io, AS_IO, 8, sb16_lle_device)
AM_RANGE(MCS51_PORT_P2, MCS51_PORT_P2) AM_READWRITE(p2_r, p2_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( sb16 )
+const tiny_rom_entry *sb16_lle_device::device_rom_region() const
+{
+ return ROM_NAME( sb16 );
+}
+
+MACHINE_CONFIG_MEMBER( sb16_lle_device::device_add_mconfig )
MCFG_CPU_ADD("sb16_cpu", I80C52, XTAL_24MHz)
MCFG_CPU_IO_MAP(sb16_io)
@@ -422,16 +427,6 @@ static MACHINE_CONFIG_START( sb16 )
MCFG_PC_JOY_ADD("pc_joy")
MACHINE_CONFIG_END
-const tiny_rom_entry *sb16_lle_device::device_rom_region() const
-{
- return ROM_NAME( sb16 );
-}
-
-machine_config_constructor sb16_lle_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sb16 );
-}
-
READ8_MEMBER( sb16_lle_device::host_data_r )
{
m_data_out = false;
diff --git a/src/devices/bus/isa/sb16.h b/src/devices/bus/isa/sb16.h
index 8f02531ae55..3ea6d54e45d 100644
--- a/src/devices/bus/isa/sb16.h
+++ b/src/devices/bus/isa/sb16.h
@@ -22,10 +22,6 @@ public:
// construction/destruction
sb16_lle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
READ8_MEMBER( mpu401_r );
WRITE8_MEMBER( mpu401_w );
@@ -78,6 +74,11 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
uint8_t dack_r(int line) override;
void dack_w(int line, uint8_t data) override;
uint16_t dack16_r(int line) override;
diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp
index 24a54405685..69e10819602 100644
--- a/src/devices/bus/isa/sblaster.cpp
+++ b/src/devices/bus/isa/sblaster.cpp
@@ -78,72 +78,6 @@ static const int m_cmd_fifo_length[256] =
static const int protection_magic[4] = { 0x96, 0xa5, 0x69, 0x5a };
-static MACHINE_CONFIG_START( sblaster1_0_config )
- MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 3.00)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 3.00)
- MCFG_SAA1099_ADD("saa1099.1", 7159090)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
- MCFG_SAA1099_ADD("saa1099.2", 7159090)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
-
- MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
- MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
-
- MCFG_PC_JOY_ADD("pc_joy")
- MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
-
- MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( sblaster1_5_config )
- MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
- /* no CM/S support (empty sockets) */
-
- MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
- MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
-
- MCFG_PC_JOY_ADD("pc_joy")
- MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
-
- MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( sblaster_16_config )
- MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("ymf262", YMF262, ymf262_StdClock)
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
- MCFG_SOUND_ROUTE(2, "lspeaker", 1.00)
- MCFG_SOUND_ROUTE(3, "rspeaker", 1.00)
-
- MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
- MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
-
- MCFG_PC_JOY_ADD("pc_joy")
- MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
-
- MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
-MACHINE_CONFIG_END
-
READ8_MEMBER( sb8_device::ym3812_16_r )
{
uint8_t retVal = 0xff;
@@ -1203,24 +1137,74 @@ DEFINE_DEVICE_TYPE(ISA8_SOUND_BLASTER_1_5, isa8_sblaster1_5_device, "isa_sblaste
DEFINE_DEVICE_TYPE(ISA16_SOUND_BLASTER_16, isa16_sblaster16_device, "isa_sblaster_16", "Sound Blaster 16")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_sblaster1_0_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sblaster1_0_config );
-}
+MACHINE_CONFIG_MEMBER( isa8_sblaster1_0_device::device_add_mconfig )
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+ MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 3.00)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 3.00)
+ MCFG_SAA1099_ADD("saa1099.1", 7159090)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
+ MCFG_SAA1099_ADD("saa1099.2", 7159090)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
-machine_config_constructor isa8_sblaster1_5_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sblaster1_5_config );
-}
+ MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
+ MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
-machine_config_constructor isa16_sblaster16_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sblaster_16_config );
-}
+ MCFG_PC_JOY_ADD("pc_joy")
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
+
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_MEMBER( isa8_sblaster1_5_device::device_add_mconfig )
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+ MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
+ /* no CM/S support (empty sockets) */
+
+ MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
+ MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+
+ MCFG_PC_JOY_ADD("pc_joy")
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
+
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_MEMBER( isa16_sblaster16_device::device_add_mconfig )
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+ MCFG_SOUND_ADD("ymf262", YMF262, ymf262_StdClock)
+ MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
+ MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
+ MCFG_SOUND_ROUTE(2, "lspeaker", 1.00)
+ MCFG_SOUND_ROUTE(3, "rspeaker", 1.00)
+
+ MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
+ MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+
+ MCFG_PC_JOY_ADD("pc_joy")
+ MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
+
+ MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout")
+MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isa/sblaster.h b/src/devices/bus/isa/sblaster.h
index 8411a35acac..c6c3a6f6f17 100644
--- a/src/devices/bus/isa/sblaster.h
+++ b/src/devices/bus/isa/sblaster.h
@@ -169,15 +169,17 @@ public:
// construction/destruction
isa8_sblaster1_0_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;
-
DECLARE_READ8_MEMBER(saa1099_16_r);
DECLARE_WRITE8_MEMBER(saa1099_1_16_w);
DECLARE_WRITE8_MEMBER(saa1099_2_16_w);
+
protected:
// device-level overrides
virtual void device_start() override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
// internal state
required_device<saa1099_device> m_saa1099_1;
@@ -190,11 +192,12 @@ public:
// construction/destruction
isa8_sblaster1_5_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;
protected:
// device-level overrides
virtual void device_start() override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
};
class sb16_device : public sb_device,
@@ -230,11 +233,12 @@ public:
// construction/destruction
isa16_sblaster16_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;
protected:
// device-level overrides
virtual void device_start() override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
};
// device type definition
diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp
index 7fd3abb0db9..c7ccabf1802 100644
--- a/src/devices/bus/isa/sc499.cpp
+++ b/src/devices/bus/isa/sc499.cpp
@@ -177,14 +177,10 @@ static INPUT_PORTS_START( sc499_port )
INPUT_PORTS_END
-MACHINE_CONFIG_START( sc499_ctape )
+MACHINE_CONFIG_MEMBER( sc499_device::device_add_mconfig )
MCFG_DEVICE_ADD(SC499_CTAPE_TAG, SC499_CTAPE, 0)
MACHINE_CONFIG_END
-machine_config_constructor sc499_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sc499_ctape );
-}
//**************************************************************************
// DEVICE DEFINITIONS
diff --git a/src/devices/bus/isa/sc499.h b/src/devices/bus/isa/sc499.h
index 4f3bd24ab64..0daf242eb83 100644
--- a/src/devices/bus/isa/sc499.h
+++ b/src/devices/bus/isa/sc499.h
@@ -74,7 +74,7 @@ private:
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 machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
// ISA overrides
diff --git a/src/devices/bus/isa/side116.cpp b/src/devices/bus/isa/side116.cpp
index a83c7200c28..778adc66e8f 100644
--- a/src/devices/bus/isa/side116.cpp
+++ b/src/devices/bus/isa/side116.cpp
@@ -19,19 +19,14 @@
DEFINE_DEVICE_TYPE(ISA8_SIDE116, side116_device, "side116", "Acculogic sIDE-1/16 IDE Disk Controller")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( side116 )
+MACHINE_CONFIG_MEMBER( side116_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(side116_device, ide_interrupt))
MACHINE_CONFIG_END
-machine_config_constructor side116_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( side116 );
-}
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/isa/side116.h b/src/devices/bus/isa/side116.h
index 00095bf6279..ac49b3efead 100644
--- a/src/devices/bus/isa/side116.h
+++ b/src/devices/bus/isa/side116.h
@@ -29,21 +29,22 @@ public:
// construction/destruction
side116_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;
-
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
- DECLARE_WRITE_LINE_MEMBER( ide_interrupt );
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( ide_interrupt );
+
required_device<ata_interface_device> m_ata;
required_ioport m_config;
uint8_t m_latch;
diff --git a/src/devices/bus/isa/ssi2001.cpp b/src/devices/bus/isa/ssi2001.cpp
index 5009705ea6e..b6983656f9a 100644
--- a/src/devices/bus/isa/ssi2001.cpp
+++ b/src/devices/bus/isa/ssi2001.cpp
@@ -10,18 +10,13 @@
DEFINE_DEVICE_TYPE(ISA8_SSI2001, ssi2001_device, "ssi2001", "Innovation SSI-2001 Audio Adapter")
-static MACHINE_CONFIG_START( ssi2001 )
+MACHINE_CONFIG_MEMBER( ssi2001_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sid6581", MOS6581, XTAL_14_31818MHz/16)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_PC_JOY_ADD("pc_joy")
MACHINE_CONFIG_END
-machine_config_constructor ssi2001_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( ssi2001 );
-}
-
ssi2001_device::ssi2001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ISA8_SSI2001, tag, owner, clock),
device_isa8_card_interface(mconfig, *this),
diff --git a/src/devices/bus/isa/ssi2001.h b/src/devices/bus/isa/ssi2001.h
index 3facf845c03..85efa17c5ac 100644
--- a/src/devices/bus/isa/ssi2001.h
+++ b/src/devices/bus/isa/ssi2001.h
@@ -22,14 +22,14 @@ public:
// construction/destruction
ssi2001_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;
-
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;
+
required_device<pc_joy_device> m_joy;
required_device<mos6581_device> m_sid;
};
diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp
index 4a485a4fba4..da29bbe2eb0 100644
--- a/src/devices/bus/isa/stereo_fx.cpp
+++ b/src/devices/bus/isa/stereo_fx.cpp
@@ -109,7 +109,12 @@ static ADDRESS_MAP_START(stereo_fx_rom, AS_PROGRAM, 8, stereo_fx_device)
AM_RANGE(0x0000, 0x7fff) AM_ROM
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( stereo_fx )
+const tiny_rom_entry *stereo_fx_device::device_rom_region() const
+{
+ return ROM_NAME( stereo_fx );
+}
+
+MACHINE_CONFIG_MEMBER( stereo_fx_device::device_add_mconfig )
MCFG_CPU_ADD("stereo_fx_cpu", I80C31, XTAL_30MHz)
MCFG_CPU_IO_MAP(stereo_fx_io)
MCFG_CPU_PROGRAM_MAP(stereo_fx_rom)
@@ -129,16 +134,6 @@ static MACHINE_CONFIG_START( stereo_fx )
MCFG_PC_JOY_ADD("pc_joy")
MACHINE_CONFIG_END
-const tiny_rom_entry *stereo_fx_device::device_rom_region() const
-{
- return ROM_NAME( stereo_fx );
-}
-
-machine_config_constructor stereo_fx_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( stereo_fx );
-}
-
READ8_MEMBER( stereo_fx_device::dsp_data_r )
{
m_data_out = false;
diff --git a/src/devices/bus/isa/stereo_fx.h b/src/devices/bus/isa/stereo_fx.h
index 738841e9178..a3552dc5780 100644
--- a/src/devices/bus/isa/stereo_fx.h
+++ b/src/devices/bus/isa/stereo_fx.h
@@ -23,10 +23,6 @@ public:
// construction/destruction
stereo_fx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
// mcu ports
DECLARE_READ8_MEMBER( dev_dsp_data_r );
DECLARE_WRITE8_MEMBER( dev_dsp_data_w );
@@ -53,6 +49,11 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
uint8_t dack_r(int line) override;
void dack_w(int line, uint8_t data) override;
diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp
index 24eaa48d084..f1cf4c936b1 100644
--- a/src/devices/bus/isa/svga_cirrus.cpp
+++ b/src/devices/bus/isa/svga_cirrus.cpp
@@ -25,7 +25,12 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS, isa16_svga_cirrus_device, "dm_clgd5430", "Diamond Speedstar Pro SE ISA Graphics Card (BIOS v1.00)")
DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device, "clgd542x", "Generic Cirrus Logic CD542 Graphics Card (BIOS v1.20)")
-static MACHINE_CONFIG_START( vga_cirrus )
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_svga_cirrus_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update)
@@ -36,16 +41,6 @@ static MACHINE_CONFIG_START( vga_cirrus )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_svga_cirrus_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_cirrus );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -112,7 +107,11 @@ ROM_END
// GLOBAL VARIABLES
//**************************************************************************
-static MACHINE_CONFIG_START( vga_cirrus_gd542x )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_svga_cirrus_gd542x_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update)
@@ -123,16 +122,6 @@ static MACHINE_CONFIG_START( vga_cirrus_gd542x )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_svga_cirrus_gd542x_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_cirrus_gd542x );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/isa/svga_cirrus.h b/src/devices/bus/isa/svga_cirrus.h
index 3d5f3f5678d..46b0cfcfc04 100644
--- a/src/devices/bus/isa/svga_cirrus.h
+++ b/src/devices/bus/isa/svga_cirrus.h
@@ -20,15 +20,17 @@ public:
// construction/destruction
isa16_svga_cirrus_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
cirrus_gd5430_device *m_vga;
};
@@ -41,15 +43,17 @@ public:
// construction/destruction
isa16_svga_cirrus_gd542x_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
cirrus_gd5428_device *m_vga;
};
diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp
index aad3f60d662..6bd0f7815de 100644
--- a/src/devices/bus/isa/svga_s3.cpp
+++ b/src/devices/bus/isa/svga_s3.cpp
@@ -36,7 +36,11 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device, "s3_764", "Number Nine 9FX Vision 330 (S3 764)")
-static MACHINE_CONFIG_START( vga_s3 )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_svga_s3_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", s3_vga_device, screen_update)
@@ -47,16 +51,6 @@ static MACHINE_CONFIG_START( vga_s3 )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_svga_s3_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_s3 );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -149,7 +143,11 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device, "s3virge", "S3 ViRGE Graphics Card")
-static MACHINE_CONFIG_START( vga_s3virge )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_s3virge_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", s3virge_vga_device, screen_update)
@@ -160,16 +158,6 @@ static MACHINE_CONFIG_START( vga_s3virge )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_s3virge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_s3virge );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
@@ -225,16 +213,6 @@ void isa16_s3virge_device::device_reset()
* S3 ViRGE/DX
*/
-static MACHINE_CONFIG_START( vga_s3virgedx )
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_vga_device, screen_update)
-
- MCFG_PALETTE_ADD("palette", 0x100)
-
- MCFG_DEVICE_ADD("vga", S3VIRGEDX, 0)
-MACHINE_CONFIG_END
-
ROM_START( s3virgedx )
ROM_REGION(0x8000,"s3virgedx", 0)
ROM_LOAD("s3virgedx.bin", 0x00000, 0x8000, CRC(0da83bd3) SHA1(228a2d644e1732cb5a2eb1291608c7050cf39229) )
@@ -248,14 +226,18 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device, "s3virgedx", "S3 ViR
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa16_s3virgedx_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_s3virgedx );
-}
+MACHINE_CONFIG_MEMBER( isa16_s3virgedx_device::device_add_mconfig )
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_vga_device, screen_update)
+
+ MCFG_PALETTE_ADD("palette", 0x100)
+
+ MCFG_DEVICE_ADD("vga", S3VIRGEDX, 0)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
@@ -314,16 +296,6 @@ void isa16_s3virgedx_device::device_reset()
* Diamond Stealth 3D 2000 Pro
*/
-static MACHINE_CONFIG_START( vga_stealth3d2kpro )
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
- MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_rev1_vga_device, screen_update)
-
- MCFG_PALETTE_ADD("palette", 0x100)
-
- MCFG_DEVICE_ADD("vga", S3VIRGEDX1, 0)
-MACHINE_CONFIG_END
-
ROM_START( stealth3d2kpro )
ROM_REGION(0x8000,"stealth3d", 0)
ROM_LOAD("virgedxdiamond.bin", 0x00000, 0x8000, CRC(58b0dcda) SHA1(b13ae6b04db6fc05a76d924ddf2efe150b823029) )
@@ -337,14 +309,18 @@ DEFINE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device, "dms3d2kp", "D
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa16_stealth3d2kpro_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_stealth3d2kpro );
-}
+MACHINE_CONFIG_MEMBER( isa16_stealth3d2kpro_device::device_add_mconfig )
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
+ MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_rev1_vga_device, screen_update)
+
+ MCFG_PALETTE_ADD("palette", 0x100)
+
+ MCFG_DEVICE_ADD("vga", S3VIRGEDX1, 0)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/svga_s3.h b/src/devices/bus/isa/svga_s3.h
index fbfba9bd35b..f60141518de 100644
--- a/src/devices/bus/isa/svga_s3.h
+++ b/src/devices/bus/isa/svga_s3.h
@@ -23,15 +23,17 @@ public:
// construction/destruction
isa16_svga_s3_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
s3_vga_device *m_vga;
ibm8514a_device *m_8514;
@@ -45,15 +47,17 @@ public:
// construction/destruction
isa16_s3virge_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
s3virge_vga_device *m_vga;
};
@@ -66,15 +70,17 @@ public:
// construction/destruction
isa16_s3virgedx_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
s3virgedx_vga_device *m_vga;
};
@@ -87,15 +93,17 @@ public:
// construction/destruction
isa16_stealth3d2kpro_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
s3virgedx_vga_device *m_vga;
};
diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp
index 6b058f6cfe9..0cf75c3f5a9 100644
--- a/src/devices/bus/isa/svga_trident.cpp
+++ b/src/devices/bus/isa/svga_trident.cpp
@@ -26,7 +26,11 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device, "igui9680", "Trident TGUI9680 Graphics Card (BIOS X5.5 (02) 02/13/96)")
-static MACHINE_CONFIG_START( vga_trident )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_svga_tgui9680_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", trident_vga_device, screen_update)
@@ -37,16 +41,6 @@ static MACHINE_CONFIG_START( vga_trident )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_svga_tgui9680_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_trident );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/isa/svga_trident.h b/src/devices/bus/isa/svga_trident.h
index 7cfac58b4f6..d8be1458591 100644
--- a/src/devices/bus/isa/svga_trident.h
+++ b/src/devices/bus/isa/svga_trident.h
@@ -27,15 +27,17 @@ public:
// construction/destruction
isa16_svga_tgui9680_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
trident_vga_device *m_vga;
};
diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp
index 9f9086d723b..52ac79c832b 100644
--- a/src/devices/bus/isa/svga_tseng.cpp
+++ b/src/devices/bus/isa/svga_tseng.cpp
@@ -25,7 +25,11 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device, "et4000", "SVGA Tseng ET4000 Graphics Card")
-static MACHINE_CONFIG_START( vga_tseng )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa8_svga_et4k_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", tseng_vga_device, screen_update)
@@ -36,16 +40,6 @@ static MACHINE_CONFIG_START( vga_tseng )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa8_svga_et4k_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_tseng );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/isa/svga_tseng.h b/src/devices/bus/isa/svga_tseng.h
index 6f430af17d6..13805bad615 100644
--- a/src/devices/bus/isa/svga_tseng.h
+++ b/src/devices/bus/isa/svga_tseng.h
@@ -22,15 +22,17 @@ public:
// construction/destruction
isa8_svga_et4k_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
tseng_vga_device *m_vga;
};
diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp
index d0e49ce0d56..8919e742c94 100644
--- a/src/devices/bus/isa/vga.cpp
+++ b/src/devices/bus/isa/vga.cpp
@@ -23,14 +23,12 @@ DEFINE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device, "ibm_vga", "IBM VGA Graphics Card"
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor isa8_vga_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pcvideo_vga );
-}
+MACHINE_CONFIG_MEMBER( isa8_vga_device::device_add_mconfig)
+ MCFG_FRAGMENT_ADD( pcvideo_vga );
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/isa/vga.h b/src/devices/bus/isa/vga.h
index 3d306be8d6b..856016ecc5a 100644
--- a/src/devices/bus/isa/vga.h
+++ b/src/devices/bus/isa/vga.h
@@ -22,15 +22,17 @@ public:
// construction/destruction
isa8_vga_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
vga_device *m_vga;
};
diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp
index 53c195d3058..02143c9c4ad 100644
--- a/src/devices/bus/isa/vga_ati.cpp
+++ b/src/devices/bus/isa/vga_ati.cpp
@@ -72,7 +72,11 @@ DEFINE_DEVICE_TYPE(ISA16_VGA_GFXULTRA, isa16_vga_gfxultra_device, "gfxulr
DEFINE_DEVICE_TYPE(ISA16_SVGA_GFXULTRAPRO, isa16_vga_gfxultrapro_device, "gfxxultrp", "ATi Graphics Ultra Pro Card")
DEFINE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device, "mach64isa", "ATi mach64 Card")
-static MACHINE_CONFIG_START( vga_ati )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( isa16_vga_gfxultra_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", ati_vga_device, screen_update)
@@ -82,7 +86,7 @@ static MACHINE_CONFIG_START( vga_ati )
MCFG_DEVICE_ADD("vga", ATI_VGA, 0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vga_mach32 )
+MACHINE_CONFIG_MEMBER( isa16_vga_gfxultrapro_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", mach32_device, screen_update)
@@ -92,7 +96,7 @@ static MACHINE_CONFIG_START( vga_mach32 )
MCFG_DEVICE_ADD("vga", ATIMACH32, 0)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( vga_mach64 )
+MACHINE_CONFIG_MEMBER( isa16_vga_mach64_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", mach64_device, screen_update)
@@ -103,26 +107,6 @@ static MACHINE_CONFIG_START( vga_mach64 )
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isa16_vga_gfxultra_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_ati );
-}
-
-machine_config_constructor isa16_vga_gfxultrapro_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_mach32 );
-}
-
-machine_config_constructor isa16_vga_mach64_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vga_mach64 );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/isa/vga_ati.h b/src/devices/bus/isa/vga_ati.h
index 33cf8718e79..e626f8a45ab 100644
--- a/src/devices/bus/isa/vga_ati.h
+++ b/src/devices/bus/isa/vga_ati.h
@@ -30,15 +30,17 @@ public:
// construction/destruction
isa16_vga_gfxultra_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
ati_vga_device *m_vga;
mach8_device *m_8514;
@@ -52,16 +54,18 @@ public:
// construction/destruction
isa16_vga_gfxultrapro_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
-private:
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ private:
mach32_device *m_vga;
};
@@ -73,15 +77,17 @@ public:
// construction/destruction
isa16_vga_mach64_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(input_port_0_r);
+
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 const tiny_rom_entry *device_rom_region() const override;
+
private:
mach64_device *m_vga;
};
diff --git a/src/devices/bus/isa/wdxt_gen.cpp b/src/devices/bus/isa/wdxt_gen.cpp
index 638a46b660c..7930ca4de92 100644
--- a/src/devices/bus/isa/wdxt_gen.cpp
+++ b/src/devices/bus/isa/wdxt_gen.cpp
@@ -135,10 +135,10 @@ WRITE8_MEMBER( wdxt_gen_device::ram_w )
}
//-------------------------------------------------
-// MACHINE_DRIVER( wdxt_gen )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( wdxt_gen )
+MACHINE_CONFIG_MEMBER( wdxt_gen_device::device_add_mconfig )
MCFG_CPU_ADD(WD1015_TAG, I8049, 5000000)
MCFG_CPU_IO_MAP(wd1015_io)
MCFG_MCS48_PORT_T0_IN_CB(DEVREADLINE(WD11C00_17_TAG, wd11c00_17_device, busy_r))
@@ -173,17 +173,6 @@ static MACHINE_CONFIG_START( wdxt_gen )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor wdxt_gen_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( wdxt_gen );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/isa/wdxt_gen.h b/src/devices/bus/isa/wdxt_gen.h
index cfced925737..c17111cf52b 100644
--- a/src/devices/bus/isa/wdxt_gen.h
+++ b/src/devices/bus/isa/wdxt_gen.h
@@ -40,11 +40,20 @@ public:
// construction/destruction
wdxt_gen_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
- // not really public
+ // device_isa8_card_interface
+ virtual uint8_t dack_r(int line) override;
+ virtual void dack_w(int line, uint8_t data) override;
+
+private:
DECLARE_WRITE_LINE_MEMBER( irq5_w );
DECLARE_WRITE_LINE_MEMBER( drq3_w );
DECLARE_WRITE_LINE_MEMBER( mr_w );
@@ -57,16 +66,6 @@ public:
DECLARE_READ8_MEMBER( wd1015_p2_r );
DECLARE_WRITE8_MEMBER( wd1015_p2_w );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_isa8_card_interface
- virtual uint8_t dack_r(int line) override;
- virtual void dack_w(int line, uint8_t data) override;
-
-private:
required_device<cpu_device> m_maincpu;
required_device<wd11c00_17_device> m_host;
required_device<wd2010_device> m_hdc;
diff --git a/src/devices/bus/isa/xtide.cpp b/src/devices/bus/isa/xtide.cpp
index 53047da9795..295fb34333c 100644
--- a/src/devices/bus/isa/xtide.cpp
+++ b/src/devices/bus/isa/xtide.cpp
@@ -122,12 +122,6 @@ WRITE_LINE_MEMBER(xtide_device::ide_interrupt)
}
}
-static MACHINE_CONFIG_START( xtide_config )
- MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false)
- MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(xtide_device, ide_interrupt))
-
- MCFG_EEPROM_2864_ADD("eeprom")
-MACHINE_CONFIG_END
static INPUT_PORTS_START( xtide_port )
PORT_START("BIOS_BASE")
@@ -265,14 +259,15 @@ ROM_END
DEFINE_DEVICE_TYPE(ISA8_XTIDE, xtide_device, "xtide", "XT-IDE Fixed Drive Adapter")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor xtide_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( xtide_config );
-}
+MACHINE_CONFIG_MEMBER( xtide_device::device_add_mconfig )
+ MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, false)
+ MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(xtide_device, ide_interrupt))
+
+ MCFG_EEPROM_2864_ADD("eeprom")
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/isa/xtide.h b/src/devices/bus/isa/xtide.h
index b78d7bd6229..4402aa991fd 100644
--- a/src/devices/bus/isa/xtide.h
+++ b/src/devices/bus/isa/xtide.h
@@ -19,21 +19,22 @@ public:
// construction/destruction
xtide_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;
-
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
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(ide_interrupt);
+
required_device<ata_interface_device> m_ata;
required_device<eeprom_parallel_28xx_device> m_eeprom;
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index 5b311ffc047..327b709dba2 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -50,10 +50,10 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_DRIVER( compis_fdc )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( compis_fdc )
+MACHINE_CONFIG_MEMBER( compis_fdc_device::device_add_mconfig )
MCFG_I8272A_ADD(I8272_TAG, true)
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(compis_fdc_device, fdc_irq))
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(compis_fdc_device, fdc_drq))
@@ -62,17 +62,6 @@ static MACHINE_CONFIG_START( compis_fdc )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor compis_fdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( compis_fdc );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/isbx/compis_fdc.h b/src/devices/bus/isbx/compis_fdc.h
index 2caf59513d3..ff6c0e87974 100644
--- a/src/devices/bus/isbx/compis_fdc.h
+++ b/src/devices/bus/isbx/compis_fdc.h
@@ -30,18 +30,14 @@ public:
// construction/destruction
compis_fdc_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;
-
- DECLARE_WRITE_LINE_MEMBER( fdc_irq );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
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;
+
// device_isbx_card_interface overrides
virtual uint8_t mcs0_r(address_space &space, offs_t offset) override;
virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) override;
@@ -51,6 +47,10 @@ protected:
virtual void opt1_w(int state) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq );
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<i8272a_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp
index 7bc16af2127..7b054719a41 100644
--- a/src/devices/bus/isbx/isbc_218a.cpp
+++ b/src/devices/bus/isbx/isbc_218a.cpp
@@ -50,10 +50,10 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_DRIVER( isbc_218a )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( isbc_218a )
+MACHINE_CONFIG_MEMBER( isbc_218a_device::device_add_mconfig )
MCFG_I8272A_ADD(I8272_TAG, true)
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isbc_218a_device, fdc_irq))
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isbc_218a_device, fdc_drq))
@@ -61,18 +61,6 @@ static MACHINE_CONFIG_START( isbc_218a )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor isbc_218a_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( isbc_218a );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/isbx/isbc_218a.h b/src/devices/bus/isbx/isbc_218a.h
index f22391a4c4e..929203c8dfb 100644
--- a/src/devices/bus/isbx/isbc_218a.h
+++ b/src/devices/bus/isbx/isbc_218a.h
@@ -30,18 +30,14 @@ public:
// construction/destruction
isbc_218a_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;
-
- DECLARE_WRITE_LINE_MEMBER( fdc_irq );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
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;
+
// device_isbx_card_interface overrides
virtual uint8_t mcs0_r(address_space &space, offs_t offset) override;
virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) override;
@@ -52,6 +48,10 @@ protected:
virtual void opt0_w(int state) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq );
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<i8272a_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/kc/d002.cpp b/src/devices/bus/kc/d002.cpp
index be1a9fe74fe..9ba57dc6d9d 100644
--- a/src/devices/bus/kc/d002.cpp
+++ b/src/devices/bus/kc/d002.cpp
@@ -64,40 +64,6 @@ WRITE_LINE_MEMBER(kc_d002_device::out_halt_w)
m_slot->m_out_halt_cb(state);
}
-static MACHINE_CONFIG_START( kc_d002 )
- MCFG_DEVICE_ADD("m0", KCCART_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
- MCFG_KCCART_SLOT_NEXT_SLOT("m4")
- MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
- MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
- MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
- MCFG_DEVICE_ADD("m4", KCCART_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
- MCFG_KCCART_SLOT_NEXT_SLOT("m8")
- MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
- MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
- MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
- MCFG_DEVICE_ADD("m8", KCCART_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
- MCFG_KCCART_SLOT_NEXT_SLOT("mc")
- MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
- MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
- MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
- MCFG_DEVICE_ADD("mc", KCCART_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
- MCFG_KCCART_SLOT_NEXT_SLOT("exp")
- MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
- MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
- MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
-
- // expansion interface
- MCFG_DEVICE_ADD("exp", KCCART_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(kc85_exp, nullptr, false)
- MCFG_KCEXP_SLOT_NEXT_SLOT(nullptr)
- MCFG_KCEXP_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
- MCFG_KCEXP_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
- MCFG_KCEXP_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
-MACHINE_CONFIG_END
//**************************************************************************
// GLOBAL VARIABLES
@@ -139,13 +105,43 @@ void kc_d002_device::device_reset()
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor kc_d002_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( kc_d002 );
-}
+MACHINE_CONFIG_MEMBER( kc_d002_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("m0", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("m4")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("m4", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("m8")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("m8", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("mc")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
+ MCFG_DEVICE_ADD("mc", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_cart, nullptr, false)
+ MCFG_KCCART_SLOT_NEXT_SLOT("exp")
+ MCFG_KCCART_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
+ MCFG_KCCART_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
+ MCFG_KCCART_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
+
+ // expansion interface
+ MCFG_DEVICE_ADD("exp", KCCART_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(kc85_exp, nullptr, false)
+ MCFG_KCEXP_SLOT_NEXT_SLOT(nullptr)
+ MCFG_KCEXP_SLOT_OUT_IRQ_CB(WRITELINE(kc_d002_device, out_irq_w))
+ MCFG_KCEXP_SLOT_OUT_NMI_CB(WRITELINE(kc_d002_device, out_nmi_w))
+ MCFG_KCEXP_SLOT_OUT_HALT_CB(WRITELINE(kc_d002_device, out_halt_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/kc/d002.h b/src/devices/bus/kc/d002.h
index 48bd97336b2..7db1418bf5f 100644
--- a/src/devices/bus/kc/d002.h
+++ b/src/devices/bus/kc/d002.h
@@ -21,20 +21,15 @@ public:
// construction/destruction
kc_d002_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;
-
- // interface callbacks
- DECLARE_WRITE_LINE_MEMBER( out_irq_w );
- DECLARE_WRITE_LINE_MEMBER( out_nmi_w );
- DECLARE_WRITE_LINE_MEMBER( out_halt_w );
-
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;
+
// kcexp_interface overrides
virtual void read(offs_t offset, uint8_t &data) override;
virtual void write(offs_t offset, uint8_t data) override;
@@ -43,6 +38,11 @@ protected:
virtual DECLARE_WRITE_LINE_MEMBER( mei_w ) override;
private:
+ // interface callbacks
+ DECLARE_WRITE_LINE_MEMBER( out_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( out_nmi_w );
+ DECLARE_WRITE_LINE_MEMBER( out_halt_w );
+
kcexp_slot_device *m_slot;
// internal state
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index 967818f5a9d..723f9a4588f 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -63,36 +63,6 @@ static const z80_daisy_config kc_d004_daisy_chain[] =
{ nullptr }
};
-static MACHINE_CONFIG_START(kc_d004)
- MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
- MCFG_CPU_PROGRAM_MAP(kc_d004_mem)
- MCFG_CPU_IO_MAP(kc_d004_io)
- MCFG_Z80_DAISY_CHAIN(kc_d004_daisy_chain)
-
- MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_8MHz/2)
- MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, 0))
- MCFG_Z80CTC_ZC0_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg1))
- MCFG_Z80CTC_ZC1_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg2))
- MCFG_Z80CTC_ZC2_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg3))
-
- MCFG_UPD765A_ADD(UPD765_TAG, false, false)
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(kc_d004_device, fdc_irq))
- MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START(kc_d004_gide)
- MCFG_FRAGMENT_ADD(kc_d004)
-
- MCFG_CPU_MODIFY(Z80_TAG)
- MCFG_CPU_IO_MAP(kc_d004_gide_io)
-
- MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false)
-MACHINE_CONFIG_END
-
-
ROM_START( kc_d004 )
ROM_REGION(0x2000, Z80_TAG, 0)
ROM_LOAD_OPTIONAL("d004v20.bin", 0x0000, 0x2000, CRC(4f3494f1) SHA1(66f476de78fb474d9ac61c6eaffce3354fd66776))
@@ -173,13 +143,28 @@ void kc_d004_device::device_reset()
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor kc_d004_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( kc_d004 );
-}
+MACHINE_CONFIG_MEMBER(kc_d004_device::device_add_mconfig)
+ MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
+ MCFG_CPU_PROGRAM_MAP(kc_d004_mem)
+ MCFG_CPU_IO_MAP(kc_d004_io)
+ MCFG_Z80_DAISY_CHAIN(kc_d004_daisy_chain)
+
+ MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_8MHz/2)
+ MCFG_Z80CTC_INTR_CB(INPUTLINE(Z80_TAG, 0))
+ MCFG_Z80CTC_ZC0_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg1))
+ MCFG_Z80CTC_ZC1_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg2))
+ MCFG_Z80CTC_ZC2_CB(DEVWRITELINE(Z80CTC_TAG, z80ctc_device, trg3))
+
+ MCFG_UPD765A_ADD(UPD765_TAG, false, false)
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(kc_d004_device, fdc_irq))
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", kc_d004_floppies, "525qd", kc_d004_device::floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_rom_region
@@ -382,13 +367,17 @@ kc_d004_gide_device::kc_d004_gide_device(const machine_config &mconfig, const ch
}
//-------------------------------------------------
-// device_mconfig_additions
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor kc_d004_gide_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( kc_d004_gide );
-}
+MACHINE_CONFIG_MEMBER(kc_d004_gide_device::device_add_mconfig)
+ kc_d004_device::device_add_mconfig(config);
+
+ MCFG_CPU_MODIFY(Z80_TAG)
+ MCFG_CPU_IO_MAP(kc_d004_gide_io)
+
+ MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false)
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/bus/kc/d004.h b/src/devices/bus/kc/d004.h
index bbac3463866..83522b3118c 100644
--- a/src/devices/bus/kc/d004.h
+++ b/src/devices/bus/kc/d004.h
@@ -27,18 +27,10 @@ public:
// construction/destruction
kc_d004_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 const tiny_rom_entry *device_rom_region() const override;
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
DECLARE_READ8_MEMBER(hw_input_gate_r);
DECLARE_WRITE8_MEMBER(fdd_select_w);
DECLARE_WRITE8_MEMBER(hw_terminal_count_w);
- DECLARE_WRITE_LINE_MEMBER( fdc_irq );
-
protected:
kc_d004_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -47,6 +39,10 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
// kcexp_interface overrides
virtual uint8_t module_id_r() override { return 0xa7; }
virtual void control_w(uint8_t data) override;
@@ -55,6 +51,10 @@ protected:
virtual void io_write(offs_t offset, uint8_t data) override;
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq );
+
static const device_timer_id TIMER_RESET = 0;
required_device<cpu_device> m_cpu;
@@ -87,10 +87,6 @@ public:
// construction/destruction
kc_d004_gide_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 const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(gide_r);
DECLARE_WRITE8_MEMBER(gide_w);
@@ -98,6 +94,10 @@ protected:
// device-level overrides
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
private:
required_device<ata_interface_device> m_ata;
diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp
index a5b47cb4cdc..969a2b8c71b 100644
--- a/src/devices/bus/lpci/southbridge.cpp
+++ b/src/devices/bus/lpci/southbridge.cpp
@@ -23,7 +23,12 @@ static SLOT_INTERFACE_START(pc_isa_onboard)
SLOT_INTERFACE("fdcsmc", ISA8_FDC_SMC)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( southbridge )
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( southbridge_device::device_add_mconfig )
MCFG_DEVICE_ADD("pit8254", PIT8254, 0)
MCFG_PIT8253_CLK0(4772720/4) /* heartbeat IRQ */
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(southbridge_device, at_pit8254_out0_changed))
@@ -122,16 +127,6 @@ static MACHINE_CONFIG_START( southbridge )
MCFG_ISA16_SLOT_ADD("isabus","board3", pc_isa_onboard, "lpt", true)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor southbridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( southbridge );
-}
-
southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock),
m_maincpu(*this, ":maincpu"),
diff --git a/src/devices/bus/lpci/southbridge.h b/src/devices/bus/lpci/southbridge.h
index f1e8fb7571b..586a5ae30ca 100644
--- a/src/devices/bus/lpci/southbridge.h
+++ b/src/devices/bus/lpci/southbridge.h
@@ -38,6 +38,50 @@ class southbridge_device :
public device_t
{
public:
+
+
+protected:
+ // construction/destruction
+ southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ required_device<cpu_device> m_maincpu;
+ required_device<pic8259_device> m_pic8259_master;
+ required_device<pic8259_device> m_pic8259_slave;
+ required_device<am9517a_device> m_dma8237_1;
+ required_device<am9517a_device> m_dma8237_2;
+ required_device<pit8254_device> m_pit8254;
+ required_device<at_keyboard_controller_device> m_keybc;
+ required_device<isa16_device> m_isabus;
+ required_device<speaker_sound_device> m_speaker;
+ required_device<ds12885_device> m_ds12885;
+ required_device<pc_kbdc_device> m_pc_kbdc;
+ required_device<bus_master_ide_controller_device> m_ide;
+ required_device<bus_master_ide_controller_device> m_ide2;
+
+ uint8_t m_at_spkrdata;
+ uint8_t m_pit_out2;
+ int m_dma_channel;
+ bool m_cur_eop;
+ uint8_t m_dma_offset[2][4];
+ uint8_t m_at_pages[0x10];
+ uint16_t m_dma_high_byte;
+ uint8_t m_at_speaker;
+ bool m_refresh;
+ void at_speaker_set_spkrdata(uint8_t data);
+
+ uint8_t m_channel_check;
+ uint8_t m_nmi_enabled;
+
+ void pc_select_dma_channel(int channel, bool state);
+
+private:
DECLARE_READ8_MEMBER(at_page8_r);
DECLARE_WRITE8_MEMBER(at_page8_w);
DECLARE_READ8_MEMBER(at_portb_r);
@@ -83,47 +127,6 @@ public:
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
DECLARE_READ8_MEMBER(pc_dma_read_word);
DECLARE_WRITE8_MEMBER(pc_dma_write_word);
-
-protected:
- // construction/destruction
- southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- required_device<cpu_device> m_maincpu;
- required_device<pic8259_device> m_pic8259_master;
- required_device<pic8259_device> m_pic8259_slave;
- required_device<am9517a_device> m_dma8237_1;
- required_device<am9517a_device> m_dma8237_2;
- required_device<pit8254_device> m_pit8254;
- required_device<at_keyboard_controller_device> m_keybc;
- required_device<isa16_device> m_isabus;
- required_device<speaker_sound_device> m_speaker;
- required_device<ds12885_device> m_ds12885;
- required_device<pc_kbdc_device> m_pc_kbdc;
- required_device<bus_master_ide_controller_device> m_ide;
- required_device<bus_master_ide_controller_device> m_ide2;
-
- uint8_t m_at_spkrdata;
- uint8_t m_pit_out2;
- int m_dma_channel;
- bool m_cur_eop;
- uint8_t m_dma_offset[2][4];
- uint8_t m_at_pages[0x10];
- uint16_t m_dma_high_byte;
- uint8_t m_at_speaker;
- bool m_refresh;
- void at_speaker_set_spkrdata(uint8_t data);
-
- uint8_t m_channel_check;
- uint8_t m_nmi_enabled;
-
- void pc_select_dma_channel(int channel, bool state);
};
#endif // MAME_BUS_LPCI_SOUTHBRIDGE_H