From 8d6115163e8023e29f9fa90c1fbc52c123043818 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Wed, 23 May 2018 18:19:09 +1000 Subject: remove another device-specific MCFG macro, because standard is better than better, especially with constructor overloads (nw) --- src/devices/video/voodoo_pci.h | 15 +++++++++------ src/mame/drivers/iteagle.cpp | 5 ++--- src/mame/drivers/seattle.cpp | 2 +- src/mame/drivers/vegas.cpp | 11 ++++------- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/devices/video/voodoo_pci.h b/src/devices/video/voodoo_pci.h index c744bb10dc3..cf1fdbebb6d 100644 --- a/src/devices/video/voodoo_pci.h +++ b/src/devices/video/voodoo_pci.h @@ -10,12 +10,6 @@ #include "machine/pci.h" #include "voodoo.h" -#define MCFG_VOODOO_PCI_ADD(_tag, _type, _cpu_tag, _screen_tag) \ - MCFG_PCI_DEVICE_ADD(_tag, VOODOO_PCI, 0, 0, 0, 0) \ - downcast(*device).set_type(_type); \ - downcast(*device).set_cpu_tag(_cpu_tag); \ - downcast(*device).set_screen_tag(_screen_tag); - #define MCFG_VOODOO_PCI_FBMEM(_value) \ downcast(*device).set_fbmem(_value); @@ -24,6 +18,15 @@ class voodoo_pci_device : public pci_device { public: + template + voodoo_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, int type, T &&cpu_tag, U &&screen_tag) + : voodoo_pci_device(mconfig, tag, owner, clock) + { + set_type(type); + set_cpu_tag(std::forward(cpu_tag)); + set_screen_tag(std::forward(screen_tag)); + } + voodoo_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); 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; diff --git a/src/mame/drivers/iteagle.cpp b/src/mame/drivers/iteagle.cpp index e65538562ee..b01b9658129 100644 --- a/src/mame/drivers/iteagle.cpp +++ b/src/mame/drivers/iteagle.cpp @@ -183,7 +183,7 @@ MACHINE_CONFIG_START(iteagle_state::iteagle) MCFG_SOUND_ROUTE(1, PCI_ID_SOUND":rspeaker", 1.0) MCFG_ES1373_IRQ_ADD( ":maincpu", MIPS3_IRQ3) - MCFG_VOODOO_PCI_ADD( PCI_ID_VIDEO, TYPE_VOODOO_3, m_maincpu, ":screen") + MCFG_DEVICE_ADD(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_3, m_maincpu, ":screen") MCFG_VOODOO_PCI_FBMEM(16) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_VOODOO_VBLANK_CB(WRITELINE(PCI_ID_FPGA, iteagle_fpga_device, vblank_update)) @@ -295,8 +295,7 @@ MACHINE_CONFIG_START(iteagle_state::virtpool) MCFG_DEVICE_CLOCK(99999999) MCFG_MIPS3_SYSTEM_CLOCK(33333333) - MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_1, m_maincpu, ":screen") + MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_1, m_maincpu, ":screen") MCFG_VOODOO_PCI_FBMEM(4) MCFG_VOODOO_PCI_TMUMEM(4, 4) diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp index 4d9e102f071..bdb49648154 100644 --- a/src/mame/drivers/seattle.cpp +++ b/src/mame/drivers/seattle.cpp @@ -1892,7 +1892,7 @@ MACHINE_CONFIG_START(seattle_state::seattle_common) MCFG_IDE_PCI_IRQ_ADD(":maincpu", IDE_IRQ_NUM) MCFG_IDE_PCI_SET_LEGACY_TOP(0x0a0) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_1, m_maincpu, m_screen) + MCFG_DEVICE_ADD(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_1, m_maincpu, m_screen) MCFG_VOODOO_PCI_FBMEM(2) MCFG_VOODOO_PCI_TMUMEM(4, 0) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") diff --git a/src/mame/drivers/vegas.cpp b/src/mame/drivers/vegas.cpp index 14919c29c36..53abe8c1af3 100644 --- a/src/mame/drivers/vegas.cpp +++ b/src/mame/drivers/vegas.cpp @@ -1738,7 +1738,7 @@ MACHINE_CONFIG_START(vegas_state::vegascore) MCFG_IDE_PCI_IRQ_HANDLER(WRITELINE(PCI_ID_NILE, vrc5074_device, pci_intr_d)) //MCFG_IDE_PCI_SET_PIF(0x8f) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_2, ":maincpu", ":screen") + MCFG_DEVICE_ADD(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_2, ":maincpu", ":screen") MCFG_VOODOO_PCI_FBMEM(2) MCFG_VOODOO_PCI_TMUMEM(4, 4) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") @@ -1784,8 +1784,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(vegas_state::vegasban) vegas32m(config); - MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_BANSHEE, ":maincpu", ":screen") + MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_BANSHEE, ":maincpu", ":screen") MCFG_VOODOO_PCI_FBMEM(16) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_VOODOO_VBLANK_CB(WRITELINE(*this, vegas_state, vblank_assert)) @@ -1799,8 +1798,7 @@ MACHINE_CONFIG_START(vegas_state::vegasv3) MCFG_MIPS3_DCACHE_SIZE(16384) MCFG_MIPS3_SYSTEM_CLOCK(vegas_state::SYSTEM_CLOCK) - MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_3, ":maincpu", ":screen") + MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_3, ":maincpu", ":screen") MCFG_VOODOO_PCI_FBMEM(16) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_VOODOO_VBLANK_CB(WRITELINE(*this, vegas_state, vblank_assert)) @@ -1818,8 +1816,7 @@ MACHINE_CONFIG_START(vegas_state::denver) MCFG_VRC5074_SET_SDRAM(0, 0x02000000) MCFG_VRC5074_SET_CS(8, vegas_state::vegas_cs8_map) - MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) - MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_3, ":maincpu", ":screen") + MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_3, ":maincpu", ":screen") MCFG_VOODOO_PCI_FBMEM(16) MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_VOODOO_VBLANK_CB(WRITELINE(":", vegas_state, vblank_assert)) -- cgit v1.2.3