mirror of
https://github.com/holub/mame
synced 2025-05-29 09:03:08 +03:00
remove another device-specific MCFG macro, because standard is better than better, especially with constructor overloads (nw)
This commit is contained in:
parent
bd321522b6
commit
8d6115163e
@ -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;
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -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")
|
||||||
|
@ -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))
|
||||||
|
Loading…
Reference in New Issue
Block a user