summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-06-08 17:20:12 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-06-08 17:20:12 +0200
commitf31b1520801a4848a15a0cbb646797f44e476d33 (patch)
tree3e8ca203dd87896a83313aee59b37db865663bbc /src/devices/bus
parent89f35e6fcc3eb050e96fff6c185b15c8db477954 (diff)
device_add_mconfig up to devices/bus/h* (nw)
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/cbmiec/c1526.cpp30
-rw-r--r--src/devices/bus/cbmiec/c1526.h8
-rw-r--r--src/devices/bus/cbmiec/c1541.cpp93
-rw-r--r--src/devices/bus/cbmiec/c1541.h77
-rw-r--r--src/devices/bus/cbmiec/c1571.cpp66
-rw-r--r--src/devices/bus/cbmiec/c1571.h21
-rw-r--r--src/devices/bus/cbmiec/c1581.cpp15
-rw-r--r--src/devices/bus/cbmiec/c1581.h30
-rw-r--r--src/devices/bus/cbmiec/cmdhd.cpp15
-rw-r--r--src/devices/bus/cbmiec/cmdhd.h8
-rw-r--r--src/devices/bus/cbmiec/fd2000.cpp58
-rw-r--r--src/devices/bus/cbmiec/fd2000.h22
-rw-r--r--src/devices/bus/cbmiec/interpod.cpp15
-rw-r--r--src/devices/bus/cbmiec/interpod.h8
-rw-r--r--src/devices/bus/cbmiec/serialbox.cpp15
-rw-r--r--src/devices/bus/cbmiec/serialbox.h8
-rw-r--r--src/devices/bus/cbmiec/vic1515.cpp15
-rw-r--r--src/devices/bus/cbmiec/vic1515.h10
-rw-r--r--src/devices/bus/cbmiec/vic1520.cpp15
-rw-r--r--src/devices/bus/cbmiec/vic1520.h10
-rw-r--r--src/devices/bus/centronics/comxpl80.cpp15
-rw-r--r--src/devices/bus/centronics/comxpl80.h10
-rw-r--r--src/devices/bus/centronics/covox.cpp48
-rw-r--r--src/devices/bus/centronics/covox.h12
-rw-r--r--src/devices/bus/centronics/digiblst.cpp22
-rw-r--r--src/devices/bus/centronics/digiblst.h6
-rw-r--r--src/devices/bus/centronics/epson_ex800.cpp15
-rw-r--r--src/devices/bus/centronics/epson_ex800.h23
-rw-r--r--src/devices/bus/centronics/epson_lx800.cpp15
-rw-r--r--src/devices/bus/centronics/epson_lx800.h28
-rw-r--r--src/devices/bus/centronics/epson_lx810l.cpp14
-rw-r--r--src/devices/bus/centronics/epson_lx810l.h62
-rw-r--r--src/devices/bus/centronics/nec_p72.cpp14
-rw-r--r--src/devices/bus/centronics/nec_p72.h8
-rw-r--r--src/devices/bus/centronics/printer.cpp18
-rw-r--r--src/devices/bus/centronics/printer.h5
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.cpp10
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.h14
-rw-r--r--src/devices/bus/cgenie/parallel/printer.cpp10
-rw-r--r--src/devices/bus/cgenie/parallel/printer.h12
-rw-r--r--src/devices/bus/compis/hrg.cpp33
-rw-r--r--src/devices/bus/compis/hrg.h15
-rw-r--r--src/devices/bus/compucolor/floppy.cpp15
-rw-r--r--src/devices/bus/compucolor/floppy.h10
-rw-r--r--src/devices/bus/comx35/clm.cpp16
-rw-r--r--src/devices/bus/comx35/clm.h13
-rw-r--r--src/devices/bus/comx35/expbox.cpp15
-rw-r--r--src/devices/bus/comx35/expbox.h12
-rw-r--r--src/devices/bus/comx35/fdc.cpp17
-rw-r--r--src/devices/bus/comx35/fdc.h12
-rw-r--r--src/devices/bus/comx35/printer.cpp15
-rw-r--r--src/devices/bus/comx35/printer.h8
-rw-r--r--src/devices/bus/cpc/amdrum.cpp8
-rw-r--r--src/devices/bus/cpc/amdrum.h7
-rw-r--r--src/devices/bus/cpc/cpc_pds.cpp10
-rw-r--r--src/devices/bus/cpc/cpc_pds.h6
-rw-r--r--src/devices/bus/cpc/cpc_rom.cpp9
-rw-r--r--src/devices/bus/cpc/cpc_rom.h6
-rw-r--r--src/devices/bus/cpc/cpc_rs232.cpp37
-rw-r--r--src/devices/bus/cpc/cpc_rs232.h14
-rw-r--r--src/devices/bus/cpc/cpc_ssa1.cpp15
-rw-r--r--src/devices/bus/cpc/cpc_ssa1.h26
-rw-r--r--src/devices/bus/cpc/ddi1.cpp8
-rw-r--r--src/devices/bus/cpc/ddi1.h13
-rw-r--r--src/devices/bus/cpc/doubler.cpp10
-rw-r--r--src/devices/bus/cpc/doubler.h6
-rw-r--r--src/devices/bus/cpc/hd20.cpp8
-rw-r--r--src/devices/bus/cpc/hd20.h11
-rw-r--r--src/devices/bus/cpc/magicsound.cpp28
-rw-r--r--src/devices/bus/cpc/magicsound.h19
-rw-r--r--src/devices/bus/cpc/mface2.cpp24
-rw-r--r--src/devices/bus/cpc/mface2.h11
-rw-r--r--src/devices/bus/cpc/playcity.cpp14
-rw-r--r--src/devices/bus/cpc/playcity.h11
-rw-r--r--src/devices/bus/cpc/smartwatch.cpp6
-rw-r--r--src/devices/bus/cpc/smartwatch.h9
-rw-r--r--src/devices/bus/cpc/symbfac2.cpp21
-rw-r--r--src/devices/bus/cpc/symbfac2.h8
-rw-r--r--src/devices/bus/dmv/k210.cpp52
-rw-r--r--src/devices/bus/dmv/k210.h24
-rw-r--r--src/devices/bus/dmv/k220.cpp32
-rw-r--r--src/devices/bus/dmv/k220.h22
-rw-r--r--src/devices/bus/dmv/k230.cpp53
-rw-r--r--src/devices/bus/dmv/k230.h12
-rw-r--r--src/devices/bus/dmv/k801.cpp87
-rw-r--r--src/devices/bus/dmv/k801.h29
-rw-r--r--src/devices/bus/dmv/k803.cpp16
-rw-r--r--src/devices/bus/dmv/k803.h12
-rw-r--r--src/devices/bus/dmv/k806.cpp24
-rw-r--r--src/devices/bus/dmv/k806.h20
-rw-r--r--src/devices/bus/ecbbus/grip.cpp17
-rw-r--r--src/devices/bus/ecbbus/grip.h31
-rw-r--r--src/devices/bus/econet/e01.cpp17
-rw-r--r--src/devices/bus/econet/e01.h26
-rw-r--r--src/devices/bus/electron/m2105.cpp15
-rw-r--r--src/devices/bus/electron/m2105.h12
-rw-r--r--src/devices/bus/electron/plus3.cpp41
-rw-r--r--src/devices/bus/electron/plus3.h12
-rw-r--r--src/devices/bus/ep64/exdos.cpp16
-rw-r--r--src/devices/bus/ep64/exdos.h12
-rw-r--r--src/devices/bus/epson_sio/pf10.cpp10
-rw-r--r--src/devices/bus/epson_sio/pf10.h23
-rw-r--r--src/devices/bus/epson_sio/tf20.cpp12
-rw-r--r--src/devices/bus/epson_sio/tf20.h25
-rw-r--r--src/devices/bus/gamegear/smsctrladp.cpp16
-rw-r--r--src/devices/bus/gamegear/smsctrladp.h8
-rw-r--r--src/devices/bus/gba/rom.cpp14
-rw-r--r--src/devices/bus/gba/rom.h14
-rw-r--r--src/devices/bus/hp9845_io/98034.cpp17
-rw-r--r--src/devices/bus/hp9845_io/98034.h24
-rw-r--r--src/devices/bus/hp9845_io/98035.cpp17
-rw-r--r--src/devices/bus/hp9845_io/98035.h14
112 files changed, 809 insertions, 1393 deletions
diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp
index f33d9a1ceec..e763e79e069 100644
--- a/src/devices/bus/cbmiec/c1526.cpp
+++ b/src/devices/bus/cbmiec/c1526.cpp
@@ -85,48 +85,26 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( c1526 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c1526 )
+MACHINE_CONFIG_MEMBER( c1526_device::device_add_mconfig )
MCFG_CPU_ADD(M6504_TAG, M6504, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(c1526_mem)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor c1526_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1526 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c4023 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c4023 )
+MACHINE_CONFIG_MEMBER( c4023_device::device_add_mconfig )
MCFG_CPU_ADD(M6504_TAG, M6504, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(c1526_mem)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c4023_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c4023 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c1526 )
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/c1526.h b/src/devices/bus/cbmiec/c1526.h
index 9d4d61ec7ae..8ba0edcb782 100644
--- a/src/devices/bus/cbmiec/c1526.h
+++ b/src/devices/bus/cbmiec/c1526.h
@@ -43,12 +43,12 @@ public:
// construction/destruction
c1526_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;
virtual ioport_constructor device_input_ports() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
-protected:
// device_cbm_iec_interface overrides
void cbm_iec_atn(int state) override;
void cbm_iec_data(int state) override;
@@ -64,12 +64,12 @@ public:
// construction/destruction
c4023_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;
virtual ioport_constructor device_input_ports() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
-protected:
// device_ieee488_interface overrides
virtual void ieee488_atn(int state) override;
virtual void ieee488_ifc(int state) override;
diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp
index bf947e03987..092d2155ee2 100644
--- a/src/devices/bus/cbmiec/c1541.cpp
+++ b/src/devices/bus/cbmiec/c1541.cpp
@@ -808,10 +808,10 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_w )
//-------------------------------------------------
-// MACHINE_DRIVER( c1541 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c1541 )
+MACHINE_CONFIG_MEMBER( c1541_device_base::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c1541_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -840,89 +840,29 @@ static MACHINE_CONFIG_START( c1541 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1541_device_base::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1541 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1541c )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1541c )
- MCFG_FRAGMENT_ADD(c1541)
+MACHINE_CONFIG_MEMBER( c1541c_device::device_add_mconfig )
+ c1541_device_base::device_add_mconfig(config);
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1541c_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1541c );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1541dd )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1541dd )
- MCFG_FRAGMENT_ADD(c1541)
+MACHINE_CONFIG_MEMBER( c1541_dolphin_dos_device::device_add_mconfig )
+ c1541_device_base::device_add_mconfig(config);
MCFG_CPU_MODIFY(M6502_TAG)
MCFG_CPU_PROGRAM_MAP(c1541dd_mem)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1541_dolphin_dos_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1541dd );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1541pd )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1541pd )
- MCFG_FRAGMENT_ADD(c1541)
+MACHINE_CONFIG_MEMBER( c1541_professional_dos_v1_device::device_add_mconfig )
+ c1541_device_base::device_add_mconfig(config);
MCFG_CPU_MODIFY(M6502_TAG)
MCFG_CPU_PROGRAM_MAP(c1541pd_mem)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1541_professional_dos_v1_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1541pd );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1541pdc )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1541pdc )
- MCFG_FRAGMENT_ADD(c1541)
+MACHINE_CONFIG_MEMBER( c1541_prologic_dos_classic_device::device_add_mconfig )
+ c1541_device_base::device_add_mconfig(config);
MCFG_CPU_MODIFY(M6502_TAG)
MCFG_CPU_PROGRAM_MAP(c1541pdc_mem)
@@ -940,17 +880,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1541_prologic_dos_classic_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1541pdc );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c1541 )
//-------------------------------------------------
@@ -1004,11 +933,11 @@ c1541_device_base::c1541_device_base(const machine_config &mconfig, device_type
device_t(mconfig, type, tag, owner, clock),
device_cbm_iec_interface(mconfig, *this),
device_c64_floppy_parallel_interface(mconfig, *this),
+ m_floppy(*this, C64H156_TAG":0:525ssqd"),
m_maincpu(*this, M6502_TAG),
m_via0(*this, M6522_0_TAG),
m_via1(*this, M6522_1_TAG),
m_ga(*this, C64H156_TAG),
- m_floppy(*this, C64H156_TAG":0:525ssqd"),
m_address(*this, "ADDRESS"),
m_data_out(1),
m_via0_irq(CLEAR_LINE),
diff --git a/src/devices/bus/cbmiec/c1541.h b/src/devices/bus/cbmiec/c1541.h
index 3725da29fa5..d2f3cfca377 100644
--- a/src/devices/bus/cbmiec/c1541.h
+++ b/src/devices/bus/cbmiec/c1541.h
@@ -39,25 +39,6 @@ class c1541_device_base : public device_t,
public device_cbm_iec_interface,
public device_c64_floppy_parallel_interface
{
-public:
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
- virtual DECLARE_READ8_MEMBER( via0_pa_r );
- DECLARE_WRITE8_MEMBER( via0_pa_w );
- DECLARE_READ8_MEMBER( via0_pb_r );
- DECLARE_WRITE8_MEMBER( via0_pb_w );
- DECLARE_WRITE_LINE_MEMBER( via0_ca2_w );
- DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
- DECLARE_READ8_MEMBER( via1_pb_r );
- DECLARE_WRITE8_MEMBER( via1_pb_w );
- DECLARE_WRITE_LINE_MEMBER( atn_w );
- DECLARE_WRITE_LINE_MEMBER( byte_w );
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
// construction/destruction
c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -66,6 +47,10 @@ 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_cbm_iec_interface overrides
virtual void cbm_iec_atn(int state) override;
virtual void cbm_iec_reset(int state) override;
@@ -74,6 +59,9 @@ protected:
virtual void parallel_data_w(uint8_t data) override;
virtual void parallel_strobe_w(int state) override;
+ required_device<floppy_image_device> m_floppy;
+
+private:
enum
{
LED_POWER = 0,
@@ -82,11 +70,24 @@ protected:
inline void set_iec_data();
+ DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
+ virtual DECLARE_READ8_MEMBER( via0_pa_r );
+ DECLARE_WRITE8_MEMBER( via0_pa_w );
+ DECLARE_READ8_MEMBER( via0_pb_r );
+ DECLARE_WRITE8_MEMBER( via0_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( via0_ca2_w );
+ DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
+ DECLARE_READ8_MEMBER( via1_pb_r );
+ DECLARE_WRITE8_MEMBER( via1_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( atn_w );
+ DECLARE_WRITE_LINE_MEMBER( byte_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<m6502_device> m_maincpu;
required_device<via6522_device> m_via0;
required_device<via6522_device> m_via1;
required_device<c64h156_device> m_ga;
- required_device<floppy_image_device> m_floppy;
required_ioport m_address;
// IEC bus
@@ -106,6 +107,7 @@ public:
// construction/destruction
c1540_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;
};
@@ -119,6 +121,7 @@ public:
// construction/destruction
c1541_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;
};
@@ -132,10 +135,12 @@ public:
// construction/destruction
c1541c_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:
// not really public
virtual DECLARE_READ8_MEMBER( via0_pa_r ) override;
};
@@ -149,6 +154,7 @@ public:
// construction/destruction
c1541ii_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;
};
@@ -162,6 +168,7 @@ public:
// construction/destruction
sx1541_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;
};
@@ -175,6 +182,7 @@ public:
// construction/destruction
fsd1_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;
};
@@ -188,6 +196,7 @@ public:
// construction/destruction
fsd2_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;
@@ -204,6 +213,7 @@ public:
// construction/destruction
csd1_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;
};
@@ -217,9 +227,10 @@ public:
// construction/destruction
c1541_dolphin_dos_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;
};
@@ -231,9 +242,10 @@ public:
// construction/destruction
c1541_professional_dos_v1_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;
};
@@ -245,25 +257,27 @@ public:
// construction/destruction
c1541_prologic_dos_classic_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;
-
// not really public
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
+protected:
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
DECLARE_READ8_MEMBER( pia_r );
DECLARE_WRITE8_MEMBER( pia_w );
- DECLARE_WRITE8_MEMBER( pia_pa_w );
- DECLARE_READ8_MEMBER( pia_pb_r );
- DECLARE_WRITE8_MEMBER( pia_pb_w );
-
protected:
required_device<pia6821_device> m_pia;
required_device<output_latch_device> m_cent_data_out;
required_memory_region m_mmu_rom;
+
+private:
+ DECLARE_WRITE8_MEMBER( pia_pa_w );
+ DECLARE_READ8_MEMBER( pia_pb_r );
+ DECLARE_WRITE8_MEMBER( pia_pb_w );
};
@@ -275,6 +289,7 @@ public:
// construction/destruction
indus_gt_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;
};
diff --git a/src/devices/bus/cbmiec/c1571.cpp b/src/devices/bus/cbmiec/c1571.cpp
index 4c9041df1f4..a3f1ffd0ffd 100644
--- a/src/devices/bus/cbmiec/c1571.cpp
+++ b/src/devices/bus/cbmiec/c1571.cpp
@@ -597,10 +597,10 @@ static SLOT_INTERFACE_START( mini_chief_isa8_cards )
SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_DRIVER( c1570 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c1570 )
+MACHINE_CONFIG_MEMBER( c1570_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c1571_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -636,22 +636,7 @@ static MACHINE_CONFIG_START( c1570 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1570_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1570 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1571 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1571 )
+MACHINE_CONFIG_MEMBER( c1571_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c1571_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -687,22 +672,7 @@ static MACHINE_CONFIG_START( c1571 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1571_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1571 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( c1571cr )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( c1571cr )
+MACHINE_CONFIG_MEMBER( c1571cr_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(c1571_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -732,22 +702,7 @@ static MACHINE_CONFIG_START( c1571cr )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1571cr_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1571cr );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( mini_chief )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( mini_chief )
+MACHINE_CONFIG_MEMBER( mini_chief_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
MCFG_CPU_PROGRAM_MAP(mini_chief_mem)
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
@@ -788,17 +743,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor mini_chief_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mini_chief );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c1571 )
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/c1571.h b/src/devices/bus/cbmiec/c1571.h
index 3bc5b287b98..1864313fe8c 100644
--- a/src/devices/bus/cbmiec/c1571.h
+++ b/src/devices/bus/cbmiec/c1571.h
@@ -43,11 +43,6 @@ public:
// construction/destruction
c1571_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_WRITE_LINE_MEMBER( via0_irq_w );
DECLARE_READ8_MEMBER( via0_pa_r );
DECLARE_WRITE8_MEMBER( via0_pa_w );
@@ -80,6 +75,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_cbm_iec_interface overrides
virtual void cbm_iec_srq(int state) override;
virtual void cbm_iec_atn(int state) override;
@@ -131,9 +131,10 @@ public:
// construction/destruction
c1570_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;
};
@@ -145,10 +146,12 @@ public:
// construction/destruction
c1571cr_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_WRITE8_MEMBER( via0_pa_w );
DECLARE_WRITE8_MEMBER( via0_pb_w );
};
@@ -162,10 +165,12 @@ public:
// construction/destruction
mini_chief_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_READ8_MEMBER( cia_pa_r );
DECLARE_WRITE8_MEMBER( cia_pa_w );
DECLARE_WRITE8_MEMBER( cia_pb_w );
diff --git a/src/devices/bus/cbmiec/c1581.cpp b/src/devices/bus/cbmiec/c1581.cpp
index 0f70bb013fc..c5bfb3d40fb 100644
--- a/src/devices/bus/cbmiec/c1581.cpp
+++ b/src/devices/bus/cbmiec/c1581.cpp
@@ -262,10 +262,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_DRIVER( c1581 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c1581 )
+MACHINE_CONFIG_MEMBER( c1581_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/8)
MCFG_CPU_PROGRAM_MAP(c1581_mem)
@@ -284,17 +284,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c1581_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c1581 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c1581 )
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/c1581.h b/src/devices/bus/cbmiec/c1581.h
index 77d60400e8c..46d60c05e56 100644
--- a/src/devices/bus/cbmiec/c1581.h
+++ b/src/devices/bus/cbmiec/c1581.h
@@ -39,21 +39,6 @@ public:
// construction/destruction
c1581_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_WRITE_LINE_MEMBER( cnt_w );
- DECLARE_WRITE_LINE_MEMBER( sp_w );
- DECLARE_READ8_MEMBER( cia_pa_r );
- DECLARE_WRITE8_MEMBER( cia_pa_w );
- DECLARE_READ8_MEMBER( cia_pb_r );
- DECLARE_WRITE8_MEMBER( cia_pb_w );
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
c1581_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -61,12 +46,18 @@ 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_cbm_iec_interface overrides
virtual void cbm_iec_srq(int state) override;
virtual void cbm_iec_atn(int state) override;
virtual void cbm_iec_data(int state) override;
virtual void cbm_iec_reset(int state) override;
+private:
enum
{
LED_POWER = 0,
@@ -75,6 +66,15 @@ protected:
void update_iec();
+ DECLARE_WRITE_LINE_MEMBER( cnt_w );
+ DECLARE_WRITE_LINE_MEMBER( sp_w );
+ DECLARE_READ8_MEMBER( cia_pa_r );
+ DECLARE_WRITE8_MEMBER( cia_pa_w );
+ DECLARE_READ8_MEMBER( cia_pb_r );
+ DECLARE_WRITE8_MEMBER( cia_pb_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<cpu_device> m_maincpu;
required_device<mos6526_device> m_cia;
required_device<wd1772_device> m_fdc;
diff --git a/src/devices/bus/cbmiec/cmdhd.cpp b/src/devices/bus/cbmiec/cmdhd.cpp
index 26d91a44cbf..41c1c86a54d 100644
--- a/src/devices/bus/cbmiec/cmdhd.cpp
+++ b/src/devices/bus/cbmiec/cmdhd.cpp
@@ -73,10 +73,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( cmd_hd )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( cmd_hd )
+MACHINE_CONFIG_MEMBER( cmd_hd_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M6502, 2000000)
MCFG_CPU_PROGRAM_MAP(cmd_hd_mem)
@@ -90,17 +90,6 @@ static MACHINE_CONFIG_START( cmd_hd )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor cmd_hd_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cmd_hd );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cbmiec/cmdhd.h b/src/devices/bus/cbmiec/cmdhd.h
index e648f379281..5b19ef10656 100644
--- a/src/devices/bus/cbmiec/cmdhd.h
+++ b/src/devices/bus/cbmiec/cmdhd.h
@@ -40,10 +40,6 @@ public:
// construction/destruction
cmd_hd_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( led_w );
protected:
@@ -51,6 +47,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_cbm_iec_interface overrides
void cbm_iec_srq(int state) override;
void cbm_iec_atn(int state) override;
diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp
index 3a9618bd61e..6f5cc650245 100644
--- a/src/devices/bus/cbmiec/fd2000.cpp
+++ b/src/devices/bus/cbmiec/fd2000.cpp
@@ -77,16 +77,13 @@ ROM_END
const tiny_rom_entry *fd2000_device::device_rom_region() const
{
- switch (m_variant)
- {
- default:
- return ROM_NAME( fd2000 );
-
- case TYPE_FD4000:
- return ROM_NAME( fd4000 );
- }
+ return ROM_NAME( fd2000 );
}
+const tiny_rom_entry *fd4000_device::device_rom_region() const
+{
+ return ROM_NAME( fd4000 );
+}
//-------------------------------------------------
// ADDRESS_MAP( fd2000_mem )
@@ -209,11 +206,12 @@ FLOPPY_FORMATS_MEMBER( fd2000_device::floppy_formats )
FLOPPY_FORMATS_END
*/
+
//-------------------------------------------------
-// MACHINE_DRIVER( fd2000 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( fd2000 )
+MACHINE_CONFIG_MEMBER( fd2000_device::device_add_mconfig )
MCFG_CPU_ADD(G65SC02PI2_TAG, M65C02, XTAL_24MHz/12)
MCFG_CPU_PROGRAM_MAP(fd2000_mem)
@@ -229,11 +227,7 @@ static MACHINE_CONFIG_START( fd2000 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// MACHINE_DRIVER( fd4000 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( fd4000 )
+MACHINE_CONFIG_MEMBER( fd4000_device::device_add_mconfig )
MCFG_CPU_ADD(R65C02P4_TAG, M65C02, XTAL_24MHz/6)
MCFG_CPU_PROGRAM_MAP(fd4000_mem)
@@ -249,24 +243,6 @@ static MACHINE_CONFIG_START( fd4000 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor fd2000_device::device_mconfig_additions() const
-{
- switch (m_variant)
- {
- default:
- return MACHINE_CONFIG_NAME( fd2000 );
-
- case TYPE_FD4000:
- return MACHINE_CONFIG_NAME( fd4000 );
- }
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
@@ -276,17 +252,16 @@ machine_config_constructor fd2000_device::device_mconfig_additions() const
//-------------------------------------------------
fd2000_device::fd2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : fd2000_device(mconfig, FD2000, tag, owner, clock, TYPE_FD2000)
+ : fd2000_device(mconfig, FD2000, tag, owner, clock)
{
}
-fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant)
+fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
, device_cbm_iec_interface(mconfig, *this)
- , m_maincpu(*this, R65C02P4_TAG)
- , m_fdc(*this, PC8477AV1_TAG)
- , m_floppy0(*this, PC8477AV1_TAG":0")
- , m_variant(variant)
+ , m_maincpu(*this, G65SC02PI2_TAG)
+ , m_fdc(*this, DP8473V_TAG)
+ , m_floppy0(*this, DP8473V_TAG":0")
{
}
@@ -296,8 +271,11 @@ fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, co
//-------------------------------------------------
fd4000_device::fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : fd2000_device(mconfig, FD4000, tag, owner, clock, TYPE_FD4000)
+ : fd2000_device(mconfig, FD4000, tag, owner, clock)
{
+ m_maincpu.set_tag(R65C02P4_TAG);
+ m_fdc.set_tag(PC8477AV1_TAG);
+ m_floppy0.set_tag(PC8477AV1_TAG":0");
}
diff --git a/src/devices/bus/cbmiec/fd2000.h b/src/devices/bus/cbmiec/fd2000.h
index 4623a0d8d10..0331ce535de 100644
--- a/src/devices/bus/cbmiec/fd2000.h
+++ b/src/devices/bus/cbmiec/fd2000.h
@@ -40,10 +40,6 @@ public:
// construction/destruction
fd2000_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( via_pa_r );
DECLARE_WRITE8_MEMBER( via_pa_w );
DECLARE_READ8_MEMBER( via_pb_r );
@@ -52,18 +48,16 @@ public:
//DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
- enum
- {
- TYPE_FD2000,
- TYPE_FD4000
- };
-
- fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant);
+ fd2000_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 const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_cbm_iec_interface overrides
void cbm_iec_srq(int state) override;
void cbm_iec_atn(int state) override;
@@ -73,8 +67,6 @@ protected:
required_device<m65c02_device> m_maincpu;
required_device<upd765_family_device> m_fdc;
required_device<floppy_connector> m_floppy0;
-
- int m_variant;
};
@@ -85,6 +77,10 @@ class fd4000_device : public fd2000_device
public:
// construction/destruction
fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/devices/bus/cbmiec/interpod.cpp b/src/devices/bus/cbmiec/interpod.cpp
index deeca37da91..d645e065513 100644
--- a/src/devices/bus/cbmiec/interpod.cpp
+++ b/src/devices/bus/cbmiec/interpod.cpp
@@ -120,10 +120,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( interpod )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( interpod )
+MACHINE_CONFIG_MEMBER( interpod_device::device_add_mconfig )
MCFG_CPU_ADD(R6502_TAG, M6502, 1000000)
MCFG_CPU_PROGRAM_MAP(interpod_mem)
@@ -135,17 +135,6 @@ static MACHINE_CONFIG_START( interpod )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor interpod_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( interpod );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/cbmiec/interpod.h b/src/devices/bus/cbmiec/interpod.h
index b33eb8bcd86..b7345ea7377 100644
--- a/src/devices/bus/cbmiec/interpod.h
+++ b/src/devices/bus/cbmiec/interpod.h
@@ -49,15 +49,15 @@ public:
// construction/destruction
interpod_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;
-
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;
+
required_device<cpu_device> m_maincpu;
required_device<via6522_device> m_via;
required_device<mos6532_new_device> m_riot;
diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp
index 03ba96f6690..686710c3055 100644
--- a/src/devices/bus/cbmiec/serialbox.cpp
+++ b/src/devices/bus/cbmiec/serialbox.cpp
@@ -65,26 +65,15 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( serial_box )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( serial_box )
+MACHINE_CONFIG_MEMBER( serial_box_device::device_add_mconfig )
MCFG_CPU_ADD(M6502_TAG, M65C02, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(serial_box_mem)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor serial_box_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( serial_box );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cbmiec/serialbox.h b/src/devices/bus/cbmiec/serialbox.h
index 67fa9feacf5..8633e374ec2 100644
--- a/src/devices/bus/cbmiec/serialbox.h
+++ b/src/devices/bus/cbmiec/serialbox.h
@@ -36,15 +36,15 @@ public:
// construction/destruction
serial_box_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;
-
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;
+
// device_cbm_iec_interface overrides
void cbm_iec_atn(int state) override;
void cbm_iec_data(int state) override;
diff --git a/src/devices/bus/cbmiec/vic1515.cpp b/src/devices/bus/cbmiec/vic1515.cpp
index 8ef5a1ae986..a647aff8456 100644
--- a/src/devices/bus/cbmiec/vic1515.cpp
+++ b/src/devices/bus/cbmiec/vic1515.cpp
@@ -56,10 +56,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( vic1515 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( vic1515 )
+MACHINE_CONFIG_MEMBER( vic1515_device::device_add_mconfig )
MCFG_CPU_ADD("maincpu", I8039, XTAL_6MHz)
MCFG_CPU_PROGRAM_MAP(vic1515_mem)
MCFG_CPU_IO_MAP(vic1515_io)
@@ -67,17 +67,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor vic1515_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vic1515 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( vic1515 )
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/vic1515.h b/src/devices/bus/cbmiec/vic1515.h
index ca5452aa35c..7c6876897bc 100644
--- a/src/devices/bus/cbmiec/vic1515.h
+++ b/src/devices/bus/cbmiec/vic1515.h
@@ -28,16 +28,16 @@ public:
// construction/destruction
vic1515_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;
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_cbm_iec_interface overrides
void cbm_iec_atn(int state) override;
void cbm_iec_data(int state) override;
diff --git a/src/devices/bus/cbmiec/vic1520.cpp b/src/devices/bus/cbmiec/vic1520.cpp
index c8743a6ac3b..25297765dae 100644
--- a/src/devices/bus/cbmiec/vic1520.cpp
+++ b/src/devices/bus/cbmiec/vic1520.cpp
@@ -90,27 +90,16 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( vic1520 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( vic1520 )
+MACHINE_CONFIG_MEMBER( vic1520_device::device_add_mconfig )
MCFG_CPU_ADD(M6500_1_TAG, M6502, XTAL_2MHz) // M6500/1
MCFG_CPU_PROGRAM_MAP(vic1520_mem)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor vic1520_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( vic1520 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( vic1520 )
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/vic1520.h b/src/devices/bus/cbmiec/vic1520.h
index b39fa85b9b1..dba79b29618 100644
--- a/src/devices/bus/cbmiec/vic1520.h
+++ b/src/devices/bus/cbmiec/vic1520.h
@@ -28,16 +28,16 @@ public:
// construction/destruction
vic1520_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;
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_cbm_iec_interface overrides
void cbm_iec_atn(int state) override;
void cbm_iec_data(int state) override;
diff --git a/src/devices/bus/centronics/comxpl80.cpp b/src/devices/bus/centronics/comxpl80.cpp
index f50d9782dae..7fa35d5b117 100644
--- a/src/devices/bus/centronics/comxpl80.cpp
+++ b/src/devices/bus/centronics/comxpl80.cpp
@@ -95,10 +95,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( comxpl80 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( comxpl80 )
+MACHINE_CONFIG_MEMBER( comx_pl80_device::device_add_mconfig )
MCFG_CPU_ADD(CX005_TAG, M6805, 4000000) // CX005: some kind of MC6805/MC68HC05 clone
MCFG_CPU_PROGRAM_MAP(comxpl80_mem)
MCFG_CPU_IO_MAP(comxpl80_io)
@@ -107,17 +107,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor comx_pl80_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( comxpl80 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( comxpl80 )
//-------------------------------------------------
diff --git a/src/devices/bus/centronics/comxpl80.h b/src/devices/bus/centronics/comxpl80.h
index 2fbb809fd3b..8aca17e287b 100644
--- a/src/devices/bus/centronics/comxpl80.h
+++ b/src/devices/bus/centronics/comxpl80.h
@@ -29,11 +29,6 @@ public:
// construction/destruction
comx_pl80_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_WRITE8_MEMBER( pa_w );
DECLARE_WRITE8_MEMBER( pb_w );
@@ -45,6 +40,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;
+
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; }
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; }
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; }
diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp
index 76cb4cdb93c..5b55412a4c8 100644
--- a/src/devices/bus/centronics/covox.cpp
+++ b/src/devices/bus/centronics/covox.cpp
@@ -18,14 +18,6 @@
// device type definition
DEFINE_DEVICE_TYPE(CENTRONICS_COVOX, centronics_covox_device, "covox", "Covox Speech Thing")
-static MACHINE_CONFIG_START( covox )
- /* sound hardware */
- MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- 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
-
/***************************************************************************
IMPLEMENTATION
@@ -43,14 +35,16 @@ centronics_covox_device::centronics_covox_device(const machine_config &mconfig,
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor centronics_covox_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( covox );
-}
+MACHINE_CONFIG_MEMBER( centronics_covox_device::device_add_mconfig )
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_MONO("speaker")
+ MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ 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
void centronics_covox_device::device_start()
{
@@ -70,16 +64,6 @@ void centronics_covox_device::update_dac()
// device type definition
DEFINE_DEVICE_TYPE(CENTRONICS_COVOX_STEREO, centronics_covox_stereo_device, "covox_stereo", "Covox (Stereo-in-1)")
-static MACHINE_CONFIG_START( covox_stereo )
- /* sound hardware */
- MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
- MCFG_SOUND_ADD("rdac", DAC_8BIT_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_END
-
/***************************************************************************
IMPLEMENTATION
@@ -100,14 +84,18 @@ centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_con
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor centronics_covox_stereo_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( covox_stereo );
-}
+MACHINE_CONFIG_MEMBER( centronics_covox_stereo_device::device_add_mconfig )
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
+ MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
+ MCFG_SOUND_ADD("rdac", DAC_8BIT_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_END
void centronics_covox_stereo_device::device_start()
{
diff --git a/src/devices/bus/centronics/covox.h b/src/devices/bus/centronics/covox.h
index 969065c117a..da6ed1063aa 100644
--- a/src/devices/bus/centronics/covox.h
+++ b/src/devices/bus/centronics/covox.h
@@ -23,13 +23,13 @@ public:
// construction/destruction
centronics_covox_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;
+
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; update_dac(); }
@@ -59,13 +59,13 @@ public:
// construction/destruction
centronics_covox_stereo_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;
+
virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { m_strobe = state; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp
index 6618d32af11..050a3840f35 100644
--- a/src/devices/bus/centronics/digiblst.cpp
+++ b/src/devices/bus/centronics/digiblst.cpp
@@ -18,14 +18,6 @@
// device type definition
DEFINE_DEVICE_TYPE(CENTRONICS_DIGIBLASTER, centronics_digiblaster_device, "digiblst", "Digiblaster (DIY)")
-static MACHINE_CONFIG_START( digiblst )
- /* sound hardware */
- MCFG_SPEAKER_STANDARD_MONO("speaker")
- MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- 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
-
/***************************************************************************
IMPLEMENTATION
@@ -43,14 +35,16 @@ centronics_digiblaster_device::centronics_digiblaster_device(const machine_confi
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor centronics_digiblaster_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( digiblst );
-}
+MACHINE_CONFIG_MEMBER( centronics_digiblaster_device::device_add_mconfig )
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_MONO("speaker")
+ MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ 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
void centronics_digiblaster_device::device_start()
{
diff --git a/src/devices/bus/centronics/digiblst.h b/src/devices/bus/centronics/digiblst.h
index 4521b8a2a6b..d6c40cec78c 100644
--- a/src/devices/bus/centronics/digiblst.h
+++ b/src/devices/bus/centronics/digiblst.h
@@ -29,13 +29,13 @@ public:
// construction/destruction
centronics_digiblaster_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;
+
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; update_dac(); }
diff --git a/src/devices/bus/centronics/epson_ex800.cpp b/src/devices/bus/centronics/epson_ex800.cpp
index 2aac8b5e68a..45dd6588e55 100644
--- a/src/devices/bus/centronics/epson_ex800.cpp
+++ b/src/devices/bus/centronics/epson_ex800.cpp
@@ -212,10 +212,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( epson_ex800 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( epson_ex800 )
+MACHINE_CONFIG_MEMBER( epson_ex800_device::device_add_mconfig )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, 12000000) /* 12 MHz? */
MCFG_CPU_PROGRAM_MAP(ex800_mem)
@@ -235,17 +235,6 @@ static MACHINE_CONFIG_START( epson_ex800 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor epson_ex800_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( epson_ex800 );
-}
-
-
/* The ON LINE switch is directly connected to the INT1 input of the CPU */
INPUT_CHANGED_MEMBER(epson_ex800_device::online_switch)
{
diff --git a/src/devices/bus/centronics/epson_ex800.h b/src/devices/bus/centronics/epson_ex800.h
index 453670750d5..b559f7f5c2f 100644
--- a/src/devices/bus/centronics/epson_ex800.h
+++ b/src/devices/bus/centronics/epson_ex800.h
@@ -30,17 +30,6 @@ public:
// construction/destruction
epson_ex800_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(porta_r);
- DECLARE_READ8_MEMBER(portb_r);
- DECLARE_READ8_MEMBER(portc_r);
- DECLARE_WRITE8_MEMBER(porta_w);
- DECLARE_WRITE8_MEMBER(portb_w);
- DECLARE_WRITE8_MEMBER(portc_w);
DECLARE_READ8_MEMBER(devsel_r);
DECLARE_WRITE8_MEMBER(devsel_w);
DECLARE_READ8_MEMBER(gate5a_r);
@@ -57,7 +46,19 @@ 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;
+
private:
+ DECLARE_READ8_MEMBER(porta_r);
+ DECLARE_READ8_MEMBER(portb_r);
+ DECLARE_READ8_MEMBER(portc_r);
+ DECLARE_WRITE8_MEMBER(porta_w);
+ DECLARE_WRITE8_MEMBER(portb_w);
+ DECLARE_WRITE8_MEMBER(portc_w);
+
required_device<cpu_device> m_maincpu;
required_device<beep_device> m_beeper;
diff --git a/src/devices/bus/centronics/epson_lx800.cpp b/src/devices/bus/centronics/epson_lx800.cpp
index 1cc732b5746..cfe0263172e 100644
--- a/src/devices/bus/centronics/epson_lx800.cpp
+++ b/src/devices/bus/centronics/epson_lx800.cpp
@@ -63,10 +63,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( epson_lx800 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( epson_lx800 )
+MACHINE_CONFIG_MEMBER( epson_lx800_device::device_add_mconfig )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
MCFG_CPU_PROGRAM_MAP(lx800_mem)
@@ -99,17 +99,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor epson_lx800_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( epson_lx800 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( epson_lx800 )
//-------------------------------------------------
diff --git a/src/devices/bus/centronics/epson_lx800.h b/src/devices/bus/centronics/epson_lx800.h
index 2cf67beb9eb..bb2f605f374 100644
--- a/src/devices/bus/centronics/epson_lx800.h
+++ b/src/devices/bus/centronics/epson_lx800.h
@@ -31,19 +31,29 @@ public:
// construction/destruction
epson_lx800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ DECLARE_READ8_MEMBER(centronics_data_r);
+ DECLARE_WRITE_LINE_MEMBER(centronics_pe_w);
+ DECLARE_WRITE_LINE_MEMBER(paperempty_led_w);
+ DECLARE_WRITE_LINE_MEMBER(reset_w);
+
+protected:
+ epson_lx800_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 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_READ8_MEMBER(porta_r);
DECLARE_WRITE8_MEMBER(porta_w);
DECLARE_READ8_MEMBER(portc_r);
DECLARE_WRITE8_MEMBER(portc_w);
- DECLARE_READ8_MEMBER(centronics_data_r);
- DECLARE_WRITE_LINE_MEMBER(centronics_pe_w);
- DECLARE_WRITE_LINE_MEMBER(paperempty_led_w);
- DECLARE_WRITE_LINE_MEMBER(reset_w);
+
DECLARE_READ_LINE_MEMBER(an0_r);
DECLARE_READ_LINE_MEMBER(an1_r);
DECLARE_READ_LINE_MEMBER(an2_r);
@@ -51,14 +61,6 @@ public:
DECLARE_READ_LINE_MEMBER(an4_r);
DECLARE_READ_LINE_MEMBER(an5_r);
-protected:
- epson_lx800_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;
-
-private:
required_device<cpu_device> m_maincpu;
required_device<beep_device> m_beep;
};
diff --git a/src/devices/bus/centronics/epson_lx810l.cpp b/src/devices/bus/centronics/epson_lx810l.cpp
index b8afcd7906f..e9dbe316d30 100644
--- a/src/devices/bus/centronics/epson_lx810l.cpp
+++ b/src/devices/bus/centronics/epson_lx810l.cpp
@@ -106,10 +106,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( epson_lx810l )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( epson_lx810l )
+MACHINE_CONFIG_MEMBER( epson_lx810l_device::device_add_mconfig )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
MCFG_CPU_PROGRAM_MAP(lx810l_mem)
@@ -172,16 +172,6 @@ static MACHINE_CONFIG_START( epson_lx810l )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor epson_lx810l_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( epson_lx810l );
-}
-
/***************************************************************************
INPUT PORTS
diff --git a/src/devices/bus/centronics/epson_lx810l.h b/src/devices/bus/centronics/epson_lx810l.h
index 429266de8e4..d8add7e8b4e 100644
--- a/src/devices/bus/centronics/epson_lx810l.h
+++ b/src/devices/bus/centronics/epson_lx810l.h
@@ -41,11 +41,42 @@ public:
// construction/destruction
epson_lx810l_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ /* fake memory I/O to get past memory reset check */
+ DECLARE_READ8_MEMBER(fakemem_r);
+ DECLARE_WRITE8_MEMBER(fakemem_w);
+
+ /* Centronics stuff */
+ virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { if (m_e05a30) m_e05a30->centronics_input_strobe(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (m_e05a30) m_e05a30->centronics_input_data0(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (m_e05a30) m_e05a30->centronics_input_data1(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (m_e05a30) m_e05a30->centronics_input_data2(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) override { if (m_e05a30) m_e05a30->centronics_input_data3(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) override { if (m_e05a30) m_e05a30->centronics_input_data4(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) override { if (m_e05a30) m_e05a30->centronics_input_data5(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) override { if (m_e05a30) m_e05a30->centronics_input_data6(state); }
+ virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (m_e05a30) m_e05a30->centronics_input_data7(state); }
+
+ /* Panel buttons */
+ DECLARE_INPUT_CHANGED_MEMBER(online_sw);
+
+ /* Video hardware (simulates paper) */
+#define uabs(x) ((x) > 0 ? (x) : -(x))
+ unsigned int bitmap_line(int i) { return ((uabs(m_pf_pos_abs) / 6) + i) % m_bitmap.height(); }
+
+protected:
+ epson_lx810l_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;
+ 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 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_READ8_MEMBER(porta_r);
DECLARE_WRITE8_MEMBER(porta_w);
DECLARE_READ8_MEMBER(portb_r);
@@ -66,49 +97,22 @@ public:
DECLARE_READ8_MEMBER(an6_r);
DECLARE_READ8_MEMBER(an7_r);
- /* fake memory I/O to get past memory reset check */
- DECLARE_READ8_MEMBER(fakemem_r);
- DECLARE_WRITE8_MEMBER(fakemem_w);
-
+
/* GATE ARRAY */
DECLARE_WRITE16_MEMBER(printhead);
DECLARE_WRITE8_MEMBER(pf_stepper);
DECLARE_WRITE8_MEMBER(cr_stepper);
DECLARE_WRITE_LINE_MEMBER(e05a30_ready);
- /* Centronics stuff */
- virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { if (m_e05a30) m_e05a30->centronics_input_strobe(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (m_e05a30) m_e05a30->centronics_input_data0(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (m_e05a30) m_e05a30->centronics_input_data1(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (m_e05a30) m_e05a30->centronics_input_data2(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) override { if (m_e05a30) m_e05a30->centronics_input_data3(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) override { if (m_e05a30) m_e05a30->centronics_input_data4(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) override { if (m_e05a30) m_e05a30->centronics_input_data5(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) override { if (m_e05a30) m_e05a30->centronics_input_data6(state); }
- virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (m_e05a30) m_e05a30->centronics_input_data7(state); }
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_ack) { output_ack(state); }
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_busy) { output_busy(state); }
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_perror) { output_perror(state); }
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_fault) { output_fault(state); }
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_select) { output_select(state); }
- /* Panel buttons */
- DECLARE_INPUT_CHANGED_MEMBER(online_sw);
-
/* Video hardware (simulates paper) */
uint32_t screen_update_lx810l(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-#define uabs(x) ((x) > 0 ? (x) : -(x))
- unsigned int bitmap_line(int i) { return ((uabs(m_pf_pos_abs) / 6) + i) % m_bitmap.height(); }
-
-protected:
- epson_lx810l_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;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
-private:
required_device<cpu_device> m_maincpu;
required_device<stepper_device> m_pf_stepper;
required_device<stepper_device> m_cr_stepper;
diff --git a/src/devices/bus/centronics/nec_p72.cpp b/src/devices/bus/centronics/nec_p72.cpp
index b0f696acfce..ba0276a61fb 100644
--- a/src/devices/bus/centronics/nec_p72.cpp
+++ b/src/devices/bus/centronics/nec_p72.cpp
@@ -45,26 +45,16 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( nec_p72 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( nec_p72 )
+MACHINE_CONFIG_MEMBER( nec_p72_device::device_add_mconfig )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", V33, XTAL_16MHz/2) /* TODO it's actually a V40 */
MCFG_CPU_PROGRAM_MAP(p72_mem)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor nec_p72_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( nec_p72 );
-}
-
//-------------------------------------------------
// device_start - device-specific startup
diff --git a/src/devices/bus/centronics/nec_p72.h b/src/devices/bus/centronics/nec_p72.h
index c34e1886c17..fd50e36b447 100644
--- a/src/devices/bus/centronics/nec_p72.h
+++ b/src/devices/bus/centronics/nec_p72.h
@@ -22,16 +22,16 @@ public:
// construction/destruction
nec_p72_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;
-
protected:
nec_p72_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 const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
required_device<cpu_device> m_maincpu;
};
diff --git a/src/devices/bus/centronics/printer.cpp b/src/devices/bus/centronics/printer.cpp
index beb2deaf853..ff926f5ad7e 100644
--- a/src/devices/bus/centronics/printer.cpp
+++ b/src/devices/bus/centronics/printer.cpp
@@ -11,12 +11,6 @@
DEFINE_DEVICE_TYPE(CENTRONICS_PRINTER, centronics_printer_device, "centronics_printer", "Centronics Printer")
-static MACHINE_CONFIG_START( centronics_printer )
- MCFG_DEVICE_ADD("printer", PRINTER, 0)
- MCFG_PRINTER_ONLINE_CB(WRITELINE(centronics_printer_device, printer_online))
-MACHINE_CONFIG_END
-
-
/***************************************************************************
IMPLEMENTATION
***************************************************************************/
@@ -34,14 +28,14 @@ centronics_printer_device::centronics_printer_device(const machine_config &mconf
{
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor centronics_printer_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( centronics_printer );
-}
+
+MACHINE_CONFIG_MEMBER( centronics_printer_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("printer", PRINTER, 0)
+ MCFG_PRINTER_ONLINE_CB(WRITELINE(centronics_printer_device, printer_online))
+MACHINE_CONFIG_END
/*-------------------------------------------------
printer_online - callback that
diff --git a/src/devices/bus/centronics/printer.h b/src/devices/bus/centronics/printer.h
index 9e1f358c569..df767a9c5ab 100644
--- a/src/devices/bus/centronics/printer.h
+++ b/src/devices/bus/centronics/printer.h
@@ -28,16 +28,15 @@ public:
virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (state) m_data |= 0x80; else m_data &= ~0x80; }
virtual DECLARE_WRITE_LINE_MEMBER( input_init ) override;
- DECLARE_WRITE_LINE_MEMBER( printer_online );
-
protected:
// device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
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;
private:
+ DECLARE_WRITE_LINE_MEMBER( printer_online );
enum
{
diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp
index d72127203ff..78e159d3ac0 100644
--- a/src/devices/bus/cgenie/expansion/floppy.cpp
+++ b/src/devices/bus/cgenie/expansion/floppy.cpp
@@ -66,11 +66,10 @@ const tiny_rom_entry *cgenie_fdc_device::device_rom_region() const
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( cgenie_fdc )
+MACHINE_CONFIG_MEMBER( cgenie_fdc_device::device_add_mconfig )
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer", cgenie_fdc_device, timer_callback, attotime::from_msec(25))
MCFG_FD1793_ADD("fd1793", XTAL_1MHz)
@@ -90,11 +89,6 @@ static MACHINE_CONFIG_START( cgenie_fdc )
MCFG_SOFTWARE_LIST_ADD("rom_list", "cgenie_flop_rom")
MACHINE_CONFIG_END
-machine_config_constructor cgenie_fdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cgenie_fdc );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cgenie/expansion/floppy.h b/src/devices/bus/cgenie/expansion/floppy.h
index b46f2eee796..0b180810318 100644
--- a/src/devices/bus/cgenie/expansion/floppy.h
+++ b/src/devices/bus/cgenie/expansion/floppy.h
@@ -32,23 +32,23 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(timer_callback);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(socket_load);
-
- DECLARE_WRITE_LINE_MEMBER(intrq_w);
DECLARE_READ8_MEMBER(irq_r);
DECLARE_WRITE8_MEMBER(select_w);
DECLARE_WRITE8_MEMBER(command_w);
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
-
protected:
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 void device_start() override;
virtual void device_reset() override;
private:
+ DECLARE_DEVICE_IMAGE_LOAD_MEMBER(socket_load);
+
+ DECLARE_WRITE_LINE_MEMBER(intrq_w);
+
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
diff --git a/src/devices/bus/cgenie/parallel/printer.cpp b/src/devices/bus/cgenie/parallel/printer.cpp
index 2f106750526..740524306bb 100644
--- a/src/devices/bus/cgenie/parallel/printer.cpp
+++ b/src/devices/bus/cgenie/parallel/printer.cpp
@@ -24,11 +24,10 @@
DEFINE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device, "cgenie_printer", "Printer Interface EG2012")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( cgenie_printer )
+MACHINE_CONFIG_MEMBER( cgenie_printer_device::device_add_mconfig )
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(cgenie_printer_device, busy_w))
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(cgenie_printer_device, perror_w))
@@ -37,11 +36,6 @@ static MACHINE_CONFIG_START( cgenie_printer )
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
MACHINE_CONFIG_END
-machine_config_constructor cgenie_printer_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cgenie_printer );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cgenie/parallel/printer.h b/src/devices/bus/cgenie/parallel/printer.h
index f2a5338be27..6da59e68ea0 100644
--- a/src/devices/bus/cgenie/parallel/printer.h
+++ b/src/devices/bus/cgenie/parallel/printer.h
@@ -27,13 +27,8 @@ public:
// construction/destruction
cgenie_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE_LINE_MEMBER(busy_w);
- DECLARE_WRITE_LINE_MEMBER(perror_w);
- DECLARE_WRITE_LINE_MEMBER(select_w);
- DECLARE_WRITE_LINE_MEMBER(fault_w);
-
protected:
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
virtual void device_reset() override;
@@ -42,6 +37,11 @@ protected:
virtual void pb_w(uint8_t data) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(busy_w);
+ DECLARE_WRITE_LINE_MEMBER(perror_w);
+ DECLARE_WRITE_LINE_MEMBER(select_w);
+ DECLARE_WRITE_LINE_MEMBER(fault_w);
+
required_device<centronics_device> m_centronics;
required_device<output_latch_device> m_latch;
diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp
index 4941b1e6191..a28deba73d1 100644
--- a/src/devices/bus/compis/hrg.cpp
+++ b/src/devices/bus/compis/hrg.cpp
@@ -72,10 +72,10 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels )
//-------------------------------------------------
-// MACHINE_CONFIG_START( hrg )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( hrg )
+MACHINE_CONFIG_MEMBER( compis_hrg_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -93,22 +93,7 @@ static MACHINE_CONFIG_START( hrg )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor compis_hrg_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( hrg );
-}
-
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( uhrg )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( uhrg )
+MACHINE_CONFIG_MEMBER( compis_uhrg_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -126,18 +111,6 @@ static MACHINE_CONFIG_START( uhrg )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor compis_uhrg_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( uhrg );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/compis/hrg.h b/src/devices/bus/compis/hrg.h
index 50dfe882d58..389cb745e94 100644
--- a/src/devices/bus/compis/hrg.h
+++ b/src/devices/bus/compis/hrg.h
@@ -29,11 +29,6 @@ public:
// construction/destruction
compis_hrg_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( display_pixels );
-
protected:
compis_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -41,6 +36,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_compis_graphics_card_interface overrides
virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) override;
virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) override;
@@ -50,6 +48,9 @@ protected:
required_shared_ptr<uint16_t> m_video_ram;
uint8_t m_unk_video;
+
+private:
+ UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
};
@@ -61,9 +62,11 @@ public:
// construction/destruction
compis_uhrg_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:
UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
};
diff --git a/src/devices/bus/compucolor/floppy.cpp b/src/devices/bus/compucolor/floppy.cpp
index 20c79c8d22f..f61a9a706ee 100644
--- a/src/devices/bus/compucolor/floppy.cpp
+++ b/src/devices/bus/compucolor/floppy.cpp
@@ -47,25 +47,14 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_DRIVER( compucolor_floppy )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( compucolor_floppy )
+MACHINE_CONFIG_MEMBER( compucolor_floppy_device::device_add_mconfig )
MCFG_FLOPPY_DRIVE_ADD("floppy", compucolor_floppies, "525sssd", compucolor_floppy_device::floppy_formats)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor compucolor_floppy_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( compucolor_floppy );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/compucolor/floppy.h b/src/devices/bus/compucolor/floppy.h
index 69c6524ab01..0a5c064acf1 100644
--- a/src/devices/bus/compucolor/floppy.h
+++ b/src/devices/bus/compucolor/floppy.h
@@ -74,16 +74,14 @@ public:
// construction/destruction
compucolor_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
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;
+
// device_serial_port_interface overrides
virtual void tx(uint8_t state);
@@ -93,6 +91,8 @@ protected:
virtual void select_w(int state) override;
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<floppy_image_device> m_floppy;
bool read_bit();
diff --git a/src/devices/bus/comx35/clm.cpp b/src/devices/bus/comx35/clm.cpp
index a763a0d8d04..ad371e94f41 100644
--- a/src/devices/bus/comx35/clm.cpp
+++ b/src/devices/bus/comx35/clm.cpp
@@ -133,10 +133,10 @@ GFXDECODE_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( comx_clm )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( comx_clm )
+MACHINE_CONFIG_MEMBER( comx_clm_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
MCFG_SCREEN_SIZE(80*8, 24*8)
@@ -154,18 +154,6 @@ static MACHINE_CONFIG_START( comx_clm )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor comx_clm_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( comx_clm );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/comx35/clm.h b/src/devices/bus/comx35/clm.h
index 4967d386214..d16b23bceb3 100644
--- a/src/devices/bus/comx35/clm.h
+++ b/src/devices/bus/comx35/clm.h
@@ -30,24 +30,23 @@ public:
// construction/destruction
comx_clm_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;
-
- // not really public
- MC6845_UPDATE_ROW( crtc_update_row );
-
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;
+
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) override;
private:
+ MC6845_UPDATE_ROW( crtc_update_row );
+
required_device<mc6845_device> m_crtc;
required_device<palette_device> m_palette;
required_memory_region m_rom;
diff --git a/src/devices/bus/comx35/expbox.cpp b/src/devices/bus/comx35/expbox.cpp
index 21d83bf44e6..25d5c647f60 100644
--- a/src/devices/bus/comx35/expbox.cpp
+++ b/src/devices/bus/comx35/expbox.cpp
@@ -95,10 +95,10 @@ const tiny_rom_entry *comx_eb_device::device_rom_region() const
//-------------------------------------------------
-// MACHINE_CONFIG_START( comx_eb )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( comx_eb )
+MACHINE_CONFIG_MEMBER( comx_eb_device::device_add_mconfig )
MCFG_COMX_EXPANSION_SLOT_ADD(SLOT1_TAG, comx_expansion_cards, "fd")
MCFG_COMX_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(comx_eb_device, slot1_irq_w))
MCFG_COMX_EXPANSION_SLOT_ADD(SLOT2_TAG, comx_expansion_cards, "clm")
@@ -110,17 +110,6 @@ static MACHINE_CONFIG_START( comx_eb )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor comx_eb_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( comx_eb );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/comx35/expbox.h b/src/devices/bus/comx35/expbox.h
index ce266ee0402..4c806a79b92 100644
--- a/src/devices/bus/comx35/expbox.h
+++ b/src/devices/bus/comx35/expbox.h
@@ -36,11 +36,6 @@ public:
// construction/destruction
comx_eb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE_LINE_MEMBER( slot1_irq_w ) { m_irq[0] = state; set_irq(); }
- DECLARE_WRITE_LINE_MEMBER( slot2_irq_w ) { m_irq[1] = state; set_irq(); }
- DECLARE_WRITE_LINE_MEMBER( slot3_irq_w ) { m_irq[2] = state; set_irq(); }
- DECLARE_WRITE_LINE_MEMBER( slot4_irq_w ) { m_irq[3] = state; set_irq(); }
-
protected:
// device-level overrides
virtual void device_start() override;
@@ -48,7 +43,7 @@ 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;
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
@@ -61,6 +56,11 @@ protected:
void set_irq() { m_slot->irq_w(m_irq[0] || m_irq[1] || m_irq[2] || m_irq[3]); }
private:
+ DECLARE_WRITE_LINE_MEMBER( slot1_irq_w ) { m_irq[0] = state; set_irq(); }
+ DECLARE_WRITE_LINE_MEMBER( slot2_irq_w ) { m_irq[1] = state; set_irq(); }
+ DECLARE_WRITE_LINE_MEMBER( slot3_irq_w ) { m_irq[2] = state; set_irq(); }
+ DECLARE_WRITE_LINE_MEMBER( slot4_irq_w ) { m_irq[3] = state; set_irq(); }
+
required_memory_region m_rom;
comx_expansion_slot_device *m_expansion_slot[MAX_EB_SLOTS];
diff --git a/src/devices/bus/comx35/fdc.cpp b/src/devices/bus/comx35/fdc.cpp
index b7273c4a87a..0fbe31a7295 100644
--- a/src/devices/bus/comx35/fdc.cpp
+++ b/src/devices/bus/comx35/fdc.cpp
@@ -92,28 +92,17 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( comx_fd )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( comx_fd )
+MACHINE_CONFIG_MEMBER( comx_fd_device::device_add_mconfig )
MCFG_WD1770_ADD(WD1770_TAG, XTAL_8MHz)
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", comx_fd_floppies, "525sd35t", comx_fd_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":1", comx_fd_floppies, nullptr, comx_fd_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":1", comx_fd_floppies, nullptr, comx_fd_device::floppy_formats)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor comx_fd_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( comx_fd );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/comx35/fdc.h b/src/devices/bus/comx35/fdc.h
index bc23816da98..ee88732e964 100644
--- a/src/devices/bus/comx35/fdc.h
+++ b/src/devices/bus/comx35/fdc.h
@@ -30,17 +30,15 @@ public:
// construction/destruction
comx_fd_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_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;
+
// device_comx_expansion_card_interface overrides
virtual int comx_ef4_r() override;
virtual void comx_q_w(int state) override;
@@ -49,6 +47,8 @@ protected:
virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
// internal state
required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/comx35/printer.cpp b/src/devices/bus/comx35/printer.cpp
index 57f477274d3..b1e5f065070 100644
--- a/src/devices/bus/comx35/printer.cpp
+++ b/src/devices/bus/comx35/printer.cpp
@@ -52,10 +52,10 @@ const tiny_rom_entry *comx_prn_device::device_rom_region() const
//-------------------------------------------------
-// MACHINE_CONFIG_START( comx_prn )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( comx_prn )
+MACHINE_CONFIG_MEMBER( comx_prn_device::device_add_mconfig )
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit0))
MCFG_CENTRONICS_BUSY_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit1))
@@ -67,17 +67,6 @@ static MACHINE_CONFIG_START( comx_prn )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor comx_prn_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( comx_prn );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/comx35/printer.h b/src/devices/bus/comx35/printer.h
index b973982b2f3..dcfd27a7cd1 100644
--- a/src/devices/bus/comx35/printer.h
+++ b/src/devices/bus/comx35/printer.h
@@ -29,15 +29,15 @@ public:
// construction/destruction
comx_prn_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;
-
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;
+
// device_comx_expansion_card_interface overrides
virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp
index cf5252957d3..d6e929bb7b6 100644
--- a/src/devices/bus/cpc/amdrum.cpp
+++ b/src/devices/bus/cpc/amdrum.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * amdrum.c
+ * amdrum.cpp
*
* Created on: 23/08/2014
*/
@@ -20,7 +20,7 @@
DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum")
-static MACHINE_CONFIG_START( cpc_amdrum )
+MACHINE_CONFIG_MEMBER( cpc_amdrum_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
@@ -28,10 +28,6 @@ static MACHINE_CONFIG_START( cpc_amdrum )
// no pass-through
MACHINE_CONFIG_END
-machine_config_constructor cpc_amdrum_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_amdrum );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cpc/amdrum.h b/src/devices/bus/cpc/amdrum.h
index 6f68a506bd5..360f1228c09 100644
--- a/src/devices/bus/cpc/amdrum.h
+++ b/src/devices/bus/cpc/amdrum.h
@@ -27,15 +27,16 @@ public:
// construction/destruction
cpc_amdrum_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_WRITE8_MEMBER(dac_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:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/cpc_pds.cpp b/src/devices/bus/cpc/cpc_pds.cpp
index 8b09fec3590..d897b682c51 100644
--- a/src/devices/bus/cpc/cpc_pds.cpp
+++ b/src/devices/bus/cpc/cpc_pds.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * cpc_pds.c -- CPC interface hardware for the Programmers Development System
+ * cpc_pds.cpp -- CPC interface hardware for the Programmers Development System
*
* Created on: 10/02/2014
*/
@@ -17,19 +17,13 @@
DEFINE_DEVICE_TYPE(CPC_PDS, cpc_pds_device, "cpc_pds", "Programmers Development System (CPC Target)")
-static MACHINE_CONFIG_START( cpc_pds )
+MACHINE_CONFIG_MEMBER( cpc_pds_device::device_add_mconfig )
MCFG_DEVICE_ADD("pio", Z80PIO, XTAL_4MHz) // no clock on the PCB, so will presume that it uses the CPC's clock
// no pass-through seen on remake PCBs, unknown if actual hardware had a pass-through port or not
MACHINE_CONFIG_END
-machine_config_constructor cpc_pds_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_pds );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/cpc/cpc_pds.h b/src/devices/bus/cpc/cpc_pds.h
index 2da3ac96a01..5908a5a75c7 100644
--- a/src/devices/bus/cpc/cpc_pds.h
+++ b/src/devices/bus/cpc/cpc_pds.h
@@ -36,9 +36,6 @@ public:
// construction/destruction
cpc_pds_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(pio_r);
DECLARE_WRITE8_MEMBER(pio_w);
@@ -47,6 +44,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/cpc_rom.cpp b/src/devices/bus/cpc/cpc_rom.cpp
index c8514b6c3f2..86625aced56 100644
--- a/src/devices/bus/cpc/cpc_rom.cpp
+++ b/src/devices/bus/cpc/cpc_rom.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * cpc_rom.c
+ * cpc_rom.cpp
* Amstrad CPC mountable ROM image device
*
*/
@@ -18,7 +18,7 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
//**************************************************************************
// device machine config
-static MACHINE_CONFIG_START( cpc_rom )
+MACHINE_CONFIG_MEMBER( cpc_rom_device::device_add_mconfig )
MCFG_CPC_ROMSLOT_ADD("rom1")
MCFG_CPC_ROMSLOT_ADD("rom2")
MCFG_CPC_ROMSLOT_ADD("rom3")
@@ -38,11 +38,6 @@ static MACHINE_CONFIG_START( cpc_rom )
MACHINE_CONFIG_END
-machine_config_constructor cpc_rom_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_rom );
-}
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/cpc/cpc_rom.h b/src/devices/bus/cpc/cpc_rom.h
index 979134b60e8..0128dc79337 100644
--- a/src/devices/bus/cpc/cpc_rom.h
+++ b/src/devices/bus/cpc/cpc_rom.h
@@ -65,9 +65,6 @@ public:
// construction/destruction
cpc_rom_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;
-
uint8_t* base(uint8_t slot) { if(slot >=1 && slot <= 8) return m_rom[slot]->base(); else return nullptr; }
protected:
@@ -75,6 +72,9 @@ protected:
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_array<cpc_rom_image_device, 8> m_rom;
};
diff --git a/src/devices/bus/cpc/cpc_rs232.cpp b/src/devices/bus/cpc/cpc_rs232.cpp
index b0c96d2ba31..f42c02ea43c 100644
--- a/src/devices/bus/cpc/cpc_rs232.cpp
+++ b/src/devices/bus/cpc/cpc_rs232.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * cpc_rs232.c
+ * cpc_rs232.cpp
*
* Created on: 22/04/2014
*/
@@ -18,8 +18,22 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
DEFINE_DEVICE_TYPE(CPC_RS232, cpc_rs232_device, "cpc_ser", "Pace RS232C interface")
DEFINE_DEVICE_TYPE(CPC_RS232_AMS, cpc_ams_rs232_device, "cpc_serams", "Amstrad RS232C interface")
+ROM_START( cpc_rs232 )
+ ROM_REGION( 0x8000, "exp_rom", 0 )
+ ROM_LOAD( "comstar1.rom", 0x0000, 0x4000, CRC(ddcade50) SHA1(d09ee0bd51a8e1cafc5107a75fed839dda3d21e5) )
+ ROM_LOAD( "comstar2.rom", 0x4000, 0x4000, CRC(664e788c) SHA1(13d033f2d1cad70140deb903d787ba514f236a59) )
+ROM_END
+
+ROM_START( cpc_rs232_ams )
+ ROM_REGION( 0x4000, "exp_rom", 0 )
+ ROM_SYSTEM_BIOS( 0, "amstrad", "Amstrad RS232C interface (v1)" )
+ ROMX_LOAD( "rs232101.rom", 0x0000, 0x2000, CRC(c6eb52b2) SHA1(8a7e0a1183fdde8d07bc8827a3e159ca3022f93b), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS( 1, "mercitel", "Amstrad RS232C interface (v1) + Mercitel (v1.4)" )
+ ROMX_LOAD( "rs232mercitel14.rom", 0x0000, 0x4000, CRC(8ffb114b) SHA1(145233fe8d4db9f5265eeac767d8ee8d45d14755), ROM_BIOS(2) )
+ROM_END
+
// device machine config
-static MACHINE_CONFIG_START( cpc_rs232 )
+MACHINE_CONFIG_MEMBER( cpc_rs232_device::device_add_mconfig )
MCFG_DEVICE_ADD("pit", PIT8253, 0)
MCFG_PIT8253_CLK0(2000000)
MCFG_PIT8253_CLK1(2000000)
@@ -48,25 +62,6 @@ static MACHINE_CONFIG_START( cpc_rs232 )
MACHINE_CONFIG_END
-ROM_START( cpc_rs232 )
- ROM_REGION( 0x8000, "exp_rom", 0 )
- ROM_LOAD( "comstar1.rom", 0x0000, 0x4000, CRC(ddcade50) SHA1(d09ee0bd51a8e1cafc5107a75fed839dda3d21e5) )
- ROM_LOAD( "comstar2.rom", 0x4000, 0x4000, CRC(664e788c) SHA1(13d033f2d1cad70140deb903d787ba514f236a59) )
-ROM_END
-
-ROM_START( cpc_rs232_ams )
- ROM_REGION( 0x4000, "exp_rom", 0 )
- ROM_SYSTEM_BIOS( 0, "amstrad", "Amstrad RS232C interface (v1)" )
- ROMX_LOAD( "rs232101.rom", 0x0000, 0x2000, CRC(c6eb52b2) SHA1(8a7e0a1183fdde8d07bc8827a3e159ca3022f93b), ROM_BIOS(1) )
- ROM_SYSTEM_BIOS( 1, "mercitel", "Amstrad RS232C interface (v1) + Mercitel (v1.4)" )
- ROMX_LOAD( "rs232mercitel14.rom", 0x0000, 0x4000, CRC(8ffb114b) SHA1(145233fe8d4db9f5265eeac767d8ee8d45d14755), ROM_BIOS(2) )
-ROM_END
-
-machine_config_constructor cpc_rs232_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_rs232 );
-}
-
const tiny_rom_entry *cpc_rs232_device::device_rom_region() const
{
return ROM_NAME( cpc_rs232 );
diff --git a/src/devices/bus/cpc/cpc_rs232.h b/src/devices/bus/cpc/cpc_rs232.h
index d6eb4c92d9b..56e7ccd8b4f 100644
--- a/src/devices/bus/cpc/cpc_rs232.h
+++ b/src/devices/bus/cpc/cpc_rs232.h
@@ -22,13 +22,6 @@ public:
// construction/destruction
cpc_rs232_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(pit_out0_w);
- DECLARE_WRITE_LINE_MEMBER(pit_out1_w);
- DECLARE_WRITE_LINE_MEMBER(pit_out2_w);
-
DECLARE_READ8_MEMBER(dart_r);
DECLARE_WRITE8_MEMBER(dart_w);
DECLARE_READ8_MEMBER(pit_r);
@@ -42,11 +35,18 @@ protected:
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
required_device<pit8253_device> m_pit;
required_device<z80dart_device> m_dart;
required_device<rs232_port_device> m_rs232;
private:
+ DECLARE_WRITE_LINE_MEMBER(pit_out0_w);
+ DECLARE_WRITE_LINE_MEMBER(pit_out1_w);
+ DECLARE_WRITE_LINE_MEMBER(pit_out2_w);
+
cpc_expansion_slot_device *m_slot;
};
diff --git a/src/devices/bus/cpc/cpc_ssa1.cpp b/src/devices/bus/cpc/cpc_ssa1.cpp
index af699ebc2ae..3cfbd98d397 100644
--- a/src/devices/bus/cpc/cpc_ssa1.cpp
+++ b/src/devices/bus/cpc/cpc_ssa1.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * cpc_ssa1.c -- Amstrad SSA-1 Speech Synthesiser, dk'Tronics Speech Synthesiser
+ * cpc_ssa1.cpp -- Amstrad SSA-1 Speech Synthesiser, dk'Tronics Speech Synthesiser
*
* Created on: 16/07/2011
*
@@ -115,7 +115,7 @@ const tiny_rom_entry *cpc_dkspeech_device::device_rom_region() const
}
// device machine config
-static MACHINE_CONFIG_START( cpc_ssa1 )
+MACHINE_CONFIG_MEMBER( cpc_ssa1_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sp0256",SP0256,XTAL_3_12MHz)
MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(cpc_ssa1_device, lrq_cb))
@@ -131,7 +131,7 @@ static MACHINE_CONFIG_START( cpc_ssa1 )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( cpc_dkspeech )
+MACHINE_CONFIG_MEMBER( cpc_dkspeech_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sp0256",SP0256,XTAL_4MHz) // uses the CPC's clock from pin 50 of the expansion port
MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(cpc_dkspeech_device, lrq_cb))
@@ -147,15 +147,6 @@ static MACHINE_CONFIG_START( cpc_dkspeech )
MACHINE_CONFIG_END
-machine_config_constructor cpc_ssa1_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_ssa1 );
-}
-
-machine_config_constructor cpc_dkspeech_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_dkspeech );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cpc/cpc_ssa1.h b/src/devices/bus/cpc/cpc_ssa1.h
index da4aafa5a38..0fb2c7a0e87 100644
--- a/src/devices/bus/cpc/cpc_ssa1.h
+++ b/src/devices/bus/cpc/cpc_ssa1.h
@@ -56,10 +56,6 @@ public:
// construction/destruction
cpc_ssa1_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;
-
void set_lrq(uint8_t state) { m_lrq = state; }
uint8_t get_lrq() { return m_lrq; }
void set_sby(uint8_t state) { m_sby = state; }
@@ -67,15 +63,20 @@ public:
DECLARE_READ8_MEMBER(ssa1_r);
DECLARE_WRITE8_MEMBER(ssa1_w);
- DECLARE_WRITE_LINE_MEMBER(lrq_cb);
- DECLARE_WRITE_LINE_MEMBER(sby_cb);
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_WRITE_LINE_MEMBER(lrq_cb);
+ DECLARE_WRITE_LINE_MEMBER(sby_cb);
+
cpc_expansion_slot_device *m_slot;
uint8_t *m_rom;
@@ -92,10 +93,6 @@ public:
// construction/destruction
cpc_dkspeech_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;
-
void set_lrq(uint8_t state) { m_lrq = state; }
uint8_t get_lrq() { return m_lrq; }
void set_sby(uint8_t state) { m_sby = state; }
@@ -103,15 +100,20 @@ public:
DECLARE_READ8_MEMBER(dkspeech_r);
DECLARE_WRITE8_MEMBER(dkspeech_w);
- DECLARE_WRITE_LINE_MEMBER(lrq_cb);
- DECLARE_WRITE_LINE_MEMBER(sby_cb);
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_WRITE_LINE_MEMBER(lrq_cb);
+ DECLARE_WRITE_LINE_MEMBER(sby_cb);
+
cpc_expansion_slot_device *m_slot;
uint8_t *m_rom;
diff --git a/src/devices/bus/cpc/ddi1.cpp b/src/devices/bus/cpc/ddi1.cpp
index 6a89e9a1690..0dc2de0604c 100644
--- a/src/devices/bus/cpc/ddi1.cpp
+++ b/src/devices/bus/cpc/ddi1.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * ddi1.c -- Amstrad DDI-1 Floppy Disk Drive interface
+ * ddi1.cpp -- Amstrad DDI-1 Floppy Disk Drive interface
*/
#include "emu.h"
@@ -39,7 +39,7 @@ const tiny_rom_entry *cpc_ddi1_device::device_rom_region() const
}
// device machine config
-static MACHINE_CONFIG_START( cpc_ddi1 )
+MACHINE_CONFIG_MEMBER( cpc_ddi1_device::device_add_mconfig )
MCFG_UPD765A_ADD("upd765", true, true)
MCFG_FLOPPY_DRIVE_ADD("upd765:0", ddi1_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
@@ -53,10 +53,6 @@ static MACHINE_CONFIG_START( cpc_ddi1 )
MACHINE_CONFIG_END
-machine_config_constructor cpc_ddi1_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_ddi1 );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cpc/ddi1.h b/src/devices/bus/cpc/ddi1.h
index 37d7cd32e1a..f45ea39e3de 100644
--- a/src/devices/bus/cpc/ddi1.h
+++ b/src/devices/bus/cpc/ddi1.h
@@ -22,21 +22,22 @@ public:
// construction/destruction
cpc_ddi1_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 void set_mapping(uint8_t type) override;
- virtual WRITE_LINE_MEMBER( romen_w ) override { m_romen = state; }
-
DECLARE_WRITE8_MEMBER(motor_w);
DECLARE_WRITE8_MEMBER(fdc_w);
DECLARE_READ8_MEMBER(fdc_r);
DECLARE_WRITE8_MEMBER(rombank_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;
+ virtual void set_mapping(uint8_t type) override;
+ virtual WRITE_LINE_MEMBER( romen_w ) override { m_romen = state; }
+
private:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/doubler.cpp b/src/devices/bus/cpc/doubler.cpp
index 11e65f01111..e4073b93cf8 100644
--- a/src/devices/bus/cpc/doubler.cpp
+++ b/src/devices/bus/cpc/doubler.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * doubler.c -- Draysoft Doubler - external cassette interface for the 464 (works on 664/6128 with external cassette?),
+ * doubler.cpp -- Draysoft Doubler - external cassette interface for the 464 (works on 664/6128 with external cassette?),
* intended for use in duplicating cassette software
*
*/
@@ -16,7 +16,7 @@
DEFINE_DEVICE_TYPE(CPC_DOUBLER, cpc_doubler_device, "cpc_doubler", "Draysoft Doubler")
-static MACHINE_CONFIG_START( cpc_doubler )
+MACHINE_CONFIG_MEMBER( cpc_doubler_device::device_add_mconfig )
MCFG_CASSETTE_ADD( "doubler_tape" )
MCFG_CASSETTE_FORMATS(cdt_cassette_formats)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED)
@@ -26,12 +26,6 @@ static MACHINE_CONFIG_START( cpc_doubler )
MACHINE_CONFIG_END
-machine_config_constructor cpc_doubler_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_doubler );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/cpc/doubler.h b/src/devices/bus/cpc/doubler.h
index 03d75a16247..2cba51baaee 100644
--- a/src/devices/bus/cpc/doubler.h
+++ b/src/devices/bus/cpc/doubler.h
@@ -24,9 +24,6 @@ public:
// construction/destruction
cpc_doubler_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(ext_tape_r);
protected:
@@ -34,6 +31,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/hd20.cpp b/src/devices/bus/cpc/hd20.cpp
index 2917467d91f..7b3dbccaa7d 100644
--- a/src/devices/bus/cpc/hd20.cpp
+++ b/src/devices/bus/cpc/hd20.cpp
@@ -15,17 +15,13 @@
DEFINE_DEVICE_TYPE(CPC_HD20, cpc_hd20_device, "cpc_hd20", "Dobbertin HD20")
-static MACHINE_CONFIG_START( cpc_hd20 )
+MACHINE_CONFIG_MEMBER( cpc_hd20_device::device_add_mconfig )
MCFG_DEVICE_ADD("hdc",ST11M_HDC,0)
- MCFG_XTHDC_IRQ_HANDLER(WRITELINE(cpc_hd20_device,irq_w))
+ MCFG_XTHDC_IRQ_HANDLER(WRITELINE(cpc_hd20_device, irq_w))
MCFG_HARDDISK_ADD("hdc:primary")
// no pass-through (?)
MACHINE_CONFIG_END
-machine_config_constructor cpc_hd20_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_hd20 );
-}
ROM_START( cpc_hd20 )
ROM_REGION( 0x4000, "exp_rom", 0 )
diff --git a/src/devices/bus/cpc/hd20.h b/src/devices/bus/cpc/hd20.h
index e0dd933da73..a0379dbd831 100644
--- a/src/devices/bus/cpc/hd20.h
+++ b/src/devices/bus/cpc/hd20.h
@@ -26,20 +26,21 @@ public:
// construction/destruction
cpc_hd20_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(hdc_r);
DECLARE_WRITE8_MEMBER(hdc_w);
- DECLARE_WRITE_LINE_MEMBER(irq_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 const tiny_rom_entry *device_rom_region() const override;
+
private:
+ DECLARE_WRITE_LINE_MEMBER(irq_w);
+
cpc_expansion_slot_device *m_slot;
required_device<xt_hdc_device> m_hdc;
diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp
index 1accb16e228..5f44afedb9e 100644
--- a/src/devices/bus/cpc/magicsound.cpp
+++ b/src/devices/bus/cpc/magicsound.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * magicsound.c
+ * magicsound.cpp
*
* Magic Sound Board for the Aleste 520EX
*
@@ -20,18 +20,18 @@
DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
-static MACHINE_CONFIG_START( al_magicsound )
+MACHINE_CONFIG_MEMBER( al_magicsound_device::device_add_mconfig )
MCFG_DEVICE_ADD( "dmac", AM9517A, XTAL_4MHz ) // CLK from expansion port
// According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port.
// NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or
// the K1810WT37 is different to the i8237/AM9517A
//MCFG_I8237_OUT_EOP_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w)) // MCFG_DEVCB_INVERT
MCFG_I8237_OUT_HREQ_CB(DEVWRITELINE("dmac", am9517a_device, hack_w))
- MCFG_I8237_IN_MEMR_CB(READ8(al_magicsound_device,dma_read_byte))
- MCFG_I8237_OUT_IOW_0_CB(WRITE8(al_magicsound_device,dma_write_byte))
- MCFG_I8237_OUT_IOW_1_CB(WRITE8(al_magicsound_device,dma_write_byte))
- MCFG_I8237_OUT_IOW_2_CB(WRITE8(al_magicsound_device,dma_write_byte))
- MCFG_I8237_OUT_IOW_3_CB(WRITE8(al_magicsound_device,dma_write_byte))
+ MCFG_I8237_IN_MEMR_CB(READ8(al_magicsound_device, dma_read_byte))
+ MCFG_I8237_OUT_IOW_0_CB(WRITE8(al_magicsound_device, dma_write_byte))
+ MCFG_I8237_OUT_IOW_1_CB(WRITE8(al_magicsound_device, dma_write_byte))
+ MCFG_I8237_OUT_IOW_2_CB(WRITE8(al_magicsound_device, dma_write_byte))
+ MCFG_I8237_OUT_IOW_3_CB(WRITE8(al_magicsound_device, dma_write_byte))
MCFG_I8237_OUT_DACK_0_CB(WRITELINE(al_magicsound_device, dack0_w))
MCFG_I8237_OUT_DACK_1_CB(WRITELINE(al_magicsound_device, dack1_w))
MCFG_I8237_OUT_DACK_2_CB(WRITELINE(al_magicsound_device, dack2_w))
@@ -43,17 +43,17 @@ static MACHINE_CONFIG_START( al_magicsound )
// Timer outputs to SAM0/1/2/3 are sample clocks for each sound channel, D/A0 is the low bit of the channel select.
MCFG_DEVICE_ADD("timer1", PIT8254, 0)
MCFG_PIT8253_CLK0(XTAL_4MHz)
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device,sam0_w))
+ MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device, sam0_w))
MCFG_PIT8253_CLK1(XTAL_4MHz)
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device,sam1_w))
+ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device, sam1_w))
MCFG_PIT8253_CLK2(XTAL_4MHz)
- MCFG_PIT8253_OUT2_HANDLER(WRITELINE(al_magicsound_device,sam2_w))
+ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(al_magicsound_device, sam2_w))
MCFG_DEVICE_ADD("timer2", PIT8254, 0)
MCFG_PIT8253_CLK0(XTAL_4MHz)
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device,sam3_w))
+ MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device, sam3_w))
MCFG_PIT8253_CLK1(XTAL_4MHz)
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device,da0_w))
+ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device, da0_w))
MCFG_PIT8253_CLK2(XTAL_4MHz)
MCFG_SPEAKER_STANDARD_MONO("speaker")
@@ -63,10 +63,6 @@ static MACHINE_CONFIG_START( al_magicsound )
// no pass-through(?)
MACHINE_CONFIG_END
-machine_config_constructor al_magicsound_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( al_magicsound );
-}
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cpc/magicsound.h b/src/devices/bus/cpc/magicsound.h
index ccb11091988..b90bbf4e897 100644
--- a/src/devices/bus/cpc/magicsound.h
+++ b/src/devices/bus/cpc/magicsound.h
@@ -41,14 +41,21 @@ public:
// construction/destruction
al_magicsound_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(dmac_r);
DECLARE_WRITE8_MEMBER(dmac_w);
DECLARE_WRITE8_MEMBER(timer_w);
DECLARE_WRITE8_MEMBER(volume_w);
DECLARE_WRITE8_MEMBER(mapper_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:
DECLARE_WRITE_LINE_MEMBER(da0_w);
DECLARE_READ8_MEMBER(dma_read_byte);
DECLARE_WRITE8_MEMBER(dma_write_byte);
@@ -61,12 +68,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(sam2_w);
DECLARE_WRITE_LINE_MEMBER(sam3_w);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
cpc_expansion_slot_device *m_slot;
required_device<dac_byte_interface> m_dac;
diff --git a/src/devices/bus/cpc/mface2.cpp b/src/devices/bus/cpc/mface2.cpp
index 22b59ca366d..422d3dec6b7 100644
--- a/src/devices/bus/cpc/mface2.cpp
+++ b/src/devices/bus/cpc/mface2.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Kevin Thacker, Barry Rodewald
/*
- * mface2.c -- Romantic Robot Multiface II expansion device for the Amstrad CPC/CPC+
+ * mface2.cpp -- Romantic Robot Multiface II expansion device for the Amstrad CPC/CPC+
*
* Created on: 31/07/2011
*/
@@ -17,15 +17,6 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
DEFINE_DEVICE_TYPE(CPC_MFACE2, cpc_multiface2_device, "cpc_mface2", "Multiface II")
-// device machine config
-static MACHINE_CONFIG_START( cpc_mface2 )
- // pass-through
- MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, nullptr, false)
- MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
- MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
- MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
-MACHINE_CONFIG_END
#if 0
DIRECT_UPDATE_MEMBER( cpc_multiface2_device::amstrad_default )
@@ -116,10 +107,15 @@ void cpc_multiface2_device::multiface_rethink_memory()
}
}
-machine_config_constructor cpc_multiface2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_mface2 );
-}
+// device machine config
+MACHINE_CONFIG_MEMBER( cpc_multiface2_device::device_add_mconfig )
+ // pass-through
+ MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
+ MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, nullptr, false)
+ MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
+ MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
+ MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
+MACHINE_CONFIG_END
void cpc_multiface2_device::check_button_state()
{
diff --git a/src/devices/bus/cpc/mface2.h b/src/devices/bus/cpc/mface2.h
index de41dc97c15..ba230b917c6 100644
--- a/src/devices/bus/cpc/mface2.h
+++ b/src/devices/bus/cpc/mface2.h
@@ -39,21 +39,22 @@ public:
// construction/destruction
cpc_multiface2_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 ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
int multiface_hardware_enabled();
void multiface_rethink_memory();
void multiface_stop();
int multiface_io_write(uint16_t offset, uint8_t data);
void check_button_state();
+
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 ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
private:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp
index 92bd9168e25..11bbd2a6693 100644
--- a/src/devices/bus/cpc/playcity.cpp
+++ b/src/devices/bus/cpc/playcity.cpp
@@ -24,11 +24,11 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
DEFINE_DEVICE_TYPE(CPC_PLAYCITY, cpc_playcity_device, "cpc_playcity", "PlayCity")
// device machine config
-static MACHINE_CONFIG_START( cpc_playcity )
+MACHINE_CONFIG_MEMBER( cpc_playcity_device::device_add_mconfig )
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL_4MHz)
- MCFG_Z80CTC_ZC1_CB(WRITELINE(cpc_playcity_device,ctc_zc1_cb))
- MCFG_Z80CTC_ZC2_CB(DEVWRITELINE("ctc",z80ctc_device,trg3))
- MCFG_Z80CTC_INTR_CB(WRITELINE(cpc_playcity_device,ctc_intr_cb))
+ MCFG_Z80CTC_ZC1_CB(WRITELINE(cpc_playcity_device, ctc_zc1_cb))
+ MCFG_Z80CTC_ZC2_CB(DEVWRITELINE("ctc",z80ctc_device, trg3))
+ MCFG_Z80CTC_INTR_CB(WRITELINE(cpc_playcity_device, ctc_intr_cb))
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
MCFG_SOUND_ADD("ymz_1",YMZ294,XTAL_4MHz) // when timer is not set, operates at 4MHz (interally divided by 2, so equivalent to the ST)
@@ -46,12 +46,6 @@ static MACHINE_CONFIG_START( cpc_playcity )
MACHINE_CONFIG_END
-machine_config_constructor cpc_playcity_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_playcity );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/cpc/playcity.h b/src/devices/bus/cpc/playcity.h
index f7c2162051c..e01c055aee5 100644
--- a/src/devices/bus/cpc/playcity.h
+++ b/src/devices/bus/cpc/playcity.h
@@ -30,9 +30,6 @@ public:
// construction/destruction
cpc_playcity_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(ctc_r);
DECLARE_WRITE8_MEMBER(ctc_w);
DECLARE_WRITE8_MEMBER(ymz1_address_w);
@@ -41,8 +38,6 @@ public:
DECLARE_WRITE8_MEMBER(ymz2_data_w);
DECLARE_READ8_MEMBER(ymz1_data_r);
DECLARE_READ8_MEMBER(ymz2_data_r);
- DECLARE_WRITE_LINE_MEMBER(ctc_zc1_cb) { if(state) { m_slot->nmi_w(1); m_slot->nmi_w(0); } }
- DECLARE_WRITE_LINE_MEMBER(ctc_intr_cb) { m_slot->irq_w(state); }
virtual WRITE_LINE_MEMBER(cursor_w) override { m_ctc->trg1(state); }
@@ -51,7 +46,13 @@ 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(ctc_zc1_cb) { if(state) { m_slot->nmi_w(1); m_slot->nmi_w(0); } }
+ DECLARE_WRITE_LINE_MEMBER(ctc_intr_cb) { m_slot->irq_w(state); }
+
cpc_expansion_slot_device *m_slot;
required_device<z80ctc_device> m_ctc;
diff --git a/src/devices/bus/cpc/smartwatch.cpp b/src/devices/bus/cpc/smartwatch.cpp
index c5154b06394..eb3e9946401 100644
--- a/src/devices/bus/cpc/smartwatch.cpp
+++ b/src/devices/bus/cpc/smartwatch.cpp
@@ -19,15 +19,11 @@
DEFINE_DEVICE_TYPE(CPC_SMARTWATCH, cpc_smartwatch_device, "cpc_smartwatch", "Dobbertin Smartwatch")
-static MACHINE_CONFIG_START( cpc_smartwatch )
+MACHINE_CONFIG_MEMBER( cpc_smartwatch_device::device_add_mconfig )
MCFG_DS1315_ADD("rtc")
// no pass-through (?)
MACHINE_CONFIG_END
-machine_config_constructor cpc_smartwatch_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_smartwatch );
-}
ROM_START( cpc_smartwatch )
ROM_REGION( 0x4000, "exp_rom", 0 )
diff --git a/src/devices/bus/cpc/smartwatch.h b/src/devices/bus/cpc/smartwatch.h
index a555b802553..dbde5f58377 100644
--- a/src/devices/bus/cpc/smartwatch.h
+++ b/src/devices/bus/cpc/smartwatch.h
@@ -23,17 +23,18 @@ public:
// construction/destruction
cpc_smartwatch_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(rtc_w);
DECLARE_READ8_MEMBER(rtc_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:
cpc_expansion_slot_device *m_slot;
diff --git a/src/devices/bus/cpc/symbfac2.cpp b/src/devices/bus/cpc/symbfac2.cpp
index 87fa66ff541..3373a6eef6e 100644
--- a/src/devices/bus/cpc/symbfac2.cpp
+++ b/src/devices/bus/cpc/symbfac2.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Barry Rodewald
/*
- * symbfac2.c
+ * symbfac2.cpp
* SYMBiFACE II expansion device
* - IDE
* - RTC (Dallas DS1287A)
@@ -27,13 +27,6 @@ DEFINE_DEVICE_TYPE(CPC_SYMBIFACE2, cpc_symbiface2_device, "cpc_symf2", "SYMBiFAC
// DEVICE CONFIG INTERFACE
//**************************************************************************
-// device machine config
-static MACHINE_CONFIG_START( cpc_symbiface2 )
- MCFG_ATA_INTERFACE_ADD("ide",ata_devices,"hdd",nullptr,false)
- MCFG_DS12885_ADD("rtc")
- MCFG_NVRAM_ADD_1FILL("nvram")
- // no pass-through
-MACHINE_CONFIG_END
static INPUT_PORTS_START(cpc_symbiface2)
PORT_START("sf2_mouse_x")
@@ -57,11 +50,13 @@ static INPUT_PORTS_START(cpc_symbiface2)
// PORT_PLAYER(1)
INPUT_PORTS_END
-
-machine_config_constructor cpc_symbiface2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cpc_symbiface2 );
-}
+// device machine config
+MACHINE_CONFIG_MEMBER( cpc_symbiface2_device::device_add_mconfig )
+ MCFG_ATA_INTERFACE_ADD("ide", ata_devices, "hdd", nullptr, false)
+ MCFG_DS12885_ADD("rtc")
+ MCFG_NVRAM_ADD_1FILL("nvram")
+ // no pass-through
+MACHINE_CONFIG_END
ioport_constructor cpc_symbiface2_device::device_input_ports() const
{
diff --git a/src/devices/bus/cpc/symbfac2.h b/src/devices/bus/cpc/symbfac2.h
index 9144d8a6519..df490907a90 100644
--- a/src/devices/bus/cpc/symbfac2.h
+++ b/src/devices/bus/cpc/symbfac2.h
@@ -23,10 +23,6 @@ public:
// construction/destruction
cpc_symbiface2_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;
-
DECLARE_READ8_MEMBER(ide_cs0_r);
DECLARE_WRITE8_MEMBER(ide_cs0_w);
DECLARE_READ8_MEMBER(ide_cs1_r);
@@ -54,6 +50,10 @@ 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;
+
private:
cpc_expansion_slot_device *m_slot;
required_device<ata_interface_device> m_ide;
diff --git a/src/devices/bus/dmv/k210.cpp b/src/devices/bus/dmv/k210.cpp
index 4c6d019526d..c6d1301b3f5 100644
--- a/src/devices/bus/dmv/k210.cpp
+++ b/src/devices/bus/dmv/k210.cpp
@@ -14,29 +14,6 @@
***************************************************************************/
-static MACHINE_CONFIG_START( dmv_k210 )
- MCFG_DEVICE_ADD("ppi8255", I8255, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(dmv_k210_device, porta_r))
- MCFG_I8255_IN_PORTB_CB(READ8(dmv_k210_device, portb_r))
- MCFG_I8255_IN_PORTC_CB(READ8(dmv_k210_device, portc_r))
- MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k210_device, porta_w))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(dmv_k210_device, portb_w))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k210_device, portc_w))
-
- MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
- MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in")
- MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(dmv_k210_device, cent_ack_w))
- MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(dmv_k210_device, cent_busy_w))
- MCFG_CENTRONICS_SELECT_IN_HANDLER(WRITELINE(dmv_k210_device, cent_slct_w))
- MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(dmv_k210_device, cent_pe_w))
- MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(dmv_k210_device, cent_fault_w))
- MCFG_CENTRONICS_AUTOFD_HANDLER(WRITELINE(dmv_k210_device, cent_autofd_w))
- MCFG_CENTRONICS_INIT_HANDLER(WRITELINE(dmv_k210_device, cent_init_w))
-
- MCFG_DEVICE_ADD("cent_data_in", INPUT_BUFFER, 0)
- MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
-MACHINE_CONFIG_END
-
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -93,14 +70,31 @@ void dmv_k210_device::device_timer(emu_timer &timer, device_timer_id tid, int pa
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k210_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k210 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k210_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("ppi8255", I8255, 0)
+ MCFG_I8255_IN_PORTA_CB(READ8(dmv_k210_device, porta_r))
+ MCFG_I8255_IN_PORTB_CB(READ8(dmv_k210_device, portb_r))
+ MCFG_I8255_IN_PORTC_CB(READ8(dmv_k210_device, portc_r))
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k210_device, porta_w))
+ MCFG_I8255_OUT_PORTB_CB(WRITE8(dmv_k210_device, portb_w))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k210_device, portc_w))
+
+ MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
+ MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in")
+ MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(dmv_k210_device, cent_ack_w))
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(dmv_k210_device, cent_busy_w))
+ MCFG_CENTRONICS_SELECT_IN_HANDLER(WRITELINE(dmv_k210_device, cent_slct_w))
+ MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(dmv_k210_device, cent_pe_w))
+ MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(dmv_k210_device, cent_fault_w))
+ MCFG_CENTRONICS_AUTOFD_HANDLER(WRITELINE(dmv_k210_device, cent_autofd_w))
+ MCFG_CENTRONICS_INIT_HANDLER(WRITELINE(dmv_k210_device, cent_init_w))
+
+ MCFG_DEVICE_ADD("cent_data_in", INPUT_BUFFER, 0)
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+MACHINE_CONFIG_END
void dmv_k210_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
{
diff --git a/src/devices/bus/dmv/k210.h b/src/devices/bus/dmv/k210.h
index dea7863f19a..dcc51a374ed 100644
--- a/src/devices/bus/dmv/k210.h
+++ b/src/devices/bus/dmv/k210.h
@@ -23,9 +23,20 @@ public:
// construction/destruction
dmv_k210_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;
+ void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
+
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ // dmvcart_interface overrides
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
+
+private:
DECLARE_READ8_MEMBER(porta_r);
DECLARE_READ8_MEMBER(portb_r);
DECLARE_READ8_MEMBER(portc_r);
@@ -41,17 +52,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(cent_autofd_w);
DECLARE_WRITE_LINE_MEMBER(cent_init_w);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
-
- // dmvcart_interface overrides
- virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
-
-private:
required_device<i8255_device> m_ppi;
required_device<centronics_device> m_centronics;
required_device<input_buffer_device> m_cent_data_in;
diff --git a/src/devices/bus/dmv/k220.cpp b/src/devices/bus/dmv/k220.cpp
index a8da8d46fa2..c38145bf3d5 100644
--- a/src/devices/bus/dmv/k220.cpp
+++ b/src/devices/bus/dmv/k220.cpp
@@ -77,19 +77,6 @@ ROM_START( dmv_k220 )
ROM_REGION(0x0800, "ram", ROMREGION_ERASE)
ROM_END
-static MACHINE_CONFIG_START( dmv_k220 )
- MCFG_DEVICE_ADD("ppi8255", I8255, 0)
- MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k220_device, porta_w))
- MCFG_I8255_IN_PORTB_CB(IOPORT("SWITCH"))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k220_device, portc_w))
-
- MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
- MCFG_PIT8253_CLK0(XTAL_1MHz) // CLK1
- MCFG_PIT8253_OUT0_HANDLER(WRITELINE(dmv_k220_device, write_out0))
- MCFG_PIT8253_OUT1_HANDLER(WRITELINE(dmv_k220_device, write_out1))
- MCFG_PIT8253_OUT2_HANDLER(WRITELINE(dmv_k220_device, write_out2))
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( dmv_k220 )
PORT_START("SWITCH")
PORT_DIPNAME( 0x01, 0x00, "Select 1" )
@@ -165,14 +152,21 @@ void dmv_k220_device::device_reset()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k220_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k220 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k220_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("ppi8255", I8255, 0)
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k220_device, porta_w))
+ MCFG_I8255_IN_PORTB_CB(IOPORT("SWITCH"))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k220_device, portc_w))
+
+ MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
+ MCFG_PIT8253_CLK0(XTAL_1MHz) // CLK1
+ MCFG_PIT8253_OUT0_HANDLER(WRITELINE(dmv_k220_device, write_out0))
+ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(dmv_k220_device, write_out1))
+ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(dmv_k220_device, write_out2))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/dmv/k220.h b/src/devices/bus/dmv/k220.h
index fe71e2311da..85a3f717a19 100644
--- a/src/devices/bus/dmv/k220.h
+++ b/src/devices/bus/dmv/k220.h
@@ -23,27 +23,27 @@ public:
// construction/destruction
dmv_k220_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_WRITE8_MEMBER(porta_w);
- DECLARE_WRITE8_MEMBER(portc_w);
- DECLARE_WRITE_LINE_MEMBER(write_out0);
- DECLARE_WRITE_LINE_MEMBER(write_out1);
- DECLARE_WRITE_LINE_MEMBER(write_out2);
-
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;
+
// dmvcart_interface overrides
virtual bool read(offs_t offset, uint8_t &data) override;
virtual bool write(offs_t offset, uint8_t data) override;
private:
+ DECLARE_WRITE8_MEMBER(porta_w);
+ DECLARE_WRITE8_MEMBER(portc_w);
+ DECLARE_WRITE_LINE_MEMBER(write_out0);
+ DECLARE_WRITE_LINE_MEMBER(write_out1);
+ DECLARE_WRITE_LINE_MEMBER(write_out2);
+
required_device<pit8253_device> m_pit;
required_device<i8255_device> m_ppi;
required_memory_region m_ram;
diff --git a/src/devices/bus/dmv/k230.cpp b/src/devices/bus/dmv/k230.cpp
index f48acb58ff1..48b5672f328 100644
--- a/src/devices/bus/dmv/k230.cpp
+++ b/src/devices/bus/dmv/k230.cpp
@@ -57,27 +57,6 @@ static ADDRESS_MAP_START(k235_io, AS_IO, 8, dmv_k230_device)
AM_RANGE( 0x00, 0xff ) AM_READWRITE(io_r, io_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( dmv_k230 )
- MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3)
- MCFG_CPU_PROGRAM_MAP(k230_mem)
- MCFG_CPU_IO_MAP(k230_io)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( dmv_k234 )
- MCFG_CPU_ADD("maincpu", M68008, XTAL_16MHz / 2)
- MCFG_CPU_PROGRAM_MAP(k234_mem)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( dmv_k235 )
- MCFG_CPU_ADD("maincpu", V20, XTAL_15MHz / 3)
- MCFG_CPU_PROGRAM_MAP(k230_mem)
- MCFG_CPU_IO_MAP(k235_io)
- MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
-
- MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NOOP)
-MACHINE_CONFIG_END
-
-
static INPUT_PORTS_START( dmv_k235 )
PORT_START("DSW")
PORT_DIPNAME( 0x01, 0x00, "K235 INT7" ) PORT_DIPLOCATION("S:1")
@@ -180,24 +159,28 @@ void dmv_k234_device::device_reset()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k230_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k230 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k230_device::device_add_mconfig )
+ MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3)
+ MCFG_CPU_PROGRAM_MAP(k230_mem)
+ MCFG_CPU_IO_MAP(k230_io)
+MACHINE_CONFIG_END
-machine_config_constructor dmv_k234_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k234 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k234_device::device_add_mconfig )
+ MCFG_CPU_ADD("maincpu", M68008, XTAL_16MHz / 2)
+ MCFG_CPU_PROGRAM_MAP(k234_mem)
+MACHINE_CONFIG_END
-machine_config_constructor dmv_k235_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k235 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k235_device::device_add_mconfig )
+ MCFG_CPU_ADD("maincpu", V20, XTAL_15MHz / 3)
+ MCFG_CPU_PROGRAM_MAP(k230_mem)
+ MCFG_CPU_IO_MAP(k235_io)
+ MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
+
+ MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NOOP)
+MACHINE_CONFIG_END
//-------------------------------------------------
// device_rom_region
diff --git a/src/devices/bus/dmv/k230.h b/src/devices/bus/dmv/k230.h
index 9e183b1c997..4fdee47a1c7 100644
--- a/src/devices/bus/dmv/k230.h
+++ b/src/devices/bus/dmv/k230.h
@@ -30,10 +30,6 @@ public:
// construction/destruction
dmv_k230_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(io_r);
DECLARE_READ8_MEMBER(program_r);
DECLARE_WRITE8_MEMBER(io_w);
@@ -47,6 +43,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;
+
// dmvcart_interface overrides
virtual void hold_w(int state) override;
virtual void switch16_w(int state) override;
@@ -91,7 +91,7 @@ public:
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;
// device-level overrides
virtual void device_start() override;
@@ -118,7 +118,7 @@ public:
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;
virtual ioport_constructor device_input_ports() const override;
void timint_w(int state) override { m_pic->ir0_w(state); }
diff --git a/src/devices/bus/dmv/k801.cpp b/src/devices/bus/dmv/k801.cpp
index ff6dbbfc31d..f82a644654a 100644
--- a/src/devices/bus/dmv/k801.cpp
+++ b/src/devices/bus/dmv/k801.cpp
@@ -21,42 +21,6 @@
***************************************************************************/
-static MACHINE_CONFIG_START( dmv_k801 )
- MCFG_DEVICE_ADD("epci", MC2661, XTAL_5_0688MHz)
- MCFG_MC2661_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
- MCFG_MC2661_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
- MCFG_MC2661_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
- MCFG_MC2661_RXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
- MCFG_MC2661_TXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
-
- MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "printer")
- MCFG_RS232_RXD_HANDLER(DEVWRITELINE("epci", mc2661_device, rx_w))
- MCFG_RS232_DCD_HANDLER(DEVWRITELINE("epci", mc2661_device, dcd_w))
- MCFG_RS232_DSR_HANDLER(DEVWRITELINE("epci", mc2661_device, dsr_w))
- MCFG_RS232_CTS_HANDLER(DEVWRITELINE("epci", mc2661_device, cts_w))
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( dmv_k211 )
- MCFG_FRAGMENT_ADD( dmv_k801 )
-
- MCFG_DEVICE_MODIFY("rs232")
- MCFG_SLOT_DEFAULT_OPTION("null_modem")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( dmv_k212 )
- MCFG_FRAGMENT_ADD( dmv_k801 )
-
- MCFG_DEVICE_MODIFY("rs232")
- MCFG_SLOT_DEFAULT_OPTION("printer")
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( dmv_k213 )
- MCFG_FRAGMENT_ADD( dmv_k801 )
-
- MCFG_DEVICE_MODIFY("rs232")
- MCFG_SLOT_DEFAULT_OPTION(nullptr)
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( dmv_k801 )
PORT_START("DSW")
PORT_DIPNAME( 0x0f, 0x00, "K801 IFSEL" ) PORT_DIPLOCATION("S:!4,S:!3,S:!2,S:!1")
@@ -175,29 +139,44 @@ void dmv_k801_device::device_reset()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k801_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k801 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k801_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("epci", MC2661, XTAL_5_0688MHz)
+ MCFG_MC2661_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
+ MCFG_MC2661_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
+ MCFG_MC2661_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
+ MCFG_MC2661_RXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
+ MCFG_MC2661_TXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
-machine_config_constructor dmv_k211_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k211 );
-}
+ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "printer")
+ MCFG_RS232_RXD_HANDLER(DEVWRITELINE("epci", mc2661_device, rx_w))
+ MCFG_RS232_DCD_HANDLER(DEVWRITELINE("epci", mc2661_device, dcd_w))
+ MCFG_RS232_DSR_HANDLER(DEVWRITELINE("epci", mc2661_device, dsr_w))
+ MCFG_RS232_CTS_HANDLER(DEVWRITELINE("epci", mc2661_device, cts_w))
+MACHINE_CONFIG_END
-machine_config_constructor dmv_k212_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k212 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k211_device::device_add_mconfig )
+ dmv_k801_device::device_add_mconfig(config);
-machine_config_constructor dmv_k213_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k213 );
-}
+ MCFG_DEVICE_MODIFY("rs232")
+ MCFG_SLOT_DEFAULT_OPTION("null_modem")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_MEMBER( dmv_k212_device::device_add_mconfig )
+ dmv_k801_device::device_add_mconfig(config);
+
+ MCFG_DEVICE_MODIFY("rs232")
+ MCFG_SLOT_DEFAULT_OPTION("printer")
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_MEMBER( dmv_k213_device::device_add_mconfig )
+ dmv_k801_device::device_add_mconfig(config);
+
+ MCFG_DEVICE_MODIFY("rs232")
+ MCFG_SLOT_DEFAULT_OPTION(nullptr)
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/dmv/k801.h b/src/devices/bus/dmv/k801.h
index cad9701e61e..cba10725e0a 100644
--- a/src/devices/bus/dmv/k801.h
+++ b/src/devices/bus/dmv/k801.h
@@ -24,12 +24,6 @@ public:
// construction/destruction
dmv_k801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- DECLARE_WRITE_LINE_MEMBER(epci_irq_w);
-
protected:
dmv_k801_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -37,13 +31,20 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// dmvcart_interface overrides
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
-protected:
required_device<mc2661_device> m_epci;
required_ioport m_dsw;
+
+private:
+ DECLARE_WRITE_LINE_MEMBER(epci_irq_w);
+
dmvcart_slot_device * m_bus;
};
@@ -57,13 +58,13 @@ public:
// construction/destruction
dmv_k211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
dmv_k211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ // optional information overrides
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// dmvcart_interface overrides
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
@@ -78,9 +79,10 @@ public:
// construction/destruction
dmv_k212_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
// ======================> dmv_k213_device
@@ -92,9 +94,10 @@ public:
// construction/destruction
dmv_k213_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/devices/bus/dmv/k803.cpp b/src/devices/bus/dmv/k803.cpp
index 144580e355a..faeb0cdcac5 100644
--- a/src/devices/bus/dmv/k803.cpp
+++ b/src/devices/bus/dmv/k803.cpp
@@ -14,11 +14,6 @@
IMPLEMENTATION
***************************************************************************/
-static MACHINE_CONFIG_START( dmv_k803 )
- MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz)
- MCFG_MM58167_IRQ_CALLBACK(WRITELINE(dmv_k803_device, rtc_irq_w))
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( dmv_k803 )
PORT_START("DSW")
PORT_DIPNAME( 0x0f, 0x09, "K803 IFSEL" ) PORT_DIPLOCATION("S:!4,S:!3,S:!2,S:!1")
@@ -77,14 +72,13 @@ void dmv_k803_device::device_reset()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k803_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k803 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k803_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz)
+ MCFG_MM58167_IRQ_CALLBACK(WRITELINE(dmv_k803_device, rtc_irq_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/dmv/k803.h b/src/devices/bus/dmv/k803.h
index 0446a8bbeb4..0e1e190e89f 100644
--- a/src/devices/bus/dmv/k803.h
+++ b/src/devices/bus/dmv/k803.h
@@ -22,23 +22,23 @@ public:
// construction/destruction
dmv_k803_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
void update_int();
private:
+ DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
+
required_device<mm58167_device> m_rtc;
required_ioport m_dsw;
dmvcart_slot_device * m_bus;
diff --git a/src/devices/bus/dmv/k806.cpp b/src/devices/bus/dmv/k806.cpp
index 8ecb46e1075..4c6f22d8d87 100644
--- a/src/devices/bus/dmv/k806.cpp
+++ b/src/devices/bus/dmv/k806.cpp
@@ -19,15 +19,6 @@ ROM_START( dmv_k806 )
ROM_LOAD( "dmv_mouse_8741a.bin", 0x0000, 0x0400, CRC(2163737a) SHA1(b82c14dba6c25cb1f60cf623989ca8c0c1ee4cc3))
ROM_END
-static MACHINE_CONFIG_START( dmv_k806 )
- MCFG_CPU_ADD("mcu", I8741, XTAL_6MHz)
- MCFG_MCS48_PORT_P1_IN_CB(READ8(dmv_k806_device, port1_r))
- MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(dmv_k806_device, port2_w))
- MCFG_MCS48_PORT_T1_IN_CB(READLINE(dmv_k806_device, portt1_r))
-
- MCFG_TIMER_DRIVER_ADD_PERIODIC("mouse_timer", dmv_k806_device, mouse_timer, attotime::from_hz(1000))
-MACHINE_CONFIG_END
-
static INPUT_PORTS_START( dmv_k806 )
PORT_START("JUMPERS")
PORT_DIPNAME( 0x7f, 0x24, "K806 IFSEL" ) PORT_DIPLOCATION("J:!1,J:!2,J:!3,J:!4,J:!5,J:!6,J:!7")
@@ -106,14 +97,17 @@ void dmv_k806_device::device_reset()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor dmv_k806_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmv_k806 );
-}
+MACHINE_CONFIG_MEMBER( dmv_k806_device::device_add_mconfig )
+ MCFG_CPU_ADD("mcu", I8741, XTAL_6MHz)
+ MCFG_MCS48_PORT_P1_IN_CB(READ8(dmv_k806_device, port1_r))
+ MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(dmv_k806_device, port2_w))
+ MCFG_MCS48_PORT_T1_IN_CB(READLINE(dmv_k806_device, portt1_r))
+
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("mouse_timer", dmv_k806_device, mouse_timer, attotime::from_hz(1000))
+MACHINE_CONFIG_END
//-------------------------------------------------
// input_ports - device-specific input ports
diff --git a/src/devices/bus/dmv/k806.h b/src/devices/bus/dmv/k806.h
index bcb41068f82..9a6687423b0 100644
--- a/src/devices/bus/dmv/k806.h
+++ b/src/devices/bus/dmv/k806.h
@@ -23,26 +23,26 @@ public:
// construction/destruction
dmv_k806_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 ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
+ virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
+
+private:
DECLARE_READ_LINE_MEMBER(portt1_r);
DECLARE_READ8_MEMBER(port1_r);
DECLARE_WRITE8_MEMBER(port2_w);
TIMER_DEVICE_CALLBACK_MEMBER(mouse_timer);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
- virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
-
-private:
required_device<upi41_cpu_device> m_mcu;
required_ioport m_jumpers;
required_ioport m_mouse_buttons;
diff --git a/src/devices/bus/ecbbus/grip.cpp b/src/devices/bus/ecbbus/grip.cpp
index 74207f1bbb9..7b437ccf8c5 100644
--- a/src/devices/bus/ecbbus/grip.cpp
+++ b/src/devices/bus/ecbbus/grip.cpp
@@ -451,11 +451,13 @@ void ecb_grip21_device::kb_w(uint8_t data)
// MACHINE CONFIGURATION
//**************************************************************************
+
//-------------------------------------------------
-// MACHINE_CONFIG_START( grip )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( grip )
+
+MACHINE_CONFIG_MEMBER( ecb_grip21_device::device_add_mconfig )
// basic machine hardware
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
MCFG_Z80_DAISY_CHAIN(grip_daisy_chain)
@@ -512,17 +514,6 @@ static MACHINE_CONFIG_START( grip )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor ecb_grip21_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( grip );
-}
-
-
//**************************************************************************
// INPUT PORTS
//**************************************************************************
diff --git a/src/devices/bus/ecbbus/grip.h b/src/devices/bus/ecbbus/grip.h
index a261b22a557..6851bf755d9 100644
--- a/src/devices/bus/ecbbus/grip.h
+++ b/src/devices/bus/ecbbus/grip.h
@@ -36,11 +36,6 @@ public:
// construction/destruction
ecb_grip21_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_WRITE8_MEMBER( vol0_w );
DECLARE_WRITE8_MEMBER( vol1_w );
@@ -51,6 +46,22 @@ public:
DECLARE_WRITE8_MEMBER( lrs_w );
DECLARE_READ8_MEMBER( cxstb_r );
DECLARE_WRITE8_MEMBER( cxstb_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;
+ virtual ioport_constructor device_input_ports() const override;
+
+ // device_ecbbus_card_interface overrides
+ virtual uint8_t ecbbus_io_r(offs_t offset) override;
+ virtual void ecbbus_io_w(offs_t offset, uint8_t data) override;
+
+private:
DECLARE_READ8_MEMBER( ppi_pa_r );
DECLARE_WRITE8_MEMBER( ppi_pa_w );
DECLARE_READ8_MEMBER( ppi_pb_r );
@@ -65,16 +76,6 @@ public:
MC6845_UPDATE_ROW( crtc_update_row );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_ecbbus_card_interface overrides
- virtual uint8_t ecbbus_io_r(offs_t offset) override;
- virtual void ecbbus_io_w(offs_t offset, uint8_t data) override;
-
-private:
required_device<i8255_device> m_ppi;
required_device<z80sti_device> m_sti;
required_device<mc6845_device> m_crtc;
diff --git a/src/devices/bus/econet/e01.cpp b/src/devices/bus/econet/e01.cpp
index 760df651bc5..0a5f8eef283 100644
--- a/src/devices/bus/econet/e01.cpp
+++ b/src/devices/bus/econet/e01.cpp
@@ -169,7 +169,7 @@ WRITE_LINE_MEMBER( econet_e01_device::clk_en_w )
m_clk_en = state;
}
-FLOPPY_FORMATS_MEMBER( floppy_formats_afs )
+FLOPPY_FORMATS_MEMBER( econet_e01_device::floppy_formats_afs )
FLOPPY_AFS_FORMAT
FLOPPY_FORMATS_END0
@@ -238,10 +238,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( e01 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( e01 )
+MACHINE_CONFIG_MEMBER( econet_e01_device::device_add_mconfig )
// basic machine hardware
MCFG_CPU_ADD(R65C102_TAG, M65C02, XTAL_8MHz/4) // Rockwell R65C102P3
MCFG_CPU_PROGRAM_MAP(e01_mem)
@@ -292,17 +292,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor econet_e01_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( e01 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( e01 )
//-------------------------------------------------
diff --git a/src/devices/bus/econet/e01.h b/src/devices/bus/econet/e01.h
index dd9eab8fc4f..20508313538 100644
--- a/src/devices/bus/econet/e01.h
+++ b/src/devices/bus/econet/e01.h
@@ -31,8 +31,6 @@ public:
// construction/destruction
econet_e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_FLOPPY_FORMATS(floppy_formats_afs);
-
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( ram_select_r );
@@ -49,15 +47,6 @@ public:
DECLARE_WRITE8_MEMBER( rtc_address_w );
DECLARE_READ8_MEMBER( rtc_data_r );
DECLARE_WRITE8_MEMBER( rtc_data_w );
- DECLARE_WRITE_LINE_MEMBER( rtc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( adlc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( econet_data_w );
- DECLARE_WRITE_LINE_MEMBER( via_irq_w );
- DECLARE_WRITE_LINE_MEMBER( clk_en_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
- DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
- DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
protected:
enum
@@ -75,13 +64,26 @@ 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;
virtual ioport_constructor device_input_ports() const override;
// device_econet_interface overrides
virtual void econet_data(int state) override;
virtual void econet_clk(int state) override;
+private:
+ DECLARE_WRITE_LINE_MEMBER( rtc_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( adlc_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( econet_data_w );
+ DECLARE_WRITE_LINE_MEMBER( via_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( clk_en_w );
+ DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
+ DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
+ DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
+
+ DECLARE_FLOPPY_FORMATS(floppy_formats_afs);
+
required_device<m65c02_device> m_maincpu;
required_device<wd2793_device> m_fdc;
required_device<mc6854_device> m_adlc;
diff --git a/src/devices/bus/electron/m2105.cpp b/src/devices/bus/electron/m2105.cpp
index 8fbc0912ad5..4d00d0e3f56 100644
--- a/src/devices/bus/electron/m2105.cpp
+++ b/src/devices/bus/electron/m2105.cpp
@@ -51,10 +51,10 @@ ROM_END
//-------------------------------------------------
-// MACHINE_DRIVER( m2105 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( m2105 )
+MACHINE_CONFIG_MEMBER( electron_m2105_device::device_add_mconfig )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -98,17 +98,6 @@ static MACHINE_CONFIG_START( m2105 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor electron_m2105_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( m2105 );
-}
-
const tiny_rom_entry *electron_m2105_device::device_rom_region() const
{
return ROM_NAME( m2105 );
diff --git a/src/devices/bus/electron/m2105.h b/src/devices/bus/electron/m2105.h
index 94ab1d8ec5f..fab765cca1c 100644
--- a/src/devices/bus/electron/m2105.h
+++ b/src/devices/bus/electron/m2105.h
@@ -32,17 +32,17 @@ public:
// construction/destruction
electron_m2105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE_LINE_MEMBER(intrq_w);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
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:
+ DECLARE_WRITE_LINE_MEMBER(intrq_w);
+
required_memory_region m_exp_rom;
required_device<via6522_device> m_via6522_0;
required_device<via6522_device> m_via6522_1;
diff --git a/src/devices/bus/electron/plus3.cpp b/src/devices/bus/electron/plus3.cpp
index 16096324e70..8f1462135a1 100644
--- a/src/devices/bus/electron/plus3.cpp
+++ b/src/devices/bus/electron/plus3.cpp
@@ -31,7 +31,7 @@ DEFINE_DEVICE_TYPE(ELECTRON_PLUS3, electron_plus3_device, "electron_plus3", "Aco
// MACHINE_DRIVER( plus3 )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER(floppy_formats)
+FLOPPY_FORMATS_MEMBER(electron_plus3_device::floppy_formats)
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_ACORN_ADFS_OLD_FORMAT
@@ -45,23 +45,6 @@ SLOT_INTERFACE_START(electron_floppies)
SLOT_INTERFACE_END
-MACHINE_CONFIG_START( plus3 )
- /* fdc */
- MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", electron_floppies, "35dd", floppy_formats)
- MCFG_SLOT_FIXED(true)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", electron_floppies, nullptr, floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-
- /* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_ls", "electron_flop")
-
- /* pass-through */
- MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
-MACHINE_CONFIG_END
-
-
ROM_START( plus3 )
// Bank 4 Disc
ROM_REGION(0x4000, "exp_rom", 0)
@@ -79,14 +62,24 @@ ROM_START( plus3 )
ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor electron_plus3_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( plus3 );
-}
+MACHINE_CONFIG_MEMBER( electron_plus3_device::device_add_mconfig )
+ /* fdc */
+ MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", electron_floppies, "35dd", floppy_formats)
+ MCFG_SLOT_FIXED(true)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", electron_floppies, nullptr, floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+
+ /* software lists */
+ MCFG_SOFTWARE_LIST_ADD("flop_ls", "electron_flop")
+
+ /* pass-through */
+ MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
+MACHINE_CONFIG_END
const tiny_rom_entry *electron_plus3_device::device_rom_region() const
{
diff --git a/src/devices/bus/electron/plus3.h b/src/devices/bus/electron/plus3.h
index 0fc49206f89..ef27f075ffc 100644
--- a/src/devices/bus/electron/plus3.h
+++ b/src/devices/bus/electron/plus3.h
@@ -25,12 +25,6 @@ public:
// construction/destruction
electron_plus3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
- // 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(wd1770_status_r);
DECLARE_WRITE8_MEMBER(wd1770_status_w);
@@ -39,7 +33,13 @@ 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:
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
required_memory_region m_exp_rom;
required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/ep64/exdos.cpp b/src/devices/bus/ep64/exdos.cpp
index 3219b255477..d69858dc395 100644
--- a/src/devices/bus/ep64/exdos.cpp
+++ b/src/devices/bus/ep64/exdos.cpp
@@ -99,10 +99,10 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( ep64_exdos )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( ep64_exdos )
+MACHINE_CONFIG_MEMBER( ep64_exdos_device::device_add_mconfig )
MCFG_WD1770_ADD(WD1770_TAG, XTAL_8MHz)
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", ep64_exdos_floppies, "35dd", ep64_exdos_device::floppy_formats)
@@ -112,18 +112,6 @@ static MACHINE_CONFIG_START( ep64_exdos )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor ep64_exdos_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( ep64_exdos );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/ep64/exdos.h b/src/devices/bus/ep64/exdos.h
index 9cb002c7754..04e3ecf383b 100644
--- a/src/devices/bus/ep64/exdos.h
+++ b/src/devices/bus/ep64/exdos.h
@@ -30,21 +30,21 @@ public:
// construction/destruction
ep64_exdos_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( read );
DECLARE_WRITE8_MEMBER( write );
- 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;
+
private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp
index da8cb5463b5..16eb89c988a 100644
--- a/src/devices/bus/epson_sio/pf10.cpp
+++ b/src/devices/bus/epson_sio/pf10.cpp
@@ -56,15 +56,14 @@ const tiny_rom_entry *epson_pf10_device::device_rom_region() const
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
static SLOT_INTERFACE_START( pf10_floppies )
SLOT_INTERFACE( "smd165", EPSON_SMD_165 )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( pf10 )
+MACHINE_CONFIG_MEMBER( epson_pf10_device::device_add_mconfig )
MCFG_CPU_ADD("maincpu", HD6303Y, XTAL_4_9152MHz) // HD63A03XF
MCFG_CPU_PROGRAM_MAP(cpu_mem)
MCFG_CPU_IO_MAP(cpu_io)
@@ -78,11 +77,6 @@ static MACHINE_CONFIG_START( pf10 )
MCFG_EPSON_SIO_PIN(DEVWRITELINE(DEVICE_SELF, epson_pf10_device, pinc_w))
MACHINE_CONFIG_END
-machine_config_constructor epson_pf10_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pf10 );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/epson_sio/pf10.h b/src/devices/bus/epson_sio/pf10.h
index 6aff101af70..282bbb874c1 100644
--- a/src/devices/bus/epson_sio/pf10.h
+++ b/src/devices/bus/epson_sio/pf10.h
@@ -29,10 +29,6 @@ public:
// construction/destruction
epson_pf10_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;
-
// floppy disk controller
DECLARE_READ8_MEMBER( fdc_r );
DECLARE_WRITE8_MEMBER( fdc_w );
@@ -44,24 +40,29 @@ public:
DECLARE_READ8_MEMBER( port2_r );
DECLARE_WRITE8_MEMBER( port2_w );
- // serial output from main cpu
- DECLARE_WRITE_LINE_MEMBER( hd6303_tx_w );
-
- // from sio output
- DECLARE_WRITE_LINE_MEMBER( rxc_w );
- DECLARE_WRITE_LINE_MEMBER( pinc_w );
-
protected:
// device-level overrides
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;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_epson_sio_interface overrides
virtual void tx_w(int level) override;
virtual void pout_w(int level) override;
private:
+ // serial output from main cpu
+ DECLARE_WRITE_LINE_MEMBER( hd6303_tx_w );
+
+ // from sio output
+ DECLARE_WRITE_LINE_MEMBER( rxc_w );
+ DECLARE_WRITE_LINE_MEMBER( pinc_w );
+
+
required_device<hd6303y_cpu_device> m_cpu;
required_device<upd765a_device> m_fdc;
required_device<epson_sio_device> m_sio_output;
diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp
index 9a3301ef8e9..49b56894bec 100644
--- a/src/devices/bus/epson_sio/tf20.cpp
+++ b/src/devices/bus/epson_sio/tf20.cpp
@@ -76,19 +76,18 @@ ioport_constructor epson_tf20_device::device_input_ports() const
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
static SLOT_INTERFACE_START( tf20_floppies )
SLOT_INTERFACE( "sd320", EPSON_SD_320 )
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( tf20 )
+MACHINE_CONFIG_MEMBER( epson_tf20_device::device_add_mconfig )
MCFG_CPU_ADD("19b", Z80, XTAL_CR1 / 2) /* uPD780C */
MCFG_CPU_PROGRAM_MAP(cpu_mem)
MCFG_CPU_IO_MAP(cpu_io)
- MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(DEVICE_SELF, epson_tf20_device,irq_callback)
+ MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(DEVICE_SELF, epson_tf20_device, irq_callback)
// 64k internal ram
MCFG_RAM_ADD("ram")
@@ -113,11 +112,6 @@ static MACHINE_CONFIG_START( tf20 )
MCFG_EPSON_SIO_PIN(DEVWRITELINE(DEVICE_SELF, epson_tf20_device, pinc_w))
MACHINE_CONFIG_END
-machine_config_constructor epson_tf20_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( tf20 );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/epson_sio/tf20.h b/src/devices/bus/epson_sio/tf20.h
index 31c1232c4bb..e509e6ffcaa 100644
--- a/src/devices/bus/epson_sio/tf20.h
+++ b/src/devices/bus/epson_sio/tf20.h
@@ -31,22 +31,10 @@ public:
// construction/destruction
epson_tf20_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( rom_disable_r );
DECLARE_READ8_MEMBER( upd765_tc_r );
DECLARE_WRITE8_MEMBER( fdc_control_w );
- IRQ_CALLBACK_MEMBER( irq_callback );
- DECLARE_WRITE_LINE_MEMBER( txda_w );
- DECLARE_WRITE_LINE_MEMBER( dtra_w );
-
- // from sio output
- DECLARE_WRITE_LINE_MEMBER( rxc_w );
- DECLARE_WRITE_LINE_MEMBER( pinc_w );
protected:
// device-level overrides
@@ -54,11 +42,24 @@ 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;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_epson_sio_interface overrides
virtual void tx_w(int level) override;
virtual void pout_w(int level) override;
private:
+ IRQ_CALLBACK_MEMBER( irq_callback );
+ DECLARE_WRITE_LINE_MEMBER( txda_w );
+ DECLARE_WRITE_LINE_MEMBER( dtra_w );
+
+ // from sio output
+ DECLARE_WRITE_LINE_MEMBER( rxc_w );
+ DECLARE_WRITE_LINE_MEMBER( pinc_w );
+
required_device<cpu_device> m_cpu;
required_device<ram_device> m_ram;
required_device<upd765a_device> m_fdc;
diff --git a/src/devices/bus/gamegear/smsctrladp.cpp b/src/devices/bus/gamegear/smsctrladp.cpp
index a0335da6462..a2aa9f222dc 100644
--- a/src/devices/bus/gamegear/smsctrladp.cpp
+++ b/src/devices/bus/gamegear/smsctrladp.cpp
@@ -64,11 +64,6 @@ void sms_ctrl_adaptor_device::peripheral_w(uint8_t data)
}
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
WRITE_LINE_MEMBER( sms_ctrl_adaptor_device::th_pin_w )
{
m_port->th_pin_w(state);
@@ -81,14 +76,13 @@ READ32_MEMBER( sms_ctrl_adaptor_device::pixel_r )
}
-static MACHINE_CONFIG_START( sms_adp_slot )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( sms_ctrl_adaptor_device::device_add_mconfig )
MCFG_SMS_CONTROL_PORT_ADD("ctrl", sms_control_port_devices, "joypad")
MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(WRITELINE(sms_ctrl_adaptor_device, th_pin_w))
MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(sms_ctrl_adaptor_device, pixel_r))
MACHINE_CONFIG_END
-
-machine_config_constructor sms_ctrl_adaptor_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sms_adp_slot );
-}
diff --git a/src/devices/bus/gamegear/smsctrladp.h b/src/devices/bus/gamegear/smsctrladp.h
index 8d139eb0371..a1c4294abde 100644
--- a/src/devices/bus/gamegear/smsctrladp.h
+++ b/src/devices/bus/gamegear/smsctrladp.h
@@ -31,19 +31,19 @@ public:
// construction/destruction
sms_ctrl_adaptor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE_LINE_MEMBER(th_pin_w);
- DECLARE_READ32_MEMBER(pixel_r);
-
protected:
// device-level overrides
virtual void device_start() override;
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
// device_gg_ext_port_interface overrides
virtual uint8_t peripheral_r() override;
virtual void peripheral_w(uint8_t data) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(th_pin_w);
+ DECLARE_READ32_MEMBER(pixel_r);
+
required_device<sms_control_port_device> m_subctrl_port;
};
diff --git a/src/devices/bus/gba/rom.cpp b/src/devices/bus/gba/rom.cpp
index 3b3a2e6e20e..5d083f6479e 100644
--- a/src/devices/bus/gba/rom.cpp
+++ b/src/devices/bus/gba/rom.cpp
@@ -406,15 +406,10 @@ void gba_rom_wariotws_device::gpio_dev_write(uint16_t data, int gpio_dirs)
Carts with Flash RAM
-------------------------------------------------*/
-static MACHINE_CONFIG_START( panasonic_flash )
+MACHINE_CONFIG_MEMBER( gba_rom_flash_device::device_add_mconfig )
MCFG_PANASONIC_MN63F805MNP_ADD("flash")
MACHINE_CONFIG_END
-machine_config_constructor gba_rom_flash_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( panasonic_flash );
-}
-
READ32_MEMBER(gba_rom_flash_device::read_ram)
{
@@ -457,15 +452,10 @@ WRITE32_MEMBER(gba_rom_flash_device::write_ram)
}
}
-static MACHINE_CONFIG_START( sanyo_flash )
+MACHINE_CONFIG_MEMBER( gba_rom_flash1m_device::device_add_mconfig )
MCFG_SANYO_LE26FV10N1TS_ADD("flash")
MACHINE_CONFIG_END
-machine_config_constructor gba_rom_flash1m_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( sanyo_flash );
-}
-
READ32_MEMBER(gba_rom_flash1m_device::read_ram)
{
diff --git a/src/devices/bus/gba/rom.h b/src/devices/bus/gba/rom.h
index 118f075e416..7dc4c060f97 100644
--- a/src/devices/bus/gba/rom.h
+++ b/src/devices/bus/gba/rom.h
@@ -175,10 +175,7 @@ public:
// construction/destruction
gba_rom_flash_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;
-
- // reading and writing
+// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
@@ -187,6 +184,9 @@ protected:
virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
//uint32_t m_flash_size;
uint32_t m_flash_mask;
required_device<intelfsh8_device> m_flash;
@@ -221,9 +221,6 @@ public:
// construction/destruction
gba_rom_flash1m_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;
-
// reading and writing
virtual DECLARE_READ32_MEMBER(read_ram) override;
virtual DECLARE_WRITE32_MEMBER(write_ram) override;
@@ -233,6 +230,9 @@ protected:
virtual void device_reset() override;
+ // device-level overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
//uint32_t m_flash_size;
uint32_t m_flash_mask;
required_device<intelfsh8_device> m_flash;
diff --git a/src/devices/bus/hp9845_io/98034.cpp b/src/devices/bus/hp9845_io/98034.cpp
index 16a60a81b43..8936cf8900c 100644
--- a/src/devices/bus/hp9845_io/98034.cpp
+++ b/src/devices/bus/hp9845_io/98034.cpp
@@ -356,7 +356,12 @@ static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98034_io_card_device)
AM_RANGE(7 , 7) AM_READ(switch_r)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START(hp98034)
+const tiny_rom_entry *hp98034_io_card_device::device_rom_region() const
+{
+ return ROM_NAME(hp98034);
+}
+
+MACHINE_CONFIG_MEMBER(hp98034_io_card_device::device_add_mconfig)
// Clock for NP is generated by a RC oscillator. Manual says its typical frequency
// is around 2 MHz.
MCFG_CPU_ADD("np" , HP_NANOPROCESSOR , 2000000)
@@ -372,15 +377,5 @@ static MACHINE_CONFIG_START(hp98034)
MCFG_IEEE488_ATN_CALLBACK(WRITELINE(hp98034_io_card_device , ieee488_ctrl_w))
MACHINE_CONFIG_END
-const tiny_rom_entry *hp98034_io_card_device::device_rom_region() const
-{
- return ROM_NAME(hp98034);
-}
-
-machine_config_constructor hp98034_io_card_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(hp98034);
-}
-
// device type definition
DEFINE_DEVICE_TYPE(HP98034_IO_CARD, hp98034_io_card_device, "hp98034", "HP98034 card")
diff --git a/src/devices/bus/hp9845_io/98034.h b/src/devices/bus/hp9845_io/98034.h
index 9d751a29568..f92d1326f00 100644
--- a/src/devices/bus/hp9845_io/98034.h
+++ b/src/devices/bus/hp9845_io/98034.h
@@ -24,17 +24,9 @@ public:
hp98034_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~hp98034_io_card_device();
- // 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;
-
virtual DECLARE_READ16_MEMBER(reg_r) override;
virtual DECLARE_WRITE16_MEMBER(reg_w) override;
- DECLARE_WRITE8_MEMBER(dc_w);
- DECLARE_READ8_MEMBER(dc_r);
-
DECLARE_WRITE8_MEMBER(hpib_data_w);
DECLARE_WRITE8_MEMBER(hpib_ctrl_w);
DECLARE_READ8_MEMBER(hpib_ctrl_r);
@@ -45,15 +37,23 @@ public:
DECLARE_WRITE8_MEMBER(mode_reg_clear_w);
DECLARE_READ8_MEMBER(switch_r);
- IRQ_CALLBACK_MEMBER(irq_callback);
-
- DECLARE_WRITE_LINE_MEMBER(ieee488_ctrl_w);
-
protected:
virtual void device_start() override;
virtual void device_reset() 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:
+ DECLARE_WRITE8_MEMBER(dc_w);
+ DECLARE_READ8_MEMBER(dc_r);
+
+ IRQ_CALLBACK_MEMBER(irq_callback);
+
+ DECLARE_WRITE_LINE_MEMBER(ieee488_ctrl_w);
+
required_device<hp_nanoprocessor_device> m_cpu;
required_ioport m_sw1;
required_device<ieee488_device> m_ieee488;
diff --git a/src/devices/bus/hp9845_io/98035.cpp b/src/devices/bus/hp9845_io/98035.cpp
index 8651230fd0c..4011e9b9aea 100644
--- a/src/devices/bus/hp9845_io/98035.cpp
+++ b/src/devices/bus/hp9845_io/98035.cpp
@@ -749,22 +749,17 @@ static ADDRESS_MAP_START(np_io_map , AS_IO , 8 , hp98035_io_card_device)
AM_RANGE(0xe , 0xe) AM_READWRITE(clr_inten_r , clr_inten_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START(hp98035)
- MCFG_CPU_ADD("np" , HP_NANOPROCESSOR , XTAL_1MHz)
- MCFG_CPU_PROGRAM_MAP(np_program_map)
- MCFG_CPU_IO_MAP(np_io_map)
- MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98035_io_card_device , dc_w))
-MACHINE_CONFIG_END
-
const tiny_rom_entry *hp98035_io_card_device::device_rom_region() const
{
return ROM_NAME(hp98035);
}
-machine_config_constructor hp98035_io_card_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(hp98035);
-}
+MACHINE_CONFIG_MEMBER(hp98035_io_card_device::device_add_mconfig)
+ MCFG_CPU_ADD("np" , HP_NANOPROCESSOR , XTAL_1MHz)
+ MCFG_CPU_PROGRAM_MAP(np_program_map)
+ MCFG_CPU_IO_MAP(np_io_map)
+ MCFG_HP_NANO_DC_CHANGED(WRITE8(hp98035_io_card_device , dc_w))
+MACHINE_CONFIG_END
// device type definition
DEFINE_DEVICE_TYPE(HP98035_IO_CARD, hp98035_io_card_device, "hp98035", "HP98035 card")
diff --git a/src/devices/bus/hp9845_io/98035.h b/src/devices/bus/hp9845_io/98035.h
index 7bfa8a7db58..62a0d5a03de 100644
--- a/src/devices/bus/hp9845_io/98035.h
+++ b/src/devices/bus/hp9845_io/98035.h
@@ -24,11 +24,6 @@ public:
hp98035_io_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~hp98035_io_card_device();
- // 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;
-
virtual DECLARE_READ16_MEMBER(reg_r) override;
virtual DECLARE_WRITE16_MEMBER(reg_w) override;
@@ -49,14 +44,19 @@ public:
DECLARE_READ8_MEMBER(clr_inten_r);
DECLARE_WRITE8_MEMBER(clr_inten_w);
- DECLARE_WRITE8_MEMBER(dc_w);
-
protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // 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:
+ DECLARE_WRITE8_MEMBER(dc_w);
+
required_device<hp_nanoprocessor_device> m_cpu;
// Internal RAM & I/F