From fd1bb20b1b81daeb7ab925fb4f9e82161e2f2e4c Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 7 Jun 2017 18:58:48 +0200 Subject: some more device_add_mconfig in devices/bus (nw) --- src/devices/bus/abcbus/abc890.cpp | 90 ++++-------------------------- src/devices/bus/abcbus/abc890.h | 21 ++++--- src/devices/bus/abcbus/fd2.cpp | 16 +----- src/devices/bus/abcbus/fd2.h | 22 ++++---- src/devices/bus/abcbus/hdc.cpp | 16 +----- src/devices/bus/abcbus/hdc.h | 8 +-- src/devices/bus/abcbus/lux10828.cpp | 15 +---- src/devices/bus/abcbus/lux10828.h | 30 +++++----- src/devices/bus/abcbus/lux21046.cpp | 76 +++++-------------------- src/devices/bus/abcbus/lux21046.h | 43 +++++++------- src/devices/bus/abcbus/lux21056.cpp | 16 +----- src/devices/bus/abcbus/lux21056.h | 32 +++++------ src/devices/bus/abcbus/lux4105.cpp | 15 +---- src/devices/bus/abcbus/lux4105.h | 19 +++---- src/devices/bus/abcbus/sio.cpp | 15 +---- src/devices/bus/abcbus/sio.h | 8 +-- src/devices/bus/abcbus/turbo.cpp | 15 +---- src/devices/bus/abcbus/turbo.h | 8 +-- src/devices/bus/abckb/abc77.cpp | 15 +---- src/devices/bus/abckb/abc77.h | 20 ++++--- src/devices/bus/abckb/abc800kb.cpp | 15 +---- src/devices/bus/abckb/abc800kb.h | 21 ++++--- src/devices/bus/abckb/abc99.cpp | 15 +---- src/devices/bus/abckb/abc99.h | 19 ++++--- src/devices/bus/adam/ide.cpp | 16 +----- src/devices/bus/adam/ide.h | 8 +-- src/devices/bus/adamnet/ddp.cpp | 16 +----- src/devices/bus/adamnet/ddp.h | 8 +-- src/devices/bus/adamnet/fdc.cpp | 15 +---- src/devices/bus/adamnet/fdc.h | 15 ++--- src/devices/bus/adamnet/kb.cpp | 15 +---- src/devices/bus/adamnet/kb.h | 10 ++-- src/devices/bus/adamnet/printer.cpp | 15 +---- src/devices/bus/adamnet/printer.h | 8 +-- src/devices/bus/adamnet/spi.cpp | 15 +---- src/devices/bus/adamnet/spi.h | 8 +-- src/devices/bus/amiga/zorro/a2232.cpp | 10 +--- src/devices/bus/amiga/zorro/a2232.h | 62 ++++++++++---------- src/devices/bus/amiga/zorro/a590.cpp | 10 +--- src/devices/bus/amiga/zorro/a590.h | 22 ++++---- src/devices/bus/amiga/zorro/buddha.cpp | 10 +--- src/devices/bus/amiga/zorro/buddha.h | 8 +-- src/devices/bus/apricot/keyboard/hle.cpp | 7 +-- src/devices/bus/apricot/keyboard/hle.h | 2 +- src/devices/bus/bbc/1mhzbus/opus3.cpp | 41 ++++++-------- src/devices/bus/bbc/1mhzbus/opus3.h | 15 ++--- src/devices/bus/bbc/fdc/acorn.cpp | 61 ++++++++++---------- src/devices/bus/bbc/fdc/acorn.h | 33 +++++------ src/devices/bus/bbc/fdc/cumana.cpp | 44 +++++++-------- src/devices/bus/bbc/fdc/cumana.h | 6 +- src/devices/bus/bbc/fdc/opus.cpp | 73 ++++++++++-------------- src/devices/bus/bbc/fdc/opus.h | 9 ++- src/devices/bus/bbc/fdc/watford.cpp | 51 +++++++---------- src/devices/bus/bbc/fdc/watford.h | 19 ++++--- src/devices/bus/bml3/bml3kanji.cpp | 13 ----- src/devices/bus/bml3/bml3kanji.h | 7 +-- src/devices/bus/bml3/bml3mp1802.cpp | 25 ++++----- src/devices/bus/bml3/bml3mp1802.h | 11 ++-- src/devices/bus/bml3/bml3mp1805.cpp | 17 ++---- src/devices/bus/bml3/bml3mp1805.h | 12 ++-- src/devices/bus/c64/16kb.cpp | 15 +---- src/devices/bus/c64/16kb.h | 8 +-- src/devices/bus/c64/cpm.cpp | 15 +---- src/devices/bus/c64/cpm.h | 6 +- src/devices/bus/c64/currah_speech.cpp | 16 +----- src/devices/bus/c64/currah_speech.h | 8 +-- src/devices/bus/c64/dela_ep256.cpp | 15 +---- src/devices/bus/c64/dela_ep256.h | 6 +- src/devices/bus/c64/dela_ep64.cpp | 15 +---- src/devices/bus/c64/dela_ep64.h | 6 +- src/devices/bus/c64/dela_ep7x8.cpp | 15 +---- src/devices/bus/c64/dela_ep7x8.h | 6 +- src/devices/bus/c64/easyflash.cpp | 15 +---- src/devices/bus/c64/easyflash.h | 8 +-- src/devices/bus/c64/fcc.cpp | 15 +---- src/devices/bus/c64/fcc.h | 10 ++-- src/devices/bus/c64/geocable.cpp | 15 +---- src/devices/bus/c64/geocable.h | 6 +- src/devices/bus/c64/ide64.cpp | 16 +----- src/devices/bus/c64/ide64.h | 8 +-- src/devices/bus/c64/ieee488.cpp | 16 +----- src/devices/bus/c64/ieee488.h | 17 +++--- src/devices/bus/c64/magic_formel.cpp | 15 +---- src/devices/bus/c64/magic_formel.h | 17 +++--- src/devices/bus/c64/magic_voice.cpp | 15 +---- src/devices/bus/c64/magic_voice.h | 28 +++++----- src/devices/bus/c64/midi_maplin.cpp | 15 +---- src/devices/bus/c64/midi_maplin.h | 12 ++-- src/devices/bus/c64/midi_namesoft.cpp | 15 +---- src/devices/bus/c64/midi_namesoft.h | 12 ++-- src/devices/bus/c64/midi_passport.cpp | 15 +---- src/devices/bus/c64/midi_passport.h | 14 ++--- src/devices/bus/c64/midi_sci.cpp | 15 +---- src/devices/bus/c64/midi_sci.h | 12 ++-- src/devices/bus/c64/midi_siel.cpp | 15 +---- src/devices/bus/c64/midi_siel.h | 12 ++-- src/devices/bus/c64/multiscreen.cpp | 16 +----- src/devices/bus/c64/multiscreen.h | 8 +-- src/devices/bus/c64/music64.cpp | 15 +---- src/devices/bus/c64/music64.h | 8 +-- src/devices/bus/c64/ps64.cpp | 16 +----- src/devices/bus/c64/ps64.h | 6 +- src/devices/bus/c64/reu.cpp | 15 +---- src/devices/bus/c64/reu.h | 7 +-- src/devices/bus/c64/rex_ep256.cpp | 15 +---- src/devices/bus/c64/rex_ep256.h | 6 +- src/devices/bus/c64/sfx_sound_expander.cpp | 15 +---- src/devices/bus/c64/sfx_sound_expander.h | 12 ++-- src/devices/bus/c64/speakeasy.cpp | 15 +---- src/devices/bus/c64/speakeasy.h | 6 +- src/devices/bus/c64/supercpu.cpp | 15 +---- src/devices/bus/c64/supercpu.h | 10 ++-- src/devices/bus/c64/swiftlink.cpp | 15 +---- src/devices/bus/c64/swiftlink.h | 12 ++-- src/devices/bus/c64/tdos.cpp | 15 +---- src/devices/bus/c64/tdos.h | 8 +-- src/devices/bus/c64/turbo232.cpp | 15 +---- src/devices/bus/c64/turbo232.h | 12 ++-- src/devices/bus/c64/xl80.cpp | 15 +---- src/devices/bus/c64/xl80.h | 13 ++--- src/devices/bus/cbm2/hrg.cpp | 27 +-------- src/devices/bus/cbm2/hrg.h | 6 +- src/mame/drivers/zodiack.cpp | 31 ++++++++-- 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 m_maincpu; required_device m_pio; required_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) @@ -348,17 +348,6 @@ static MACHINE_CONFIG_START( luxor_55_10828 ) 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 m_maincpu; required_device m_pio; required_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,83 +306,37 @@ 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 m_maincpu; required_device m_dma; required_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) @@ -272,17 +273,6 @@ static MACHINE_CONFIG_START( luxor_55_21056 ) 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 m_maincpu; required_device m_dma; required_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)) @@ -86,17 +86,6 @@ static MACHINE_CONFIG_START( luxor_4105 ) 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 m_sasibus; required_device m_sasi_data_out; required_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) @@ -149,17 +149,6 @@ static MACHINE_CONFIG_START( abc77 ) 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)) @@ -121,17 +121,6 @@ static MACHINE_CONFIG_START( abc800_keyboard ) 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 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) @@ -175,17 +175,6 @@ static MACHINE_CONFIG_START( abc99 ) 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) @@ -136,17 +136,6 @@ static MACHINE_CONFIG_START( adam_fdc ) 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 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,27 +70,16 @@ 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) 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 m_iocpu; required_device m_acia_0; required_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 m_wdc; std::vector 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 m_ata_0; required_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 m_ramdisk; required_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 m_fdc; required_device 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 m_fdc; required_device 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 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 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,24 +29,11 @@ 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 m_fdc; required_device m_floppy0; required_device 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 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") @@ -31,17 +31,6 @@ static MACHINE_CONFIG_START( c64_16kb ) 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,26 +27,15 @@ 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,26 +71,15 @@ 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) @@ -53,17 +54,6 @@ static MACHINE_CONFIG_START( c64_ide64 ) 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 m_tpi; required_device m_bus; required_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)) @@ -104,17 +104,6 @@ static MACHINE_CONFIG_START( c64_magic_formel ) 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 m_pia; optional_shared_ptr 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 m_vslsi; required_device m_tpi; required_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 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 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 m_acia; required_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 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 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,25 +41,14 @@ 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)) @@ -51,17 +51,6 @@ static MACHINE_CONFIG_START( c64_sfx_sound_expander ) 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 m_opl; required_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) @@ -68,17 +68,6 @@ static MACHINE_CONFIG_START( c64_supercpu ) 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)) @@ -52,17 +52,6 @@ static MACHINE_CONFIG_START( c64_swiftlink ) 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 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,27 +150,16 @@ 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() 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)) @@ -51,17 +51,6 @@ static MACHINE_CONFIG_START( c64_turbo232 ) 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 m_acia; required_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 m_crtc; required_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 ) -- cgit v1.2.3