mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Set finder tag relative to current device being configured rather than
the finder's owner. This meand you no longer need to care about the your relationship to the object being configured and a lot of ^ and : can disappear. There's a bit reduction in string pasting in macros from this. Yes, I have to make this apply to devcb etc. as well, but that's a job for another day. There's probably at least one thing broken by this where optional objects are involved. Most things can be solved by just getting rid of the now-problematic ^ and : prefixes.
This commit is contained in:
parent
89b356a0f5
commit
b60c852f11
@ -151,7 +151,7 @@ MACHINE_CONFIG_START(a2bus_pcxporter_device::device_add_mconfig)
|
||||
MCFG_PIC8259_OUT_INT_CB(INPUTLINE("v30", 0))
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU("^v30")
|
||||
MCFG_ISA8_CPU("v30")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w))
|
||||
|
@ -21,7 +21,7 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_BML3BUS_CPU(_cputag) \
|
||||
downcast<bml3bus_device &>(*device).set_cputag("^" _cputag);
|
||||
downcast<bml3bus_device &>(*device).set_cputag(_cputag);
|
||||
|
||||
#define MCFG_BML3BUS_OUT_NMI_CB(_devcb) \
|
||||
devcb = &downcast<bml3bus_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb);
|
||||
|
@ -739,7 +739,7 @@ MACHINE_CONFIG_START(mini_chief_device::device_add_mconfig)
|
||||
MCFG_FLOPPY_DRIVE_ADD_FIXED(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
|
||||
|
||||
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
|
||||
MCFG_ISA8_CPU("^" M6502_TAG)
|
||||
MCFG_ISA8_CPU(M6502_TAG)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", mini_chief_isa8_cards, "wd1002a_wx1", false)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -275,9 +275,9 @@ fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, co
|
||||
fd4000_device::fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: fd2000_device(mconfig, FD4000, tag, owner, clock)
|
||||
{
|
||||
m_maincpu.set_tag(R65C02P4_TAG);
|
||||
m_fdc.set_tag(PC8477AV1_TAG);
|
||||
m_floppy0.set_tag(PC8477AV1_TAG":0");
|
||||
m_maincpu.set_tag(*this, R65C02P4_TAG);
|
||||
m_fdc.set_tag(*this, PC8477AV1_TAG);
|
||||
m_floppy0.set_tag(*this, PC8477AV1_TAG":0");
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,7 +68,7 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(ep64_expansion_bus_cards, _def_slot, false)
|
||||
|
||||
#define MCFG_EP64_EXPANSION_BUS_SLOT_DAVE(_tag) \
|
||||
downcast<ep64_expansion_bus_slot_device &>(*device).set_dave_tag("^" _tag);
|
||||
downcast<ep64_expansion_bus_slot_device &>(*device).set_dave_tag(_tag);
|
||||
|
||||
#define MCFG_EP64_EXPANSION_BUS_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &downcast<ep64_expansion_bus_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
|
||||
|
@ -117,26 +117,26 @@ to implement the card in both systems.
|
||||
#define MCFG_INTELLEC4_UNIV_SLOT_ADD(bus_tag, slot_tag, clock, slot_intf, def_slot) \
|
||||
MCFG_DEVICE_ADD(slot_tag, INTELLEC4_UNIV_SLOT, clock) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(slot_intf, def_slot, false) \
|
||||
downcast<bus::intellec4::univ_slot_device &>(*device).set_bus_tag("^" bus_tag);
|
||||
downcast<bus::intellec4::univ_slot_device &>(*device).set_bus_tag(bus_tag);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_SLOT_REMOVE(slot_tag) \
|
||||
MCFG_DEVICE_REMOVE(slot_tag)
|
||||
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_ROM_SPACE(tag, space) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_rom_space("^" tag, space);
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_rom_space(tag, space);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_ROM_PORTS_SPACE(tag, space) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_rom_ports_space("^" tag, space);
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_rom_ports_space(tag, space);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_MEMORY_SPACE(tag, space) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_memory_space("^" tag, space);
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_memory_space(tag, space);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_STATUS_SPACE(tag, space) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_status_space("^" tag, space);
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_status_space(tag, space);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_RAM_PORTS_SPACE(tag, space) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_ram_ports_space("^" tag, space);
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_ram_ports_space(tag, space);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_TEST_CB(obj) \
|
||||
downcast<bus::intellec4::univ_bus_device &>(*device).set_test_out_cb(DEVCB_##obj);
|
||||
|
@ -163,6 +163,6 @@ DECLARE_DEVICE_TYPE(IQ151CART_SLOT, iq151cart_slot_device)
|
||||
devcb = &downcast<iq151cart_slot_device &>(*device).set_out_drq_callback(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_SCREEN_TAG(screen_tag) \
|
||||
downcast<iq151cart_slot_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<iq151cart_slot_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
#endif // MAME_BUS_IQ151_IQ151_H
|
||||
|
@ -31,7 +31,7 @@ isa8_slot_device::isa8_slot_device(const machine_config &mconfig, const char *ta
|
||||
isa8_slot_device::isa8_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_slot_interface(mconfig, *this),
|
||||
m_owner(nullptr), m_isa_tag(nullptr)
|
||||
m_isa_bus(*this, finder_base::DUMMY_TAG)
|
||||
{
|
||||
}
|
||||
|
||||
@ -41,15 +41,15 @@ isa8_slot_device::isa8_slot_device(const machine_config &mconfig, device_type ty
|
||||
|
||||
void isa8_slot_device::device_start()
|
||||
{
|
||||
device_isa8_card_interface *dev = dynamic_cast<device_isa8_card_interface *>(get_card_device());
|
||||
device_isa8_card_interface *const dev = dynamic_cast<device_isa8_card_interface *>(get_card_device());
|
||||
const device_isa16_card_interface *intf;
|
||||
device_t *isadev = m_owner->subdevice(m_isa_tag);
|
||||
if (get_card_device() && get_card_device()->interface(intf))
|
||||
fatalerror("ISA16 device in ISA8 slot\n");
|
||||
|
||||
if (dev) dev->set_isabus(isadev);
|
||||
if (dev) dev->set_isabus(m_isa_bus);
|
||||
|
||||
// tell isa bus that there is one slot with the specified tag
|
||||
dynamic_cast<isa8_device *>(isadev)->add_slot(tag());
|
||||
downcast<isa8_device &>(*m_isa_bus).add_slot(tag());
|
||||
}
|
||||
|
||||
|
||||
@ -78,11 +78,10 @@ isa16_slot_device::isa16_slot_device(const machine_config &mconfig, const char *
|
||||
|
||||
void isa16_slot_device::device_start()
|
||||
{
|
||||
device_isa8_card_interface *dev = dynamic_cast<device_isa8_card_interface *>(get_card_device());
|
||||
device_t *isadev = m_owner->subdevice(m_isa_tag);
|
||||
if (dev) dev->set_isabus(isadev);
|
||||
device_isa8_card_interface *const dev = dynamic_cast<device_isa8_card_interface *>(get_card_device());
|
||||
if (dev) dev->set_isabus(m_isa_bus);
|
||||
// tell isa bus that there is one slot with the specified tag
|
||||
dynamic_cast<isa8_device *>(isadev)->add_slot(tag());
|
||||
dynamic_cast<isa8_device &>(*m_isa_bus).add_slot(tag());
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,7 +82,7 @@
|
||||
#define MCFG_ISA8_SLOT_ADD(_isatag, _tag, _slot_intf, _def_slot, _fixed) \
|
||||
MCFG_DEVICE_ADD(_tag, ISA8_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed) \
|
||||
downcast<isa8_slot_device &>(*device).set_isa8_slot(this, _isatag);
|
||||
downcast<isa8_slot_device &>(*device).set_isa8_slot(_isatag);
|
||||
#define MCFG_ISA16_CPU(_cputag) \
|
||||
downcast<isa8_device &>(*device).set_cputag(_cputag);
|
||||
#define MCFG_ISA16_BUS_CUSTOM_SPACES() \
|
||||
@ -90,7 +90,7 @@
|
||||
#define MCFG_ISA16_SLOT_ADD(_isatag, _tag, _slot_intf, _def_slot, _fixed) \
|
||||
MCFG_DEVICE_ADD(_tag, ISA16_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed) \
|
||||
downcast<isa16_slot_device &>(*device).set_isa16_slot(this, _isatag);
|
||||
downcast<isa16_slot_device &>(*device).set_isa16_slot(_isatag);
|
||||
|
||||
#define MCFG_ISA_BUS_IOCHCK(_iochck) \
|
||||
devcb = &downcast<isa8_device *>(device)->set_iochck_callback(DEVCB_##_iochck);
|
||||
@ -168,14 +168,13 @@ public:
|
||||
virtual void device_start() override;
|
||||
|
||||
// inline configuration
|
||||
void set_isa8_slot(device_t *owner, const char *isa_tag) { m_owner = owner; m_isa_tag = isa_tag; }
|
||||
void set_isa8_slot(const char *isa_tag) { m_isa_bus.set_tag(isa_tag); }
|
||||
|
||||
protected:
|
||||
isa8_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// configuration
|
||||
device_t *m_owner;
|
||||
const char *m_isa_tag;
|
||||
required_device<device_t> m_isa_bus;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -348,7 +347,7 @@ public:
|
||||
virtual void device_start() override;
|
||||
|
||||
// inline configuration
|
||||
void set_isa16_slot(device_t *owner, const char *isa_tag) { m_owner = owner; m_isa_tag = isa_tag; }
|
||||
void set_isa16_slot(const char *isa_tag) { m_isa_bus.set_tag(isa_tag); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -92,10 +92,9 @@ macpds_sedisplay_device::macpds_sedisplay_device(const machine_config &mconfig,
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_macpds_card_interface(mconfig, *this),
|
||||
m_vram(nullptr), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, SEDISPLAY_SCREEN_NAME))
|
||||
m_vram(nullptr), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, SEDISPLAY_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -46,7 +46,6 @@ private:
|
||||
uint32_t m_vbl_disable;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -14,8 +14,8 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_BUNSETSU, msx_slot_bunsetsu_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_BUNSETSU_ADD(_tag, _startpage, _numpages, _region, _offset, _bunsetsu_region_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_BUNSETSU, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_bunsetsu_device &>(*device).set_bunsetsu_region_tag("^" _bunsetsu_region_tag);
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_bunsetsu_device &>(*device).set_bunsetsu_region_tag(_bunsetsu_region_tag);
|
||||
|
||||
class msx_slot_bunsetsu_device : public msx_slot_rom_device
|
||||
{
|
||||
|
@ -29,35 +29,35 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_DISK6, msx_slot_disk6_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK1_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK1, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK2_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK2, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK3_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK3, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK4_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK4, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK5_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag, _floppy2_tag, _floppy3_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK5, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag); \
|
||||
@ -66,7 +66,7 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_DISK6, msx_slot_disk6_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_DISK6_ADD(_tag, _startpage, _numpages, _region, _offset, _fdc_tag, _floppy0_tag, _floppy1_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_DISK6, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_fdc_tag(_fdc_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy0_tag(_floppy0_tag); \
|
||||
downcast<msx_slot_disk_device &>(*device).set_floppy1_tag(_floppy1_tag);
|
||||
|
@ -14,7 +14,7 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_FS4600, msx_slot_fs4600_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_FS4600_ADD(_tag, _startpage, _numpages, _region, _offset) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_FS4600, _startpage, _numpages) \
|
||||
downcast<msx_slot_fs4600_device &>(*device).set_rom_start("^" _region, _offset);
|
||||
downcast<msx_slot_fs4600_device &>(*device).set_rom_start(_region, _offset);
|
||||
|
||||
class msx_slot_fs4600_device : public device_t, public msx_internal_slot_interface
|
||||
{
|
||||
|
@ -15,7 +15,7 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_MUSIC, msx_slot_music_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_MUSIC_ADD(_tag, _startpage, _numpages, _region, _offset, _ym2413_tag) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_MUSIC, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset); \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset); \
|
||||
downcast<msx_slot_music_device &>(*device).set_ym2413_tag(_ym2413_tag);
|
||||
|
||||
class msx_slot_music_device : public msx_slot_rom_device
|
||||
|
@ -14,7 +14,7 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_PANASONIC08, msx_slot_panasonic08_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_PANASONIC08_ADD(_tag, _startpage, _numpages, _region, _offset) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_PANASONIC08, _startpage, _numpages) \
|
||||
downcast<msx_slot_panasonic08_device &>(*device).set_rom_start("^" _region, _offset);
|
||||
downcast<msx_slot_panasonic08_device &>(*device).set_rom_start(_region, _offset);
|
||||
|
||||
class msx_slot_panasonic08_device : public device_t, public msx_internal_slot_interface
|
||||
{
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#define MCFG_MSX_SLOT_ROM_ADD(_tag, _startpage, _numpages, _region, _offset) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_ROM, _startpage, _numpages) \
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start("^" _region, _offset);
|
||||
downcast<msx_slot_rom_device &>(*device).set_rom_start(_region, _offset);
|
||||
|
||||
class msx_slot_rom_device : public device_t,
|
||||
public msx_internal_slot_interface
|
||||
|
@ -14,10 +14,9 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_SONY08, msx_slot_sony08_device)
|
||||
|
||||
#define MCFG_MSX_SLOT_SONY08_ADD(_tag, _startpage, _numpages, _region, _offset) \
|
||||
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_SONY08, _startpage, _numpages) \
|
||||
downcast<msx_slot_sony08_device &>(*device).set_rom_start("^" _region, _offset);
|
||||
downcast<msx_slot_sony08_device &>(*device).set_rom_start(_region, _offset);
|
||||
|
||||
class msx_slot_sony08_device : public device_t,
|
||||
public msx_internal_slot_interface
|
||||
class msx_slot_sony08_device : public device_t, public msx_internal_slot_interface
|
||||
{
|
||||
public:
|
||||
msx_slot_sony08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
@ -40,7 +40,7 @@ DEFINE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device, "nb_824gc", "Apple 8*24 vide
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(jmfb_device::device_add_mconfig)
|
||||
MCFG_SCREEN_ADD( GC48_SCREEN_NAME, RASTER)
|
||||
MCFG_SCREEN_ADD(GC48_SCREEN_NAME, RASTER)
|
||||
MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, jmfb_device, screen_update)
|
||||
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
|
||||
// MCFG_SCREEN_SIZE(1152, 870)
|
||||
@ -76,10 +76,9 @@ jmfb_device::jmfb_device(const machine_config &mconfig, device_type type, const
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_screen(nullptr), m_timer(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_stride(0), m_base(0), m_count(0), m_clutoffs(0), m_xres(0), m_yres(0),
|
||||
m_is824(is824),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, GC48_SCREEN_NAME))
|
||||
m_is824(is824)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, GC48_SCREEN_NAME);
|
||||
}
|
||||
|
||||
nubus_48gc_device::nubus_48gc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
|
@ -46,7 +46,6 @@ private:
|
||||
uint32_t m_registers[0x100];
|
||||
int m_xres, m_yres;
|
||||
const bool m_is824;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
class nubus_48gc_device : public jmfb_device
|
||||
|
@ -70,10 +70,9 @@ nubus_m2hires_device::nubus_m2hires_device(const machine_config &mconfig, device
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, M2HIRES_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, M2HIRES_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -72,10 +72,9 @@ nubus_m2video_device::nubus_m2video_device(const machine_config &mconfig, device
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, M2VIDEO_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, M2VIDEO_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -73,10 +73,9 @@ nubus_radiustpd_device::nubus_radiustpd_device(const machine_config &mconfig, de
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, RADIUSTPD_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, RADIUSTPD_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -75,10 +75,9 @@ nubus_spec8s3_device::nubus_spec8s3_device(const machine_config &mconfig, device
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, SPEC8S3_SCREEN_NAME)),
|
||||
m_vbl_pending(false), m_parameter(0)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, SPEC8S3_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
|
||||
//uint32_t m_7xxxxx_regs[0x100000/4];
|
||||
//int m_width, m_height, m_patofsx, m_patofsy;
|
||||
|
@ -88,11 +88,10 @@ nubus_specpdq_device::nubus_specpdq_device(const machine_config &mconfig, device
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, SPECPDQ_SCREEN_NAME)),
|
||||
m_width(0), m_height(0), m_patofsx(0), m_patofsy(0), m_vram_addr(0), m_vram_src(0),
|
||||
m_palette(*this, "palette")
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, SPECPDQ_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable;
|
||||
uint32_t m_palette_val[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
|
||||
uint32_t m_7xxxxx_regs[0x100000/4];
|
||||
int m_width, m_height, m_patofsx, m_patofsy;
|
||||
|
@ -73,10 +73,9 @@ nubus_wsportrait_device::nubus_wsportrait_device(const machine_config &mconfig,
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, WSPORTRAIT_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, WSPORTRAIT_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -73,10 +73,9 @@ nubus_xceed30hr_device::nubus_xceed30hr_device(const machine_config &mconfig, de
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, XCEED30HR_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, XCEED30HR_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -67,10 +67,9 @@ nubus_cb264se30_device::nubus_cb264se30_device(const machine_config &mconfig, de
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, CB264SE30_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, CB264SE30_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -69,10 +69,9 @@ nubus_xceedmc30_device::nubus_xceedmc30_device(const machine_config &mconfig, de
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, XCEEDMC30_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, XCEEDMC30_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -72,10 +72,9 @@ nubus_procolor816_device::nubus_procolor816_device(const machine_config &mconfig
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, PROCOLOR816_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_mode(0), m_vbl_disable(0), m_toggle(0), m_count(0), m_clutoffs(0), m_timer(nullptr)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, PROCOLOR816_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -47,7 +47,6 @@ private:
|
||||
uint32_t m_mode, m_vbl_disable, m_toggle;
|
||||
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;
|
||||
emu_timer *m_timer;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -67,10 +67,9 @@ nubus_lview_device::nubus_lview_device(const machine_config &mconfig, device_typ
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_video_interface(mconfig, *this),
|
||||
device_nubus_card_interface(mconfig, *this),
|
||||
m_vram32(nullptr), m_vbl_disable(0), m_toggle(0), m_timer(nullptr), m_protstate(0),
|
||||
m_assembled_tag(util::string_format("%s:%s", tag, LVIEW_SCREEN_NAME))
|
||||
m_vram32(nullptr), m_vbl_disable(0), m_toggle(0), m_timer(nullptr), m_protstate(0)
|
||||
{
|
||||
set_screen(m_assembled_tag.c_str());
|
||||
set_screen(*this, LVIEW_SCREEN_NAME);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -48,7 +48,6 @@ private:
|
||||
uint32_t m_palette[256];
|
||||
emu_timer *m_timer;
|
||||
int m_protstate;
|
||||
const std::string m_assembled_tag;
|
||||
};
|
||||
|
||||
|
||||
|
@ -93,7 +93,7 @@ sms_light_phaser_device::sms_light_phaser_device(const machine_config &mconfig,
|
||||
{
|
||||
// Workaround for failed validation that occurs when running on a driver
|
||||
// with Sega Scope emulation, which adds 2 screens (left/right lenses).
|
||||
set_screen(":screen");
|
||||
set_screen(*this, ":screen");
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_CPU_AVR8_EEPROM(_tag) \
|
||||
downcast<avr8_device &>(*device).set_eeprom_tag("^" _tag);
|
||||
downcast<avr8_device &>(*device).set_eeprom_tag(_tag);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -35,7 +35,7 @@
|
||||
downcast<esrip_device &>(*device).lbrm_prom(_tag);
|
||||
|
||||
#define MCFG_ESRIP_SCREEN(screen_tag) \
|
||||
downcast<esrip_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<esrip_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
|
@ -25,8 +25,8 @@
|
||||
|
||||
#define MCFG_IBM5160_MOTHERBOARD_ADD(_tag, _cputag) \
|
||||
MCFG_DEVICE_ADD(_tag, IBM5160_MOTHERBOARD, 0) \
|
||||
downcast<ibm5160_mb_device &>(*device).set_cputag("^" _cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag("^^" _cputag);
|
||||
downcast<ibm5160_mb_device &>(*device).set_cputag(_cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
|
||||
|
||||
// ======================> ibm5160_mb_device
|
||||
class ibm5160_mb_device : public device_t
|
||||
@ -130,8 +130,8 @@ DECLARE_DEVICE_TYPE(IBM5160_MOTHERBOARD, ibm5160_mb_device)
|
||||
|
||||
#define MCFG_IBM5150_MOTHERBOARD_ADD(_tag, _cputag) \
|
||||
MCFG_DEVICE_ADD(_tag, IBM5150_MOTHERBOARD, 0) \
|
||||
downcast<ibm5150_mb_device &>(*device).set_cputag("^" _cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag("^^" _cputag);
|
||||
downcast<ibm5150_mb_device &>(*device).set_cputag(_cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
|
||||
|
||||
// ======================> ibm5150_mb_device
|
||||
class ibm5150_mb_device : public ibm5160_mb_device
|
||||
@ -163,8 +163,8 @@ DECLARE_DEVICE_TYPE(IBM5150_MOTHERBOARD, ibm5150_mb_device)
|
||||
|
||||
#define MCFG_EC1841_MOTHERBOARD_ADD(_tag, _cputag) \
|
||||
MCFG_DEVICE_ADD(_tag, EC1841_MOTHERBOARD, 0) \
|
||||
downcast<ec1841_mb_device &>(*device).set_cputag("^" _cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag("^^" _cputag);
|
||||
downcast<ec1841_mb_device &>(*device).set_cputag(_cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
|
||||
|
||||
class ec1841_mb_device : public ibm5160_mb_device
|
||||
{
|
||||
@ -189,8 +189,8 @@ DECLARE_DEVICE_TYPE(EC1841_MOTHERBOARD, ec1841_mb_device)
|
||||
|
||||
#define MCFG_PCNOPPI_MOTHERBOARD_ADD(_tag, _cputag) \
|
||||
MCFG_DEVICE_ADD(_tag, PCNOPPI_MOTHERBOARD, 0) \
|
||||
downcast<pc_noppi_mb_device &>(*device).set_cputag("^" _cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag("^^" _cputag);
|
||||
downcast<pc_noppi_mb_device &>(*device).set_cputag(_cputag); \
|
||||
(*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
|
||||
|
||||
class pc_noppi_mb_device : public ibm5160_mb_device
|
||||
{
|
||||
|
@ -19,7 +19,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_K033906_VOODOO(_tag) \
|
||||
downcast<k033906_device &>(*device).set_voodoo_tag("^" _tag);
|
||||
downcast<k033906_device &>(*device).set_voodoo_tag(_tag);
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
|
@ -29,7 +29,7 @@
|
||||
downcast<k053252_device &>(*device).set_offsets(_offsx, _offsy);
|
||||
|
||||
#define MCFG_K053252_SET_SLAVE_SCREEN(_tag) \
|
||||
downcast<k053252_device &>(*device).set_slave_screen("^" _tag);
|
||||
downcast<k053252_device &>(*device).set_slave_screen(_tag);
|
||||
|
||||
|
||||
class k053252_device : public device_t, public device_video_interface
|
||||
|
@ -19,7 +19,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_K056230_CPU(_tag) \
|
||||
downcast<k056230_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<k056230_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_K056230_HACK(_region) \
|
||||
downcast<k056230_device &>(*device).set_thunderh_hack(_region);
|
||||
|
@ -77,7 +77,7 @@ enum laserdisc_field_code
|
||||
#define MCFG_LASERDISC_OVERLAY_SCALE(_scalex, _scaley) \
|
||||
downcast<laserdisc_device &>(*device).set_overlay_scale(_scalex, _scaley);
|
||||
#define MCFG_LASERDISC_OVERLAY_PALETTE(_palette_tag) \
|
||||
downcast<laserdisc_device &>(*device).set_overlay_palette("^" _palette_tag);
|
||||
downcast<laserdisc_device &>(*device).set_overlay_palette(_palette_tag);
|
||||
|
||||
// use these to add laserdisc screens with proper video update parameters
|
||||
// TODO: actually move these SCREEN_RAW_PARAMS to a common screen info header
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "bus/scsi/scsihle.h"
|
||||
|
||||
#define MCFG_LEGACY_SCSI_PORT(_tag) \
|
||||
downcast<legacy_scsi_host_adapter &>(*device).set_scsi_port("^" _tag);
|
||||
downcast<legacy_scsi_host_adapter &>(*device).set_scsi_port(_tag);
|
||||
|
||||
class legacy_scsi_host_adapter : public device_t
|
||||
{
|
||||
|
@ -386,7 +386,7 @@ private:
|
||||
DECLARE_DEVICE_TYPE(MC68328, mc68328_device)
|
||||
|
||||
#define MCFG_MC68328_CPU(_tag) \
|
||||
downcast<mc68328_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<mc68328_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_MC68328_OUT_PORT_A_CB(_devcb) \
|
||||
devcb = &downcast<mc68328_device &>(*device).set_out_port_a_callback(DEVCB_##_devcb);
|
||||
|
@ -28,31 +28,31 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_MSM6253_IN0_ANALOG_PORT(_input) \
|
||||
downcast<msm6253_device &>(*device).set_input_tag(0, "^" _input);
|
||||
downcast<msm6253_device &>(*device).set_input_tag<0>(_input);
|
||||
#define MCFG_MSM6253_IN1_ANALOG_PORT(_input) \
|
||||
downcast<msm6253_device &>(*device).set_input_tag(1, "^" _input);
|
||||
downcast<msm6253_device &>(*device).set_input_tag<1>(_input);
|
||||
#define MCFG_MSM6253_IN2_ANALOG_PORT(_input) \
|
||||
downcast<msm6253_device &>(*device).set_input_tag(2, "^" _input);
|
||||
downcast<msm6253_device &>(*device).set_input_tag<2>(_input);
|
||||
#define MCFG_MSM6253_IN3_ANALOG_PORT(_input) \
|
||||
downcast<msm6253_device &>(*device).set_input_tag(3, "^" _input);
|
||||
downcast<msm6253_device &>(*device).set_input_tag<3>(_input);
|
||||
|
||||
#define MCFG_MSM6253_IN0_ANALOG_READ(_class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(0, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<0>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
#define MCFG_MSM6253_IN1_ANALOG_READ(_class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(1, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<1>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
#define MCFG_MSM6253_IN2_ANALOG_READ(_class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(2, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<2>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
#define MCFG_MSM6253_IN3_ANALOG_READ(_class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(3, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<3>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, this));
|
||||
|
||||
#define MCFG_MSM6253_IN0_ANALOG_DEVREAD(_tag, _class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(0, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<0>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
#define MCFG_MSM6253_IN1_ANALOG_DEVREAD(_tag, _class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(1, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<1>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
#define MCFG_MSM6253_IN2_ANALOG_DEVREAD(_tag, _class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(2, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<2>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
#define MCFG_MSM6253_IN3_ANALOG_DEVREAD(_tag, _class, _method) \
|
||||
downcast<msm6253_device &>(*device).set_input_cb(3, msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
downcast<msm6253_device &>(*device).set_input_cb<3>(msm6253_device::port_read_delegate(&_class::_method, #_class "::" #_method, _tag));
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -70,8 +70,8 @@ public:
|
||||
msm6253_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
// configuration
|
||||
void set_input_tag(int port, const char *tag) { m_analog_ports[port].set_tag(tag); }
|
||||
template <typename Object> void set_input_cb(int port, Object &&cb) { m_analog_input_cb[port] = std::forward<Object>(cb); }
|
||||
template <unsigned P> void set_input_tag(const char *tag) { m_analog_ports[P].set_tag(tag); }
|
||||
template <unsigned P, typename Object> void set_input_cb(Object &&cb) { m_analog_input_cb[P] = std::forward<Object>(cb); }
|
||||
|
||||
// write handlers
|
||||
WRITE8_MEMBER(address_w);
|
||||
|
@ -11,10 +11,11 @@
|
||||
20 ... 2f, 40 ... 4f or 60 ... 6f.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef MAME_MACHINE_RA17XX_H
|
||||
#define MAME_MACHINE_RA17XX_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "device.h"
|
||||
#include "cpu/pps4/pps4.h"
|
||||
|
||||
@ -32,7 +33,7 @@
|
||||
downcast<ra17xx_device &>(*device).set_iowr(DEVCB_##devcb);
|
||||
|
||||
#define MCFG_RA17XX_CPU(tag) \
|
||||
downcast<ra17xx_device &>(*device).set_cpu_tag("^" tag);
|
||||
downcast<ra17xx_device &>(*device).set_cpu_tag(tag);
|
||||
|
||||
class ra17xx_device : public device_t
|
||||
{
|
||||
|
@ -21,10 +21,10 @@
|
||||
#define S3C2400_TAG "s3c2400"
|
||||
|
||||
#define MCFG_S3C2400_PALETTE(palette_tag) \
|
||||
downcast<s3c2400_device &>(*device).set_palette_tag(("^" palette_tag));
|
||||
downcast<s3c2400_device &>(*device).set_palette_tag(palette_tag);
|
||||
|
||||
#define MCFG_S3C2400_SCREEN(screen_tag) \
|
||||
downcast<s3c2400_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<s3c2400_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
#define MCFG_S3C2400_CORE_PIN_R_CB(cb) \
|
||||
devcb = &downcast<s3c2400_device &>(*device).set_core_pin_r_callback(DEVCB_##cb);
|
||||
|
@ -21,10 +21,10 @@
|
||||
#define S3C2410_TAG "s3c2410"
|
||||
|
||||
#define MCFG_S3C2410_PALETTE(palette_tag) \
|
||||
downcast<s3c2410_device &>(*device).set_palette_tag(("^" palette_tag));
|
||||
downcast<s3c2410_device &>(*device).set_palette_tag(palette_tag);
|
||||
|
||||
#define MCFG_S3C2410_SCREEN(screen_tag) \
|
||||
downcast<s3c2410_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<s3c2410_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
#define MCFG_S3C2410_CORE_PIN_R_CB(cb) \
|
||||
devcb = &downcast<s3c2410_device &>(*device).set_core_pin_r_callback(DEVCB_##cb);
|
||||
|
@ -20,10 +20,10 @@
|
||||
#define S3C2440_TAG "s3c2440"
|
||||
|
||||
#define MCFG_S3C2440_PALETTE(_palette_tag) \
|
||||
downcast<s3c2440_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<s3c2440_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
#define MCFG_S3C2440_SCREEN(screen_tag) \
|
||||
downcast<s3c2440_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<s3c2440_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
#define MCFG_S3C2440_CORE_PIN_R_CB(_devcb) \
|
||||
devcb = &downcast<s3c2440_device &>(*device).set_core_pin_r_callback(DEVCB_##_devcb);
|
||||
|
@ -24,7 +24,7 @@
|
||||
MCFG_DEVICE_ADD((tag), SMPC_HLE, (clock))
|
||||
|
||||
#define MCFG_SMPC_HLE_SCREEN(screen_tag) \
|
||||
downcast<smpc_hle_device &>(*device).set_screen_tag(("^" screen_tag));
|
||||
downcast<smpc_hle_device &>(*device).set_screen_tag(screen_tag);
|
||||
|
||||
#define MCFG_SMPC_HLE_CONTROL_PORTS(ctrl1_tag, ctrl2_tag) \
|
||||
downcast<smpc_hle_device &>(*device).set_control_port_tags(ctrl1_tag, ctrl2_tag);
|
||||
|
@ -85,6 +85,6 @@ DECLARE_DEVICE_TYPE(TC0091LVC, tc0091lvc_device)
|
||||
|
||||
|
||||
#define MCFG_TC0091LVC_GFXDECODE(gfxtag) \
|
||||
downcast<tc0091lvc_device &>(*device).set_gfxdecode_tag(("^" gfxtag));
|
||||
downcast<tc0091lvc_device &>(*device).set_gfxdecode_tag(gfxtag);
|
||||
|
||||
#endif // MAME_MACHINE_TL009XLVC_H
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
// FIXME: M68000 ought to be a parent class, not an external object
|
||||
#define MCFG_TMP68301_CPU(_tag) \
|
||||
downcast<tmp68301_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<tmp68301_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_TMP68301_IN_PARALLEL_CB(cb) \
|
||||
devcb = &downcast<tmp68301_device &>(*device).set_in_parallel_callback((DEVCB_##cb));
|
||||
|
@ -32,9 +32,9 @@
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_UPD4701_PORTX(_tag) \
|
||||
downcast<upd4701_device &>(*device).set_portx_tag("^" _tag);
|
||||
downcast<upd4701_device &>(*device).set_portx_tag(_tag);
|
||||
#define MCFG_UPD4701_PORTY(_tag) \
|
||||
downcast<upd4701_device &>(*device).set_porty_tag("^" _tag);
|
||||
downcast<upd4701_device &>(*device).set_porty_tag(_tag);
|
||||
#define MCFG_UPD4701_CF_CALLBACK(_devcb) \
|
||||
devcb = downcast<upd4701_device &>(*device).set_cf_cb(DEVCB_##_devcb);
|
||||
#define MCFG_UPD4701_SF_CALLBACK(_devcb) \
|
||||
|
@ -76,7 +76,7 @@ private:
|
||||
DECLARE_DEVICE_TYPE(UPD71071, upd71071_device)
|
||||
|
||||
#define MCFG_UPD71071_CPU(tag) \
|
||||
downcast<upd71071_device &>(*device).set_cpu_tag(("^" tag));
|
||||
downcast<upd71071_device &>(*device).set_cpu_tag(tag);
|
||||
|
||||
#define MCFG_UPD71071_CLOCK(clk) \
|
||||
downcast<upd71071_device &>(*device).set_clock((clk));
|
||||
|
@ -57,6 +57,6 @@ private:
|
||||
DECLARE_DEVICE_TYPE(C6280, c6280_device)
|
||||
|
||||
#define MCFG_C6280_CPU(tag) \
|
||||
downcast<c6280_device &>(*device).set_devicecpu_tag(("^" tag));
|
||||
downcast<c6280_device &>(*device).set_devicecpu_tag(tag);
|
||||
|
||||
#endif // MAME_SOUND_C6280_H
|
||||
|
@ -23,7 +23,7 @@
|
||||
#define MCFG_ES8712_MSM_WRITE_CALLBACK(_devcb) \
|
||||
devcb = &downcast<es8712_device &>(*device).set_msm_write_callback(DEVCB_##_devcb);
|
||||
#define MCFG_ES8712_MSM_TAG(_msmtag) \
|
||||
downcast<es8712_device &>(*device).set_msm_tag(("^" _msmtag));
|
||||
downcast<es8712_device &>(*device).set_msm_tag(_msmtag);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -11,7 +11,7 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_GAELCO_SND_DATA(_tag) \
|
||||
downcast<gaelco_gae1_device &>(*device).set_snd_data_tag("^" _tag);
|
||||
downcast<gaelco_gae1_device &>(*device).set_snd_data_tag(_tag);
|
||||
|
||||
#define MCFG_GAELCO_BANKS(_offs1, _offs2, _offs3, _offs4) \
|
||||
downcast<gaelco_gae1_device &>(*device).set_bank_offsets(_offs1, _offs2, _offs3, _offs4);
|
||||
|
@ -338,7 +338,7 @@ private:
|
||||
DECLARE_DEVICE_TYPE(TMSPROM, tmsprom_device)
|
||||
|
||||
#define MCFG_TMSPROM_REGION(_region) \
|
||||
downcast<tmsprom_device &>(*device).set_region("^" _region);
|
||||
downcast<tmsprom_device &>(*device).set_region(_region);
|
||||
|
||||
#define MCFG_TMSPROM_ROM_SIZE(_size) \
|
||||
downcast<tmsprom_device &>(*device).set_rom_size(_size);
|
||||
|
@ -36,7 +36,7 @@
|
||||
downcast<sega315_5313_device &>(*device).set_palwrite_base(_data);
|
||||
|
||||
#define MCFG_SEGA315_5313_PALETTE(_palette_tag) \
|
||||
downcast<sega315_5313_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<sega315_5313_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
|
||||
// Temporary solution while 32x VDP mixing and scanline interrupting is moved outside MD VDP
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
#define MCFG_EF9345_PALETTE(_palette_tag) \
|
||||
downcast<ef9345_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<ef9345_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
|
@ -14,7 +14,7 @@
|
||||
#pragma once
|
||||
|
||||
#define MCFG_EF9364_PALETTE(_palette_tag) \
|
||||
downcast<ef9364_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<ef9364_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
#define MCFG_EF9364_PAGES_CNT(_pages_number) \
|
||||
downcast<ef9364_device &>(*device).set_nb_of_pages(_pages_number);
|
||||
|
@ -14,7 +14,7 @@
|
||||
#pragma once
|
||||
|
||||
#define MCFG_EF936X_PALETTE(palette_tag) \
|
||||
downcast<ef9365_device &>(*device).set_palette_tag(("^" palette_tag));
|
||||
downcast<ef9365_device &>(*device).set_palette_tag(palette_tag);
|
||||
|
||||
#define MCFG_EF936X_BITPLANES_CNT(bitplanes_number) \
|
||||
downcast<ef9365_device &>(*device).set_nb_bitplanes((bitplanes_number));
|
||||
|
@ -295,19 +295,19 @@ DECLARE_DEVICE_TYPE(CGB_PPU, cgb_ppu_device)
|
||||
|
||||
#define MCFG_DMG_PPU_ADD(_tag, _cpu_tag ) \
|
||||
MCFG_DEVICE_ADD( _tag, DMG_PPU, 0 ) \
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag("^" _cpu_tag);
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag(_cpu_tag);
|
||||
|
||||
#define MCFG_MGB_PPU_ADD(_tag, _cpu_tag ) \
|
||||
MCFG_DEVICE_ADD( _tag, MGB_PPU, 0 ) \
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag("^" _cpu_tag);
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag(_cpu_tag);
|
||||
|
||||
#define MCFG_SGB_PPU_ADD(_tag, _cpu_tag ) \
|
||||
MCFG_DEVICE_ADD( _tag, SGB_PPU, 0 ) \
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag("^" _cpu_tag);
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag(_cpu_tag);
|
||||
|
||||
#define MCFG_CGB_PPU_ADD(_tag, _cpu_tag ) \
|
||||
MCFG_DEVICE_ADD( _tag, CGB_PPU, 0 ) \
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag("^" _cpu_tag);
|
||||
downcast<dmg_ppu_device &>(*device).set_lr35902_tag(_cpu_tag);
|
||||
|
||||
|
||||
#endif // MAME_VIDEO_GB_LCD_H
|
||||
|
@ -19,7 +19,7 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_I4100_GFXDECODE(gfxtag) \
|
||||
downcast<imagetek_i4100_device &>(*device).set_gfxdecode_tag(("^" gfxtag));
|
||||
downcast<imagetek_i4100_device &>(*device).set_gfxdecode_tag(gfxtag);
|
||||
|
||||
#define MCFG_I4100_BLITTER_END_CALLBACK(_devcb) \
|
||||
devcb = &downcast<imagetek_i4100_device &>(*device).set_blitter_irq_callback(DEVCB_##_devcb);
|
||||
|
@ -90,9 +90,9 @@ DECLARE_DEVICE_TYPE(MB_VCU, mb_vcu_device)
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_MB_VCU_CPU(_tag) \
|
||||
downcast<mb_vcu_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<mb_vcu_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_MB_VCU_PALETTE(_palette_tag) \
|
||||
downcast<mb_vcu_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<mb_vcu_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
#endif // MAME_VIDEO_MB_VCU_H
|
||||
|
@ -90,7 +90,7 @@
|
||||
//***************************************************************************
|
||||
|
||||
#define MCFG_MOS6566_CPU(_tag) \
|
||||
downcast<mos6566_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<mos6566_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_MOS6566_IRQ_CALLBACK(_write) \
|
||||
devcb = &downcast<mos6566_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
|
||||
|
@ -31,14 +31,14 @@ msm6222b_device::msm6222b_device(const machine_config &mconfig, device_type type
|
||||
msm6222b_device::msm6222b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
msm6222b_device(mconfig, MSM6222B, tag, owner, clock)
|
||||
{
|
||||
m_cgrom.set_tag(DEVICE_SELF);
|
||||
m_cgrom.set_tag(*this, DEVICE_SELF);
|
||||
}
|
||||
|
||||
msm6222b_01_device::msm6222b_01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
msm6222b_device(mconfig, MSM6222B_01, tag, owner, clock)
|
||||
{
|
||||
// load the fixed cgrom
|
||||
m_cgrom.set_tag("cgrom");
|
||||
m_cgrom.set_tag(*this, "cgrom");
|
||||
}
|
||||
|
||||
const tiny_rom_entry *msm6222b_01_device::device_rom_region() const
|
||||
|
@ -59,7 +59,7 @@
|
||||
#define MCFG_PPU2C0X_SET_SCREEN MCFG_VIDEO_SET_SCREEN
|
||||
|
||||
#define MCFG_PPU2C0X_CPU(_tag) \
|
||||
downcast<ppu2c0x_device &>(*device).set_cpu_tag("^" _tag);
|
||||
downcast<ppu2c0x_device &>(*device).set_cpu_tag(_tag);
|
||||
|
||||
#define MCFG_PPU2C0X_COLORBASE(_color) \
|
||||
downcast<ppu2c0x_device &>(*device).set_color_base(_color);
|
||||
|
@ -20,7 +20,7 @@
|
||||
#define MCFG_RAMDAC_ADD(_tag, _map, _palette_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, RAMDAC, 0) \
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, _map) \
|
||||
downcast<ramdac_device &>(*device).set_palette_tag("^" _palette_tag);
|
||||
downcast<ramdac_device &>(*device).set_palette_tag(_palette_tag);
|
||||
|
||||
#define MCFG_RAMDAC_COLOR_BASE(_color_base) \
|
||||
downcast<ramdac_device &>(*device).set_color_base(_color_base);
|
||||
|
@ -20,7 +20,7 @@
|
||||
downcast<tms9927_device &>(*device).set_char_width(_pixels);
|
||||
|
||||
#define MCFG_TMS9927_REGION(_tag) \
|
||||
downcast<tms9927_device &>(*device).set_region_tag("^" _tag);
|
||||
downcast<tms9927_device &>(*device).set_region_tag(_tag);
|
||||
|
||||
#define MCFG_TMS9927_OVERSCAN(_left, _right, _top, _bottom) \
|
||||
downcast<tms9927_device &>(*device).set_overscan(_left, _right, _top, _bottom);
|
||||
|
@ -237,7 +237,7 @@ DECLARE_DEVICE_TYPE(VIC3, vic3_device)
|
||||
|
||||
|
||||
#define MCFG_VIC3_CPU(tag) \
|
||||
downcast<vic3_device &>(*device).set_cpu_tag(("^" tag));
|
||||
downcast<vic3_device &>(*device).set_cpu_tag(tag);
|
||||
|
||||
#define MCFG_VIC3_TYPE(type) \
|
||||
downcast<vic3_device &>(*device).set_vic3_type((vic3_device::vic3_type::type));
|
||||
|
@ -115,6 +115,17 @@ finder_base::~finder_base()
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// set_tag - set tag
|
||||
//-------------------------------------------------
|
||||
|
||||
void finder_base::set_tag(char const *tag)
|
||||
{
|
||||
m_base = m_base.get().mconfig().current_device();
|
||||
m_tag = tag;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// find_memregion - find memory region
|
||||
//-------------------------------------------------
|
||||
@ -122,8 +133,8 @@ finder_base::~finder_base()
|
||||
void *finder_base::find_memregion(u8 width, size_t &length, bool required) const
|
||||
{
|
||||
// look up the region and return nullptr if not found
|
||||
memory_region *const region = m_base.memregion(m_tag);
|
||||
if (region == nullptr)
|
||||
memory_region *const region(m_base.get().memregion(m_tag));
|
||||
if (!region)
|
||||
{
|
||||
length = 0;
|
||||
return nullptr;
|
||||
@ -162,10 +173,10 @@ bool finder_base::validate_memregion(size_t bytes, bool required) const
|
||||
{
|
||||
// make sure we can resolve the full path to the region
|
||||
size_t bytes_found = 0;
|
||||
std::string region_fulltag = m_base.subtag(m_tag);
|
||||
std::string const region_fulltag(m_base.get().subtag(m_tag));
|
||||
|
||||
// look for the region
|
||||
for (device_t const &dev : device_iterator(m_base.mconfig().root_device()))
|
||||
for (device_t const &dev : device_iterator(m_base.get().mconfig().root_device()))
|
||||
{
|
||||
for (romload::region const ®ion : romload::entries(dev.rom_region()).get_regions())
|
||||
{
|
||||
@ -197,8 +208,8 @@ bool finder_base::validate_memregion(size_t bytes, bool required) const
|
||||
void *finder_base::find_memshare(u8 width, size_t &bytes, bool required) const
|
||||
{
|
||||
// look up the share and return nullptr if not found
|
||||
memory_share *share = m_base.memshare(m_tag);
|
||||
if (share == nullptr)
|
||||
memory_share *const share(m_base.get().memshare(m_tag));
|
||||
if (!share)
|
||||
return nullptr;
|
||||
|
||||
// check the width and warn if not correct
|
||||
@ -233,7 +244,7 @@ bool finder_base::report_missing(bool found, const char *objname, bool required)
|
||||
return true;
|
||||
|
||||
// otherwise, report
|
||||
std::string const region_fulltag = m_base.subtag(m_tag);
|
||||
std::string const region_fulltag(m_base.get().subtag(m_tag));
|
||||
if (required)
|
||||
osd_printf_error("Required %s '%s' not found\n", objname, region_fulltag.c_str());
|
||||
else
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <iterator>
|
||||
#include <stdexcept>
|
||||
#include <type_traits>
|
||||
@ -259,10 +260,27 @@ public:
|
||||
/// Allows search tag to be changed after construction. Note that
|
||||
/// this must be done before resolution time to take effect. Also
|
||||
/// note that the tag is not copied.
|
||||
/// \param [in] base Updated search base. The tag must be specified
|
||||
/// relative to this device.
|
||||
/// \param [in] tag Updated search tag. This is not copied, it is
|
||||
/// the caller's responsibility to ensure this pointer remains
|
||||
/// valid until resolution time.
|
||||
void set_tag(char const *tag) { m_tag = tag; }
|
||||
void set_tag(device_t &base, char const *tag)
|
||||
{
|
||||
m_base = base;
|
||||
m_tag = tag;
|
||||
}
|
||||
|
||||
/// \brief Set search tag
|
||||
///
|
||||
/// Allows search tag to be changed after construction. Note that
|
||||
/// this must be done before resolution time to take effect. Also
|
||||
/// note that the tag is not copied.
|
||||
/// \param [in] tag Updated search tag relative to the current
|
||||
/// device being configured. This is not copied, it is the
|
||||
/// caller's responsibility to ensure this pointer remains valid
|
||||
/// until resolution time.
|
||||
void set_tag(char const *tag);
|
||||
|
||||
/// \brief Is the object to be resolved before memory maps?
|
||||
///
|
||||
@ -375,7 +393,7 @@ protected:
|
||||
finder_base *const m_next;
|
||||
|
||||
/// \brief Base device to search from
|
||||
device_t &m_base;
|
||||
std::reference_wrapper<device_t> m_base;
|
||||
|
||||
/// \brief Object tag to search for
|
||||
char const *m_tag;
|
||||
@ -494,7 +512,7 @@ private:
|
||||
/// is found, false otherwise.
|
||||
virtual bool findit(bool isvalidation) override
|
||||
{
|
||||
device_t *const device = this->m_base.subdevice(this->m_tag);
|
||||
device_t *const device = this->m_base.get().subdevice(this->m_tag);
|
||||
this->m_target = dynamic_cast<DeviceClass *>(device);
|
||||
if (device && !this->m_target)
|
||||
this->printf_warning("Device '%s' found but is of incorrect type (actual type is %s)\n", this->m_tag, device->name());
|
||||
@ -560,7 +578,7 @@ private:
|
||||
virtual bool findit(bool isvalidation) override
|
||||
{
|
||||
if (isvalidation) return this->validate_memregion(0, Required);
|
||||
this->m_target = this->m_base.memregion(this->m_tag);
|
||||
this->m_target = this->m_base.get().memregion(this->m_tag);
|
||||
return this->report_missing("memory region");
|
||||
}
|
||||
};
|
||||
@ -620,7 +638,7 @@ public:
|
||||
virtual bool findit(bool isvalidation) override
|
||||
{
|
||||
if (isvalidation) return true;
|
||||
this->m_target = this->m_base.membank(this->m_tag);
|
||||
this->m_target = this->m_base.get().membank(this->m_tag);
|
||||
return this->report_missing("memory bank");
|
||||
}
|
||||
};
|
||||
@ -691,7 +709,7 @@ private:
|
||||
virtual bool findit(bool isvalidation) override
|
||||
{
|
||||
if (isvalidation) return true;
|
||||
this->m_target = this->m_base.ioport(this->m_tag);
|
||||
this->m_target = this->m_base.get().ioport(this->m_tag);
|
||||
return this->report_missing("I/O port");
|
||||
}
|
||||
};
|
||||
@ -863,7 +881,7 @@ public:
|
||||
m_allocated.resize(entries);
|
||||
this->m_target = &m_allocated[0];
|
||||
m_bytes = entries * sizeof(PointerType);
|
||||
this->m_base.save_item(m_allocated, this->m_tag);
|
||||
this->m_base.get().save_item(m_allocated, this->m_tag);
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -25,10 +25,11 @@ const char device_video_interface::s_unconfigured_screen_tag[] = "!!UNCONFIGURED
|
||||
//-------------------------------------------------
|
||||
|
||||
device_video_interface::device_video_interface(const machine_config &mconfig, device_t &device, bool screen_required)
|
||||
: device_interface(device, "video"),
|
||||
m_screen_required(screen_required),
|
||||
m_screen_tag(s_unconfigured_screen_tag),
|
||||
m_screen(nullptr)
|
||||
: device_interface(device, "video")
|
||||
, m_screen_required(screen_required)
|
||||
, m_screen_base(&device)
|
||||
, m_screen_tag(s_unconfigured_screen_tag)
|
||||
, m_screen(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
@ -42,6 +43,13 @@ device_video_interface::~device_video_interface()
|
||||
}
|
||||
|
||||
|
||||
void device_video_interface::set_screen(const char *tag)
|
||||
{
|
||||
m_screen_base = &device().mconfig().current_device();
|
||||
m_screen_tag = tag;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// interface_validity_check - validation for a
|
||||
// device after the configuration has been
|
||||
@ -52,19 +60,18 @@ void device_video_interface::interface_validity_check(validity_checker &valid) c
|
||||
{
|
||||
// only look up screens if we haven't explicitly requested no screen
|
||||
screen_device *screen = nullptr;
|
||||
if (m_screen_tag != nullptr)
|
||||
if (m_screen_tag)
|
||||
{
|
||||
// find the screen device if explicitly configured
|
||||
if (strcmp(m_screen_tag, s_unconfigured_screen_tag) != 0)
|
||||
{
|
||||
screen = device().siblingdevice<screen_device>(m_screen_tag);
|
||||
if (screen == nullptr)
|
||||
// find the screen device if explicitly configured
|
||||
screen = m_screen_base->subdevice<screen_device>(m_screen_tag);
|
||||
if (!screen)
|
||||
osd_printf_error("Screen '%s' not found, explicitly set for device '%s'\n", m_screen_tag, device().tag());
|
||||
}
|
||||
|
||||
// otherwise, look for a single match
|
||||
else
|
||||
{
|
||||
// otherwise, look for a single match
|
||||
screen_device_iterator iter(device().mconfig().root_device());
|
||||
screen = iter.first();
|
||||
if (iter.count() > 1)
|
||||
@ -73,7 +80,7 @@ void device_video_interface::interface_validity_check(validity_checker &valid) c
|
||||
}
|
||||
|
||||
// error if no screen is found
|
||||
if (screen == nullptr && m_screen_required)
|
||||
if (!screen && m_screen_required)
|
||||
osd_printf_error("Device '%s' requires a screen\n", device().tag());
|
||||
}
|
||||
|
||||
@ -86,19 +93,18 @@ void device_video_interface::interface_validity_check(validity_checker &valid) c
|
||||
void device_video_interface::interface_pre_start()
|
||||
{
|
||||
// only look up screens if we haven't explicitly requested no screen
|
||||
if (m_screen_tag != nullptr)
|
||||
if (m_screen_tag)
|
||||
{
|
||||
// find the screen device if explicitly configured
|
||||
if (strcmp(m_screen_tag, s_unconfigured_screen_tag) != 0)
|
||||
{
|
||||
m_screen = device().siblingdevice<screen_device>(m_screen_tag);
|
||||
if (m_screen == nullptr)
|
||||
// find the screen device if explicitly configured
|
||||
m_screen = m_screen_base->subdevice<screen_device>(m_screen_tag);
|
||||
if (!m_screen)
|
||||
throw emu_fatalerror("Screen '%s' not found, explicitly set for device '%s'", m_screen_tag, device().tag());
|
||||
}
|
||||
|
||||
// otherwise, look for a single match
|
||||
else
|
||||
{
|
||||
// otherwise, look for a single match
|
||||
screen_device_iterator iter(device().machine().root_device());
|
||||
m_screen = iter.first();
|
||||
if (iter.count() > 1)
|
||||
@ -107,21 +113,19 @@ void device_video_interface::interface_pre_start()
|
||||
}
|
||||
|
||||
// fatal error if no screen is found
|
||||
if (m_screen == nullptr && m_screen_required)
|
||||
if (!m_screen)
|
||||
throw emu_fatalerror("Device '%s' requires a screen", device().tag());
|
||||
|
||||
// if we have a screen and it's not started, wait for it
|
||||
device_palette_interface *palintf;
|
||||
if (m_screen != nullptr && !m_screen->started())
|
||||
if (m_screen && !m_screen->started())
|
||||
{
|
||||
// avoid circular dependency if we are also a palette device
|
||||
if (!device().interface(palintf))
|
||||
throw device_missing_dependencies();
|
||||
else
|
||||
{
|
||||
// no other palette may be specified
|
||||
if (m_screen->has_palette() && palintf != &m_screen->palette())
|
||||
throw emu_fatalerror("Device '%s' cannot control screen '%s' with palette '%s'", device().tag(), m_screen_tag, m_screen->palette().device().tag());
|
||||
}
|
||||
|
||||
// no other palette may be specified
|
||||
if (m_screen->has_palette() && palintf != &m_screen->palette())
|
||||
throw emu_fatalerror("Device '%s' cannot control screen '%s' with palette '%s'", device().tag(), m_screen_tag, m_screen->palette().device().tag());
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,12 @@ public:
|
||||
virtual ~device_video_interface();
|
||||
|
||||
// configuration
|
||||
void set_screen(const char *tag) { m_screen_tag = tag; }
|
||||
void set_screen(const char *tag);
|
||||
void set_screen(device_t &base, const char *tag)
|
||||
{
|
||||
m_screen_base = &base;
|
||||
m_screen_tag = tag;
|
||||
}
|
||||
|
||||
// getters
|
||||
screen_device &screen() const { return *m_screen; }
|
||||
@ -57,6 +62,7 @@ protected:
|
||||
private:
|
||||
// configuration state
|
||||
bool m_screen_required; // is a screen required?
|
||||
device_t * m_screen_base; // base device for resolving target screen
|
||||
const char * m_screen_tag; // configured tag for the target screen
|
||||
|
||||
// internal state
|
||||
|
@ -273,7 +273,7 @@
|
||||
// other standard palettes
|
||||
#define MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS(_tag, _region, _entries) \
|
||||
MCFG_PALETTE_ADD(_tag, _entries) \
|
||||
downcast<palette_device &>(*device).set_prom_region("^" _region); \
|
||||
downcast<palette_device &>(*device).set_prom_region(_region); \
|
||||
downcast<palette_device &>(*device).set_init(palette_init_delegate(FUNC(palette_device::palette_init_RRRRGGGGBBBB_proms), downcast<palette_device *>(device)));
|
||||
|
||||
// not implemented yet
|
||||
|
@ -82,7 +82,8 @@ public:
|
||||
|
||||
// getters
|
||||
const game_driver &gamedrv() const { return m_gamedrv; }
|
||||
device_t &root_device() const { assert(m_root_device != nullptr); return *m_root_device; }
|
||||
device_t &root_device() const { assert(m_root_device); return *m_root_device; }
|
||||
device_t ¤t_device() const { assert(m_current_device); return *m_current_device; }
|
||||
emu_options &options() const { return m_options; }
|
||||
inline device_t *device(const char *tag) const { return root_device().subdevice(tag); }
|
||||
template <class DeviceClass> inline DeviceClass *device(const char *tag) const { return downcast<DeviceClass *>(device(tag)); }
|
||||
|
@ -370,7 +370,7 @@ enum tilemap_standard_mapper
|
||||
#define MCFG_TILEMAP_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, TILEMAP, 0)
|
||||
#define MCFG_TILEMAP_GFXDECODE(_gfxtag) \
|
||||
downcast<tilemap_device &>(*device).set_gfxdecode_tag("^" _gfxtag);
|
||||
downcast<tilemap_device &>(*device).set_gfxdecode_tag(_gfxtag);
|
||||
#define MCFG_TILEMAP_BYTES_PER_ENTRY(_bpe) \
|
||||
downcast<tilemap_device &>(*device).set_bytes_per_entry(_bpe);
|
||||
#define MCFG_TILEMAP_INFO_CB_DRIVER(_class, _method) \
|
||||
|
@ -10,7 +10,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, NAMCO_52XX, _clock)
|
||||
|
||||
#define MCFG_NAMCO_52XX_DISCRETE(_tag) \
|
||||
downcast<namco_52xx_device &>(*device).set_discrete("^" _tag);
|
||||
downcast<namco_52xx_device &>(*device).set_discrete(_tag);
|
||||
|
||||
#define MCFG_NAMCO_52XX_BASENODE(_node) \
|
||||
downcast<namco_52xx_device &>(*device).set_basenote(_node);
|
||||
|
@ -11,7 +11,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, NAMCO_54XX, _clock)
|
||||
|
||||
#define MCFG_NAMCO_54XX_DISCRETE(_tag) \
|
||||
downcast<namco_54xx_device &>(*device).set_discrete("^" _tag);
|
||||
downcast<namco_54xx_device &>(*device).set_discrete(_tag);
|
||||
|
||||
#define MCFG_NAMCO_54XX_BASENODE(_node) \
|
||||
downcast<namco_54xx_device &>(*device).set_basenote(_node);
|
||||
|
@ -182,10 +182,10 @@ DECLARE_DEVICE_TYPE(SEIBU_ADPCM, seibu_adpcm_device)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
#define MCFG_SEIBU_SOUND_CPU(_audiocputag) \
|
||||
downcast<seibu_sound_device &>(*device).set_cpu_tag("^" _audiocputag);
|
||||
downcast<seibu_sound_device &>(*device).set_cpu_tag(_audiocputag);
|
||||
|
||||
#define MCFG_SEIBU_SOUND_ROMBANK(_banktag) \
|
||||
downcast<seibu_sound_device &>(*device).set_rombank_tag("^" _banktag);
|
||||
downcast<seibu_sound_device &>(*device).set_rombank_tag(_banktag);
|
||||
|
||||
#define MCFG_SEIBU_SOUND_YM_READ_CB(_devcb) \
|
||||
devcb = &downcast<seibu_sound_device &>(*device).set_ym_read_callback(DEVCB_##_devcb);
|
||||
|
@ -9,10 +9,10 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_TC0140SYT_MASTER_CPU(_tag) \
|
||||
downcast<tc0140syt_device &>(*device).set_master_tag("^" _tag);
|
||||
downcast<tc0140syt_device &>(*device).set_master_tag(_tag);
|
||||
|
||||
#define MCFG_TC0140SYT_SLAVE_CPU(_tag) \
|
||||
downcast<tc0140syt_device &>(*device).set_slave_tag("^" _tag);
|
||||
downcast<tc0140syt_device &>(*device).set_slave_tag(_tag);
|
||||
|
||||
#define MCFG_PC060HA_MASTER_CPU(_tag) MCFG_TC0140SYT_MASTER_CPU(_tag)
|
||||
#define MCFG_PC060HA_SLAVE_CPU(_tag) MCFG_TC0140SYT_SLAVE_CPU(_tag)
|
||||
|
@ -513,7 +513,7 @@ MACHINE_CONFIG_START(_4enlinea_state::_4enlinea)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(_4enlinea_state, _4enlinea_audio_irq, 60) //TODO
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA8_CPU("maincpu")
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa1", 4enlinea_isa8_cards, "4enlinea", true)
|
||||
|
||||
|
||||
|
@ -105,7 +105,7 @@ MACHINE_CONFIG_START(asst128_state::asst128)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
|
||||
|
||||
MCFG_DEVICE_ADD("mb", ASST128_MOTHERBOARD, 0)
|
||||
downcast<asst128_mb_device &>(*device).set_cputag("^maincpu");
|
||||
downcast<asst128_mb_device &>(*device).set_cputag("maincpu");
|
||||
MCFG_DEVICE_INPUT_DEFAULTS(asst128)
|
||||
|
||||
MCFG_DEVICE_MODIFY("mb:cassette")
|
||||
|
@ -633,7 +633,7 @@ MACHINE_CONFIG_START(megapc_state::megapc)
|
||||
|
||||
// on board devices
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA16_CPU("maincpu")
|
||||
MCFG_ISA_BUS_IOCHCK(DEVWRITELINE("wd7600", wd7600_device, iochck_w))
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("wd7600", wd7600_device, irq09_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("wd7600", wd7600_device, irq03_w))
|
||||
|
@ -145,7 +145,7 @@ MACHINE_CONFIG_START(ct486_state::ct486)
|
||||
MCFG_PC_KBDC_SLOT_ADD("pc_kbdc", "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL)
|
||||
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA16_CPU("maincpu")
|
||||
MCFG_ISA_BUS_IOCHCK(DEVWRITELINE("cs4031", cs4031_device, iochck_w))
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("cs4031", cs4031_device, irq09_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("cs4031", cs4031_device, irq03_w))
|
||||
|
@ -147,7 +147,7 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
|
||||
MCFG_I8237_OUT_IOW_1_CB(WRITE8(fruitpc_state, dma8237_1_dack_w))
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA8_CPU("maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_2", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
|
||||
|
@ -332,7 +332,7 @@ MACHINE_CONFIG_START(gijoe_state::gijoe)
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054321_ADD("k054321", ":lspeaker", ":rspeaker")
|
||||
MCFG_K054321_ADD("k054321", "lspeaker", "rspeaker")
|
||||
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000))
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
@ -95,7 +95,7 @@ MACHINE_CONFIG_START(indiana_state::indiana)
|
||||
MCFG_CPU_PROGRAM_MAP(indiana_mem)
|
||||
|
||||
MCFG_DEVICE_ADD(ISABUS_TAG, ISA16, 0)
|
||||
MCFG_ISA16_CPU(":" M68K_TAG)
|
||||
MCFG_ISA16_CPU(M68K_TAG)
|
||||
MCFG_ISA16_BUS_CUSTOM_SPACES()
|
||||
MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa1", indiana_isa_cards, "vga", false)
|
||||
MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa2", indiana_isa_cards, "fdc_at", false)
|
||||
|
@ -537,7 +537,7 @@ MACHINE_CONFIG_START(lethal_state::lethalen)
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054321_ADD("k054321", ":lspeaker", ":rspeaker")
|
||||
MCFG_K054321_ADD("k054321", "lspeaker", "rspeaker")
|
||||
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL(18'432'000))
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("soundcpu", INPUT_LINE_NMI))
|
||||
|
@ -212,7 +212,7 @@ MACHINE_CONFIG_START(magtouch_state::magtouch)
|
||||
MCFG_I8237_OUT_IOW_1_CB(WRITE8(magtouch_state, dma8237_1_dack_w))
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA8_CPU("maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_2", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir3_w))
|
||||
//MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
|
||||
|
@ -284,7 +284,7 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
|
||||
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("upd8251", i8251_device, write_cts))
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA8_CPU("maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w))
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user