From 60ceaff4385fa7dfa523c8d8750ea7a20bc60e56 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 14 Jun 2017 21:45:37 +0200 Subject: [PATCH] finally got rid of machine_mconfig_additions (nw) --- src/devices/bus/amiga/keyboard/a500.cpp | 10 +- src/devices/bus/rs232/null_modem.cpp | 7 +- src/devices/bus/rs232/null_modem.h | 2 +- src/devices/bus/rs232/printer.cpp | 7 +- src/devices/bus/rs232/printer.h | 5 +- src/devices/bus/rs232/sun_kbd.cpp | 16 +- src/devices/bus/rs232/sun_kbd.h | 4 +- src/devices/bus/rs232/xvd701.cpp | 7 +- src/devices/bus/rs232/xvd701.h | 2 +- src/devices/bus/s100/dj2db.cpp | 15 +- src/devices/bus/s100/dj2db.h | 19 +- src/devices/bus/s100/djdma.cpp | 15 +- src/devices/bus/s100/djdma.h | 8 +- src/devices/bus/s100/nsmdsa.cpp | 15 +- src/devices/bus/s100/nsmdsa.h | 8 +- src/devices/bus/s100/nsmdsad.cpp | 15 +- src/devices/bus/s100/nsmdsad.h | 8 +- src/devices/bus/s100/wunderbus.cpp | 16 +- src/devices/bus/s100/wunderbus.h | 15 +- src/devices/bus/sat_ctrl/multitap.cpp | 8 +- src/devices/bus/sat_ctrl/multitap.h | 6 +- src/devices/bus/sat_ctrl/segatap.cpp | 8 +- src/devices/bus/sat_ctrl/segatap.h | 6 +- src/devices/bus/scsi/omti5100.cpp | 8 +- src/devices/bus/scsi/omti5100.h | 5 +- src/devices/bus/scsi/s1410.cpp | 15 +- src/devices/bus/scsi/s1410.h | 9 +- src/devices/bus/scsi/sa1403d.cpp | 15 +- src/devices/bus/scsi/sa1403d.h | 11 +- src/devices/bus/scsi/scsi.cpp | 7 +- src/devices/bus/scsi/scsi.h | 2 +- src/devices/bus/scsi/scsicd.cpp | 7 +- src/devices/bus/scsi/scsicd.h | 3 +- src/devices/bus/scsi/scsihd.cpp | 7 +- src/devices/bus/scsi/scsihd.h | 3 +- src/devices/bus/sega8/ccatch.cpp | 7 +- src/devices/bus/sega8/ccatch.h | 4 +- src/devices/bus/sega8/mgear.cpp | 10 +- src/devices/bus/sega8/mgear.h | 12 +- src/devices/bus/sega8/rom.cpp | 7 +- src/devices/bus/sega8/rom.h | 6 +- src/devices/bus/sg1000_exp/fm_unit.cpp | 9 +- src/devices/bus/sg1000_exp/fm_unit.h | 2 +- src/devices/bus/sg1000_exp/sk1100.cpp | 8 +- src/devices/bus/sg1000_exp/sk1100.h | 10 +- src/devices/bus/sms_ctrl/multitap.cpp | 11 +- src/devices/bus/sms_ctrl/multitap.h | 6 +- src/devices/bus/sms_ctrl/rfu.cpp | 11 +- src/devices/bus/sms_ctrl/rfu.h | 14 +- src/devices/bus/sms_exp/gender.cpp | 11 +- src/devices/bus/sms_exp/gender.h | 2 +- src/devices/bus/snes/bsx.cpp | 34 ++-- src/devices/bus/snes/bsx.h | 12 +- src/devices/bus/snes/event.cpp | 14 +- src/devices/bus/snes/event.h | 8 +- src/devices/bus/snes/sa1.cpp | 7 +- src/devices/bus/snes/sa1.h | 4 +- src/devices/bus/snes/sfx.cpp | 7 +- src/devices/bus/snes/sfx.h | 7 +- src/devices/bus/snes/sgb.cpp | 16 +- src/devices/bus/snes/sgb.h | 6 +- src/devices/bus/snes/sufami.cpp | 21 +- src/devices/bus/snes/sufami.h | 4 +- src/devices/bus/snes/upd.cpp | 125 +++++------- src/devices/bus/snes/upd.h | 37 ++-- src/devices/bus/snes_ctrl/bcbattle.cpp | 7 +- src/devices/bus/snes_ctrl/bcbattle.h | 4 +- src/devices/bus/snes_ctrl/miracle.cpp | 7 +- src/devices/bus/snes_ctrl/miracle.h | 4 +- src/devices/bus/snes_ctrl/multitap.cpp | 18 +- src/devices/bus/snes_ctrl/multitap.h | 8 +- src/devices/bus/svi3x8/expander/sv601.cpp | 10 +- src/devices/bus/svi3x8/expander/sv601.h | 2 +- src/devices/bus/svi3x8/expander/sv602.cpp | 10 +- src/devices/bus/svi3x8/expander/sv602.h | 12 +- src/devices/bus/svi3x8/expander/sv603.cpp | 10 +- src/devices/bus/svi3x8/expander/sv603.h | 2 +- src/devices/bus/svi3x8/slot/sv801.cpp | 16 +- src/devices/bus/svi3x8/slot/sv801.h | 12 +- src/devices/bus/svi3x8/slot/sv802.cpp | 10 +- src/devices/bus/svi3x8/slot/sv802.h | 6 +- src/devices/bus/svi3x8/slot/sv805.cpp | 10 +- src/devices/bus/svi3x8/slot/sv805.h | 6 +- src/devices/bus/svi3x8/slot/sv806.cpp | 10 +- src/devices/bus/svi3x8/slot/sv806.h | 6 +- src/devices/bus/ti99/gromport/cartridges.cpp | 6 +- src/devices/bus/ti99/gromport/cartridges.h | 2 +- src/devices/bus/ti99/gromport/gkracker.cpp | 11 +- src/devices/bus/ti99/gromport/gkracker.h | 2 +- src/devices/bus/ti99/gromport/multiconn.cpp | 7 +- src/devices/bus/ti99/gromport/multiconn.h | 2 +- src/devices/bus/ti99/gromport/singleconn.cpp | 7 +- src/devices/bus/ti99/gromport/singleconn.h | 2 +- src/devices/bus/ti99/internal/998board.cpp | 7 +- src/devices/bus/ti99/internal/998board.h | 2 +- src/devices/bus/ti99/peb/bwg.cpp | 17 +- src/devices/bus/ti99/peb/bwg.h | 12 +- src/devices/bus/ti99/peb/evpc.cpp | 37 ++-- src/devices/bus/ti99/peb/evpc.h | 9 +- src/devices/bus/ti99/peb/hfdc.cpp | 19 +- src/devices/bus/ti99/peb/hfdc.h | 20 +- src/devices/bus/ti99/peb/horizon.cpp | 7 +- src/devices/bus/ti99/peb/horizon.h | 2 +- src/devices/bus/ti99/peb/hsgpl.cpp | 7 +- src/devices/bus/ti99/peb/hsgpl.h | 2 +- src/devices/bus/ti99/peb/memex.cpp | 7 +- src/devices/bus/ti99/peb/memex.h | 2 +- src/devices/bus/ti99/peb/myarcmem.cpp | 6 +- src/devices/bus/ti99/peb/myarcmem.h | 2 +- src/devices/bus/ti99/peb/pcode.cpp | 25 +-- src/devices/bus/ti99/peb/pcode.h | 5 +- src/devices/bus/ti99/peb/samsmem.cpp | 7 +- src/devices/bus/ti99/peb/samsmem.h | 4 +- src/devices/bus/ti99/peb/spchsyn.cpp | 19 +- src/devices/bus/ti99/peb/spchsyn.h | 6 +- src/devices/bus/ti99/peb/ti_32kmem.cpp | 7 +- src/devices/bus/ti99/peb/ti_32kmem.h | 2 +- src/devices/bus/ti99/peb/ti_fdc.cpp | 19 +- src/devices/bus/ti99/peb/ti_fdc.h | 11 +- src/devices/bus/ti99/peb/ti_rs232.cpp | 35 ++-- src/devices/bus/ti99/peb/ti_rs232.h | 18 +- src/devices/bus/ti99/peb/tn_ide.cpp | 25 +-- src/devices/bus/ti99/peb/tn_ide.h | 8 +- src/devices/bus/ti99/peb/tn_usbsm.cpp | 7 +- src/devices/bus/ti99/peb/tn_usbsm.h | 2 +- src/devices/bus/ti99x/990_hd.cpp | 36 ++-- src/devices/bus/ti99x/990_hd.h | 2 +- src/devices/bus/ti99x/990_tap.cpp | 20 +- src/devices/bus/ti99x/990_tap.h | 2 +- src/devices/bus/vcs/dpc.cpp | 8 +- src/devices/bus/vcs/dpc.h | 11 +- src/devices/bus/vcs/harmony_melody.cpp | 7 +- src/devices/bus/vcs/harmony_melody.h | 4 +- src/devices/bus/vcs/scharger.cpp | 7 +- src/devices/bus/vcs/scharger.h | 4 +- src/devices/bus/vic20/fe3.cpp | 15 +- src/devices/bus/vic20/fe3.h | 8 +- src/devices/bus/vic20/megacart.cpp | 15 +- src/devices/bus/vic20/megacart.h | 6 +- src/devices/bus/vic20/speakeasy.cpp | 15 +- src/devices/bus/vic20/speakeasy.h | 6 +- src/devices/bus/vic20/vic1010.cpp | 16 +- src/devices/bus/vic20/vic1010.h | 6 +- src/devices/bus/vic20/vic1011.cpp | 16 +- src/devices/bus/vic20/vic1011.h | 10 +- src/devices/bus/vic20/vic1112.cpp | 15 +- src/devices/bus/vic20/vic1112.h | 17 +- src/devices/bus/vic20/videopak.cpp | 15 +- src/devices/bus/vic20/videopak.h | 13 +- src/devices/bus/vme/vme_fccpu20.cpp | 52 +++-- src/devices/bus/vme/vme_fccpu20.h | 43 +++-- src/devices/bus/vme/vme_fcisio.cpp | 193 +++++++++---------- src/devices/bus/vme/vme_fcisio.h | 11 +- src/devices/bus/vme/vme_fcscsi.cpp | 46 ++--- src/devices/bus/vme/vme_fcscsi.h | 32 +-- src/devices/bus/vme/vme_mvme350.cpp | 29 ++- src/devices/bus/vme/vme_mvme350.h | 8 +- src/devices/bus/vme/vme_mzr8105.cpp | 14 +- src/devices/bus/vme/vme_mzr8105.h | 6 +- src/devices/bus/vme/vme_mzr8300.cpp | 19 +- src/devices/bus/vme/vme_mzr8300.h | 6 +- src/devices/bus/vtech/ioexp/printer.cpp | 3 +- src/devices/bus/vtech/memexp/floppy.cpp | 3 +- src/devices/bus/vtech/memexp/rs232.cpp | 3 +- src/devices/bus/wangpc/lic.cpp | 3 +- src/emu/device.cpp | 18 +- src/emu/device.h | 1 - src/mame/machine/m3comm.cpp | 3 +- 168 files changed, 768 insertions(+), 1312 deletions(-) diff --git a/src/devices/bus/amiga/keyboard/a500.cpp b/src/devices/bus/amiga/keyboard/a500.cpp index 312c48b2d14..08daa8ca538 100644 --- a/src/devices/bus/amiga/keyboard/a500.cpp +++ b/src/devices/bus/amiga/keyboard/a500.cpp @@ -36,11 +36,6 @@ namespace bus { namespace amiga { namespace keyboard { namespace { -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - ADDRESS_MAP_START( mpu6500_map, AS_PROGRAM, 8, a500_kbd_device ) ADDRESS_MAP_GLOBAL_MASK(0xfff) AM_RANGE(0x000, 0x03f) AM_RAM @@ -136,6 +131,11 @@ INPUT_PORTS_END } // anonymous namespace +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + + MACHINE_CONFIG_MEMBER(a500_kbd_device::device_add_mconfig) MCFG_CPU_ADD("ic1", M6502, XTAL_3MHz / 2) MCFG_CPU_PROGRAM_MAP(mpu6500_map) diff --git a/src/devices/bus/rs232/null_modem.cpp b/src/devices/bus/rs232/null_modem.cpp index 5f92381ee62..27579f3d8b8 100644 --- a/src/devices/bus/rs232/null_modem.cpp +++ b/src/devices/bus/rs232/null_modem.cpp @@ -22,15 +22,10 @@ null_modem_device::null_modem_device(const machine_config &mconfig, const char * { } -static MACHINE_CONFIG_START(null_modem) +MACHINE_CONFIG_MEMBER(null_modem_device::device_add_mconfig) MCFG_DEVICE_ADD("stream", BITBANGER, 0) MACHINE_CONFIG_END -machine_config_constructor null_modem_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(null_modem); -} - static INPUT_PORTS_START(null_modem) MCFG_RS232_BAUD("RS232_TXBAUD", RS232_BAUD_9600, "TX Baud", null_modem_device, update_serial) MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", null_modem_device, update_serial) diff --git a/src/devices/bus/rs232/null_modem.h b/src/devices/bus/rs232/null_modem.h index 39ecd9a129c..69f3ad75103 100644 --- a/src/devices/bus/rs232/null_modem.h +++ b/src/devices/bus/rs232/null_modem.h @@ -12,7 +12,6 @@ class null_modem_device : public device_t, { public: null_modem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; virtual WRITE_LINE_MEMBER( input_txd ) override { device_serial_interface::rx_w(state); } virtual WRITE_LINE_MEMBER( input_rts ) override { m_rts = state; } @@ -24,6 +23,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; virtual void tra_callback() override; virtual void tra_complete() override; diff --git a/src/devices/bus/rs232/printer.cpp b/src/devices/bus/rs232/printer.cpp index f9be7182cdc..14df26f2203 100644 --- a/src/devices/bus/rs232/printer.cpp +++ b/src/devices/bus/rs232/printer.cpp @@ -16,16 +16,11 @@ serial_printer_device::serial_printer_device(const machine_config &mconfig, cons { } -static MACHINE_CONFIG_START(serial_printer) +MACHINE_CONFIG_MEMBER(serial_printer_device::device_add_mconfig) MCFG_DEVICE_ADD("printer", PRINTER, 0) MCFG_PRINTER_ONLINE_CB(WRITELINE(serial_printer_device, printer_online)) MACHINE_CONFIG_END -machine_config_constructor serial_printer_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(serial_printer); -} - static INPUT_PORTS_START(serial_printer) MCFG_RS232_BAUD("RS232_RXBAUD", RS232_BAUD_9600, "RX Baud", serial_printer_device, update_serial) MCFG_RS232_STARTBITS("RS232_STARTBITS", RS232_STARTBITS_1, "Start Bits", serial_printer_device, update_serial) diff --git a/src/devices/bus/rs232/printer.h b/src/devices/bus/rs232/printer.h index 800003a7760..dba1c9401e2 100644 --- a/src/devices/bus/rs232/printer.h +++ b/src/devices/bus/rs232/printer.h @@ -18,10 +18,9 @@ public: virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override { device_serial_interface::rx_w(state); } DECLARE_WRITE_LINE_MEMBER(update_serial); - DECLARE_WRITE_LINE_MEMBER(printer_online); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; virtual void device_start() override; virtual void device_reset() override; @@ -30,6 +29,8 @@ protected: virtual void rcv_complete() override; private: + DECLARE_WRITE_LINE_MEMBER(printer_online); + required_device m_printer; required_ioport m_rs232_rxbaud; diff --git a/src/devices/bus/rs232/sun_kbd.cpp b/src/devices/bus/rs232/sun_kbd.cpp index f8a2ef04423..b38ce25f400 100644 --- a/src/devices/bus/rs232/sun_kbd.cpp +++ b/src/devices/bus/rs232/sun_kbd.cpp @@ -5,14 +5,6 @@ DEFINE_DEVICE_TYPE(SUN_KBD_ADAPTOR, sun_keyboard_adaptor_device, "sunkbd_adaptor", "Sun Keyboard Adaptor") -namespace { -MACHINE_CONFIG_START(sun_keyboard_adaptor) - MCFG_SUNKBD_PORT_ADD("keyboard", default_sun_keyboard_devices, nullptr) - MCFG_SUNKBD_RXD_HANDLER(WRITELINE(sun_keyboard_adaptor_device, output_rxd)) -MACHINE_CONFIG_END -} // anonymous namespace - - sun_keyboard_adaptor_device::sun_keyboard_adaptor_device( machine_config const &mconfig, char const *tag, @@ -30,10 +22,10 @@ sun_keyboard_adaptor_device::~sun_keyboard_adaptor_device() } -machine_config_constructor sun_keyboard_adaptor_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(sun_keyboard_adaptor); -} +MACHINE_CONFIG_MEMBER(sun_keyboard_adaptor_device::device_add_mconfig) + MCFG_SUNKBD_PORT_ADD("keyboard", default_sun_keyboard_devices, nullptr) + MCFG_SUNKBD_RXD_HANDLER(WRITELINE(sun_keyboard_adaptor_device, output_rxd)) +MACHINE_CONFIG_END WRITE_LINE_MEMBER( sun_keyboard_adaptor_device::input_txd ) diff --git a/src/devices/bus/rs232/sun_kbd.h b/src/devices/bus/rs232/sun_kbd.h index 681bd5a9781..a93646f79de 100644 --- a/src/devices/bus/rs232/sun_kbd.h +++ b/src/devices/bus/rs232/sun_kbd.h @@ -18,14 +18,14 @@ public: sun_keyboard_adaptor_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock); virtual ~sun_keyboard_adaptor_device() override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override; protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + private: required_device m_keyboard_port; }; diff --git a/src/devices/bus/rs232/xvd701.cpp b/src/devices/bus/rs232/xvd701.cpp index 4d772fd805e..96c5ad4b01d 100644 --- a/src/devices/bus/rs232/xvd701.cpp +++ b/src/devices/bus/rs232/xvd701.cpp @@ -12,14 +12,9 @@ jvc_xvd701_device::jvc_xvd701_device(const machine_config &mconfig, const char * { } -static MACHINE_CONFIG_START(xvd701) +MACHINE_CONFIG_MEMBER(jvc_xvd701_device::device_add_mconfig) MACHINE_CONFIG_END -machine_config_constructor jvc_xvd701_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(xvd701); -} - static INPUT_PORTS_START(xvd701) INPUT_PORTS_END diff --git a/src/devices/bus/rs232/xvd701.h b/src/devices/bus/rs232/xvd701.h index b1a73455d3f..1327c3b2c2b 100644 --- a/src/devices/bus/rs232/xvd701.h +++ b/src/devices/bus/rs232/xvd701.h @@ -11,7 +11,6 @@ class jvc_xvd701_device : public device_t, { public: jvc_xvd701_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; virtual WRITE_LINE_MEMBER( input_txd ) override { device_serial_interface::rx_w(state); } protected: @@ -19,6 +18,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; virtual void tra_callback() override; virtual void tra_complete() override; diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp index 10c66201cdc..83c7905f15e 100644 --- a/src/devices/bus/s100/dj2db.cpp +++ b/src/devices/bus/s100/dj2db.cpp @@ -98,10 +98,10 @@ WRITE_LINE_MEMBER( s100_dj2db_device::fdc_drq_w ) //------------------------------------------------- -// MACHINE_CONFIG_START( s100_dj2db ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( s100_dj2db ) +MACHINE_CONFIG_MEMBER( s100_dj2db_device::device_add_mconfig ) MCFG_DEVICE_ADD(BR1941_TAG, COM8116, XTAL_5_0688MHz) MCFG_COM8116_FR_HANDLER(WRITELINE(s100_dj2db_device, fr_w)) @@ -116,17 +116,6 @@ static MACHINE_CONFIG_START( s100_dj2db ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s100_dj2db_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( s100_dj2db ); -} - - //------------------------------------------------- // INPUT_PORTS( mm65k16s ) //------------------------------------------------- diff --git a/src/devices/bus/s100/dj2db.h b/src/devices/bus/s100/dj2db.h index 8614a12f34d..89ff0734066 100644 --- a/src/devices/bus/s100/dj2db.h +++ b/src/devices/bus/s100/dj2db.h @@ -30,21 +30,16 @@ public: // construction/destruction s100_dj2db_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - - // not really public - DECLARE_WRITE_LINE_MEMBER( fr_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; + // device_s100_card_interface overrides virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override; virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) override; @@ -53,6 +48,10 @@ protected: virtual void s100_phantom_w(int state) override; private: + DECLARE_WRITE_LINE_MEMBER( fr_w ); + DECLARE_WRITE_LINE_MEMBER( fdc_intrq_w ); + DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); + // internal state required_device m_fdc; required_device m_dbrg; diff --git a/src/devices/bus/s100/djdma.cpp b/src/devices/bus/s100/djdma.cpp index 9ed51ac68ad..ebe43123e60 100644 --- a/src/devices/bus/s100/djdma.cpp +++ b/src/devices/bus/s100/djdma.cpp @@ -73,27 +73,16 @@ ADDRESS_MAP_END //------------------------------------------------- -// MACHINE_CONFIG_START( s100_djdma ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( s100_djdma ) +MACHINE_CONFIG_MEMBER( s100_djdma_device::device_add_mconfig ) MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(djdma_mem) MCFG_CPU_IO_MAP(djdma_io) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s100_djdma_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( s100_djdma ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/s100/djdma.h b/src/devices/bus/s100/djdma.h index 3e25ee93f77..daf4f25530f 100644 --- a/src/devices/bus/s100/djdma.h +++ b/src/devices/bus/s100/djdma.h @@ -29,14 +29,14 @@ public: // construction/destruction s100_djdma_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: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; }; diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp index 8e340f05abe..e413d065560 100644 --- a/src/devices/bus/s100/nsmdsa.cpp +++ b/src/devices/bus/s100/nsmdsa.cpp @@ -53,26 +53,15 @@ SLOT_INTERFACE_END //------------------------------------------------- -// MACHINE_CONFIG_START( mds_a ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( mds_a ) +MACHINE_CONFIG_MEMBER( s100_mds_a_device::device_add_mconfig ) MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s100_mds_a_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mds_a ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/s100/nsmdsa.h b/src/devices/bus/s100/nsmdsa.h index 3bf167732b6..5bcaf7505c0 100644 --- a/src/devices/bus/s100/nsmdsa.h +++ b/src/devices/bus/s100/nsmdsa.h @@ -29,15 +29,15 @@ public: // construction/destruction s100_mds_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + // device_s100_card_interface overrides virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override; diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp index c6150b97e31..34671f9f1a5 100644 --- a/src/devices/bus/s100/nsmdsad.cpp +++ b/src/devices/bus/s100/nsmdsad.cpp @@ -54,26 +54,15 @@ SLOT_INTERFACE_END //------------------------------------------------- -// MACHINE_CONFIG_START( mds_ad ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( mds_ad ) +MACHINE_CONFIG_MEMBER( s100_mds_ad_device::device_add_mconfig ) MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s100_mds_ad_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mds_ad ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/s100/nsmdsad.h b/src/devices/bus/s100/nsmdsad.h index 0affdd595c8..f10d3c0af23 100644 --- a/src/devices/bus/s100/nsmdsad.h +++ b/src/devices/bus/s100/nsmdsad.h @@ -29,15 +29,15 @@ public: // construction/destruction s100_mds_ad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + // device_s100_card_interface overrides virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override; diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp index 72fcc5b5a6f..1c594bc7ac0 100644 --- a/src/devices/bus/s100/wunderbus.cpp +++ b/src/devices/bus/s100/wunderbus.cpp @@ -83,10 +83,11 @@ WRITE_LINE_MEMBER( s100_wunderbus_device::rtc_tp_w ) //------------------------------------------------- -// MACHINE_CONFIG_START( s100_wunderbus ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( s100_wunderbus ) + +MACHINE_CONFIG_MEMBER( s100_wunderbus_device::device_add_mconfig ) MCFG_PIC8259_ADD(I8259A_TAG, DEVWRITELINE(DEVICE_SELF, s100_wunderbus_device, pic_int_w), VCC, NOOP) MCFG_DEVICE_ADD(INS8250_1_TAG, INS8250, XTAL_18_432MHz/10) MCFG_INS8250_OUT_TX_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) @@ -130,17 +131,6 @@ static MACHINE_CONFIG_START( s100_wunderbus ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s100_wunderbus_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( s100_wunderbus ); -} - - //------------------------------------------------- // INPUT_PORTS( wunderbus ) //------------------------------------------------- diff --git a/src/devices/bus/s100/wunderbus.h b/src/devices/bus/s100/wunderbus.h index 4b1d5554e06..540c5cd8b6c 100644 --- a/src/devices/bus/s100/wunderbus.h +++ b/src/devices/bus/s100/wunderbus.h @@ -31,19 +31,15 @@ public: // construction/destruction s100_wunderbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - - // not really public - DECLARE_WRITE_LINE_MEMBER( pic_int_w ); - DECLARE_WRITE_LINE_MEMBER( rtc_tp_w ); - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; + // device_s100_card_interface overrides virtual void s100_vi0_w(int state) override; virtual void s100_vi1_w(int state) override; @@ -52,6 +48,9 @@ protected: virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override; private: + DECLARE_WRITE_LINE_MEMBER( pic_int_w ); + DECLARE_WRITE_LINE_MEMBER( rtc_tp_w ); + required_device m_pic; required_device m_ace1; required_device m_ace2; diff --git a/src/devices/bus/sat_ctrl/multitap.cpp b/src/devices/bus/sat_ctrl/multitap.cpp index 26fdddb1853..a4f7112cc27 100644 --- a/src/devices/bus/sat_ctrl/multitap.cpp +++ b/src/devices/bus/sat_ctrl/multitap.cpp @@ -124,7 +124,7 @@ uint8_t saturn_multitap_device::read_id(int idx) } -static MACHINE_CONFIG_START( multitap_slot ) +MACHINE_CONFIG_MEMBER( saturn_multitap_device::device_add_mconfig ) MCFG_SATURN_CONTROL_PORT_ADD("ctrl1", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl2", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl3", saturn_joys, "joypad") @@ -132,9 +132,3 @@ static MACHINE_CONFIG_START( multitap_slot ) MCFG_SATURN_CONTROL_PORT_ADD("ctrl5", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl6", saturn_joys, "joypad") MACHINE_CONFIG_END - - -machine_config_constructor saturn_multitap_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( multitap_slot ); -} diff --git a/src/devices/bus/sat_ctrl/multitap.h b/src/devices/bus/sat_ctrl/multitap.h index ac77e73989a..209a1a7322d 100644 --- a/src/devices/bus/sat_ctrl/multitap.h +++ b/src/devices/bus/sat_ctrl/multitap.h @@ -29,14 +29,14 @@ public: // construction/destruction saturn_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_saturn_control_port_interface overrides virtual uint8_t read_ctrl(uint8_t offset) override; virtual uint8_t read_status() override { return 0x16; } diff --git a/src/devices/bus/sat_ctrl/segatap.cpp b/src/devices/bus/sat_ctrl/segatap.cpp index 56646b8c7a0..17f30323d71 100644 --- a/src/devices/bus/sat_ctrl/segatap.cpp +++ b/src/devices/bus/sat_ctrl/segatap.cpp @@ -108,15 +108,9 @@ uint8_t saturn_segatap_device::read_id(int idx) } -static MACHINE_CONFIG_START( segatap_slot ) +MACHINE_CONFIG_MEMBER( saturn_segatap_device::device_add_mconfig ) MCFG_SATURN_CONTROL_PORT_ADD("ctrl1", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl2", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl3", saturn_joys, "joypad") MCFG_SATURN_CONTROL_PORT_ADD("ctrl4", saturn_joys, "joypad") MACHINE_CONFIG_END - - -machine_config_constructor saturn_segatap_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( segatap_slot ); -} diff --git a/src/devices/bus/sat_ctrl/segatap.h b/src/devices/bus/sat_ctrl/segatap.h index 151eebd24a1..61580ba671d 100644 --- a/src/devices/bus/sat_ctrl/segatap.h +++ b/src/devices/bus/sat_ctrl/segatap.h @@ -29,14 +29,14 @@ public: // construction/destruction saturn_segatap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_saturn_control_port_interface overrides virtual uint8_t read_ctrl(uint8_t offset) override; virtual uint8_t read_status() override { return 0x04; } diff --git a/src/devices/bus/scsi/omti5100.cpp b/src/devices/bus/scsi/omti5100.cpp index 1a0dcbf3388..ff415334240 100644 --- a/src/devices/bus/scsi/omti5100.cpp +++ b/src/devices/bus/scsi/omti5100.cpp @@ -176,13 +176,7 @@ void omti5100_device::WriteData( uint8_t *data, int dataLength ) } } -static MACHINE_CONFIG_START( omti5100 ) +MACHINE_CONFIG_MEMBER( omti5100_device::device_add_mconfig ) MCFG_HARDDISK_ADD("image0") MCFG_HARDDISK_ADD("image1") MACHINE_CONFIG_END - - -machine_config_constructor omti5100_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( omti5100 ); -} diff --git a/src/devices/bus/scsi/omti5100.h b/src/devices/bus/scsi/omti5100.h index c17d5bc4558..c33ab701626 100644 --- a/src/devices/bus/scsi/omti5100.h +++ b/src/devices/bus/scsi/omti5100.h @@ -12,9 +12,6 @@ class omti5100_device : public scsihd_device public: omti5100_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - //virtual const rom_entry *device_rom_region() const; - virtual void ExecCommand() override; virtual void ReadData( uint8_t *data, int dataLength ) override; virtual void WriteData( uint8_t *data, int dataLength ) override; @@ -22,6 +19,8 @@ public: protected: void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + private: required_device m_image0; required_device m_image1; diff --git a/src/devices/bus/scsi/s1410.cpp b/src/devices/bus/scsi/s1410.cpp index 37a3abc5eff..6ac251ca6e2 100644 --- a/src/devices/bus/scsi/s1410.cpp +++ b/src/devices/bus/scsi/s1410.cpp @@ -160,10 +160,10 @@ ADDRESS_MAP_END //------------------------------------------------- -// MACHINE_DRIVER( s1410 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( s1410 ) +MACHINE_CONFIG_MEMBER( s1410_device::device_add_mconfig ) MCFG_CPU_ADD(Z8400A_TAG, Z80, XTAL_16MHz/4) MCFG_CPU_PROGRAM_MAP(s1410_mem) MCFG_CPU_IO_MAP(s1410_io) @@ -173,17 +173,6 @@ static MACHINE_CONFIG_START( s1410 ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor s1410_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( s1410 ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/scsi/s1410.h b/src/devices/bus/scsi/s1410.h index 456f55a6ea2..8f540c1e0bf 100644 --- a/src/devices/bus/scsi/s1410.h +++ b/src/devices/bus/scsi/s1410.h @@ -19,13 +19,14 @@ public: // construction/destruction s1410_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual void ExecCommand() override; virtual void WriteData( uint8_t *data, int dataLength ) override; virtual void ReadData( uint8_t *data, int dataLength ) override; + +protected: + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; }; diff --git a/src/devices/bus/scsi/sa1403d.cpp b/src/devices/bus/scsi/sa1403d.cpp index 3a94f841fa3..86063c2dbfb 100644 --- a/src/devices/bus/scsi/sa1403d.cpp +++ b/src/devices/bus/scsi/sa1403d.cpp @@ -54,25 +54,14 @@ const tiny_rom_entry *sa1403d_device::device_rom_region() const //------------------------------------------------- -// MACHINE_DRIVER( sa1403d ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sa1403d ) +MACHINE_CONFIG_MEMBER( sa1403d_device::device_add_mconfig ) MCFG_HARDDISK_ADD("image") MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sa1403d_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sa1403d ); -} - - //------------------------------------------------- // INPUT_PORTS( sa1403d ) //------------------------------------------------- diff --git a/src/devices/bus/scsi/sa1403d.h b/src/devices/bus/scsi/sa1403d.h index ea3d37d3d02..f4b229d6514 100644 --- a/src/devices/bus/scsi/sa1403d.h +++ b/src/devices/bus/scsi/sa1403d.h @@ -20,13 +20,14 @@ public: // construction/destruction sa1403d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - virtual void ExecCommand() override; virtual void WriteData( uint8_t *data, int dataLength ) override; + +protected: + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; }; diff --git a/src/devices/bus/scsi/scsi.cpp b/src/devices/bus/scsi/scsi.cpp index bfe49c253c1..536023b59e9 100644 --- a/src/devices/bus/scsi/scsi.cpp +++ b/src/devices/bus/scsi/scsi.cpp @@ -61,7 +61,7 @@ scsi_port_device::scsi_port_device(const machine_config &mconfig, const char *ta { } -static MACHINE_CONFIG_START( scsi_port ) +MACHINE_CONFIG_MEMBER( scsi_port_device::device_add_mconfig ) MCFG_DEVICE_ADD( SCSI_PORT_DEVICE1, SCSI_PORT_SLOT, 0 ) MCFG_DEVICE_ADD( SCSI_PORT_DEVICE2, SCSI_PORT_SLOT, 0 ) MCFG_DEVICE_ADD( SCSI_PORT_DEVICE3, SCSI_PORT_SLOT, 0 ) @@ -71,11 +71,6 @@ static MACHINE_CONFIG_START( scsi_port ) MCFG_DEVICE_ADD( SCSI_PORT_DEVICE7, SCSI_PORT_SLOT, 0 ) MACHINE_CONFIG_END -machine_config_constructor scsi_port_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( scsi_port ); -} - void scsi_port_device::device_start() { const char *deviceName[] = diff --git a/src/devices/bus/scsi/scsi.h b/src/devices/bus/scsi/scsi.h index 7868b7f3777..b6e15cecc02 100644 --- a/src/devices/bus/scsi/scsi.h +++ b/src/devices/bus/scsi/scsi.h @@ -139,7 +139,7 @@ public: protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; void update_bsy(); void update_sel(); diff --git a/src/devices/bus/scsi/scsicd.cpp b/src/devices/bus/scsi/scsicd.cpp index 8807bb4f3de..ede38369d8b 100644 --- a/src/devices/bus/scsi/scsicd.cpp +++ b/src/devices/bus/scsi/scsicd.cpp @@ -30,13 +30,8 @@ void scsicd_device::device_start() scsihle_device::device_start(); } -static MACHINE_CONFIG_START(scsi_cdrom) +MACHINE_CONFIG_MEMBER(scsicd_device::device_add_mconfig) MCFG_CDROM_ADD("image") MCFG_CDROM_INTERFACE("cdrom") MCFG_SOUND_ADD("cdda", CDDA, 0) MACHINE_CONFIG_END - -machine_config_constructor scsicd_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(scsi_cdrom); -} diff --git a/src/devices/bus/scsi/scsicd.h b/src/devices/bus/scsi/scsicd.h index b9dba1db6d9..9d88f6bd1a8 100644 --- a/src/devices/bus/scsi/scsicd.h +++ b/src/devices/bus/scsi/scsicd.h @@ -17,11 +17,12 @@ class scsicd_device : public scsihle_device, public t10mmc public: // construction/destruction scsicd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; protected: scsicd_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; }; // device type definition diff --git a/src/devices/bus/scsi/scsihd.cpp b/src/devices/bus/scsi/scsihd.cpp index be211a07bcb..78157394a4d 100644 --- a/src/devices/bus/scsi/scsihd.cpp +++ b/src/devices/bus/scsi/scsihd.cpp @@ -29,12 +29,7 @@ void scsihd_device::device_start() scsihle_device::device_start(); } -static MACHINE_CONFIG_START(scsi_harddisk) +MACHINE_CONFIG_MEMBER(scsihd_device::device_add_mconfig) MCFG_HARDDISK_ADD("image") MCFG_HARDDISK_INTERFACE("scsi_hdd") MACHINE_CONFIG_END - -machine_config_constructor scsihd_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(scsi_harddisk); -} diff --git a/src/devices/bus/scsi/scsihd.h b/src/devices/bus/scsi/scsihd.h index 21517c8bbf7..3cc50af8ec2 100644 --- a/src/devices/bus/scsi/scsihd.h +++ b/src/devices/bus/scsi/scsihd.h @@ -19,11 +19,12 @@ class scsihd_device : public scsihle_device, public t10sbc public: // construction/destruction scsihd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; protected: scsihd_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; }; // device type definition diff --git a/src/devices/bus/sega8/ccatch.cpp b/src/devices/bus/sega8/ccatch.cpp index 7c35aad62d8..a46fef8b268 100644 --- a/src/devices/bus/sega8/ccatch.cpp +++ b/src/devices/bus/sega8/ccatch.cpp @@ -52,11 +52,6 @@ static SLOT_INTERFACE_START(sg1000_card) SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( sub_slot ) +MACHINE_CONFIG_MEMBER( sega8_cardcatch_device::device_add_mconfig ) MCFG_SG1000_CARD_ADD("cardslot", sg1000_card, nullptr) MACHINE_CONFIG_END - -machine_config_constructor sega8_cardcatch_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sub_slot ); -} diff --git a/src/devices/bus/sega8/ccatch.h b/src/devices/bus/sega8/ccatch.h index ecbc4cfd367..72d69d32dbd 100644 --- a/src/devices/bus/sega8/ccatch.h +++ b/src/devices/bus/sega8/ccatch.h @@ -21,9 +21,9 @@ public: virtual DECLARE_WRITE8_MEMBER(write_cart) override; virtual DECLARE_WRITE8_MEMBER(write_mapper) override {} - virtual machine_config_constructor device_mconfig_additions() const override; - protected: + virtual void device_add_mconfig(machine_config &config) override; + required_device m_card; }; diff --git a/src/devices/bus/sega8/mgear.cpp b/src/devices/bus/sega8/mgear.cpp index a181fd75a06..76e80f8c433 100644 --- a/src/devices/bus/sega8/mgear.cpp +++ b/src/devices/bus/sega8/mgear.cpp @@ -37,16 +37,8 @@ void sega8_mgear_device::device_reset() { } -/*------------------------------------------------- - mapper specific handlers - -------------------------------------------------*/ -static MACHINE_CONFIG_START( sub_slot ) +MACHINE_CONFIG_MEMBER( sega8_mgear_device::device_add_mconfig ) MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr) MCFG_SOFTWARE_LIST_ADD("cart_list","sms") MACHINE_CONFIG_END - -machine_config_constructor sega8_mgear_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sub_slot ); -} diff --git a/src/devices/bus/sega8/mgear.h b/src/devices/bus/sega8/mgear.h index e109df58e73..465ae3d5693 100644 --- a/src/devices/bus/sega8/mgear.h +++ b/src/devices/bus/sega8/mgear.h @@ -17,19 +17,19 @@ public: // construction/destruction sega8_mgear_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - // reading and writing virtual DECLARE_READ8_MEMBER(read_cart) override { return m_subslot->read_cart(space, offset); } virtual DECLARE_WRITE8_MEMBER(write_cart) override { m_subslot->write_cart(space, offset, data); } virtual DECLARE_WRITE8_MEMBER(write_mapper) override { m_subslot->write_mapper(space, offset, data); } virtual int get_lphaser_xoffs() override { return m_subslot->get_lphaser_xoffs(); } - virtual machine_config_constructor device_mconfig_additions() const override; - protected: + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + + virtual void device_add_mconfig(machine_config &config) override; + required_device m_subslot; }; diff --git a/src/devices/bus/sega8/rom.cpp b/src/devices/bus/sega8/rom.cpp index 798d85afb2f..6057b23aa97 100644 --- a/src/devices/bus/sega8/rom.cpp +++ b/src/devices/bus/sega8/rom.cpp @@ -713,15 +713,10 @@ WRITE8_MEMBER(sega8_eeprom_device::write_mapper) } } -MACHINE_CONFIG_START( gg_eeprom ) +MACHINE_CONFIG_MEMBER( sega8_eeprom_device::device_add_mconfig ) MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") MACHINE_CONFIG_END -machine_config_constructor sega8_eeprom_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( gg_eeprom ); -} - /*------------------------------------------------- diff --git a/src/devices/bus/sega8/rom.h b/src/devices/bus/sega8/rom.h index 9e97e40f45f..c299ff261c5 100644 --- a/src/devices/bus/sega8/rom.h +++ b/src/devices/bus/sega8/rom.h @@ -184,9 +184,6 @@ public: // construction/destruction sega8_eeprom_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; - virtual void late_bank_setup() override; // reading and writing @@ -198,6 +195,9 @@ protected: virtual void device_start() override; virtual void device_reset() override; + // device-level overrides + virtual void device_add_mconfig(machine_config &config) override; + uint8_t m_rom_bank_base[3]; required_device m_eeprom; diff --git a/src/devices/bus/sg1000_exp/fm_unit.cpp b/src/devices/bus/sg1000_exp/fm_unit.cpp index 01fcc53de64..7abcd70c08b 100644 --- a/src/devices/bus/sg1000_exp/fm_unit.cpp +++ b/src/devices/bus/sg1000_exp/fm_unit.cpp @@ -50,7 +50,7 @@ SMS version is not playing PSG sound on his Mark III with the FM unit. DEFINE_DEVICE_TYPE(SEGA_FM_UNIT, sega_fm_unit_device, "sega_fm_unit", "SG-1000 FM Sound Unit") -static MACHINE_CONFIG_START( fm_config ) +MACHINE_CONFIG_MEMBER( sega_fm_unit_device::device_add_mconfig ) MCFG_SOUND_ADD("ym2413", YM2413, XTAL_10_738635MHz/3) // if this output gain is changed, the gain set when unmute the output need // to be changed too, probably along the gain set for SMSJ/SMSKRFM drivers. @@ -58,13 +58,6 @@ static MACHINE_CONFIG_START( fm_config ) MACHINE_CONFIG_END -machine_config_constructor sega_fm_unit_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( fm_config ); -} - - - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/sg1000_exp/fm_unit.h b/src/devices/bus/sg1000_exp/fm_unit.h index 4206462da87..cb1ddd072db 100644 --- a/src/devices/bus/sg1000_exp/fm_unit.h +++ b/src/devices/bus/sg1000_exp/fm_unit.h @@ -35,7 +35,7 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // device_sg1000_expansion_slot_interface overrides virtual DECLARE_READ8_MEMBER(peripheral_r) override; diff --git a/src/devices/bus/sg1000_exp/sk1100.cpp b/src/devices/bus/sg1000_exp/sk1100.cpp index c59265994b7..d5cbd9d0183 100644 --- a/src/devices/bus/sg1000_exp/sk1100.cpp +++ b/src/devices/bus/sg1000_exp/sk1100.cpp @@ -154,7 +154,7 @@ ioport_constructor sega_sk1100_device::device_input_ports() const } -static MACHINE_CONFIG_START( sk1100_config ) +MACHINE_CONFIG_MEMBER( sega_sk1100_device::device_add_mconfig ) /* devices */ MCFG_DEVICE_ADD(UPD9255_0_TAG, I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(sega_sk1100_device, ppi_pa_r)) @@ -173,12 +173,6 @@ static MACHINE_CONFIG_START( sk1100_config ) MCFG_SOFTWARE_LIST_ADD("cass_list","sc3000_cass") MACHINE_CONFIG_END - -machine_config_constructor sega_sk1100_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sk1100_config ); -} - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/sg1000_exp/sk1100.h b/src/devices/bus/sg1000_exp/sk1100.h index 1679e5aea27..4845fe09e1c 100644 --- a/src/devices/bus/sg1000_exp/sk1100.h +++ b/src/devices/bus/sg1000_exp/sk1100.h @@ -38,14 +38,10 @@ public: // optional information overrides virtual ioport_constructor device_input_ports() const override; - DECLARE_READ8_MEMBER( ppi_pa_r ); - DECLARE_READ8_MEMBER( ppi_pb_r ); - DECLARE_WRITE8_MEMBER( ppi_pc_w ); - protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // device_sg1000_expansion_slot_interface overrides virtual DECLARE_READ8_MEMBER(peripheral_r) override; @@ -53,6 +49,10 @@ protected: virtual bool is_readable(uint8_t offset) override; private: + DECLARE_READ8_MEMBER( ppi_pa_r ); + DECLARE_READ8_MEMBER( ppi_pb_r ); + DECLARE_WRITE8_MEMBER( ppi_pc_w ); + required_device m_cassette; required_device m_ppi; required_ioport_array<8> m_pa; diff --git a/src/devices/bus/sms_ctrl/multitap.cpp b/src/devices/bus/sms_ctrl/multitap.cpp index 755a188e941..8adbb39fa13 100644 --- a/src/devices/bus/sms_ctrl/multitap.cpp +++ b/src/devices/bus/sms_ctrl/multitap.cpp @@ -120,8 +120,7 @@ void sms_multitap_device::peripheral_w(uint8_t data) //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- READ32_MEMBER( sms_multitap_device::pixel_r ) @@ -130,7 +129,7 @@ READ32_MEMBER( sms_multitap_device::pixel_r ) } -static MACHINE_CONFIG_START( multitap_slot ) +MACHINE_CONFIG_MEMBER( sms_multitap_device::device_add_mconfig ) // Controller subports setup, without the TH callback declaration, // because the circuit scheme shows TH of subports without connection. MCFG_SMS_CONTROL_PORT_ADD("ctrl1", sms_control_port_devices, "joypad") @@ -142,9 +141,3 @@ static MACHINE_CONFIG_START( multitap_slot ) MCFG_SMS_CONTROL_PORT_ADD("ctrl4", sms_control_port_devices, "joypad") MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(sms_multitap_device, pixel_r)) MACHINE_CONFIG_END - - -machine_config_constructor sms_multitap_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( multitap_slot ); -} diff --git a/src/devices/bus/sms_ctrl/multitap.h b/src/devices/bus/sms_ctrl/multitap.h index ad57e269237..87f8b091274 100644 --- a/src/devices/bus/sms_ctrl/multitap.h +++ b/src/devices/bus/sms_ctrl/multitap.h @@ -29,18 +29,18 @@ public: // construction/destruction sms_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_READ32_MEMBER(pixel_r); - protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // device_sms_control_port_interface overrides virtual uint8_t peripheral_r() override; virtual void peripheral_w(uint8_t data) override; private: + DECLARE_READ32_MEMBER(pixel_r); + required_device m_subctrl1_port; required_device m_subctrl2_port; required_device m_subctrl3_port; diff --git a/src/devices/bus/sms_ctrl/rfu.cpp b/src/devices/bus/sms_ctrl/rfu.cpp index 99a8529c028..635cefc3dc0 100644 --- a/src/devices/bus/sms_ctrl/rfu.cpp +++ b/src/devices/bus/sms_ctrl/rfu.cpp @@ -123,8 +123,7 @@ void sms_rapid_fire_device::peripheral_w(uint8_t data) //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- WRITE_LINE_MEMBER( sms_rapid_fire_device::th_pin_w ) @@ -139,14 +138,8 @@ READ32_MEMBER( sms_rapid_fire_device::pixel_r ) } -static MACHINE_CONFIG_START( rfire_slot ) +MACHINE_CONFIG_MEMBER( sms_rapid_fire_device::device_add_mconfig ) MCFG_SMS_CONTROL_PORT_ADD("ctrl", sms_control_port_devices, "joypad") MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(WRITELINE(sms_rapid_fire_device, th_pin_w)) MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(READ32(sms_rapid_fire_device, pixel_r)) MACHINE_CONFIG_END - - -machine_config_constructor sms_rapid_fire_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( rfire_slot ); -} diff --git a/src/devices/bus/sms_ctrl/rfu.h b/src/devices/bus/sms_ctrl/rfu.h index d40259aea09..e37203cdcc8 100644 --- a/src/devices/bus/sms_ctrl/rfu.h +++ b/src/devices/bus/sms_ctrl/rfu.h @@ -29,22 +29,22 @@ public: // construction/destruction sms_rapid_fire_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual ioport_constructor device_input_ports() const override; - - DECLARE_WRITE_LINE_MEMBER(th_pin_w); - DECLARE_READ32_MEMBER(pixel_r); - protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + + // optional information overrides + virtual ioport_constructor device_input_ports() const override; + virtual void device_add_mconfig(machine_config &config) override; // device_sms_control_port_interface overrides virtual uint8_t peripheral_r() override; virtual void peripheral_w(uint8_t data) override; private: + DECLARE_WRITE_LINE_MEMBER(th_pin_w); + DECLARE_READ32_MEMBER(pixel_r); + required_ioport m_rfire_sw; required_device m_subctrl_port; diff --git a/src/devices/bus/sms_exp/gender.cpp b/src/devices/bus/sms_exp/gender.cpp index a2e9650d5fd..b4f98e2a64f 100644 --- a/src/devices/bus/sms_exp/gender.cpp +++ b/src/devices/bus/sms_exp/gender.cpp @@ -92,16 +92,9 @@ WRITE8_MEMBER(sms_gender_adapter_device::write_ram) } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( genderadp_slot ) +MACHINE_CONFIG_MEMBER( sms_gender_adapter_device::device_add_mconfig ) MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr) MACHINE_CONFIG_END - - -machine_config_constructor sms_gender_adapter_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( genderadp_slot ); -} diff --git a/src/devices/bus/sms_exp/gender.h b/src/devices/bus/sms_exp/gender.h index 8fb3175d18a..5bc93cbad5c 100644 --- a/src/devices/bus/sms_exp/gender.h +++ b/src/devices/bus/sms_exp/gender.h @@ -42,7 +42,7 @@ public: protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: required_device m_subslot; diff --git a/src/devices/bus/snes/bsx.cpp b/src/devices/bus/snes/bsx.cpp index 0db57529bdb..0dafcaa52d1 100644 --- a/src/devices/bus/snes/bsx.cpp +++ b/src/devices/bus/snes/bsx.cpp @@ -233,38 +233,28 @@ void sns_rom_bsx_device::bsx_base::write(uint32_t offset, uint8_t data) } } -//------------------------------------------------- -// MACHINE_CONFIG_START( bs_slot ) -//------------------------------------------------- static SLOT_INTERFACE_START(bsx_cart) SLOT_INTERFACE_INTERNAL("bsmempak", SNS_BSMEMPAK) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( bs_slot ) + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( sns_rom_bsx_device::device_add_mconfig ) MCFG_SNS_BSX_CARTRIDGE_ADD("bs_slot", bsx_cart, nullptr) MACHINE_CONFIG_END +MACHINE_CONFIG_MEMBER( sns_rom_bsxlo_device::device_add_mconfig ) + MCFG_SNS_BSX_CARTRIDGE_ADD("bs_slot", bsx_cart, nullptr) +MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- +MACHINE_CONFIG_MEMBER( sns_rom_bsxhi_device::device_add_mconfig ) + MCFG_SNS_BSX_CARTRIDGE_ADD("bs_slot", bsx_cart, nullptr) +MACHINE_CONFIG_END -machine_config_constructor sns_rom_bsx_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( bs_slot ); -} - -machine_config_constructor sns_rom_bsxlo_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( bs_slot ); -} - -machine_config_constructor sns_rom_bsxhi_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( bs_slot ); -} /*------------------------------------------------- mapper specific handlers diff --git a/src/devices/bus/snes/bsx.h b/src/devices/bus/snes/bsx.h index 926959a7b32..24ce7b9f691 100644 --- a/src/devices/bus/snes/bsx.h +++ b/src/devices/bus/snes/bsx.h @@ -17,8 +17,6 @@ public: // construction/destruction sns_rom_bsx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // additional reading and writing virtual DECLARE_READ8_MEMBER(read_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -55,6 +53,8 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + void access_update(); // base regs @@ -83,8 +83,6 @@ public: // construction/destruction sns_rom_bsxlo_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // additional reading and writing virtual DECLARE_READ8_MEMBER(read_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -93,6 +91,8 @@ protected: // device-level overrides virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + private: required_device m_slot; }; @@ -105,8 +105,6 @@ public: // construction/destruction sns_rom_bsxhi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // additional reading and writing virtual DECLARE_READ8_MEMBER(read_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -115,6 +113,8 @@ protected: // device-level overrides virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + private: required_device m_slot; }; diff --git a/src/devices/bus/snes/event.cpp b/src/devices/bus/snes/event.cpp index 428a1afeae0..6b6e7c13abe 100644 --- a/src/devices/bus/snes/event.cpp +++ b/src/devices/bus/snes/event.cpp @@ -216,25 +216,15 @@ ADDRESS_MAP_END //------------------------------------------------- -// MACHINE_DRIVER( snes_dsp ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( snes_dsp_pfest94 ) +MACHINE_CONFIG_MEMBER( sns_pfest94_device::device_add_mconfig ) MCFG_CPU_ADD("dsp", UPD7725, 8000000) MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) MCFG_CPU_DATA_MAP(dsp_data_map_lorom) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sns_pfest94_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_pfest94 ); -} - //------------------------------------------------- // Dipswitch //------------------------------------------------- diff --git a/src/devices/bus/snes/event.h b/src/devices/bus/snes/event.h index dc20096ef67..13ace5100c9 100644 --- a/src/devices/bus/snes/event.h +++ b/src/devices/bus/snes/event.h @@ -18,10 +18,6 @@ public: // construction/destruction sns_pfest94_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - virtual void speedup_addon_bios_access() override; // reading and writing @@ -40,6 +36,10 @@ 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; + virtual ioport_constructor device_input_ports() const override; + required_device m_upd7725; required_ioport m_dsw; diff --git a/src/devices/bus/snes/sa1.cpp b/src/devices/bus/snes/sa1.cpp index 3ef3937bcce..c79ffff523b 100644 --- a/src/devices/bus/snes/sa1.cpp +++ b/src/devices/bus/snes/sa1.cpp @@ -1142,12 +1142,7 @@ static ADDRESS_MAP_START( sa1_map, AS_PROGRAM, 8, sns_sa1_device ) ADDRESS_MAP_END -static MACHINE_CONFIG_START( snes_sa1 ) +MACHINE_CONFIG_MEMBER( sns_sa1_device::device_add_mconfig ) MCFG_CPU_ADD("sa1cpu", G65816, 10000000) MCFG_CPU_PROGRAM_MAP(sa1_map) MACHINE_CONFIG_END - -machine_config_constructor sns_sa1_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_sa1 ); -} diff --git a/src/devices/bus/snes/sa1.h b/src/devices/bus/snes/sa1.h index 978505438ee..bfea8746a09 100644 --- a/src/devices/bus/snes/sa1.h +++ b/src/devices/bus/snes/sa1.h @@ -18,8 +18,6 @@ public: // construction/destruction sns_sa1_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_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -40,6 +38,8 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + private: uint8_t var_length_read(address_space &space, uint32_t offset); void dma_transfer(address_space &space); diff --git a/src/devices/bus/snes/sfx.cpp b/src/devices/bus/snes/sfx.cpp index 572a97e3a9a..3f6a9b1de79 100644 --- a/src/devices/bus/snes/sfx.cpp +++ b/src/devices/bus/snes/sfx.cpp @@ -85,17 +85,12 @@ WRITE_LINE_MEMBER(sns_rom_superfx_device::snes_extern_irq_w) } -static MACHINE_CONFIG_START( snes_sfx ) +MACHINE_CONFIG_MEMBER( sns_rom_superfx_device::device_add_mconfig ) MCFG_CPU_ADD("superfx", SUPERFX, 21480000) /* 21.48MHz */ MCFG_CPU_PROGRAM_MAP(sfx_map) MCFG_SUPERFX_OUT_IRQ(WRITELINE(sns_rom_superfx_device, snes_extern_irq_w)) /* IRQ line from cart */ MACHINE_CONFIG_END -machine_config_constructor sns_rom_superfx_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_sfx ); -} - READ8_MEMBER( sns_rom_superfx_device::chip_read ) { return m_superfx->mmio_read(offset); diff --git a/src/devices/bus/snes/sfx.h b/src/devices/bus/snes/sfx.h index 2eead080a0b..de0ad0a81c4 100644 --- a/src/devices/bus/snes/sfx.h +++ b/src/devices/bus/snes/sfx.h @@ -16,8 +16,6 @@ public: // construction/destruction sns_rom_superfx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // additional reading and writing virtual DECLARE_READ8_MEMBER(read_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -32,13 +30,16 @@ public: virtual DECLARE_WRITE8_MEMBER(superfx_w_bank1); virtual DECLARE_WRITE8_MEMBER(superfx_w_bank2); virtual DECLARE_WRITE8_MEMBER(superfx_w_bank3); - virtual DECLARE_WRITE_LINE_MEMBER(snes_extern_irq_w); protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + + virtual DECLARE_WRITE_LINE_MEMBER(snes_extern_irq_w); + required_device m_superfx; uint8_t sfx_ram[0x200000]; diff --git a/src/devices/bus/snes/sgb.cpp b/src/devices/bus/snes/sgb.cpp index 92efae7e347..05cbe7133b6 100644 --- a/src/devices/bus/snes/sgb.cpp +++ b/src/devices/bus/snes/sgb.cpp @@ -160,7 +160,7 @@ static SLOT_INTERFACE_START(supergb_cart) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( supergb ) +MACHINE_CONFIG_MEMBER( sns_rom_sgb1_device::device_add_mconfig ) MCFG_CPU_ADD("sgb_cpu", LR35902, 4295454) /* 4.295454 MHz */ MCFG_CPU_PROGRAM_MAP(supergb_map) MCFG_LR35902_TIMER_CB(WRITE8(sns_rom_sgb_device, gb_timer_callback)) @@ -174,12 +174,6 @@ static MACHINE_CONFIG_START( supergb ) MACHINE_CONFIG_END -machine_config_constructor sns_rom_sgb1_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( supergb ); -} - - ROM_START( supergb ) ROM_REGION(0x100, "sgb_cpu", 0) ROM_LOAD("sgb_boot.bin", 0x0000, 0x0100, CRC(ec8a83b9) SHA1(aa2f50a77dfb4823da96ba99309085a3c6278515)) @@ -192,7 +186,7 @@ const tiny_rom_entry *sns_rom_sgb1_device::device_rom_region() const } -static MACHINE_CONFIG_START( supergb2 ) +MACHINE_CONFIG_MEMBER( sns_rom_sgb2_device::device_add_mconfig ) MCFG_CPU_ADD("sgb_cpu", LR35902, XTAL_4_194304Mhz) /* 4.194MHz derived from clock on sgb2 pcb */ MCFG_CPU_PROGRAM_MAP(supergb_map) MCFG_LR35902_TIMER_CB(WRITE8(sns_rom_sgb_device, gb_timer_callback)) @@ -206,12 +200,6 @@ static MACHINE_CONFIG_START( supergb2 ) MACHINE_CONFIG_END -machine_config_constructor sns_rom_sgb2_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( supergb2 ); -} - - ROM_START( supergb2 ) ROM_REGION(0x100, "sgb_cpu", 0) ROM_LOAD("sgb2_boot.bin", 0x0000, 0x0100, CRC(53d0dd63) SHA1(93407ea10d2f30ab96a314d8eca44fe160aea734)) diff --git a/src/devices/bus/snes/sgb.h b/src/devices/bus/snes/sgb.h index 4c0a038bbb1..ff947c0283d 100644 --- a/src/devices/bus/snes/sgb.h +++ b/src/devices/bus/snes/sgb.h @@ -83,8 +83,9 @@ public: // construction/destruction sns_rom_sgb1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -95,8 +96,9 @@ public: // construction/destruction sns_rom_sgb2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; diff --git a/src/devices/bus/snes/sufami.cpp b/src/devices/bus/snes/sufami.cpp index 0f21da0634e..aed3545a9d7 100644 --- a/src/devices/bus/snes/sufami.cpp +++ b/src/devices/bus/snes/sufami.cpp @@ -45,30 +45,21 @@ void sns_rom_strom_device::device_start() { } -//------------------------------------------------- -// MACHINE_CONFIG_START( st_slot ) -//------------------------------------------------- static SLOT_INTERFACE_START(sufamiturbo_cart) SLOT_INTERFACE_INTERNAL("strom", SNS_STROM) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( st_slot ) + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( sns_rom_sufami_device::device_add_mconfig ) MCFG_SNS_SUFAMI_CARTRIDGE_ADD("st_slot1", sufamiturbo_cart, nullptr) MCFG_SNS_SUFAMI_CARTRIDGE_ADD("st_slot2", sufamiturbo_cart, nullptr) MACHINE_CONFIG_END - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sns_rom_sufami_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( st_slot ); -} - /*------------------------------------------------- mapper specific handlers -------------------------------------------------*/ diff --git a/src/devices/bus/snes/sufami.h b/src/devices/bus/snes/sufami.h index b9712e6cf43..6b4b3df3bea 100644 --- a/src/devices/bus/snes/sufami.h +++ b/src/devices/bus/snes/sufami.h @@ -17,8 +17,6 @@ public: // construction/destruction sns_rom_sufami_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - // additional reading and writing virtual DECLARE_READ8_MEMBER(read_l) override; virtual DECLARE_READ8_MEMBER(read_h) override; @@ -29,6 +27,8 @@ protected: // device-level overrides virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + private: required_device m_slot1; required_device m_slot2; diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp index 03ecbc998f4..67c5c19facb 100644 --- a/src/devices/bus/snes/upd.cpp +++ b/src/devices/bus/snes/upd.cpp @@ -127,25 +127,15 @@ ADDRESS_MAP_END //------------------------------------------------- -// MACHINE_DRIVER( snes_dsp ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( snes_dsp_lorom ) +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp_device::device_add_mconfig ) MCFG_CPU_ADD("dsp", UPD7725, 8000000) MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) MCFG_CPU_DATA_MAP(dsp_data_map_lorom) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sns_rom20_necdsp_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} - READ8_MEMBER( sns_rom20_necdsp_device::chip_read ) { offset &= 0x7fff; @@ -191,27 +181,16 @@ static ADDRESS_MAP_START( dsp_data_map_hirom, AS_DATA, 16, sns_rom21_necdsp_devi AM_RANGE(0x0000, 0x03ff) AM_READ(necdsp_data_r) ADDRESS_MAP_END - //------------------------------------------------- -// MACHINE_DRIVER( snes_dsp ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( snes_dsp_hirom ) +MACHINE_CONFIG_MEMBER( sns_rom21_necdsp_device::device_add_mconfig ) MCFG_CPU_ADD("dsp", UPD7725, 8000000) MCFG_CPU_PROGRAM_MAP(dsp_prg_map_hirom) MCFG_CPU_DATA_MAP(dsp_data_map_hirom) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sns_rom21_necdsp_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_hirom ); -} - READ8_MEMBER( sns_rom21_necdsp_device::chip_read ) { offset &= 0x1fff; @@ -312,40 +291,22 @@ ADDRESS_MAP_END //------------------------------------------------- -// MACHINE_DRIVER( snes_st010 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( snes_st010 ) +MACHINE_CONFIG_MEMBER( sns_rom_seta10dsp_device::device_add_mconfig ) MCFG_CPU_ADD("dsp", UPD96050, 10000000) MCFG_CPU_PROGRAM_MAP(st01x_prg_map) MCFG_CPU_DATA_MAP(st01x_data_map) MACHINE_CONFIG_END -//------------------------------------------------- -// MACHINE_DRIVER( snes_st011 ) -//------------------------------------------------- -static MACHINE_CONFIG_START( snes_st011 ) +MACHINE_CONFIG_MEMBER( sns_rom_seta11dsp_device::device_add_mconfig ) MCFG_CPU_ADD("dsp", UPD96050, 15000000) MCFG_CPU_PROGRAM_MAP(st01x_prg_map) MCFG_CPU_DATA_MAP(st01x_data_map) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor sns_rom_seta10dsp_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_st010 ); -} - -machine_config_constructor sns_rom_seta11dsp_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_st011 ); -} - // To make faster DSP access to its internal rom, let's install read banks and map m_bios there with correct byte order @@ -444,45 +405,53 @@ sns_rom_seta11dsp_legacy_device::sns_rom_seta11dsp_legacy_device(const machine_c } -machine_config_constructor sns_rom20_necdsp1_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp1_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) + MCFG_CPU_DATA_MAP(dsp_data_map_lorom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom20_necdsp1b_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp1b_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) + MCFG_CPU_DATA_MAP(dsp_data_map_lorom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom20_necdsp2_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp2_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) + MCFG_CPU_DATA_MAP(dsp_data_map_lorom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom20_necdsp3_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp3_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) + MCFG_CPU_DATA_MAP(dsp_data_map_lorom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom20_necdsp4_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_lorom ); -} +MACHINE_CONFIG_MEMBER( sns_rom20_necdsp4_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_lorom) + MCFG_CPU_DATA_MAP(dsp_data_map_lorom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom21_necdsp1_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_dsp_hirom ); -} +MACHINE_CONFIG_MEMBER( sns_rom21_necdsp1_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD7725, 8000000) + MCFG_CPU_PROGRAM_MAP(dsp_prg_map_hirom) + MCFG_CPU_DATA_MAP(dsp_data_map_hirom) +MACHINE_CONFIG_END -machine_config_constructor sns_rom_seta10dsp_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_st010 ); -} +MACHINE_CONFIG_MEMBER( sns_rom_seta10dsp_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD96050, 10000000) + MCFG_CPU_PROGRAM_MAP(st01x_prg_map) + MCFG_CPU_DATA_MAP(st01x_data_map) +MACHINE_CONFIG_END -machine_config_constructor sns_rom_seta11dsp_legacy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_st011 ); -} +MACHINE_CONFIG_MEMBER( sns_rom_seta11dsp_legacy_device::device_add_mconfig ) + MCFG_CPU_ADD("dsp", UPD96050, 15000000) + MCFG_CPU_PROGRAM_MAP(st01x_prg_map) + MCFG_CPU_DATA_MAP(st01x_data_map) +MACHINE_CONFIG_END ROM_START( snes_dsp1 ) diff --git a/src/devices/bus/snes/upd.h b/src/devices/bus/snes/upd.h index 161441d8bdd..b37e67be096 100644 --- a/src/devices/bus/snes/upd.h +++ b/src/devices/bus/snes/upd.h @@ -18,8 +18,6 @@ public: // construction/destruction sns_rom20_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; virtual void speedup_addon_bios_access() override; // additional reading and writing @@ -33,6 +31,9 @@ protected: sns_rom20_necdsp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); // device-level overrides + virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + required_device m_upd7725; std::vector m_dsp_prg; @@ -47,7 +48,6 @@ public: // construction/destruction sns_rom21_necdsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; virtual void speedup_addon_bios_access() override; // additional reading and writing @@ -62,6 +62,7 @@ protected: // device-level overrides virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; required_device m_upd7725; @@ -104,8 +105,9 @@ public: // construction/destruction sns_rom_seta10dsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; }; // ======================> sns_rom_seta11dsp_device [Faster CPU than ST010] @@ -116,8 +118,9 @@ public: // construction/destruction sns_rom_seta11dsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; }; @@ -137,8 +140,9 @@ public: // construction/destruction sns_rom20_necdsp1_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -148,8 +152,9 @@ public: // construction/destruction sns_rom20_necdsp1b_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -159,8 +164,9 @@ public: // construction/destruction sns_rom20_necdsp2_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -170,8 +176,9 @@ public: // construction/destruction sns_rom20_necdsp3_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -181,8 +188,9 @@ public: // construction/destruction sns_rom20_necdsp4_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -192,8 +200,9 @@ public: // construction/destruction sns_rom21_necdsp1_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -203,8 +212,9 @@ public: // construction/destruction sns_rom_seta10dsp_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; @@ -214,8 +224,9 @@ public: // construction/destruction sns_rom_seta11dsp_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; }; diff --git a/src/devices/bus/snes_ctrl/bcbattle.cpp b/src/devices/bus/snes_ctrl/bcbattle.cpp index 7adfa5780e2..9d8ac065e29 100644 --- a/src/devices/bus/snes_ctrl/bcbattle.cpp +++ b/src/devices/bus/snes_ctrl/bcbattle.cpp @@ -20,15 +20,10 @@ DEFINE_DEVICE_TYPE(SNES_BARCODE_BATTLER, snes_bcbattle_device, "snes_bcbattle", "Epoch Barcode Battler (SFC)") -MACHINE_CONFIG_START( snes_battler ) +MACHINE_CONFIG_MEMBER( snes_bcbattle_device::device_add_mconfig ) MCFG_BARCODE_READER_ADD("battler") MACHINE_CONFIG_END -machine_config_constructor snes_bcbattle_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_battler ); -} - //------------------------------------------------- // device_timer - handler timer events diff --git a/src/devices/bus/snes_ctrl/bcbattle.h b/src/devices/bus/snes_ctrl/bcbattle.h index 91d7eb8d76b..808a5332f68 100644 --- a/src/devices/bus/snes_ctrl/bcbattle.h +++ b/src/devices/bus/snes_ctrl/bcbattle.h @@ -28,14 +28,14 @@ public: // construction/destruction snes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; + virtual uint8_t read_pin4() override; virtual void write_strobe(uint8_t data) override; virtual void port_poll() override; diff --git a/src/devices/bus/snes_ctrl/miracle.cpp b/src/devices/bus/snes_ctrl/miracle.cpp index 895608e4d2f..f31eee7d848 100644 --- a/src/devices/bus/snes_ctrl/miracle.cpp +++ b/src/devices/bus/snes_ctrl/miracle.cpp @@ -23,18 +23,13 @@ DEFINE_DEVICE_TYPE(SNES_MIRACLE, snes_miracle_device, "snes_miracle", "Miracle Piano SNES Cable") -MACHINE_CONFIG_START( snes_miracle ) +MACHINE_CONFIG_MEMBER( snes_miracle_device::device_add_mconfig ) MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") MCFG_MIDI_RX_HANDLER(WRITELINE(snes_miracle_device, rx_w)) MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END -machine_config_constructor snes_miracle_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( snes_miracle ); -} - //------------------------------------------------- // device_timer - handler timer events diff --git a/src/devices/bus/snes_ctrl/miracle.h b/src/devices/bus/snes_ctrl/miracle.h index d7907840262..587ba741506 100644 --- a/src/devices/bus/snes_ctrl/miracle.h +++ b/src/devices/bus/snes_ctrl/miracle.h @@ -29,8 +29,6 @@ public: // construction/destruction snes_miracle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - protected: static constexpr device_timer_id TIMER_STROBE_ON = 0; @@ -42,6 +40,8 @@ protected: 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; + // serial overrides virtual void rcv_complete() override; // Rx completed receiving byte virtual void tra_complete() override; // Tx completed sending byte diff --git a/src/devices/bus/snes_ctrl/multitap.cpp b/src/devices/bus/snes_ctrl/multitap.cpp index e79f73280fb..9b41e4d6d48 100644 --- a/src/devices/bus/snes_ctrl/multitap.cpp +++ b/src/devices/bus/snes_ctrl/multitap.cpp @@ -41,7 +41,12 @@ static SLOT_INTERFACE_START( snes_multitap ) SLOT_INTERFACE("twintap", SNES_TWINTAP) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( multi5p ) + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( snes_multitap_device::device_add_mconfig ) MCFG_SNES_CONTROL_PORT_ADD("port1", snes_multitap, "joypad") MCFG_SNES_CONTROL_PORT_ADD("port2", snes_multitap, "joypad") MCFG_SNES_CONTROL_PORT_ADD("port3", snes_multitap, "joypad") @@ -49,17 +54,6 @@ static MACHINE_CONFIG_START( multi5p ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor snes_multitap_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( multi5p ); -} - - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/snes_ctrl/multitap.h b/src/devices/bus/snes_ctrl/multitap.h index b2f222c54ec..779744fe753 100644 --- a/src/devices/bus/snes_ctrl/multitap.h +++ b/src/devices/bus/snes_ctrl/multitap.h @@ -27,15 +27,15 @@ public: // construction/destruction snes_multitap_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual ioport_constructor device_input_ports() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual ioport_constructor device_input_ports() const override; + virtual void device_add_mconfig(machine_config &config) override; + // device_snes_control_port_interface overrides virtual uint8_t read_pin4() override; virtual uint8_t read_pin5() override; diff --git a/src/devices/bus/svi3x8/expander/sv601.cpp b/src/devices/bus/svi3x8/expander/sv601.cpp index d2042da7a7f..d290efacee0 100644 --- a/src/devices/bus/svi3x8/expander/sv601.cpp +++ b/src/devices/bus/svi3x8/expander/sv601.cpp @@ -17,11 +17,10 @@ DEFINE_DEVICE_TYPE(SV601, sv601_device, "sv601", "SV-601 Super Expander") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv601 ) +MACHINE_CONFIG_MEMBER( sv601_device::device_add_mconfig ) MCFG_SVI_SLOT_BUS_ADD MCFG_SVI_SLOT_INT_HANDLER(WRITELINE(sv601_device, int_w)) MCFG_SVI_SLOT_ROMDIS_HANDLER(WRITELINE(sv601_device, romdis_w)) @@ -35,11 +34,6 @@ static MACHINE_CONFIG_START( sv601 ) MCFG_SVI_SLOT_ADD("6", svi_slot_cards, nullptr) MACHINE_CONFIG_END -machine_config_constructor sv601_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv601 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/expander/sv601.h b/src/devices/bus/svi3x8/expander/sv601.h index 6689694c960..7918bc82441 100644 --- a/src/devices/bus/svi3x8/expander/sv601.h +++ b/src/devices/bus/svi3x8/expander/sv601.h @@ -44,7 +44,7 @@ public: virtual void bk32_w(int state) override; protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; private: diff --git a/src/devices/bus/svi3x8/expander/sv602.cpp b/src/devices/bus/svi3x8/expander/sv602.cpp index e21ce6d3524..de069c3ebbb 100644 --- a/src/devices/bus/svi3x8/expander/sv602.cpp +++ b/src/devices/bus/svi3x8/expander/sv602.cpp @@ -17,11 +17,10 @@ DEFINE_DEVICE_TYPE(SV602, sv602_device, "sv602", "SV-602 Single Slot Expander") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv602 ) +MACHINE_CONFIG_MEMBER( sv602_device::device_add_mconfig ) MCFG_SVI_SLOT_BUS_ADD MCFG_SVI_SLOT_INT_HANDLER(WRITELINE(sv602_device, int_w)) MCFG_SVI_SLOT_ROMDIS_HANDLER(WRITELINE(sv602_device, romdis_w)) @@ -29,11 +28,6 @@ static MACHINE_CONFIG_START( sv602 ) MCFG_SVI_SLOT_ADD("0", sv602_slot_cards, nullptr) MACHINE_CONFIG_END -machine_config_constructor sv602_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv602 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/expander/sv602.h b/src/devices/bus/svi3x8/expander/sv602.h index 041202e2a0c..bb59b93c7ee 100644 --- a/src/devices/bus/svi3x8/expander/sv602.h +++ b/src/devices/bus/svi3x8/expander/sv602.h @@ -27,11 +27,6 @@ public: // construction/destruction sv602_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // from slots - WRITE_LINE_MEMBER( int_w ); - WRITE_LINE_MEMBER( romdis_w ); - WRITE_LINE_MEMBER( ramdis_w ); - // from host virtual DECLARE_READ8_MEMBER( mreq_r ) override; virtual DECLARE_WRITE8_MEMBER( mreq_w ) override; @@ -44,10 +39,15 @@ public: virtual void bk32_w(int state) override; protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; private: + // from slots + WRITE_LINE_MEMBER( int_w ); + WRITE_LINE_MEMBER( romdis_w ); + WRITE_LINE_MEMBER( ramdis_w ); + required_device m_slotbus; }; diff --git a/src/devices/bus/svi3x8/expander/sv603.cpp b/src/devices/bus/svi3x8/expander/sv603.cpp index 3545a8006ee..bb7e24b77dc 100644 --- a/src/devices/bus/svi3x8/expander/sv603.cpp +++ b/src/devices/bus/svi3x8/expander/sv603.cpp @@ -34,11 +34,10 @@ const tiny_rom_entry *sv603_device::device_rom_region() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv603 ) +MACHINE_CONFIG_MEMBER( sv603_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("snd", SN76489A, XTAL_10_738635MHz / 3) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) @@ -50,11 +49,6 @@ static MACHINE_CONFIG_START( sv603 ) MCFG_SOFTWARE_LIST_ADD("cart_list", "coleco") MACHINE_CONFIG_END -machine_config_constructor sv603_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv603 ); -} - //************************************************************************** // CARTRIDGE diff --git a/src/devices/bus/svi3x8/expander/sv603.h b/src/devices/bus/svi3x8/expander/sv603.h index 68e72ddd46a..57d16521c17 100644 --- a/src/devices/bus/svi3x8/expander/sv603.h +++ b/src/devices/bus/svi3x8/expander/sv603.h @@ -39,7 +39,7 @@ public: protected: virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; virtual void device_reset() override; diff --git a/src/devices/bus/svi3x8/slot/sv801.cpp b/src/devices/bus/svi3x8/slot/sv801.cpp index a83128a7fc9..5dfa04efbb6 100644 --- a/src/devices/bus/svi3x8/slot/sv801.cpp +++ b/src/devices/bus/svi3x8/slot/sv801.cpp @@ -18,11 +18,6 @@ DEFINE_DEVICE_TYPE(SV801, sv801_device, "sv801", "SV-801 Disk Controller") -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - FLOPPY_FORMATS_MEMBER( sv801_device::floppy_formats ) FLOPPY_SVI_FORMAT FLOPPY_FORMATS_END @@ -31,7 +26,11 @@ static SLOT_INTERFACE_START( svi_floppies ) SLOT_INTERFACE("dd", FLOPPY_525_DD) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( sv801 ) +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( sv801_device::device_add_mconfig ) MCFG_FD1793_ADD("fdc", XTAL_8MHz / 8) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(sv801_device, intrq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(sv801_device, drq_w)) @@ -42,11 +41,6 @@ static MACHINE_CONFIG_START( sv801 ) MCFG_SOFTWARE_LIST_ADD("disk_list", "svi318_flop") MACHINE_CONFIG_END -machine_config_constructor sv801_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv801 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/slot/sv801.h b/src/devices/bus/svi3x8/slot/sv801.h index 3bed726e725..38dea1e55d0 100644 --- a/src/devices/bus/svi3x8/slot/sv801.h +++ b/src/devices/bus/svi3x8/slot/sv801.h @@ -28,22 +28,22 @@ public: // construction/destruction sv801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_FLOPPY_FORMATS(floppy_formats); - virtual DECLARE_READ8_MEMBER( iorq_r ) override; virtual DECLARE_WRITE8_MEMBER( iorq_w ) override; - DECLARE_WRITE_LINE_MEMBER( intrq_w ); - DECLARE_WRITE_LINE_MEMBER( drq_w ); - protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; virtual void device_reset() override; private: DECLARE_WRITE8_MEMBER( motor_w ); + DECLARE_WRITE_LINE_MEMBER( intrq_w ); + DECLARE_WRITE_LINE_MEMBER( drq_w ); + + DECLARE_FLOPPY_FORMATS(floppy_formats); + required_device m_fdc; required_device m_floppy0; required_device m_floppy1; diff --git a/src/devices/bus/svi3x8/slot/sv802.cpp b/src/devices/bus/svi3x8/slot/sv802.cpp index a818995122c..71f347cba62 100644 --- a/src/devices/bus/svi3x8/slot/sv802.cpp +++ b/src/devices/bus/svi3x8/slot/sv802.cpp @@ -17,22 +17,16 @@ DEFINE_DEVICE_TYPE(SV802, sv802_device, "sv802", "SV-802 Centronics Printer Interface") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv802 ) +MACHINE_CONFIG_MEMBER( sv802_device::device_add_mconfig ) MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sv802_device, busy_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MACHINE_CONFIG_END -machine_config_constructor sv802_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv802 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/slot/sv802.h b/src/devices/bus/svi3x8/slot/sv802.h index a38b9f34a18..2a06329c966 100644 --- a/src/devices/bus/svi3x8/slot/sv802.h +++ b/src/devices/bus/svi3x8/slot/sv802.h @@ -31,13 +31,13 @@ public: virtual DECLARE_READ8_MEMBER( iorq_r ) override; virtual DECLARE_WRITE8_MEMBER( iorq_w ) override; - DECLARE_WRITE_LINE_MEMBER( busy_w ); - protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; private: + DECLARE_WRITE_LINE_MEMBER( busy_w ); + required_device m_centronics; required_device m_cent_data_out; diff --git a/src/devices/bus/svi3x8/slot/sv805.cpp b/src/devices/bus/svi3x8/slot/sv805.cpp index 71a1b9599fe..5f9915fd271 100644 --- a/src/devices/bus/svi3x8/slot/sv805.cpp +++ b/src/devices/bus/svi3x8/slot/sv805.cpp @@ -17,11 +17,10 @@ DEFINE_DEVICE_TYPE(SV805, sv805_device, "sv805", "SV-805 RS-232 Interface") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv805 ) +MACHINE_CONFIG_MEMBER( sv805_device::device_add_mconfig ) MCFG_DEVICE_ADD("uart", INS8250, XTAL_3_072MHz) MCFG_INS8250_OUT_INT_CB(WRITELINE(sv805_device, uart_intr_w)) MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd)) @@ -35,11 +34,6 @@ static MACHINE_CONFIG_START( sv805 ) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart", ins8250_uart_device, cts_w)) MACHINE_CONFIG_END -machine_config_constructor sv805_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv805 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/slot/sv805.h b/src/devices/bus/svi3x8/slot/sv805.h index 1a0d6eb4253..3a6f350a490 100644 --- a/src/devices/bus/svi3x8/slot/sv805.h +++ b/src/devices/bus/svi3x8/slot/sv805.h @@ -31,13 +31,13 @@ public: virtual DECLARE_READ8_MEMBER( iorq_r ) override; virtual DECLARE_WRITE8_MEMBER( iorq_w ) override; - DECLARE_WRITE_LINE_MEMBER( uart_intr_w ); - protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; private: + DECLARE_WRITE_LINE_MEMBER( uart_intr_w ); + required_device m_uart; required_device m_rs232; }; diff --git a/src/devices/bus/svi3x8/slot/sv806.cpp b/src/devices/bus/svi3x8/slot/sv806.cpp index ef7d7cbce76..c8c5127c22b 100644 --- a/src/devices/bus/svi3x8/slot/sv806.cpp +++ b/src/devices/bus/svi3x8/slot/sv806.cpp @@ -36,11 +36,10 @@ const tiny_rom_entry *sv806_device::device_rom_region() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( sv806 ) +MACHINE_CONFIG_MEMBER( sv806_device::device_add_mconfig ) MCFG_SCREEN_ADD_MONOCHROME("80col", RASTER, rgb_t::green()) MCFG_SCREEN_RAW_PARAMS((XTAL_12MHz / 6) * 8, 864, 0, 640, 317, 0, 192) MCFG_SCREEN_UPDATE_DEVICE("crtc", hd6845_device, screen_update) @@ -53,11 +52,6 @@ static MACHINE_CONFIG_START( sv806 ) MCFG_MC6845_UPDATE_ROW_CB(sv806_device, crtc_update_row) MACHINE_CONFIG_END -machine_config_constructor sv806_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sv806 ); -} - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/svi3x8/slot/sv806.h b/src/devices/bus/svi3x8/slot/sv806.h index 4dd7006c3b1..4281755efb6 100644 --- a/src/devices/bus/svi3x8/slot/sv806.h +++ b/src/devices/bus/svi3x8/slot/sv806.h @@ -32,14 +32,14 @@ public: virtual DECLARE_READ8_MEMBER( iorq_r ) override; virtual DECLARE_WRITE8_MEMBER( iorq_w ) override; - MC6845_UPDATE_ROW(crtc_update_row); - protected: virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; private: + MC6845_UPDATE_ROW(crtc_update_row); + required_device m_crtc; required_device m_palette; required_memory_region m_gfx; diff --git a/src/devices/bus/ti99/gromport/cartridges.cpp b/src/devices/bus/ti99/gromport/cartridges.cpp index f38749502f9..f90d6a5fb6e 100644 --- a/src/devices/bus/ti99/gromport/cartridges.cpp +++ b/src/devices/bus/ti99/gromport/cartridges.cpp @@ -389,7 +389,7 @@ void ti99_cartridge_device::device_config_complete() /* 5 GROMs that may be contained in a cartridge */ -static MACHINE_CONFIG_START( ti99_cartridge ) +MACHINE_CONFIG_MEMBER( ti99_cartridge_device::device_add_mconfig ) MCFG_GROM_ADD( GROM3_TAG, 3, CARTGROM_TAG, 0x0000, WRITELINE(ti99_cartridge_device, ready_line)) MCFG_GROM_ADD( GROM4_TAG, 4, CARTGROM_TAG, 0x2000, WRITELINE(ti99_cartridge_device, ready_line)) MCFG_GROM_ADD( GROM5_TAG, 5, CARTGROM_TAG, 0x4000, WRITELINE(ti99_cartridge_device, ready_line)) @@ -397,10 +397,6 @@ static MACHINE_CONFIG_START( ti99_cartridge ) MCFG_GROM_ADD( GROM7_TAG, 7, CARTGROM_TAG, 0x8000, WRITELINE(ti99_cartridge_device, ready_line)) MACHINE_CONFIG_END -machine_config_constructor ti99_cartridge_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_cartridge ); -} /* Memory area for one cartridge. For most cartridges we only need 8 KiB for diff --git a/src/devices/bus/ti99/gromport/cartridges.h b/src/devices/bus/ti99/gromport/cartridges.h index fbeb835678d..1e4cc5b2956 100644 --- a/src/devices/bus/ti99/gromport/cartridges.h +++ b/src/devices/bus/ti99/gromport/cartridges.h @@ -83,7 +83,7 @@ public: protected: virtual void device_start() override { } virtual void device_config_complete() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry* device_rom_region() const override; // Image handling: implementation of methods which are abstract in the parent diff --git a/src/devices/bus/ti99/gromport/gkracker.cpp b/src/devices/bus/ti99/gromport/gkracker.cpp index 27dc80e0b08..3aadb7a1a7e 100644 --- a/src/devices/bus/ti99/gromport/gkracker.cpp +++ b/src/devices/bus/ti99/gromport/gkracker.cpp @@ -414,10 +414,6 @@ void ti99_gkracker_device::device_reset() m_grom_selected = false; } -static MACHINE_CONFIG_START( gkracker_slot ) - MCFG_DEVICE_ADD("cartridge", TI99_CART, 0) -MACHINE_CONFIG_END - /* The GRAMKracker ROM */ @@ -432,10 +428,9 @@ const tiny_rom_entry *ti99_gkracker_device::device_rom_region() const return ROM_NAME( gkracker_rom ); } -machine_config_constructor ti99_gkracker_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( gkracker_slot ); -} +MACHINE_CONFIG_MEMBER( ti99_gkracker_device::device_add_mconfig ) + MCFG_DEVICE_ADD("cartridge", TI99_CART, 0) +MACHINE_CONFIG_END INPUT_PORTS_START(gkracker) PORT_START( GKSWITCH1_TAG ) diff --git a/src/devices/bus/ti99/gromport/gkracker.h b/src/devices/bus/ti99/gromport/gkracker.h index d92c6e38c6f..dbc3e9ea14d 100644 --- a/src/devices/bus/ti99/gromport/gkracker.h +++ b/src/devices/bus/ti99/gromport/gkracker.h @@ -37,7 +37,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry* device_rom_region() const override; virtual ioport_constructor device_input_ports() const override; diff --git a/src/devices/bus/ti99/gromport/multiconn.cpp b/src/devices/bus/ti99/gromport/multiconn.cpp index 365deb4cab1..25b3201a6c6 100644 --- a/src/devices/bus/ti99/gromport/multiconn.cpp +++ b/src/devices/bus/ti99/gromport/multiconn.cpp @@ -296,18 +296,13 @@ void ti99_multi_cart_conn_device::device_reset(void) m_grom_selected = false; } -static MACHINE_CONFIG_START( multi_slot ) +MACHINE_CONFIG_MEMBER( ti99_multi_cart_conn_device::device_add_mconfig ) MCFG_DEVICE_ADD("cartridge1", TI99_CART, 0) MCFG_DEVICE_ADD("cartridge2", TI99_CART, 0) MCFG_DEVICE_ADD("cartridge3", TI99_CART, 0) MCFG_DEVICE_ADD("cartridge4", TI99_CART, 0) MACHINE_CONFIG_END -machine_config_constructor ti99_multi_cart_conn_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( multi_slot ); -} - INPUT_CHANGED_MEMBER( ti99_multi_cart_conn_device::switch_changed ) { if (TRACE_CHANGE) logerror("Slot changed %d - %d\n", (int)((uint64_t)param & 0x07), newval); diff --git a/src/devices/bus/ti99/gromport/multiconn.h b/src/devices/bus/ti99/gromport/multiconn.h index 75633dd088c..f79d0f868ab 100644 --- a/src/devices/bus/ti99/gromport/multiconn.h +++ b/src/devices/bus/ti99/gromport/multiconn.h @@ -42,7 +42,7 @@ protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; private: diff --git a/src/devices/bus/ti99/gromport/singleconn.cpp b/src/devices/bus/ti99/gromport/singleconn.cpp index 4cdc885212c..88472b1e003 100644 --- a/src/devices/bus/ti99/gromport/singleconn.cpp +++ b/src/devices/bus/ti99/gromport/singleconn.cpp @@ -83,14 +83,9 @@ void ti99_single_cart_conn_device::device_reset() m_cartridge->set_slot(0); } -static MACHINE_CONFIG_START( single_slot ) +MACHINE_CONFIG_MEMBER( ti99_single_cart_conn_device::device_add_mconfig ) MCFG_DEVICE_ADD("cartridge", TI99_CART, 0) MACHINE_CONFIG_END -machine_config_constructor ti99_single_cart_conn_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( single_slot ); -} - } } } // end namespace bus::ti99::gromport diff --git a/src/devices/bus/ti99/gromport/singleconn.h b/src/devices/bus/ti99/gromport/singleconn.h index 45f3093b312..8f02f208d72 100644 --- a/src/devices/bus/ti99/gromport/singleconn.h +++ b/src/devices/bus/ti99/gromport/singleconn.h @@ -32,7 +32,7 @@ public: protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: ti99_cartridge_device *m_cartridge; diff --git a/src/devices/bus/ti99/internal/998board.cpp b/src/devices/bus/ti99/internal/998board.cpp index 69495877181..28e01049671 100644 --- a/src/devices/bus/ti99/internal/998board.cpp +++ b/src/devices/bus/ti99/internal/998board.cpp @@ -1009,18 +1009,13 @@ void mainboard8_device::device_reset() m_space = &cpu->space(AS_PROGRAM); } -MACHINE_CONFIG_START( ti998_mainboard ) +MACHINE_CONFIG_MEMBER( mainboard8_device::device_add_mconfig ) MCFG_DEVICE_ADD(TI998_VAQUERRO_TAG, TI99_VAQUERRO, 0) MCFG_DEVICE_ADD(TI998_MOFETTA_TAG, TI99_MOFETTA, 0) MCFG_DEVICE_ADD(TI998_AMIGO_TAG, TI99_AMIGO, 0) MCFG_DEVICE_ADD(TI998_OSO_TAG, TI99_OSO, 0) MACHINE_CONFIG_END -machine_config_constructor mainboard8_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti998_mainboard ); -} - /*************************************************************************** ===== VAQUERRO: Logical Address Space decoder ===== diff --git a/src/devices/bus/ti99/internal/998board.h b/src/devices/bus/ti99/internal/998board.h index ffb64739963..45b154a590b 100644 --- a/src/devices/bus/ti99/internal/998board.h +++ b/src/devices/bus/ti99/internal/998board.h @@ -498,7 +498,7 @@ public: protected: void device_start() override; void device_reset() override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: // Holds the state of the A14 line diff --git a/src/devices/bus/ti99/peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp index b807e85122b..900eddcd422 100644 --- a/src/devices/bus/ti99/peb/bwg.cpp +++ b/src/devices/bus/ti99/peb/bwg.cpp @@ -688,7 +688,12 @@ static SLOT_INTERFACE_START( bwg_floppies ) SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // 80 tracks SLOT_INTERFACE_END -MACHINE_CONFIG_START( bwg_fdc ) +ROM_START( bwg_fdc ) + ROM_REGION(0x8000, TI99_DSRROM, 0) + ROM_LOAD("bwg_dsr.u15", 0x0000, 0x8000, CRC(06f1ec89) SHA1(6ad77033ed268f986d9a5439e65f7d391c4b7651)) /* BwG disk DSR ROM */ +ROM_END + +MACHINE_CONFIG_MEMBER( snug_bwg_device::device_add_mconfig ) MCFG_WD1773_ADD(FDC_TAG, XTAL_8MHz) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(snug_bwg_device, fdc_irq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(snug_bwg_device, fdc_drq_w)) @@ -711,16 +716,6 @@ MACHINE_CONFIG_START( bwg_fdc ) MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -ROM_START( bwg_fdc ) - ROM_REGION(0x8000, TI99_DSRROM, 0) - ROM_LOAD("bwg_dsr.u15", 0x0000, 0x8000, CRC(06f1ec89) SHA1(6ad77033ed268f986d9a5439e65f7d391c4b7651)) /* BwG disk DSR ROM */ -ROM_END - -machine_config_constructor snug_bwg_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( bwg_fdc ); -} - ioport_constructor snug_bwg_device::device_input_ports() const { return INPUT_PORTS_NAME( bwg_fdc ); diff --git a/src/devices/bus/ti99/peb/bwg.h b/src/devices/bus/ti99/peb/bwg.h index eb11d319410..59afa523eed 100644 --- a/src/devices/bus/ti99/peb/bwg.h +++ b/src/devices/bus/ti99/peb/bwg.h @@ -36,23 +36,23 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; - DECLARE_FLOPPY_FORMATS( floppy_formats ); - - DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); - protected: void device_start() override; void device_reset() override; void device_config_complete() override; const tiny_rom_entry *device_rom_region() const override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; ioport_constructor device_input_ports() const override; private: void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + DECLARE_FLOPPY_FORMATS( floppy_formats ); + + DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); + DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); + // Debugger accessors void debug_read(offs_t offset, uint8_t* value); void debug_write(offs_t offset, uint8_t data); diff --git a/src/devices/bus/ti99/peb/evpc.cpp b/src/devices/bus/ti99/peb/evpc.cpp index ffeaac2097b..173a3a607ef 100644 --- a/src/devices/bus/ti99/peb/evpc.cpp +++ b/src/devices/bus/ti99/peb/evpc.cpp @@ -443,23 +443,6 @@ ROM_START( ti99_evpc ) ROM_LOAD("evpc_dsr.u21", 0, 0x10000, CRC(a062b75d) SHA1(6e8060f86e3bb9c36f244d88825e3fe237bfe9a9)) /* evpc DSR ROM */ ROM_END -MACHINE_CONFIG_START( ti99_evpc ) - // video hardware - MCFG_V9938_ADD(TI_VDP_TAG, TI_SCREEN_TAG, 0x20000, XTAL_21_4772MHz) /* typical 9938 clock, not verified */ - MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(snug_enhanced_video_device, video_interrupt_in)) - MCFG_V99X8_SCREEN_ADD_NTSC(TI_SCREEN_TAG, TI_VDP_TAG, XTAL_21_4772MHz) - - // Sound hardware - MCFG_SPEAKER_STANDARD_MONO("sound_out") - MCFG_SOUND_ADD(TI_SOUNDCHIP_TAG, SN94624, 3579545/8) /* 3.579545 MHz */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "sound_out", 0.75) - MCFG_SN76496_READY_HANDLER( WRITELINE(snug_enhanced_video_device, ready_line) ) - - // Mouse connected to the color bus of the v9938 - MCFG_COLORBUS_MOUSE_ADD( COLORBUS_TAG ) - -MACHINE_CONFIG_END - /* Input ports for the EPVC */ @@ -495,9 +478,21 @@ ioport_constructor snug_enhanced_video_device::device_input_ports() const return INPUT_PORTS_NAME(ti99_evpc); } -machine_config_constructor snug_enhanced_video_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_evpc ); -} +MACHINE_CONFIG_MEMBER( snug_enhanced_video_device::device_add_mconfig ) + // video hardware + MCFG_V9938_ADD(TI_VDP_TAG, TI_SCREEN_TAG, 0x20000, XTAL_21_4772MHz) /* typical 9938 clock, not verified */ + MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(snug_enhanced_video_device, video_interrupt_in)) + MCFG_V99X8_SCREEN_ADD_NTSC(TI_SCREEN_TAG, TI_VDP_TAG, XTAL_21_4772MHz) + + // Sound hardware + MCFG_SPEAKER_STANDARD_MONO("sound_out") + MCFG_SOUND_ADD(TI_SOUNDCHIP_TAG, SN94624, 3579545/8) /* 3.579545 MHz */ + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "sound_out", 0.75) + MCFG_SN76496_READY_HANDLER( WRITELINE(snug_enhanced_video_device, ready_line) ) + + // Mouse connected to the color bus of the v9938 + MCFG_COLORBUS_MOUSE_ADD( COLORBUS_TAG ) + +MACHINE_CONFIG_END } } } // end namespace bus::ti99::peb diff --git a/src/devices/bus/ti99/peb/evpc.h b/src/devices/bus/ti99/peb/evpc.h index 3b5e9a1051f..66940733e15 100644 --- a/src/devices/bus/ti99/peb/evpc.h +++ b/src/devices/bus/ti99/peb/evpc.h @@ -34,11 +34,8 @@ public: DECLARE_WRITE8_MEMBER(write) override; DECLARE_SETADDRESS_DBIN_MEMBER(setaddress_dbin) override; - DECLARE_WRITE_LINE_MEMBER( ready_line ); - DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; - DECLARE_WRITE_LINE_MEMBER( video_interrupt_in ); TIMER_DEVICE_CALLBACK_MEMBER( hblank_interrupt ); @@ -58,13 +55,17 @@ protected: virtual const tiny_rom_entry *device_rom_region() const override; virtual ioport_constructor device_input_ports() const override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; void nvram_default() override; void nvram_read(emu_file &file) override; void nvram_write(emu_file &file) override; private: + DECLARE_WRITE_LINE_MEMBER( ready_line ); + + DECLARE_WRITE_LINE_MEMBER( video_interrupt_in ); + int m_address; int m_dsr_page; bool m_inDsrArea; diff --git a/src/devices/bus/ti99/peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp index f7de42cf4b5..160a699966a 100644 --- a/src/devices/bus/ti99/peb/hfdc.cpp +++ b/src/devices/bus/ti99/peb/hfdc.cpp @@ -1065,7 +1065,13 @@ static SLOT_INTERFACE_START( hfdc_harddisks ) SLOT_INTERFACE( "st251", MFMHD_ST251 ) // Seagate ST-251 (40 MB) SLOT_INTERFACE_END -MACHINE_CONFIG_START( ti99_hfdc ) +ROM_START( ti99_hfdc ) + ROM_REGION(0x4000, TI99_DSRROM, 0) + ROM_LOAD("hfdc_dsr.u34", 0x0000, 0x4000, CRC(66fbe0ed) SHA1(11df2ecef51de6f543e4eaf8b2529d3e65d0bd59)) /* HFDC disk DSR ROM */ +ROM_END + + +MACHINE_CONFIG_MEMBER( myarc_hfdc_device::device_add_mconfig ) MCFG_DEVICE_ADD(FDC_TAG, HDC9234, 0) MCFG_HDC92X4_INTRQ_CALLBACK(WRITELINE(myarc_hfdc_device, intrq_w)) MCFG_HDC92X4_DIP_CALLBACK(WRITELINE(myarc_hfdc_device, dip_w)) @@ -1097,17 +1103,6 @@ MACHINE_CONFIG_START( ti99_hfdc ) MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -ROM_START( ti99_hfdc ) - ROM_REGION(0x4000, TI99_DSRROM, 0) - ROM_LOAD("hfdc_dsr.u34", 0x0000, 0x4000, CRC(66fbe0ed) SHA1(11df2ecef51de6f543e4eaf8b2529d3e65d0bd59)) /* HFDC disk DSR ROM */ -ROM_END - - -machine_config_constructor myarc_hfdc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_hfdc ); -} - const tiny_rom_entry *myarc_hfdc_device::device_rom_region() const { return ROM_NAME( ti99_hfdc ); diff --git a/src/devices/bus/ti99/peb/hfdc.h b/src/devices/bus/ti99/peb/hfdc.h index 8a81a950735..1ac9ec925bd 100644 --- a/src/devices/bus/ti99/peb/hfdc.h +++ b/src/devices/bus/ti99/peb/hfdc.h @@ -43,15 +43,6 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; - DECLARE_WRITE_LINE_MEMBER( dmarq_w ); - DECLARE_WRITE_LINE_MEMBER( intrq_w ); - DECLARE_WRITE_LINE_MEMBER( dip_w ); - DECLARE_WRITE8_MEMBER( auxbus_out ); - DECLARE_READ8_MEMBER( read_buffer ); - DECLARE_WRITE8_MEMBER( write_buffer ); - - DECLARE_FLOPPY_FORMATS( floppy_formats ); - protected: void device_config_complete() override; @@ -61,9 +52,18 @@ private: void device_reset() override; const tiny_rom_entry *device_rom_region() const override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; ioport_constructor device_input_ports() const override; + DECLARE_WRITE_LINE_MEMBER( dmarq_w ); + DECLARE_WRITE_LINE_MEMBER( intrq_w ); + DECLARE_WRITE_LINE_MEMBER( dip_w ); + DECLARE_WRITE8_MEMBER( auxbus_out ); + DECLARE_READ8_MEMBER( read_buffer ); + DECLARE_WRITE8_MEMBER( write_buffer ); + + DECLARE_FLOPPY_FORMATS( floppy_formats ); + // Debug accessors void debug_read(offs_t offset, uint8_t* value); void debug_write(offs_t offset, uint8_t data); diff --git a/src/devices/bus/ti99/peb/horizon.cpp b/src/devices/bus/ti99/peb/horizon.cpp index 279fc0a3728..75dcd3dc492 100644 --- a/src/devices/bus/ti99/peb/horizon.cpp +++ b/src/devices/bus/ti99/peb/horizon.cpp @@ -474,7 +474,7 @@ INPUT_PORTS_START( horizon ) INPUT_PORTS_END -MACHINE_CONFIG_START( horizon ) +MACHINE_CONFIG_MEMBER( horizon_ramdisk_device::device_add_mconfig ) MCFG_RAM_ADD(NVRAMREGION) MCFG_RAM_DEFAULT_SIZE("16M") @@ -486,11 +486,6 @@ MACHINE_CONFIG_START( horizon ) MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor horizon_ramdisk_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( horizon ); -} - ioport_constructor horizon_ramdisk_device::device_input_ports() const { return INPUT_PORTS_NAME(horizon); diff --git a/src/devices/bus/ti99/peb/horizon.h b/src/devices/bus/ti99/peb/horizon.h index 50c6c8cccf2..76895f0c586 100644 --- a/src/devices/bus/ti99/peb/horizon.h +++ b/src/devices/bus/ti99/peb/horizon.h @@ -37,7 +37,7 @@ protected: void device_start() override; void device_reset() override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; void nvram_default() override; diff --git a/src/devices/bus/ti99/peb/hsgpl.cpp b/src/devices/bus/ti99/peb/hsgpl.cpp index 232218f4884..003559bed3b 100644 --- a/src/devices/bus/ti99/peb/hsgpl.cpp +++ b/src/devices/bus/ti99/peb/hsgpl.cpp @@ -696,7 +696,7 @@ INPUT_PORTS_START( ti99_hsgpl) PORT_DIPSETTING( 0x01, "Normal" ) INPUT_PORTS_END -MACHINE_CONFIG_START( ti99_hsgpl ) +MACHINE_CONFIG_MEMBER( snug_high_speed_gpl_device::device_add_mconfig ) MCFG_AT29C040A_ADD( DSR_EEPROM ) MCFG_AT29C040A_ADD( GROM_B_EEPROM ) MCFG_AT29C040A_ADD( GROM_A_EEPROM ) @@ -709,11 +709,6 @@ MACHINE_CONFIG_START( ti99_hsgpl ) MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor snug_high_speed_gpl_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_hsgpl ); -} - ioport_constructor snug_high_speed_gpl_device::device_input_ports() const { return INPUT_PORTS_NAME(ti99_hsgpl); diff --git a/src/devices/bus/ti99/peb/hsgpl.h b/src/devices/bus/ti99/peb/hsgpl.h index 49ebc3bb9d3..65cca91a081 100644 --- a/src/devices/bus/ti99/peb/hsgpl.h +++ b/src/devices/bus/ti99/peb/hsgpl.h @@ -40,7 +40,7 @@ protected: virtual void device_stop() override; virtual ioport_constructor device_input_ports() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: required_device m_dsr_eeprom; diff --git a/src/devices/bus/ti99/peb/memex.cpp b/src/devices/bus/ti99/peb/memex.cpp index a7cf3439c6c..da676479a1f 100644 --- a/src/devices/bus/ti99/peb/memex.cpp +++ b/src/devices/bus/ti99/peb/memex.cpp @@ -147,17 +147,12 @@ INPUT_PORTS_START( memex ) PORT_DIPSETTING( MDIP8, "Lock out pages FC-FF") INPUT_PORTS_END -MACHINE_CONFIG_START( memex ) +MACHINE_CONFIG_MEMBER( geneve_memex_device::device_add_mconfig ) MCFG_RAM_ADD(RAMREGION) MCFG_RAM_DEFAULT_SIZE("2M") MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor geneve_memex_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( memex ); -} - ioport_constructor geneve_memex_device::device_input_ports() const { return INPUT_PORTS_NAME( memex ); diff --git a/src/devices/bus/ti99/peb/memex.h b/src/devices/bus/ti99/peb/memex.h index f6ebd62674b..3aa44429dc0 100644 --- a/src/devices/bus/ti99/peb/memex.h +++ b/src/devices/bus/ti99/peb/memex.h @@ -34,7 +34,7 @@ public: protected: void device_start() override; void device_reset() override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; private: diff --git a/src/devices/bus/ti99/peb/myarcmem.cpp b/src/devices/bus/ti99/peb/myarcmem.cpp index fe92e7305b9..9ea4e98976a 100644 --- a/src/devices/bus/ti99/peb/myarcmem.cpp +++ b/src/devices/bus/ti99/peb/myarcmem.cpp @@ -195,16 +195,12 @@ ROM_START( myarc_exp ) ROM_LOAD("myarc512k_xb2_dsr.bin", 0x0000, 0x2000, CRC(41fbb96d) SHA1(4dc7fdfa46842957bcbb0cf2c37764e4bb6d877a)) /* DSR for Ramdisk etc. */ ROM_END -MACHINE_CONFIG_START( myarc_exp ) +MACHINE_CONFIG_MEMBER( myarc_memory_expansion_device::device_add_mconfig ) MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("512k") MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor myarc_memory_expansion_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( myarc_exp ); -} const tiny_rom_entry *myarc_memory_expansion_device::device_rom_region() const { diff --git a/src/devices/bus/ti99/peb/myarcmem.h b/src/devices/bus/ti99/peb/myarcmem.h index 4fca0e44f41..3ea9d52419a 100644 --- a/src/devices/bus/ti99/peb/myarcmem.h +++ b/src/devices/bus/ti99/peb/myarcmem.h @@ -35,7 +35,7 @@ protected: void device_reset() override; const tiny_rom_entry *device_rom_region() const override; ioport_constructor device_input_ports() const override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: int get_base(int offset); diff --git a/src/devices/bus/ti99/peb/pcode.cpp b/src/devices/bus/ti99/peb/pcode.cpp index 3e9ef14b330..4e09b5a4739 100644 --- a/src/devices/bus/ti99/peb/pcode.cpp +++ b/src/devices/bus/ti99/peb/pcode.cpp @@ -327,17 +327,6 @@ INPUT_CHANGED_MEMBER( ti_pcode_card_device::switch_changed ) } -MACHINE_CONFIG_START( ti99_pcode ) - MCFG_GROM_ADD( PGROM0_TAG, 0, PCODE_GROM_TAG, 0x0000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM1_TAG, 1, PCODE_GROM_TAG, 0x2000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM2_TAG, 2, PCODE_GROM_TAG, 0x4000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM3_TAG, 3, PCODE_GROM_TAG, 0x6000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM4_TAG, 4, PCODE_GROM_TAG, 0x8000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM5_TAG, 5, PCODE_GROM_TAG, 0xa000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM6_TAG, 6, PCODE_GROM_TAG, 0xc000, WRITELINE(ti_pcode_card_device, ready_line)) - MCFG_GROM_ADD( PGROM7_TAG, 7, PCODE_GROM_TAG, 0xe000, WRITELINE(ti_pcode_card_device, ready_line)) -MACHINE_CONFIG_END - INPUT_PORTS_START( ti99_pcode ) PORT_START( ACTIVE_TAG ) PORT_DIPNAME( 0x01, 0x00, "P-Code activation switch" ) PORT_CHANGED_MEMBER(DEVICE_SELF, ti_pcode_card_device, switch_changed, nullptr) @@ -363,10 +352,16 @@ ROM_START( ti99_pcode ) ROM_LOAD("pcode_rom1.u18", 0x1000, 0x2000, CRC(46a06b8b) SHA1(24e2608179921aef312cdee6f455e3f46deb30d0)) /* TI P-Code card rom4764 */ ROM_END -machine_config_constructor ti_pcode_card_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_pcode ); -} +MACHINE_CONFIG_MEMBER( ti_pcode_card_device::device_add_mconfig ) + MCFG_GROM_ADD( PGROM0_TAG, 0, PCODE_GROM_TAG, 0x0000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM1_TAG, 1, PCODE_GROM_TAG, 0x2000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM2_TAG, 2, PCODE_GROM_TAG, 0x4000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM3_TAG, 3, PCODE_GROM_TAG, 0x6000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM4_TAG, 4, PCODE_GROM_TAG, 0x8000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM5_TAG, 5, PCODE_GROM_TAG, 0xa000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM6_TAG, 6, PCODE_GROM_TAG, 0xc000, WRITELINE(ti_pcode_card_device, ready_line)) + MCFG_GROM_ADD( PGROM7_TAG, 7, PCODE_GROM_TAG, 0xe000, WRITELINE(ti_pcode_card_device, ready_line)) +MACHINE_CONFIG_END const tiny_rom_entry *ti_pcode_card_device::device_rom_region() const { diff --git a/src/devices/bus/ti99/peb/pcode.h b/src/devices/bus/ti99/peb/pcode.h index 0447813c760..21b77ff9cd8 100644 --- a/src/devices/bus/ti99/peb/pcode.h +++ b/src/devices/bus/ti99/peb/pcode.h @@ -34,7 +34,6 @@ public: DECLARE_WRITE_LINE_MEMBER(clock_in) override; - DECLARE_WRITE_LINE_MEMBER( ready_line ); DECLARE_INPUT_CHANGED_MEMBER( switch_changed ); protected: @@ -42,10 +41,12 @@ protected: virtual void device_reset() override; virtual void device_config_complete() override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; private: + DECLARE_WRITE_LINE_MEMBER( ready_line ); + void debugger_read(address_space& space, uint16_t addr, uint8_t& value); tmc0430_device* m_grom[8]; uint8_t* m_rom; diff --git a/src/devices/bus/ti99/peb/samsmem.cpp b/src/devices/bus/ti99/peb/samsmem.cpp index ed407c157a1..27e62b8c03c 100644 --- a/src/devices/bus/ti99/peb/samsmem.cpp +++ b/src/devices/bus/ti99/peb/samsmem.cpp @@ -112,17 +112,12 @@ WRITE8_MEMBER(sams_memory_expansion_device::cruwrite) } } -MACHINE_CONFIG_START( sams_mem ) +MACHINE_CONFIG_MEMBER( sams_memory_expansion_device::device_add_mconfig ) MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("1M") MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor sams_memory_expansion_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( sams_mem ); -} - void sams_memory_expansion_device::device_start() { save_pointer(NAME(m_mapper),16); diff --git a/src/devices/bus/ti99/peb/samsmem.h b/src/devices/bus/ti99/peb/samsmem.h index efd25ddb208..cd28b34eabf 100644 --- a/src/devices/bus/ti99/peb/samsmem.h +++ b/src/devices/bus/ti99/peb/samsmem.h @@ -32,12 +32,12 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; - machine_config_constructor device_mconfig_additions() const override; - protected: void device_start() override; void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + private: // Console RAM required_device m_ram; diff --git a/src/devices/bus/ti99/peb/spchsyn.cpp b/src/devices/bus/ti99/peb/spchsyn.cpp index ea458bdcfc1..0ef3def4a56 100644 --- a/src/devices/bus/ti99/peb/spchsyn.cpp +++ b/src/devices/bus/ti99/peb/spchsyn.cpp @@ -153,7 +153,13 @@ void ti_speech_synthesizer_device::device_reset() m_sbe = false; } -MACHINE_CONFIG_START( ti99_speech ) +ROM_START( ti99_speech ) + ROM_REGION(0x8000, "vsm", 0) + ROM_LOAD("cd2325a.u2a", 0x0000, 0x4000, CRC(1f58b571) SHA1(0ef4f178716b575a1c0c970c56af8a8d97561ffe)) // at location u2, bottom of stack + ROM_LOAD("cd2326a.u2b", 0x4000, 0x4000, CRC(65d00401) SHA1(a367242c2c96cebf0e2bf21862f3f6734b2b3020)) // at location u2, top of stack +ROM_END + +MACHINE_CONFIG_MEMBER( ti_speech_synthesizer_device::device_add_mconfig ) MCFG_DEVICE_ADD("vsm", SPEECHROM, 0) MCFG_SPEAKER_STANDARD_MONO("mono") @@ -163,17 +169,6 @@ MACHINE_CONFIG_START( ti99_speech ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END -ROM_START( ti99_speech ) - ROM_REGION(0x8000, "vsm", 0) - ROM_LOAD("cd2325a.u2a", 0x0000, 0x4000, CRC(1f58b571) SHA1(0ef4f178716b575a1c0c970c56af8a8d97561ffe)) // at location u2, bottom of stack - ROM_LOAD("cd2326a.u2b", 0x4000, 0x4000, CRC(65d00401) SHA1(a367242c2c96cebf0e2bf21862f3f6734b2b3020)) // at location u2, top of stack -ROM_END - -machine_config_constructor ti_speech_synthesizer_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti99_speech ); -} - const tiny_rom_entry *ti_speech_synthesizer_device::device_rom_region() const { return ROM_NAME( ti99_speech ); diff --git a/src/devices/bus/ti99/peb/spchsyn.h b/src/devices/bus/ti99/peb/spchsyn.h index acbb9a8a4f5..90590f92973 100644 --- a/src/devices/bus/ti99/peb/spchsyn.h +++ b/src/devices/bus/ti99/peb/spchsyn.h @@ -31,15 +31,15 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override { } DECLARE_WRITE8_MEMBER(cruwrite) override { } - DECLARE_WRITE_LINE_MEMBER( speech_ready ); - protected: virtual void device_start() override; virtual void device_reset() override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: + DECLARE_WRITE_LINE_MEMBER( speech_ready ); + address_space* m_space; cd2501e_device* m_vsp; bool m_reading; diff --git a/src/devices/bus/ti99/peb/ti_32kmem.cpp b/src/devices/bus/ti99/peb/ti_32kmem.cpp index 90c2dae1363..02cf5668534 100644 --- a/src/devices/bus/ti99/peb/ti_32kmem.cpp +++ b/src/devices/bus/ti99/peb/ti_32kmem.cpp @@ -100,15 +100,10 @@ void ti_32k_expcard_device::device_start() { } -MACHINE_CONFIG_START( mem32k ) +MACHINE_CONFIG_MEMBER( ti_32k_expcard_device::device_add_mconfig ) MCFG_RAM_ADD(RAMREGION) MCFG_RAM_DEFAULT_SIZE("32k") MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor ti_32k_expcard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mem32k ); -} - } } } // end namespace bus::ti99::peb diff --git a/src/devices/bus/ti99/peb/ti_32kmem.h b/src/devices/bus/ti99/peb/ti_32kmem.h index ea91a719cbc..0ff492ca1c7 100644 --- a/src/devices/bus/ti99/peb/ti_32kmem.h +++ b/src/devices/bus/ti99/peb/ti_32kmem.h @@ -33,7 +33,7 @@ public: protected: void device_start() override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: required_device m_ram; diff --git a/src/devices/bus/ti99/peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp index 314c570f893..dea17a77c85 100644 --- a/src/devices/bus/ti99/peb/ti_fdc.cpp +++ b/src/devices/bus/ti99/peb/ti_fdc.cpp @@ -455,7 +455,13 @@ static SLOT_INTERFACE_START( tifdc_floppies ) SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) SLOT_INTERFACE_END -MACHINE_CONFIG_START( ti_fdc ) +ROM_START( ti_fdc ) + ROM_REGION(0x2000, TI99_DSRROM, 0) + ROM_LOAD("fdc_dsr.u26", 0x0000, 0x1000, CRC(693c6b6e) SHA1(0c24fb4944843ad3f08b0b139244a6bb05e1c6c2)) /* TI disk DSR ROM first 4K */ + ROM_LOAD("fdc_dsr.u27", 0x1000, 0x1000, CRC(2c921087) SHA1(3646c3bcd2dce16b918ee01ea65312f36ae811d2)) /* TI disk DSR ROM second 4K */ +ROM_END + +MACHINE_CONFIG_MEMBER( ti_fdc_device::device_add_mconfig ) MCFG_FD1771_ADD(FDC_TAG, XTAL_1MHz) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(ti_fdc_device, fdc_irq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(ti_fdc_device, fdc_drq_w)) @@ -467,17 +473,6 @@ MACHINE_CONFIG_START( ti_fdc ) MCFG_FLOPPY_DRIVE_SOUND(true) MACHINE_CONFIG_END -ROM_START( ti_fdc ) - ROM_REGION(0x2000, TI99_DSRROM, 0) - ROM_LOAD("fdc_dsr.u26", 0x0000, 0x1000, CRC(693c6b6e) SHA1(0c24fb4944843ad3f08b0b139244a6bb05e1c6c2)) /* TI disk DSR ROM first 4K */ - ROM_LOAD("fdc_dsr.u27", 0x1000, 0x1000, CRC(2c921087) SHA1(3646c3bcd2dce16b918ee01ea65312f36ae811d2)) /* TI disk DSR ROM second 4K */ -ROM_END - -machine_config_constructor ti_fdc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti_fdc ); -} - const tiny_rom_entry *ti_fdc_device::device_rom_region() const { return ROM_NAME( ti_fdc ); diff --git a/src/devices/bus/ti99/peb/ti_fdc.h b/src/devices/bus/ti99/peb/ti_fdc.h index 4fb47f3bc78..a5c3d16f04d 100644 --- a/src/devices/bus/ti99/peb/ti_fdc.h +++ b/src/devices/bus/ti99/peb/ti_fdc.h @@ -33,10 +33,6 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; - DECLARE_FLOPPY_FORMATS( floppy_formats ); - - DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); - DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); // bool dvena_r(); protected: @@ -45,11 +41,16 @@ protected: void device_config_complete() override; const tiny_rom_entry *device_rom_region() const override; - machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; private: + DECLARE_FLOPPY_FORMATS( floppy_formats ); + + DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); + DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); + // For debugger access void debug_read(offs_t offset, uint8_t* value); diff --git a/src/devices/bus/ti99/peb/ti_rs232.cpp b/src/devices/bus/ti99/peb/ti_rs232.cpp index 6cd651a113e..b5d622bb36e 100644 --- a/src/devices/bus/ti99/peb/ti_rs232.cpp +++ b/src/devices/bus/ti99/peb/ti_rs232.cpp @@ -1118,22 +1118,6 @@ void ti_rs232_pio_device::device_reset() incoming_dtr(1, ASSERT_LINE); } -static MACHINE_CONFIG_START( ti_rs232 ) - MCFG_DEVICE_ADD("tms9902_0", TMS9902, 3000000) - MCFG_TMS9902_INT_CB(WRITELINE(ti_rs232_pio_device, int0_callback)) /* called when interrupt pin state changes */ - MCFG_TMS9902_RCV_CB(WRITELINE(ti_rs232_pio_device, rcv0_callback)) /* called when a character is received */ - MCFG_TMS9902_XMIT_CB(WRITE8(ti_rs232_pio_device, xmit0_callback)) /* called when a character is transmitted */ - MCFG_TMS9902_CTRL_CB(WRITE8(ti_rs232_pio_device, ctrl0_callback)) - MCFG_DEVICE_ADD("tms9902_1", TMS9902, 3000000) - MCFG_TMS9902_INT_CB(WRITELINE(ti_rs232_pio_device, int1_callback)) /* called when interrupt pin state changes */ - MCFG_TMS9902_RCV_CB(WRITELINE(ti_rs232_pio_device, rcv1_callback)) /* called when a character is received */ - MCFG_TMS9902_XMIT_CB(WRITE8(ti_rs232_pio_device, xmit1_callback)) /* called when a character is transmitted */ - MCFG_TMS9902_CTRL_CB(WRITE8(ti_rs232_pio_device, ctrl1_callback)) - MCFG_DEVICE_ADD("serdev0", TI99_RS232_DEV, 0) - MCFG_DEVICE_ADD("serdev1", TI99_RS232_DEV, 0) - MCFG_DEVICE_ADD("piodev", TI99_PIO_DEV, 0) -MACHINE_CONFIG_END - ROM_START( ti_rs232 ) ROM_REGION(0x1000, TI99_DSRROM, 0) ROM_LOAD("rs232pio_dsr.u1", 0x0000, 0x1000, CRC(eab382fb) SHA1(ee609a18a21f1a3ddab334e8798d5f2a0fcefa91)) /* TI rs232 DSR ROM */ @@ -1152,10 +1136,21 @@ INPUT_PORTS_START( ti_rs232 ) PORT_CONFSETTING( 0x02, "5-20" ) INPUT_PORTS_END -machine_config_constructor ti_rs232_pio_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti_rs232 ); -} +MACHINE_CONFIG_MEMBER( ti_rs232_pio_device::device_add_mconfig ) + MCFG_DEVICE_ADD("tms9902_0", TMS9902, 3000000) + MCFG_TMS9902_INT_CB(WRITELINE(ti_rs232_pio_device, int0_callback)) /* called when interrupt pin state changes */ + MCFG_TMS9902_RCV_CB(WRITELINE(ti_rs232_pio_device, rcv0_callback)) /* called when a character is received */ + MCFG_TMS9902_XMIT_CB(WRITE8(ti_rs232_pio_device, xmit0_callback)) /* called when a character is transmitted */ + MCFG_TMS9902_CTRL_CB(WRITE8(ti_rs232_pio_device, ctrl0_callback)) + MCFG_DEVICE_ADD("tms9902_1", TMS9902, 3000000) + MCFG_TMS9902_INT_CB(WRITELINE(ti_rs232_pio_device, int1_callback)) /* called when interrupt pin state changes */ + MCFG_TMS9902_RCV_CB(WRITELINE(ti_rs232_pio_device, rcv1_callback)) /* called when a character is received */ + MCFG_TMS9902_XMIT_CB(WRITE8(ti_rs232_pio_device, xmit1_callback)) /* called when a character is transmitted */ + MCFG_TMS9902_CTRL_CB(WRITE8(ti_rs232_pio_device, ctrl1_callback)) + MCFG_DEVICE_ADD("serdev0", TI99_RS232_DEV, 0) + MCFG_DEVICE_ADD("serdev1", TI99_RS232_DEV, 0) + MCFG_DEVICE_ADD("piodev", TI99_PIO_DEV, 0) +MACHINE_CONFIG_END const tiny_rom_entry *ti_rs232_pio_device::device_rom_region() const { diff --git a/src/devices/bus/ti99/peb/ti_rs232.h b/src/devices/bus/ti99/peb/ti_rs232.h index 5a38495bf93..d6ef84c45b9 100644 --- a/src/devices/bus/ti99/peb/ti_rs232.h +++ b/src/devices/bus/ti99/peb/ti_rs232.h @@ -36,6 +36,15 @@ public: DECLARE_READ8Z_MEMBER(crureadz) override; DECLARE_WRITE8_MEMBER(cruwrite) override; +protected: + virtual void device_start() override; + virtual void device_reset() override; + virtual void device_stop() override; + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; + +private: DECLARE_WRITE_LINE_MEMBER( int0_callback ); DECLARE_WRITE_LINE_MEMBER( int1_callback ); DECLARE_WRITE_LINE_MEMBER( rcv0_callback ); @@ -45,15 +54,6 @@ public: DECLARE_WRITE8_MEMBER( ctrl0_callback ); DECLARE_WRITE8_MEMBER( ctrl1_callback ); -protected: - virtual void device_start() override; - virtual void device_reset() override; - virtual void device_stop() override; - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - -private: void incoming_dtr(int uartind, line_state value); void transmit_data(int uartind, uint8_t value); uint8_t map_lines_out(int uartind, uint8_t value); diff --git a/src/devices/bus/ti99/peb/tn_ide.cpp b/src/devices/bus/ti99/peb/tn_ide.cpp index c5235403dbd..67b00c8dfe5 100644 --- a/src/devices/bus/ti99/peb/tn_ide.cpp +++ b/src/devices/bus/ti99/peb/tn_ide.cpp @@ -345,17 +345,6 @@ void nouspikel_ide_interface_device::device_reset() m_tms9995_mode = false; // (device->type()==TMS9995); } -MACHINE_CONFIG_START( tn_ide ) - MCFG_DEVICE_ADD( "ide_rtc", RTC65271, 0 ) - MCFG_RTC65271_INTERRUPT_CB(WRITELINE(nouspikel_ide_interface_device, clock_interrupt_callback)) - MCFG_ATA_INTERFACE_ADD( "ata", ata_devices, "hdd", nullptr, false) - MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(nouspikel_ide_interface_device, ide_interrupt_callback)) - - MCFG_RAM_ADD(RAMREGION) - MCFG_RAM_DEFAULT_SIZE("512K") - MCFG_RAM_DEFAULT_VALUE(0) -MACHINE_CONFIG_END - INPUT_PORTS_START( tn_ide ) PORT_START( "CRUIDE" ) PORT_DIPNAME( 0x1f00, 0x1000, "IDE CRU base" ) @@ -377,10 +366,16 @@ INPUT_PORTS_START( tn_ide ) PORT_DIPSETTING( 0x1f00, "1F00" ) INPUT_PORTS_END -machine_config_constructor nouspikel_ide_interface_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( tn_ide ); -} +MACHINE_CONFIG_MEMBER( nouspikel_ide_interface_device::device_add_mconfig ) + MCFG_DEVICE_ADD( "ide_rtc", RTC65271, 0 ) + MCFG_RTC65271_INTERRUPT_CB(WRITELINE(nouspikel_ide_interface_device, clock_interrupt_callback)) + MCFG_ATA_INTERFACE_ADD( "ata", ata_devices, "hdd", nullptr, false) + MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(nouspikel_ide_interface_device, ide_interrupt_callback)) + + MCFG_RAM_ADD(RAMREGION) + MCFG_RAM_DEFAULT_SIZE("512K") + MCFG_RAM_DEFAULT_VALUE(0) +MACHINE_CONFIG_END ioport_constructor nouspikel_ide_interface_device::device_input_ports() const { diff --git a/src/devices/bus/ti99/peb/tn_ide.h b/src/devices/bus/ti99/peb/tn_ide.h index 993fb28f561..b039d29cf57 100644 --- a/src/devices/bus/ti99/peb/tn_ide.h +++ b/src/devices/bus/ti99/peb/tn_ide.h @@ -37,16 +37,16 @@ public: bool m_ata_irq; int m_cru_register; - DECLARE_WRITE_LINE_MEMBER(clock_interrupt_callback); - DECLARE_WRITE_LINE_MEMBER(ide_interrupt_callback); - protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; private: + DECLARE_WRITE_LINE_MEMBER(clock_interrupt_callback); + DECLARE_WRITE_LINE_MEMBER(ide_interrupt_callback); + rtc65271_device* m_rtc; required_device m_ata; diff --git a/src/devices/bus/ti99/peb/tn_usbsm.cpp b/src/devices/bus/ti99/peb/tn_usbsm.cpp index e726e01d8f2..2a0a5629b94 100644 --- a/src/devices/bus/ti99/peb/tn_usbsm.cpp +++ b/src/devices/bus/ti99/peb/tn_usbsm.cpp @@ -360,7 +360,7 @@ INPUT_PORTS_START( tn_usbsm ) PORT_DIPSETTING( 0x01, "Geneve mode") INPUT_PORTS_END -MACHINE_CONFIG_START( tn_usbsm ) +MACHINE_CONFIG_MEMBER( nouspikel_usb_smartmedia_device::device_add_mconfig ) MCFG_DEVICE_ADD("smartmedia", SMARTMEDIA, 0) MCFG_STRATAFLASH_ADD(STRATA_TAG) MCFG_RAM_ADD(RAM1_TAG) @@ -371,11 +371,6 @@ MACHINE_CONFIG_START( tn_usbsm ) MCFG_RAM_DEFAULT_VALUE(0) MACHINE_CONFIG_END -machine_config_constructor nouspikel_usb_smartmedia_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( tn_usbsm ); -} - ioport_constructor nouspikel_usb_smartmedia_device::device_input_ports() const { return INPUT_PORTS_NAME(tn_usbsm); diff --git a/src/devices/bus/ti99/peb/tn_usbsm.h b/src/devices/bus/ti99/peb/tn_usbsm.h index 7a81cf9036b..a379d67102c 100644 --- a/src/devices/bus/ti99/peb/tn_usbsm.h +++ b/src/devices/bus/ti99/peb/tn_usbsm.h @@ -36,7 +36,7 @@ public: protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual ioport_constructor device_input_ports() const override; private: diff --git a/src/devices/bus/ti99x/990_hd.cpp b/src/devices/bus/ti99x/990_hd.cpp index 265ae68d079..0bb3b475086 100644 --- a/src/devices/bus/ti99x/990_hd.cpp +++ b/src/devices/bus/ti99x/990_hd.cpp @@ -959,21 +959,6 @@ WRITE16_MEMBER(ti990_hdc_device::write) } -static MACHINE_CONFIG_START( ti990_hdc ) - MCFG_HARDDISK_ADD( "harddisk1" ) - MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_ADD( "harddisk2" ) - MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_ADD( "harddisk3" ) - MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_ADD( "harddisk4" ) - MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) - MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) -MACHINE_CONFIG_END - DEFINE_DEVICE_TYPE(TI990_HDC, ti990_hdc_device, "ti990_hdc", "Generic TI-990 Hard Disk Controller") ti990_hdc_device::ti990_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) @@ -1014,11 +999,20 @@ void ti990_hdc_device::device_start() //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// the device's machine fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor ti990_hdc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( ti990_hdc ); -} +MACHINE_CONFIG_MEMBER( ti990_hdc_device::device_add_mconfig ) + MCFG_HARDDISK_ADD( "harddisk1" ) + MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_ADD( "harddisk2" ) + MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_ADD( "harddisk3" ) + MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_ADD( "harddisk4" ) + MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd) + MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd) +MACHINE_CONFIG_END diff --git a/src/devices/bus/ti99x/990_hd.h b/src/devices/bus/ti99x/990_hd.h index 489089689c7..fdeaac0ea88 100644 --- a/src/devices/bus/ti99x/990_hd.h +++ b/src/devices/bus/ti99x/990_hd.h @@ -25,7 +25,7 @@ public: protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; int get_id_from_device( device_t *device ); diff --git a/src/devices/bus/ti99x/990_tap.cpp b/src/devices/bus/ti99x/990_tap.cpp index 255c8043be6..ceff1dc711a 100644 --- a/src/devices/bus/ti99x/990_tap.cpp +++ b/src/devices/bus/ti99x/990_tap.cpp @@ -960,13 +960,6 @@ void ti990_tape_image_device::call_unload() MCFG_DEVICE_ADD((_tag), TI990_TAPE, 0) -static MACHINE_CONFIG_START( tap_990 ) - MCFG_TI990_TAPE_ADD("tape0") - MCFG_TI990_TAPE_ADD("tape1") - MCFG_TI990_TAPE_ADD("tape2") - MCFG_TI990_TAPE_ADD("tape3") -MACHINE_CONFIG_END - DEFINE_DEVICE_TYPE(TI990_TAPE_CTRL, tap_990_device, "ti990_tap", "Generic TI-900 Tape Controller") tap_990_device::tap_990_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) @@ -991,11 +984,12 @@ void tap_990_device::device_start() } //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// the device's machine fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor tap_990_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( tap_990 ); -} +MACHINE_CONFIG_MEMBER( tap_990_device::device_add_mconfig ) + MCFG_TI990_TAPE_ADD("tape0") + MCFG_TI990_TAPE_ADD("tape1") + MCFG_TI990_TAPE_ADD("tape2") + MCFG_TI990_TAPE_ADD("tape3") +MACHINE_CONFIG_END diff --git a/src/devices/bus/ti99x/990_tap.h b/src/devices/bus/ti99x/990_tap.h index 9b256156ca2..256d71da134 100644 --- a/src/devices/bus/ti99x/990_tap.h +++ b/src/devices/bus/ti99x/990_tap.h @@ -33,7 +33,7 @@ public: protected: // device-level overrides virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: static constexpr unsigned MAX_TAPE_UNIT = 4; diff --git a/src/devices/bus/vcs/dpc.cpp b/src/devices/bus/vcs/dpc.cpp index 89ee171ff25..f15e426fec7 100644 --- a/src/devices/bus/vcs/dpc.cpp +++ b/src/devices/bus/vcs/dpc.cpp @@ -266,16 +266,10 @@ void a26_rom_dpc_device::setup_addon_ptr(uint8_t *ptr) } -static MACHINE_CONFIG_START( a26_dpc ) +MACHINE_CONFIG_MEMBER( a26_rom_dpc_device::device_add_mconfig ) MCFG_DEVICE_ADD("dpc", ATARI_DPC, 0) MACHINE_CONFIG_END -machine_config_constructor a26_rom_dpc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a26_dpc ); -} - - READ8_MEMBER(a26_rom_dpc_device::read_rom) { if (offset < 0x40) diff --git a/src/devices/bus/vcs/dpc.h b/src/devices/bus/vcs/dpc.h index 9ce74b57684..6cca68f9632 100644 --- a/src/devices/bus/vcs/dpc.h +++ b/src/devices/bus/vcs/dpc.h @@ -73,11 +73,6 @@ public: // construction/destruction a26_rom_dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual void device_reset() override; - required_device m_dpc; // reading and writing @@ -85,6 +80,12 @@ public: virtual DECLARE_WRITE8_MEMBER(write_bank) override; virtual void setup_addon_ptr(uint8_t *ptr) override; + +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + virtual void device_reset() override; }; diff --git a/src/devices/bus/vcs/harmony_melody.cpp b/src/devices/bus/vcs/harmony_melody.cpp index ad04db05c43..6f21a84b7a8 100644 --- a/src/devices/bus/vcs/harmony_melody.cpp +++ b/src/devices/bus/vcs/harmony_melody.cpp @@ -81,16 +81,11 @@ void a26_rom_harmony_device::device_start() static ADDRESS_MAP_START( harmony_arm7_map, AS_PROGRAM, 32, a26_rom_harmony_device ) ADDRESS_MAP_END -static MACHINE_CONFIG_START( a26_harmony ) +MACHINE_CONFIG_MEMBER( a26_rom_harmony_device::device_add_mconfig ) MCFG_CPU_ADD("arm", LPC2103, 70000000) MCFG_CPU_PROGRAM_MAP(harmony_arm7_map) MACHINE_CONFIG_END -machine_config_constructor a26_rom_harmony_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a26_harmony ); -} - // actually if the ARM code is doing this and providing every opcode to the main CPU based // on bus activity then we shouldn't be doing and of this here (if the ROM is actually // the internal Flash rom of the ARM CPU then the A2600 CPU won't be able to see it directly diff --git a/src/devices/bus/vcs/harmony_melody.h b/src/devices/bus/vcs/harmony_melody.h index 3af4cfd9dcc..d5566c112c6 100644 --- a/src/devices/bus/vcs/harmony_melody.h +++ b/src/devices/bus/vcs/harmony_melody.h @@ -17,8 +17,6 @@ public: // construction/destruction a26_rom_harmony_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_rom) override; virtual DECLARE_WRITE8_MEMBER(write_bank) override; @@ -30,6 +28,8 @@ private: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + void check_bankswitch(offs_t offset); required_device m_cpu; diff --git a/src/devices/bus/vcs/scharger.cpp b/src/devices/bus/vcs/scharger.cpp index 6b2efa307fa..d713f88eca4 100644 --- a/src/devices/bus/vcs/scharger.cpp +++ b/src/devices/bus/vcs/scharger.cpp @@ -87,7 +87,7 @@ void a26_rom_ss_device::device_reset() } -static MACHINE_CONFIG_START( a26_ss ) +MACHINE_CONFIG_MEMBER( a26_rom_ss_device::device_add_mconfig ) MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_FORMATS(a26_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED) @@ -97,11 +97,6 @@ static MACHINE_CONFIG_START( a26_ss ) // MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END -machine_config_constructor a26_rom_ss_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( a26_ss ); -} - inline uint8_t a26_rom_ss_device::read_byte(uint32_t offset) { if (offset < 0x800) diff --git a/src/devices/bus/vcs/scharger.h b/src/devices/bus/vcs/scharger.h index 9aee1ecee2e..2fa42e2ba4c 100644 --- a/src/devices/bus/vcs/scharger.h +++ b/src/devices/bus/vcs/scharger.h @@ -20,8 +20,6 @@ public: // construction/destruction a26_rom_ss_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_rom) override; @@ -30,6 +28,8 @@ private: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; + required_device m_cassette; cpu_device *m_maincpu; diff --git a/src/devices/bus/vic20/fe3.cpp b/src/devices/bus/vic20/fe3.cpp index 70e46f80dd2..46d3d1908a4 100644 --- a/src/devices/bus/vic20/fe3.cpp +++ b/src/devices/bus/vic20/fe3.cpp @@ -83,25 +83,14 @@ const tiny_rom_entry *vic20_final_expansion_3_device::device_rom_region() const //------------------------------------------------- -// MACHINE_DRIVER( vic20_fe3 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic20_fe3 ) +MACHINE_CONFIG_MEMBER( vic20_final_expansion_3_device::device_add_mconfig ) MCFG_AMD_29F040_ADD(AM29F040_TAG) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic20_final_expansion_3_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic20_fe3 ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vic20/fe3.h b/src/devices/bus/vic20/fe3.h index 24f9b954b87..e65a97bfd1f 100644 --- a/src/devices/bus/vic20/fe3.h +++ b/src/devices/bus/vic20/fe3.h @@ -29,15 +29,15 @@ public: // construction/destruction vic20_final_expansion_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + // device_vic20_expansion_card_interface overrides virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; diff --git a/src/devices/bus/vic20/megacart.cpp b/src/devices/bus/vic20/megacart.cpp index 1e04df5db40..f999db88a43 100644 --- a/src/devices/bus/vic20/megacart.cpp +++ b/src/devices/bus/vic20/megacart.cpp @@ -19,25 +19,14 @@ DEFINE_DEVICE_TYPE(VIC20_MEGACART, vic20_megacart_device, "vic20_megacart", "VIC //------------------------------------------------- -// MACHINE_DRIVER( vic20_megacart ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic20_megacart ) +MACHINE_CONFIG_MEMBER( vic20_megacart_device::device_add_mconfig ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic20_megacart_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic20_megacart ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vic20/megacart.h b/src/devices/bus/vic20/megacart.h index a4de69ea228..6e66382b2c7 100644 --- a/src/devices/bus/vic20/megacart.h +++ b/src/devices/bus/vic20/megacart.h @@ -29,14 +29,14 @@ public: // construction/destruction vic20_megacart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_nvram_interface overrides virtual void nvram_default() override { } virtual void nvram_read(emu_file &file) override { file.read(m_nvram, m_nvram.bytes()); } diff --git a/src/devices/bus/vic20/speakeasy.cpp b/src/devices/bus/vic20/speakeasy.cpp index cfc6dfe38be..3bccdcaea77 100644 --- a/src/devices/bus/vic20/speakeasy.cpp +++ b/src/devices/bus/vic20/speakeasy.cpp @@ -30,10 +30,10 @@ DEFINE_DEVICE_TYPE(VIC20_SPEAKEASY, vic20_speakeasy_device, "vic20_speakeasy", " //------------------------------------------------- -// MACHINE_DRIVER( speakeasy ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( speakeasy ) +MACHINE_CONFIG_MEMBER( vic20_speakeasy_device::device_add_mconfig ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD(SC01A_TAG, VOTRAX_SC01, 720000) @@ -41,17 +41,6 @@ static MACHINE_CONFIG_START( speakeasy ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic20_speakeasy_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( speakeasy ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vic20/speakeasy.h b/src/devices/bus/vic20/speakeasy.h index 09ccd0f315e..823963804be 100644 --- a/src/devices/bus/vic20/speakeasy.h +++ b/src/devices/bus/vic20/speakeasy.h @@ -30,13 +30,13 @@ public: // construction/destruction vic20_speakeasy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_vic20_expansion_card_interface overrides virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; diff --git a/src/devices/bus/vic20/vic1010.cpp b/src/devices/bus/vic20/vic1010.cpp index c63d58d5aa0..3b03a795a52 100644 --- a/src/devices/bus/vic20/vic1010.cpp +++ b/src/devices/bus/vic20/vic1010.cpp @@ -19,10 +19,10 @@ DEFINE_DEVICE_TYPE(VIC1010, vic1010_device, "vic1010", "VIC-1010 Expansion Modul //------------------------------------------------- -// MACHINE_DRIVER( vic1010 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic1010 ) +MACHINE_CONFIG_MEMBER( vic1010_device::device_add_mconfig ) MCFG_VIC20_PASSTHRU_EXPANSION_SLOT_ADD("slot1") MCFG_VIC20_PASSTHRU_EXPANSION_SLOT_ADD("slot2") MCFG_VIC20_PASSTHRU_EXPANSION_SLOT_ADD("slot3") @@ -32,18 +32,6 @@ static MACHINE_CONFIG_START( vic1010 ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic1010_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic1010 ); -} - - - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/vic20/vic1010.h b/src/devices/bus/vic20/vic1010.h index 77082de99bb..f2014041f94 100644 --- a/src/devices/bus/vic20/vic1010.h +++ b/src/devices/bus/vic20/vic1010.h @@ -28,14 +28,14 @@ public: // construction/destruction vic1010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_vic20_expansion_card_interface overrides virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; diff --git a/src/devices/bus/vic20/vic1011.cpp b/src/devices/bus/vic20/vic1011.cpp index a75a268be70..056727c4b3a 100644 --- a/src/devices/bus/vic20/vic1011.cpp +++ b/src/devices/bus/vic20/vic1011.cpp @@ -27,10 +27,10 @@ DEFINE_DEVICE_TYPE(VIC1011, vic1011_device, "vic1011", "VIC-1011 RS-232C") //------------------------------------------------- -// MACHINE_DRIVER( vic1011 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic1011 ) +MACHINE_CONFIG_MEMBER( vic1011_device::device_add_mconfig ) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_rxd)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_h)) MCFG_DEVCB_XOR(1) @@ -39,18 +39,6 @@ static MACHINE_CONFIG_START( vic1011 ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic1011_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic1011 ); -} - - - //************************************************************************** // LIVE DEVICE //************************************************************************** diff --git a/src/devices/bus/vic20/vic1011.h b/src/devices/bus/vic20/vic1011.h index 5b76d2780d5..49891ee184f 100644 --- a/src/devices/bus/vic20/vic1011.h +++ b/src/devices/bus/vic20/vic1011.h @@ -29,22 +29,22 @@ public: // construction/destruction vic1011_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; - // device_pet_user_port_interface overrides virtual DECLARE_WRITE_LINE_MEMBER( input_d ) override; virtual DECLARE_WRITE_LINE_MEMBER( input_e ) override; virtual DECLARE_WRITE_LINE_MEMBER( input_j ) override; virtual DECLARE_WRITE_LINE_MEMBER( input_m ) override; - DECLARE_WRITE_LINE_MEMBER( output_rxd ); - protected: // device-level overrides virtual void device_start() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + private: + DECLARE_WRITE_LINE_MEMBER( output_rxd ); + required_device m_rs232; }; diff --git a/src/devices/bus/vic20/vic1112.cpp b/src/devices/bus/vic20/vic1112.cpp index 0e08d3c58d8..a38bf02eb7f 100644 --- a/src/devices/bus/vic20/vic1112.cpp +++ b/src/devices/bus/vic20/vic1112.cpp @@ -94,10 +94,10 @@ WRITE_LINE_MEMBER( vic1112_device::via1_irq_w ) //------------------------------------------------- -// MACHINE_DRIVER( vic1112 ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic1112 ) +MACHINE_CONFIG_MEMBER( vic1112_device::device_add_mconfig ) MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, 0) MCFG_VIA6522_READPB_HANDLER(READ8(vic1112_device, via0_pb_r)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic1112_device, via0_pb_w)) @@ -115,17 +115,6 @@ static MACHINE_CONFIG_START( vic1112 ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic1112_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic1112 ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vic20/vic1112.h b/src/devices/bus/vic20/vic1112.h index cb6de5bbbed..6108a328ca8 100644 --- a/src/devices/bus/vic20/vic1112.h +++ b/src/devices/bus/vic20/vic1112.h @@ -33,25 +33,24 @@ public: // construction/destruction vic1112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - - // not really public - DECLARE_WRITE_LINE_MEMBER( via0_irq_w ); - DECLARE_READ8_MEMBER( via0_pb_r ); - DECLARE_WRITE8_MEMBER( via0_pb_w ); - DECLARE_WRITE_LINE_MEMBER( via1_irq_w ); - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + // device_vic20_expansion_card_interface overrides virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; private: + DECLARE_WRITE_LINE_MEMBER( via0_irq_w ); + DECLARE_READ8_MEMBER( via0_pb_r ); + DECLARE_WRITE8_MEMBER( via0_pb_w ); + DECLARE_WRITE_LINE_MEMBER( via1_irq_w ); + required_device m_via0; required_device m_via1; required_device m_bus; diff --git a/src/devices/bus/vic20/videopak.cpp b/src/devices/bus/vic20/videopak.cpp index 405f512b092..0d1533ed3ad 100644 --- a/src/devices/bus/vic20/videopak.cpp +++ b/src/devices/bus/vic20/videopak.cpp @@ -94,10 +94,10 @@ GFXDECODE_END //------------------------------------------------- -// MACHINE_CONFIG_START( vic20_video_pak ) +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( vic20_video_pak ) +MACHINE_CONFIG_MEMBER( vic20_video_pak_device::device_add_mconfig ) MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white()) MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, h46505_device, screen_update) MCFG_SCREEN_SIZE(80*8, 24*8) @@ -114,17 +114,6 @@ static MACHINE_CONFIG_START( vic20_video_pak ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor vic20_video_pak_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( vic20_video_pak ); -} - - //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vic20/videopak.h b/src/devices/bus/vic20/videopak.h index 79d0cafe16b..700622425d6 100644 --- a/src/devices/bus/vic20/videopak.h +++ b/src/devices/bus/vic20/videopak.h @@ -31,23 +31,22 @@ public: // construction/destruction vic20_video_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - - // not really public - MC6845_UPDATE_ROW( crtc_update_row ); - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + // device_vic20_expansion_card_interface overrides virtual uint8_t vic20_cd_r(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; virtual void vic20_cd_w(address_space &space, offs_t offset, uint8_t data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3) override; private: + MC6845_UPDATE_ROW( crtc_update_row ); + required_device m_crtc; required_device m_palette; required_memory_region m_char_rom; diff --git a/src/devices/bus/vme/vme_fccpu20.cpp b/src/devices/bus/vme/vme_fccpu20.cpp index 0f2b173814d..0e1ace4ff8d 100644 --- a/src/devices/bus/vme/vme_fccpu20.cpp +++ b/src/devices/bus/vme/vme_fccpu20.cpp @@ -241,10 +241,8 @@ static ADDRESS_MAP_START (cpu20_mem, AS_PROGRAM, 32, vme_fccpu20_device) AM_RANGE (0xff800c00, 0xff800dff) AM_DEVREADWRITE8("pit", pit68230_device, read, write, 0xffffffff) ADDRESS_MAP_END -/* - * Machine configuration - */ -static MACHINE_CONFIG_START (fccpu20) + +MACHINE_CONFIG_MEMBER(vme_fccpu20_device::device_add_mconfig) /* basic machine hardware */ MCFG_CPU_ADD ("maincpu", M68020, CLOCK50 / 3) /* Crytstal verified from picture HCI */ MCFG_CPU_PROGRAM_MAP (cpu20_mem) @@ -307,60 +305,58 @@ static MACHINE_CONFIG_START (fccpu20) MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("mpcc3", mpcc68561_device, cts_w)) MACHINE_CONFIG_END +MACHINE_CONFIG_MEMBER( vme_fccpu20_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); +MACHINE_CONFIG_END + // SYS68K/CPU-21S Part No.1 01 041 - 68020 CPU board + FPU 68881 at 12.5 MHz, 512 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21s, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21s_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK50 / 4) MACHINE_CONFIG_END // SYS68K/CPU-21 Part No.1 01 001 - 68020 CPU board (CPU-20) + FPU 68881 at 16.7 MHz, 512 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK50 / 3) MACHINE_CONFIG_END // SYS68K/CPU-21A Part No.1 01 011 - 68020 CPU board + FPU 68881 at 20 MHz, 512 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21a, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21a_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK40 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21YA Part No.1 01 061 - 68020 CPU board + FPU 68881 at 20 MHz, 2048 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21ya, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21ya_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK40 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21B Part No.1 01 021 - 68020 CPU board + FPU 68881 at 25 MHz, 512 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21b, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21b_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK50 / 2) MACHINE_CONFIG_END // SYS68K/CPU-21YB Part No.1 01 071 - 68020 CPU board + FPU 68881 at 25 MHz, 2048 KB RAM -static MACHINE_CONFIG_DERIVED( fccpu21yb, fccpu20 ) +MACHINE_CONFIG_MEMBER( vme_fccpu21yb_card_device::device_add_mconfig ) + vme_fccpu20_device::device_add_mconfig(config); + MCFG_DEVICE_MODIFY("maincpu") MCFG_DEVICE_CLOCK( CLOCK50 / 2) MACHINE_CONFIG_END -machine_config_constructor vme_fccpu20_device::device_mconfig_additions() const -{ - LOG("%s %s\n", tag(), FUNCNAME); - - switch (m_board_id) - { - case cpu20: return MACHINE_CONFIG_NAME( fccpu20 ); break; - case cpu21a: return MACHINE_CONFIG_NAME( fccpu21a ); break; - case cpu21ya: return MACHINE_CONFIG_NAME( fccpu21ya ); break; - case cpu21b: return MACHINE_CONFIG_NAME( fccpu21b ); break; - case cpu21yb: return MACHINE_CONFIG_NAME( fccpu21yb ); break; - case cpu21s: return MACHINE_CONFIG_NAME( fccpu21s ); break; - case cpu21: return MACHINE_CONFIG_NAME( fccpu21 ); break; - default: logerror("Attempt to get config for unknown board type %02x, defaulting to CPU20\n", m_board_id); - return MACHINE_CONFIG_NAME( fccpu20 ); - } - return MACHINE_CONFIG_NAME( fccpu20 ); -} //************************************************************************** // Base Device diff --git a/src/devices/bus/vme/vme_fccpu20.h b/src/devices/bus/vme/vme_fccpu20.h index 8bc9cbb2c4b..c013218d72f 100644 --- a/src/devices/bus/vme/vme_fccpu20.h +++ b/src/devices/bus/vme/vme_fccpu20.h @@ -24,21 +24,10 @@ DECLARE_DEVICE_TYPE(VME_FCCPU21YB, vme_fccpu21yb_card_device) class vme_fccpu20_device : public device_t, public device_vme_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; - // Below are duplicated declarations from src/mame/drivers/fccpu20.cpp DECLARE_READ32_MEMBER (bootvect_r); DECLARE_WRITE32_MEMBER (bootvect_w); - DECLARE_WRITE_LINE_MEMBER(bim_irq_callback); - - /* PIT callbacks */ - DECLARE_READ8_MEMBER (pita_r); - DECLARE_READ8_MEMBER (pitb_r); - DECLARE_READ8_MEMBER (pitc_r); - protected: // PIT port C Board ID bits static constexpr unsigned CPU20 = 0x40; @@ -61,12 +50,23 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; + uint8_t bim_irq_state; int bim_irq_level; emu_timer *m_arbiter_start; // Need a startup delay because it is hooked up to the sense inputs of the PIT private: + DECLARE_WRITE_LINE_MEMBER(bim_irq_callback); + + /* PIT callbacks */ + DECLARE_READ8_MEMBER (pita_r); + DECLARE_READ8_MEMBER (pitb_r); + DECLARE_READ8_MEMBER (pitc_r); + required_device m_maincpu; required_device m_pit; required_device m_bim; @@ -94,6 +94,9 @@ protected: vme_fccpu20_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu20) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21s_card_device : public vme_fccpu20_device @@ -105,6 +108,9 @@ protected: vme_fccpu21s_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21s) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21_card_device : public vme_fccpu20_device @@ -116,6 +122,9 @@ protected: vme_fccpu21_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21a_card_device : public vme_fccpu20_device @@ -127,6 +136,9 @@ protected: vme_fccpu21a_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21a) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21ya_card_device : public vme_fccpu20_device @@ -138,6 +150,9 @@ protected: vme_fccpu21ya_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21ya) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21b_card_device : public vme_fccpu20_device @@ -149,6 +164,9 @@ protected: vme_fccpu21b_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21b) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; class vme_fccpu21yb_card_device : public vme_fccpu20_device @@ -160,6 +178,9 @@ protected: vme_fccpu21yb_card_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : vme_fccpu20_device(mconfig, type, tag, owner, clock, cpu21yb) { } + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; diff --git a/src/devices/bus/vme/vme_fcisio.cpp b/src/devices/bus/vme/vme_fcisio.cpp index 1abc74a9b5d..2b6938c6667 100644 --- a/src/devices/bus/vme/vme_fcisio.cpp +++ b/src/devices/bus/vme/vme_fcisio.cpp @@ -174,102 +174,6 @@ static ADDRESS_MAP_START (fcisio1_mem, AS_PROGRAM, 16, vme_fcisio1_card_device) // AM_RANGE (0xc40000, 0xc800ff) AM_READWRITE8 (not_implemented_r, not_implemented_w, 0xffff) /* Dummy mapping af address area to display message */ ADDRESS_MAP_END -/* - * Machine configuration - */ -static MACHINE_CONFIG_START (fcisio1) - /* basic machine hardware */ - MCFG_CPU_ADD ("maincpu", M68010, CPU_CLOCK / 2) - MCFG_CPU_PROGRAM_MAP (fcisio1_mem) - - /* DUSCC channels */ -#define RS232P1_TAG "rs232p1" -#define RS232P2_TAG "rs232p2" -#define RS232P3_TAG "rs232p3" -#define RS232P4_TAG "rs232p4" -#define RS232P5_TAG "rs232p5" -#define RS232P6_TAG "rs232p6" -#define RS232P7_TAG "rs232p7" -#define RS232P8_TAG "rs232p8" - - MCFG_DUSCC68562_ADD("duscc0", DUSCC_CLOCK, 0, 0, 0, 0 ) - /* Port 1 on DUSCC 0 Port A */ - MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_rts)) - /* Port 2 on DUSCC 0 Port B */ - MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_rts)) - /* RS232 for DUSCC 0 */ - MCFG_RS232_PORT_ADD (RS232P1_TAG, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, rxa_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, ctsa_w)) - - MCFG_RS232_PORT_ADD (RS232P2_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, rxb_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, ctsb_w)) - - MCFG_DUSCC68562_ADD("duscc1", DUSCC_CLOCK, 0, 0, 0, 0 ) - /* Port 3 on DUSCC 1 Port A */ - MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_rts)) - /* Port 4 on DUSCC 1 Port B */ - MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_rts)) - /* RS232 for DUSCC 1 */ - MCFG_RS232_PORT_ADD (RS232P3_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, rxa_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, ctsa_w)) - - MCFG_RS232_PORT_ADD (RS232P4_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, rxb_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, ctsb_w)) - - MCFG_DUSCC68562_ADD("duscc2", DUSCC_CLOCK, 0, 0, 0, 0 ) - /* Port 5 on DUSCC 2 Port A */ - MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_rts)) - /* Port 6 on DUSCC 2 Port B */ - MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_rts)) - /* RS232 for DUSCC 2 */ - MCFG_RS232_PORT_ADD (RS232P5_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, rxa_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, ctsa_w)) - - MCFG_RS232_PORT_ADD (RS232P6_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, rxb_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, ctsb_w)) - - MCFG_DUSCC68562_ADD("duscc3", DUSCC_CLOCK, 0, 0, 0, 0 ) - /* Port 7 on DUSCC 3 Port A */ - MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_rts)) - /* Port 8 on DUSCC 3 Port B */ - MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_txd)) - MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_dtr)) - MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_rts)) - /* RS232 for DUSCC 4 */ - MCFG_RS232_PORT_ADD (RS232P7_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, rxa_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, ctsa_w)) - - MCFG_RS232_PORT_ADD (RS232P8_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, rxb_w)) - MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, ctsb_w)) - - MCFG_DEVICE_ADD ("pit", PIT68230, XTAL_20MHz / 2) - MCFG_PIT68230_PB_INPUT_CB(READ8(vme_fcisio1_card_device, config_rd)) - - MCFG_MC68153_ADD("bim", XTAL_20MHz / 2) -MACHINE_CONFIG_END - /* ROM definitions */ ROM_START (fcisio1) ROM_REGION (0x1000000, "maincpu", 0) @@ -370,11 +274,98 @@ ROM_START (fcisio1) ROM_LOAD16_BYTE ("ISIO-1_V2.1_U.BIN", 0xf00000, 0x4000, CRC (67986768) SHA1 (215f7ff90d9dbe2bea54510e3722fb33d4e54193)) ROM_END -machine_config_constructor vme_fcisio1_card_device::device_mconfig_additions() const -{ - LOG("%s %s\n", tag(), FUNCNAME); - return MACHINE_CONFIG_NAME( fcisio1 ); -} +MACHINE_CONFIG_MEMBER (vme_fcisio1_card_device::device_add_mconfig) + /* basic machine hardware */ + MCFG_CPU_ADD ("maincpu", M68010, CPU_CLOCK / 2) + MCFG_CPU_PROGRAM_MAP (fcisio1_mem) + + /* DUSCC channels */ +#define RS232P1_TAG "rs232p1" +#define RS232P2_TAG "rs232p2" +#define RS232P3_TAG "rs232p3" +#define RS232P4_TAG "rs232p4" +#define RS232P5_TAG "rs232p5" +#define RS232P6_TAG "rs232p6" +#define RS232P7_TAG "rs232p7" +#define RS232P8_TAG "rs232p8" + + MCFG_DUSCC68562_ADD("duscc0", DUSCC_CLOCK, 0, 0, 0, 0 ) + /* Port 1 on DUSCC 0 Port A */ + MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P1_TAG, rs232_port_device, write_rts)) + /* Port 2 on DUSCC 0 Port B */ + MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P2_TAG, rs232_port_device, write_rts)) + /* RS232 for DUSCC 0 */ + MCFG_RS232_PORT_ADD (RS232P1_TAG, default_rs232_devices, "terminal") + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, rxa_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, ctsa_w)) + + MCFG_RS232_PORT_ADD (RS232P2_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, rxb_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, ctsb_w)) + + MCFG_DUSCC68562_ADD("duscc1", DUSCC_CLOCK, 0, 0, 0, 0 ) + /* Port 3 on DUSCC 1 Port A */ + MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P3_TAG, rs232_port_device, write_rts)) + /* Port 4 on DUSCC 1 Port B */ + MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P4_TAG, rs232_port_device, write_rts)) + /* RS232 for DUSCC 1 */ + MCFG_RS232_PORT_ADD (RS232P3_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, rxa_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, ctsa_w)) + + MCFG_RS232_PORT_ADD (RS232P4_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, rxb_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc1", duscc68562_device, ctsb_w)) + + MCFG_DUSCC68562_ADD("duscc2", DUSCC_CLOCK, 0, 0, 0, 0 ) + /* Port 5 on DUSCC 2 Port A */ + MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P5_TAG, rs232_port_device, write_rts)) + /* Port 6 on DUSCC 2 Port B */ + MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P6_TAG, rs232_port_device, write_rts)) + /* RS232 for DUSCC 2 */ + MCFG_RS232_PORT_ADD (RS232P5_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, rxa_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, ctsa_w)) + + MCFG_RS232_PORT_ADD (RS232P6_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, rxb_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc2", duscc68562_device, ctsb_w)) + + MCFG_DUSCC68562_ADD("duscc3", DUSCC_CLOCK, 0, 0, 0, 0 ) + /* Port 7 on DUSCC 3 Port A */ + MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE(RS232P7_TAG, rs232_port_device, write_rts)) + /* Port 8 on DUSCC 3 Port B */ + MCFG_DUSCC_OUT_TXDB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_txd)) + MCFG_DUSCC_OUT_DTRB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_dtr)) + MCFG_DUSCC_OUT_RTSB_CB(DEVWRITELINE(RS232P8_TAG, rs232_port_device, write_rts)) + /* RS232 for DUSCC 4 */ + MCFG_RS232_PORT_ADD (RS232P7_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, rxa_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, ctsa_w)) + + MCFG_RS232_PORT_ADD (RS232P8_TAG, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, rxb_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc3", duscc68562_device, ctsb_w)) + + MCFG_DEVICE_ADD ("pit", PIT68230, XTAL_20MHz / 2) + MCFG_PIT68230_PB_INPUT_CB(READ8(vme_fcisio1_card_device, config_rd)) + + MCFG_MC68153_ADD("bim", XTAL_20MHz / 2) +MACHINE_CONFIG_END const tiny_rom_entry *vme_fcisio1_card_device::device_rom_region() const { diff --git a/src/devices/bus/vme/vme_fcisio.h b/src/devices/bus/vme/vme_fcisio.h index 93e682ed8d1..d6d075292b4 100644 --- a/src/devices/bus/vme/vme_fcisio.h +++ b/src/devices/bus/vme/vme_fcisio.h @@ -17,12 +17,7 @@ class vme_fcisio1_card_device : public device_t, public device_vme_card_interfac public: vme_fcisio1_card_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_READ16_MEMBER (bootvect_r); - DECLARE_READ8_MEMBER (config_rd); /* Dummy driver routines */ DECLARE_READ8_MEMBER (not_implemented_r); @@ -34,7 +29,13 @@ protected: virtual void device_start() override; virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; + private: + DECLARE_READ8_MEMBER (config_rd); + required_device m_maincpu; required_device m_duscc0; required_device m_duscc1; diff --git a/src/devices/bus/vme/vme_fcscsi.cpp b/src/devices/bus/vme/vme_fcscsi.cpp index 1a69b321791..a170dba99e0 100644 --- a/src/devices/bus/vme/vme_fcscsi.cpp +++ b/src/devices/bus/vme/vme_fcscsi.cpp @@ -208,10 +208,25 @@ static SLOT_INTERFACE_START( fcscsi_floppies ) SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) SLOT_INTERFACE_END -/* - * Machine configuration - */ -static MACHINE_CONFIG_START (fcscsi1) + +/* ROM definitions */ +ROM_START (fcscsi1) + ROM_REGION (0x1000000, "maincpu", 0) + + /* Besta ROM:s - apparantly patched Force ROM:s */ + ROM_SYSTEM_BIOS(0, "Besta 88", "Besta 88") + ROMX_LOAD ("besta88_scsi_lower.ROM", 0xe00001, 0x4000, CRC (fb3ab364) SHA1 (d79112100f1c4beaf358e006efd4dde5e300b0ba), ROM_SKIP(1) | ROM_BIOS(1)) + ROMX_LOAD ("besta88_scsi_upper.ROM", 0xe00000, 0x4000, CRC (41f9cdf4) SHA1 (66b998bbf9459f0a613718260e05e97749532073), ROM_SKIP(1) | ROM_BIOS(1)) + + /* Force ROM:s */ + ROM_SYSTEM_BIOS(1, "ISCSI-1 v3.7", "Force Computer SYS68K/ISCSI-1 firmware v3.7") + ROMX_LOAD ("ISCSI-1_V3.7_L.BIN", 0xe00001, 0x4000, CRC (83d95ab7) SHA1 (bf249910bcb6cb0b04dda2a95a38a0f90b553352), ROM_SKIP(1) | ROM_BIOS(2)) + ROMX_LOAD ("ISCSI-1_V3.7_U.BIN", 0xe00000, 0x4000, CRC (58815831) SHA1 (074085ef96e1fe2a551938bdeee6a9cab40ff09c), ROM_SKIP(1) | ROM_BIOS(2)) + +ROM_END + + +MACHINE_CONFIG_MEMBER(vme_fcscsi1_card_device::device_add_mconfig) /* basic machine hardware */ MCFG_CPU_ADD ("maincpu", M68010, CPU_CRYSTAL / 2) /* 7474 based frequency divide by 2 */ MCFG_CPU_PROGRAM_MAP (fcscsi1_mem) @@ -243,29 +258,6 @@ static MACHINE_CONFIG_START (fcscsi1) MCFG_HD63450_DMA_WRITE_1_CB(WRITE8(vme_fcscsi1_card_device, fdc_write_byte)) MACHINE_CONFIG_END -/* ROM definitions */ -ROM_START (fcscsi1) - ROM_REGION (0x1000000, "maincpu", 0) - - /* Besta ROM:s - apparantly patched Force ROM:s */ - ROM_SYSTEM_BIOS(0, "Besta 88", "Besta 88") - ROMX_LOAD ("besta88_scsi_lower.ROM", 0xe00001, 0x4000, CRC (fb3ab364) SHA1 (d79112100f1c4beaf358e006efd4dde5e300b0ba), ROM_SKIP(1) | ROM_BIOS(1)) - ROMX_LOAD ("besta88_scsi_upper.ROM", 0xe00000, 0x4000, CRC (41f9cdf4) SHA1 (66b998bbf9459f0a613718260e05e97749532073), ROM_SKIP(1) | ROM_BIOS(1)) - - /* Force ROM:s */ - ROM_SYSTEM_BIOS(1, "ISCSI-1 v3.7", "Force Computer SYS68K/ISCSI-1 firmware v3.7") - ROMX_LOAD ("ISCSI-1_V3.7_L.BIN", 0xe00001, 0x4000, CRC (83d95ab7) SHA1 (bf249910bcb6cb0b04dda2a95a38a0f90b553352), ROM_SKIP(1) | ROM_BIOS(2)) - ROMX_LOAD ("ISCSI-1_V3.7_U.BIN", 0xe00000, 0x4000, CRC (58815831) SHA1 (074085ef96e1fe2a551938bdeee6a9cab40ff09c), ROM_SKIP(1) | ROM_BIOS(2)) - -ROM_END - - -machine_config_constructor vme_fcscsi1_card_device::device_mconfig_additions() const -{ - LOG("%s %s\n", tag(), FUNCNAME); - return MACHINE_CONFIG_NAME( fcscsi1 ); -} - const tiny_rom_entry *vme_fcscsi1_card_device::device_rom_region() const { LOG("%s\n", FUNCNAME); diff --git a/src/devices/bus/vme/vme_fcscsi.h b/src/devices/bus/vme/vme_fcscsi.h index c25a3edd431..779ae534b02 100644 --- a/src/devices/bus/vme/vme_fcscsi.h +++ b/src/devices/bus/vme/vme_fcscsi.h @@ -19,27 +19,11 @@ class vme_fcscsi1_card_device : public: vme_fcscsi1_card_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_READ16_MEMBER (bootvect_r); DECLARE_READ8_MEMBER (tcr_r); DECLARE_WRITE8_MEMBER (tcr_w); DECLARE_WRITE8_MEMBER (led_w); - IRQ_CALLBACK_MEMBER(maincpu_irq_acknowledge_callback); - - //dmac - DECLARE_WRITE8_MEMBER(dma_end); - DECLARE_WRITE8_MEMBER(dma_error); - - //fdc - DECLARE_WRITE8_MEMBER(fdc_irq); - DECLARE_READ8_MEMBER(fdc_read_byte); - DECLARE_WRITE8_MEMBER(fdc_write_byte); - DECLARE_FLOPPY_FORMATS(floppy_formats); - /* Dummy driver routines */ DECLARE_READ8_MEMBER(not_implemented_r); DECLARE_WRITE8_MEMBER(not_implemented_w); @@ -53,6 +37,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 update_irq_to_maincpu(); uint8_t fdc_irq_state; @@ -60,6 +48,18 @@ protected: int dmac_irq_vector; private: + IRQ_CALLBACK_MEMBER(maincpu_irq_acknowledge_callback); + + //dmac + DECLARE_WRITE8_MEMBER(dma_end); + DECLARE_WRITE8_MEMBER(dma_error); + + //fdc + DECLARE_WRITE8_MEMBER(fdc_irq); + DECLARE_READ8_MEMBER(fdc_read_byte); + DECLARE_WRITE8_MEMBER(fdc_write_byte); + DECLARE_FLOPPY_FORMATS(floppy_formats); + required_device m_maincpu; required_device m_fdc; required_device m_pit; diff --git a/src/devices/bus/vme/vme_mvme350.cpp b/src/devices/bus/vme/vme_mvme350.cpp index cdc81a89852..22a6ef8f7c9 100644 --- a/src/devices/bus/vme/vme_mvme350.cpp +++ b/src/devices/bus/vme/vme_mvme350.cpp @@ -178,30 +178,23 @@ static ADDRESS_MAP_START( mvme350_mem, AS_PROGRAM, 16, vme_mvme350_card_device ) //AM_RANGE(0xff0000, 0xffffff) AM_READWRITE(vme_a16_r, vme_a16_w) /* VMEbus Rev B addresses (16 bits) - not verified */ ADDRESS_MAP_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -MACHINE_CONFIG_START( mvme350 ) - /* basic machine hardware */ - MCFG_CPU_ADD (MVME350_CPU_TAG, M68010, XTAL_10MHz) - MCFG_CPU_PROGRAM_MAP (mvme350_mem) - /* PIT Parallel Interface and Timer device, assuming strapped for on board clock */ - MCFG_DEVICE_ADD("pit", PIT68230, XTAL_16MHz / 2) -MACHINE_CONFIG_END - ROM_START( mvme350 ) ROM_REGION (0x20000, MVME350_ROM, 0) ROM_LOAD16_BYTE ("mvme350U40v2.3.bin", 0x0001, 0x4000, CRC (bcef82ef) SHA1 (e6fdf26e4714cbaeb3e97d7b5acf02d64d8ad744)) ROM_LOAD16_BYTE ("mvme350U47v2.3.bin", 0x0000, 0x4000, CRC (582ce095) SHA1 (d0929dbfeb0cfda63df6b5bc29ee27fbf665def7)) ROM_END -machine_config_constructor vme_mvme350_card_device::device_mconfig_additions() const -{ - LOG("%s %s\n", tag(), FUNCNAME); - return MACHINE_CONFIG_NAME( mvme350 ); -} +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( vme_mvme350_card_device::device_add_mconfig ) + /* basic machine hardware */ + MCFG_CPU_ADD (MVME350_CPU_TAG, M68010, XTAL_10MHz) + MCFG_CPU_PROGRAM_MAP (mvme350_mem) + /* PIT Parallel Interface and Timer device, assuming strapped for on board clock */ + MCFG_DEVICE_ADD("pit", PIT68230, XTAL_16MHz / 2) +MACHINE_CONFIG_END const tiny_rom_entry *vme_mvme350_card_device::device_rom_region() const { diff --git a/src/devices/bus/vme/vme_mvme350.h b/src/devices/bus/vme/vme_mvme350.h index 75f58762318..710006a5ee8 100644 --- a/src/devices/bus/vme/vme_mvme350.h +++ b/src/devices/bus/vme/vme_mvme350.h @@ -14,10 +14,6 @@ class vme_mvme350_card_device : public device_t, public device_vme_card_interfac public: vme_mvme350_card_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; - // Shared memory methods to be exported to the VME bus // virtual DECLARE_READ16_MEMBER (read16) override; // virtual DECLARE_WRITE16_MEMBER (write16) override; @@ -27,6 +23,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; }; #endif // MAME_BUS_VME_VME_MVME350_H diff --git a/src/devices/bus/vme/vme_mzr8105.cpp b/src/devices/bus/vme/vme_mzr8105.cpp index 23a60feaa17..5d52e09b73b 100644 --- a/src/devices/bus/vme/vme_mzr8105.cpp +++ b/src/devices/bus/vme/vme_mzr8105.cpp @@ -33,16 +33,16 @@ DEFINE_DEVICE_TYPE(VME_MZR8105, vme_mzr8105_card_device, "mzr8105", "Mizar 8105 68K CPU board") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_EXTERN( mzr8105 ); - -machine_config_constructor vme_mzr8105_card_device::device_mconfig_additions() const +MACHINE_CONFIG_MEMBER(vme_mzr8105_card_device::device_add_mconfig) { - LOG("%s %s\n", tag(), FUNCNAME); - return MACHINE_CONFIG_NAME( mzr8105 ); + MCFG_CPU_ADD ("maincpu", M68000, XTAL_10MHz) + MCFG_CPU_PROGRAM_MAP (mzr8105_mem) + MCFG_VME_DEVICE_ADD("vme") + MCFG_VME_BUS_OWNER_SPACES() + MCFG_VME_SLOT_ADD ("vme", 1, mzr8105_vme_cards, "mzr8300") } vme_mzr8105_card_device::vme_mzr8105_card_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : diff --git a/src/devices/bus/vme/vme_mzr8105.h b/src/devices/bus/vme/vme_mzr8105.h index 0378f19b727..9d5e371b47f 100644 --- a/src/devices/bus/vme/vme_mzr8105.h +++ b/src/devices/bus/vme/vme_mzr8105.h @@ -14,14 +14,14 @@ class vme_mzr8105_card_device : public device_t, public device_vme_card_interfac public: vme_mzr8105_card_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: vme_mzr8105_card_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; + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; #endif // MAME_BUS_VME_VME_MZR8105_H diff --git a/src/devices/bus/vme/vme_mzr8300.cpp b/src/devices/bus/vme/vme_mzr8300.cpp index 7febc8f9c7a..37c2b4f4e38 100644 --- a/src/devices/bus/vme/vme_mzr8300.cpp +++ b/src/devices/bus/vme/vme_mzr8300.cpp @@ -118,10 +118,16 @@ DEFINE_DEVICE_TYPE(VME_MZR8300, vme_mzr8300_card_device, "mzr8300", "Mizar 8300 /* These values are borrowed just to get the terminal going and should be replaced * once a proper serial board hardware (ie MZ 8300) is found and emulated. */ + + +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + #define BAUDGEN_CLOCK XTAL_19_6608MHz /* fake */ #define SIO_CLOCK (BAUDGEN_CLOCK / 128) /* This will give prompt */ -MACHINE_CONFIG_START( mzr8300 ) +MACHINE_CONFIG_MEMBER( vme_mzr8300_card_device::device_add_mconfig ) MCFG_UPD7201_ADD("sio0", XTAL_4MHz, SIO_CLOCK, SIO_CLOCK, SIO_CLOCK, SIO_CLOCK ) MCFG_Z80SIO_OUT_TXDB_CB(DEVWRITELINE("rs232p1", rs232_port_device, write_txd)) @@ -135,17 +141,6 @@ MACHINE_CONFIG_START( mzr8300 ) MCFG_Z80SIO_ADD("sio1", XTAL_4MHz, 0, 0, 0, 0 ) MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - - -machine_config_constructor vme_mzr8300_card_device::device_mconfig_additions() const -{ - LOG("%s %s\n", tag(), FUNCNAME); - return MACHINE_CONFIG_NAME( mzr8300 ); -} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/vme/vme_mzr8300.h b/src/devices/bus/vme/vme_mzr8300.h index cce6c9da7a5..2328f37c39b 100644 --- a/src/devices/bus/vme/vme_mzr8300.h +++ b/src/devices/bus/vme/vme_mzr8300.h @@ -14,9 +14,6 @@ class vme_mzr8300_card_device : public device_t, public device_vme_card_interfac public: vme_mzr8300_card_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_READ8_MEMBER (read8) override; // virtual DECLARE_WRITE8_MEMBER (write8) override; @@ -25,6 +22,9 @@ protected: virtual void device_start() override; virtual void device_reset() override; + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; }; #endif // MAME_BUS_VME_VME_MZR8300_H diff --git a/src/devices/bus/vtech/ioexp/printer.cpp b/src/devices/bus/vtech/ioexp/printer.cpp index 5f35253242e..371ab7320c8 100644 --- a/src/devices/bus/vtech/ioexp/printer.cpp +++ b/src/devices/bus/vtech/ioexp/printer.cpp @@ -20,8 +20,7 @@ DEFINE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device, "vtech_printer", "Laser/VZ Printer Interface") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- MACHINE_CONFIG_MEMBER( vtech_printer_interface_device::device_add_mconfig ) diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp index 86ce0d7a349..1da61c4d468 100644 --- a/src/devices/bus/vtech/memexp/floppy.cpp +++ b/src/devices/bus/vtech/memexp/floppy.cpp @@ -41,8 +41,7 @@ const tiny_rom_entry *vtech_floppy_controller_device::device_rom_region() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- static SLOT_INTERFACE_START( laser_floppies ) diff --git a/src/devices/bus/vtech/memexp/rs232.cpp b/src/devices/bus/vtech/memexp/rs232.cpp index 0b51ccbcad6..b606c391679 100644 --- a/src/devices/bus/vtech/memexp/rs232.cpp +++ b/src/devices/bus/vtech/memexp/rs232.cpp @@ -31,8 +31,7 @@ const tiny_rom_entry *vtech_rs232_interface_device::device_rom_region() const } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- MACHINE_CONFIG_MEMBER( vtech_rs232_interface_device::device_add_mconfig ) diff --git a/src/devices/bus/wangpc/lic.cpp b/src/devices/bus/wangpc/lic.cpp index 081bcdb7e2a..cd50495cebe 100644 --- a/src/devices/bus/wangpc/lic.cpp +++ b/src/devices/bus/wangpc/lic.cpp @@ -47,8 +47,7 @@ const tiny_rom_entry *wangpc_lic_device::device_rom_region() const //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- MACHINE_CONFIG_MEMBER( wangpc_lic_device::device_add_mconfig ) diff --git a/src/emu/device.cpp b/src/emu/device.cpp index d33bc711cf2..5325e506568 100644 --- a/src/emu/device.cpp +++ b/src/emu/device.cpp @@ -632,19 +632,6 @@ const tiny_rom_entry *device_t::device_rom_region() const } -//------------------------------------------------- -// machine_config - return a pointer to a machine -// config constructor describing sub-devices for -// this device -//------------------------------------------------- - -machine_config_constructor device_t::device_mconfig_additions() const -{ - // none by default - return nullptr; -} - - //------------------------------------------------- // device_add_mconfig - add device-specific // machine configuration @@ -652,10 +639,7 @@ machine_config_constructor device_t::device_mconfig_additions() const void device_t::device_add_mconfig(machine_config &config) { - // backwards-compatibility for devices using free functions - machine_config_constructor const additions(device_mconfig_additions()); - if (additions) - additions(config, this, nullptr); + // do nothing by default } diff --git a/src/emu/device.h b/src/emu/device.h index 3fdcff23464..aa492d0e442 100644 --- a/src/emu/device.h +++ b/src/emu/device.h @@ -498,7 +498,6 @@ protected: // device-level overrides virtual const tiny_rom_entry *device_rom_region() const; - virtual machine_config_constructor device_mconfig_additions() const; virtual void device_add_mconfig(machine_config &config); virtual ioport_constructor device_input_ports() const; virtual void device_config_complete(); diff --git a/src/mame/machine/m3comm.cpp b/src/mame/machine/m3comm.cpp index be3d381e866..42f16b2c258 100644 --- a/src/mame/machine/m3comm.cpp +++ b/src/mame/machine/m3comm.cpp @@ -110,8 +110,7 @@ ADDRESS_MAP_END DEFINE_DEVICE_TYPE(M3COMM, m3comm_device, "m3comm", "Model 3 Communication Board") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- MACHINE_CONFIG_MEMBER( m3comm_device::device_add_mconfig )