summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-06-07 18:58:48 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-06-07 18:58:48 +0200
commitfd1bb20b1b81daeb7ab925fb4f9e82161e2f2e4c (patch)
treeabe9b9828baaa83d87cbd8c8b434cc174648b8b5
parent7b2e155728f7725a0c62d9abb2b31be5a00eea91 (diff)
some more device_add_mconfig in devices/bus (nw)
-rw-r--r--src/devices/bus/abcbus/abc890.cpp90
-rw-r--r--src/devices/bus/abcbus/abc890.h21
-rw-r--r--src/devices/bus/abcbus/fd2.cpp16
-rw-r--r--src/devices/bus/abcbus/fd2.h22
-rw-r--r--src/devices/bus/abcbus/hdc.cpp16
-rw-r--r--src/devices/bus/abcbus/hdc.h8
-rw-r--r--src/devices/bus/abcbus/lux10828.cpp15
-rw-r--r--src/devices/bus/abcbus/lux10828.h30
-rw-r--r--src/devices/bus/abcbus/lux21046.cpp76
-rw-r--r--src/devices/bus/abcbus/lux21046.h43
-rw-r--r--src/devices/bus/abcbus/lux21056.cpp16
-rw-r--r--src/devices/bus/abcbus/lux21056.h32
-rw-r--r--src/devices/bus/abcbus/lux4105.cpp15
-rw-r--r--src/devices/bus/abcbus/lux4105.h19
-rw-r--r--src/devices/bus/abcbus/sio.cpp15
-rw-r--r--src/devices/bus/abcbus/sio.h8
-rw-r--r--src/devices/bus/abcbus/turbo.cpp15
-rw-r--r--src/devices/bus/abcbus/turbo.h8
-rw-r--r--src/devices/bus/abckb/abc77.cpp15
-rw-r--r--src/devices/bus/abckb/abc77.h20
-rw-r--r--src/devices/bus/abckb/abc800kb.cpp15
-rw-r--r--src/devices/bus/abckb/abc800kb.h21
-rw-r--r--src/devices/bus/abckb/abc99.cpp15
-rw-r--r--src/devices/bus/abckb/abc99.h19
-rw-r--r--src/devices/bus/adam/ide.cpp16
-rw-r--r--src/devices/bus/adam/ide.h8
-rw-r--r--src/devices/bus/adamnet/ddp.cpp16
-rw-r--r--src/devices/bus/adamnet/ddp.h8
-rw-r--r--src/devices/bus/adamnet/fdc.cpp15
-rw-r--r--src/devices/bus/adamnet/fdc.h15
-rw-r--r--src/devices/bus/adamnet/kb.cpp15
-rw-r--r--src/devices/bus/adamnet/kb.h10
-rw-r--r--src/devices/bus/adamnet/printer.cpp15
-rw-r--r--src/devices/bus/adamnet/printer.h8
-rw-r--r--src/devices/bus/adamnet/spi.cpp15
-rw-r--r--src/devices/bus/adamnet/spi.h8
-rw-r--r--src/devices/bus/amiga/zorro/a2232.cpp10
-rw-r--r--src/devices/bus/amiga/zorro/a2232.h62
-rw-r--r--src/devices/bus/amiga/zorro/a590.cpp10
-rw-r--r--src/devices/bus/amiga/zorro/a590.h22
-rw-r--r--src/devices/bus/amiga/zorro/buddha.cpp10
-rw-r--r--src/devices/bus/amiga/zorro/buddha.h8
-rw-r--r--src/devices/bus/apricot/keyboard/hle.cpp7
-rw-r--r--src/devices/bus/apricot/keyboard/hle.h2
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.cpp41
-rw-r--r--src/devices/bus/bbc/1mhzbus/opus3.h15
-rw-r--r--src/devices/bus/bbc/fdc/acorn.cpp61
-rw-r--r--src/devices/bus/bbc/fdc/acorn.h33
-rw-r--r--src/devices/bus/bbc/fdc/cumana.cpp44
-rw-r--r--src/devices/bus/bbc/fdc/cumana.h6
-rw-r--r--src/devices/bus/bbc/fdc/opus.cpp73
-rw-r--r--src/devices/bus/bbc/fdc/opus.h9
-rw-r--r--src/devices/bus/bbc/fdc/watford.cpp51
-rw-r--r--src/devices/bus/bbc/fdc/watford.h19
-rw-r--r--src/devices/bus/bml3/bml3kanji.cpp13
-rw-r--r--src/devices/bus/bml3/bml3kanji.h7
-rw-r--r--src/devices/bus/bml3/bml3mp1802.cpp25
-rw-r--r--src/devices/bus/bml3/bml3mp1802.h11
-rw-r--r--src/devices/bus/bml3/bml3mp1805.cpp17
-rw-r--r--src/devices/bus/bml3/bml3mp1805.h12
-rw-r--r--src/devices/bus/c64/16kb.cpp15
-rw-r--r--src/devices/bus/c64/16kb.h8
-rw-r--r--src/devices/bus/c64/cpm.cpp15
-rw-r--r--src/devices/bus/c64/cpm.h6
-rw-r--r--src/devices/bus/c64/currah_speech.cpp16
-rw-r--r--src/devices/bus/c64/currah_speech.h8
-rw-r--r--src/devices/bus/c64/dela_ep256.cpp15
-rw-r--r--src/devices/bus/c64/dela_ep256.h6
-rw-r--r--src/devices/bus/c64/dela_ep64.cpp15
-rw-r--r--src/devices/bus/c64/dela_ep64.h6
-rw-r--r--src/devices/bus/c64/dela_ep7x8.cpp15
-rw-r--r--src/devices/bus/c64/dela_ep7x8.h6
-rw-r--r--src/devices/bus/c64/easyflash.cpp15
-rw-r--r--src/devices/bus/c64/easyflash.h8
-rw-r--r--src/devices/bus/c64/fcc.cpp15
-rw-r--r--src/devices/bus/c64/fcc.h10
-rw-r--r--src/devices/bus/c64/geocable.cpp15
-rw-r--r--src/devices/bus/c64/geocable.h6
-rw-r--r--src/devices/bus/c64/ide64.cpp16
-rw-r--r--src/devices/bus/c64/ide64.h8
-rw-r--r--src/devices/bus/c64/ieee488.cpp16
-rw-r--r--src/devices/bus/c64/ieee488.h17
-rw-r--r--src/devices/bus/c64/magic_formel.cpp15
-rw-r--r--src/devices/bus/c64/magic_formel.h17
-rw-r--r--src/devices/bus/c64/magic_voice.cpp15
-rw-r--r--src/devices/bus/c64/magic_voice.h28
-rw-r--r--src/devices/bus/c64/midi_maplin.cpp15
-rw-r--r--src/devices/bus/c64/midi_maplin.h12
-rw-r--r--src/devices/bus/c64/midi_namesoft.cpp15
-rw-r--r--src/devices/bus/c64/midi_namesoft.h12
-rw-r--r--src/devices/bus/c64/midi_passport.cpp15
-rw-r--r--src/devices/bus/c64/midi_passport.h14
-rw-r--r--src/devices/bus/c64/midi_sci.cpp15
-rw-r--r--src/devices/bus/c64/midi_sci.h12
-rw-r--r--src/devices/bus/c64/midi_siel.cpp15
-rw-r--r--src/devices/bus/c64/midi_siel.h12
-rw-r--r--src/devices/bus/c64/multiscreen.cpp16
-rw-r--r--src/devices/bus/c64/multiscreen.h8
-rw-r--r--src/devices/bus/c64/music64.cpp15
-rw-r--r--src/devices/bus/c64/music64.h8
-rw-r--r--src/devices/bus/c64/ps64.cpp16
-rw-r--r--src/devices/bus/c64/ps64.h6
-rw-r--r--src/devices/bus/c64/reu.cpp15
-rw-r--r--src/devices/bus/c64/reu.h7
-rw-r--r--src/devices/bus/c64/rex_ep256.cpp15
-rw-r--r--src/devices/bus/c64/rex_ep256.h6
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.cpp15
-rw-r--r--src/devices/bus/c64/sfx_sound_expander.h12
-rw-r--r--src/devices/bus/c64/speakeasy.cpp15
-rw-r--r--src/devices/bus/c64/speakeasy.h6
-rw-r--r--src/devices/bus/c64/supercpu.cpp15
-rw-r--r--src/devices/bus/c64/supercpu.h10
-rw-r--r--src/devices/bus/c64/swiftlink.cpp15
-rw-r--r--src/devices/bus/c64/swiftlink.h12
-rw-r--r--src/devices/bus/c64/tdos.cpp15
-rw-r--r--src/devices/bus/c64/tdos.h8
-rw-r--r--src/devices/bus/c64/turbo232.cpp15
-rw-r--r--src/devices/bus/c64/turbo232.h12
-rw-r--r--src/devices/bus/c64/xl80.cpp15
-rw-r--r--src/devices/bus/c64/xl80.h13
-rw-r--r--src/devices/bus/cbm2/hrg.cpp27
-rw-r--r--src/devices/bus/cbm2/hrg.h6
-rw-r--r--src/mame/drivers/zodiack.cpp31
123 files changed, 717 insertions, 1393 deletions
diff --git a/src/devices/bus/abcbus/abc890.cpp b/src/devices/bus/abcbus/abc890.cpp
index eab42c73ad2..17f9ed9cc57 100644
--- a/src/devices/bus/abcbus/abc890.cpp
+++ b/src/devices/bus/abcbus/abc890.cpp
@@ -24,10 +24,10 @@ DEFINE_DEVICE_TYPE(ABC856, abc856_device, "abc856", "ABC
//-------------------------------------------------
-// MACHINE_DRIVER( abc890 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc890 )
+MACHINE_CONFIG_MEMBER( abc890_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, nullptr)
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, nullptr)
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
@@ -39,21 +39,10 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor abc890_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc890 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( abc_expansion_unit )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( abc_expansion_unit )
+MACHINE_CONFIG_MEMBER( abc_expansion_unit_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abc80_cards, "abc830")
MCFG_ABCBUS_SLOT_ADD("io2", abc80_cards, nullptr)
MCFG_ABCBUS_SLOT_ADD("io3", abc80_cards, nullptr)
@@ -65,21 +54,10 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor abc_expansion_unit_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc_expansion_unit );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( abc894 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( abc894 )
+MACHINE_CONFIG_MEMBER( abc894_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, nullptr)
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, nullptr)
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, nullptr)
@@ -87,21 +65,10 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc894_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc894 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( abc850 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc850 )
+MACHINE_CONFIG_MEMBER( abc850_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "ro202")
@@ -114,21 +81,10 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor abc850_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc850 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( abc852 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( abc852 )
+MACHINE_CONFIG_MEMBER( abc852_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "basf6185")
@@ -141,21 +97,10 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor abc852_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc852 );
-}
-
-
-//-------------------------------------------------
-// MACHINE_DRIVER( abc856 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( abc856 )
+MACHINE_CONFIG_MEMBER( abc856_device::device_add_mconfig )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "micr1325")
@@ -167,17 +112,6 @@ static MACHINE_CONFIG_START( abc856 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc856_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc856 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/abc890.h b/src/devices/bus/abcbus/abc890.h
index 2d3aa9e345a..5a56b9804fe 100644
--- a/src/devices/bus/abcbus/abc890.h
+++ b/src/devices/bus/abcbus/abc890.h
@@ -28,9 +28,6 @@ public:
// construction/destruction
abc890_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:
abc890_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -38,6 +35,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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual uint8_t abcbus_inp() override;
@@ -60,8 +60,9 @@ public:
// construction/destruction
abc_expansion_unit_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;
};
@@ -73,8 +74,9 @@ public:
// construction/destruction
abc894_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;
};
@@ -86,8 +88,9 @@ public:
// construction/destruction
abc850_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;
};
@@ -99,8 +102,9 @@ public:
// construction/destruction
abc852_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;
};
@@ -112,8 +116,9 @@ public:
// construction/destruction
abc856_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/devices/bus/abcbus/fd2.cpp b/src/devices/bus/abcbus/fd2.cpp
index dce640b497c..d3981c5f776 100644
--- a/src/devices/bus/abcbus/fd2.cpp
+++ b/src/devices/bus/abcbus/fd2.cpp
@@ -231,10 +231,10 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// MACHINE_DRIVER( abc_fd2 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc_fd2 )
+MACHINE_CONFIG_MEMBER( abc_fd2_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz/2)
MCFG_CPU_PROGRAM_MAP(abc_fd2_mem)
MCFG_CPU_IO_MAP(abc_fd2_io)
@@ -257,18 +257,6 @@ static MACHINE_CONFIG_START( abc_fd2 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc_fd2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc_fd2 );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/abcbus/fd2.h b/src/devices/bus/abcbus/fd2.h
index 37a2be98959..661e7d78d97 100644
--- a/src/devices/bus/abcbus/fd2.h
+++ b/src/devices/bus/abcbus/fd2.h
@@ -33,24 +33,17 @@ public:
// construction/destruction
abc_fd2_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( status_w );
- DECLARE_READ8_MEMBER( pio_pa_r );
- DECLARE_WRITE8_MEMBER( pio_pa_w );
- DECLARE_READ8_MEMBER( pio_pb_r );
- DECLARE_WRITE8_MEMBER( pio_pb_w );
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual uint8_t abcbus_inp() override;
@@ -61,6 +54,13 @@ protected:
virtual uint8_t abcbus_xmemfl(offs_t offset) override;
private:
+ DECLARE_READ8_MEMBER( pio_pa_r );
+ DECLARE_WRITE8_MEMBER( pio_pa_w );
+ DECLARE_READ8_MEMBER( pio_pb_r );
+ DECLARE_WRITE8_MEMBER( pio_pb_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<cpu_device> m_maincpu;
required_device<z80pio_device> m_pio;
required_device<fd1771_device> m_fdc;
diff --git a/src/devices/bus/abcbus/hdc.cpp b/src/devices/bus/abcbus/hdc.cpp
index 10291830375..5c06a863d83 100644
--- a/src/devices/bus/abcbus/hdc.cpp
+++ b/src/devices/bus/abcbus/hdc.cpp
@@ -78,10 +78,10 @@ static const z80_daisy_config daisy_chain[] =
//-------------------------------------------------
-// MACHINE_DRIVER( abc_hdc )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc_hdc )
+MACHINE_CONFIG_MEMBER( abc_hdc_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(abc_hdc_mem)
MCFG_CPU_IO_MAP(abc_hdc_io)
@@ -92,18 +92,6 @@ static MACHINE_CONFIG_START( abc_hdc )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc_hdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc_hdc );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/abcbus/hdc.h b/src/devices/bus/abcbus/hdc.h
index e9edb3b8d2a..e2d0e1cbdbb 100644
--- a/src/devices/bus/abcbus/hdc.h
+++ b/src/devices/bus/abcbus/hdc.h
@@ -31,15 +31,15 @@ public:
// construction/destruction
abc_hdc_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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
diff --git a/src/devices/bus/abcbus/lux10828.cpp b/src/devices/bus/abcbus/lux10828.cpp
index 545ca6d0479..cf526977c9c 100644
--- a/src/devices/bus/abcbus/lux10828.cpp
+++ b/src/devices/bus/abcbus/lux10828.cpp
@@ -323,10 +323,10 @@ WRITE_LINE_MEMBER( luxor_55_10828_device::fdc_drq_w )
//-------------------------------------------------
-// MACHINE_DRIVER( luxor_55_10828 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( luxor_55_10828 )
+MACHINE_CONFIG_MEMBER( luxor_55_10828_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz/2)
MCFG_CPU_PROGRAM_MAP(luxor_55_10828_mem)
MCFG_CPU_IO_MAP(luxor_55_10828_io)
@@ -349,17 +349,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor luxor_55_10828_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( luxor_55_10828 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( luxor_55_10828 )
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/lux10828.h b/src/devices/bus/abcbus/lux10828.h
index d695c57c19f..b62fca92171 100644
--- a/src/devices/bus/abcbus/lux10828.h
+++ b/src/devices/bus/abcbus/lux10828.h
@@ -60,26 +60,16 @@ public:
DECLARE_READ8_MEMBER( fdc_r );
DECLARE_WRITE8_MEMBER( fdc_w );
- DECLARE_READ8_MEMBER( pio_pa_r );
- DECLARE_WRITE8_MEMBER( pio_pa_w );
- DECLARE_READ8_MEMBER( pio_pb_r );
- DECLARE_WRITE8_MEMBER( pio_pb_w );
-
- DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
- DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
-
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
- // 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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual uint8_t abcbus_inp() override;
@@ -89,6 +79,16 @@ protected:
virtual void abcbus_c3(uint8_t data) override;
private:
+ DECLARE_READ8_MEMBER( pio_pa_r );
+ DECLARE_WRITE8_MEMBER( pio_pa_w );
+ DECLARE_READ8_MEMBER( pio_pb_r );
+ DECLARE_WRITE8_MEMBER( pio_pb_w );
+
+ DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
+ DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
+
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
+
required_device<cpu_device> m_maincpu;
required_device<z80pio_device> m_pio;
required_device<mb8876_device> m_fdc;
diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp
index e3b7b7639ee..5e01254d97c 100644
--- a/src/devices/bus/abcbus/lux21046.cpp
+++ b/src/devices/bus/abcbus/lux21046.cpp
@@ -284,10 +284,10 @@ static const z80_daisy_config z80_daisy_chain[] =
//-------------------------------------------------
-// MACHINE_CONFIG( luxor_55_21046 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( luxor_55_21046 )
+MACHINE_CONFIG_MEMBER( luxor_55_21046_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
MCFG_Z80_DAISY_CHAIN(z80_daisy_chain)
MCFG_CPU_PROGRAM_MAP(luxor_55_21046_mem)
@@ -306,84 +306,38 @@ static MACHINE_CONFIG_START( luxor_55_21046 )
MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE(Z80DMA_TAG, z80dma_device, rdy_w))
MACHINE_CONFIG_END
-
-//-------------------------------------------------
-// MACHINE_CONFIG( abc830 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_DERIVED( abc830, luxor_55_21046 )
+MACHINE_CONFIG_MEMBER( abc830_device::device_add_mconfig )
+ luxor_55_21046_device::device_add_mconfig(config);
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
-
-//-------------------------------------------------
-// MACHINE_CONFIG( abc832 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_DERIVED( abc832, luxor_55_21046 )
+MACHINE_CONFIG_MEMBER( abc832_device::device_add_mconfig )
+ luxor_55_21046_device::device_add_mconfig(config);
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
+MACHINE_CONFIG_MEMBER( abc834_device::device_add_mconfig )
+ luxor_55_21046_device::device_add_mconfig(config);
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
+MACHINE_CONFIG_END
-//-------------------------------------------------
-// MACHINE_CONFIG( abc838 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_DERIVED( abc838, luxor_55_21046 )
+MACHINE_CONFIG_MEMBER( abc838_device::device_add_mconfig )
+ luxor_55_21046_device::device_add_mconfig(config);
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
-
-//-------------------------------------------------
-// MACHINE_CONFIG( abc850 )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_DERIVED( abc850, luxor_55_21046 )
+MACHINE_CONFIG_MEMBER( abc850_floppy_device::device_add_mconfig )
+ luxor_55_21046_device::device_add_mconfig(config);
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, nullptr, luxor_55_21046_device::floppy_formats)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor luxor_55_21046_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( luxor_55_21046 );
-}
-
-machine_config_constructor abc830_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc830 );
-}
-
-machine_config_constructor abc832_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc832 );
-}
-
-machine_config_constructor abc834_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc832 );
-}
-
-machine_config_constructor abc838_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc838 );
-}
-
-machine_config_constructor abc850_floppy_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc850 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( luxor_55_21046 )
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/lux21046.h b/src/devices/bus/abcbus/lux21046.h
index 818b31a0718..8b47fdf4915 100644
--- a/src/devices/bus/abcbus/lux21046.h
+++ b/src/devices/bus/abcbus/lux21046.h
@@ -54,11 +54,6 @@ public:
// construction/destruction
luxor_55_21046_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( out_r );
DECLARE_WRITE8_MEMBER( inp_w );
@@ -67,15 +62,6 @@ public:
DECLARE_WRITE8_MEMBER( _8a_w );
DECLARE_READ8_MEMBER( _9a_r );
- DECLARE_WRITE_LINE_MEMBER( dma_int_w );
-
- DECLARE_READ8_MEMBER(memory_read_byte);
- DECLARE_WRITE8_MEMBER(memory_write_byte);
- DECLARE_READ8_MEMBER(io_read_byte);
- DECLARE_WRITE8_MEMBER(io_write_byte);
-
- DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
-
DECLARE_FLOPPY_FORMATS( floppy_formats );
protected:
@@ -85,6 +71,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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual int abcbus_csb() override;
@@ -96,6 +87,15 @@ protected:
virtual void abcbus_c4(uint8_t data) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( dma_int_w );
+
+ DECLARE_READ8_MEMBER(memory_read_byte);
+ DECLARE_WRITE8_MEMBER(memory_write_byte);
+ DECLARE_READ8_MEMBER(io_read_byte);
+ DECLARE_WRITE8_MEMBER(io_write_byte);
+
+ DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w );
+
required_device<cpu_device> m_maincpu;
required_device<z80dma_device> m_dma;
required_device<fd1793_device> m_fdc;
@@ -125,8 +125,9 @@ public:
// construction/destruction
abc830_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;
};
@@ -139,8 +140,9 @@ public:
// construction/destruction
abc832_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;
};
@@ -153,8 +155,9 @@ public:
// construction/destruction
abc834_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;
};
@@ -167,8 +170,9 @@ public:
// construction/destruction
abc838_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;
};
@@ -181,8 +185,9 @@ public:
// construction/destruction
abc850_floppy_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;
};
diff --git a/src/devices/bus/abcbus/lux21056.cpp b/src/devices/bus/abcbus/lux21056.cpp
index 0f58b006d4b..0ad61bc4f8f 100644
--- a/src/devices/bus/abcbus/lux21056.cpp
+++ b/src/devices/bus/abcbus/lux21056.cpp
@@ -240,11 +240,12 @@ WRITE_LINE_MEMBER( luxor_55_21056_device::write_sasi_msg )
m_sasi_msg = state;
}
+
//-------------------------------------------------
-// MACHINE_DRIVER( luxor_55_21056 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( luxor_55_21056 )
+MACHINE_CONFIG_MEMBER( luxor_55_21056_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_8MHz/2)
MCFG_CPU_PROGRAM_MAP(luxor_55_21056_mem)
MCFG_CPU_IO_MAP(luxor_55_21056_io)
@@ -273,17 +274,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor luxor_55_21056_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( luxor_55_21056 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( luxor_55_21046 )
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/lux21056.h b/src/devices/bus/abcbus/lux21056.h
index b79dc547895..fa2f7122f75 100644
--- a/src/devices/bus/abcbus/lux21056.h
+++ b/src/devices/bus/abcbus/lux21056.h
@@ -32,11 +32,6 @@ public:
// construction/destruction
luxor_55_21056_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( sasi_status_r );
DECLARE_WRITE8_MEMBER( stat_w );
DECLARE_READ8_MEMBER( out_r );
@@ -50,22 +45,16 @@ public:
DECLARE_READ8_MEMBER( sasi_rst_r );
DECLARE_WRITE8_MEMBER( sasi_rst_w );
- DECLARE_READ8_MEMBER( memory_read_byte );
- DECLARE_WRITE8_MEMBER( memory_write_byte );
- DECLARE_READ8_MEMBER( io_read_byte );
- DECLARE_WRITE8_MEMBER( io_write_byte );
-
- DECLARE_WRITE_LINE_MEMBER( write_sasi_req );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_io );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_cd );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_msg );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_bsy );
-
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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual uint8_t abcbus_inp() override;
@@ -77,6 +66,17 @@ protected:
private:
void set_rdy(int state);
+ DECLARE_READ8_MEMBER( memory_read_byte );
+ DECLARE_WRITE8_MEMBER( memory_write_byte );
+ DECLARE_READ8_MEMBER( io_read_byte );
+ DECLARE_WRITE8_MEMBER( io_write_byte );
+
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_req );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_io );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_cd );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_msg );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_bsy );
+
required_device<cpu_device> m_maincpu;
required_device<z80dma_device> m_dma;
required_device<scsi_port_device> m_sasibus;
diff --git a/src/devices/bus/abcbus/lux4105.cpp b/src/devices/bus/abcbus/lux4105.cpp
index e448c9f8797..05181176fc1 100644
--- a/src/devices/bus/abcbus/lux4105.cpp
+++ b/src/devices/bus/abcbus/lux4105.cpp
@@ -69,10 +69,10 @@ WRITE_LINE_MEMBER( luxor_4105_device::write_sasi_cd )
//-------------------------------------------------
-// MACHINE_DRIVER( luxor_4105 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( luxor_4105 )
+MACHINE_CONFIG_MEMBER( luxor_4105_device::device_add_mconfig )
MCFG_DEVICE_ADD(SASIBUS_TAG, SCSI_PORT, 0)
MCFG_SCSI_DATA_INPUT_BUFFER("sasi_data_in")
MCFG_SCSI_BSY_HANDLER(WRITELINE(luxor_4105_device, write_sasi_bsy))
@@ -87,17 +87,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor luxor_4105_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( luxor_4105 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( luxor_4105 )
//-------------------------------------------------
diff --git a/src/devices/bus/abcbus/lux4105.h b/src/devices/bus/abcbus/lux4105.h
index 6c81a457b11..80e817336d8 100644
--- a/src/devices/bus/abcbus/lux4105.h
+++ b/src/devices/bus/abcbus/lux4105.h
@@ -38,21 +38,15 @@ public:
// construction/destruction
luxor_4105_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;
-
- // not really public
- DECLARE_WRITE_LINE_MEMBER( write_sasi_bsy );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_req );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_cd );
- DECLARE_WRITE_LINE_MEMBER( write_sasi_io );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual int abcbus_csb() override;
@@ -66,6 +60,11 @@ protected:
private:
inline void update_trrq_int();
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_bsy );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_req );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_cd );
+ DECLARE_WRITE_LINE_MEMBER( write_sasi_io );
+
required_device<scsi_port_device> m_sasibus;
required_device<output_latch_device> m_sasi_data_out;
required_device<input_buffer_device> m_sasi_data_in;
diff --git a/src/devices/bus/abcbus/sio.cpp b/src/devices/bus/abcbus/sio.cpp
index 482d72227f8..a3ff8e307bc 100644
--- a/src/devices/bus/abcbus/sio.cpp
+++ b/src/devices/bus/abcbus/sio.cpp
@@ -73,26 +73,15 @@ const tiny_rom_entry *abc_sio_device::device_rom_region() const
//-------------------------------------------------
-// MACHINE_DRIVER( abc_sio )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc_sio )
+MACHINE_CONFIG_MEMBER( abc_sio_device::device_add_mconfig )
MCFG_DEVICE_ADD(Z80CTC_TAG, Z80CTC, XTAL_4_9152MHz)
MCFG_Z80DART_ADD(Z80SIO_TAG, 0, 0, 0, 0, 0)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc_sio_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc_sio );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/sio.h b/src/devices/bus/abcbus/sio.h
index fffaf89c640..6cb86d9fc76 100644
--- a/src/devices/bus/abcbus/sio.h
+++ b/src/devices/bus/abcbus/sio.h
@@ -24,15 +24,15 @@ public:
// construction/destruction
abc_sio_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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
virtual uint8_t abcbus_xmemfl(offs_t offset) override;
diff --git a/src/devices/bus/abcbus/turbo.cpp b/src/devices/bus/abcbus/turbo.cpp
index 86423bdc3df..7be5a3dac47 100644
--- a/src/devices/bus/abcbus/turbo.cpp
+++ b/src/devices/bus/abcbus/turbo.cpp
@@ -79,10 +79,10 @@ static const z80_daisy_config daisy_chain[] =
//-------------------------------------------------
-// MACHINE_DRIVER( turbo_kontroller )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( turbo_kontroller )
+MACHINE_CONFIG_MEMBER( turbo_kontroller_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(turbo_kontroller_mem)
MCFG_CPU_IO_MAP(turbo_kontroller_io)
@@ -90,17 +90,6 @@ static MACHINE_CONFIG_START( turbo_kontroller )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor turbo_kontroller_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( turbo_kontroller );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/abcbus/turbo.h b/src/devices/bus/abcbus/turbo.h
index 1204bf7df3e..37cc7364f40 100644
--- a/src/devices/bus/abcbus/turbo.h
+++ b/src/devices/bus/abcbus/turbo.h
@@ -30,15 +30,15 @@ public:
// construction/destruction
turbo_kontroller_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_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
diff --git a/src/devices/bus/abckb/abc77.cpp b/src/devices/bus/abckb/abc77.cpp
index c5012400ec3..8c70cf79e6e 100644
--- a/src/devices/bus/abckb/abc77.cpp
+++ b/src/devices/bus/abckb/abc77.cpp
@@ -124,10 +124,10 @@ DISCRETE_SOUND_END
//-------------------------------------------------
-// MACHINE_DRIVER( abc77 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc77 )
+MACHINE_CONFIG_MEMBER( abc77_device::device_add_mconfig )
// keyboard cpu
MCFG_CPU_ADD(I8035_TAG, I8035, XTAL_4_608MHz)
MCFG_CPU_PROGRAM_MAP(abc77_map)
@@ -150,17 +150,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc77_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc77 );
-}
-
-
-//-------------------------------------------------
// INPUT_CHANGED_MEMBER( keyboard_reset )
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc77.h b/src/devices/bus/abckb/abc77.h
index 4d07bc1d2a4..5adb6332340 100644
--- a/src/devices/bus/abckb/abc77.h
+++ b/src/devices/bus/abckb/abc77.h
@@ -32,20 +32,11 @@ public:
// construction/destruction
abc77_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;
-
// abc_keyboard_interface overrides
virtual void txd_w(int state) override;
DECLARE_INPUT_CHANGED_MEMBER( keyboard_reset );
- DECLARE_READ8_MEMBER( p1_r );
- DECLARE_WRITE8_MEMBER( p2_w );
- DECLARE_READ_LINE_MEMBER( t1_r );
- DECLARE_WRITE_LINE_MEMBER( prog_w );
DECLARE_WRITE8_MEMBER( j3_w );
protected:
@@ -56,6 +47,11 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
enum
{
TIMER_SERIAL,
@@ -84,6 +80,12 @@ protected:
// timers
emu_timer *m_serial_timer;
emu_timer *m_reset_timer;
+
+private:
+ DECLARE_READ8_MEMBER( p1_r );
+ DECLARE_WRITE8_MEMBER( p2_w );
+ DECLARE_READ_LINE_MEMBER( t1_r );
+ DECLARE_WRITE_LINE_MEMBER( prog_w );
};
diff --git a/src/devices/bus/abckb/abc800kb.cpp b/src/devices/bus/abckb/abc800kb.cpp
index 2c3dbc5821a..4676c0089fd 100644
--- a/src/devices/bus/abckb/abc800kb.cpp
+++ b/src/devices/bus/abckb/abc800kb.cpp
@@ -109,10 +109,10 @@ const tiny_rom_entry *abc800_keyboard_device::device_rom_region() const
//-------------------------------------------------
-// MACHINE_DRIVER( abc800_keyboard )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc800_keyboard )
+MACHINE_CONFIG_MEMBER( abc800_keyboard_device::device_add_mconfig )
MCFG_CPU_ADD(I8048_TAG, I8048, XTAL_5_9904MHz)
MCFG_MCS48_PORT_P1_IN_CB(READ8(abc800_keyboard_device, kb_p1_r))
MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(abc800_keyboard_device, kb_p1_w))
@@ -122,17 +122,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc800_keyboard_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc800_keyboard );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( abc800_keyboard )
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc800kb.h b/src/devices/bus/abckb/abc800kb.h
index e2bbd460cad..5d07699c1eb 100644
--- a/src/devices/bus/abckb/abc800kb.h
+++ b/src/devices/bus/abckb/abc800kb.h
@@ -31,31 +31,30 @@ public:
// construction/destruction
abc800_keyboard_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;
-
// abc_keyboard_interface overrides
virtual void txd_w(int state) override;
- // not really public
- DECLARE_READ8_MEMBER( kb_p1_r );
- DECLARE_WRITE8_MEMBER( kb_p1_w );
- DECLARE_WRITE8_MEMBER( kb_p2_w );
- DECLARE_READ_LINE_MEMBER( kb_t1_r );
-
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;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
inline void serial_output(int state);
inline void serial_clock();
inline void key_down(int state);
+ DECLARE_READ8_MEMBER( kb_p1_r );
+ DECLARE_WRITE8_MEMBER( kb_p1_w );
+ DECLARE_WRITE8_MEMBER( kb_p2_w );
+ DECLARE_READ_LINE_MEMBER( kb_t1_r );
+
required_device<cpu_device> m_maincpu;
required_ioport_array<12> m_x;
diff --git a/src/devices/bus/abckb/abc99.cpp b/src/devices/bus/abckb/abc99.cpp
index 1b6a755039f..54ccca87827 100644
--- a/src/devices/bus/abckb/abc99.cpp
+++ b/src/devices/bus/abckb/abc99.cpp
@@ -146,10 +146,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( abc99 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( abc99 )
+MACHINE_CONFIG_MEMBER( abc99_device::device_add_mconfig )
// keyboard CPU
MCFG_CPU_ADD(I8035_Z2_TAG, I8035, XTAL_6MHz/3) // from Z5 T0 output
MCFG_CPU_PROGRAM_MAP(abc99_z2_mem)
@@ -176,17 +176,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor abc99_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( abc99 );
-}
-
-
-//-------------------------------------------------
// INPUT_CHANGED_MEMBER( keyboard_reset )
//-------------------------------------------------
diff --git a/src/devices/bus/abckb/abc99.h b/src/devices/bus/abckb/abc99.h
index b8ec975778c..77c89f95a6f 100644
--- a/src/devices/bus/abckb/abc99.h
+++ b/src/devices/bus/abckb/abc99.h
@@ -31,21 +31,12 @@ public:
// construction/destruction
abc99_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;
-
// abc_keyboard_interface overrides
virtual void txd_w(int state) override;
DECLARE_INPUT_CHANGED_MEMBER( keyboard_reset );
DECLARE_WRITE8_MEMBER( z2_led_w );
- DECLARE_WRITE8_MEMBER( z2_p1_w );
- DECLARE_READ8_MEMBER( z2_p2_r );
- DECLARE_READ_LINE_MEMBER( z2_t0_r );
- DECLARE_READ_LINE_MEMBER( z2_t1_r );
DECLARE_READ8_MEMBER( z5_p1_r );
DECLARE_WRITE8_MEMBER( z5_p2_w );
DECLARE_READ8_MEMBER( z5_t1_r );
@@ -56,6 +47,11 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
private:
enum
{
@@ -84,6 +80,11 @@ private:
inline void key_down(int state);
inline void scan_mouse();
+ DECLARE_WRITE8_MEMBER( z2_p1_w );
+ DECLARE_READ8_MEMBER( z2_p2_r );
+ DECLARE_READ_LINE_MEMBER( z2_t0_r );
+ DECLARE_READ_LINE_MEMBER( z2_t1_r );
+
emu_timer *m_serial_timer;
emu_timer *m_mouse_timer;
diff --git a/src/devices/bus/adam/ide.cpp b/src/devices/bus/adam/ide.cpp
index 419ea89888d..2994b9ab864 100644
--- a/src/devices/bus/adam/ide.cpp
+++ b/src/devices/bus/adam/ide.cpp
@@ -59,9 +59,10 @@ const tiny_rom_entry *powermate_ide_device::device_rom_region() const
//-------------------------------------------------
-// MACHINE_CONFIG_START( adam_ata )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_ata )
+
+MACHINE_CONFIG_MEMBER( powermate_ide_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD(ATA_TAG, ata_devices, "hdd", nullptr, false)
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
@@ -69,17 +70,6 @@ static MACHINE_CONFIG_START( adam_ata )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor powermate_ide_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_ata );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/adam/ide.h b/src/devices/bus/adam/ide.h
index dd17f98ab03..8c525c5bc51 100644
--- a/src/devices/bus/adam/ide.h
+++ b/src/devices/bus/adam/ide.h
@@ -30,14 +30,14 @@ public:
// construction/destruction
powermate_ide_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;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_adam_expansion_slot_card_interface overrides
virtual uint8_t adam_bd_r(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
virtual void adam_bd_w(address_space &space, offs_t offset, uint8_t data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2) override;
diff --git a/src/devices/bus/adamnet/ddp.cpp b/src/devices/bus/adamnet/ddp.cpp
index f900f27db88..a79721c7c17 100644
--- a/src/devices/bus/adamnet/ddp.cpp
+++ b/src/devices/bus/adamnet/ddp.cpp
@@ -76,11 +76,12 @@ static const struct CassetteOptions adam_cassette_options =
44100 /* sample frequency */
};
+
//-------------------------------------------------
-// MACHINE_DRIVER( adam_ddp )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_ddp )
+MACHINE_CONFIG_MEMBER( adam_digital_data_pack_device::device_add_mconfig )
MCFG_CPU_ADD(M6801_TAG, M6801, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(adam_ddp_mem)
MCFG_CPU_IO_MAP(adam_ddp_io)
@@ -99,17 +100,6 @@ static MACHINE_CONFIG_START( adam_ddp )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor adam_digital_data_pack_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_ddp );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/adamnet/ddp.h b/src/devices/bus/adamnet/ddp.h
index 28fafd1c2b0..6ac1260658c 100644
--- a/src/devices/bus/adamnet/ddp.h
+++ b/src/devices/bus/adamnet/ddp.h
@@ -31,10 +31,6 @@ public:
// construction/destruction
adam_digital_data_pack_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_WRITE8_MEMBER( p1_w );
DECLARE_READ8_MEMBER( p2_r );
@@ -45,6 +41,10 @@ protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_adamnet_card_interface overrides
virtual void adamnet_reset_w(int state) override;
diff --git a/src/devices/bus/adamnet/fdc.cpp b/src/devices/bus/adamnet/fdc.cpp
index d522b703690..9eff427a77a 100644
--- a/src/devices/bus/adamnet/fdc.cpp
+++ b/src/devices/bus/adamnet/fdc.cpp
@@ -121,10 +121,10 @@ SLOT_INTERFACE_END
//-------------------------------------------------
-// MACHINE_DRIVER( adam_fdc )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_fdc )
+MACHINE_CONFIG_MEMBER( adam_fdc_device::device_add_mconfig )
MCFG_CPU_ADD(M6801_TAG, M6801, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(adam_fdc_mem)
MCFG_CPU_IO_MAP(adam_fdc_io)
@@ -137,17 +137,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor adam_fdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_fdc );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( adam_fdc )
//-------------------------------------------------
diff --git a/src/devices/bus/adamnet/fdc.h b/src/devices/bus/adamnet/fdc.h
index 962c8bf7e2b..356c69a314e 100644
--- a/src/devices/bus/adamnet/fdc.h
+++ b/src/devices/bus/adamnet/fdc.h
@@ -31,11 +31,6 @@ public:
// construction/destruction
adam_fdc_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( data_r );
DECLARE_READ8_MEMBER( p1_r );
@@ -43,12 +38,15 @@ public:
DECLARE_READ8_MEMBER( p2_r );
DECLARE_WRITE8_MEMBER( p2_w );
- DECLARE_FLOPPY_FORMATS( floppy_formats );
-
protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_adamnet_card_interface overrides
virtual void adamnet_reset_w(int state) override;
@@ -58,6 +56,9 @@ protected:
floppy_image_device *m_floppy;
required_shared_ptr<uint8_t> m_ram;
required_ioport m_sw3;
+
+private:
+ DECLARE_FLOPPY_FORMATS( floppy_formats );
};
diff --git a/src/devices/bus/adamnet/kb.cpp b/src/devices/bus/adamnet/kb.cpp
index cdda3e2ad9f..ddf397f5607 100644
--- a/src/devices/bus/adamnet/kb.cpp
+++ b/src/devices/bus/adamnet/kb.cpp
@@ -70,10 +70,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( adam_kb )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_kb )
+MACHINE_CONFIG_MEMBER( adam_keyboard_device::device_add_mconfig )
MCFG_CPU_ADD(M6801_TAG, M6801, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(adam_kb_mem)
MCFG_CPU_IO_MAP(adam_kb_io)
@@ -81,17 +81,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor adam_keyboard_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_kb );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( adam_kb )
//-------------------------------------------------
diff --git a/src/devices/bus/adamnet/kb.h b/src/devices/bus/adamnet/kb.h
index bd1c7631966..f48b666f5aa 100644
--- a/src/devices/bus/adamnet/kb.h
+++ b/src/devices/bus/adamnet/kb.h
@@ -29,11 +29,6 @@ public:
// construction/destruction
adam_keyboard_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( p1_r );
DECLARE_READ8_MEMBER( p2_r );
@@ -47,6 +42,11 @@ protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_adamnet_card_interface overrides
virtual void adamnet_reset_w(int state) override;
diff --git a/src/devices/bus/adamnet/printer.cpp b/src/devices/bus/adamnet/printer.cpp
index ecc83819114..e8c75379e92 100644
--- a/src/devices/bus/adamnet/printer.cpp
+++ b/src/devices/bus/adamnet/printer.cpp
@@ -70,10 +70,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( adam_prn )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_prn )
+MACHINE_CONFIG_MEMBER( adam_printer_device::device_add_mconfig )
MCFG_CPU_ADD(M6801_TAG, M6801, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(adam_prn_mem)
MCFG_CPU_IO_MAP(adam_prn_io)
@@ -81,17 +81,6 @@ static MACHINE_CONFIG_START( adam_prn )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor adam_printer_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_prn );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/adamnet/printer.h b/src/devices/bus/adamnet/printer.h
index fe246bf9cca..5c54a303a6f 100644
--- a/src/devices/bus/adamnet/printer.h
+++ b/src/devices/bus/adamnet/printer.h
@@ -29,10 +29,6 @@ public:
// construction/destruction
adam_printer_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_WRITE8_MEMBER( p1_w );
DECLARE_READ8_MEMBER( p2_r );
@@ -45,6 +41,10 @@ protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_adamnet_card_interface overrides
virtual void adamnet_reset_w(int state) override;
diff --git a/src/devices/bus/adamnet/spi.cpp b/src/devices/bus/adamnet/spi.cpp
index bec0499e95d..efa03aba603 100644
--- a/src/devices/bus/adamnet/spi.cpp
+++ b/src/devices/bus/adamnet/spi.cpp
@@ -70,10 +70,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_DRIVER( adam_spi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( adam_spi )
+MACHINE_CONFIG_MEMBER( adam_spi_device::device_add_mconfig )
MCFG_CPU_ADD(M6801_TAG, M6801, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(adam_spi_mem)
MCFG_CPU_IO_MAP(adam_spi_io)
@@ -90,17 +90,6 @@ static MACHINE_CONFIG_START( adam_spi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor adam_spi_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( adam_spi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/adamnet/spi.h b/src/devices/bus/adamnet/spi.h
index 0f97c5e7d81..9298d53dba1 100644
--- a/src/devices/bus/adamnet/spi.h
+++ b/src/devices/bus/adamnet/spi.h
@@ -32,10 +32,6 @@ public:
// construction/destruction
adam_spi_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( p2_r );
DECLARE_WRITE8_MEMBER( p2_w );
@@ -44,6 +40,10 @@ protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_adamnet_card_interface overrides
virtual void adamnet_reset_w(int state) override;
diff --git a/src/devices/bus/amiga/zorro/a2232.cpp b/src/devices/bus/amiga/zorro/a2232.cpp
index 5fadb02a6b6..306c493fa14 100644
--- a/src/devices/bus/amiga/zorro/a2232.cpp
+++ b/src/devices/bus/amiga/zorro/a2232.cpp
@@ -27,8 +27,7 @@
DEFINE_DEVICE_TYPE(A2232, a2232_device, "a2232", "CBM A2232 Serial Card")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
static ADDRESS_MAP_START( iocpu_map, AS_PROGRAM, 8, a2232_device)
@@ -46,7 +45,7 @@ static ADDRESS_MAP_START( iocpu_map, AS_PROGRAM, 8, a2232_device)
AM_RANGE(0xc000, 0xffff) AM_RAM AM_SHARE("shared")
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( a2232 )
+MACHINE_CONFIG_MEMBER( a2232_device::device_add_mconfig )
// main cpu
MCFG_CPU_ADD("iocpu", M65CE02, XTAL_28_37516MHz / 8) // should run at Amiga clock 7M / 2
MCFG_CPU_PROGRAM_MAP(iocpu_map)
@@ -138,11 +137,6 @@ static MACHINE_CONFIG_START( a2232 )
MCFG_RS232_CTS_HANDLER(WRITELINE(a2232_device, rs232_7_cts_w))
MACHINE_CONFIG_END
-machine_config_constructor a2232_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( a2232 );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/amiga/zorro/a2232.h b/src/devices/bus/amiga/zorro/a2232.h
index ca08ad3b152..20bc7bbda7c 100644
--- a/src/devices/bus/amiga/zorro/a2232.h
+++ b/src/devices/bus/amiga/zorro/a2232.h
@@ -54,53 +54,25 @@ public:
// acia
DECLARE_READ8_MEMBER( acia_0_r );
DECLARE_WRITE8_MEMBER( acia_0_w );
- DECLARE_WRITE_LINE_MEMBER( acia_0_irq_w );
DECLARE_READ8_MEMBER( acia_1_r );
DECLARE_WRITE8_MEMBER( acia_1_w );
- DECLARE_WRITE_LINE_MEMBER( acia_1_irq_w );
DECLARE_READ8_MEMBER( acia_2_r );
DECLARE_WRITE8_MEMBER( acia_2_w );
- DECLARE_WRITE_LINE_MEMBER( acia_2_irq_w );
DECLARE_READ8_MEMBER( acia_3_r );
DECLARE_WRITE8_MEMBER( acia_3_w );
- DECLARE_WRITE_LINE_MEMBER( acia_3_irq_w );
DECLARE_READ8_MEMBER( acia_4_r );
DECLARE_WRITE8_MEMBER( acia_4_w );
- DECLARE_WRITE_LINE_MEMBER( acia_4_irq_w );
DECLARE_READ8_MEMBER( acia_5_r );
DECLARE_WRITE8_MEMBER( acia_5_w );
- DECLARE_WRITE_LINE_MEMBER( acia_5_irq_w );
DECLARE_READ8_MEMBER( acia_6_r );
DECLARE_WRITE8_MEMBER( acia_6_w );
- DECLARE_WRITE_LINE_MEMBER( acia_6_irq_w );
// cia
DECLARE_READ8_MEMBER( cia_r );
DECLARE_WRITE8_MEMBER( cia_w );
- DECLARE_WRITE_LINE_MEMBER( cia_irq_w );
- DECLARE_READ8_MEMBER( cia_port_a_r );
- DECLARE_READ8_MEMBER( cia_port_b_r );
- DECLARE_WRITE8_MEMBER( cia_port_b_w );
-
- // rs232
- DECLARE_WRITE_LINE_MEMBER( rs232_1_rxd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_1_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_1_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_2_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_2_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_3_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_3_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_4_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_4_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_5_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_5_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_6_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_6_cts_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_7_dcd_w );
- DECLARE_WRITE_LINE_MEMBER( rs232_7_cts_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_after_children() override;
@@ -127,6 +99,38 @@ private:
void update_irqs();
+ // acia
+ DECLARE_WRITE_LINE_MEMBER( acia_0_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_1_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_2_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_3_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_4_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_5_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_6_irq_w );
+
+ // cia
+ DECLARE_WRITE_LINE_MEMBER( cia_irq_w );
+ DECLARE_READ8_MEMBER( cia_port_a_r );
+ DECLARE_READ8_MEMBER( cia_port_b_r );
+ DECLARE_WRITE8_MEMBER( cia_port_b_w );
+
+ // rs232
+ DECLARE_WRITE_LINE_MEMBER( rs232_1_rxd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_1_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_1_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_2_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_2_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_3_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_3_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_4_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_4_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_5_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_5_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_6_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_6_cts_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_7_dcd_w );
+ DECLARE_WRITE_LINE_MEMBER( rs232_7_cts_w );
+
required_device<m65ce02_device> m_iocpu;
required_device<mos6551_device> m_acia_0;
required_device<mos6551_device> m_acia_1;
diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp
index a6208d55827..6971ee531a7 100644
--- a/src/devices/bus/amiga/zorro/a590.cpp
+++ b/src/devices/bus/amiga/zorro/a590.cpp
@@ -111,11 +111,10 @@ ioport_constructor a2091_device::device_input_ports() const
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( dmac_hdc )
+MACHINE_CONFIG_MEMBER( dmac_hdc_device::device_add_mconfig )
MCFG_DMAC_ADD("dmac", 0)
MCFG_DMAC_SCSI_READ_HANDLER(READ8(dmac_hdc_device, dmac_scsi_r))
MCFG_DMAC_SCSI_WRITE_HANDLER(WRITE8(dmac_hdc_device, dmac_scsi_w))
@@ -128,11 +127,6 @@ static MACHINE_CONFIG_START( dmac_hdc )
MCFG_WD33C93_IRQ_CB(WRITELINE(dmac_hdc_device, scsi_irq_w))
MACHINE_CONFIG_END
-machine_config_constructor dmac_hdc_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( dmac_hdc );
-}
-
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/amiga/zorro/a590.h b/src/devices/bus/amiga/zorro/a590.h
index 7fe27c33d60..cf051fd30dc 100644
--- a/src/devices/bus/amiga/zorro/a590.h
+++ b/src/devices/bus/amiga/zorro/a590.h
@@ -26,17 +26,6 @@
class dmac_hdc_device : public device_t
{
-public:
- // 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( dmac_scsi_r );
- DECLARE_WRITE8_MEMBER( dmac_scsi_w );
- DECLARE_WRITE_LINE_MEMBER( dmac_int_w );
- DECLARE_WRITE_LINE_MEMBER( dmac_cfgout_w ) { cfgout_w(state); }
- DECLARE_WRITE_LINE_MEMBER( scsi_irq_w );
-
protected:
// construction/destruction
dmac_hdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -45,6 +34,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 const tiny_rom_entry *device_rom_region() const override;
+
// to slot
virtual void cfgout_w(int state) = 0;
virtual void int2_w(int state) = 0;
@@ -61,6 +54,13 @@ protected:
required_device<wd33c93_device> m_wdc;
std::vector<uint8_t> m_ram;
+
+private:
+ DECLARE_READ8_MEMBER( dmac_scsi_r );
+ DECLARE_WRITE8_MEMBER( dmac_scsi_w );
+ DECLARE_WRITE_LINE_MEMBER( dmac_int_w );
+ DECLARE_WRITE_LINE_MEMBER( dmac_cfgout_w ) { cfgout_w(state); }
+ DECLARE_WRITE_LINE_MEMBER( scsi_irq_w );
};
// ======================> a590_device
diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp
index 6a744856f36..dedde3099b4 100644
--- a/src/devices/bus/amiga/zorro/buddha.cpp
+++ b/src/devices/bus/amiga/zorro/buddha.cpp
@@ -54,22 +54,16 @@ DEVICE_ADDRESS_MAP_START( mmio_map, 16, buddha_device )
ADDRESS_MAP_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( buddha )
+MACHINE_CONFIG_MEMBER( buddha_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD("ata_0", ata_devices, nullptr, nullptr, false)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(buddha_device, ide_0_interrupt_w))
MCFG_ATA_INTERFACE_ADD("ata_1", ata_devices, nullptr, nullptr, false)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(buddha_device, ide_1_interrupt_w))
MACHINE_CONFIG_END
-machine_config_constructor buddha_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( buddha );
-}
-
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/amiga/zorro/buddha.h b/src/devices/bus/amiga/zorro/buddha.h
index cc01864b885..3148e3aa8e7 100644
--- a/src/devices/bus/amiga/zorro/buddha.h
+++ b/src/devices/bus/amiga/zorro/buddha.h
@@ -51,12 +51,9 @@ public:
DECLARE_READ16_MEMBER( ide_1_interrupt_r );
DECLARE_WRITE16_MEMBER( ide_interrupt_enable_w );
- DECLARE_WRITE_LINE_MEMBER( ide_0_interrupt_w );
- DECLARE_WRITE_LINE_MEMBER( ide_1_interrupt_w );
-
protected:
// device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_start() override;
@@ -69,6 +66,9 @@ protected:
virtual void autoconfig_base_address(offs_t address) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( ide_0_interrupt_w );
+ DECLARE_WRITE_LINE_MEMBER( ide_1_interrupt_w );
+
required_device<ata_interface_device> m_ata_0;
required_device<ata_interface_device> m_ata_1;
diff --git a/src/devices/bus/apricot/keyboard/hle.cpp b/src/devices/bus/apricot/keyboard/hle.cpp
index 2cc4fbbe91d..bb95d2bbc9d 100644
--- a/src/devices/bus/apricot/keyboard/hle.cpp
+++ b/src/devices/bus/apricot/keyboard/hle.cpp
@@ -195,15 +195,10 @@ ioport_constructor apricot_keyboard_hle_device::device_input_ports() const
return INPUT_PORTS_NAME( keyboard );
}
-static MACHINE_CONFIG_START( keyboard_components )
+MACHINE_CONFIG_MEMBER( apricot_keyboard_hle_device::device_add_mconfig )
MCFG_MSM5832_ADD("rtc", XTAL_32_768kHz)
MACHINE_CONFIG_END
-machine_config_constructor apricot_keyboard_hle_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( keyboard_components );
-}
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/apricot/keyboard/hle.h b/src/devices/bus/apricot/keyboard/hle.h
index 176a3bfcc22..921218a967f 100644
--- a/src/devices/bus/apricot/keyboard/hle.h
+++ b/src/devices/bus/apricot/keyboard/hle.h
@@ -37,7 +37,7 @@ public:
protected:
// device_t 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;
virtual void device_start() override;
virtual void device_reset() override;
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.cpp b/src/devices/bus/bbc/1mhzbus/opus3.cpp
index 64d4f232fb0..273bfeda293 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.cpp
+++ b/src/devices/bus/bbc/1mhzbus/opus3.cpp
@@ -52,7 +52,7 @@ DEFINE_DEVICE_TYPE(BBC_OPUS3, bbc_opus3_device, "bbc_opus3", "Opus Challenger 3-
// MACHINE_DRIVER( opus3 )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER(floppy_formats)
+FLOPPY_FORMATS_MEMBER(bbc_opus3_device::floppy_formats)
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_ACORN_CPM_FORMAT,
@@ -65,23 +65,6 @@ SLOT_INTERFACE_START(bbc_floppies)
SLOT_INTERFACE_END
-MACHINE_CONFIG_START( opus3 )
- /* fdc */
- MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opus3_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies, nullptr, floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-
- /* ram disk */
- MCFG_RAM_ADD("ramdisk")
- MCFG_RAM_DEFAULT_SIZE("512K")
- MCFG_RAM_EXTRA_OPTIONS("256K")
- MCFG_RAM_DEFAULT_VALUE(0x00)
-MACHINE_CONFIG_END
-
-
ROM_START( opus3 )
ROM_REGION(0x4000, "dfs_rom", 0)
ROM_DEFAULT_BIOS("ch103")
@@ -94,14 +77,24 @@ ROM_START( opus3 )
ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bbc_opus3_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( opus3 );
-}
+MACHINE_CONFIG_MEMBER( bbc_opus3_device::device_add_mconfig )
+ /* fdc */
+ MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opus3_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies, nullptr, floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+
+ /* ram disk */
+ MCFG_RAM_ADD("ramdisk")
+ MCFG_RAM_DEFAULT_SIZE("512K")
+ MCFG_RAM_EXTRA_OPTIONS("256K")
+ MCFG_RAM_DEFAULT_VALUE(0x00)
+MACHINE_CONFIG_END
const tiny_rom_entry *bbc_opus3_device::device_rom_region() const
{
diff --git a/src/devices/bus/bbc/1mhzbus/opus3.h b/src/devices/bus/bbc/1mhzbus/opus3.h
index 09139db001b..826906a584f 100644
--- a/src/devices/bus/bbc/1mhzbus/opus3.h
+++ b/src/devices/bus/bbc/1mhzbus/opus3.h
@@ -28,13 +28,6 @@ public:
// construction/destruction
bbc_opus3_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_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_WRITE8_MEMBER(wd1770l_write);
DECLARE_WRITE8_MEMBER(page_w);
DECLARE_READ8_MEMBER(ramdisk_r);
@@ -45,7 +38,15 @@ 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);
+
+ DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
+
required_memory_region m_dfs_rom;
required_device<ram_device> m_ramdisk;
required_device<wd1770_device> m_fdc;
diff --git a/src/devices/bus/bbc/fdc/acorn.cpp b/src/devices/bus/bbc/fdc/acorn.cpp
index 8fffee02738..ac6b478e560 100644
--- a/src/devices/bus/bbc/fdc/acorn.cpp
+++ b/src/devices/bus/bbc/fdc/acorn.cpp
@@ -23,7 +23,15 @@ DEFINE_DEVICE_TYPE(BBC_ACORN1770, bbc_acorn1770_device, "bbc_acorn1770", "Acorn
// MACHINE_DRIVER( acorn )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( floppy_formats )
+FLOPPY_FORMATS_MEMBER( bbc_acorn8271_device::floppy_formats )
+ FLOPPY_ACORN_SSD_FORMAT,
+ FLOPPY_ACORN_DSD_FORMAT,
+ FLOPPY_ACORN_CPM_FORMAT,
+ FLOPPY_TORCH_CPN_FORMAT,
+ FLOPPY_FSD_FORMAT
+FLOPPY_FORMATS_END0
+
+FLOPPY_FORMATS_MEMBER( bbc_acorn1770_device::floppy_formats )
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_ACORN_CPM_FORMAT,
@@ -39,27 +47,6 @@ static SLOT_INTERFACE_START( bbc_floppies_525 )
SLOT_INTERFACE("525qd", FLOPPY_525_QD)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( acorn8271 )
- MCFG_DEVICE_ADD("i8271", I8271, 0)
- MCFG_I8271_IRQ_CALLBACK(WRITELINE(bbc_acorn8271_device, fdc_intrq_w))
- MCFG_I8271_HDL_CALLBACK(WRITELINE(bbc_acorn8271_device, motor_w))
- MCFG_I8271_OPT_CALLBACK(WRITELINE(bbc_acorn8271_device, side_w))
- MCFG_FLOPPY_DRIVE_ADD("i8271:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("i8271:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( acorn1770 )
- MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_acorn1770_device, fdc_intrq_w))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_acorn1770_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
ROM_START( acorn8271 )
ROM_REGION(0x4000, "dfs_rom", 0)
ROM_DEFAULT_BIOS("dnfs120")
@@ -137,19 +124,29 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bbc_acorn8271_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( acorn8271 );
-}
+MACHINE_CONFIG_MEMBER( bbc_acorn8271_device::device_add_mconfig )
+ MCFG_DEVICE_ADD("i8271", I8271, 0)
+ MCFG_I8271_IRQ_CALLBACK(WRITELINE(bbc_acorn8271_device, fdc_intrq_w))
+ MCFG_I8271_HDL_CALLBACK(WRITELINE(bbc_acorn8271_device, motor_w))
+ MCFG_I8271_OPT_CALLBACK(WRITELINE(bbc_acorn8271_device, side_w))
+ MCFG_FLOPPY_DRIVE_ADD("i8271:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("i8271:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
-machine_config_constructor bbc_acorn1770_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( acorn1770 );
-}
+MACHINE_CONFIG_MEMBER( bbc_acorn1770_device::device_add_mconfig )
+ MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_acorn1770_device, fdc_intrq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_acorn1770_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
const tiny_rom_entry *bbc_acorn8271_device::device_rom_region() const
diff --git a/src/devices/bus/bbc/fdc/acorn.h b/src/devices/bus/bbc/fdc/acorn.h
index 30fd049432f..dc313027380 100644
--- a/src/devices/bus/bbc/fdc/acorn.h
+++ b/src/devices/bus/bbc/fdc/acorn.h
@@ -31,22 +31,22 @@ public:
// construction/destruction
bbc_acorn8271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_FLOPPY_FORMATS(floppy_formats);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
+private:
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(motor_w);
DECLARE_WRITE_LINE_MEMBER(side_w);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
required_memory_region m_dfs_rom;
required_device<i8271_device> m_fdc;
required_device<floppy_connector> m_floppy0;
@@ -62,14 +62,6 @@ public:
// construction/destruction
bbc_acorn1770_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_WRITE_LINE_MEMBER(fdc_intrq_w);
- DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_READ8_MEMBER(wd1770l_read);
DECLARE_WRITE8_MEMBER(wd1770l_write);
@@ -78,7 +70,16 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
private:
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
+ DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
+ DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
+
required_memory_region m_dfs_rom;
required_device<wd1770_device> m_fdc;
required_device<floppy_connector> m_floppy0;
diff --git a/src/devices/bus/bbc/fdc/cumana.cpp b/src/devices/bus/bbc/fdc/cumana.cpp
index 34f5a3cce89..ce73e576e8c 100644
--- a/src/devices/bus/bbc/fdc/cumana.cpp
+++ b/src/devices/bus/bbc/fdc/cumana.cpp
@@ -25,7 +25,7 @@ DEFINE_DEVICE_TYPE(BBC_CUMANA2, bbc_cumana2_device, "bbc_cumana2", "Cumana QFS I
// MACHINE_DRIVER( cumana )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( floppy_formats )
+FLOPPY_FORMATS_MEMBER( bbc_cumanafdc_device::floppy_formats )
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_FSD_FORMAT
@@ -39,17 +39,6 @@ static SLOT_INTERFACE_START( bbc_floppies_525 )
SLOT_INTERFACE("525qd", FLOPPY_525_QD)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( cumana )
- MCFG_MB8877_ADD("mb8877a", XTAL_16MHz / 16)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_intrq_w))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_drq_w))
- MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_cumanafdc_device, motor_w))
- MCFG_FLOPPY_DRIVE_ADD("mb8877a:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("mb8877a:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
ROM_START( cumana1 )
ROM_REGION(0x4000, "dfs_rom", 0)
ROM_DEFAULT_BIOS("qfs102")
@@ -66,19 +55,30 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bbc_cumana1_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cumana );
-}
+MACHINE_CONFIG_MEMBER( bbc_cumana1_device::device_add_mconfig )
+ MCFG_MB8877_ADD("mb8877a", XTAL_16MHz / 16)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_intrq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_drq_w))
+ MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_cumanafdc_device, motor_w))
+ MCFG_FLOPPY_DRIVE_ADD("mb8877a:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("mb8877a:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
-machine_config_constructor bbc_cumana2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cumana );
-}
+MACHINE_CONFIG_MEMBER( bbc_cumana2_device::device_add_mconfig )
+ MCFG_MB8877_ADD("mb8877a", XTAL_16MHz / 16)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_intrq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_cumanafdc_device, fdc_drq_w))
+ MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_cumanafdc_device, motor_w))
+ MCFG_FLOPPY_DRIVE_ADD("mb8877a:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("mb8877a:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
const tiny_rom_entry *bbc_cumana1_device::device_rom_region() const
{
diff --git a/src/devices/bus/bbc/fdc/cumana.h b/src/devices/bus/bbc/fdc/cumana.h
index 465644ba683..aebe998b8c6 100644
--- a/src/devices/bus/bbc/fdc/cumana.h
+++ b/src/devices/bus/bbc/fdc/cumana.h
@@ -59,7 +59,8 @@ class bbc_cumana1_device : public bbc_cumanafdc_device
public:
bbc_cumana1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -68,7 +69,8 @@ class bbc_cumana2_device : public bbc_cumanafdc_device
public:
bbc_cumana2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
};
diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp
index 647db15ada2..8efb4f63a06 100644
--- a/src/devices/bus/bbc/fdc/opus.cpp
+++ b/src/devices/bus/bbc/fdc/opus.cpp
@@ -29,7 +29,7 @@ DEFINE_DEVICE_TYPE(BBC_OPUS1770, bbc_opus1770_device, "bbc_opus1770", "Opus D-DO
// MACHINE_DRIVER( opus2791 )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( floppy_formats )
+FLOPPY_FORMATS_MEMBER( bbc_opusfdc_device::floppy_formats )
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_FSD_FORMAT,
@@ -44,35 +44,6 @@ static SLOT_INTERFACE_START( bbc_floppies_525 )
SLOT_INTERFACE("525qd", FLOPPY_525_QD)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( opus2791 )
- MCFG_WD2791_ADD("fdc", XTAL_16MHz / 16)
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
- MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_opusfdc_device, motor_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( opus2793 )
- MCFG_WD2793_ADD("fdc", XTAL_16MHz / 16)
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
- MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_opusfdc_device, motor_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( opus1770 )
- MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
ROM_START( opus2791 )
ROM_REGION(0x4000, "dfs_rom", 0)
ROM_DEFAULT_BIOS("ddos315")
@@ -100,25 +71,37 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bbc_opus2791_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( opus2791 );
-}
-
-machine_config_constructor bbc_opus2793_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( opus2793 );
-}
+MACHINE_CONFIG_MEMBER( bbc_opus2791_device::device_add_mconfig )
+ MCFG_WD2791_ADD("fdc", XTAL_16MHz / 16)
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
+ MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_opusfdc_device, motor_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
-machine_config_constructor bbc_opus1770_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( opus1770 );
-}
+MACHINE_CONFIG_MEMBER( bbc_opus2793_device::device_add_mconfig )
+ MCFG_WD2793_ADD("fdc", XTAL_16MHz / 16)
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
+ MCFG_WD_FDC_HLD_CALLBACK(WRITELINE(bbc_opusfdc_device, motor_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
+MACHINE_CONFIG_MEMBER( bbc_opus1770_device::device_add_mconfig )
+ MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_opusfdc_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
const tiny_rom_entry *bbc_opus2791_device::device_rom_region() const
{
diff --git a/src/devices/bus/bbc/fdc/opus.h b/src/devices/bus/bbc/fdc/opus.h
index 60deb3cd0af..cc718aadba0 100644
--- a/src/devices/bus/bbc/fdc/opus.h
+++ b/src/devices/bus/bbc/fdc/opus.h
@@ -54,7 +54,8 @@ class bbc_opus2791_device : public bbc_opusfdc_device
public:
bbc_opus2791_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -63,7 +64,8 @@ class bbc_opus2793_device : public bbc_opusfdc_device
public:
bbc_opus2793_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
};
@@ -72,7 +74,8 @@ class bbc_opus1770_device : public bbc_opusfdc_device
public:
bbc_opus1770_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
};
diff --git a/src/devices/bus/bbc/fdc/watford.cpp b/src/devices/bus/bbc/fdc/watford.cpp
index b85b7c1e4c6..5280761bd18 100644
--- a/src/devices/bus/bbc/fdc/watford.cpp
+++ b/src/devices/bus/bbc/fdc/watford.cpp
@@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(BBC_WEDDB3, bbc_weddb3_device, "bbc_weddb3", "Watford Electro
// MACHINE_DRIVER( watford )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( floppy_formats )
+FLOPPY_FORMATS_MEMBER( bbc_watfordfdc_device::floppy_formats )
FLOPPY_ACORN_SSD_FORMAT,
FLOPPY_ACORN_DSD_FORMAT,
FLOPPY_FSD_FORMAT
@@ -41,26 +41,6 @@ static SLOT_INTERFACE_START( bbc_floppies_525 )
SLOT_INTERFACE("525qd", FLOPPY_525_QD)
SLOT_INTERFACE_END
-static MACHINE_CONFIG_START( weddb2 )
- MCFG_WD1772_ADD("wd1772", XTAL_16MHz / 2)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_weddb2_device, fdc_intrq_w))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_weddb2_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("wd1772:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("wd1772:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
-static MACHINE_CONFIG_START( weddb3 )
- MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_weddb3_device, fdc_intrq_w))
- MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_weddb3_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies_525, "525qd", floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-MACHINE_CONFIG_END
-
ROM_START( weddb2 )
ROM_REGION(0x4000, "dfs_rom", 0)
ROM_DEFAULT_BIOS("ddfs153")
@@ -81,19 +61,28 @@ ROM_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bbc_weddb2_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( weddb2 );
-}
+MACHINE_CONFIG_MEMBER( bbc_weddb2_device::device_add_mconfig )
+ MCFG_WD1772_ADD("wd1772", XTAL_16MHz / 2)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_weddb2_device, fdc_intrq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_weddb2_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("wd1772:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("wd1772:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
-machine_config_constructor bbc_weddb3_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( weddb3 );
-}
+MACHINE_CONFIG_MEMBER( bbc_weddb3_device::device_add_mconfig )
+ MCFG_WD1770_ADD("wd1770", XTAL_16MHz / 2)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bbc_weddb3_device, fdc_intrq_w))
+ MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(bbc_weddb3_device, fdc_drq_w))
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:0", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ MCFG_FLOPPY_DRIVE_ADD("wd1770:1", bbc_floppies_525, "525qd", floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+MACHINE_CONFIG_END
const tiny_rom_entry *bbc_weddb2_device::device_rom_region() const
{
diff --git a/src/devices/bus/bbc/fdc/watford.h b/src/devices/bus/bbc/fdc/watford.h
index 09b3a846a9a..ddc266d83ed 100644
--- a/src/devices/bus/bbc/fdc/watford.h
+++ b/src/devices/bus/bbc/fdc/watford.h
@@ -26,14 +26,15 @@ class bbc_watfordfdc_device :
{
public:
- DECLARE_FLOPPY_FORMATS(floppy_formats);
- DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
- DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
protected:
// construction/destruction
bbc_watfordfdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ DECLARE_FLOPPY_FORMATS(floppy_formats);
+
+ DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
+ DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
};
class bbc_weddb2_device : public bbc_watfordfdc_device
@@ -41,9 +42,6 @@ class bbc_weddb2_device : public bbc_watfordfdc_device
public:
bbc_weddb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(wd177xl_read);
DECLARE_WRITE8_MEMBER(wd177xl_write);
@@ -52,6 +50,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
private:
required_memory_region m_dfs_rom;
required_device<wd_fdc_device_base> m_fdc;
@@ -66,9 +67,6 @@ class bbc_weddb3_device : public bbc_watfordfdc_device
public:
bbc_weddb3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
DECLARE_READ8_MEMBER(wd177xl_read);
DECLARE_WRITE8_MEMBER(wd177xl_write);
@@ -77,6 +75,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
private:
required_memory_region m_dfs_rom;
required_device<wd_fdc_device_base> m_fdc;
diff --git a/src/devices/bus/bml3/bml3kanji.cpp b/src/devices/bus/bml3/bml3kanji.cpp
index c8a8498b7c4..a7de6108a44 100644
--- a/src/devices/bus/bml3/bml3kanji.cpp
+++ b/src/devices/bus/bml3/bml3kanji.cpp
@@ -29,25 +29,12 @@ ROM_START( kanji )
ROM_LOAD("kanji.rom", 0x00000, 0x20000, BAD_DUMP CRC(de99a726) SHA1(65fead5d0d779b242f6e0ac25fcc9899dc343101))
ROM_END
-MACHINE_CONFIG_START( kanji )
- // nothing to add
-MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor bml3bus_kanji_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( kanji );
-}
-
-//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
diff --git a/src/devices/bus/bml3/bml3kanji.h b/src/devices/bus/bml3/bml3kanji.h
index f8ada6a420f..cee2b828c6f 100644
--- a/src/devices/bus/bml3/bml3kanji.h
+++ b/src/devices/bus/bml3/bml3kanji.h
@@ -27,10 +27,6 @@ public:
// construction/destruction
bml3bus_kanji_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(bml3_kanji_r);
DECLARE_WRITE8_MEMBER(bml3_kanji_w);
@@ -38,6 +34,9 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
uint16_t m_kanji_addr;
private:
diff --git a/src/devices/bus/bml3/bml3mp1802.cpp b/src/devices/bus/bml3/bml3mp1802.cpp
index c54c7093915..7a9b834858a 100644
--- a/src/devices/bus/bml3/bml3mp1802.cpp
+++ b/src/devices/bus/bml3/bml3mp1802.cpp
@@ -42,29 +42,24 @@ ROM_START( mp1802 )
ROM_LOAD( "mp1802.rom", 0xf800, 0x800, BAD_DUMP CRC(8d0dc101) SHA1(92f7d1cebecafa7472e45c4999520de5c01c6dbc))
ROM_END
-MACHINE_CONFIG_START( mp1802 )
- MCFG_MB8866_ADD("fdc", XTAL_1MHz)
- MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bml3bus_mp1802_device, bml3_wd17xx_intrq_w))
-
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", mp1802_floppies, "dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", mp1802_floppies, "dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:2", mp1802_floppies, "", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fdc:3", mp1802_floppies, "", floppy_image_device::default_floppy_formats)
-MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bml3bus_mp1802_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mp1802 );
-}
+MACHINE_CONFIG_MEMBER( bml3bus_mp1802_device::device_add_mconfig )
+ MCFG_MB8866_ADD("fdc", XTAL_1MHz)
+ MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(bml3bus_mp1802_device, bml3_wd17xx_intrq_w))
+
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", mp1802_floppies, "dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", mp1802_floppies, "dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:2", mp1802_floppies, "", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:3", mp1802_floppies, "", floppy_image_device::default_floppy_formats)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/bml3/bml3mp1802.h b/src/devices/bus/bml3/bml3mp1802.h
index 7d519ebca75..849e209a941 100644
--- a/src/devices/bus/bml3/bml3mp1802.h
+++ b/src/devices/bus/bml3/bml3mp1802.h
@@ -31,19 +31,20 @@ public:
// construction/destruction
bml3bus_mp1802_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(bml3_mp1802_r);
DECLARE_WRITE8_MEMBER(bml3_mp1802_w);
- DECLARE_WRITE_LINE_MEMBER(bml3_wd17xx_intrq_w);
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(bml3_wd17xx_intrq_w);
+
required_device<mb8866_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
diff --git a/src/devices/bus/bml3/bml3mp1805.cpp b/src/devices/bus/bml3/bml3mp1805.cpp
index b44d339cf75..46e24a39e57 100644
--- a/src/devices/bus/bml3/bml3mp1805.cpp
+++ b/src/devices/bus/bml3/bml3mp1805.cpp
@@ -45,25 +45,20 @@ ROM_START( mp1805 )
ROM_LOAD( "mp1805.rom", 0xf800, 0x0800, BAD_DUMP CRC(b532d8d9) SHA1(6f1160356d5bf64b5926b1fdb60db414edf65f22))
ROM_END
-MACHINE_CONFIG_START( mp1805 )
- MCFG_DEVICE_ADD( "mc6843", MC6843, 0 )
- MCFG_MC6843_IRQ_CALLBACK(WRITELINE(bml3bus_mp1805_device, bml3_mc6843_intrq_w))
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(bml3_mp1805_floppy_interface)
-MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor bml3bus_mp1805_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mp1805 );
-}
+MACHINE_CONFIG_MEMBER( bml3bus_mp1805_device::device_add_mconfig )
+ MCFG_DEVICE_ADD( "mc6843", MC6843, 0 )
+ MCFG_MC6843_IRQ_CALLBACK(WRITELINE(bml3bus_mp1805_device, bml3_mc6843_intrq_w))
+ MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(bml3_mp1805_floppy_interface)
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/bml3/bml3mp1805.h b/src/devices/bus/bml3/bml3mp1805.h
index 19d8cbdc9fe..7fd2c2f1621 100644
--- a/src/devices/bus/bml3/bml3mp1805.h
+++ b/src/devices/bus/bml3/bml3mp1805.h
@@ -30,22 +30,22 @@ public:
// construction/destruction
bml3bus_mp1805_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(bml3_mp1805_r);
DECLARE_WRITE8_MEMBER(bml3_mp1805_w);
- DECLARE_WRITE_LINE_MEMBER( bml3_mc6843_intrq_w );
-
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;
+
required_device<mc6843_device> m_mc6843;
private:
+ DECLARE_WRITE_LINE_MEMBER( bml3_mc6843_intrq_w );
+
uint8_t *m_rom;
};
diff --git a/src/devices/bus/c64/16kb.cpp b/src/devices/bus/c64/16kb.cpp
index f6112132c4e..985272d247e 100644
--- a/src/devices/bus/c64/16kb.cpp
+++ b/src/devices/bus/c64/16kb.cpp
@@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device, "c64_16kb", "C64 16KB EP
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_16kb )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_16kb )
+MACHINE_CONFIG_MEMBER( c64_16kb_cartridge_device::device_add_mconfig )
MCFG_GENERIC_CARTSLOT_ADD("roml", generic_linear_slot, nullptr)
MCFG_GENERIC_EXTENSIONS("rom,bin,80")
@@ -32,17 +32,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_16kb_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_16kb );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_16kb )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/16kb.h b/src/devices/bus/c64/16kb.h
index f1685ae5956..97afa77f5af 100644
--- a/src/devices/bus/c64/16kb.h
+++ b/src/devices/bus/c64/16kb.h
@@ -31,15 +31,15 @@ public:
// construction/destruction
c64_16kb_cartridge_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;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/cpm.cpp b/src/devices/bus/c64/cpm.cpp
index cc88ac95519..2d0ecbc67d9 100644
--- a/src/devices/bus/c64/cpm.cpp
+++ b/src/devices/bus/c64/cpm.cpp
@@ -55,27 +55,16 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_cpm )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_cpm )
+MACHINE_CONFIG_MEMBER( c64_cpm_cartridge_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, 3000000)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_cpm_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_cpm );
-}
-
-
//**************************************************************************
// INLINE HELPERS
diff --git a/src/devices/bus/c64/cpm.h b/src/devices/bus/c64/cpm.h
index 88e4c172da8..9590bb0015e 100644
--- a/src/devices/bus/c64/cpm.h
+++ b/src/devices/bus/c64/cpm.h
@@ -29,9 +29,6 @@ public:
// construction/destruction
c64_cpm_cartridge_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;
-
// not really public
DECLARE_READ8_MEMBER( dma_r );
DECLARE_WRITE8_MEMBER( dma_w );
@@ -41,6 +38,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_c64_expansion_card_interface overrides
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
diff --git a/src/devices/bus/c64/currah_speech.cpp b/src/devices/bus/c64/currah_speech.cpp
index ae89a5d7831..83c28b4468a 100644
--- a/src/devices/bus/c64/currah_speech.cpp
+++ b/src/devices/bus/c64/currah_speech.cpp
@@ -107,28 +107,18 @@ const tiny_rom_entry *c64_currah_speech_cartridge_device::device_rom_region() co
return ROM_NAME( c64_currah_speech );
}
+
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_currah_speech )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_currah_speech )
+MACHINE_CONFIG_MEMBER( c64_currah_speech_cartridge_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(SP0256_TAG, SP0256, 4000000) // ???
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_currah_speech_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_currah_speech );
-}
-
-
//**************************************************************************
// INLINE HELPERS
diff --git a/src/devices/bus/c64/currah_speech.h b/src/devices/bus/c64/currah_speech.h
index ce2e31db8e0..44d5adb083a 100644
--- a/src/devices/bus/c64/currah_speech.h
+++ b/src/devices/bus/c64/currah_speech.h
@@ -30,15 +30,15 @@ public:
// construction/destruction
c64_currah_speech_cartridge_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_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/dela_ep256.cpp b/src/devices/bus/c64/dela_ep256.cpp
index 86ded764b2e..3eb8951b559 100644
--- a/src/devices/bus/c64/dela_ep256.cpp
+++ b/src/devices/bus/c64/dela_ep256.cpp
@@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256",
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_dela_ep256 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_dela_ep256 )
+MACHINE_CONFIG_MEMBER( c64_dela_ep256_cartridge_device::device_add_mconfig )
MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
@@ -42,17 +42,6 @@ static MACHINE_CONFIG_START( c64_dela_ep256 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_dela_ep256_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_dela_ep256 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/dela_ep256.h b/src/devices/bus/c64/dela_ep256.h
index 44b154ae50e..bcc1992b969 100644
--- a/src/devices/bus/c64/dela_ep256.h
+++ b/src/devices/bus/c64/dela_ep256.h
@@ -31,14 +31,14 @@ public:
// construction/destruction
c64_dela_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/dela_ep64.cpp b/src/devices/bus/c64/dela_ep64.cpp
index a6b6250dfbf..a817fac13f1 100644
--- a/src/devices/bus/c64/dela_ep64.cpp
+++ b/src/devices/bus/c64/dela_ep64.cpp
@@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device, "c64_dela_ep64
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_dela_ep64 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_dela_ep64 )
+MACHINE_CONFIG_MEMBER( c64_dela_ep64_cartridge_device::device_add_mconfig )
MCFG_GENERIC_SOCKET_ADD("eprom1", generic_linear_slot, nullptr)
MCFG_GENERIC_EXTENSIONS("rom,bin")
MCFG_GENERIC_SOCKET_ADD("eprom2", generic_linear_slot, nullptr)
@@ -30,17 +30,6 @@ static MACHINE_CONFIG_START( c64_dela_ep64 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_dela_ep64_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_dela_ep64 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/c64/dela_ep64.h b/src/devices/bus/c64/dela_ep64.h
index 6e7aad548c8..a3e2d77bd48 100644
--- a/src/devices/bus/c64/dela_ep64.h
+++ b/src/devices/bus/c64/dela_ep64.h
@@ -31,14 +31,14 @@ public:
// construction/destruction
c64_dela_ep64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/dela_ep7x8.cpp b/src/devices/bus/c64/dela_ep7x8.cpp
index 21aa130f4e3..531e91e58c2 100644
--- a/src/devices/bus/c64/dela_ep7x8.cpp
+++ b/src/devices/bus/c64/dela_ep7x8.cpp
@@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device, "c64_dela_ep
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_dela_ep7x8 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_dela_ep7x8 )
+MACHINE_CONFIG_MEMBER( c64_dela_ep7x8_cartridge_device::device_add_mconfig )
MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
@@ -40,17 +40,6 @@ static MACHINE_CONFIG_START( c64_dela_ep7x8 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_dela_ep7x8_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_dela_ep7x8 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/c64/dela_ep7x8.h b/src/devices/bus/c64/dela_ep7x8.h
index e66cc211bc0..48146d1c5e1 100644
--- a/src/devices/bus/c64/dela_ep7x8.h
+++ b/src/devices/bus/c64/dela_ep7x8.h
@@ -31,14 +31,14 @@ public:
// construction/destruction
c64_dela_ep7x8_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/easyflash.cpp b/src/devices/bus/c64/easyflash.cpp
index 4ecd5fd9cf2..acef92afdec 100644
--- a/src/devices/bus/c64/easyflash.cpp
+++ b/src/devices/bus/c64/easyflash.cpp
@@ -27,27 +27,16 @@ DEFINE_DEVICE_TYPE(C64_EASYFLASH, c64_easyflash_cartridge_device, "c64_easyflash
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_easyflash )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_easyflash )
+MACHINE_CONFIG_MEMBER( c64_easyflash_cartridge_device::device_add_mconfig )
MCFG_AMD_29F040_ADD(AM29F040_0_TAG)
MCFG_AMD_29F040_ADD(AM29F040_1_TAG)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_easyflash_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_easyflash );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_easyflash )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/easyflash.h b/src/devices/bus/c64/easyflash.h
index 9760a247319..ef11fa5162d 100644
--- a/src/devices/bus/c64/easyflash.h
+++ b/src/devices/bus/c64/easyflash.h
@@ -30,15 +30,15 @@ public:
// construction/destruction
c64_easyflash_cartridge_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;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp
index c40a1d33e7a..bcc90726d6c 100644
--- a/src/devices/bus/c64/fcc.cpp
+++ b/src/devices/bus/c64/fcc.cpp
@@ -71,27 +71,16 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_fcc )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_fcc )
+MACHINE_CONFIG_MEMBER( c64_final_chesscard_device::device_add_mconfig )
MCFG_CPU_ADD(G65SC02P4_TAG, M65SC02, XTAL_5MHz)
MCFG_CPU_PROGRAM_MAP(c64_fcc_map)
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_final_chesscard_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_fcc );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_fcc )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/fcc.h b/src/devices/bus/c64/fcc.h
index 3460738a389..b3fef34985f 100644
--- a/src/devices/bus/c64/fcc.h
+++ b/src/devices/bus/c64/fcc.h
@@ -30,11 +30,6 @@ public:
// construction/destruction
c64_final_chesscard_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( nvram_r );
DECLARE_WRITE8_MEMBER( nvram_w );
@@ -43,6 +38,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_nvram_interface overrides
virtual void nvram_default() override { }
virtual void nvram_read(emu_file &file) override { if (m_nvram != nullptr) { file.read(m_nvram, m_nvram.bytes()); } }
diff --git a/src/devices/bus/c64/geocable.cpp b/src/devices/bus/c64/geocable.cpp
index f606e8ced3c..1263b8203d9 100644
--- a/src/devices/bus/c64/geocable.cpp
+++ b/src/devices/bus/c64/geocable.cpp
@@ -27,26 +27,15 @@ DEFINE_DEVICE_TYPE(C64_GEOCABLE, c64_geocable_device, "c64_geocable", "C64 geoCa
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_geocable )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_geocable )
+MACHINE_CONFIG_MEMBER( c64_geocable_device::device_add_mconfig )
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(c64_geocable_device, output_b))
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_geocable_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_geocable );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/geocable.h b/src/devices/bus/c64/geocable.h
index 7ab6f88d68f..83aa9b9133a 100644
--- a/src/devices/bus/c64/geocable.h
+++ b/src/devices/bus/c64/geocable.h
@@ -30,13 +30,13 @@ public:
// construction/destruction
c64_geocable_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_pet_user_port_interface overrides
virtual DECLARE_WRITE_LINE_MEMBER(input_c) override { m_centronics->write_data0(state); }
virtual DECLARE_WRITE_LINE_MEMBER(input_d) override { m_centronics->write_data1(state); }
diff --git a/src/devices/bus/c64/ide64.cpp b/src/devices/bus/c64/ide64.cpp
index 8a9cdd1d97d..b479a78c087 100644
--- a/src/devices/bus/c64/ide64.cpp
+++ b/src/devices/bus/c64/ide64.cpp
@@ -43,9 +43,10 @@ DEFINE_DEVICE_TYPE(C64_IDE64, c64_ide64_cartridge_device, "c64_ide64", "C64 IDE6
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_ide64 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_ide64 )
+
+MACHINE_CONFIG_MEMBER( c64_ide64_cartridge_device::device_add_mconfig )
MCFG_ATMEL_29C010_ADD(AT29C010A_TAG)
MCFG_DS1302_ADD(DS1302_TAG, XTAL_32_768kHz)
@@ -54,17 +55,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_ide64_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_ide64 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_ide64 )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/ide64.h b/src/devices/bus/c64/ide64.h
index cacf380f428..b43e7bdaf98 100644
--- a/src/devices/bus/c64/ide64.h
+++ b/src/devices/bus/c64/ide64.h
@@ -33,15 +33,15 @@ public:
// construction/destruction
c64_ide64_cartridge_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;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/ieee488.cpp b/src/devices/bus/c64/ieee488.cpp
index ad3f15212f5..00a4e4c1893 100644
--- a/src/devices/bus/c64/ieee488.cpp
+++ b/src/devices/bus/c64/ieee488.cpp
@@ -136,11 +136,12 @@ WRITE8_MEMBER( c64_ieee488_device::tpi_pc_w )
m_roml_sel = BIT(data, 4);
}
+
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_ieee488 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_ieee488 )
+MACHINE_CONFIG_MEMBER( c64_ieee488_device::device_add_mconfig )
MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
MCFG_TPI6525_IN_PA_CB(READ8(c64_ieee488_device, tpi_pa_r))
MCFG_TPI6525_OUT_PA_CB(WRITE8(c64_ieee488_device, tpi_pa_w))
@@ -154,17 +155,6 @@ static MACHINE_CONFIG_START( c64_ieee488 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_ieee488_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_ieee488 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/ieee488.h b/src/devices/bus/c64/ieee488.h
index 92a7de1f9f1..185a2623317 100644
--- a/src/devices/bus/c64/ieee488.h
+++ b/src/devices/bus/c64/ieee488.h
@@ -30,26 +30,25 @@ public:
// construction/destruction
c64_ieee488_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;
-
- // not really public
- DECLARE_READ8_MEMBER( tpi_pa_r );
- DECLARE_WRITE8_MEMBER( tpi_pa_w );
- DECLARE_READ8_MEMBER( tpi_pc_r );
- DECLARE_WRITE8_MEMBER( tpi_pc_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;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
+ DECLARE_READ8_MEMBER( tpi_pa_r );
+ DECLARE_WRITE8_MEMBER( tpi_pa_w );
+ DECLARE_READ8_MEMBER( tpi_pc_r );
+ DECLARE_WRITE8_MEMBER( tpi_pc_w );
+
required_device<tpi6525_device> m_tpi;
required_device<ieee488_device> m_bus;
required_device<c64_expansion_slot_device> m_exp;
diff --git a/src/devices/bus/c64/magic_formel.cpp b/src/devices/bus/c64/magic_formel.cpp
index e116ec33e8c..918a799296a 100644
--- a/src/devices/bus/c64/magic_formel.cpp
+++ b/src/devices/bus/c64/magic_formel.cpp
@@ -93,10 +93,10 @@ WRITE_LINE_MEMBER( c64_magic_formel_cartridge_device::pia_cb2_w )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_magic_formel )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_magic_formel )
+MACHINE_CONFIG_MEMBER( c64_magic_formel_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6821_TAG, PIA6821, 0)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(c64_magic_formel_cartridge_device, pia_pa_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(c64_magic_formel_cartridge_device, pia_pb_w))
@@ -105,17 +105,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_magic_formel_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_magic_formel );
-}
-
-
-//-------------------------------------------------
// INPUT_CHANGED_MEMBER( freeze )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/magic_formel.h b/src/devices/bus/c64/magic_formel.h
index 687e9c8f935..b4427511f32 100644
--- a/src/devices/bus/c64/magic_formel.h
+++ b/src/devices/bus/c64/magic_formel.h
@@ -29,28 +29,27 @@ public:
// construction/destruction
c64_magic_formel_cartridge_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_INPUT_CHANGED_MEMBER( freeze );
- // not really public
- DECLARE_WRITE8_MEMBER( pia_pa_w );
- DECLARE_WRITE8_MEMBER( pia_pb_w );
- DECLARE_WRITE_LINE_MEMBER( pia_cb2_w );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
+ DECLARE_WRITE8_MEMBER( pia_pa_w );
+ DECLARE_WRITE8_MEMBER( pia_pb_w );
+ DECLARE_WRITE_LINE_MEMBER( pia_cb2_w );
+
required_device<pia6821_device> m_pia;
optional_shared_ptr<uint8_t> m_ram;
diff --git a/src/devices/bus/c64/magic_voice.cpp b/src/devices/bus/c64/magic_voice.cpp
index c53d8c28b39..a9439244e84 100644
--- a/src/devices/bus/c64/magic_voice.cpp
+++ b/src/devices/bus/c64/magic_voice.cpp
@@ -216,10 +216,10 @@ WRITE_LINE_MEMBER( c64_magic_voice_cartridge_device::apd_w )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_magic_voice )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_magic_voice )
+MACHINE_CONFIG_MEMBER( c64_magic_voice_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(c64_magic_voice_cartridge_device, tpi_irq_w))
MCFG_TPI6525_IN_PA_CB(READ8(c64_magic_voice_cartridge_device, tpi_pa_r))
@@ -244,17 +244,6 @@ static MACHINE_CONFIG_START( c64_magic_voice )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_magic_voice_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_magic_voice );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/magic_voice.h b/src/devices/bus/c64/magic_voice.h
index e801da274d6..264c2531197 100644
--- a/src/devices/bus/c64/magic_voice.h
+++ b/src/devices/bus/c64/magic_voice.h
@@ -31,8 +31,21 @@ public:
// construction/destruction
c64_magic_voice_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ // device_c64_expansion_card_interface overrides
+ virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
+ virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
+
+private:
+ offs_t get_offset(offs_t offset);
DECLARE_WRITE_LINE_MEMBER( tpi_irq_w );
DECLARE_READ8_MEMBER( tpi_pa_r );
@@ -46,19 +59,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( dtrd_w );
DECLARE_WRITE_LINE_MEMBER( apd_w );
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
-
- // device_c64_expansion_card_interface overrides
- virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
- virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) override;
-
-private:
- offs_t get_offset(offs_t offset);
-
required_device<t6721a_device> m_vslsi;
required_device<tpi6525_device> m_tpi;
required_device<cmos_40105_device> m_fifo;
diff --git a/src/devices/bus/c64/midi_maplin.cpp b/src/devices/bus/c64/midi_maplin.cpp
index 56cfac212ed..1550d761055 100644
--- a/src/devices/bus/c64/midi_maplin.cpp
+++ b/src/devices/bus/c64/midi_maplin.cpp
@@ -41,10 +41,10 @@ WRITE_LINE_MEMBER( c64_maplin_midi_cartridge_device::write_acia_clock )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_maplin_midi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_maplin_midi )
+MACHINE_CONFIG_MEMBER( c64_maplin_midi_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(c64_maplin_midi_cartridge_device, acia_irq_w))
@@ -59,17 +59,6 @@ static MACHINE_CONFIG_START( c64_maplin_midi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_maplin_midi_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_maplin_midi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/midi_maplin.h b/src/devices/bus/c64/midi_maplin.h
index a9fefd89169..d844d007b36 100644
--- a/src/devices/bus/c64/midi_maplin.h
+++ b/src/devices/bus/c64/midi_maplin.h
@@ -29,22 +29,22 @@ public:
// construction/destruction
c64_maplin_midi_cartridge_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( acia_irq_w );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
+
required_device<acia6850_device> m_acia;
};
diff --git a/src/devices/bus/c64/midi_namesoft.cpp b/src/devices/bus/c64/midi_namesoft.cpp
index 7f328f1485a..6f9a1f855db 100644
--- a/src/devices/bus/c64/midi_namesoft.cpp
+++ b/src/devices/bus/c64/midi_namesoft.cpp
@@ -41,10 +41,10 @@ WRITE_LINE_MEMBER( c64_namesoft_midi_cartridge_device::write_acia_clock )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_passport_midi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_passport_midi )
+MACHINE_CONFIG_MEMBER( c64_namesoft_midi_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(c64_namesoft_midi_cartridge_device, acia_irq_w))
@@ -59,17 +59,6 @@ static MACHINE_CONFIG_START( c64_passport_midi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_namesoft_midi_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_passport_midi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/midi_namesoft.h b/src/devices/bus/c64/midi_namesoft.h
index 2b1a77b6e36..fe583e9cac1 100644
--- a/src/devices/bus/c64/midi_namesoft.h
+++ b/src/devices/bus/c64/midi_namesoft.h
@@ -29,22 +29,22 @@ public:
// construction/destruction
c64_namesoft_midi_cartridge_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( acia_irq_w );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
+
required_device<acia6850_device> m_acia;
};
diff --git a/src/devices/bus/c64/midi_passport.cpp b/src/devices/bus/c64/midi_passport.cpp
index 1845e0fb69f..cc7761906bb 100644
--- a/src/devices/bus/c64/midi_passport.cpp
+++ b/src/devices/bus/c64/midi_passport.cpp
@@ -55,10 +55,10 @@ WRITE_LINE_MEMBER( c64_passport_midi_cartridge_device::write_acia_clock )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_passport_midi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_passport_midi )
+MACHINE_CONFIG_MEMBER( c64_passport_midi_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(c64_passport_midi_cartridge_device, acia_irq_w))
@@ -77,17 +77,6 @@ static MACHINE_CONFIG_START( c64_passport_midi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_passport_midi_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_passport_midi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/midi_passport.h b/src/devices/bus/c64/midi_passport.h
index 2660a696189..5385e3fff91 100644
--- a/src/devices/bus/c64/midi_passport.h
+++ b/src/devices/bus/c64/midi_passport.h
@@ -30,23 +30,23 @@ public:
// construction/destruction
c64_passport_midi_cartridge_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( ptm_irq_w );
- DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( ptm_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
+
required_device<acia6850_device> m_acia;
required_device<ptm6840_device> m_ptm;
diff --git a/src/devices/bus/c64/midi_sci.cpp b/src/devices/bus/c64/midi_sci.cpp
index bed1b59c049..efdea06b435 100644
--- a/src/devices/bus/c64/midi_sci.cpp
+++ b/src/devices/bus/c64/midi_sci.cpp
@@ -41,10 +41,10 @@ WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::write_acia_clock )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_sequential_midi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_sequential_midi )
+MACHINE_CONFIG_MEMBER( c64_sequential_midi_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(c64_sequential_midi_cartridge_device, acia_irq_w))
@@ -59,17 +59,6 @@ static MACHINE_CONFIG_START( c64_sequential_midi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_sequential_midi_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_sequential_midi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/midi_sci.h b/src/devices/bus/c64/midi_sci.h
index b905784218a..2c3dfc7f8ff 100644
--- a/src/devices/bus/c64/midi_sci.h
+++ b/src/devices/bus/c64/midi_sci.h
@@ -29,22 +29,22 @@ public:
// construction/destruction
c64_sequential_midi_cartridge_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( acia_irq_w );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
+
required_device<acia6850_device> m_acia;
};
diff --git a/src/devices/bus/c64/midi_siel.cpp b/src/devices/bus/c64/midi_siel.cpp
index 1c11e41c490..3b6feec98fc 100644
--- a/src/devices/bus/c64/midi_siel.cpp
+++ b/src/devices/bus/c64/midi_siel.cpp
@@ -41,10 +41,10 @@ WRITE_LINE_MEMBER( c64_siel_midi_cartridge_device::write_acia_clock )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_siel_midi )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_siel_midi )
+MACHINE_CONFIG_MEMBER( c64_siel_midi_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC6850_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(c64_siel_midi_cartridge_device, acia_irq_w))
@@ -59,17 +59,6 @@ static MACHINE_CONFIG_START( c64_siel_midi )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_siel_midi_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_siel_midi );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/midi_siel.h b/src/devices/bus/c64/midi_siel.h
index 3f647c9a089..9e84f5e1852 100644
--- a/src/devices/bus/c64/midi_siel.h
+++ b/src/devices/bus/c64/midi_siel.h
@@ -29,22 +29,22 @@ public:
// construction/destruction
c64_siel_midi_cartridge_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( acia_irq_w );
- DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+ DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
+
required_device<acia6850_device> m_acia;
};
diff --git a/src/devices/bus/c64/multiscreen.cpp b/src/devices/bus/c64/multiscreen.cpp
index 8c85ee833e2..e99eb9ef7b8 100644
--- a/src/devices/bus/c64/multiscreen.cpp
+++ b/src/devices/bus/c64/multiscreen.cpp
@@ -108,10 +108,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_multiscreen )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_multiscreen )
+MACHINE_CONFIG_MEMBER( c64_multiscreen_cartridge_device::device_add_mconfig )
MCFG_CPU_ADD(MC6802P_TAG, M6802, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(multiscreen_mem)
@@ -120,18 +120,6 @@ static MACHINE_CONFIG_START( c64_multiscreen )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_multiscreen_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_multiscreen );
-}
-
-
-
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
diff --git a/src/devices/bus/c64/multiscreen.h b/src/devices/bus/c64/multiscreen.h
index 46a72bde046..8e7b9d54f3b 100644
--- a/src/devices/bus/c64/multiscreen.h
+++ b/src/devices/bus/c64/multiscreen.h
@@ -31,15 +31,15 @@ public:
// construction/destruction
c64_multiscreen_cartridge_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_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/music64.cpp b/src/devices/bus/c64/music64.cpp
index dbdc350291c..923c9982f3b 100644
--- a/src/devices/bus/c64/music64.cpp
+++ b/src/devices/bus/c64/music64.cpp
@@ -41,26 +41,15 @@ DEFINE_DEVICE_TYPE(C64_MUSIC64, c64_music64_cartridge_device, "c64_music64", "C6
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_music64 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_music64 )
+MACHINE_CONFIG_MEMBER( c64_music64_cartridge_device::device_add_mconfig )
MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD()
MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_music64_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_music64 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_music64 )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/music64.h b/src/devices/bus/c64/music64.h
index eea75aae771..c9ae5414ac9 100644
--- a/src/devices/bus/c64/music64.h
+++ b/src/devices/bus/c64/music64.h
@@ -28,15 +28,15 @@ public:
// construction/destruction
c64_music64_cartridge_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;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/ps64.cpp b/src/devices/bus/c64/ps64.cpp
index 666e4184df2..551932a13c8 100644
--- a/src/devices/bus/c64/ps64.cpp
+++ b/src/devices/bus/c64/ps64.cpp
@@ -70,28 +70,18 @@ static struct votrax_sc02_interface votrax_intf =
};
*/
+
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_ps64 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_ps64 )
+MACHINE_CONFIG_MEMBER( c64_ps64_cartridge_device::device_add_mconfig )
//MCFG_SPEAKER_STANDARD_MONO("mono")
//MCFG_VOTRAX_SC02_ADD(SSI263_TAG, 2000000, votrax_intf)
//MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_ps64_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_ps64 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/ps64.h b/src/devices/bus/c64/ps64.h
index d319cf5e573..4d75432d51a 100644
--- a/src/devices/bus/c64/ps64.h
+++ b/src/devices/bus/c64/ps64.h
@@ -30,14 +30,14 @@ public:
// construction/destruction
c64_ps64_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/reu.cpp b/src/devices/bus/c64/reu.cpp
index 4dbdf3b2e88..01b371392c7 100644
--- a/src/devices/bus/c64/reu.cpp
+++ b/src/devices/bus/c64/reu.cpp
@@ -28,10 +28,10 @@ DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "17
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_reu )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_reu )
+MACHINE_CONFIG_MEMBER( c64_reu_cartridge_device::device_add_mconfig )
MCFG_MOS8726_ADD(MOS8726R1_TAG)
MCFG_GENERIC_SOCKET_ADD("rom", generic_linear_slot, nullptr)
@@ -39,17 +39,6 @@ static MACHINE_CONFIG_START( c64_reu )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_reu_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_reu );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/reu.h b/src/devices/bus/c64/reu.h
index 7ace9c7b2a9..dd8b9e32d5f 100644
--- a/src/devices/bus/c64/reu.h
+++ b/src/devices/bus/c64/reu.h
@@ -28,10 +28,6 @@
class c64_reu_cartridge_device : public device_t,
public device_c64_expansion_card_interface
{
-public:
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
enum
{
@@ -47,6 +43,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_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/rex_ep256.cpp b/src/devices/bus/c64/rex_ep256.cpp
index 29dc8673a9f..7dc3bc27520 100644
--- a/src/devices/bus/c64/rex_ep256.cpp
+++ b/src/devices/bus/c64/rex_ep256.cpp
@@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_rex_ep256 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_rex_ep256 )
+MACHINE_CONFIG_MEMBER( c64_rex_ep256_cartridge_device::device_add_mconfig )
MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr)
MCFG_GENERIC_EXTENSIONS("bin,rom")
MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr)
@@ -42,17 +42,6 @@ static MACHINE_CONFIG_START( c64_rex_ep256 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_rex_ep256_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_rex_ep256 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/rex_ep256.h b/src/devices/bus/c64/rex_ep256.h
index 2d4cb25c95f..536929d8cdb 100644
--- a/src/devices/bus/c64/rex_ep256.h
+++ b/src/devices/bus/c64/rex_ep256.h
@@ -31,14 +31,14 @@ public:
// construction/destruction
c64_rex_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/sfx_sound_expander.cpp b/src/devices/bus/c64/sfx_sound_expander.cpp
index dfa4a8ff6c9..6d7dffd2b49 100644
--- a/src/devices/bus/c64/sfx_sound_expander.cpp
+++ b/src/devices/bus/c64/sfx_sound_expander.cpp
@@ -38,10 +38,10 @@ WRITE_LINE_MEMBER( c64_sfx_sound_expander_cartridge_device::opl_irq_w )
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_sfx_sound_expander )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_sfx_sound_expander )
+MACHINE_CONFIG_MEMBER( c64_sfx_sound_expander_cartridge_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(YM3526_TAG, YM3526, XTAL_3_579545MHz)
MCFG_YM3526_IRQ_HANDLER(WRITELINE(c64_sfx_sound_expander_cartridge_device, opl_irq_w))
@@ -52,17 +52,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_sfx_sound_expander_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_sfx_sound_expander );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_sfx_sound_expander )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/sfx_sound_expander.h b/src/devices/bus/c64/sfx_sound_expander.h
index 8df5a1d6c0a..eb402bf1e54 100644
--- a/src/devices/bus/c64/sfx_sound_expander.h
+++ b/src/devices/bus/c64/sfx_sound_expander.h
@@ -29,17 +29,15 @@ public:
// construction/destruction
c64_sfx_sound_expander_cartridge_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_WRITE_LINE_MEMBER( opl_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 ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
@@ -47,6 +45,8 @@ protected:
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( opl_irq_w );
+
required_device<ym3526_device> m_opl;
required_device<c64_expansion_slot_device> m_exp;
required_ioport_array<8> m_kb;
diff --git a/src/devices/bus/c64/speakeasy.cpp b/src/devices/bus/c64/speakeasy.cpp
index e70534ee4aa..1c5dd398482 100644
--- a/src/devices/bus/c64/speakeasy.cpp
+++ b/src/devices/bus/c64/speakeasy.cpp
@@ -28,10 +28,10 @@ DEFINE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device, "c64_speakeasy
//-------------------------------------------------
-// MACHINE_DRIVER( speakeasy )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( speakeasy )
+MACHINE_CONFIG_MEMBER( c64_speakeasy_cartridge_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(SC01A_TAG, VOTRAX_SC01, 720000)
@@ -39,17 +39,6 @@ static MACHINE_CONFIG_START( speakeasy )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_speakeasy_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( speakeasy );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/speakeasy.h b/src/devices/bus/c64/speakeasy.h
index 9ff90a460b9..8c8ecdc9403 100644
--- a/src/devices/bus/c64/speakeasy.h
+++ b/src/devices/bus/c64/speakeasy.h
@@ -28,13 +28,13 @@ public:
// construction/destruction
c64_speakeasy_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
// device-level overrides
virtual void device_start() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/supercpu.cpp b/src/devices/bus/c64/supercpu.cpp
index b5353b24392..6b5b73b3265 100644
--- a/src/devices/bus/c64/supercpu.cpp
+++ b/src/devices/bus/c64/supercpu.cpp
@@ -57,10 +57,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_supercpu )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_supercpu )
+MACHINE_CONFIG_MEMBER( c64_supercpu_device::device_add_mconfig )
MCFG_CPU_ADD(G65816_TAG, G65816, 1000000)
MCFG_CPU_PROGRAM_MAP(c64_supercpu_map)
@@ -69,17 +69,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_supercpu_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_supercpu );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_supercpu )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/supercpu.h b/src/devices/bus/c64/supercpu.h
index c3c0308d471..d901f6956b6 100644
--- a/src/devices/bus/c64/supercpu.h
+++ b/src/devices/bus/c64/supercpu.h
@@ -29,16 +29,16 @@ public:
// construction/destruction
c64_supercpu_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_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/swiftlink.cpp b/src/devices/bus/c64/swiftlink.cpp
index 49ab285985b..7d7f65a62b3 100644
--- a/src/devices/bus/c64/swiftlink.cpp
+++ b/src/devices/bus/c64/swiftlink.cpp
@@ -35,10 +35,10 @@ DEFINE_DEVICE_TYPE(C64_SWIFTLINK, c64_swiftlink_cartridge_device, "c64_swiftlink
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_swiftlink )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_swiftlink )
+MACHINE_CONFIG_MEMBER( c64_swiftlink_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MOS6551_TAG, MOS6551, 0)
MCFG_MOS6551_XTAL(XTAL_3_6864MHz)
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(c64_swiftlink_cartridge_device, acia_irq_w))
@@ -53,17 +53,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_swiftlink_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_swiftlink );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_swiftlink )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/swiftlink.h b/src/devices/bus/c64/swiftlink.h
index fba041f1b11..0c1f577bafe 100644
--- a/src/devices/bus/c64/swiftlink.h
+++ b/src/devices/bus/c64/swiftlink.h
@@ -31,22 +31,22 @@ public:
// construction/destruction
c64_swiftlink_cartridge_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_WRITE_LINE_MEMBER( acia_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 ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+
required_device<mos6551_device> m_acia;
required_ioport m_io_cs;
required_ioport m_io_irq;
diff --git a/src/devices/bus/c64/tdos.cpp b/src/devices/bus/c64/tdos.cpp
index 87faabb69e8..f8852e2b51b 100644
--- a/src/devices/bus/c64/tdos.cpp
+++ b/src/devices/bus/c64/tdos.cpp
@@ -150,10 +150,10 @@ DEFINE_DEVICE_TYPE(C64_TDOS, c64_tdos_cartridge_device, "c64_tdos", "C64 TDOS ca
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_multiscreen )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_tdos )
+MACHINE_CONFIG_MEMBER( c64_tdos_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MC68A52P_TAG, MC6852, XTAL_6_5MHz)
MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD()
@@ -161,17 +161,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_tdos_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_tdos );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_tdos )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/tdos.h b/src/devices/bus/c64/tdos.h
index 164d2fd5ca0..adf2bf874b5 100644
--- a/src/devices/bus/c64/tdos.h
+++ b/src/devices/bus/c64/tdos.h
@@ -29,15 +29,15 @@ public:
// construction/destruction
c64_tdos_cartridge_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;
-
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
diff --git a/src/devices/bus/c64/turbo232.cpp b/src/devices/bus/c64/turbo232.cpp
index 3fc07fa27f2..8da2ccb1c5e 100644
--- a/src/devices/bus/c64/turbo232.cpp
+++ b/src/devices/bus/c64/turbo232.cpp
@@ -34,10 +34,10 @@ DEFINE_DEVICE_TYPE(C64_TURBO232, c64_turbo232_cartridge_device, "c64_turbo232",
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_turbo232 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_turbo232 )
+MACHINE_CONFIG_MEMBER( c64_turbo232_cartridge_device::device_add_mconfig )
MCFG_DEVICE_ADD(MOS6551_TAG, MOS6551, 0)
MCFG_MOS6551_XTAL(XTAL_3_6864MHz)
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(c64_turbo232_cartridge_device, acia_irq_w))
@@ -52,17 +52,6 @@ MACHINE_CONFIG_END
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_turbo232_cartridge_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_turbo232 );
-}
-
-
-//-------------------------------------------------
// INPUT_PORTS( c64_turbo232 )
//-------------------------------------------------
diff --git a/src/devices/bus/c64/turbo232.h b/src/devices/bus/c64/turbo232.h
index 4ca2cb73084..177e044307d 100644
--- a/src/devices/bus/c64/turbo232.h
+++ b/src/devices/bus/c64/turbo232.h
@@ -31,22 +31,22 @@ public:
// construction/destruction
c64_turbo232_cartridge_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_WRITE_LINE_MEMBER( acia_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 ioport_constructor device_input_ports() const override;
+
// device_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
private:
+ DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
+
required_device<mos6551_device> m_acia;
required_device<rs232_port_device> m_rs232;
required_ioport m_io_cs;
diff --git a/src/devices/bus/c64/xl80.cpp b/src/devices/bus/c64/xl80.cpp
index 87740c52558..3469a60f1c7 100644
--- a/src/devices/bus/c64/xl80.cpp
+++ b/src/devices/bus/c64/xl80.cpp
@@ -120,10 +120,10 @@ GFXDECODE_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( c64_xl80 )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( c64_xl80 )
+MACHINE_CONFIG_MEMBER( c64_xl80_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
MCFG_SCREEN_UPDATE_DEVICE(HD46505SP_TAG, h46505_device, screen_update)
MCFG_SCREEN_SIZE(80*8, 24*8)
@@ -140,17 +140,6 @@ static MACHINE_CONFIG_START( c64_xl80 )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor c64_xl80_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( c64_xl80 );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/c64/xl80.h b/src/devices/bus/c64/xl80.h
index ee3e1789fa1..cc03d6c530f 100644
--- a/src/devices/bus/c64/xl80.h
+++ b/src/devices/bus/c64/xl80.h
@@ -30,18 +30,15 @@ public:
// construction/destruction
c64_xl80_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_c64_expansion_card_interface overrides
virtual uint8_t c64_cd_r(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
@@ -49,6 +46,8 @@ protected:
virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) override { return 0; }
private:
+ MC6845_UPDATE_ROW( crtc_update_row );
+
required_device<h46505_device> m_crtc;
required_device<palette_device> m_palette;
required_memory_region m_char_rom;
diff --git a/src/devices/bus/cbm2/hrg.cpp b/src/devices/bus/cbm2/hrg.cpp
index 0b614874131..dacb75cbaa5 100644
--- a/src/devices/bus/cbm2/hrg.cpp
+++ b/src/devices/bus/cbm2/hrg.cpp
@@ -83,10 +83,10 @@ ADDRESS_MAP_END
//-------------------------------------------------
-// MACHINE_CONFIG_START( cbm2_hrg_a )
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( cbm2_hrg_a )
+MACHINE_CONFIG_MEMBER( cbm2_hrg_a_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update)
MCFG_SCREEN_SIZE(512, 512)
@@ -102,12 +102,7 @@ static MACHINE_CONFIG_START( cbm2_hrg_a )
MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
MACHINE_CONFIG_END
-
-//-------------------------------------------------
-// MACHINE_CONFIG_START( cbm2_hrg_b )
-//-------------------------------------------------
-
-static MACHINE_CONFIG_START( cbm2_hrg_b )
+MACHINE_CONFIG_MEMBER( cbm2_hrg_b_device::device_add_mconfig )
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update)
MCFG_SCREEN_SIZE(512, 256)
@@ -124,22 +119,6 @@ static MACHINE_CONFIG_START( cbm2_hrg_b )
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor cbm2_hrg_a_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cbm2_hrg_a );
-}
-
-machine_config_constructor cbm2_hrg_b_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( cbm2_hrg_b );
-}
-
-
//**************************************************************************
// LIVE DEVICE
diff --git a/src/devices/bus/cbm2/hrg.h b/src/devices/bus/cbm2/hrg.h
index 289ff89a604..3a6fe85c3cd 100644
--- a/src/devices/bus/cbm2/hrg.h
+++ b/src/devices/bus/cbm2/hrg.h
@@ -55,8 +55,9 @@ public:
// construction/destruction
cbm2_hrg_a_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;
};
@@ -68,8 +69,9 @@ public:
// construction/destruction
cbm2_hrg_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/mame/drivers/zodiack.cpp b/src/mame/drivers/zodiack.cpp
index e67f66d980f..ee92a2041ad 100644
--- a/src/mame/drivers/zodiack.cpp
+++ b/src/mame/drivers/zodiack.cpp
@@ -705,6 +705,26 @@ ROM_START( bounty )
ROM_LOAD( "mb7051.2b", 0x0020, 0x0020, CRC(465e31d4) SHA1(d47a4aa0e8931dcd8f85017ef04c2f6ad79f5725) )
ROM_END
+ROM_START( bounty2 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "1", 0x0000, 0x1000, CRC() SHA1() )
+ ROM_LOAD( "3.4k", 0x1000, 0x1000, CRC(fa3086c3) SHA1(b8bab26a4e68e6d2e5b899e900c9affd297c22de) )
+ ROM_LOAD( "2.4h", 0x2000, 0x1000, CRC(52ab5314) SHA1(ba399f8b86cc64d1dd585dde79d8036d24296475) )
+ ROM_LOAD( "4", 0x3000, 0x1000, CRC() SHA1() )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "7.4n", 0x0000, 0x1000, CRC(45e369b8) SHA1(9799b2ece5e3b92da435255e1b49f5097d3f7972) )
+ ROM_LOAD( "8.4r", 0x1000, 0x1000, CRC(4f52c87d) SHA1(1738d798c341a54d293c70da7b6e4a3dfb00de38) )
+
+ ROM_REGION( 0x2800, "gfx1", 0 )
+ ROM_LOAD( "9.4r", 0x0000, 0x0800, CRC(4b4acde5) SHA1(5ed60fe50a9ab0b8d433ee9ae5787b936ddbfbdd) )
+ ROM_LOAD( "5.7m", 0x0800, 0x1000, CRC(a5ce2a24) SHA1(b5469d31bda52a61cdc46349c139a7eb339ac8a7) )
+ ROM_LOAD( "6.7p", 0x1800, 0x1000, CRC(43183301) SHA1(9df89479396d7847ee3325649d7264e75d413add) )
+
+ ROM_REGION( 0x0040, "proms", 0 )
+ ROM_LOAD( "mb7051.2a", 0x0000, 0x0020, CRC(0de11a46) SHA1(3bc81571832dd78b29654e86479815ee5f97a4d3) )
+ ROM_LOAD( "mb7051.2b", 0x0020, 0x0020, CRC(465e31d4) SHA1(d47a4aa0e8931dcd8f85017ef04c2f6ad79f5725) )
+ROM_END
DRIVER_INIT_MEMBER(zodiack_state,zodiack)
{
@@ -716,8 +736,9 @@ DRIVER_INIT_MEMBER(zodiack_state,percuss)
m_percuss_hardware = true;
}
-GAME( 1983, zodiack, 0, zodiack, zodiack, zodiack_state, zodiack, ROT270, "Orca (Esco Trading Co., Inc. license)", "Zodiack", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) /* bullet color needs to be verified */
-GAME( 1983, dogfight, 0, zodiack, dogfight, zodiack_state, zodiack, ROT270, "Orca / Thunderbolt", "Dog Fight (Thunderbolt)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) /* bullet color needs to be verified */
-GAME( 1982, moguchan, 0, zodiack, moguchan, zodiack_state, percuss, ROT270, "Orca (Eastern Commerce Inc. license)", "Mogu Chan (bootleg?)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) /* license copyright taken from ROM string at $0b5c */
-GAME( 1981, percuss, 0, zodiack, percuss, zodiack_state, percuss, ROT270, "Orca", "The Percussor", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bounty, 0, zodiack, bounty, zodiack_state, percuss, ROT180, "Orca", "The Bounty", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, zodiack, 0, zodiack, zodiack, zodiack_state, zodiack, ROT270, "Orca (Esco Trading Co., Inc. license)", "Zodiack", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) /* bullet color needs to be verified */
+GAME( 1983, dogfight, 0, zodiack, dogfight, zodiack_state, zodiack, ROT270, "Orca / Thunderbolt", "Dog Fight (Thunderbolt)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) /* bullet color needs to be verified */
+GAME( 1982, moguchan, 0, zodiack, moguchan, zodiack_state, percuss, ROT270, "Orca (Eastern Commerce Inc. license)", "Mogu Chan (bootleg?)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) /* license copyright taken from ROM string at $0b5c */
+GAME( 1981, percuss, 0, zodiack, percuss, zodiack_state, percuss, ROT270, "Orca", "The Percussor", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bounty, 0, zodiack, bounty, zodiack_state, percuss, ROT180, "Orca", "The Bounty (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bounty2, bounty, zodiack, bounty, zodiack_state, percuss, ROT180, "Orca", "The Bounty (set 2)", MACHINE_SUPPORTS_SAVE )