From 24066545bd911f3d711094446417907685aa4892 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Fri, 2 Jun 2017 11:00:55 +0200 Subject: [PATCH] device_add_mconfig: a small start in devices\bus (nw) --- src/devices/bus/a1bus/a1cassette.cpp | 22 +++--- src/devices/bus/a1bus/a1cassette.h | 8 +-- src/devices/bus/a1bus/a1cffa.cpp | 14 ++-- src/devices/bus/a1bus/a1cffa.h | 7 +- src/devices/bus/a2bus/a2alfam2.cpp | 32 +++------ src/devices/bus/a2bus/a2alfam2.h | 8 +-- src/devices/bus/a2bus/a2applicard.cpp | 18 ++--- src/devices/bus/a2bus/a2applicard.h | 4 +- src/devices/bus/a2bus/a2arcadebd.cpp | 16 ++--- src/devices/bus/a2bus/a2arcadebd.h | 9 ++- src/devices/bus/a2bus/a2cffa.cpp | 20 ++---- src/devices/bus/a2bus/a2cffa.h | 7 +- src/devices/bus/a2bus/a2corvus.cpp | 29 ++++---- src/devices/bus/a2bus/a2corvus.h | 6 +- src/devices/bus/a2bus/a2diskii.cpp | 29 +++----- src/devices/bus/a2bus/a2diskii.h | 10 ++- src/devices/bus/a2bus/a2diskiing.cpp | 18 ++--- src/devices/bus/a2bus/a2diskiing.h | 10 ++- src/devices/bus/a2bus/a2dx1.cpp | 24 +++---- src/devices/bus/a2bus/a2dx1.h | 4 +- src/devices/bus/a2bus/a2echoii.cpp | 18 ++--- src/devices/bus/a2bus/a2echoii.h | 4 +- src/devices/bus/a2bus/a2hsscsi.cpp | 34 ++++----- src/devices/bus/a2bus/a2hsscsi.h | 6 +- src/devices/bus/a2bus/a2mcms.cpp | 24 +++---- src/devices/bus/a2bus/a2mcms.h | 9 ++- src/devices/bus/a2bus/a2memexp.cpp | 12 +--- src/devices/bus/a2bus/a2memexp.h | 6 +- src/devices/bus/a2bus/a2midi.cpp | 17 ++--- src/devices/bus/a2bus/a2midi.h | 12 ++-- src/devices/bus/a2bus/a2mockingboard.cpp | 30 ++------ src/devices/bus/a2bus/a2mockingboard.h | 11 ++- src/devices/bus/a2bus/a2pic.cpp | 24 +++---- src/devices/bus/a2bus/a2pic.h | 12 ++-- src/devices/bus/a2bus/a2sam.cpp | 20 ++---- src/devices/bus/a2bus/a2sam.h | 4 +- src/devices/bus/a2bus/a2scsi.cpp | 34 ++++----- src/devices/bus/a2bus/a2scsi.h | 6 +- src/devices/bus/a2bus/a2softcard.cpp | 16 ++--- src/devices/bus/a2bus/a2softcard.h | 4 +- src/devices/bus/a2bus/a2ssc.cpp | 32 ++++----- src/devices/bus/a2bus/a2ssc.h | 12 ++-- src/devices/bus/a2bus/a2themill.cpp | 16 ++--- src/devices/bus/a2bus/a2themill.h | 4 +- src/devices/bus/a2bus/a2thunderclock.cpp | 14 ++-- src/devices/bus/a2bus/a2thunderclock.h | 10 ++- src/devices/bus/a2bus/a2ultraterm.cpp | 29 ++++---- src/devices/bus/a2bus/a2ultraterm.h | 11 ++- src/devices/bus/a2bus/a2videoterm.cpp | 30 ++++---- src/devices/bus/a2bus/a2videoterm.h | 11 ++- src/devices/bus/a2bus/a2vulcan.cpp | 14 ++-- src/devices/bus/a2bus/a2vulcan.h | 5 +- src/devices/bus/a2bus/a2zipdrive.cpp | 14 ++-- src/devices/bus/a2bus/a2zipdrive.h | 7 +- src/devices/bus/a2bus/corvfdc01.cpp | 26 +++---- src/devices/bus/a2bus/corvfdc01.h | 16 ++--- src/devices/bus/a2bus/corvfdc02.cpp | 27 +++---- src/devices/bus/a2bus/corvfdc02.h | 16 ++--- src/devices/bus/a2bus/ezcgi.cpp | 44 ++++-------- src/devices/bus/a2bus/ezcgi.h | 27 ++++--- src/devices/bus/a2bus/laser128.cpp | 12 +--- src/devices/bus/a2bus/laser128.h | 4 +- src/devices/bus/a2bus/pc_xporter.cpp | 24 +++---- src/devices/bus/a2bus/pc_xporter.h | 69 +++++++++--------- src/devices/bus/a2bus/timemasterho.cpp | 26 +++---- src/devices/bus/a2bus/timemasterho.h | 17 ++--- src/devices/bus/a7800/cpuwiz.cpp | 7 +- src/devices/bus/a7800/cpuwiz.h | 5 +- src/devices/bus/a7800/hiscore.cpp | 7 +- src/devices/bus/a7800/hiscore.h | 5 +- src/devices/bus/a7800/rom.cpp | 90 +++++++++++------------- src/devices/bus/a7800/rom.h | 26 ++++--- src/devices/bus/a7800/xboard.cpp | 13 +--- src/devices/bus/a7800/xboard.h | 8 +-- src/devices/bus/a800/cassette.cpp | 7 +- src/devices/bus/a800/cassette.h | 4 +- 76 files changed, 477 insertions(+), 810 deletions(-) diff --git a/src/devices/bus/a1bus/a1cassette.cpp b/src/devices/bus/a1bus/a1cassette.cpp index 86858066116..3ed9e0e769e 100644 --- a/src/devices/bus/a1bus/a1cassette.cpp +++ b/src/devices/bus/a1bus/a1cassette.cpp @@ -23,14 +23,6 @@ DEFINE_DEVICE_TYPE(A1BUS_CASSETTE, a1bus_cassette_device, "a1cass", "Apple I cassette board") -/* sound output */ - -MACHINE_CONFIG_START( cassette ) - MCFG_CASSETTE_ADD("cassette") - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED) - MCFG_CASSETTE_INTERFACE("apple1_cass") -MACHINE_CONFIG_END - ROM_START( cassette ) /* 256-byte cassette interface ROM, in two 82s129 or mmi6301 256x4 proms at locations 3 and 4 on the cassette interface daughtercard (they are labeled "MMI 6301-IJ // 7623L // APPLE-A3" and "MMI 6301-IJ // 7623L // APPLE-A4") */ ROM_REGION(0x100, CASSETTE_ROM_REGION, 0) @@ -39,14 +31,16 @@ ROM_START( cassette ) ROM_END //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a1bus_cassette_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( cassette ); -} +/* sound output */ + +MACHINE_CONFIG_MEMBER( a1bus_cassette_device::device_add_mconfig ) + MCFG_CASSETTE_ADD("cassette") + MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED) + MCFG_CASSETTE_INTERFACE("apple1_cass") +MACHINE_CONFIG_END const tiny_rom_entry *a1bus_cassette_device::device_rom_region() const { diff --git a/src/devices/bus/a1bus/a1cassette.h b/src/devices/bus/a1bus/a1cassette.h index f674559732c..31cd3039b95 100644 --- a/src/devices/bus/a1bus/a1cassette.h +++ b/src/devices/bus/a1bus/a1cassette.h @@ -28,10 +28,6 @@ public: // construction/destruction a1bus_cassette_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(cassette_r); DECLARE_WRITE8_MEMBER(cassette_w); @@ -40,6 +36,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; + void cassette_toggle_output(); diff --git a/src/devices/bus/a1bus/a1cffa.cpp b/src/devices/bus/a1bus/a1cffa.cpp index 6fb0931175f..39bdad1e04f 100644 --- a/src/devices/bus/a1bus/a1cffa.cpp +++ b/src/devices/bus/a1bus/a1cffa.cpp @@ -24,24 +24,18 @@ DEFINE_DEVICE_TYPE(A1BUS_CFFA, a1bus_cffa_device, "cffa1", "CFFA Compact Flash for Apple I") -MACHINE_CONFIG_START( cffa ) - MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false) -MACHINE_CONFIG_END - ROM_START( cffa ) ROM_REGION(0x2000, CFFA_ROM_REGION, 0) ROM_LOAD ("cffaromv1.1.bin", 0x0000, 0x1fe0, CRC(bf6b55ad) SHA1(6a290be18485a06f243a3561c4e01be5aafa4bfe) ) ROM_END //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a1bus_cffa_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( cffa ); -} +MACHINE_CONFIG_MEMBER( a1bus_cffa_device::device_add_mconfig ) + MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false) +MACHINE_CONFIG_END const tiny_rom_entry *a1bus_cffa_device::device_rom_region() const { diff --git a/src/devices/bus/a1bus/a1cffa.h b/src/devices/bus/a1bus/a1cffa.h index e1114a23f05..03b3335620e 100644 --- a/src/devices/bus/a1bus/a1cffa.h +++ b/src/devices/bus/a1bus/a1cffa.h @@ -28,10 +28,6 @@ public: // construction/destruction a1bus_cffa_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(cffa_r); DECLARE_WRITE8_MEMBER(cffa_w); @@ -40,6 +36,9 @@ protected: virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; required_device m_ata; diff --git a/src/devices/bus/a2bus/a2alfam2.cpp b/src/devices/bus/a2bus/a2alfam2.cpp index 57b78182170..901a648aa3e 100644 --- a/src/devices/bus/a2bus/a2alfam2.cpp +++ b/src/devices/bus/a2bus/a2alfam2.cpp @@ -30,7 +30,16 @@ DEFINE_DEVICE_TYPE(A2BUS_AESMS, a2bus_aesms_device, "a2aesms", "Applied Engin #define SN3_TAG "sn76489_3" // right #define SN4_TAG "sn76489_4" // center? -MACHINE_CONFIG_START( a2alfam2 ) + +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_sn76489_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_STEREO("alf_l", "alf_r") MCFG_SOUND_ADD(SN1_TAG, SN76489, 1020484) @@ -42,7 +51,7 @@ MACHINE_CONFIG_START( a2alfam2 ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50) MACHINE_CONFIG_END -MACHINE_CONFIG_START( a2aesms ) +MACHINE_CONFIG_MEMBER( a2bus_aesms_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_STEREO("alf_l", "alf_r") MCFG_SOUND_ADD(SN1_TAG, SN76489, 1020484) @@ -60,25 +69,6 @@ MACHINE_CONFIG_START( a2aesms ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50) MACHINE_CONFIG_END -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_sn76489_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2alfam2 ); -} - -machine_config_constructor a2bus_aesms_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2aesms ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/a2alfam2.h b/src/devices/bus/a2bus/a2alfam2.h index ec98e87095d..f749a7a7ea6 100644 --- a/src/devices/bus/a2bus/a2alfam2.h +++ b/src/devices/bus/a2bus/a2alfam2.h @@ -24,16 +24,13 @@ class a2bus_sn76489_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // construction/destruction a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -63,7 +60,8 @@ class a2bus_aesms_device : public a2bus_sn76489_device public: a2bus_aesms_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; +protected: + virtual void device_add_mconfig(machine_config &config) override; }; // device type definition diff --git a/src/devices/bus/a2bus/a2applicard.cpp b/src/devices/bus/a2bus/a2applicard.cpp index 803d88e83b2..58449c8ce38 100644 --- a/src/devices/bus/a2bus/a2applicard.cpp +++ b/src/devices/bus/a2bus/a2applicard.cpp @@ -37,12 +37,6 @@ static ADDRESS_MAP_START( z80_io, AS_IO, 8, a2bus_applicard_device ) AM_RANGE(0x00, 0x60) AM_MIRROR(0xff00) AM_READWRITE(z80_io_r, z80_io_w) ADDRESS_MAP_END -MACHINE_CONFIG_START( a2applicard ) - MCFG_CPU_ADD(Z80_TAG, Z80, 6000000) // Z80 runs at 6 MHz - MCFG_CPU_PROGRAM_MAP(z80_mem) - MCFG_CPU_IO_MAP(z80_io) -MACHINE_CONFIG_END - ROM_START( a2applicard ) ROM_REGION(0x800, Z80_ROM_REGION, 0) ROM_LOAD( "applicard-v9.bin", 0x000000, 0x000800, CRC(1d461000) SHA1(71d633be864b6084362e85108a4e600cbe6e44fe) ) @@ -53,14 +47,14 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_applicard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2applicard ); -} +MACHINE_CONFIG_MEMBER( a2bus_applicard_device::device_add_mconfig ) + MCFG_CPU_ADD(Z80_TAG, Z80, 6000000) // Z80 runs at 6 MHz + MCFG_CPU_PROGRAM_MAP(z80_mem) + MCFG_CPU_IO_MAP(z80_io) +MACHINE_CONFIG_END //------------------------------------------------- // device_rom_region - device-specific ROMs diff --git a/src/devices/bus/a2bus/a2applicard.h b/src/devices/bus/a2bus/a2applicard.h index dfacfbf208f..7262bca1a33 100644 --- a/src/devices/bus/a2bus/a2applicard.h +++ b/src/devices/bus/a2bus/a2applicard.h @@ -27,9 +27,6 @@ public: // construction/destruction a2bus_applicard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - DECLARE_READ8_MEMBER( dma_r ); DECLARE_WRITE8_MEMBER( dma_w ); DECLARE_READ8_MEMBER( z80_io_r ); @@ -41,6 +38,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2arcadebd.cpp b/src/devices/bus/a2bus/a2arcadebd.cpp index 5e46bf93f46..959b7b7f9a4 100644 --- a/src/devices/bus/a2bus/a2arcadebd.cpp +++ b/src/devices/bus/a2bus/a2arcadebd.cpp @@ -32,7 +32,11 @@ DEFINE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device, "a2arcbd", "Third Millenium Engineering Arcade Board") -MACHINE_CONFIG_START( arcadeboard ) +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_arcboard_device::device_add_mconfig ) MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 ) MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_arcboard_device, tms_irq_w)) @@ -44,16 +48,6 @@ MACHINE_CONFIG_START( arcadeboard ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_arcboard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( arcadeboard ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/a2arcadebd.h b/src/devices/bus/a2bus/a2arcadebd.h index dcf303f94ae..8690f7a8c03 100644 --- a/src/devices/bus/a2bus/a2arcadebd.h +++ b/src/devices/bus/a2bus/a2arcadebd.h @@ -29,21 +29,20 @@ public: // construction/destruction a2bus_arcboard_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( tms_irq_w ); - protected: a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; +private: + DECLARE_WRITE_LINE_MEMBER( tms_irq_w ); + required_device m_tms; required_device m_ay; }; diff --git a/src/devices/bus/a2bus/a2cffa.cpp b/src/devices/bus/a2bus/a2cffa.cpp index 5403bce24e0..a1d1313351e 100644 --- a/src/devices/bus/a2bus/a2cffa.cpp +++ b/src/devices/bus/a2bus/a2cffa.cpp @@ -33,13 +33,6 @@ DEFINE_DEVICE_TYPE(A2BUS_CFFA2_6502, a2bus_cffa2_6502_device, "a2cffa02", "CFFA2 #define CFFA2_ROM_REGION "cffa2_rom" #define CFFA2_ATA_TAG "cffa2_ata" -MACHINE_CONFIG_START( cffa2 ) - MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", nullptr, false) - -// not yet, the core explodes -// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd") -MACHINE_CONFIG_END - ROM_START( cffa2 ) ROM_REGION(0x1000, CFFA2_ROM_REGION, 0) ROM_LOAD( "cffa20eec02.bin", 0x000000, 0x001000, CRC(fb3726f8) SHA1(080ff88f19de22328e162954ee2b51ee65f9d5cd) ) @@ -55,14 +48,15 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_cffa2000_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( cffa2 ); -} +MACHINE_CONFIG_MEMBER( a2bus_cffa2000_device::device_add_mconfig ) + MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", nullptr, false) + +// not yet, the core explodes +// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd") +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2cffa.h b/src/devices/bus/a2bus/a2cffa.h index be326ad037b..3760523e443 100644 --- a/src/devices/bus/a2bus/a2cffa.h +++ b/src/devices/bus/a2bus/a2cffa.h @@ -25,17 +25,14 @@ class a2bus_cffa2000_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: // construction/destruction a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2corvus.cpp b/src/devices/bus/a2bus/a2corvus.cpp index e8df10dacdd..6958950c9d8 100644 --- a/src/devices/bus/a2bus/a2corvus.cpp +++ b/src/devices/bus/a2bus/a2corvus.cpp @@ -57,17 +57,6 @@ DEFINE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device, "a2corvus", "Corvus Flat C #define CORVUS_ROM_REGION "corvus_rom" #define CORVUS_HD_TAG "corvushd" -static MACHINE_CONFIG_START(corvus) - MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0) - MCFG_HARDDISK_ADD("harddisk1") - MCFG_HARDDISK_INTERFACE("corvus_hdd") - MCFG_HARDDISK_ADD("harddisk2") - MCFG_HARDDISK_INTERFACE("corvus_hdd") - MCFG_HARDDISK_ADD("harddisk3") - MCFG_HARDDISK_INTERFACE("corvus_hdd") - MCFG_HARDDISK_ADD("harddisk4") - MCFG_HARDDISK_INTERFACE("corvus_hdd") -MACHINE_CONFIG_END ROM_START( corvus ) ROM_REGION(0x800, CORVUS_ROM_REGION, 0) @@ -79,14 +68,20 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_corvus_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( corvus ); -} +MACHINE_CONFIG_MEMBER(a2bus_corvus_device::device_add_mconfig) + MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0) + MCFG_HARDDISK_ADD("harddisk1") + MCFG_HARDDISK_INTERFACE("corvus_hdd") + MCFG_HARDDISK_ADD("harddisk2") + MCFG_HARDDISK_INTERFACE("corvus_hdd") + MCFG_HARDDISK_ADD("harddisk3") + MCFG_HARDDISK_INTERFACE("corvus_hdd") + MCFG_HARDDISK_ADD("harddisk4") + MCFG_HARDDISK_INTERFACE("corvus_hdd") +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2corvus.h b/src/devices/bus/a2bus/a2corvus.h index 2a58d280a06..91e649eeb6b 100644 --- a/src/devices/bus/a2bus/a2corvus.h +++ b/src/devices/bus/a2bus/a2corvus.h @@ -29,15 +29,13 @@ public: // construction/destruction a2bus_corvus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2diskii.cpp b/src/devices/bus/a2bus/a2diskii.cpp index f2026c314f9..35a006e8935 100644 --- a/src/devices/bus/a2bus/a2diskii.cpp +++ b/src/devices/bus/a2bus/a2diskii.cpp @@ -47,16 +47,6 @@ static const floppy_interface floppy_interface = "floppy_5_25" }; -MACHINE_CONFIG_START( diskii ) - MCFG_APPLEFDC_ADD(FDC_TAG, fdc_interface) - MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START( iwmflop ) - MCFG_IWM_ADD(FDC_TAG, fdc_interface) - MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16) -MACHINE_CONFIG_END - ROM_START( diskii ) ROM_REGION(0x100, DISKII_ROM_REGION, 0) ROM_LOAD( "341-0027-a.p5", 0x000000, 0x000100, CRC(ce7144f6) SHA1(d4181c9f046aafc3fb326b381baac809d9e38d16) ) @@ -68,19 +58,18 @@ ROM_START( agat7 ) ROM_END //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_floppy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( diskii ); -} +MACHINE_CONFIG_MEMBER( a2bus_floppy_device::device_add_mconfig ) + MCFG_APPLEFDC_ADD(FDC_TAG, fdc_interface) + MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16) +MACHINE_CONFIG_END -machine_config_constructor a2bus_iwmflop_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( iwmflop ); -} +MACHINE_CONFIG_MEMBER( a2bus_iwmflop_device::device_add_mconfig ) + MCFG_IWM_ADD(FDC_TAG, fdc_interface) + MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2diskii.h b/src/devices/bus/a2bus/a2diskii.h index b4367fd0aea..b538243224e 100644 --- a/src/devices/bus/a2bus/a2diskii.h +++ b/src/devices/bus/a2bus/a2diskii.h @@ -24,17 +24,14 @@ class a2bus_floppy_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: // construction/destruction a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -58,7 +55,8 @@ class a2bus_iwmflop_device: public a2bus_floppy_device public: a2bus_iwmflop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; +protected: + virtual void device_add_mconfig(machine_config &config) override; }; class a2bus_agat7flop_device: public a2bus_floppy_device diff --git a/src/devices/bus/a2bus/a2diskiing.cpp b/src/devices/bus/a2bus/a2diskiing.cpp index 866ff56f650..51a94015197 100644 --- a/src/devices/bus/a2bus/a2diskiing.cpp +++ b/src/devices/bus/a2bus/a2diskiing.cpp @@ -30,12 +30,6 @@ static SLOT_INTERFACE_START( a2_floppies ) SLOT_INTERFACE( "525", FLOPPY_525_SD ) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( diskiing ) - MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2) - MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", a2bus_diskiing_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", a2bus_diskiing_device::floppy_formats) -MACHINE_CONFIG_END - ROM_START( diskiing ) ROM_REGION(0x100, DISKII_ROM_REGION, 0) ROM_LOAD( "341-0027-a.p5", 0x0000, 0x0100, CRC(ce7144f6) SHA1(d4181c9f046aafc3fb326b381baac809d9e38d16) ) /* 341-0027-a: 16-sector disk drive (older version), PROM P5 */ @@ -46,14 +40,14 @@ FLOPPY_FORMATS_MEMBER( a2bus_diskiing_device::floppy_formats ) FLOPPY_FORMATS_END //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_diskiing_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( diskiing ); -} +MACHINE_CONFIG_MEMBER( a2bus_diskiing_device::device_add_mconfig ) + MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2) + MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", a2bus_diskiing_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", a2bus_diskiing_device::floppy_formats) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2diskiing.h b/src/devices/bus/a2bus/a2diskiing.h index 68c705435e6..32390b84d80 100644 --- a/src/devices/bus/a2bus/a2diskiing.h +++ b/src/devices/bus/a2bus/a2diskiing.h @@ -31,15 +31,11 @@ public: // construction/destruction a2bus_diskiing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - - DECLARE_FLOPPY_FORMATS( floppy_formats ); - protected: 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -52,6 +48,8 @@ private: required_device floppy1; const uint8_t *m_rom; + + DECLARE_FLOPPY_FORMATS( floppy_formats ); }; // device type definition diff --git a/src/devices/bus/a2bus/a2dx1.cpp b/src/devices/bus/a2bus/a2dx1.cpp index c2cd3c2c24b..93be5b3f3f6 100644 --- a/src/devices/bus/a2bus/a2dx1.cpp +++ b/src/devices/bus/a2bus/a2dx1.cpp @@ -23,7 +23,15 @@ DEFINE_DEVICE_TYPE(A2BUS_DX1, a2bus_dx1_device, "a2dx1", "Decillonix DX-1") -MACHINE_CONFIG_START( a2dx1 ) +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_dx1_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC @@ -32,20 +40,6 @@ MACHINE_CONFIG_START( a2dx1 ) MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MACHINE_CONFIG_END -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_dx1_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2dx1 ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/a2dx1.h b/src/devices/bus/a2bus/a2dx1.h index f831e5777a6..afefd58785c 100644 --- a/src/devices/bus/a2bus/a2dx1.h +++ b/src/devices/bus/a2bus/a2dx1.h @@ -28,13 +28,11 @@ public: // construction/destruction a2bus_dx1_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: a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2echoii.cpp b/src/devices/bus/a2bus/a2echoii.cpp index 80d722c5806..124f15e4214 100644 --- a/src/devices/bus/a2bus/a2echoii.cpp +++ b/src/devices/bus/a2bus/a2echoii.cpp @@ -25,25 +25,19 @@ DEFINE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device, "a2echoii", "Street Electr #define TMS_TAG "tms5220" -MACHINE_CONFIG_START( a2echoii ) - MCFG_SPEAKER_STANDARD_MONO("echoii") - MCFG_SOUND_ADD(TMS_TAG, TMS5220, 640000) // Note the Echo II card has a "FREQ" potentiometer which can be used to adjust the tms5220's clock frequency; 640khz is the '8khz' value according to the tms5220 datasheet - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echoii", 1.0) -MACHINE_CONFIG_END - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_echoii_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2echoii ); -} +MACHINE_CONFIG_MEMBER( a2bus_echoii_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("echoii") + MCFG_SOUND_ADD(TMS_TAG, TMS5220, 640000) // Note the Echo II card has a "FREQ" potentiometer which can be used to adjust the tms5220's clock frequency; 640khz is the '8khz' value according to the tms5220 datasheet + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echoii", 1.0) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/a2bus/a2echoii.h b/src/devices/bus/a2bus/a2echoii.h index d0781e0c4d9..c41be251f6e 100644 --- a/src/devices/bus/a2bus/a2echoii.h +++ b/src/devices/bus/a2bus/a2echoii.h @@ -28,9 +28,6 @@ public: // construction/destruction a2bus_echoii_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; - required_device m_tms; protected: @@ -38,6 +35,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp index 74bf093b338..d7275b0f33e 100644 --- a/src/devices/bus/a2bus/a2hsscsi.cpp +++ b/src/devices/bus/a2bus/a2hsscsi.cpp @@ -68,7 +68,20 @@ static SLOT_INTERFACE_START( hsscsi_devices ) SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( hsscsi ) +ROM_START( hsscsi ) + ROM_REGION(0x8000, SCSI_ROM_REGION, 0) + ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) ) +ROM_END + +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_hsscsi_device::device_add_mconfig ) MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG) MCFG_NSCSI_ADD("scsibus:0", hsscsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:1", hsscsi_devices, nullptr, false) @@ -81,25 +94,6 @@ static MACHINE_CONFIG_START( hsscsi ) MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380) MACHINE_CONFIG_END -ROM_START( hsscsi ) - ROM_REGION(0x8000, SCSI_ROM_REGION, 0) - ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) ) -ROM_END - -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_hsscsi_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( hsscsi ); -} - //------------------------------------------------- // rom_region - device-specific ROM region //------------------------------------------------- diff --git a/src/devices/bus/a2bus/a2hsscsi.h b/src/devices/bus/a2bus/a2hsscsi.h index c4ff4d0a0b1..93a12eb142e 100644 --- a/src/devices/bus/a2bus/a2hsscsi.h +++ b/src/devices/bus/a2bus/a2hsscsi.h @@ -28,10 +28,6 @@ public: // construction/destruction a2bus_hsscsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - DECLARE_WRITE_LINE_MEMBER( drq_w ); protected: @@ -39,6 +35,8 @@ 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2mcms.cpp b/src/devices/bus/a2bus/a2mcms.cpp index d78cbc7596d..4e308b49ff7 100644 --- a/src/devices/bus/a2bus/a2mcms.cpp +++ b/src/devices/bus/a2bus/a2mcms.cpp @@ -41,7 +41,15 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute #define MCFG_MCMS_IRQ_CALLBACK(_cb) \ devcb = &mcms_device::set_irq_cb(*device, DEVCB_##_cb); -MACHINE_CONFIG_START( a2mcms ) +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_mcms1_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_STEREO("mcms_l", "mcms_r") MCFG_DEVICE_ADD(ENGINE_TAG, MCMS, 1000000) @@ -51,20 +59,6 @@ MACHINE_CONFIG_START( a2mcms ) MCFG_SOUND_ROUTE(1, "mcms_r", 1.0) MACHINE_CONFIG_END -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_mcms1_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2mcms ); -} - //************************************************************************** // LIVE DEVICE - Card 1 //************************************************************************** diff --git a/src/devices/bus/a2bus/a2mcms.h b/src/devices/bus/a2bus/a2mcms.h index e854169bae3..ea4041cb038 100644 --- a/src/devices/bus/a2bus/a2mcms.h +++ b/src/devices/bus/a2bus/a2mcms.h @@ -66,14 +66,9 @@ public: // construction/destruction a2bus_mcms1_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; - // comms from card 2 (oscillator parameter writes) mcms_device *get_engine(void); - DECLARE_WRITE_LINE_MEMBER(irq_w); - required_device m_mcms; protected: @@ -81,12 +76,16 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override; virtual void write_cnxx(address_space &space, uint8_t offset, uint8_t data) override; virtual bool take_c800() override { return false; } + +private: + DECLARE_WRITE_LINE_MEMBER(irq_w); }; // card 2 diff --git a/src/devices/bus/a2bus/a2memexp.cpp b/src/devices/bus/a2bus/a2memexp.cpp index f767810dd23..a7c2d975039 100644 --- a/src/devices/bus/a2bus/a2memexp.cpp +++ b/src/devices/bus/a2bus/a2memexp.cpp @@ -25,9 +25,6 @@ DEFINE_DEVICE_TYPE(A2BUS_RAMFACTOR, a2bus_ramfactor_device, "a2ramfac", "Appli #define MEMEXP_ROM_REGION "memexp_rom" -MACHINE_CONFIG_START( memexp ) -MACHINE_CONFIG_END - ROM_START( memexp ) ROM_REGION(0x1000, MEMEXP_ROM_REGION, 0) ROM_LOAD( "341-0344a.bin", 0x0000, 0x1000, CRC(1e994e17) SHA1(6e823a1fa40ed37eeddcef23f5df24da2ea1463e) ) @@ -46,14 +43,11 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_memexp_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( memexp ); -} +MACHINE_CONFIG_MEMBER( a2bus_memexp_device::device_add_mconfig ) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2memexp.h b/src/devices/bus/a2bus/a2memexp.h index d3b4e76ef16..cb23f85c00f 100644 --- a/src/devices/bus/a2bus/a2memexp.h +++ b/src/devices/bus/a2bus/a2memexp.h @@ -24,10 +24,6 @@ class a2bus_memexp_device: public device_a2bus_card_interface { public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - bool m_isramfactor; uint8_t m_bankhior; int m_addrmask; @@ -38,6 +34,8 @@ 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2midi.cpp b/src/devices/bus/a2bus/a2midi.cpp index 2e874840d79..5d746f1beb3 100644 --- a/src/devices/bus/a2bus/a2midi.cpp +++ b/src/devices/bus/a2bus/a2midi.cpp @@ -27,7 +27,12 @@ DEFINE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device, "a2midi", "6850 MIDI card") #define MIDI_PTM_TAG "midi_ptm" #define MIDI_ACIA_TAG "midi_acia" -MACHINE_CONFIG_START( midi ) + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_midi_device::device_add_mconfig ) MCFG_DEVICE_ADD(MIDI_PTM_TAG, PTM6840, 1021800) MCFG_PTM6840_EXTERNAL_CLOCKS(1021800.0f, 1021800.0f, 1021800.0f) MCFG_PTM6840_IRQ_CB(WRITELINE(a2bus_midi_device, ptm_irq_w)) @@ -45,16 +50,6 @@ MACHINE_CONFIG_START( midi ) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(a2bus_midi_device, write_acia_clock)) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_midi_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( midi ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/a2midi.h b/src/devices/bus/a2bus/a2midi.h index 7852dbea2f4..ac44d5c00d5 100644 --- a/src/devices/bus/a2bus/a2midi.h +++ b/src/devices/bus/a2bus/a2midi.h @@ -29,18 +29,12 @@ public: // construction/destruction a2bus_midi_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( ptm_irq_w ); - DECLARE_WRITE_LINE_MEMBER( write_acia_clock ); - protected: a2bus_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; @@ -49,6 +43,10 @@ protected: required_device m_acia; private: + DECLARE_WRITE_LINE_MEMBER( acia_irq_w ); + DECLARE_WRITE_LINE_MEMBER( ptm_irq_w ); + DECLARE_WRITE_LINE_MEMBER( write_acia_clock ); + bool m_acia_irq, m_ptm_irq; }; diff --git a/src/devices/bus/a2bus/a2mockingboard.cpp b/src/devices/bus/a2bus/a2mockingboard.cpp index 7c69a789d0d..565846ae6f6 100644 --- a/src/devices/bus/a2bus/a2mockingboard.cpp +++ b/src/devices/bus/a2bus/a2mockingboard.cpp @@ -34,7 +34,11 @@ DEFINE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device, "a2mockbd", "S DEFINE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device, "a2phasor", "Applied Engineering Phasor") DEFINE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device, "a2echop", "Street Electronics Echo Plus") -MACHINE_CONFIG_START( mockingboard ) +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_ayboard_device::device_add_mconfig ) MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b)) @@ -52,7 +56,7 @@ MACHINE_CONFIG_START( mockingboard ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) MACHINE_CONFIG_END -MACHINE_CONFIG_START( phasor ) +MACHINE_CONFIG_MEMBER( a2bus_phasor_device::device_add_mconfig ) MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b)) @@ -75,7 +79,7 @@ MACHINE_CONFIG_START( phasor ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker2", 1.0) MACHINE_CONFIG_END -MACHINE_CONFIG_START( echoplus ) +MACHINE_CONFIG_MEMBER( a2bus_echoplus_device::device_add_mconfig ) MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b)) @@ -97,26 +101,6 @@ MACHINE_CONFIG_START( echoplus ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echosp", 1.0) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_ayboard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mockingboard ); -} - -machine_config_constructor a2bus_phasor_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( phasor ); -} - -machine_config_constructor a2bus_echoplus_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( echoplus ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/a2mockingboard.h b/src/devices/bus/a2bus/a2mockingboard.h index 870e1dd2f15..7bb6e778abf 100644 --- a/src/devices/bus/a2bus/a2mockingboard.h +++ b/src/devices/bus/a2bus/a2mockingboard.h @@ -25,9 +25,6 @@ class a2bus_ayboard_device: public device_a2bus_card_interface { public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - DECLARE_WRITE_LINE_MEMBER( via1_irq_w ); DECLARE_WRITE_LINE_MEMBER( via2_irq_w ); DECLARE_WRITE8_MEMBER(via1_out_a); @@ -41,6 +38,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -72,7 +70,8 @@ class a2bus_phasor_device : public a2bus_ayboard_device public: a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; +protected: + virtual void device_add_mconfig(machine_config &config) override; }; class a2bus_echoplus_device : public a2bus_ayboard_device @@ -80,9 +79,9 @@ class a2bus_echoplus_device : public a2bus_ayboard_device public: a2bus_echoplus_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 uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; diff --git a/src/devices/bus/a2bus/a2pic.cpp b/src/devices/bus/a2bus/a2pic.cpp index fad6bb78b2d..85de32a80ba 100644 --- a/src/devices/bus/a2bus/a2pic.cpp +++ b/src/devices/bus/a2bus/a2pic.cpp @@ -24,15 +24,6 @@ DEFINE_DEVICE_TYPE(A2BUS_PIC, a2bus_pic_device, "a2pic", "Apple Parallel Interfa #define PIC_ROM_REGION "pic_rom" #define PIC_CENTRONICS_TAG "pic_ctx" -MACHINE_CONFIG_START( pic ) - MCFG_CENTRONICS_ADD(PIC_CENTRONICS_TAG, centronics_devices, "printer") - MCFG_CENTRONICS_DATA_INPUT_BUFFER("ctx_data_in") - MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(a2bus_pic_device, ack_w)) - - MCFG_DEVICE_ADD("ctx_data_in", INPUT_BUFFER, 0) - MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG) -MACHINE_CONFIG_END - ROM_START( pic ) ROM_REGION(0x000200, PIC_ROM_REGION, 0) ROM_LOAD( "341-0057.bin", 0x000000, 0x000200, CRC(0d2d84ee) SHA1(bfc5b863d37e59875a6159528eb0f2b6082063b5) ) @@ -77,14 +68,17 @@ ioport_constructor a2bus_pic_device::device_input_ports() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_pic_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( pic ); -} +MACHINE_CONFIG_MEMBER( a2bus_pic_device::device_add_mconfig ) + MCFG_CENTRONICS_ADD(PIC_CENTRONICS_TAG, centronics_devices, "printer") + MCFG_CENTRONICS_DATA_INPUT_BUFFER("ctx_data_in") + MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(a2bus_pic_device, ack_w)) + + MCFG_DEVICE_ADD("ctx_data_in", INPUT_BUFFER, 0) + MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2pic.h b/src/devices/bus/a2bus/a2pic.h index fbc0c24a97e..990307391f8 100644 --- a/src/devices/bus/a2bus/a2pic.h +++ b/src/devices/bus/a2bus/a2pic.h @@ -28,19 +28,15 @@ public: // construction/destruction a2bus_pic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - virtual ioport_constructor device_input_ports() const override; - - DECLARE_WRITE_LINE_MEMBER( ack_w ); - protected: a2bus_pic_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; + virtual ioport_constructor device_input_ports() const override; virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; @@ -56,6 +52,8 @@ protected: required_device m_ctx_data_out; private: + DECLARE_WRITE_LINE_MEMBER( ack_w ); + uint8_t *m_rom; bool m_started; uint8_t m_ack; diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp index c3aa21436f7..d5ec4624362 100644 --- a/src/devices/bus/a2bus/a2sam.cpp +++ b/src/devices/bus/a2bus/a2sam.cpp @@ -23,26 +23,20 @@ DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software SAM") -MACHINE_CONFIG_START( a2sam ) - MCFG_SPEAKER_STANDARD_MONO("speaker") - MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_sam_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2sam ); -} +MACHINE_CONFIG_MEMBER( a2bus_sam_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("speaker") + MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/a2bus/a2sam.h b/src/devices/bus/a2bus/a2sam.h index 49e6e40329d..f3a6307077f 100644 --- a/src/devices/bus/a2bus/a2sam.h +++ b/src/devices/bus/a2bus/a2sam.h @@ -28,12 +28,10 @@ public: // construction/destruction a2bus_sam_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: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp index 5d2603a98e5..8cb1becf96d 100644 --- a/src/devices/bus/a2bus/a2scsi.cpp +++ b/src/devices/bus/a2bus/a2scsi.cpp @@ -61,7 +61,20 @@ static SLOT_INTERFACE_START( scsi_devices ) SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N) SLOT_INTERFACE_END -MACHINE_CONFIG_START( scsi ) +ROM_START( scsi ) + ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM + ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) ) +ROM_END + +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_scsi_device::device_add_mconfig ) MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG) MCFG_NSCSI_ADD("scsibus:0", scsi_devices, nullptr, false) MCFG_NSCSI_ADD("scsibus:1", scsi_devices, nullptr, false) @@ -74,25 +87,6 @@ MACHINE_CONFIG_START( scsi ) MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380) MACHINE_CONFIG_END -ROM_START( scsi ) - ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM - ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) ) -ROM_END - -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_scsi_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( scsi ); -} - //------------------------------------------------- // rom_region - device-specific ROM region //------------------------------------------------- diff --git a/src/devices/bus/a2bus/a2scsi.h b/src/devices/bus/a2bus/a2scsi.h index 35e60eaf89e..2083cf454d8 100644 --- a/src/devices/bus/a2bus/a2scsi.h +++ b/src/devices/bus/a2bus/a2scsi.h @@ -28,10 +28,6 @@ public: // construction/destruction a2bus_scsi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - DECLARE_WRITE_LINE_MEMBER( drq_w ); protected: @@ -39,6 +35,8 @@ 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2softcard.cpp b/src/devices/bus/a2bus/a2softcard.cpp index bc2062a3520..94fa5c2d56f 100644 --- a/src/devices/bus/a2bus/a2softcard.cpp +++ b/src/devices/bus/a2bus/a2softcard.cpp @@ -28,24 +28,18 @@ static ADDRESS_MAP_START( z80_mem, AS_PROGRAM, 8, a2bus_softcard_device ) AM_RANGE(0x0000, 0xffff) AM_READWRITE(dma_r, dma_w) ADDRESS_MAP_END -MACHINE_CONFIG_START( a2softcard ) - MCFG_CPU_ADD(Z80_TAG, Z80, 1021800*2) // Z80 runs on double the Apple II's clock - MCFG_CPU_PROGRAM_MAP(z80_mem) -MACHINE_CONFIG_END - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_softcard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2softcard ); -} +MACHINE_CONFIG_MEMBER( a2bus_softcard_device::device_add_mconfig ) + MCFG_CPU_ADD(Z80_TAG, Z80, 1021800*2) // Z80 runs on double the Apple II's clock + MCFG_CPU_PROGRAM_MAP(z80_mem) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/a2bus/a2softcard.h b/src/devices/bus/a2bus/a2softcard.h index 025686a6645..3e20e445696 100644 --- a/src/devices/bus/a2bus/a2softcard.h +++ b/src/devices/bus/a2bus/a2softcard.h @@ -25,9 +25,6 @@ public: // construction/destruction a2bus_softcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - DECLARE_READ8_MEMBER( dma_r ); DECLARE_WRITE8_MEMBER( dma_w ); @@ -36,6 +33,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual void write_cnxx(address_space &space, uint8_t offset, uint8_t data) override; diff --git a/src/devices/bus/a2bus/a2ssc.cpp b/src/devices/bus/a2bus/a2ssc.cpp index 8f62860da21..7fcf11c7e45 100644 --- a/src/devices/bus/a2bus/a2ssc.cpp +++ b/src/devices/bus/a2bus/a2ssc.cpp @@ -27,19 +27,6 @@ DEFINE_DEVICE_TYPE(A2BUS_SSC, a2bus_ssc_device, "a2ssc", "Apple Super Serial Car #define SSC_ACIA_TAG "ssc_acia" #define SSC_RS232_TAG "ssc_rs232" -MACHINE_CONFIG_START( ssc ) - MCFG_DEVICE_ADD(SSC_ACIA_TAG, MOS6551, 0) - MCFG_MOS6551_XTAL(XTAL_1_8432MHz) - MCFG_MOS6551_IRQ_HANDLER(WRITELINE(a2bus_ssc_device, acia_irq_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, write_txd)) - - MCFG_RS232_PORT_ADD(SSC_RS232_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_cts)) -MACHINE_CONFIG_END - ROM_START( ssc ) ROM_REGION(0x000800, SSC_ROM_REGION, 0) ROM_LOAD( "341-0065-a.bin", 0x000000, 0x000800, CRC(b7539d4c) SHA1(6dab633470c6bc4cb3e81d09fda46597caf8ee57) ) @@ -106,14 +93,21 @@ ioport_constructor a2bus_ssc_device::device_input_ports() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_ssc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ssc ); -} +MACHINE_CONFIG_MEMBER( a2bus_ssc_device::device_add_mconfig ) + MCFG_DEVICE_ADD(SSC_ACIA_TAG, MOS6551, 0) + MCFG_MOS6551_XTAL(XTAL_1_8432MHz) + MCFG_MOS6551_IRQ_HANDLER(WRITELINE(a2bus_ssc_device, acia_irq_w)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, write_txd)) + + MCFG_RS232_PORT_ADD(SSC_RS232_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_rxd)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dcd)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dsr)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_cts)) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2ssc.h b/src/devices/bus/a2bus/a2ssc.h index fdca90f9346..8aff1a9bb2d 100644 --- a/src/devices/bus/a2bus/a2ssc.h +++ b/src/devices/bus/a2bus/a2ssc.h @@ -26,18 +26,14 @@ public: // construction/destruction a2bus_ssc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - virtual ioport_constructor device_input_ports() const override; - - DECLARE_WRITE_LINE_MEMBER( acia_irq_w ); - protected: a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; + virtual ioport_constructor device_input_ports() const override; virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; @@ -49,6 +45,8 @@ protected: required_device m_acia; private: + DECLARE_WRITE_LINE_MEMBER( acia_irq_w ); + uint8_t *m_rom; bool m_started; }; diff --git a/src/devices/bus/a2bus/a2themill.cpp b/src/devices/bus/a2bus/a2themill.cpp index 9ac1f607f44..4f32c1a9be4 100644 --- a/src/devices/bus/a2bus/a2themill.cpp +++ b/src/devices/bus/a2bus/a2themill.cpp @@ -44,24 +44,18 @@ static ADDRESS_MAP_START( m6809_mem, AS_PROGRAM, 8, a2bus_themill_device ) AM_RANGE(0x0000, 0xffff) AM_READWRITE(dma_r, dma_w) ADDRESS_MAP_END -MACHINE_CONFIG_START( a2themill ) - MCFG_CPU_ADD(M6809_TAG, M6809, 1021800) // M6809 runs at ~1 MHz as per Stellation Two's print ads - MCFG_CPU_PROGRAM_MAP(m6809_mem) -MACHINE_CONFIG_END - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_themill_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2themill ); -} +MACHINE_CONFIG_MEMBER( a2bus_themill_device::device_add_mconfig ) + MCFG_CPU_ADD(M6809_TAG, M6809, 1021800) // M6809 runs at ~1 MHz as per Stellation Two's print ads + MCFG_CPU_PROGRAM_MAP(m6809_mem) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/a2bus/a2themill.h b/src/devices/bus/a2bus/a2themill.h index aa0c2f180e2..d7ca7b10326 100644 --- a/src/devices/bus/a2bus/a2themill.h +++ b/src/devices/bus/a2bus/a2themill.h @@ -27,9 +27,6 @@ public: // construction/destruction a2bus_themill_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - DECLARE_READ8_MEMBER( dma_r ); DECLARE_WRITE8_MEMBER( dma_w ); @@ -38,6 +35,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2thunderclock.cpp b/src/devices/bus/a2bus/a2thunderclock.cpp index a8e97690cef..1da4b5f333a 100644 --- a/src/devices/bus/a2bus/a2thunderclock.cpp +++ b/src/devices/bus/a2bus/a2thunderclock.cpp @@ -41,10 +41,6 @@ DEFINE_DEVICE_TYPE(A2BUS_THUNDERCLOCK, a2bus_thunderclock_device, "a2thunpl", "T #define THUNDERCLOCK_ROM_REGION "thunclk_rom" #define THUNDERCLOCK_UPD1990_TAG "thunclk_upd" -MACHINE_CONFIG_START( thunderclock ) - MCFG_UPD1990A_ADD(THUNDERCLOCK_UPD1990_TAG, 1021800, DEVWRITELINE(DEVICE_SELF, a2bus_thunderclock_device, upd_dataout_w), NOOP) -MACHINE_CONFIG_END - ROM_START( thunderclock ) ROM_REGION(0x800, THUNDERCLOCK_ROM_REGION, 0) ROM_LOAD( "thunderclock plus rom.bin", 0x0000, 0x0800, CRC(1b99c4e3) SHA1(60f434f5325899d7ea257a6e56e6f53eae65146a) ) @@ -55,14 +51,12 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_thunderclock_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( thunderclock ); -} +MACHINE_CONFIG_MEMBER( a2bus_thunderclock_device::device_add_mconfig ) + MCFG_UPD1990A_ADD(THUNDERCLOCK_UPD1990_TAG, 1021800, DEVWRITELINE(DEVICE_SELF, a2bus_thunderclock_device, upd_dataout_w), NOOP) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2thunderclock.h b/src/devices/bus/a2bus/a2thunderclock.h index 5c221151769..e7a45997f04 100644 --- a/src/devices/bus/a2bus/a2thunderclock.h +++ b/src/devices/bus/a2bus/a2thunderclock.h @@ -28,17 +28,13 @@ public: // construction/destruction a2bus_thunderclock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - - DECLARE_WRITE_LINE_MEMBER( upd_dataout_w ); - protected: a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -49,6 +45,8 @@ protected: required_device m_upd1990ac; private: + DECLARE_WRITE_LINE_MEMBER( upd_dataout_w ); + uint8_t *m_rom; int m_dataout; }; diff --git a/src/devices/bus/a2bus/a2ultraterm.cpp b/src/devices/bus/a2bus/a2ultraterm.cpp index 7b73a4f01ca..5abc3ea538f 100644 --- a/src/devices/bus/a2bus/a2ultraterm.cpp +++ b/src/devices/bus/a2bus/a2ultraterm.cpp @@ -73,17 +73,6 @@ static const rgb_t ultraterm_palette[4] = rgb_t(0xff,0xff,0xff) }; -MACHINE_CONFIG_START( a2ultraterm ) - MCFG_SCREEN_ADD( ULTRATERM_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(CLOCK_LOW, 882, 0, 720, 370, 0, 350 ) - MCFG_SCREEN_UPDATE_DEVICE( ULTRATERM_MC6845_NAME, mc6845_device, screen_update ) - - MCFG_MC6845_ADD(ULTRATERM_MC6845_NAME, MC6845, ULTRATERM_SCREEN_NAME, CLOCK_LOW/9) - MCFG_MC6845_SHOW_BORDER_AREA(false) - MCFG_MC6845_CHAR_WIDTH(8) - MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx160_device, crtc_update_row) - MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx160_device, vsync_changed)) -MACHINE_CONFIG_END ROM_START( a2ultraterm ) ROM_REGION(0x1000, ULTRATERM_ROM_REGION, 0) @@ -112,14 +101,20 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_videx160_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2ultraterm ); -} +MACHINE_CONFIG_MEMBER( a2bus_videx160_device::device_add_mconfig ) + MCFG_SCREEN_ADD( ULTRATERM_SCREEN_NAME, RASTER) + MCFG_SCREEN_RAW_PARAMS(CLOCK_LOW, 882, 0, 720, 370, 0, 350 ) + MCFG_SCREEN_UPDATE_DEVICE( ULTRATERM_MC6845_NAME, mc6845_device, screen_update ) + + MCFG_MC6845_ADD(ULTRATERM_MC6845_NAME, MC6845, ULTRATERM_SCREEN_NAME, CLOCK_LOW/9) + MCFG_MC6845_SHOW_BORDER_AREA(false) + MCFG_MC6845_CHAR_WIDTH(8) + MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx160_device, crtc_update_row) + MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx160_device, vsync_changed)) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2ultraterm.h b/src/devices/bus/a2bus/a2ultraterm.h index 73b012b63c3..65d2cb19452 100644 --- a/src/devices/bus/a2bus/a2ultraterm.h +++ b/src/devices/bus/a2bus/a2ultraterm.h @@ -24,19 +24,13 @@ class a2bus_videx160_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - - DECLARE_WRITE_LINE_MEMBER(vsync_changed); - MC6845_UPDATE_ROW(crtc_update_row); - protected: // construction/destruction a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -54,6 +48,9 @@ protected: required_device m_crtc; private: + DECLARE_WRITE_LINE_MEMBER(vsync_changed); + MC6845_UPDATE_ROW(crtc_update_row); + int m_rambank; }; diff --git a/src/devices/bus/a2bus/a2videoterm.cpp b/src/devices/bus/a2bus/a2videoterm.cpp index c07c28bfd5a..c71b9fb9e1a 100644 --- a/src/devices/bus/a2bus/a2videoterm.cpp +++ b/src/devices/bus/a2bus/a2videoterm.cpp @@ -50,18 +50,6 @@ DEFINE_DEVICE_TYPE(A2BUS_AEVIEWMASTER80, a2bus_aevm80_device, "a2aevm80", "Ap #define MDA_CLOCK 16257000 -MACHINE_CONFIG_START( a2videoterm ) - MCFG_SCREEN_ADD( VIDEOTERM_SCREEN_NAME, RASTER) // 560x216? (80x24 7x9 characters) - MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 ) - MCFG_SCREEN_UPDATE_DEVICE( VIDEOTERM_MC6845_NAME, mc6845_device, screen_update ) - - MCFG_MC6845_ADD(VIDEOTERM_MC6845_NAME, MC6845, VIDEOTERM_SCREEN_NAME, MDA_CLOCK/9) - MCFG_MC6845_SHOW_BORDER_AREA(false) - MCFG_MC6845_CHAR_WIDTH(8) - MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx80_device, crtc_update_row) - MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx80_device, vsync_changed)) -MACHINE_CONFIG_END - ROM_START( a2videoterm ) ROM_REGION(0x400, VIDEOTERM_ROM_REGION, 0) ROM_LOAD( "videx videoterm rom 2.4.bin", 0x000000, 0x000400, CRC(bbe3bb28) SHA1(bb653836e84850ce3197f461d4e19355f738cfbf) ) @@ -126,14 +114,20 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_videx80_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2videoterm ); -} +MACHINE_CONFIG_MEMBER( a2bus_videx80_device::device_add_mconfig ) + MCFG_SCREEN_ADD( VIDEOTERM_SCREEN_NAME, RASTER) // 560x216? (80x24 7x9 characters) + MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 ) + MCFG_SCREEN_UPDATE_DEVICE( VIDEOTERM_MC6845_NAME, mc6845_device, screen_update ) + + MCFG_MC6845_ADD(VIDEOTERM_MC6845_NAME, MC6845, VIDEOTERM_SCREEN_NAME, MDA_CLOCK/9) + MCFG_MC6845_SHOW_BORDER_AREA(false) + MCFG_MC6845_CHAR_WIDTH(8) + MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx80_device, crtc_update_row) + MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx80_device, vsync_changed)) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2videoterm.h b/src/devices/bus/a2bus/a2videoterm.h index f9d407f785a..e39a3575dfb 100644 --- a/src/devices/bus/a2bus/a2videoterm.h +++ b/src/devices/bus/a2bus/a2videoterm.h @@ -24,19 +24,13 @@ class a2bus_videx80_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - - DECLARE_WRITE_LINE_MEMBER(vsync_changed); - MC6845_UPDATE_ROW(crtc_update_row); - protected: // construction/destruction a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -54,6 +48,9 @@ protected: required_device m_palette; private: + DECLARE_WRITE_LINE_MEMBER(vsync_changed); + MC6845_UPDATE_ROW(crtc_update_row); + int m_rambank; }; diff --git a/src/devices/bus/a2bus/a2vulcan.cpp b/src/devices/bus/a2bus/a2vulcan.cpp index 9b69d6ba8d9..87742b85f5a 100644 --- a/src/devices/bus/a2bus/a2vulcan.cpp +++ b/src/devices/bus/a2bus/a2vulcan.cpp @@ -68,10 +68,6 @@ DEFINE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device, "a2vulgld", "Appli #define VULCAN_ROM_REGION "vulcan_rom" #define VULCAN_ATA_TAG "vulcan_ata" -static MACHINE_CONFIG_START( vulcan ) - MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", nullptr, false) -MACHINE_CONFIG_END - ROM_START( vulcan ) ROM_REGION(0x4000, VULCAN_ROM_REGION, 0) ROM_LOAD( "ae vulcan rom v1.4.bin", 0x000000, 0x004000, CRC(798d5825) SHA1(1d668e856e33c6eeb10fe26975341afa8acb81f5) ) @@ -87,14 +83,12 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_vulcanbase_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vulcan ); -} +MACHINE_CONFIG_MEMBER( a2bus_vulcanbase_device::device_add_mconfig ) + MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", nullptr, false) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2vulcan.h b/src/devices/bus/a2bus/a2vulcan.h index ebb3d75f551..7745765791c 100644 --- a/src/devices/bus/a2bus/a2vulcan.h +++ b/src/devices/bus/a2bus/a2vulcan.h @@ -24,16 +24,13 @@ class a2bus_vulcanbase_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // construction/destruction a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/a2zipdrive.cpp b/src/devices/bus/a2bus/a2zipdrive.cpp index 524069735c0..2376a278c57 100644 --- a/src/devices/bus/a2bus/a2zipdrive.cpp +++ b/src/devices/bus/a2bus/a2zipdrive.cpp @@ -33,10 +33,6 @@ DEFINE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device, "a2zipdrv", "Zip Techn #define ZIPDRIVE_ROM_REGION "zipdrive_rom" #define ZIPDRIVE_ATA_TAG "zipdrive_ata" -static MACHINE_CONFIG_START( zipdrive ) - MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", nullptr, false) -MACHINE_CONFIG_END - ROM_START( zipdrive ) ROM_REGION(0x2000, ZIPDRIVE_ROM_REGION, 0) ROM_LOAD( "zip drive - rom.bin", 0x000000, 0x002000, CRC(fd800a40) SHA1(46636bfed88c864139e3d2826661908a8c07c459) ) @@ -47,14 +43,12 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_zipdrivebase_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( zipdrive ); -} +MACHINE_CONFIG_MEMBER( a2bus_zipdrivebase_device::device_add_mconfig ) + MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", nullptr, false) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/a2zipdrive.h b/src/devices/bus/a2bus/a2zipdrive.h index 12b7e6bb574..5c1126c3814 100644 --- a/src/devices/bus/a2bus/a2zipdrive.h +++ b/src/devices/bus/a2bus/a2zipdrive.h @@ -26,17 +26,14 @@ class a2bus_zipdrivebase_device: public device_t, public device_a2bus_card_interface { -public: - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: // construction/destruction a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/corvfdc01.cpp b/src/devices/bus/a2bus/corvfdc01.cpp index 67667446eae..e0283a42034 100644 --- a/src/devices/bus/a2bus/corvfdc01.cpp +++ b/src/devices/bus/a2bus/corvfdc01.cpp @@ -35,16 +35,6 @@ static SLOT_INTERFACE_START( corv_floppies ) SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD ) SLOT_INTERFACE_END -MACHINE_CONFIG_START( fdc01 ) - MCFG_FD1793_ADD(FDC01_FDC_TAG, XTAL_16MHz / 8) - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) -MACHINE_CONFIG_END - ROM_START( fdc01 ) ROM_REGION(0x20, FDC01_ROM_REGION, 0) ROM_LOAD( "ff01.bin", 0x000000, 0x000020, CRC(ad3c1136) SHA1(b1e1e8a10618588b1b44b3be5d88857497f30b33) ) @@ -89,14 +79,18 @@ enum ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_corvfdc01_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( fdc01 ); -} +MACHINE_CONFIG_MEMBER( a2bus_corvfdc01_device::device_add_mconfig ) + MCFG_FD1793_ADD(FDC01_FDC_TAG, XTAL_16MHz / 8) + MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, intrq_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/corvfdc01.h b/src/devices/bus/a2bus/corvfdc01.h index fc5395087de..15fea0993b4 100644 --- a/src/devices/bus/a2bus/corvfdc01.h +++ b/src/devices/bus/a2bus/corvfdc01.h @@ -29,20 +29,13 @@ public: // construction/destruction a2bus_corvfdc01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - - DECLARE_WRITE_LINE_MEMBER(intrq_w); - DECLARE_WRITE_LINE_MEMBER(drq_w); - - DECLARE_FLOPPY_FORMATS(corv_floppy_formats); - protected: a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -56,6 +49,11 @@ protected: required_device m_con4; private: + DECLARE_WRITE_LINE_MEMBER(intrq_w); + DECLARE_WRITE_LINE_MEMBER(drq_w); + + DECLARE_FLOPPY_FORMATS(corv_floppy_formats); + uint8_t *m_rom; uint8_t m_fdc_local_status, m_fdc_local_command; floppy_image_device *m_curfloppy; diff --git a/src/devices/bus/a2bus/corvfdc02.cpp b/src/devices/bus/a2bus/corvfdc02.cpp index cb844db59db..5b91dd1d5a4 100644 --- a/src/devices/bus/a2bus/corvfdc02.cpp +++ b/src/devices/bus/a2bus/corvfdc02.cpp @@ -38,17 +38,6 @@ static SLOT_INTERFACE_START( corv_floppies ) SLOT_INTERFACE( "525dsqd", FLOPPY_525_QD ) SLOT_INTERFACE_END - -MACHINE_CONFIG_START( fdc02 ) - MCFG_UPD765A_ADD(FDC02_FDC_TAG, true, false) - MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, intrq_w)) - MCFG_UPD765_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":0", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":1", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":2", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":3", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) -MACHINE_CONFIG_END - ROM_START( fdc02 ) ROM_REGION(0x20, FDC02_ROM_REGION, 0) ROM_LOAD( "bfc00.bin", 0x000000, 0x000020, CRC(98d1a765) SHA1(d27c3c6921e1bb3778a3f78decf106275bc0add1) ) @@ -59,14 +48,18 @@ ROM_END ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_corvfdc02_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( fdc02 ); -} +MACHINE_CONFIG_MEMBER( a2bus_corvfdc02_device::device_add_mconfig ) + MCFG_UPD765A_ADD(FDC02_FDC_TAG, true, false) + MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, intrq_w)) + MCFG_UPD765_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":0", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":1", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":2", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":3", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/corvfdc02.h b/src/devices/bus/a2bus/corvfdc02.h index 089e3c5cc01..f1e149a88bb 100644 --- a/src/devices/bus/a2bus/corvfdc02.h +++ b/src/devices/bus/a2bus/corvfdc02.h @@ -29,21 +29,14 @@ public: // construction/destruction a2bus_corvfdc02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - - DECLARE_WRITE_LINE_MEMBER(intrq_w); - DECLARE_WRITE_LINE_MEMBER(drq_w); - - DECLARE_FLOPPY_FORMATS(corv_floppy_formats); - protected: a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -57,6 +50,11 @@ protected: required_device m_con4; private: + DECLARE_WRITE_LINE_MEMBER(intrq_w); + DECLARE_WRITE_LINE_MEMBER(drq_w); + + DECLARE_FLOPPY_FORMATS(corv_floppy_formats); + uint8_t *m_rom; uint8_t m_fdc_local_status, m_fdc_local_command; uint16_t m_bufptr; diff --git a/src/devices/bus/a2bus/ezcgi.cpp b/src/devices/bus/a2bus/ezcgi.cpp index 3256579b49b..e7e3a693fd6 100644 --- a/src/devices/bus/a2bus/ezcgi.cpp +++ b/src/devices/bus/a2bus/ezcgi.cpp @@ -29,14 +29,6 @@ DEFINE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device, "a2ezcgi", "E-Z C DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device, "a2ezcgi3", "E-Z Color Graphics Interface (TMS9938)") DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device, "a2ezcgi5", "E-Z Color Graphics Interface (TMS9958)") -MACHINE_CONFIG_START( ezcgi ) - MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 ) - MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM - MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_ezcgi_device, tms_irq_w)) - MCFG_TMS9928A_SCREEN_ADD_NTSC( SCREEN_TAG ) - MCFG_SCREEN_UPDATE_DEVICE( TMS_TAG, tms9918a_device, screen_update ) -MACHINE_CONFIG_END - #define MSX2_XBORDER_PIXELS 16 #define MSX2_YBORDER_PIXELS 28 #define MSX2_TOTAL_XRES_PIXELS 256 * 2 + (MSX2_XBORDER_PIXELS * 2) @@ -44,7 +36,19 @@ MACHINE_CONFIG_END #define MSX2_VISIBLE_XBORDER_PIXELS 8 * 2 #define MSX2_VISIBLE_YBORDER_PIXELS 14 * 2 -MACHINE_CONFIG_START( ezcgi9938 ) +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_ezcgi_device::device_add_mconfig ) + MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 ) + MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM + MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_ezcgi_device, tms_irq_w)) + MCFG_TMS9928A_SCREEN_ADD_NTSC( SCREEN_TAG ) + MCFG_SCREEN_UPDATE_DEVICE( TMS_TAG, tms9918a_device, screen_update ) +MACHINE_CONFIG_END + +MACHINE_CONFIG_MEMBER( a2bus_ezcgi_9938_device::device_add_mconfig ) MCFG_V9938_ADD(TMS_TAG, SCREEN_TAG, 0x30000, XTAL_21_4772MHz) // 192K of VRAM / typical 9938 clock, not verified MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9938_device, tms_irq_w)) @@ -58,7 +62,7 @@ MACHINE_CONFIG_START( ezcgi9938 ) MCFG_SCREEN_PALETTE(TMS_TAG) MACHINE_CONFIG_END -MACHINE_CONFIG_START( ezcgi9958 ) +MACHINE_CONFIG_MEMBER( a2bus_ezcgi_9958_device::device_add_mconfig ) MCFG_V9958_ADD(TMS_TAG, SCREEN_TAG, 0x30000, XTAL_21_4772MHz) // 192K of VRAM / typcial 9938/9958 clock, not verified MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9958_device, tms_irq_w)) @@ -72,26 +76,6 @@ MACHINE_CONFIG_START( ezcgi9958 ) MCFG_SCREEN_PALETTE(TMS_TAG) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_ezcgi_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ezcgi ); -} - -machine_config_constructor a2bus_ezcgi_9938_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ezcgi9938 ); -} - -machine_config_constructor a2bus_ezcgi_9958_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ezcgi9958 ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/ezcgi.h b/src/devices/bus/a2bus/ezcgi.h index fe8ded273c3..6c52e4cf9cd 100644 --- a/src/devices/bus/a2bus/ezcgi.h +++ b/src/devices/bus/a2bus/ezcgi.h @@ -31,22 +31,21 @@ public: // construction/destruction a2bus_ezcgi_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( tms_irq_w ); - protected: a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; required_device m_tms; + +private: + DECLARE_WRITE_LINE_MEMBER( tms_irq_w ); }; class a2bus_ezcgi_9938_device: @@ -57,22 +56,21 @@ public: // construction/destruction a2bus_ezcgi_9938_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( tms_irq_w ); - protected: a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; required_device m_tms; + +private: + DECLARE_WRITE_LINE_MEMBER( tms_irq_w ); }; class a2bus_ezcgi_9958_device: @@ -83,22 +81,21 @@ public: // construction/destruction a2bus_ezcgi_9958_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( tms_irq_w ); - protected: a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override; required_device m_tms; + +private: + DECLARE_WRITE_LINE_MEMBER( tms_irq_w ); }; // device type definition diff --git a/src/devices/bus/a2bus/laser128.cpp b/src/devices/bus/a2bus/laser128.cpp index 114d13d6860..1224e6a980a 100644 --- a/src/devices/bus/a2bus/laser128.cpp +++ b/src/devices/bus/a2bus/laser128.cpp @@ -21,22 +21,16 @@ DEFINE_DEVICE_TYPE(A2BUS_LASER128, a2bus_laser128_device, "a2laser128", "VTech Laser 128 Internal Device") -MACHINE_CONFIG_START( a2laser128 ) -MACHINE_CONFIG_END - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_laser128_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a2laser128 ); -} +MACHINE_CONFIG_MEMBER( a2bus_laser128_device::device_add_mconfig ) +MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/a2bus/laser128.h b/src/devices/bus/a2bus/laser128.h index c324911ea37..ea96fbdea52 100644 --- a/src/devices/bus/a2bus/laser128.h +++ b/src/devices/bus/a2bus/laser128.h @@ -27,14 +27,12 @@ public: // construction/destruction a2bus_laser128_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: a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; diff --git a/src/devices/bus/a2bus/pc_xporter.cpp b/src/devices/bus/a2bus/pc_xporter.cpp index f10c28cc914..62a8372b048 100644 --- a/src/devices/bus/a2bus/pc_xporter.cpp +++ b/src/devices/bus/a2bus/pc_xporter.cpp @@ -105,7 +105,15 @@ static ADDRESS_MAP_START(pc_io, AS_IO, 16, a2bus_pcxporter_device ) AM_RANGE(0x00a0, 0x00a1) AM_WRITE8(nmi_enable_w, 0xffff) ADDRESS_MAP_END -MACHINE_CONFIG_START( pcxporter ) +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( a2bus_pcxporter_device::device_add_mconfig ) MCFG_CPU_ADD("v30", V30, XTAL_14_31818MHz/2) // 7.16 MHz as per manual MCFG_CPU_PROGRAM_MAP(pc_map) MCFG_CPU_IO_MAP(pc_io) @@ -165,20 +173,6 @@ MACHINE_CONFIG_START( pcxporter ) MCFG_ISA8_SLOT_ADD("isa", "isa2", pc_isa8_cards, "fdc_xt", true) MACHINE_CONFIG_END -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor a2bus_pcxporter_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( pcxporter ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a2bus/pc_xporter.h b/src/devices/bus/a2bus/pc_xporter.h index 5b990adc5a2..aa531af5f55 100644 --- a/src/devices/bus/a2bus/pc_xporter.h +++ b/src/devices/bus/a2bus/pc_xporter.h @@ -38,9 +38,6 @@ public: // construction/destruction a2bus_pcxporter_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_READ16_MEMBER(pc_bios_r); // overrides of standard a2bus slot functions @@ -51,6 +48,40 @@ public: virtual uint8_t read_c800(address_space &space, uint16_t offset) override; virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override; + DECLARE_READ8_MEMBER( kbd_6502_r ); + DECLARE_WRITE8_MEMBER( kbd_6502_w ); + + DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata ); + + DECLARE_WRITE8_MEMBER(pc_page_w); + DECLARE_WRITE8_MEMBER(nmi_enable_w); + +protected: + a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_start() override; + virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + + required_device m_v30; + required_device m_pic8259; + required_device m_dma8237; + required_device m_pit8253; + required_device m_speaker; + required_device m_isabus; + optional_device m_pc_kbdc; + + uint8_t m_u73_q2; + uint8_t m_out1; + int m_dma_channel; + uint8_t m_dma_offset[4]; + uint8_t m_pc_spkrdata; + uint8_t m_pit_out2; + bool m_cur_eop; + + uint8_t m_nmi_enabled; + +private: // interface to the keyboard DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w ); DECLARE_WRITE_LINE_MEMBER( keyboard_data_w ); @@ -73,39 +104,7 @@ public: DECLARE_WRITE_LINE_MEMBER( pc_dack1_w ); DECLARE_WRITE_LINE_MEMBER( pc_dack2_w ); DECLARE_WRITE_LINE_MEMBER( pc_dack3_w ); - DECLARE_READ8_MEMBER( kbd_6502_r ); - DECLARE_WRITE8_MEMBER( kbd_6502_w ); - DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata ); - - DECLARE_WRITE8_MEMBER(pc_page_w); - DECLARE_WRITE8_MEMBER(nmi_enable_w); - -protected: - a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - - virtual void device_start() override; - virtual void device_reset() override; - - required_device m_v30; - required_device m_pic8259; - required_device m_dma8237; - required_device m_pit8253; - required_device m_speaker; - required_device m_isabus; - optional_device m_pc_kbdc; - - uint8_t m_u73_q2; - uint8_t m_out1; - int m_dma_channel; - uint8_t m_dma_offset[4]; - uint8_t m_pc_spkrdata; - uint8_t m_pit_out2; - bool m_cur_eop; - - uint8_t m_nmi_enabled; - -private: uint8_t m_ram[768*1024]; uint8_t m_c800_ram[0x400]; uint8_t m_regs[0x400]; diff --git a/src/devices/bus/a2bus/timemasterho.cpp b/src/devices/bus/a2bus/timemasterho.cpp index 31c456bf707..3a09d3e6c60 100644 --- a/src/devices/bus/a2bus/timemasterho.cpp +++ b/src/devices/bus/a2bus/timemasterho.cpp @@ -52,16 +52,6 @@ DEFINE_DEVICE_TYPE(A2BUS_TIMEMASTERHO, a2bus_timemasterho_device, "a2tmstho", "A #define TIMEMASTER_PIA_TAG "timemst_pia" #define TIMEMASTER_M5832_TAG "timemst_msm" -MACHINE_CONFIG_START( timemaster ) - MCFG_DEVICE_ADD(TIMEMASTER_PIA_TAG, PIA6821, 1021800) - MCFG_PIA_WRITEPA_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_a)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_b)) - MCFG_PIA_IRQA_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqa_w)) - MCFG_PIA_IRQB_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqb_w)) - - MCFG_DEVICE_ADD(TIMEMASTER_M5832_TAG, MSM5832, 32768) -MACHINE_CONFIG_END - ROM_START( timemaster ) ROM_REGION(0x1000, TIMEMASTER_ROM_REGION, 0) ROM_LOAD( "ae timemaster ii h.o. rom rev. 5.bin", 0x000000, 0x001000, CRC(ff5bd644) SHA1(ae0173da61581a06188c1bee89e95a0aa536c411) ) @@ -100,14 +90,18 @@ ioport_constructor a2bus_timemasterho_device::device_input_ports() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor a2bus_timemasterho_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( timemaster ); -} +MACHINE_CONFIG_MEMBER( a2bus_timemasterho_device::device_add_mconfig ) + MCFG_DEVICE_ADD(TIMEMASTER_PIA_TAG, PIA6821, 1021800) + MCFG_PIA_WRITEPA_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_a)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_b)) + MCFG_PIA_IRQA_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqa_w)) + MCFG_PIA_IRQB_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqb_w)) + + MCFG_DEVICE_ADD(TIMEMASTER_M5832_TAG, MSM5832, 32768) +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/a2bus/timemasterho.h b/src/devices/bus/a2bus/timemasterho.h index ad6457ddf03..d9f47a4e133 100644 --- a/src/devices/bus/a2bus/timemasterho.h +++ b/src/devices/bus/a2bus/timemasterho.h @@ -29,21 +29,14 @@ public: // construction/destruction a2bus_timemasterho_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - virtual ioport_constructor device_input_ports() const override; - - DECLARE_WRITE8_MEMBER(pia_out_a); - DECLARE_WRITE8_MEMBER(pia_out_b); - DECLARE_WRITE_LINE_MEMBER(pia_irqa_w); - DECLARE_WRITE_LINE_MEMBER(pia_irqb_w); - protected: a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); 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; + virtual ioport_constructor device_input_ports() const override; // overrides of standard a2bus slot functions virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override; @@ -57,6 +50,10 @@ protected: private: void update_irqs(); + DECLARE_WRITE8_MEMBER(pia_out_a); + DECLARE_WRITE8_MEMBER(pia_out_b); + DECLARE_WRITE_LINE_MEMBER(pia_irqa_w); + DECLARE_WRITE_LINE_MEMBER(pia_irqb_w); uint8_t *m_rom; bool m_irqa, m_irqb; diff --git a/src/devices/bus/a7800/cpuwiz.cpp b/src/devices/bus/a7800/cpuwiz.cpp index 8c4eb9a8ad7..6d23eccedbe 100644 --- a/src/devices/bus/a7800/cpuwiz.cpp +++ b/src/devices/bus/a7800/cpuwiz.cpp @@ -120,14 +120,9 @@ WRITE8_MEMBER(a78_megacart_device::write_40xx) // VersaBoard + POKEY @ 0x0450 -static MACHINE_CONFIG_START( a78_pokeyvb ) +MACHINE_CONFIG_MEMBER( a78_rom_p450_vb_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) MACHINE_CONFIG_END - -machine_config_constructor a78_rom_p450_vb_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokeyvb ); -} diff --git a/src/devices/bus/a7800/cpuwiz.h b/src/devices/bus/a7800/cpuwiz.h index 2357064428c..1d9b33693d9 100644 --- a/src/devices/bus/a7800/cpuwiz.h +++ b/src/devices/bus/a7800/cpuwiz.h @@ -55,14 +55,13 @@ public: // construction/destruction a78_rom_p450_vb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); } protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey450; }; diff --git a/src/devices/bus/a7800/hiscore.cpp b/src/devices/bus/a7800/hiscore.cpp index 9f9d34bfb82..2d9ca604191 100644 --- a/src/devices/bus/a7800/hiscore.cpp +++ b/src/devices/bus/a7800/hiscore.cpp @@ -27,15 +27,10 @@ a78_hiscore_device::a78_hiscore_device(const machine_config &mconfig, const char } -static MACHINE_CONFIG_START( a78_highscore ) +MACHINE_CONFIG_MEMBER( a78_hiscore_device::device_add_mconfig ) MCFG_A78_CARTRIDGE_ADD("hsc_slot", a7800_cart, nullptr) MACHINE_CONFIG_END -machine_config_constructor a78_hiscore_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_highscore ); -} - /*------------------------------------------------- mapper specific handlers diff --git a/src/devices/bus/a7800/hiscore.h b/src/devices/bus/a7800/hiscore.h index 4f7606a85ff..b26bea473db 100644 --- a/src/devices/bus/a7800/hiscore.h +++ b/src/devices/bus/a7800/hiscore.h @@ -17,9 +17,6 @@ public: // construction/destruction a78_hiscore_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override; virtual DECLARE_WRITE8_MEMBER(write_04xx) override; @@ -30,6 +27,8 @@ public: virtual DECLARE_WRITE8_MEMBER(write_40xx) override; protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_hscslot; }; diff --git a/src/devices/bus/a7800/rom.cpp b/src/devices/bus/a7800/rom.cpp index a870d68e164..c9a48db2b5b 100644 --- a/src/devices/bus/a7800/rom.cpp +++ b/src/devices/bus/a7800/rom.cpp @@ -195,31 +195,6 @@ void a78_rom_act_device::device_reset() m_bank = 0; } -// TO DO: do we need a PAL variant?!? -static MACHINE_CONFIG_START( a78_pokey ) - MCFG_SPEAKER_STANDARD_MONO("addon") - - MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( a78_pokey450 ) - MCFG_SPEAKER_STANDARD_MONO("pokey_450") - - MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( a78_2pokeys ) - MCFG_SPEAKER_STANDARD_MONO("addon") - - MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) - - MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) -MACHINE_CONFIG_END - /*------------------------------------------------- mapper specific handlers @@ -268,10 +243,13 @@ WRITE8_MEMBER(a78_rom_pokey_device::write_40xx) m_pokey->write(space, offset & 0x0f, data); } -machine_config_constructor a78_rom_pokey_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokey ); -} +// TO DO: do we need a PAL variant?!? +MACHINE_CONFIG_MEMBER( a78_rom_pokey_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("addon") + + MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) +MACHINE_CONFIG_END /*------------------------------------------------- @@ -364,10 +342,12 @@ WRITE8_MEMBER(a78_rom_sg_pokey_device::write_40xx) m_bank = data & m_bank_mask; } -machine_config_constructor a78_rom_sg_pokey_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokey ); -} +MACHINE_CONFIG_MEMBER( a78_rom_sg_pokey_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("addon") + + MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) +MACHINE_CONFIG_END /*------------------------------------------------- @@ -517,22 +497,34 @@ WRITE8_MEMBER(a78_rom_act_device::write_40xx) // Machine configs for PCB variants with a POKEY at $0450 -machine_config_constructor a78_rom_p450_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokey450 ); -} +MACHINE_CONFIG_MEMBER( a78_rom_p450_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("pokey_450") -machine_config_constructor a78_rom_p450_pokey_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_2pokeys ); -} + MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00) +MACHINE_CONFIG_END -machine_config_constructor a78_rom_p450_sg_ram_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokey450 ); -} +MACHINE_CONFIG_MEMBER( a78_rom_p450_pokey_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("addon") -machine_config_constructor a78_rom_p450_sg9_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_pokey450 ); -} + MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) + + MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00) +MACHINE_CONFIG_END + + +MACHINE_CONFIG_MEMBER( a78_rom_p450_sg_ram_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("pokey_450") + + MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00) +MACHINE_CONFIG_END + +MACHINE_CONFIG_MEMBER( a78_rom_p450_sg9_device::device_add_mconfig ) + MCFG_SPEAKER_STANDARD_MONO("pokey_450") + + MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00) +MACHINE_CONFIG_END diff --git a/src/devices/bus/a7800/rom.h b/src/devices/bus/a7800/rom.h index 9e9a971e0d5..406746c4e93 100644 --- a/src/devices/bus/a7800/rom.h +++ b/src/devices/bus/a7800/rom.h @@ -38,9 +38,6 @@ public: // construction/destruction a78_rom_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_40xx) override; virtual DECLARE_WRITE8_MEMBER(write_40xx) override; @@ -48,6 +45,8 @@ public: protected: a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey; }; @@ -100,14 +99,13 @@ public: // construction/destruction a78_rom_sg_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_40xx) override; virtual DECLARE_WRITE8_MEMBER(write_40xx) override; protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey; }; @@ -198,13 +196,13 @@ public: // construction/destruction a78_rom_p450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); } protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey450; }; @@ -217,13 +215,13 @@ public: // construction/destruction a78_rom_p450_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); } protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey450; }; @@ -236,13 +234,13 @@ public: // construction/destruction a78_rom_p450_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); } protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey450; }; @@ -255,13 +253,13 @@ public: // construction/destruction a78_rom_p450_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); } protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_pokey450; }; diff --git a/src/devices/bus/a7800/xboard.cpp b/src/devices/bus/a7800/xboard.cpp index 7ee3bd97f50..ea73d9b987f 100644 --- a/src/devices/bus/a7800/xboard.cpp +++ b/src/devices/bus/a7800/xboard.cpp @@ -106,7 +106,7 @@ void a78_xm_device::device_reset() } -static MACHINE_CONFIG_START( a78_xb ) +MACHINE_CONFIG_MEMBER( a78_xboard_device::device_add_mconfig ) MCFG_A78_CARTRIDGE_ADD("xb_slot", a7800_cart, nullptr) MCFG_SPEAKER_STANDARD_MONO("xb_speaker") @@ -115,7 +115,7 @@ static MACHINE_CONFIG_START( a78_xb ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "xb_speaker", 1.00) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( a78_xm ) +MACHINE_CONFIG_MEMBER( a78_xm_device::device_add_mconfig ) MCFG_A78_CARTRIDGE_ADD("xb_slot", a7800_cart, nullptr) MCFG_SPEAKER_STANDARD_MONO("xb_speaker") @@ -127,15 +127,6 @@ static MACHINE_CONFIG_START( a78_xm ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "xb_speaker", 1.00) MACHINE_CONFIG_END -machine_config_constructor a78_xboard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_xb ); -} - -machine_config_constructor a78_xm_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a78_xm ); -} /*------------------------------------------------- mapper specific handlers diff --git a/src/devices/bus/a7800/xboard.h b/src/devices/bus/a7800/xboard.h index 514109e6d29..476d9a18aba 100644 --- a/src/devices/bus/a7800/xboard.h +++ b/src/devices/bus/a7800/xboard.h @@ -19,9 +19,6 @@ public: // construction/destruction a78_xboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override; virtual DECLARE_WRITE8_MEMBER(write_04xx) override; @@ -33,6 +30,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; required_device m_xbslot; required_device m_pokey; @@ -48,9 +46,6 @@ public: // construction/destruction a78_xm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_04xx) override; virtual DECLARE_WRITE8_MEMBER(write_04xx) override; @@ -61,6 +56,7 @@ public: protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; required_device m_ym; int m_ym_enabled; diff --git a/src/devices/bus/a800/cassette.cpp b/src/devices/bus/a800/cassette.cpp index 86a34f9180c..f2f8adc8d6f 100644 --- a/src/devices/bus/a800/cassette.cpp +++ b/src/devices/bus/a800/cassette.cpp @@ -28,18 +28,13 @@ TODO: DEFINE_DEVICE_TYPE(A8SIO_CASSETTE, a8sio_cassette_device, "a8sio_cass", "Atari 8 bit cassette") const device_timer_id TIMER_CASSETTE_READ = 1; -static MACHINE_CONFIG_START( cassette ) +MACHINE_CONFIG_MEMBER( a8sio_cassette_device::device_add_mconfig ) MCFG_CASSETTE_ADD("cassette") //MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY) MCFG_CASSETTE_INTERFACE("atari8bit_cass") MACHINE_CONFIG_END -machine_config_constructor a8sio_cassette_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( cassette ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/a800/cassette.h b/src/devices/bus/a800/cassette.h index 0168a4b3a64..17c45a9880b 100644 --- a/src/devices/bus/a800/cassette.h +++ b/src/devices/bus/a800/cassette.h @@ -29,9 +29,6 @@ public: // construction/destruction a8sio_cassette_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 DECLARE_WRITE_LINE_MEMBER( motor_w ) override; protected: @@ -40,6 +37,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; required_device m_cassette; emu_timer *m_read_timer;