remove another device-specific MCFG macro, because standard is better than better, especially with constructor overloads (nw)

This commit is contained in:
Vas Crabb 2018-05-23 18:19:09 +10:00
parent bd321522b6
commit 8d6115163e
4 changed files with 16 additions and 17 deletions

View File

@ -10,12 +10,6 @@
#include "machine/pci.h" #include "machine/pci.h"
#include "voodoo.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<voodoo_pci_device &>(*device).set_type(_type); \
downcast<voodoo_pci_device &>(*device).set_cpu_tag(_cpu_tag); \
downcast<voodoo_pci_device &>(*device).set_screen_tag(_screen_tag);
#define MCFG_VOODOO_PCI_FBMEM(_value) \ #define MCFG_VOODOO_PCI_FBMEM(_value) \
downcast<voodoo_pci_device &>(*device).set_fbmem(_value); downcast<voodoo_pci_device &>(*device).set_fbmem(_value);
@ -24,6 +18,15 @@
class voodoo_pci_device : public pci_device { class voodoo_pci_device : public pci_device {
public: public:
template <typename T, typename U>
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<T>(cpu_tag));
set_screen_tag(std::forward<U>(screen_tag));
}
voodoo_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); 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, 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; uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) override;

View File

@ -183,7 +183,7 @@ MACHINE_CONFIG_START(iteagle_state::iteagle)
MCFG_SOUND_ROUTE(1, PCI_ID_SOUND":rspeaker", 1.0) MCFG_SOUND_ROUTE(1, PCI_ID_SOUND":rspeaker", 1.0)
MCFG_ES1373_IRQ_ADD( ":maincpu", MIPS3_IRQ3) 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_VOODOO_PCI_FBMEM(16)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")
MCFG_VOODOO_VBLANK_CB(WRITELINE(PCI_ID_FPGA, iteagle_fpga_device, vblank_update)) 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_DEVICE_CLOCK(99999999)
MCFG_MIPS3_SYSTEM_CLOCK(33333333) MCFG_MIPS3_SYSTEM_CLOCK(33333333)
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_1, m_maincpu, ":screen")
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_1, m_maincpu, ":screen")
MCFG_VOODOO_PCI_FBMEM(4) MCFG_VOODOO_PCI_FBMEM(4)
MCFG_VOODOO_PCI_TMUMEM(4, 4) MCFG_VOODOO_PCI_TMUMEM(4, 4)

View File

@ -1892,7 +1892,7 @@ MACHINE_CONFIG_START(seattle_state::seattle_common)
MCFG_IDE_PCI_IRQ_ADD(":maincpu", IDE_IRQ_NUM) MCFG_IDE_PCI_IRQ_ADD(":maincpu", IDE_IRQ_NUM)
MCFG_IDE_PCI_SET_LEGACY_TOP(0x0a0) 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_FBMEM(2)
MCFG_VOODOO_PCI_TMUMEM(4, 0) MCFG_VOODOO_PCI_TMUMEM(4, 0)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")

View File

@ -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_IRQ_HANDLER(WRITELINE(PCI_ID_NILE, vrc5074_device, pci_intr_d))
//MCFG_IDE_PCI_SET_PIF(0x8f) //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_FBMEM(2)
MCFG_VOODOO_PCI_TMUMEM(4, 4) MCFG_VOODOO_PCI_TMUMEM(4, 4)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")
@ -1784,8 +1784,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(vegas_state::vegasban) MACHINE_CONFIG_START(vegas_state::vegasban)
vegas32m(config); vegas32m(config);
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_BANSHEE, ":maincpu", ":screen")
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_BANSHEE, ":maincpu", ":screen")
MCFG_VOODOO_PCI_FBMEM(16) MCFG_VOODOO_PCI_FBMEM(16)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")
MCFG_VOODOO_VBLANK_CB(WRITELINE(*this, vegas_state, vblank_assert)) 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_DCACHE_SIZE(16384)
MCFG_MIPS3_SYSTEM_CLOCK(vegas_state::SYSTEM_CLOCK) MCFG_MIPS3_SYSTEM_CLOCK(vegas_state::SYSTEM_CLOCK)
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_3, ":maincpu", ":screen")
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_3, ":maincpu", ":screen")
MCFG_VOODOO_PCI_FBMEM(16) MCFG_VOODOO_PCI_FBMEM(16)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")
MCFG_VOODOO_VBLANK_CB(WRITELINE(*this, vegas_state, vblank_assert)) 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_SDRAM(0, 0x02000000)
MCFG_VRC5074_SET_CS(8, vegas_state::vegas_cs8_map) MCFG_VRC5074_SET_CS(8, vegas_state::vegas_cs8_map)
MCFG_DEVICE_REMOVE(PCI_ID_VIDEO) MCFG_DEVICE_REPLACE(PCI_ID_VIDEO, VOODOO_PCI, 0, TYPE_VOODOO_3, ":maincpu", ":screen")
MCFG_VOODOO_PCI_ADD(PCI_ID_VIDEO, TYPE_VOODOO_3, ":maincpu", ":screen")
MCFG_VOODOO_PCI_FBMEM(16) MCFG_VOODOO_PCI_FBMEM(16)
MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo") MCFG_DEVICE_MODIFY(PCI_ID_VIDEO":voodoo")
MCFG_VOODOO_VBLANK_CB(WRITELINE(":", vegas_state, vblank_assert)) MCFG_VOODOO_VBLANK_CB(WRITELINE(":", vegas_state, vblank_assert))