summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/c64
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 /src/devices/bus/c64
parent7b2e155728f7725a0c62d9abb2b31be5a00eea91 (diff)
some more device_add_mconfig in devices/bus (nw)
Diffstat (limited to 'src/devices/bus/c64')
-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
60 files changed, 214 insertions, 545 deletions
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;