summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-06-01 15:17:47 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2017-06-01 15:17:47 +0200
commit472be8055fc05670b5e37726130792b0472ec230 (patch)
tree9430dbbbad81e7ac89e7a3e137da9bdbebf48c7d
parentcc9a0e699fd16e5c7245ae018e61fb6f18e9ccac (diff)
some more devices/machine to device_add_mconfig (nw)
-rw-r--r--src/devices/machine/68153bim.cpp2
-rw-r--r--src/devices/machine/at_keybc.h6
-rw-r--r--src/devices/machine/i82371sb.cpp23
-rw-r--r--src/devices/machine/i82371sb.h40
-rw-r--r--src/devices/machine/idehd.cpp11
-rw-r--r--src/devices/machine/idehd.h2
-rw-r--r--src/devices/machine/ie15.cpp30
-rw-r--r--src/devices/machine/ie15.h11
-rw-r--r--src/devices/machine/ie15_kbd.cpp6
-rw-r--r--src/devices/machine/ie15_kbd.h7
-rw-r--r--src/devices/machine/ldpr8210.cpp55
-rw-r--r--src/devices/machine/ldpr8210.h14
-rw-r--r--src/devices/machine/ldv1000.cpp49
-rw-r--r--src/devices/machine/ldv1000.h8
-rw-r--r--src/devices/machine/ldvp931.cpp29
-rw-r--r--src/devices/machine/ldvp931.h6
-rw-r--r--src/devices/machine/linflash.cpp21
-rw-r--r--src/devices/machine/linflash.h6
-rw-r--r--src/devices/machine/mb89363b.cpp6
-rw-r--r--src/devices/machine/mb89363b.h29
-rw-r--r--src/devices/machine/mc68681.cpp29
-rw-r--r--src/devices/machine/mc68681.h4
-rw-r--r--src/devices/machine/mos6551.cpp6
-rw-r--r--src/devices/machine/mos6551.h5
-rw-r--r--src/devices/machine/mpu401.cpp30
-rw-r--r--src/devices/machine/mpu401.h11
-rw-r--r--src/devices/machine/nscsi_cd.cpp6
-rw-r--r--src/devices/machine/nscsi_cd.h2
-rw-r--r--src/devices/machine/nscsi_hd.cpp6
-rw-r--r--src/devices/machine/nscsi_hd.h3
-rw-r--r--src/devices/machine/pc_fdc.cpp15
-rw-r--r--src/devices/machine/pc_fdc.h8
-rw-r--r--src/devices/machine/pc_lpt.cpp6
-rw-r--r--src/devices/machine/pc_lpt.h7
-rw-r--r--src/devices/machine/pci-ide.cpp7
-rw-r--r--src/devices/machine/pci-ide.h15
-rw-r--r--src/mame/drivers/galgames.cpp2
-rw-r--r--src/mame/includes/harddriv.h1
38 files changed, 206 insertions, 318 deletions
diff --git a/src/devices/machine/68153bim.cpp b/src/devices/machine/68153bim.cpp
index 98b5e45f729..00934d66ff9 100644
--- a/src/devices/machine/68153bim.cpp
+++ b/src/devices/machine/68153bim.cpp
@@ -66,8 +66,8 @@ DEFINE_DEVICE_TYPE(EI68C153, ei68c153_device, "ei68c153", "EPIC
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
+
MACHINE_CONFIG_MEMBER( bim68153_device::device_add_mconfig )
- LOG("%s\n", FUNCNAME);
MCFG_DEVICE_ADD(CHN0_TAG, MC68153_CHANNEL, 0)
MCFG_DEVICE_ADD(CHN1_TAG, MC68153_CHANNEL, 0)
MCFG_DEVICE_ADD(CHN2_TAG, MC68153_CHANNEL, 0)
diff --git a/src/devices/machine/at_keybc.h b/src/devices/machine/at_keybc.h
index b38c3b8595b..03bb9b6459f 100644
--- a/src/devices/machine/at_keybc.h
+++ b/src/devices/machine/at_keybc.h
@@ -75,9 +75,6 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- // internal state
- upi41_cpu_device *m_cpu;
-
// internal 8042 interface
DECLARE_READ_LINE_MEMBER( t0_r );
DECLARE_READ_LINE_MEMBER( t1_r );
@@ -85,6 +82,9 @@ private:
DECLARE_READ8_MEMBER( p2_r );
DECLARE_WRITE8_MEMBER( p2_w );
+ // internal state
+ upi41_cpu_device *m_cpu;
+
// interface to the host pc
devcb_write_line m_system_reset_cb;
devcb_write_line m_gate_a20_cb;
diff --git a/src/devices/machine/i82371sb.cpp b/src/devices/machine/i82371sb.cpp
index 99d2a61ccf2..3139cefeb87 100644
--- a/src/devices/machine/i82371sb.cpp
+++ b/src/devices/machine/i82371sb.cpp
@@ -47,13 +47,17 @@ DEVICE_ADDRESS_MAP_START(internal_io_map, 32, i82371sb_isa_device)
AM_RANGE(0x00e0, 0x00ef) AM_NOP
// VGA-HACK
- AM_RANGE(0x3b0, 0x3bf) AM_DEVREADWRITE8("vga",vga_device,port_03b0_r, port_03b0_w, 0xffffffff);
- AM_RANGE(0x3c0, 0x3cf) AM_DEVREADWRITE8("vga",vga_device,port_03c0_r, port_03c0_w, 0xffffffff);
- AM_RANGE(0x3d0, 0x3df) AM_DEVREADWRITE8("vga",vga_device,port_03d0_r, port_03d0_w, 0xffffffff);
+ AM_RANGE(0x3b0, 0x3bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff);
+ AM_RANGE(0x3c0, 0x3cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff);
+ AM_RANGE(0x3d0, 0x3df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff);
// end-VGA-HACK
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( southbridge )
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER( i82371sb_isa_device::device_add_mconfig )
MCFG_DEVICE_ADD("pit8254", PIT8254, 0)
MCFG_PIT8253_CLK0(4772720/4) /* heartbeat IRQ */
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(i82371sb_isa_device, at_pit8254_out0_changed))
@@ -155,17 +159,6 @@ static MACHINE_CONFIG_START( southbridge )
// end-VGA-HACK
MACHINE_CONFIG_END
-//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
-//-------------------------------------------------
-
-machine_config_constructor i82371sb_isa_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( southbridge );
-}
-
-
i82371sb_isa_device::i82371sb_isa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pci_device(mconfig, I82371SB_ISA, tag, owner, clock),
diff --git a/src/devices/machine/i82371sb.h b/src/devices/machine/i82371sb.h
index 330379a1757..dbee9b492e7 100644
--- a/src/devices/machine/i82371sb.h
+++ b/src/devices/machine/i82371sb.h
@@ -43,9 +43,6 @@ public:
virtual void map_extra(uint64_t memory_window_start, uint64_t memory_window_end, uint64_t memory_offset, address_space *memory_space,
uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) override;
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
virtual DECLARE_ADDRESS_MAP(config_map, 32) override;
DECLARE_ADDRESS_MAP(internal_io_map, 32);
@@ -92,11 +89,26 @@ public:
DECLARE_WRITE8_MEMBER(at_page8_w);
DECLARE_READ8_MEMBER(at_portb_r);
DECLARE_WRITE8_MEMBER(at_portb_w);
- DECLARE_READ8_MEMBER(get_slave_ack);
+ DECLARE_READ8_MEMBER(ide_read_cs1_r);
+ DECLARE_WRITE8_MEMBER(ide_write_cs1_w);
+ DECLARE_READ8_MEMBER(ide2_read_cs1_r);
+ DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
+ DECLARE_READ8_MEMBER(at_dma8237_2_r);
+ DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
+ DECLARE_READ8_MEMBER(at_keybc_r);
+ DECLARE_WRITE8_MEMBER(at_keybc_w);
+ DECLARE_WRITE8_MEMBER(write_rtc);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out1_changed);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
- DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed);
DECLARE_READ8_MEMBER(pc_dma8237_0_dack_r);
DECLARE_READ8_MEMBER(pc_dma8237_1_dack_r);
DECLARE_READ8_MEMBER(pc_dma8237_2_dack_r);
@@ -111,7 +123,6 @@ public:
DECLARE_WRITE8_MEMBER(pc_dma8237_5_dack_w);
DECLARE_WRITE8_MEMBER(pc_dma8237_6_dack_w);
DECLARE_WRITE8_MEMBER(pc_dma8237_7_dack_w);
- DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop);
DECLARE_WRITE_LINE_MEMBER(pc_dack0_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack1_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
@@ -120,25 +131,14 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack5_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack6_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack7_w);
- DECLARE_READ8_MEMBER(ide_read_cs1_r);
- DECLARE_WRITE8_MEMBER(ide_write_cs1_w);
- DECLARE_READ8_MEMBER(ide2_read_cs1_r);
- DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
- DECLARE_READ8_MEMBER(at_dma8237_2_r);
- DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
- DECLARE_READ8_MEMBER(at_keybc_r);
- DECLARE_WRITE8_MEMBER(at_keybc_w);
- DECLARE_WRITE8_MEMBER(write_rtc);
+ DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop);
+ DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed);
DECLARE_READ8_MEMBER(pc_dma_read_byte);
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
DECLARE_READ8_MEMBER(pc_dma_read_word);
DECLARE_WRITE8_MEMBER(pc_dma_write_word);
+ DECLARE_READ8_MEMBER(get_slave_ack);
-protected:
- virtual void device_start() override;
- virtual void device_reset() override;
-
-private:
devcb_write8 m_boot_state_hook;
uint32_t see;
diff --git a/src/devices/machine/idehd.cpp b/src/devices/machine/idehd.cpp
index 300a6d49860..f5b5d1b15a3 100644
--- a/src/devices/machine/idehd.cpp
+++ b/src/devices/machine/idehd.cpp
@@ -854,14 +854,9 @@ uint8_t ide_hdd_device::calculate_status()
}
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-static MACHINE_CONFIG_START( hdd_image )
+
+MACHINE_CONFIG_MEMBER( ide_hdd_device::device_add_mconfig )
MCFG_HARDDISK_ADD( "image" )
MACHINE_CONFIG_END
-
-machine_config_constructor ide_hdd_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( hdd_image );
-}
diff --git a/src/devices/machine/idehd.h b/src/devices/machine/idehd.h
index c227d671642..ff6acbc985a 100644
--- a/src/devices/machine/idehd.h
+++ b/src/devices/machine/idehd.h
@@ -97,7 +97,7 @@ protected:
virtual void device_reset() override;
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual int read_sector(uint32_t lba, void *buffer) override { return !m_disk ? 0 : hard_disk_read(m_disk, lba, buffer); }
virtual int write_sector(uint32_t lba, const void *buffer) override { return !m_disk ? 0 : hard_disk_write(m_disk, lba, buffer); }
diff --git a/src/devices/machine/ie15.cpp b/src/devices/machine/ie15.cpp
index 9125ebf10fd..2bcb87e66e3 100644
--- a/src/devices/machine/ie15.cpp
+++ b/src/devices/machine/ie15.cpp
@@ -586,20 +586,6 @@ static MACHINE_CONFIG_START( ie15core )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ie15 )
- MCFG_FRAGMENT_ADD(ie15core)
-
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_UPDATE_DRIVER(ie15_device, screen_update)
- MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2, IE15_TOTAL_HORZ, IE15_HORZ_START,
- IE15_HORZ_START+IE15_DISP_HORZ, IE15_TOTAL_VERT, IE15_VERT_START,
- IE15_VERT_START+IE15_DISP_VERT);
-
- MCFG_GFXDECODE_ADD("gfxdecode", "palette", ie15)
- MCFG_PALETTE_ADD_MONOCHROME("palette")
-MACHINE_CONFIG_END
-
-
/* ROM definition */
ROM_START( ie15 )
ROM_REGION(0x1000, "maincpu", ROMREGION_ERASE00)
@@ -615,10 +601,18 @@ ROM_START( ie15 )
ROM_LOAD("chargen-15ie.bin", 0x0000, 0x0800, CRC(ed16bf6b) SHA1(6af9fb75f5375943d5c0ce9ed408e0fb4621b17e))
ROM_END
-machine_config_constructor ie15_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(ie15);
-}
+MACHINE_CONFIG_MEMBER( ie15_device::device_add_mconfig )
+ MCFG_FRAGMENT_ADD(ie15core)
+
+ MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
+ MCFG_SCREEN_UPDATE_DRIVER(ie15_device, screen_update)
+ MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2, IE15_TOTAL_HORZ, IE15_HORZ_START,
+ IE15_HORZ_START+IE15_DISP_HORZ, IE15_TOTAL_VERT, IE15_VERT_START,
+ IE15_VERT_START+IE15_DISP_VERT);
+
+ MCFG_GFXDECODE_ADD("gfxdecode", "palette", ie15)
+ MCFG_PALETTE_ADD_MONOCHROME("palette")
+MACHINE_CONFIG_END
ioport_constructor ie15_device::device_input_ports() const
{
diff --git a/src/devices/machine/ie15.h b/src/devices/machine/ie15.h
index 5c82ac45c3f..9898323c539 100644
--- a/src/devices/machine/ie15.h
+++ b/src/devices/machine/ie15.h
@@ -40,12 +40,6 @@ public:
DECLARE_WRITE8_MEMBER(write) { term_write(data); }
- uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual ioport_constructor device_input_ports() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
protected:
ie15_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -53,6 +47,10 @@ 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;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
virtual void rcv_complete() override;
virtual void tra_callback() override;
virtual void tra_complete() override;
@@ -91,6 +89,7 @@ private:
void scanline_callback();
void update_leds();
void draw_scanline(uint32_t *p, uint16_t offset, uint8_t scanline);
+ uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
std::unique_ptr<uint32_t[]> m_tmpbmp;
emu_timer *m_hblank_timer;
diff --git a/src/devices/machine/ie15_kbd.cpp b/src/devices/machine/ie15_kbd.cpp
index bc90b501676..2bd28323054 100644
--- a/src/devices/machine/ie15_kbd.cpp
+++ b/src/devices/machine/ie15_kbd.cpp
@@ -122,13 +122,9 @@ const tiny_rom_entry *ie15_keyboard_device::device_rom_region() const
return ROM_NAME( ie15_keyboard );
}
-static MACHINE_CONFIG_START( ie15_keyboard )
+MACHINE_CONFIG_MEMBER( ie15_keyboard_device::device_add_mconfig )
MACHINE_CONFIG_END
-machine_config_constructor ie15_keyboard_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(ie15_keyboard);
-}
void ie15_keyboard_device::device_start()
{
diff --git a/src/devices/machine/ie15_kbd.h b/src/devices/machine/ie15_kbd.h
index 0e4eda30a39..4ba7fe30821 100644
--- a/src/devices/machine/ie15_kbd.h
+++ b/src/devices/machine/ie15_kbd.h
@@ -49,16 +49,15 @@ public:
template <class Object> static devcb_base &set_keyboard_callback(device_t &device, Object &&cb) { return downcast<ie15_keyboard_device &>(device).m_keyboard_cb.set_callback(std::forward<Object>(cb)); }
- virtual ioport_constructor device_input_ports() const override;
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
-
protected:
ie15_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+ virtual ioport_constructor device_input_ports() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
virtual void send_key(uint16_t code) { m_keyboard_cb(offs_t(0), code); }
required_ioport_array<4> m_io_kbd;
diff --git a/src/devices/machine/ldpr8210.cpp b/src/devices/machine/ldpr8210.cpp
index 4a8340a1541..8e1b879d16d 100644
--- a/src/devices/machine/ldpr8210.cpp
+++ b/src/devices/machine/ldpr8210.cpp
@@ -152,18 +152,6 @@ static ADDRESS_MAP_START( pr8210_portmap, AS_IO, 8, pioneer_pr8210_device )
AM_RANGE(0x00, 0xff) AM_READWRITE(i8049_pia_r, i8049_pia_w)
ADDRESS_MAP_END
-
-static MACHINE_CONFIG_START( pr8210 )
- MCFG_CPU_ADD("pr8210", I8049, XTAL_4_41MHz)
- MCFG_CPU_IO_MAP(pr8210_portmap)
- MCFG_MCS48_PORT_BUS_IN_CB(READ8(pioneer_pr8210_device, i8049_bus_r))
- MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port1_w))
- MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port2_w))
- MCFG_MCS48_PORT_T0_IN_CB(READLINE(pioneer_pr8210_device, i8049_t0_r))
- MCFG_MCS48_PORT_T1_IN_CB(READLINE(pioneer_pr8210_device, i8049_t1_r))
-MACHINE_CONFIG_END
-
-
ROM_START( pr8210 )
ROM_REGION( 0x800, "pr8210", 0 )
ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) )
@@ -381,14 +369,18 @@ const tiny_rom_entry *pioneer_pr8210_device::device_rom_region() const
//-------------------------------------------------
-// device_mconfig_additions - return a pointer to
-// our machine config fragment
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor pioneer_pr8210_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(pr8210);
-}
+MACHINE_CONFIG_MEMBER( pioneer_pr8210_device::device_add_mconfig )
+ MCFG_CPU_ADD("pr8210", I8049, XTAL_4_41MHz)
+ MCFG_CPU_IO_MAP(pr8210_portmap)
+ MCFG_MCS48_PORT_BUS_IN_CB(READ8(pioneer_pr8210_device, i8049_bus_r))
+ MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port1_w))
+ MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port2_w))
+ MCFG_MCS48_PORT_T0_IN_CB(READLINE(pioneer_pr8210_device, i8049_t0_r))
+ MCFG_MCS48_PORT_T1_IN_CB(READLINE(pioneer_pr8210_device, i8049_t1_r))
+MACHINE_CONFIG_END
//-------------------------------------------------
@@ -850,17 +842,6 @@ static ADDRESS_MAP_START( simutrek_portmap, AS_IO, 8, simutrek_special_device )
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( simutrek )
- MCFG_CPU_ADD("simutrek", I8748, XTAL_6MHz)
- MCFG_CPU_IO_MAP(simutrek_portmap)
- MCFG_MCS48_PORT_P2_IN_CB(READ8(simutrek_special_device, i8748_port2_r))
- MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(simutrek_special_device, i8748_port2_w))
- MCFG_MCS48_PORT_T0_IN_CB(READLINE(simutrek_special_device, i8748_t0_r))
-
- MCFG_FRAGMENT_ADD(pr8210)
-MACHINE_CONFIG_END
-
-
ROM_START( simutrek )
ROM_REGION( 0x800, "pr8210", 0 )
ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) )
@@ -1015,14 +996,18 @@ const tiny_rom_entry *simutrek_special_device::device_rom_region() const
//-------------------------------------------------
-// device_mconfig_additions - return a pointer to
-// our machine config fragment
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor simutrek_special_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(simutrek);
-}
+MACHINE_CONFIG_MEMBER( simutrek_special_device::device_add_mconfig )
+ MCFG_CPU_ADD("simutrek", I8748, XTAL_6MHz)
+ MCFG_CPU_IO_MAP(simutrek_portmap)
+ MCFG_MCS48_PORT_P2_IN_CB(READ8(simutrek_special_device, i8748_port2_r))
+ MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(simutrek_special_device, i8748_port2_w))
+ MCFG_MCS48_PORT_T0_IN_CB(READLINE(simutrek_special_device, i8748_t0_r))
+
+ pioneer_pr8210_device::device_add_mconfig(config);
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/machine/ldpr8210.h b/src/devices/machine/ldpr8210.h
index 9df357decaf..ec3f14b9944 100644
--- a/src/devices/machine/ldpr8210.h
+++ b/src/devices/machine/ldpr8210.h
@@ -69,7 +69,7 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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;
// subclass overrides
virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override;
@@ -85,16 +85,17 @@ protected:
virtual void update_audio_squelch() { set_audio_squelch((m_i8049_port1 & 0x40) || !(m_pia.portb & 0x01), (m_i8049_port1 & 0x40) || !(m_pia.portb & 0x02)); }
public:
- // internal read/write handlers
DECLARE_READ8_MEMBER( i8049_pia_r );
DECLARE_WRITE8_MEMBER( i8049_pia_w );
+
+protected:
+ // internal read/write handlers
DECLARE_READ8_MEMBER( i8049_bus_r );
DECLARE_WRITE8_MEMBER( i8049_port1_w );
DECLARE_WRITE8_MEMBER( i8049_port2_w );
DECLARE_READ_LINE_MEMBER( i8049_t0_r );
DECLARE_READ_LINE_MEMBER( i8049_t1_r );
-protected:
// pioneer PIA subclass
class pioneer_pia
{
@@ -165,20 +166,21 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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;
// internal helpers
virtual bool override_control() const override { return m_controlthis; }
virtual void update_audio_squelch() override { set_audio_squelch(m_audio_squelch, m_audio_squelch); }
public:
+ DECLARE_READ8_MEMBER( i8748_data_r );
+
+private:
// internal read/write handlers
DECLARE_READ8_MEMBER( i8748_port2_r );
DECLARE_WRITE8_MEMBER( i8748_port2_w );
- DECLARE_READ8_MEMBER( i8748_data_r );
DECLARE_READ_LINE_MEMBER( i8748_t0_r );
-protected:
// internal state
required_device<i8748_device> m_i8748_cpu;
uint8_t m_audio_squelch; // audio squelch value
diff --git a/src/devices/machine/ldv1000.cpp b/src/devices/machine/ldv1000.cpp
index 9637c3fd3ce..899bc7684cc 100644
--- a/src/devices/machine/ldv1000.cpp
+++ b/src/devices/machine/ldv1000.cpp
@@ -84,28 +84,6 @@ static const z80_daisy_config daisy_chain[] =
};
-static MACHINE_CONFIG_START( ldv1000 )
- MCFG_CPU_ADD("ldv1000", Z80, XTAL_5MHz/2)
- MCFG_Z80_DAISY_CHAIN(daisy_chain)
- MCFG_CPU_PROGRAM_MAP(ldv1000_map)
- MCFG_CPU_IO_MAP(ldv1000_portmap)
-
- MCFG_DEVICE_ADD("ldvctc", Z80CTC, XTAL_5MHz/2)
- MCFG_Z80CTC_INTR_CB(WRITELINE(pioneer_ldv1000_device, ctc_interrupt))
-
- MCFG_DEVICE_ADD("ldvppi0", I8255, 0)
- MCFG_I8255_OUT_PORTA_CB(WRITE8(pioneer_ldv1000_device, ppi0_porta_w))
- MCFG_I8255_IN_PORTB_CB(READ8(pioneer_ldv1000_device, ppi0_portb_r))
- MCFG_I8255_IN_PORTC_CB(READ8(pioneer_ldv1000_device, ppi0_portc_r))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi0_portc_w))
-
- MCFG_DEVICE_ADD("ldvppi1", I8255, 0)
- MCFG_I8255_IN_PORTA_CB(READ8(pioneer_ldv1000_device, ppi1_porta_r))
- MCFG_I8255_OUT_PORTB_CB(WRITE8(pioneer_ldv1000_device, ppi1_portb_w))
- MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi1_portc_w))
-MACHINE_CONFIG_END
-
-
ROM_START( ldv1000 )
ROM_REGION( 0x2000, "ldv1000", 0 )
ROM_LOAD( "z03_1001_vyw-053_v1-0.bin", 0x0000, 0x2000, CRC(31ec4687) SHA1(52f91c304a878ba02b2fa1cda1a9489d6dd5a34f) )
@@ -289,14 +267,29 @@ const tiny_rom_entry *pioneer_ldv1000_device::device_rom_region() const
//-------------------------------------------------
-// device_mconfig_additions - return a pointer to
-// our machine config fragment
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor pioneer_ldv1000_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(ldv1000);
-}
+MACHINE_CONFIG_MEMBER( pioneer_ldv1000_device::device_add_mconfig )
+ MCFG_CPU_ADD("ldv1000", Z80, XTAL_5MHz/2)
+ MCFG_Z80_DAISY_CHAIN(daisy_chain)
+ MCFG_CPU_PROGRAM_MAP(ldv1000_map)
+ MCFG_CPU_IO_MAP(ldv1000_portmap)
+
+ MCFG_DEVICE_ADD("ldvctc", Z80CTC, XTAL_5MHz/2)
+ MCFG_Z80CTC_INTR_CB(WRITELINE(pioneer_ldv1000_device, ctc_interrupt))
+
+ MCFG_DEVICE_ADD("ldvppi0", I8255, 0)
+ MCFG_I8255_OUT_PORTA_CB(WRITE8(pioneer_ldv1000_device, ppi0_porta_w))
+ MCFG_I8255_IN_PORTB_CB(READ8(pioneer_ldv1000_device, ppi0_portb_r))
+ MCFG_I8255_IN_PORTC_CB(READ8(pioneer_ldv1000_device, ppi0_portc_r))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi0_portc_w))
+
+ MCFG_DEVICE_ADD("ldvppi1", I8255, 0)
+ MCFG_I8255_IN_PORTA_CB(READ8(pioneer_ldv1000_device, ppi1_porta_r))
+ MCFG_I8255_OUT_PORTB_CB(WRITE8(pioneer_ldv1000_device, ppi1_portb_w))
+ MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi1_portc_w))
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/machine/ldv1000.h b/src/devices/machine/ldv1000.h
index 58e9fa296c4..2bd6726a729 100644
--- a/src/devices/machine/ldv1000.h
+++ b/src/devices/machine/ldv1000.h
@@ -76,7 +76,7 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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;
// subclass overrides
virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override;
@@ -90,11 +90,14 @@ protected:
public:
// internal read/write handlers
- DECLARE_WRITE_LINE_MEMBER( ctc_interrupt );
DECLARE_WRITE8_MEMBER( z80_decoder_display_port_w );
DECLARE_READ8_MEMBER( z80_decoder_display_port_r );
DECLARE_READ8_MEMBER( z80_controller_r );
DECLARE_WRITE8_MEMBER( z80_controller_w );
+
+private:
+ // internal read/write handlers
+ DECLARE_WRITE_LINE_MEMBER( ctc_interrupt );
DECLARE_WRITE8_MEMBER( ppi0_porta_w );
DECLARE_READ8_MEMBER( ppi0_portb_r );
DECLARE_READ8_MEMBER( ppi0_portc_r );
@@ -103,7 +106,6 @@ public:
DECLARE_WRITE8_MEMBER( ppi1_portb_w );
DECLARE_WRITE8_MEMBER( ppi1_portc_w );
-protected:
// internal state
required_device<z80_device> m_z80_cpu; /* CPU index of the Z80 */
required_device<z80ctc_device> m_z80_ctc; /* CTC device */
diff --git a/src/devices/machine/ldvp931.cpp b/src/devices/machine/ldvp931.cpp
index d65b0ba9d6f..f2973f5a86a 100644
--- a/src/devices/machine/ldvp931.cpp
+++ b/src/devices/machine/ldvp931.cpp
@@ -61,18 +61,6 @@ static ADDRESS_MAP_START( vp931_portmap, AS_IO, 8, phillips_22vp931_device )
ADDRESS_MAP_END
-static MACHINE_CONFIG_START( vp931 )
- MCFG_CPU_ADD("vp931", I8049, XTAL_11MHz)
- MCFG_CPU_IO_MAP(vp931_portmap)
- MCFG_MCS48_PORT_P1_IN_CB(READ8(phillips_22vp931_device, i8049_port1_r))
- MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port1_w))
- MCFG_MCS48_PORT_P2_IN_CB(READ8(phillips_22vp931_device, i8049_port2_r))
- MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port2_w))
- MCFG_MCS48_PORT_T0_IN_CB(READLINE(phillips_22vp931_device, i8049_t0_r))
- MCFG_MCS48_PORT_T1_IN_CB(READLINE(phillips_22vp931_device, i8049_t1_r))
-MACHINE_CONFIG_END
-
-
ROM_START( vp931 )
ROM_REGION( 0x800, "vp931", 0 )
ROM_LOAD( "at-6-1_a.bin", 0x000, 0x800, CRC(e11b3c8d) SHA1(ea2d7f6a044ed085ce5e09d8b1b1a21c37f0e9b8) )
@@ -294,14 +282,19 @@ const tiny_rom_entry *phillips_22vp931_device::device_rom_region() const
//-------------------------------------------------
-// device_mconfig_additions - return a pointer to
-// our machine config fragment
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor phillips_22vp931_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(vp931);
-}
+MACHINE_CONFIG_MEMBER( phillips_22vp931_device::device_add_mconfig )
+ MCFG_CPU_ADD("vp931", I8049, XTAL_11MHz)
+ MCFG_CPU_IO_MAP(vp931_portmap)
+ MCFG_MCS48_PORT_P1_IN_CB(READ8(phillips_22vp931_device, i8049_port1_r))
+ MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port1_w))
+ MCFG_MCS48_PORT_P2_IN_CB(READ8(phillips_22vp931_device, i8049_port2_r))
+ MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port2_w))
+ MCFG_MCS48_PORT_T0_IN_CB(READLINE(phillips_22vp931_device, i8049_t0_r))
+ MCFG_MCS48_PORT_T1_IN_CB(READLINE(phillips_22vp931_device, i8049_t1_r))
+MACHINE_CONFIG_END
//-------------------------------------------------
diff --git a/src/devices/machine/ldvp931.h b/src/devices/machine/ldvp931.h
index 5136818ceeb..df626efa6ca 100644
--- a/src/devices/machine/ldvp931.h
+++ b/src/devices/machine/ldvp931.h
@@ -77,7 +77,7 @@ protected:
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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;
// subclass overrides
virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override;
@@ -94,6 +94,9 @@ public:
DECLARE_READ8_MEMBER( i8049_datic_r );
DECLARE_READ8_MEMBER( i8049_from_controller_r );
DECLARE_WRITE8_MEMBER( i8049_to_controller_w );
+
+private:
+ // internal read/write handlers
DECLARE_READ8_MEMBER( i8049_port1_r );
DECLARE_WRITE8_MEMBER( i8049_port1_w );
DECLARE_READ8_MEMBER( i8049_port2_r );
@@ -101,7 +104,6 @@ public:
DECLARE_READ_LINE_MEMBER( i8049_t0_r );
DECLARE_READ_LINE_MEMBER( i8049_t1_r );
-protected:
// internal state
required_device<i8049_device> m_i8049_cpu; // CPU index of the 8049
emu_timer * m_tracktimer; // timer device
diff --git a/src/devices/machine/linflash.cpp b/src/devices/machine/linflash.cpp
index d12c315d443..cb808616eb2 100644
--- a/src/devices/machine/linflash.cpp
+++ b/src/devices/machine/linflash.cpp
@@ -58,7 +58,7 @@ linear_flash_pccard_16mb_device::linear_flash_pccard_16mb_device(const machine_c
m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_16mb ) );
}
-static MACHINE_CONFIG_START( linear_flash_pccard_16mb )
+MACHINE_CONFIG_MEMBER( linear_flash_pccard_16mb_device::device_add_mconfig )
MCFG_FUJITSU_29F016A_ADD("1l")
MCFG_FUJITSU_29F016A_ADD("1u")
MCFG_FUJITSU_29F016A_ADD("2l")
@@ -69,11 +69,6 @@ static MACHINE_CONFIG_START( linear_flash_pccard_16mb )
MCFG_FUJITSU_29F016A_ADD("4u")
MACHINE_CONFIG_END
-machine_config_constructor linear_flash_pccard_16mb_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( linear_flash_pccard_16mb );
-}
-
static ADDRESS_MAP_START(linear_flash_pccard_32mb, AS_0, 16, linear_flash_pccard_32mb_device)
ADDRESS_MAP_UNMAP_HIGH
@@ -101,7 +96,7 @@ linear_flash_pccard_32mb_device::linear_flash_pccard_32mb_device(const machine_c
m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_32mb ) );
}
-static MACHINE_CONFIG_START( linear_flash_pccard_32mb )
+MACHINE_CONFIG_MEMBER( linear_flash_pccard_32mb_device::device_add_mconfig )
MCFG_FUJITSU_29F016A_ADD("1l")
MCFG_FUJITSU_29F016A_ADD("1u")
MCFG_FUJITSU_29F016A_ADD("2l")
@@ -120,11 +115,6 @@ static MACHINE_CONFIG_START( linear_flash_pccard_32mb )
MCFG_FUJITSU_29F016A_ADD("8u")
MACHINE_CONFIG_END
-machine_config_constructor linear_flash_pccard_32mb_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( linear_flash_pccard_32mb );
-}
-
static ADDRESS_MAP_START(linear_flash_pccard_64mb, AS_0, 16, linear_flash_pccard_64mb_device)
ADDRESS_MAP_UNMAP_HIGH
@@ -168,7 +158,7 @@ linear_flash_pccard_64mb_device::linear_flash_pccard_64mb_device(const machine_c
m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_64mb ) );
}
-static MACHINE_CONFIG_START( linear_flash_pccard_64mb )
+MACHINE_CONFIG_MEMBER( linear_flash_pccard_64mb_device::device_add_mconfig )
MCFG_FUJITSU_29F016A_ADD("1l")
MCFG_FUJITSU_29F016A_ADD("1u")
MCFG_FUJITSU_29F016A_ADD("2l")
@@ -202,8 +192,3 @@ static MACHINE_CONFIG_START( linear_flash_pccard_64mb )
MCFG_FUJITSU_29F016A_ADD("16l")
MCFG_FUJITSU_29F016A_ADD("16u")
MACHINE_CONFIG_END
-
-machine_config_constructor linear_flash_pccard_64mb_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( linear_flash_pccard_64mb );
-}
diff --git a/src/devices/machine/linflash.h b/src/devices/machine/linflash.h
index f6d58a33f93..969ea7fbf02 100644
--- a/src/devices/machine/linflash.h
+++ b/src/devices/machine/linflash.h
@@ -38,7 +38,7 @@ public:
protected:
// device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
@@ -49,7 +49,7 @@ public:
protected:
// device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
@@ -60,7 +60,7 @@ public:
protected:
// device-level overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
};
diff --git a/src/devices/machine/mb89363b.cpp b/src/devices/machine/mb89363b.cpp
index 8caec6de005..d9d1459234f 100644
--- a/src/devices/machine/mb89363b.cpp
+++ b/src/devices/machine/mb89363b.cpp
@@ -134,7 +134,7 @@ WRITE8_MEMBER( mb89363b_device::write )
}
-static MACHINE_CONFIG_START( mb89363b )
+MACHINE_CONFIG_MEMBER( mb89363b_device::device_add_mconfig )
MCFG_DEVICE_ADD("i8255_a", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(mb89363b_device, i8255_a_port_a_r))
MCFG_I8255_IN_PORTB_CB(READ8(mb89363b_device, i8255_a_port_b_r))
@@ -152,10 +152,6 @@ static MACHINE_CONFIG_START( mb89363b )
MCFG_I8255_OUT_PORTC_CB(WRITE8(mb89363b_device, i8255_b_port_c_w))
MACHINE_CONFIG_END
-machine_config_constructor mb89363b_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mb89363b );
-}
void mb89363b_device::device_start()
{
diff --git a/src/devices/machine/mb89363b.h b/src/devices/machine/mb89363b.h
index c5f4191db95..32e0b9177fd 100644
--- a/src/devices/machine/mb89363b.h
+++ b/src/devices/machine/mb89363b.h
@@ -71,20 +71,6 @@ public:
DECLARE_READ8_MEMBER(read);
DECLARE_WRITE8_MEMBER(write);
- DECLARE_READ8_MEMBER(i8255_a_port_a_r);
- DECLARE_READ8_MEMBER(i8255_a_port_b_r);
- DECLARE_READ8_MEMBER(i8255_a_port_c_r);
- DECLARE_WRITE8_MEMBER(i8255_a_port_a_w);
- DECLARE_WRITE8_MEMBER(i8255_a_port_b_w);
- DECLARE_WRITE8_MEMBER(i8255_a_port_c_w);
- DECLARE_READ8_MEMBER(i8255_b_port_a_r);
- DECLARE_READ8_MEMBER(i8255_b_port_b_r);
- DECLARE_READ8_MEMBER(i8255_b_port_c_r);
- DECLARE_WRITE8_MEMBER(i8255_b_port_a_w);
- DECLARE_WRITE8_MEMBER(i8255_b_port_b_w);
- DECLARE_WRITE8_MEMBER(i8255_b_port_c_w);
-
-
template <class Object> static devcb_base &set_in_a_pa_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pa_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> static devcb_base &set_in_a_pb_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pb_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> static devcb_base &set_in_a_pc_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pc_cb.set_callback(std::forward<Object>(cb)); }
@@ -100,11 +86,24 @@ public:
template <class Object> static devcb_base &set_out_b_pc_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_out_b_pc_cb.set_callback(std::forward<Object>(cb)); }
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_READ8_MEMBER(i8255_a_port_a_r);
+ DECLARE_READ8_MEMBER(i8255_a_port_b_r);
+ DECLARE_READ8_MEMBER(i8255_a_port_c_r);
+ DECLARE_WRITE8_MEMBER(i8255_a_port_a_w);
+ DECLARE_WRITE8_MEMBER(i8255_a_port_b_w);
+ DECLARE_WRITE8_MEMBER(i8255_a_port_c_w);
+ DECLARE_READ8_MEMBER(i8255_b_port_a_r);
+ DECLARE_READ8_MEMBER(i8255_b_port_b_r);
+ DECLARE_READ8_MEMBER(i8255_b_port_c_r);
+ DECLARE_WRITE8_MEMBER(i8255_b_port_a_w);
+ DECLARE_WRITE8_MEMBER(i8255_b_port_b_w);
+ DECLARE_WRITE8_MEMBER(i8255_b_port_c_w);
+
required_device<i8255_device> m_i8255_a;
required_device<i8255_device> m_i8255_b;
diff --git a/src/devices/machine/mc68681.cpp b/src/devices/machine/mc68681.cpp
index 66bdc2853e2..c000feadd15 100644
--- a/src/devices/machine/mc68681.cpp
+++ b/src/devices/machine/mc68681.cpp
@@ -61,17 +61,6 @@ DEFINE_DEVICE_TYPE(MC68681, mc68681_device, "mc68681", "MC68681 DUART")
DEFINE_DEVICE_TYPE(SC28C94, sc28c94_device, "sc28c94", "SC28C94 QUART")
DEFINE_DEVICE_TYPE(MC68681_CHANNEL, mc68681_channel, "mc68681_channel", "MC68681 DUART channel")
-MACHINE_CONFIG_START( duart68681 )
- MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0)
- MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0)
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START( quart28c94 )
- MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0)
- MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0)
- MCFG_DEVICE_ADD(CHANC_TAG, MC68681_CHANNEL, 0)
- MCFG_DEVICE_ADD(CHAND_TAG, MC68681_CHANNEL, 0)
-MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE
@@ -170,15 +159,17 @@ void mc68681_base_device::device_reset()
write_outport(OPR ^ 0xff);
}
-machine_config_constructor mc68681_base_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( duart68681 );
-}
+MACHINE_CONFIG_MEMBER( mc68681_base_device::device_add_mconfig )
+ MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0)
+ MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0)
+MACHINE_CONFIG_END
-machine_config_constructor sc28c94_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( quart28c94 );
-}
+MACHINE_CONFIG_MEMBER( sc28c94_device::device_add_mconfig )
+ MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0)
+ MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0)
+ MCFG_DEVICE_ADD(CHANC_TAG, MC68681_CHANNEL, 0)
+ MCFG_DEVICE_ADD(CHAND_TAG, MC68681_CHANNEL, 0)
+MACHINE_CONFIG_END
void mc68681_base_device::update_interrupts()
{
diff --git a/src/devices/machine/mc68681.h b/src/devices/machine/mc68681.h
index 90bc1a4a2d3..f296866080b 100644
--- a/src/devices/machine/mc68681.h
+++ b/src/devices/machine/mc68681.h
@@ -147,7 +147,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;
devcb_write_line write_irq, write_a_tx, write_b_tx, write_c_tx, write_d_tx;
devcb_read8 read_inport;
@@ -226,7 +226,7 @@ public:
virtual DECLARE_WRITE8_MEMBER(write) override;
protected:
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
private:
};
diff --git a/src/devices/machine/mos6551.cpp b/src/devices/machine/mos6551.cpp
index 33742b7dd95..1550772ae55 100644
--- a/src/devices/machine/mos6551.cpp
+++ b/src/devices/machine/mos6551.cpp
@@ -63,15 +63,11 @@ const int mos6551_device::transmitter_controls[4][3] =
{0, 1, 1}
};
-static MACHINE_CONFIG_START( mos6551 )
+MACHINE_CONFIG_MEMBER( mos6551_device::device_add_mconfig )
MCFG_DEVICE_ADD("clock", CLOCK, 0)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(mos6551_device, internal_clock))
MACHINE_CONFIG_END
-machine_config_constructor mos6551_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mos6551 );
-}
void mos6551_device::device_start()
{
diff --git a/src/devices/machine/mos6551.h b/src/devices/machine/mos6551.h
index febcbc3078f..4e3ae657e59 100644
--- a/src/devices/machine/mos6551.h
+++ b/src/devices/machine/mos6551.h
@@ -70,14 +70,12 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_dsr);
DECLARE_WRITE_LINE_MEMBER(write_dcd);
- DECLARE_WRITE_LINE_MEMBER(internal_clock);
-
void set_xtal(uint32_t clock);
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:
enum
@@ -145,6 +143,7 @@ private:
int stoplength();
+ DECLARE_WRITE_LINE_MEMBER(internal_clock);
DECLARE_WRITE_LINE_MEMBER(receiver_clock);
DECLARE_WRITE_LINE_MEMBER(transmitter_clock);
diff --git a/src/devices/machine/mpu401.cpp b/src/devices/machine/mpu401.cpp
index bab916f6f6a..250394601aa 100644
--- a/src/devices/machine/mpu401.cpp
+++ b/src/devices/machine/mpu401.cpp
@@ -70,18 +70,6 @@ static ADDRESS_MAP_START( mpu401_io_map, AS_IO, 8, mpu401_device )
AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(port2_r, port2_w)
ADDRESS_MAP_END
-MACHINE_CONFIG_START( mpu401 )
- MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */
- MCFG_CPU_PROGRAM_MAP(mpu401_map)
- MCFG_CPU_IO_MAP(mpu401_io_map)
- MCFG_M6801_SER_TX(DEVWRITELINE(MIDIOUT_TAG, midi_port_device, write_txd))
-
- MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin")
- MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w))
-
- MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout")
-MACHINE_CONFIG_END
-
ROM_START( mpu401 )
ROM_REGION(0x1000, ROM_TAG, 0)
ROM_LOAD( "roland_6801v0b55p.bin", 0x000000, 0x001000, CRC(65d3a151) SHA1(00efbfb96aeb997b69bb16981c6751d3c784bb87) )
@@ -94,14 +82,20 @@ ROM_END
DEFINE_DEVICE_TYPE(MPU401, mpu401_device, "mpu401", "Roland MPU-401 I/O box")
//-------------------------------------------------
-// machine_config_additions - device-specific
-// machine configurations
+// device_add_mconfig - add device configuration
//-------------------------------------------------
-machine_config_constructor mpu401_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( mpu401 );
-}
+MACHINE_CONFIG_MEMBER( mpu401_device::device_add_mconfig )
+ MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */
+ MCFG_CPU_PROGRAM_MAP(mpu401_map)
+ MCFG_CPU_IO_MAP(mpu401_io_map)
+ MCFG_M6801_SER_TX(DEVWRITELINE(MIDIOUT_TAG, midi_port_device, write_txd))
+
+ MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin")
+ MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w))
+
+ MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout")
+MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/machine/mpu401.h b/src/devices/machine/mpu401.h
index 3dc68b657ae..d890a525bff 100644
--- a/src/devices/machine/mpu401.h
+++ b/src/devices/machine/mpu401.h
@@ -24,11 +24,6 @@ public:
// construction/destruction
mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
-
- required_device<m6801_cpu_device> m_ourcpu;
-
template <class Write> devcb_base &set_irqf(Write &&wr)
{
return write_irq.set_callback(std::forward<Write>(wr));
@@ -42,7 +37,6 @@ public:
DECLARE_WRITE8_MEMBER(port1_w);
DECLARE_READ8_MEMBER(port2_r);
DECLARE_WRITE8_MEMBER(port2_w);
- DECLARE_WRITE_LINE_MEMBER(midi_rx_w);
// public API - call for reads/writes at I/O 330/331 on PC, C0n0/C0n1 on Apple II, etc.
DECLARE_READ8_MEMBER(mpu_r);
@@ -54,8 +48,13 @@ protected:
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const 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;
private:
+ DECLARE_WRITE_LINE_MEMBER(midi_rx_w);
+
+ required_device<m6801_cpu_device> m_ourcpu;
+
devcb_write_line write_irq;
uint8_t m_port2;
diff --git a/src/devices/machine/nscsi_cd.cpp b/src/devices/machine/nscsi_cd.cpp
index e81d3a57bc9..3f3c97589cc 100644
--- a/src/devices/machine/nscsi_cd.cpp
+++ b/src/devices/machine/nscsi_cd.cpp
@@ -31,15 +31,11 @@ void nscsi_cdrom_device::device_reset()
cur_lba = -1;
}
-static MACHINE_CONFIG_START(scsi_cdrom)
+MACHINE_CONFIG_MEMBER(nscsi_cdrom_device::device_add_mconfig)
MCFG_CDROM_ADD("image")
MCFG_CDROM_INTERFACE("cdrom")
MACHINE_CONFIG_END
-machine_config_constructor nscsi_cdrom_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(scsi_cdrom);
-}
uint8_t nscsi_cdrom_device::scsi_get_data(int id, int pos)
{
diff --git a/src/devices/machine/nscsi_cd.h b/src/devices/machine/nscsi_cd.h
index 34631b5e246..a425a473771 100644
--- a/src/devices/machine/nscsi_cd.h
+++ b/src/devices/machine/nscsi_cd.h
@@ -12,11 +12,11 @@ class nscsi_cdrom_device : public nscsi_full_device
{
public:
nscsi_cdrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual void scsi_command() override;
virtual uint8_t scsi_get_data(int id, int pos) override;
diff --git a/src/devices/machine/nscsi_hd.cpp b/src/devices/machine/nscsi_hd.cpp
index d6bbb504f23..a3931a9a82d 100644
--- a/src/devices/machine/nscsi_hd.cpp
+++ b/src/devices/machine/nscsi_hd.cpp
@@ -41,15 +41,11 @@ void nscsi_harddisk_device::device_reset()
cur_lba = -1;
}
-static MACHINE_CONFIG_START(scsi_harddisk)
+MACHINE_CONFIG_MEMBER(nscsi_harddisk_device::device_add_mconfig)
MCFG_HARDDISK_ADD("image")
MCFG_HARDDISK_INTERFACE("scsi_hdd")
MACHINE_CONFIG_END
-machine_config_constructor nscsi_harddisk_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(scsi_harddisk);
-}
uint8_t nscsi_harddisk_device::scsi_get_data(int id, int pos)
{
diff --git a/src/devices/machine/nscsi_hd.h b/src/devices/machine/nscsi_hd.h
index 9032fe35c2d..5526e6095be 100644
--- a/src/devices/machine/nscsi_hd.h
+++ b/src/devices/machine/nscsi_hd.h
@@ -13,13 +13,12 @@ class nscsi_harddisk_device : public nscsi_full_device
public:
nscsi_harddisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual machine_config_constructor device_mconfig_additions() const override;
-
protected:
nscsi_harddisk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_add_mconfig(machine_config &config) override;
virtual void scsi_command() override;
virtual uint8_t scsi_get_data(int id, int pos) override;
diff --git a/src/devices/machine/pc_fdc.cpp b/src/devices/machine/pc_fdc.cpp
index e493810b682..08ef0ca87e3 100644
--- a/src/devices/machine/pc_fdc.cpp
+++ b/src/devices/machine/pc_fdc.cpp
@@ -19,12 +19,6 @@
DEFINE_DEVICE_TYPE(PC_FDC_XT, pc_fdc_xt_device, "pc_fdc_xt", "PC FDC (XT)")
DEFINE_DEVICE_TYPE(PC_FDC_AT, pc_fdc_at_device, "pc_fdc_at", "PC FDC (AT)")
-static MACHINE_CONFIG_START( cfg )
- MCFG_UPD765A_ADD("upd765", false, false)
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc_fdc_family_device, irq_w))
- MCFG_UPD765_DRQ_CALLBACK(WRITELINE(pc_fdc_family_device, drq_w))
-MACHINE_CONFIG_END
-
DEVICE_ADDRESS_MAP_START(map, 8, pc_fdc_family_device)
ADDRESS_MAP_END
@@ -67,10 +61,11 @@ void pc_fdc_family_device::dma_w(uint8_t data)
fdc->dma_w(data);
}
-machine_config_constructor pc_fdc_family_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(cfg);
-}
+MACHINE_CONFIG_MEMBER( pc_fdc_family_device::device_add_mconfig )
+ MCFG_UPD765A_ADD("upd765", false, false)
+ MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc_fdc_family_device, irq_w))
+ MCFG_UPD765_DRQ_CALLBACK(WRITELINE(pc_fdc_family_device, drq_w))
+MACHINE_CONFIG_END
void pc_fdc_family_device::device_start()
{
diff --git a/src/devices/machine/pc_fdc.h b/src/devices/machine/pc_fdc.h
index a4df81fd23f..5881cfc6fce 100644
--- a/src/devices/machine/pc_fdc.h
+++ b/src/devices/machine/pc_fdc.h
@@ -41,8 +41,6 @@ public:
WRITE8_MEMBER(dor_w);
READ8_MEMBER(dir_r);
WRITE8_MEMBER(ccr_w);
- DECLARE_WRITE_LINE_MEMBER( irq_w );
- DECLARE_WRITE_LINE_MEMBER( drq_w );
required_device<upd765a_device> fdc;
@@ -51,7 +49,11 @@ 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:
+ DECLARE_WRITE_LINE_MEMBER( irq_w );
+ DECLARE_WRITE_LINE_MEMBER( drq_w );
bool irq, drq, fdc_drq, fdc_irq;
devcb_write_line intrq_cb, drq_cb;
diff --git a/src/devices/machine/pc_lpt.cpp b/src/devices/machine/pc_lpt.cpp
index f52e32ab538..db9f4639d93 100644
--- a/src/devices/machine/pc_lpt.cpp
+++ b/src/devices/machine/pc_lpt.cpp
@@ -46,7 +46,7 @@ void pc_lpt_device::device_reset()
m_cent_ctrl_out->write(m_control);
}
-static MACHINE_CONFIG_START( pc_lpt )
+MACHINE_CONFIG_MEMBER( pc_lpt_device::device_add_mconfig )
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in")
MCFG_CENTRONICS_FAULT_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit3))
@@ -74,10 +74,6 @@ static MACHINE_CONFIG_START( pc_lpt )
MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(pc_lpt_device, write_irq_enabled))
MACHINE_CONFIG_END
-machine_config_constructor pc_lpt_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME( pc_lpt );
-}
READ8_MEMBER( pc_lpt_device::data_r )
{
diff --git a/src/devices/machine/pc_lpt.h b/src/devices/machine/pc_lpt.h
index 9dfb4764259..9d8aaf83164 100644
--- a/src/devices/machine/pc_lpt.h
+++ b/src/devices/machine/pc_lpt.h
@@ -37,17 +37,16 @@ public:
DECLARE_READ8_MEMBER( control_r );
DECLARE_WRITE8_MEMBER( control_w );
- DECLARE_WRITE_LINE_MEMBER( write_irq_enabled );
- DECLARE_WRITE_LINE_MEMBER( write_centronics_ack );
-
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;
private:
void update_irq();
+ DECLARE_WRITE_LINE_MEMBER( write_irq_enabled );
+ DECLARE_WRITE_LINE_MEMBER( write_centronics_ack );
enum
{
diff --git a/src/devices/machine/pci-ide.cpp b/src/devices/machine/pci-ide.cpp
index 154882e8132..b88049a7258 100644
--- a/src/devices/machine/pci-ide.cpp
+++ b/src/devices/machine/pci-ide.cpp
@@ -46,7 +46,7 @@ DEVICE_ADDRESS_MAP_START(bus_master_map, 32, ide_pci_device)
AM_RANGE(0x8, 0xf) AM_DEVREADWRITE("ide2", bus_master_ide_controller_device, bmdma_r, bmdma_w)
ADDRESS_MAP_END
-static MACHINE_CONFIG_START(pci_ide)
+MACHINE_CONFIG_MEMBER(ide_pci_device::device_add_mconfig)
MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", "cdrom", true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(ide_pci_device, ide_interrupt))
//MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM)
@@ -57,11 +57,6 @@ static MACHINE_CONFIG_START(pci_ide)
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":pci:00.0", AS_DATA)
MACHINE_CONFIG_END
-machine_config_constructor ide_pci_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(pci_ide);
-}
-
void ide_pci_device::set_irq_info(const char *tag, const int irq_num)
{
m_cpu_tag = tag;
diff --git a/src/devices/machine/pci-ide.h b/src/devices/machine/pci-ide.h
index f3849fb1515..1171cc761d9 100644
--- a/src/devices/machine/pci-ide.h
+++ b/src/devices/machine/pci-ide.h
@@ -43,7 +43,6 @@ public:
required_device<bus_master_ide_controller_device> m_ide;
required_device<bus_master_ide_controller_device> m_ide2;
virtual DECLARE_ADDRESS_MAP(config_map, 32) override;
- DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
DECLARE_READ32_MEMBER(ide_read_cs1);
DECLARE_WRITE32_MEMBER(ide_write_cs1);
DECLARE_READ32_MEMBER(ide2_read_cs1);
@@ -58,9 +57,16 @@ protected:
virtual void device_reset() override;
// optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
private:
+ DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
+ DECLARE_WRITE8_MEMBER(prog_if_w);
+ DECLARE_READ32_MEMBER(pcictrl_r);
+ DECLARE_WRITE32_MEMBER(pcictrl_w);
+ DECLARE_READ32_MEMBER(address_base_r);
+ DECLARE_WRITE32_MEMBER(address_base_w);
+
const char *m_cpu_tag;
cpu_device *m_cpu;
int m_irq_num;
@@ -76,11 +82,6 @@ private:
DECLARE_ADDRESS_MAP(chan2_data_command_map, 32);
DECLARE_ADDRESS_MAP(chan2_control_map, 32);
DECLARE_ADDRESS_MAP(bus_master_map, 32);
- DECLARE_WRITE8_MEMBER(prog_if_w);
- DECLARE_READ32_MEMBER(pcictrl_r);
- DECLARE_WRITE32_MEMBER(pcictrl_w);
- DECLARE_READ32_MEMBER(address_base_r);
- DECLARE_WRITE32_MEMBER(address_base_w);
};
DECLARE_DEVICE_TYPE(IDE_PCI, ide_pci_device)
diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp
index ab44b5053d1..4e9801eea50 100644
--- a/src/mame/drivers/galgames.cpp
+++ b/src/mame/drivers/galgames.cpp
@@ -106,7 +106,6 @@ protected:
bool is_selected();
- machine_config_constructor m_mconfig_additions;
uint8_t m_cart;
// SLOT
@@ -317,7 +316,6 @@ galgames_cart_device::galgames_cart_device(
uint32_t clock):
device_t(mconfig, type, tag, owner, clock),
device_rom_interface(mconfig, *this, 21, ENDIANNESS_BIG, 16),
- m_mconfig_additions(nullptr),
m_cart(0),
m_slot(*this, "^slot"),
m_eeprom(*this, "eeprom"),
diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h
index d8f140c3cf5..0588a37b445 100644
--- a/src/mame/includes/harddriv.h
+++ b/src/mame/includes/harddriv.h
@@ -463,7 +463,6 @@ protected:
optional_device<rs232_port_device> m_rs232;
protected:
- //virtual machine_config_constructor device_mconfig_additions() const;
virtual void device_start() override;
virtual void device_reset() override;
};