mirror of
https://github.com/holub/mame
synced 2025-10-04 08:28:39 +03:00
devcv2 -> devcb (nw)
This commit is contained in:
parent
c5a60146ed
commit
546fbff349
4
.gitattributes
vendored
4
.gitattributes
vendored
@ -2166,8 +2166,8 @@ src/emu/debug/textbuf.c svneol=native#text/plain
|
||||
src/emu/debug/textbuf.h svneol=native#text/plain
|
||||
src/emu/debugger.c svneol=native#text/plain
|
||||
src/emu/debugger.h svneol=native#text/plain
|
||||
src/emu/devcb2.c svneol=native#text/plain
|
||||
src/emu/devcb2.h svneol=native#text/plain
|
||||
src/emu/devcb.c svneol=native#text/plain
|
||||
src/emu/devcb.h svneol=native#text/plain
|
||||
src/emu/devcpu.c svneol=native#text/plain
|
||||
src/emu/devcpu.h svneol=native#text/plain
|
||||
src/emu/devdelegate.c svneol=native#text/plain
|
||||
|
@ -22,10 +22,10 @@
|
||||
a1bus_device::static_set_cputag(*device, _cputag);
|
||||
|
||||
#define MCFG_A1BUS_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &a1bus_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a1bus_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A1BUS_OUT_NMI_CB(_devcb) \
|
||||
devcb = &a1bus_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a1bus_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A1BUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, A1BUS_SLOT, 0) \
|
||||
@ -78,8 +78,8 @@ public:
|
||||
|
||||
// inline configuration
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a1bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
|
||||
void add_a1bus_card(device_a1bus_card_interface *card);
|
||||
device_a1bus_card_interface *get_a1bus_card();
|
||||
@ -101,8 +101,8 @@ protected:
|
||||
// internal state
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
|
||||
device_a1bus_card_interface *m_device;
|
||||
const char *m_cputag;
|
||||
|
@ -23,13 +23,13 @@
|
||||
a2bus_device::static_set_cputag(*device, _cputag);
|
||||
|
||||
#define MCFG_A2BUS_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &a2bus_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a2bus_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A2BUS_OUT_NMI_CB(_devcb) \
|
||||
devcb = &a2bus_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a2bus_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A2BUS_OUT_INH_CB(_devcb) \
|
||||
devcb = &a2bus_device::set_out_inh_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a2bus_device::set_out_inh_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A2BUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, A2BUS_SLOT, 0) \
|
||||
@ -82,9 +82,9 @@ public:
|
||||
|
||||
// inline configuration
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_inh_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_inh_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_inh_callback(device_t &device, _Object object) { return downcast<a2bus_device &>(device).m_out_inh_cb.set_callback(object); }
|
||||
|
||||
void add_a2bus_card(int slot, device_a2bus_card_interface *card);
|
||||
device_a2bus_card_interface *get_a2bus_card(int slot);
|
||||
@ -104,9 +104,9 @@ protected:
|
||||
// internal state
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb2_write_line m_out_inh_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_inh_cb;
|
||||
|
||||
device_a2bus_card_interface *m_device_list[8];
|
||||
const char *m_cputag;
|
||||
|
@ -22,10 +22,10 @@
|
||||
a2eauxslot_device::static_set_cputag(*device, _cputag);
|
||||
|
||||
#define MCFG_A2EAUXSLOT_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &a2eauxslot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a2eauxslot_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A2EAUXSLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &a2eauxslot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &a2eauxslot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_A2EAUXSLOT_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, A2EAUXSLOT_SLOT, 0) \
|
||||
@ -74,8 +74,8 @@ public:
|
||||
|
||||
// inline configuration
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<a2eauxslot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
|
||||
void add_a2eauxslot_card(device_a2eauxslot_card_interface *card);
|
||||
device_a2eauxslot_card_interface *get_a2eauxslot_card();
|
||||
@ -94,8 +94,8 @@ protected:
|
||||
// internal state
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
|
||||
device_a2eauxslot_card_interface *m_device;
|
||||
const char *m_cputag;
|
||||
|
@ -124,34 +124,34 @@
|
||||
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_IRQ_CALLBACK(_irq) \
|
||||
downcast<abcbus_slot_device *>(device)->set_irq_callback(DEVCB2_##_irq);
|
||||
downcast<abcbus_slot_device *>(device)->set_irq_callback(DEVCB_##_irq);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_NMI_CALLBACK(_nmi) \
|
||||
downcast<abcbus_slot_device *>(device)->set_nmi_callback(DEVCB2_##_nmi);
|
||||
downcast<abcbus_slot_device *>(device)->set_nmi_callback(DEVCB_##_nmi);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_RDY_CALLBACK(_rdy) \
|
||||
downcast<abcbus_slot_device *>(device)->set_rdy_callback(DEVCB2_##_rdy);
|
||||
downcast<abcbus_slot_device *>(device)->set_rdy_callback(DEVCB_##_rdy);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_RESIN_CALLBACK(_resin) \
|
||||
downcast<abcbus_slot_device *>(device)->set_resin_callback(DEVCB2_##_resin);
|
||||
downcast<abcbus_slot_device *>(device)->set_resin_callback(DEVCB_##_resin);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_PREN_CALLBACK(_pren) \
|
||||
downcast<abcbus_slot_device *>(device)->set_pren_callback(DEVCB2_##_pren);
|
||||
downcast<abcbus_slot_device *>(device)->set_pren_callback(DEVCB_##_pren);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_TRRQ_CALLBACK(_trrq) \
|
||||
downcast<abcbus_slot_device *>(device)->set_trrq_callback(DEVCB2_##_trrq);
|
||||
downcast<abcbus_slot_device *>(device)->set_trrq_callback(DEVCB_##_trrq);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_XINT2_CALLBACK(_xint2) \
|
||||
downcast<abcbus_slot_device *>(device)->set_xint2_callback(DEVCB2_##_xint2);
|
||||
downcast<abcbus_slot_device *>(device)->set_xint2_callback(DEVCB_##_xint2);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_XINT3_CALLBACK(_xint3) \
|
||||
downcast<abcbus_slot_device *>(device)->set_xint3_callback(DEVCB2_##_xint3);
|
||||
downcast<abcbus_slot_device *>(device)->set_xint3_callback(DEVCB_##_xint3);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_XINT4_CALLBACK(_xint4) \
|
||||
downcast<abcbus_slot_device *>(device)->set_xint4_callback(DEVCB2_##_xint4);
|
||||
downcast<abcbus_slot_device *>(device)->set_xint4_callback(DEVCB_##_xint4);
|
||||
|
||||
#define MCFG_ABCBUS_SLOT_XINT5_CALLBACK(_xint5) \
|
||||
downcast<abcbus_slot_device *>(device)->set_xint5_callback(DEVCB2_##_xint5);
|
||||
downcast<abcbus_slot_device *>(device)->set_xint5_callback(DEVCB_##_xint5);
|
||||
|
||||
|
||||
|
||||
@ -281,16 +281,16 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset() { if (m_card) get_card_device()->reset(); }
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb2_write_line m_write_rdy;
|
||||
devcb2_write_line m_write_resin;
|
||||
devcb2_write_line m_write_pren;
|
||||
devcb2_write_line m_write_trrq;
|
||||
devcb2_write_line m_write_xint2;
|
||||
devcb2_write_line m_write_xint3;
|
||||
devcb2_write_line m_write_xint4;
|
||||
devcb2_write_line m_write_xint5;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
devcb_write_line m_write_rdy;
|
||||
devcb_write_line m_write_resin;
|
||||
devcb_write_line m_write_pren;
|
||||
devcb_write_line m_write_trrq;
|
||||
devcb_write_line m_write_xint2;
|
||||
devcb_write_line m_write_xint3;
|
||||
devcb_write_line m_write_xint4;
|
||||
devcb_write_line m_write_xint5;
|
||||
|
||||
device_abcbus_card_interface *m_card;
|
||||
|
||||
|
@ -27,13 +27,13 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(abc_keyboard_devices, _def_slot, false)
|
||||
|
||||
#define MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(_devcb) \
|
||||
devcb = &abc_keyboard_port_device::set_out_rx_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &abc_keyboard_port_device::set_out_rx_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(_devcb) \
|
||||
devcb = &abc_keyboard_port_device::set_out_trxc_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &abc_keyboard_port_device::set_out_trxc_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(_devcb) \
|
||||
devcb = &abc_keyboard_port_device::set_out_keydown_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &abc_keyboard_port_device::set_out_keydown_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
|
||||
@ -50,9 +50,9 @@ public:
|
||||
// construction/destruction
|
||||
abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_rx_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_rx_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_trxc_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_trxc_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_keydown_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_keydown_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_rx_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_rx_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_trxc_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_trxc_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_keydown_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_keydown_handler.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
DECLARE_WRITE_LINE_MEMBER( txd_w );
|
||||
@ -67,9 +67,9 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
devcb2_write_line m_out_rx_handler;
|
||||
devcb2_write_line m_out_trxc_handler;
|
||||
devcb2_write_line m_out_keydown_handler;
|
||||
devcb_write_line m_out_rx_handler;
|
||||
devcb_write_line m_out_trxc_handler;
|
||||
devcb_write_line m_out_keydown_handler;
|
||||
|
||||
abc_keyboard_interface *m_card;
|
||||
};
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
|
||||
#define MCFG_ADAM_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &adam_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &adam_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ public:
|
||||
adam_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~adam_expansion_slot_device() { }
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<adam_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<adam_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 bd_r(address_space &space, offs_t offset, UINT8 data, int bmreq, int biorq, int aux_rom_cs, int cas1, int cas2);
|
||||
@ -92,7 +92,7 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb_write_line m_write_irq;
|
||||
|
||||
device_adam_expansion_slot_card_interface *m_card;
|
||||
};
|
||||
|
@ -23,13 +23,13 @@
|
||||
bml3bus_device::static_set_cputag(*device, _cputag);
|
||||
|
||||
#define MCFG_BML3BUS_OUT_NMI_CB(_devcb) \
|
||||
devcb = &bml3bus_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &bml3bus_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_BML3BUS_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &bml3bus_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &bml3bus_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_BML3BUS_OUT_FIRQ_CB(_devcb) \
|
||||
devcb = &bml3bus_device::set_out_firq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &bml3bus_device::set_out_firq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_BML3BUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, BML3BUS_SLOT, 0) \
|
||||
@ -82,9 +82,9 @@ public:
|
||||
|
||||
// inline configuration
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_firq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_firq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_firq_callback(device_t &device, _Object object) { return downcast<bml3bus_device &>(device).m_out_firq_cb.set_callback(object); }
|
||||
|
||||
void add_bml3bus_card(int slot, device_bml3bus_card_interface *card);
|
||||
device_bml3bus_card_interface *get_bml3bus_card(int slot);
|
||||
@ -105,9 +105,9 @@ protected:
|
||||
// internal state
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_firq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_firq_cb;
|
||||
|
||||
device_bml3bus_card_interface *m_device_list[BML3BUS_MAX_SLOTS];
|
||||
const char *m_cputag;
|
||||
|
@ -71,22 +71,22 @@
|
||||
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &c64_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c64_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(_write) \
|
||||
devcb = &c64_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c64_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(_write) \
|
||||
devcb = &c64_expansion_slot_device::set_reset_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c64_expansion_slot_device::set_reset_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(_read) \
|
||||
devcb = &c64_expansion_slot_device::set_cd_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &c64_expansion_slot_device::set_cd_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(_write) \
|
||||
devcb = &c64_expansion_slot_device::set_cd_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c64_expansion_slot_device::set_cd_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(_write) \
|
||||
devcb = &c64_expansion_slot_device::set_dma_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c64_expansion_slot_device::set_dma_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -106,12 +106,12 @@ public:
|
||||
// construction/destruction
|
||||
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_reset_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_reset.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_reset_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_reset.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_wr_callback(device_t &device, _Object object) { return downcast<c64_expansion_slot_device &>(device).m_write_dma.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 cd_r(address_space &space, offs_t offset, UINT8 data, int sphi2, int ba, int roml, int romh, int io1, int io2);
|
||||
@ -154,12 +154,12 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_read8 m_read_dma_cd;
|
||||
devcb2_write8 m_write_dma_cd;
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb2_write_line m_write_dma;
|
||||
devcb2_write_line m_write_reset;
|
||||
devcb_read8 m_read_dma_cd;
|
||||
devcb_write8 m_write_dma_cd;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
devcb_write_line m_write_dma;
|
||||
devcb_write_line m_write_reset;
|
||||
|
||||
device_c64_expansion_card_interface *m_card;
|
||||
|
||||
|
@ -52,16 +52,16 @@
|
||||
|
||||
|
||||
#define MCFG_CBM2_USER_PORT_IRQ_CALLBACK(_write) \
|
||||
devcb = &cbm2_user_port_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cbm2_user_port_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM2_USER_PORT_SP_CALLBACK(_write) \
|
||||
devcb = &cbm2_user_port_device::set_sp_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cbm2_user_port_device::set_sp_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM2_USER_PORT_CNT_CALLBACK(_write) \
|
||||
devcb = &cbm2_user_port_device::set_cnt_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cbm2_user_port_device::set_cnt_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM2_USER_PORT_FLAG_CALLBACK(_write) \
|
||||
devcb = &cbm2_user_port_device::set_flag_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cbm2_user_port_device::set_flag_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -111,10 +111,10 @@ public:
|
||||
cbm2_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~cbm2_user_port_device() { }
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_sp.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_cnt.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_flag_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_flag.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_sp.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_cnt.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_flag_wr_callback(device_t &device, _Object object) { return downcast<cbm2_user_port_device &>(device).m_write_flag.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
DECLARE_READ8_MEMBER( d1_r ) { UINT8 data = 0xff; if (m_card != NULL) data = m_card->cbm2_d1_r(space, offset); return data; }
|
||||
@ -139,10 +139,10 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_sp;
|
||||
devcb2_write_line m_write_cnt;
|
||||
devcb2_write_line m_write_flag;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_sp;
|
||||
devcb_write_line m_write_cnt;
|
||||
devcb_write_line m_write_flag;
|
||||
|
||||
device_cbm2_user_port_interface *m_card;
|
||||
};
|
||||
|
@ -35,19 +35,19 @@
|
||||
|
||||
|
||||
#define MCFG_CBM_IEC_BUS_SRQ_CALLBACK(_write) \
|
||||
downcast<cbm_iec_device *>(device)->set_srq_callback(DEVCB2_##_write);
|
||||
downcast<cbm_iec_device *>(device)->set_srq_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM_IEC_BUS_ATN_CALLBACK(_write) \
|
||||
downcast<cbm_iec_device *>(device)->set_atn_callback(DEVCB2_##_write);
|
||||
downcast<cbm_iec_device *>(device)->set_atn_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM_IEC_BUS_CLK_CALLBACK(_write) \
|
||||
downcast<cbm_iec_device *>(device)->set_clk_callback(DEVCB2_##_write);
|
||||
downcast<cbm_iec_device *>(device)->set_clk_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM_IEC_BUS_DATA_CALLBACK(_write) \
|
||||
downcast<cbm_iec_device *>(device)->set_data_callback(DEVCB2_##_write);
|
||||
downcast<cbm_iec_device *>(device)->set_data_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_CBM_IEC_BUS_RESET_CALLBACK(_write) \
|
||||
downcast<cbm_iec_device *>(device)->set_reset_callback(DEVCB2_##_write);
|
||||
downcast<cbm_iec_device *>(device)->set_reset_callback(DEVCB_##_write);
|
||||
|
||||
|
||||
#define MCFG_CBM_IEC_SLOT_ADD(_tag, _address, _slot_intf, _def_slot) \
|
||||
@ -142,11 +142,11 @@ protected:
|
||||
simple_list<daisy_entry> m_device_list;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_srq;
|
||||
devcb2_write_line m_write_atn;
|
||||
devcb2_write_line m_write_clk;
|
||||
devcb2_write_line m_write_data;
|
||||
devcb2_write_line m_write_reset;
|
||||
devcb_write_line m_write_srq;
|
||||
devcb_write_line m_write_atn;
|
||||
devcb_write_line m_write_clk;
|
||||
devcb_write_line m_write_data;
|
||||
devcb_write_line m_write_reset;
|
||||
|
||||
void set_signal(device_t *device, int signal, int state);
|
||||
int get_signal(int signal);
|
||||
|
@ -22,55 +22,55 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_CENTRONICS_STROBE_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_strobe_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_strobe_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA0_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data0_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data0_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA1_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data1_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA2_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA3_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data3_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data3_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA4_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data4_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data4_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA5_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data5_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data5_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA6_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data6_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data6_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA7_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_data7_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_data7_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_ACK_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_ack_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_ack_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_BUSY_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_busy_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_busy_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_PERROR_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_perror_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_perror_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_SELECT_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_select_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_select_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_AUTOFD_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_autofd_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_autofd_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_FAULT_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_fault_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_fault_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_INIT_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_init_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_init_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_SELECT_IN_HANDLER(_devcb) \
|
||||
devcb = ¢ronics_device::set_select_in_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = ¢ronics_device::set_select_in_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_OUTPUT_LATCH_ADD(_tag, _centronics_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
|
||||
@ -105,23 +105,23 @@ class centronics_device : public device_t,
|
||||
public:
|
||||
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_strobe_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_strobe_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data0_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data1_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data2_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data3_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data4_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data5_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data6_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data7_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ack_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_ack_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_busy_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_busy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_perror_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_perror_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_select_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_autofd_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_autofd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_fault_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_fault_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_init_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_init_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_select_in_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_in_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_strobe_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_strobe_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data0_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data1_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data2_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data3_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data4_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data5_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data6_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data7_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_data7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ack_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_ack_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_busy_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_busy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_perror_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_perror_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_select_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_autofd_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_autofd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_fault_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_fault_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_init_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_init_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_select_in_handler(device_t &device, _Object object) { return downcast<centronics_device &>(device).m_select_in_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_strobe );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_data0 );
|
||||
@ -146,23 +146,23 @@ protected:
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_strobe_handler;
|
||||
devcb2_write_line m_data0_handler;
|
||||
devcb2_write_line m_data1_handler;
|
||||
devcb2_write_line m_data2_handler;
|
||||
devcb2_write_line m_data3_handler;
|
||||
devcb2_write_line m_data4_handler;
|
||||
devcb2_write_line m_data5_handler;
|
||||
devcb2_write_line m_data6_handler;
|
||||
devcb2_write_line m_data7_handler;
|
||||
devcb2_write_line m_ack_handler;
|
||||
devcb2_write_line m_busy_handler;
|
||||
devcb2_write_line m_perror_handler;
|
||||
devcb2_write_line m_select_handler;
|
||||
devcb2_write_line m_autofd_handler;
|
||||
devcb2_write_line m_fault_handler;
|
||||
devcb2_write_line m_init_handler;
|
||||
devcb2_write_line m_select_in_handler;
|
||||
devcb_write_line m_strobe_handler;
|
||||
devcb_write_line m_data0_handler;
|
||||
devcb_write_line m_data1_handler;
|
||||
devcb_write_line m_data2_handler;
|
||||
devcb_write_line m_data3_handler;
|
||||
devcb_write_line m_data4_handler;
|
||||
devcb_write_line m_data5_handler;
|
||||
devcb_write_line m_data6_handler;
|
||||
devcb_write_line m_data7_handler;
|
||||
devcb_write_line m_ack_handler;
|
||||
devcb_write_line m_busy_handler;
|
||||
devcb_write_line m_perror_handler;
|
||||
devcb_write_line m_select_handler;
|
||||
devcb_write_line m_autofd_handler;
|
||||
devcb_write_line m_fault_handler;
|
||||
devcb_write_line m_init_handler;
|
||||
devcb_write_line m_select_in_handler;
|
||||
|
||||
private:
|
||||
device_centronics_peripheral_interface *m_dev;
|
||||
|
@ -46,7 +46,7 @@ struct coco_cartridge_line
|
||||
cococart_line_value value;
|
||||
int line;
|
||||
int q_count;
|
||||
devcb2_write_line *callback;
|
||||
devcb_write_line *callback;
|
||||
};
|
||||
|
||||
// ======================> cococart_base_update_delegate
|
||||
@ -55,13 +55,13 @@ struct coco_cartridge_line
|
||||
typedef delegate<void (UINT8 *)> cococart_base_update_delegate;
|
||||
|
||||
#define MCFG_COCO_CARTRIDGE_CART_CB(_devcb) \
|
||||
devcb = &cococart_slot_device::static_set_cart_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cococart_slot_device::static_set_cart_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_COCO_CARTRIDGE_NMI_CB(_devcb) \
|
||||
devcb = &cococart_slot_device::static_set_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cococart_slot_device::static_set_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_COCO_CARTRIDGE_HALT_CB(_devcb) \
|
||||
devcb = &cococart_slot_device::static_set_halt_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cococart_slot_device::static_set_halt_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
// ======================> cococart_slot_device
|
||||
@ -75,9 +75,9 @@ public:
|
||||
// construction/destruction
|
||||
cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_cart_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_cart_callback.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_nmi_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_nmi_callback.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_halt_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_halt_callback.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_cart_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_cart_callback.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_nmi_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_nmi_callback.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_halt_callback(device_t &device, _Object object) { return downcast<cococart_slot_device &>(device).m_halt_callback.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
@ -129,9 +129,9 @@ private:
|
||||
coco_cartridge_line m_nmi_line;
|
||||
coco_cartridge_line m_halt_line;
|
||||
public:
|
||||
devcb2_write_line m_cart_callback;
|
||||
devcb2_write_line m_nmi_callback;
|
||||
devcb2_write_line m_halt_callback;
|
||||
devcb_write_line m_cart_callback;
|
||||
devcb_write_line m_nmi_callback;
|
||||
devcb_write_line m_halt_callback;
|
||||
private:
|
||||
// cartridge
|
||||
device_cococart_interface *m_cart;
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
|
||||
#define MCFG_COLECOVISION_CONTROL_PORT_IRQ_CALLBACK(_write) \
|
||||
devcb = &colecovision_control_port_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &colecovision_control_port_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ public:
|
||||
virtual ~colecovision_control_port_device() { }
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<colecovision_control_port_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<colecovision_control_port_device &>(device).m_write_irq.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 read() { UINT8 data = 0xff; if (exists()) data = m_device->joy_r(); return data; }
|
||||
@ -94,7 +94,7 @@ protected:
|
||||
device_colecovision_control_port_interface *m_device;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb_write_line m_write_irq;
|
||||
};
|
||||
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
||||
|
||||
|
||||
#define MCFG_COMX_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &comx_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &comx_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@ public:
|
||||
comx_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~comx_expansion_slot_device() { }
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<comx_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<comx_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
|
||||
UINT8 mrd_r(address_space &space, offs_t offset, int *extrom);
|
||||
void mwr_w(address_space &space, offs_t offset, UINT8 data);
|
||||
@ -100,7 +100,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb_write_line m_write_irq;
|
||||
|
||||
device_comx_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -51,19 +51,19 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &cpc_expansion_slot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cpc_expansion_slot_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &cpc_expansion_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cpc_expansion_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CPC_EXPANSION_SLOT_OUT_RESET_CB(_devcb) \
|
||||
devcb = &cpc_expansion_slot_device::set_out_reset_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cpc_expansion_slot_device::set_out_reset_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(_devcb) \
|
||||
devcb = &cpc_expansion_slot_device::set_out_romdis_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cpc_expansion_slot_device::set_out_romdis_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(_devcb) \
|
||||
devcb = &cpc_expansion_slot_device::set_out_romen_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &cpc_expansion_slot_device::set_out_romen_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -94,11 +94,11 @@ public:
|
||||
cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~cpc_expansion_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_romdis_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romdis_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_romen_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romen_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_romdis_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romdis_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_romen_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romen_cb.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( nmi_w );
|
||||
@ -111,11 +111,11 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb2_write_line m_out_reset_cb;
|
||||
devcb2_write_line m_out_romdis_cb;
|
||||
devcb2_write_line m_out_romen_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_reset_cb;
|
||||
devcb_write_line m_out_romdis_cb;
|
||||
devcb_write_line m_out_romen_cb;
|
||||
|
||||
device_cpc_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -77,10 +77,10 @@
|
||||
|
||||
|
||||
#define MCFG_ECBBUS_IRQ_CALLBACK(_write) \
|
||||
devcb = &ecbbus_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &ecbbus_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_ECBBUS_NMI_CALLBACK(_write) \
|
||||
devcb = &ecbbus_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &ecbbus_device::set_nmi_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -130,8 +130,8 @@ public:
|
||||
// construction/destruction
|
||||
ecbbus_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ecbbus_device &>(device).m_write_nmi.set_callback(object); }
|
||||
|
||||
void add_card(device_ecbbus_card_interface *card, int pos);
|
||||
|
||||
@ -149,8 +149,8 @@ protected:
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
|
||||
device_ecbbus_card_interface *m_ecbbus_device[MAX_ECBBUS_SLOTS];
|
||||
};
|
||||
|
@ -40,10 +40,10 @@
|
||||
|
||||
|
||||
#define MCFG_ECONET_CLK_CALLBACK(_write) \
|
||||
devcb = &econet_device::set_clk_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &econet_device::set_clk_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_ECONET_DATA_CALLBACK(_write) \
|
||||
devcb = &econet_device::set_data_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &econet_device::set_data_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -61,8 +61,8 @@ public:
|
||||
// construction/destruction
|
||||
econet_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_clk_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_clk.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_data.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_clk_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_clk.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<econet_device &>(device).m_write_data.set_callback(object); }
|
||||
|
||||
void add_device(device_t *target, int address);
|
||||
|
||||
@ -102,8 +102,8 @@ protected:
|
||||
simple_list<daisy_entry> m_device_list;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_clk;
|
||||
devcb2_write_line m_write_data;
|
||||
devcb_write_line m_write_clk;
|
||||
devcb_write_line m_write_data;
|
||||
|
||||
inline void set_signal(device_t *device, int signal, int state);
|
||||
inline int get_signal(int signal);
|
||||
|
@ -75,13 +75,13 @@
|
||||
ep64_expansion_bus_slot_device::static_set_dave_tag(*device, "^"_tag);
|
||||
|
||||
#define MCFG_EP64_EXPANSION_BUS_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &ep64_expansion_bus_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &ep64_expansion_bus_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_EP64_EXPANSION_BUS_SLOT_NMI_CALLBACK(_write) \
|
||||
devcb = &ep64_expansion_bus_slot_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &ep64_expansion_bus_slot_device::set_nmi_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_EP64_EXPANSION_BUS_SLOT_WAIT_CALLBACK(_write) \
|
||||
devcb = &ep64_expansion_bus_slot_device::set_wait_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &ep64_expansion_bus_slot_device::set_wait_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -103,9 +103,9 @@ public:
|
||||
ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
static void static_set_dave_tag(device_t &device, const char* tag) { downcast<ep64_expansion_bus_slot_device &>(device).m_dave.set_tag(tag); }
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_wait_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_wait.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_wait_wr_callback(device_t &device, _Object object) { return downcast<ep64_expansion_bus_slot_device &>(device).m_write_wait.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
|
||||
@ -120,9 +120,9 @@ protected:
|
||||
virtual void device_reset();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb2_write_line m_write_wait;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
devcb_write_line m_write_wait;
|
||||
|
||||
required_device<dave_device> m_dave;
|
||||
|
||||
|
@ -24,10 +24,10 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(epson_sio_devices, _def_slot, false)
|
||||
|
||||
#define MCFG_EPSON_SIO_RX(_rx) \
|
||||
downcast<epson_sio_device *>(device)->set_rx_callback(DEVCB2_##_rx);
|
||||
downcast<epson_sio_device *>(device)->set_rx_callback(DEVCB_##_rx);
|
||||
|
||||
#define MCFG_EPSON_SIO_PIN(_pin) \
|
||||
downcast<epson_sio_device *>(device)->set_pin_callback(DEVCB2_##_pin);
|
||||
downcast<epson_sio_device *>(device)->set_pin_callback(DEVCB_##_pin);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -65,8 +65,8 @@ protected:
|
||||
device_epson_sio_interface *m_cart;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_rx;
|
||||
devcb2_write_line m_write_pin;
|
||||
devcb_write_line m_write_rx;
|
||||
devcb_write_line m_write_pin;
|
||||
};
|
||||
|
||||
|
||||
|
@ -27,13 +27,13 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_C2040_SYNC_CALLBACK(_write) \
|
||||
devcb = &c2040_fdc_t::set_sync_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c2040_fdc_t::set_sync_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C2040_READY_CALLBACK(_write) \
|
||||
devcb = &c2040_fdc_t::set_ready_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c2040_fdc_t::set_ready_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_C2040_ERROR_CALLBACK(_write) \
|
||||
devcb = &c2040_fdc_t::set_error_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &c2040_fdc_t::set_error_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -50,9 +50,9 @@ public:
|
||||
c2040_fdc_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
c2040_fdc_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
template<class _Object> static devcb2_base &set_sync_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_sync.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ready_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_ready.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_error.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sync_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_sync.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ready_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_ready.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<c2040_fdc_t &>(device).m_write_error.set_callback(object); }
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
@ -120,9 +120,9 @@ protected:
|
||||
int write_position;
|
||||
};
|
||||
|
||||
devcb2_write_line m_write_sync;
|
||||
devcb2_write_line m_write_ready;
|
||||
devcb2_write_line m_write_error;
|
||||
devcb_write_line m_write_sync;
|
||||
devcb_write_line m_write_ready;
|
||||
devcb_write_line m_write_error;
|
||||
|
||||
required_memory_region m_gcr_rom;
|
||||
|
||||
|
@ -36,28 +36,28 @@
|
||||
|
||||
|
||||
#define MCFG_IEEE488_EOI_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_eoi_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_eoi_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_DAV_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_dav_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_dav_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_NRFD_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_nrfd_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_nrfd_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_NDAC_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_ndac_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_ndac_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_IFC_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_ifc_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_ifc_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_SRQ_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_srq_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_srq_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_ATN_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_atn_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_atn_callback(DEVCB_##_write);
|
||||
|
||||
#define MCFG_IEEE488_REN_CALLBACK(_write) \
|
||||
downcast<ieee488_device *>(device)->set_ren_callback(DEVCB2_##_write);
|
||||
downcast<ieee488_device *>(device)->set_ren_callback(DEVCB_##_write);
|
||||
|
||||
|
||||
#define MCFG_IEEE488_SLOT_ADD(_tag, _address, _slot_intf, _def_slot) \
|
||||
@ -176,14 +176,14 @@ protected:
|
||||
simple_list<daisy_entry> m_device_list;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_eoi;
|
||||
devcb2_write_line m_write_dav;
|
||||
devcb2_write_line m_write_nrfd;
|
||||
devcb2_write_line m_write_ndac;
|
||||
devcb2_write_line m_write_ifc;
|
||||
devcb2_write_line m_write_srq;
|
||||
devcb2_write_line m_write_atn;
|
||||
devcb2_write_line m_write_ren;
|
||||
devcb_write_line m_write_eoi;
|
||||
devcb_write_line m_write_dav;
|
||||
devcb_write_line m_write_nrfd;
|
||||
devcb_write_line m_write_ndac;
|
||||
devcb_write_line m_write_ifc;
|
||||
devcb_write_line m_write_srq;
|
||||
devcb_write_line m_write_atn;
|
||||
devcb_write_line m_write_ren;
|
||||
|
||||
void set_signal(device_t *device, int signal, int state);
|
||||
int get_signal(int signal);
|
||||
|
@ -80,12 +80,12 @@ public:
|
||||
iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~iq151cart_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq0_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq1_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_drq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq0_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq1_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq_callback(device_t &device, _Object object) { return downcast<iq151cart_slot_device &>(device).m_out_drq_cb.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
@ -115,12 +115,12 @@ public:
|
||||
virtual void io_write(offs_t offset, UINT8 data);
|
||||
virtual void video_update(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
devcb2_write_line m_out_irq0_cb;
|
||||
devcb2_write_line m_out_irq1_cb;
|
||||
devcb2_write_line m_out_irq2_cb;
|
||||
devcb2_write_line m_out_irq3_cb;
|
||||
devcb2_write_line m_out_irq4_cb;
|
||||
devcb2_write_line m_out_drq_cb;
|
||||
devcb_write_line m_out_irq0_cb;
|
||||
devcb_write_line m_out_irq1_cb;
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
devcb_write_line m_out_irq3_cb;
|
||||
devcb_write_line m_out_irq4_cb;
|
||||
devcb_write_line m_out_drq_cb;
|
||||
|
||||
device_iq151cart_interface* m_cart;
|
||||
};
|
||||
@ -135,21 +135,21 @@ extern const device_type IQ151CART_SLOT;
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_IRQ0_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_irq0_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_irq0_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_IRQ1_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_irq1_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_irq1_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_IRQ2_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_irq2_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_irq2_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_IRQ3_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_irq3_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_irq3_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_IRQ4_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_irq4_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_irq4_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_IQ151CART_SLOT_OUT_DRQ_CB(_devcb) \
|
||||
devcb = &iq151cart_slot_device::set_out_drq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &iq151cart_slot_device::set_out_drq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#endif /* __IQ151CART_H__ */
|
||||
|
@ -45,37 +45,37 @@
|
||||
#include "machine/6850acia.h"
|
||||
|
||||
#define MCFG_GF1_TXIRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_txirq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_txirq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_RXIRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_rxirq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_rxirq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_WAVE_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_wave_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_wave_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_RAMP_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_ramp_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_ramp_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_TIMER1_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_timer1_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_timer1_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_TIMER2_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_timer2_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_timer2_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_SB_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_sb_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_sb_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_DMA_IRQ_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_dma_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_dma_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_DRQ1_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_drq1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_drq1_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_DRQ2_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_drq2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_drq2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_GF1_NMI_HANDLER(_devcb) \
|
||||
devcb = &gf1_device::set_nmi_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &gf1_device::set_nmi_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -121,17 +121,17 @@ public:
|
||||
// construction/destruction
|
||||
gf1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_txirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_txirq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rxirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_rxirq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_wave_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_wave_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ramp_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_ramp_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_timer1_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer1_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_timer2_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer2_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sb_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_sb_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_dma_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_drq1_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_drq2_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_nmi_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_txirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_txirq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rxirq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_rxirq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_wave_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_wave_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ramp_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_ramp_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_timer1_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer1_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_timer2_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_timer2_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sb_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_sb_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_irq_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_dma_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_drq1_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_drq2_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_drq2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_handler(device_t &device, _Object object) { return downcast<gf1_device &>(device).m_nmi_handler.set_callback(object); }
|
||||
|
||||
// current IRQ/DMA channel getters
|
||||
UINT8 gf1_irq() { if(m_gf1_irq != 0) return m_gf1_irq; else return m_midi_irq; } // workaround for win95 loading dumb values
|
||||
@ -247,17 +247,17 @@ private:
|
||||
int m_txirq;
|
||||
int m_rxirq;
|
||||
|
||||
devcb2_write_line m_txirq_handler;
|
||||
devcb2_write_line m_rxirq_handler;
|
||||
devcb2_write_line m_wave_irq_handler;
|
||||
devcb2_write_line m_ramp_irq_handler;
|
||||
devcb2_write_line m_timer1_irq_handler;
|
||||
devcb2_write_line m_timer2_irq_handler;
|
||||
devcb2_write_line m_sb_irq_handler;
|
||||
devcb2_write_line m_dma_irq_handler;
|
||||
devcb2_write_line m_drq1_handler;
|
||||
devcb2_write_line m_drq2_handler;
|
||||
devcb2_write_line m_nmi_handler;
|
||||
devcb_write_line m_txirq_handler;
|
||||
devcb_write_line m_rxirq_handler;
|
||||
devcb_write_line m_wave_irq_handler;
|
||||
devcb_write_line m_ramp_irq_handler;
|
||||
devcb_write_line m_timer1_irq_handler;
|
||||
devcb_write_line m_timer2_irq_handler;
|
||||
devcb_write_line m_sb_irq_handler;
|
||||
devcb_write_line m_dma_irq_handler;
|
||||
devcb_write_line m_drq1_handler;
|
||||
devcb_write_line m_drq2_handler;
|
||||
devcb_write_line m_nmi_handler;
|
||||
};
|
||||
|
||||
class isa16_gus_device :
|
||||
|
@ -91,62 +91,62 @@
|
||||
isa16_slot_device::static_set_isa16_slot(*device, owner, _isatag);
|
||||
|
||||
#define MCFG_ISA_BUS_IOCHCK(_iochck) \
|
||||
downcast<isa8_device *>(device)->set_iochck_callback(DEVCB2_##_iochck);
|
||||
downcast<isa8_device *>(device)->set_iochck_callback(DEVCB_##_iochck);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ2_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq2_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq2_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ3_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq3_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq3_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ4_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq4_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq4_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ5_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq5_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq5_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ6_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq6_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq6_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ7_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq7_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_irq7_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ1_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq1_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_drq1_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ2_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq2_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_drq2_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ3_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq3_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa8_device::set_out_drq3_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ10_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq10_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_irq10_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ11_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq11_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_irq11_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ12_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq12_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_irq12_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ14_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq14_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_irq14_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ15_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq15_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_irq15_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ0_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq0_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_drq0_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ5_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq5_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_drq5_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ6_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq6_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_drq6_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ7_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq7_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &isa16_device::set_out_drq7_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -190,15 +190,15 @@ public:
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
static void static_set_custom_spaces(device_t &device);
|
||||
template<class _iochck> void set_iochck_callback(_iochck iochck) { m_write_iochck.set_callback(iochck); }
|
||||
template<class _Object> static devcb2_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq5_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq6_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq7_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq7_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq1_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq5_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq6_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq7_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq7_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq1_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(object); }
|
||||
|
||||
// for ISA8, put the 8-bit configs in the primary slots and the 16-bit configs in the secondary
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const
|
||||
@ -270,15 +270,15 @@ protected:
|
||||
int m_iowidth, m_prgwidth;
|
||||
bool m_allocspaces;
|
||||
|
||||
devcb2_write_line m_out_irq2_cb;
|
||||
devcb2_write_line m_out_irq3_cb;
|
||||
devcb2_write_line m_out_irq4_cb;
|
||||
devcb2_write_line m_out_irq5_cb;
|
||||
devcb2_write_line m_out_irq6_cb;
|
||||
devcb2_write_line m_out_irq7_cb;
|
||||
devcb2_write_line m_out_drq1_cb;
|
||||
devcb2_write_line m_out_drq2_cb;
|
||||
devcb2_write_line m_out_drq3_cb;
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
devcb_write_line m_out_irq3_cb;
|
||||
devcb_write_line m_out_irq4_cb;
|
||||
devcb_write_line m_out_irq5_cb;
|
||||
devcb_write_line m_out_irq6_cb;
|
||||
devcb_write_line m_out_irq7_cb;
|
||||
devcb_write_line m_out_drq1_cb;
|
||||
devcb_write_line m_out_drq2_cb;
|
||||
devcb_write_line m_out_drq3_cb;
|
||||
|
||||
device_isa8_card_interface *m_dma_device[8];
|
||||
bool m_dma_eop[8];
|
||||
@ -286,7 +286,7 @@ protected:
|
||||
bool m_nmi_enabled;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_iochck;
|
||||
devcb_write_line m_write_iochck;
|
||||
};
|
||||
|
||||
|
||||
@ -345,15 +345,15 @@ public:
|
||||
// construction/destruction
|
||||
isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq10_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq10_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq11_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq11_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq12_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq12_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq14_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq14_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq15_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq15_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq0_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq5_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq6_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq7_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq7_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq10_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq10_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq11_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq11_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq12_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq12_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq14_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq14_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq15_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq15_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq0_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq5_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq6_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_drq7_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq7_cb.set_callback(object); }
|
||||
|
||||
void install16_device(offs_t start, offs_t end, offs_t mask, offs_t mirror, read16_delegate rhandler, write16_delegate whandler);
|
||||
|
||||
@ -402,15 +402,15 @@ protected:
|
||||
|
||||
private:
|
||||
// internal state
|
||||
devcb2_write_line m_out_irq10_cb;
|
||||
devcb2_write_line m_out_irq11_cb;
|
||||
devcb2_write_line m_out_irq12_cb;
|
||||
devcb2_write_line m_out_irq14_cb;
|
||||
devcb2_write_line m_out_irq15_cb;
|
||||
devcb2_write_line m_out_drq0_cb;
|
||||
devcb2_write_line m_out_drq5_cb;
|
||||
devcb2_write_line m_out_drq6_cb;
|
||||
devcb2_write_line m_out_drq7_cb;
|
||||
devcb_write_line m_out_irq10_cb;
|
||||
devcb_write_line m_out_irq11_cb;
|
||||
devcb_write_line m_out_irq12_cb;
|
||||
devcb_write_line m_out_irq14_cb;
|
||||
devcb_write_line m_out_irq15_cb;
|
||||
devcb_write_line m_out_drq0_cb;
|
||||
devcb_write_line m_out_drq5_cb;
|
||||
devcb_write_line m_out_drq6_cb;
|
||||
devcb_write_line m_out_drq7_cb;
|
||||
};
|
||||
|
||||
|
||||
|
@ -53,16 +53,16 @@
|
||||
|
||||
|
||||
#define MCFG_ISBX_SLOT_MINTR0_CALLBACK(_mintr0) \
|
||||
downcast<isbx_slot_device *>(device)->set_mintr0_callback(DEVCB2_##_mintr0);
|
||||
downcast<isbx_slot_device *>(device)->set_mintr0_callback(DEVCB_##_mintr0);
|
||||
|
||||
#define MCFG_ISBX_SLOT_MINTR1_CALLBACK(_mintr1) \
|
||||
downcast<isbx_slot_device *>(device)->set_mintr1_callback(DEVCB2_##_mintr1);
|
||||
downcast<isbx_slot_device *>(device)->set_mintr1_callback(DEVCB_##_mintr1);
|
||||
|
||||
#define MCFG_ISBX_SLOT_MDRQT_CALLBACK(_mdrqt) \
|
||||
downcast<isbx_slot_device *>(device)->set_mdrqt_callback(DEVCB2_##_mdrqt);
|
||||
downcast<isbx_slot_device *>(device)->set_mdrqt_callback(DEVCB_##_mdrqt);
|
||||
|
||||
#define MCFG_ISBX_SLOT_MWAIT_CALLBACK(_mwait) \
|
||||
downcast<isbx_slot_device *>(device)->set_mwait_callback(DEVCB2_##_mwait);
|
||||
downcast<isbx_slot_device *>(device)->set_mwait_callback(DEVCB_##_mwait);
|
||||
|
||||
|
||||
|
||||
@ -134,10 +134,10 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset() { if (m_card) get_card_device()->reset(); }
|
||||
|
||||
devcb2_write_line m_write_mintr0;
|
||||
devcb2_write_line m_write_mintr1;
|
||||
devcb2_write_line m_write_mdrqt;
|
||||
devcb2_write_line m_write_mwait;
|
||||
devcb_write_line m_write_mintr0;
|
||||
devcb_write_line m_write_mintr1;
|
||||
devcb_write_line m_write_mdrqt;
|
||||
devcb_write_line m_write_mwait;
|
||||
|
||||
device_isbx_card_interface *m_card;
|
||||
};
|
||||
|
@ -46,9 +46,9 @@ public:
|
||||
kcexp_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
virtual ~kcexp_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_halt_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_halt_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_halt_callback(device_t &device, _Object object) { return downcast<kcexp_slot_device &>(device).m_out_halt_cb.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
@ -66,9 +66,9 @@ public:
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( mei_w );
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( meo_w );
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb2_write_line m_out_halt_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_halt_cb;
|
||||
|
||||
device_kcexp_interface* m_cart;
|
||||
|
||||
@ -117,26 +117,26 @@ extern const device_type KCCART_SLOT;
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_KCEXP_SLOT_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &kcexp_slot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kcexp_slot_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCEXP_SLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &kcexp_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kcexp_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCEXP_SLOT_OUT_HALT_CB(_devcb) \
|
||||
devcb = &kcexp_slot_device::set_out_halt_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kcexp_slot_device::set_out_halt_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCEXP_SLOT_NEXT_SLOT(_next_slot_tag) \
|
||||
kcexp_slot_device::static_set_next_slot(*device, _next_slot_tag);
|
||||
|
||||
|
||||
#define MCFG_KCCART_SLOT_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &kccart_slot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kccart_slot_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCCART_SLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &kccart_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kccart_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCCART_SLOT_OUT_HALT_CB(_devcb) \
|
||||
devcb = &kccart_slot_device::set_out_halt_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &kccart_slot_device::set_out_halt_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_KCCART_SLOT_NEXT_SLOT(_next_slot_tag) \
|
||||
kccart_slot_device::static_set_next_slot(*device, _next_slot_tag);
|
||||
|
@ -8,7 +8,7 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_MIDI_RX_HANDLER(_devcb) \
|
||||
devcb = &midi_port_device::set_rx_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &midi_port_device::set_rx_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
class device_midi_port_interface;
|
||||
|
||||
@ -22,7 +22,7 @@ public:
|
||||
virtual ~midi_port_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_rx_handler(device_t &device, _Object object) { return downcast<midi_port_device &>(device).m_rxd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rx_handler(device_t &device, _Object object) { return downcast<midi_port_device &>(device).m_rxd_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_txd );
|
||||
|
||||
@ -34,7 +34,7 @@ protected:
|
||||
|
||||
int m_rxd;
|
||||
|
||||
devcb2_write_line m_rxd_handler;
|
||||
devcb_write_line m_rxd_handler;
|
||||
|
||||
private:
|
||||
device_midi_port_interface *m_dev;
|
||||
|
@ -22,22 +22,22 @@
|
||||
nubus_device::static_set_cputag(*device, _cputag);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQ9_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irq9_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irq9_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQA_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irqa_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irqa_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQB_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irqb_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irqb_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQC_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irqc_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irqc_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQD_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irqd_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irqd_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_OUT_IRQE_CB(_devcb) \
|
||||
devcb = &nubus_device::set_out_irqe_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &nubus_device::set_out_irqe_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NUBUS_SLOT_ADD(_nbtag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, NUBUS_SLOT, 0) \
|
||||
@ -91,12 +91,12 @@ public:
|
||||
|
||||
// inline configuration
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
template<class _Object> static devcb2_base &set_out_irq9_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irq9_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irqa_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqa_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irqb_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqb_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irqc_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqc_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irqd_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqd_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irqe_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqe_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq9_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irq9_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irqa_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqa_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irqb_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqb_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irqc_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqc_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irqd_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqd_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irqe_callback(device_t &device, _Object object) { return downcast<nubus_device &>(device).m_out_irqe_cb.set_callback(object); }
|
||||
|
||||
void add_nubus_card(device_nubus_card_interface *card);
|
||||
void install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler, UINT32 mask=0xffffffff);
|
||||
@ -122,12 +122,12 @@ protected:
|
||||
// internal state
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
devcb2_write_line m_out_irq9_cb;
|
||||
devcb2_write_line m_out_irqa_cb;
|
||||
devcb2_write_line m_out_irqb_cb;
|
||||
devcb2_write_line m_out_irqc_cb;
|
||||
devcb2_write_line m_out_irqd_cb;
|
||||
devcb2_write_line m_out_irqe_cb;
|
||||
devcb_write_line m_out_irq9_cb;
|
||||
devcb_write_line m_out_irqa_cb;
|
||||
devcb_write_line m_out_irqb_cb;
|
||||
devcb_write_line m_out_irqc_cb;
|
||||
devcb_write_line m_out_irqd_cb;
|
||||
devcb_write_line m_out_irqe_cb;
|
||||
|
||||
simple_list<device_nubus_card_interface> m_device_list;
|
||||
const char *m_cputag;
|
||||
|
@ -14,7 +14,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, ORICEXT_CONNECTOR, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
|
||||
downcast<oricext_connector *>(device)->set_cputag(_cputag); \
|
||||
devcb = &oricext_connector::set_irq_handler(*device, DEVCB2_##_irq);
|
||||
devcb = &oricext_connector::set_irq_handler(*device, DEVCB_##_irq);
|
||||
|
||||
|
||||
class oricext_device;
|
||||
@ -27,11 +27,11 @@ public:
|
||||
virtual ~oricext_connector();
|
||||
|
||||
void set_cputag(const char *tag);
|
||||
template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<oricext_connector &>(device).irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<oricext_connector &>(device).irq_handler.set_callback(object); }
|
||||
void irq_w(int state);
|
||||
|
||||
protected:
|
||||
devcb2_write_line irq_handler;
|
||||
devcb_write_line irq_handler;
|
||||
const char *cputag;
|
||||
virtual void device_start();
|
||||
virtual void device_config_complete();
|
||||
|
@ -20,10 +20,10 @@ set the data line and then set the clock line.
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_PC_KBDC_OUT_CLOCK_CB(_devcb) \
|
||||
devcb = &pc_kbdc_device::set_out_clock_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &pc_kbdc_device::set_out_clock_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PC_KBDC_OUT_DATA_CB(_devcb) \
|
||||
devcb = &pc_kbdc_device::set_out_data_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &pc_kbdc_device::set_out_data_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PC_KBDC_SLOT_ADD(_kbdc_tag, _tag, _slot_intf, _def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, PC_KBDC_SLOT, 0 ) \
|
||||
@ -65,8 +65,8 @@ public:
|
||||
// construction/destruction
|
||||
pc_kbdc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_clock_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_clock_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_data_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_data_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_clock_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_clock_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_data_callback(device_t &device, _Object object) { return downcast<pc_kbdc_device &>(device).m_out_data_cb.set_callback(object); }
|
||||
|
||||
void set_keyboard(device_pc_kbd_interface *keyboard);
|
||||
|
||||
@ -86,8 +86,8 @@ protected:
|
||||
void update_clock_state();
|
||||
void update_data_state();
|
||||
|
||||
devcb2_write_line m_out_clock_cb;
|
||||
devcb2_write_line m_out_data_cb;
|
||||
devcb_write_line m_out_clock_cb;
|
||||
devcb_write_line m_out_data_cb;
|
||||
|
||||
int m_clock_state;
|
||||
int m_data_state;
|
||||
|
@ -43,7 +43,7 @@
|
||||
#define MCFG_PET_DATASSETTE_PORT_ADD(_tag, _slot_intf, _def_slot, _devcb) \
|
||||
MCFG_DEVICE_ADD(_tag, PET_DATASSETTE_PORT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
|
||||
devcb = &pet_datassette_port_device::set_read_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_datassette_port_device::set_read_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ public:
|
||||
virtual ~pet_datassette_port_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_read_handler(device_t &device, _Object object) { return downcast<pet_datassette_port_device &>(device).m_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_read_handler(device_t &device, _Object object) { return downcast<pet_datassette_port_device &>(device).m_read_handler.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
DECLARE_READ_LINE_MEMBER( read );
|
||||
@ -79,7 +79,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_read_handler;
|
||||
devcb_write_line m_read_handler;
|
||||
|
||||
device_pet_datassette_port_interface *m_cart;
|
||||
};
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
|
||||
#define MCFG_PET_EXPANSION_SLOT_DMA_CALLBACKS(_read, _write) \
|
||||
downcast<pet_expansion_slot_device *>(device)->set_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<pet_expansion_slot_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -103,8 +103,8 @@ protected:
|
||||
|
||||
device_pet_expansion_card_interface *m_card;
|
||||
|
||||
devcb2_read8 m_read_dma;
|
||||
devcb2_write8 m_write_dma;
|
||||
devcb_read8 m_read_dma;
|
||||
devcb_write8 m_write_dma;
|
||||
};
|
||||
|
||||
|
||||
|
@ -37,61 +37,61 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_PET_USER_PORT_2_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_3_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_3_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_3_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_4_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_4_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_4_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_5_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_5_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_5_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_6_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_6_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_6_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_7_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_7_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_7_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_8_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_8_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_8_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_9_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_9_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_9_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_10_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_10_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_10_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_B_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_b_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_b_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_C_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_c_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_c_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_D_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_d_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_d_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_E_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_e_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_e_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_F_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_f_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_f_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_H_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_h_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_h_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_J_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_j_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_j_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_K_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_k_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_k_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_L_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_l_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_l_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PET_USER_PORT_M_HANDLER(_devcb) \
|
||||
devcb = &pet_user_port_device::set_m_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &pet_user_port_device::set_m_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
extern const device_type PET_USER_PORT;
|
||||
@ -106,25 +106,25 @@ class pet_user_port_device : public device_t,
|
||||
public:
|
||||
pet_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_2_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_3_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_4_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_5_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_6_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_7_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_8_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_9_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_10_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_b_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_c_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_d_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_e_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_f_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_h_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_j_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_k_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_l_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_m_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_2_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_3_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_4_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_5_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_6_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_7_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_8_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_9_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_10_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_b_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_c_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_d_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_e_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_f_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_h_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_j_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_k_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_l_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_m_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_2 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_3 );
|
||||
@ -151,25 +151,25 @@ protected:
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_2_handler;
|
||||
devcb2_write_line m_3_handler;
|
||||
devcb2_write_line m_4_handler;
|
||||
devcb2_write_line m_5_handler;
|
||||
devcb2_write_line m_6_handler;
|
||||
devcb2_write_line m_7_handler;
|
||||
devcb2_write_line m_8_handler;
|
||||
devcb2_write_line m_9_handler;
|
||||
devcb2_write_line m_10_handler;
|
||||
devcb2_write_line m_b_handler;
|
||||
devcb2_write_line m_c_handler;
|
||||
devcb2_write_line m_d_handler;
|
||||
devcb2_write_line m_e_handler;
|
||||
devcb2_write_line m_f_handler;
|
||||
devcb2_write_line m_h_handler;
|
||||
devcb2_write_line m_j_handler;
|
||||
devcb2_write_line m_k_handler;
|
||||
devcb2_write_line m_l_handler;
|
||||
devcb2_write_line m_m_handler;
|
||||
devcb_write_line m_2_handler;
|
||||
devcb_write_line m_3_handler;
|
||||
devcb_write_line m_4_handler;
|
||||
devcb_write_line m_5_handler;
|
||||
devcb_write_line m_6_handler;
|
||||
devcb_write_line m_7_handler;
|
||||
devcb_write_line m_8_handler;
|
||||
devcb_write_line m_9_handler;
|
||||
devcb_write_line m_10_handler;
|
||||
devcb_write_line m_b_handler;
|
||||
devcb_write_line m_c_handler;
|
||||
devcb_write_line m_d_handler;
|
||||
devcb_write_line m_e_handler;
|
||||
devcb_write_line m_f_handler;
|
||||
devcb_write_line m_h_handler;
|
||||
devcb_write_line m_j_handler;
|
||||
devcb_write_line m_k_handler;
|
||||
devcb_write_line m_l_handler;
|
||||
devcb_write_line m_m_handler;
|
||||
|
||||
private:
|
||||
device_pet_user_port_interface *m_card;
|
||||
|
@ -71,16 +71,16 @@
|
||||
|
||||
|
||||
#define MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &plus4_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &plus4_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(_read) \
|
||||
devcb = &plus4_expansion_slot_device::set_cd_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &plus4_expansion_slot_device::set_cd_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(_write) \
|
||||
devcb = &plus4_expansion_slot_device::set_cd_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &plus4_expansion_slot_device::set_cd_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(_write) \
|
||||
devcb = &plus4_expansion_slot_device::set_aec_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &plus4_expansion_slot_device::set_aec_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -100,10 +100,10 @@ public:
|
||||
// construction/destruction
|
||||
plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_aec_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_aec.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_rd_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_read_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_dma_cd.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_aec_wr_callback(device_t &device, _Object object) { return downcast<plus4_expansion_slot_device &>(device).m_write_aec.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 cd_r(address_space &space, offs_t offset, UINT8 data, int ba, int cs0, int c1l, int c2l, int cs1, int c1h, int c2h);
|
||||
@ -140,10 +140,10 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_read8 m_read_dma_cd;
|
||||
devcb2_write8 m_write_dma_cd;
|
||||
devcb2_write_line m_write_aec;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_read8 m_read_dma_cd;
|
||||
devcb_write8 m_write_dma_cd;
|
||||
devcb_write_line m_write_aec;
|
||||
|
||||
device_plus4_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -10,19 +10,19 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_RS232_RXD_HANDLER(_devcb) \
|
||||
devcb = &rs232_port_device::set_rxd_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &rs232_port_device::set_rxd_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RS232_DCD_HANDLER(_devcb) \
|
||||
devcb = &rs232_port_device::set_dcd_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &rs232_port_device::set_dcd_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RS232_DSR_HANDLER(_devcb) \
|
||||
devcb = &rs232_port_device::set_dsr_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &rs232_port_device::set_dsr_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RS232_RI_HANDLER(_devcb) \
|
||||
devcb = &rs232_port_device::set_ri_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &rs232_port_device::set_ri_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RS232_CTS_HANDLER(_devcb) \
|
||||
devcb = &rs232_port_device::set_cts_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &rs232_port_device::set_cts_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define RS232_BAUD_110 (0x00)
|
||||
#define RS232_BAUD_150 (0x01)
|
||||
@ -120,11 +120,11 @@ public:
|
||||
virtual ~rs232_port_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_rxd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_rxd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dcd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dcd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dsr_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dsr_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ri_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_ri_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cts_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_cts_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rxd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_rxd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dcd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dcd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dsr_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dsr_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ri_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_ri_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cts_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_cts_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_txd );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_dtr );
|
||||
@ -147,11 +147,11 @@ protected:
|
||||
int m_ri;
|
||||
int m_cts;
|
||||
|
||||
devcb2_write_line m_rxd_handler;
|
||||
devcb2_write_line m_dcd_handler;
|
||||
devcb2_write_line m_dsr_handler;
|
||||
devcb2_write_line m_ri_handler;
|
||||
devcb2_write_line m_cts_handler;
|
||||
devcb_write_line m_rxd_handler;
|
||||
devcb_write_line m_dcd_handler;
|
||||
devcb_write_line m_dsr_handler;
|
||||
devcb_write_line m_ri_handler;
|
||||
devcb_write_line m_cts_handler;
|
||||
|
||||
private:
|
||||
device_rs232_port_interface *m_dev;
|
||||
|
@ -92,55 +92,55 @@
|
||||
|
||||
|
||||
#define MCFG_S100_IRQ_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_NMI_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_nmi_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_nmi_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI0_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi0_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi0_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI1_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi1_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi1_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI2_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi2_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi2_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI3_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi3_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi3_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI4_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi4_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi4_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI5_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi5_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi5_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI6_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi6_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi6_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_VI7_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_vi7_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_vi7_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_DMA0_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_dma0_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_dma0_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_DMA1_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_dma1_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_dma1_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_DMA2_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_dma2_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_dma2_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_DMA3_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_dma3_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_dma3_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_RDY_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_rdy_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_rdy_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_HOLD_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_hold_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_hold_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_S100_ERROR_CALLBACK(_write) \
|
||||
devcb = &s100_bus_t::set_error_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &s100_bus_t::set_error_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -214,23 +214,23 @@ public:
|
||||
s100_bus_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~s100_bus_t() { m_device_list.detach_all(); }
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi0.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi4_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi4.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi5_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi5.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi6_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi6.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vi7_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi7.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma0.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rdy_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_rdy.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_hold_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_hold.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_error.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi0.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi4_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi4.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi5_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi5.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi6_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi6.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_vi7_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_vi7.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma0_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma0.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma1_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma2_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma3_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_dma3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rdy_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_rdy.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_hold_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_hold.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_error_wr_callback(device_t &device, _Object object) { return downcast<s100_bus_t &>(device).m_write_error.set_callback(object); }
|
||||
|
||||
void add_card(device_s100_card_interface *card);
|
||||
|
||||
@ -264,23 +264,23 @@ protected:
|
||||
virtual void device_reset();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb2_write_line m_write_vi0;
|
||||
devcb2_write_line m_write_vi1;
|
||||
devcb2_write_line m_write_vi2;
|
||||
devcb2_write_line m_write_vi3;
|
||||
devcb2_write_line m_write_vi4;
|
||||
devcb2_write_line m_write_vi5;
|
||||
devcb2_write_line m_write_vi6;
|
||||
devcb2_write_line m_write_vi7;
|
||||
devcb2_write_line m_write_dma0;
|
||||
devcb2_write_line m_write_dma1;
|
||||
devcb2_write_line m_write_dma2;
|
||||
devcb2_write_line m_write_dma3;
|
||||
devcb2_write_line m_write_rdy;
|
||||
devcb2_write_line m_write_hold;
|
||||
devcb2_write_line m_write_error;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
devcb_write_line m_write_vi0;
|
||||
devcb_write_line m_write_vi1;
|
||||
devcb_write_line m_write_vi2;
|
||||
devcb_write_line m_write_vi3;
|
||||
devcb_write_line m_write_vi4;
|
||||
devcb_write_line m_write_vi5;
|
||||
devcb_write_line m_write_vi6;
|
||||
devcb_write_line m_write_vi7;
|
||||
devcb_write_line m_write_dma0;
|
||||
devcb_write_line m_write_dma1;
|
||||
devcb_write_line m_write_dma2;
|
||||
devcb_write_line m_write_dma3;
|
||||
devcb_write_line m_write_rdy;
|
||||
devcb_write_line m_write_hold;
|
||||
devcb_write_line m_write_error;
|
||||
|
||||
simple_list<device_s100_card_interface> m_device_list;
|
||||
};
|
||||
|
@ -19,55 +19,55 @@
|
||||
#define SCSI_PORT_DEVICE7 "7"
|
||||
|
||||
#define MCFG_SCSI_BSY_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_bsy_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_bsy_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_SEL_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_sel_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_sel_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_CD_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_cd_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_cd_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_IO_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_io_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_io_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_MSG_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_msg_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_msg_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_REQ_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_req_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_req_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_ACK_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_ack_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_ack_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_ATN_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_atn_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_atn_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_RST_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_rst_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_rst_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA0_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data0_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data0_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA1_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data1_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA2_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA3_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data3_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data3_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA4_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data4_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data4_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA5_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data5_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data5_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA6_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data6_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data6_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA7_HANDLER(_devcb) \
|
||||
devcb = &SCSI_PORT_DEVICE::set_data7_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &SCSI_PORT_DEVICE::set_data7_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_OUTPUT_LATCH_ADD(_tag, scsi_port_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
|
||||
@ -101,23 +101,23 @@ public:
|
||||
// construction/destruction
|
||||
SCSI_PORT_DEVICE(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_bsy_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_bsy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sel_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_sel_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_cd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_io_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_io_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_msg_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_msg_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_req_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_req_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ack_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_ack_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_atn_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_atn_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rst_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_rst_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data0_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data1_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data2_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data3_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data4_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data5_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data6_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_data7_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_bsy_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_bsy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sel_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_sel_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_cd_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_io_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_io_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_msg_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_msg_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_req_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_req_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ack_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_ack_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_atn_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_atn_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rst_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_rst_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data0_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data1_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data2_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data3_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data3_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data4_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data5_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data6_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_data7_handler(device_t &device, _Object object) { return downcast<SCSI_PORT_DEVICE &>(device).m_data7_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_bsy );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_sel );
|
||||
@ -161,23 +161,23 @@ protected:
|
||||
void update_data7();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_bsy_handler;
|
||||
devcb2_write_line m_sel_handler;
|
||||
devcb2_write_line m_cd_handler;
|
||||
devcb2_write_line m_io_handler;
|
||||
devcb2_write_line m_msg_handler;
|
||||
devcb2_write_line m_req_handler;
|
||||
devcb2_write_line m_ack_handler;
|
||||
devcb2_write_line m_atn_handler;
|
||||
devcb2_write_line m_rst_handler;
|
||||
devcb2_write_line m_data0_handler;
|
||||
devcb2_write_line m_data1_handler;
|
||||
devcb2_write_line m_data2_handler;
|
||||
devcb2_write_line m_data3_handler;
|
||||
devcb2_write_line m_data4_handler;
|
||||
devcb2_write_line m_data5_handler;
|
||||
devcb2_write_line m_data6_handler;
|
||||
devcb2_write_line m_data7_handler;
|
||||
devcb_write_line m_bsy_handler;
|
||||
devcb_write_line m_sel_handler;
|
||||
devcb_write_line m_cd_handler;
|
||||
devcb_write_line m_io_handler;
|
||||
devcb_write_line m_msg_handler;
|
||||
devcb_write_line m_req_handler;
|
||||
devcb_write_line m_ack_handler;
|
||||
devcb_write_line m_atn_handler;
|
||||
devcb_write_line m_rst_handler;
|
||||
devcb_write_line m_data0_handler;
|
||||
devcb_write_line m_data1_handler;
|
||||
devcb_write_line m_data2_handler;
|
||||
devcb_write_line m_data3_handler;
|
||||
devcb_write_line m_data4_handler;
|
||||
devcb_write_line m_data5_handler;
|
||||
devcb_write_line m_data6_handler;
|
||||
devcb_write_line m_data7_handler;
|
||||
|
||||
SCSI_PORT_SLOT_device *m_slot[7];
|
||||
int m_device_count;
|
||||
|
@ -31,11 +31,11 @@
|
||||
|
||||
|
||||
#define MCFG_SMS_CONTROL_PORT_TH_INPUT_HANDLER(_devcb) \
|
||||
devcb = &sms_control_port_device::set_th_input_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &sms_control_port_device::set_th_input_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
#define MCFG_SMS_CONTROL_PORT_PIXEL_HANDLER(_devcb) \
|
||||
devcb = &sms_control_port_device::set_pixel_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &sms_control_port_device::set_pixel_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
|
||||
@ -56,9 +56,9 @@ public:
|
||||
virtual ~sms_control_port_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_th_input_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_th_pin_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_th_input_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_th_pin_handler.set_callback(object); }
|
||||
|
||||
template<class _Object> static devcb2_base &set_pixel_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_pixel_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_pixel_handler(device_t &device, _Object object) { return downcast<sms_control_port_device &>(device).m_pixel_handler.set_callback(object); }
|
||||
|
||||
// Physical DE-9 connector interface
|
||||
|
||||
@ -86,8 +86,8 @@ public:
|
||||
device_sms_control_port_interface *m_device;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_th_pin_handler;
|
||||
devcb2_read32 m_pixel_handler;
|
||||
devcb_write_line m_th_pin_handler;
|
||||
devcb_read32 m_pixel_handler;
|
||||
};
|
||||
|
||||
|
||||
|
@ -39,9 +39,9 @@ public:
|
||||
peribox_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
peribox_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_inta_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_inta.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_intb_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_intb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_ready_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_datamux_ready.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_inta_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_inta.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_intb_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_console_intb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_ready_callback(device_t &device, _Object object) { return downcast<peribox_device &>(device).m_datamux_ready.set_callback(object); }
|
||||
|
||||
// Next seven methods are called from the console
|
||||
DECLARE_READ8Z_MEMBER(readz);
|
||||
@ -70,9 +70,9 @@ protected:
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
|
||||
// Next three methods call back the console
|
||||
devcb2_write_line m_console_inta; // INTA line (Box to console)
|
||||
devcb2_write_line m_console_intb; // INTB line
|
||||
devcb2_write_line m_datamux_ready; // READY line (to the datamux)
|
||||
devcb_write_line m_console_inta; // INTA line (Box to console)
|
||||
devcb_write_line m_console_intb; // INTB line
|
||||
devcb_write_line m_datamux_ready; // READY line (to the datamux)
|
||||
|
||||
void set_slot_loaded(int slot, peribox_slot_device* slotdev);
|
||||
peribox_slot_device *m_slot[9]; // for the sake of simplicity we donate the first two positions (0,1)
|
||||
@ -237,13 +237,13 @@ protected:
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _default, false)
|
||||
|
||||
#define MCFG_PERIBOX_INTA_HANDLER( _inta ) \
|
||||
devcb = &peribox_device::static_set_inta_callback( *device, DEVCB2_##_inta );
|
||||
devcb = &peribox_device::static_set_inta_callback( *device, DEVCB_##_inta );
|
||||
|
||||
#define MCFG_PERIBOX_INTB_HANDLER( _intb ) \
|
||||
devcb = &peribox_device::static_set_intb_callback( *device, DEVCB2_##_intb );
|
||||
devcb = &peribox_device::static_set_intb_callback( *device, DEVCB_##_intb );
|
||||
|
||||
#define MCFG_PERIBOX_READY_HANDLER( _ready ) \
|
||||
devcb = &peribox_device::static_set_ready_callback( *device, DEVCB2_##_ready );
|
||||
devcb = &peribox_device::static_set_ready_callback( *device, DEVCB_##_ready );
|
||||
|
||||
|
||||
/*
|
||||
|
@ -90,8 +90,8 @@ public:
|
||||
tvcexp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~tvcexp_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<tvcexp_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
@ -105,8 +105,8 @@ public:
|
||||
virtual DECLARE_READ8_MEMBER(io_read);
|
||||
virtual DECLARE_WRITE8_MEMBER(io_write);
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
|
||||
device_tvcexp_interface* m_cart;
|
||||
};
|
||||
@ -120,9 +120,9 @@ extern const device_type TVCEXP_SLOT;
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_TVCEXP_SLOT_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &tvcexp_slot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &tvcexp_slot_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TVCEXP_SLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &tvcexp_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &tvcexp_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#endif /* __TVCEXP_H__ */
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
|
||||
#define MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(_write) \
|
||||
devcb = &vcs_control_port_device::set_trigger_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vcs_control_port_device::set_trigger_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -75,7 +75,7 @@ public:
|
||||
virtual ~vcs_control_port_device() { }
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_trigger_wr_callback(device_t &device, _Object object) { return downcast<vcs_control_port_device &>(device).m_write_trigger.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_trigger_wr_callback(device_t &device, _Object object) { return downcast<vcs_control_port_device &>(device).m_write_trigger.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
|
||||
@ -113,7 +113,7 @@ protected:
|
||||
device_vcs_control_port_interface *m_device;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_trigger;
|
||||
devcb_write_line m_write_trigger;
|
||||
};
|
||||
|
||||
|
||||
|
@ -62,23 +62,23 @@
|
||||
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &vic10_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic10_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_RES_CALLBACK(_write) \
|
||||
devcb = &vic10_expansion_slot_device::set_res_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic10_expansion_slot_device::set_res_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_CNT_CALLBACK(_write) \
|
||||
devcb = &vic10_expansion_slot_device::set_cnt_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic10_expansion_slot_device::set_cnt_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_SP_CALLBACK(_write) \
|
||||
devcb = &vic10_expansion_slot_device::set_sp_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic10_expansion_slot_device::set_sp_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(_irq, _res) \
|
||||
downcast<vic10_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB2_##_irq, DEVCB2_##_res);
|
||||
downcast<vic10_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB_##_irq, DEVCB_##_res);
|
||||
|
||||
#define MCFG_VIC10_EXPANSION_SLOT_SERIAL_CALLBACKS(_cnt, _sp) \
|
||||
downcast<vic10_expansion_slot_device *>(device)->set_serial_callbacks(DEVCB2_##_cnt, DEVCB2_##_sp);
|
||||
downcast<vic10_expansion_slot_device *>(device)->set_serial_callbacks(DEVCB_##_cnt, DEVCB_##_sp);
|
||||
|
||||
|
||||
|
||||
@ -98,10 +98,10 @@ public:
|
||||
// construction/destruction
|
||||
vic10_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_res.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_cnt.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_sp.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_res.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cnt_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_cnt.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sp_wr_callback(device_t &device, _Object object) { return downcast<vic10_expansion_slot_device &>(device).m_write_sp.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 cd_r(address_space &space, offs_t offset, UINT8 data, int lorom, int uprom, int exram);
|
||||
@ -139,10 +139,10 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_res;
|
||||
devcb2_write_line m_write_cnt;
|
||||
devcb2_write_line m_write_sp;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_res;
|
||||
devcb_write_line m_write_cnt;
|
||||
devcb_write_line m_write_sp;
|
||||
|
||||
device_vic10_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -67,13 +67,13 @@
|
||||
|
||||
|
||||
#define MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
|
||||
devcb = &vic20_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic20_expansion_slot_device::set_irq_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIC20_EXPANSION_SLOT_NMI_CALLBACK(_write) \
|
||||
devcb = &vic20_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic20_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIC20_EXPANSION_SLOT_RES_CALLBACK(_write) \
|
||||
devcb = &vic20_expansion_slot_device::set_res_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vic20_expansion_slot_device::set_res_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -93,9 +93,9 @@ public:
|
||||
// construction/destruction
|
||||
vic20_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_res.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_irq.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_nmi_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_nmi.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_res_wr_callback(device_t &device, _Object object) { return downcast<vic20_expansion_slot_device &>(device).m_write_res.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 cd_r(address_space &space, offs_t offset, UINT8 data, int ram1, int ram2, int ram3, int blk1, int blk2, int blk3, int blk5, int io2, int io3);
|
||||
@ -130,9 +130,9 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_write_line m_write_irq;
|
||||
devcb2_write_line m_write_nmi;
|
||||
devcb2_write_line m_write_res;
|
||||
devcb_write_line m_write_irq;
|
||||
devcb_write_line m_write_nmi;
|
||||
devcb_write_line m_write_res;
|
||||
|
||||
device_vic20_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -64,7 +64,7 @@
|
||||
|
||||
|
||||
#define MCFG_VIDEOBRAIN_EXPANSION_SLOT_EXTRES_CALLBACK(_write) \
|
||||
devcb = &videobrain_expansion_slot_device::set_extres_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &videobrain_expansion_slot_device::set_extres_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -116,7 +116,7 @@ public:
|
||||
videobrain_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~videobrain_expansion_slot_device() { }
|
||||
|
||||
template<class _Object> static devcb2_base &set_extres_wr_callback(device_t &device, _Object object) { return downcast<videobrain_expansion_slot_device &>(device).m_write_extres.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_extres_wr_callback(device_t &device, _Object object) { return downcast<videobrain_expansion_slot_device &>(device).m_write_extres.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 bo_r(address_space &space, offs_t offset, int cs1, int cs2);
|
||||
@ -155,7 +155,7 @@ protected:
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
devcb2_write_line m_write_extres;
|
||||
devcb_write_line m_write_extres;
|
||||
|
||||
device_videobrain_expansion_card_interface *m_cart;
|
||||
};
|
||||
|
@ -58,7 +58,7 @@
|
||||
#define MCFG_VIP_BYTEIO_PORT_ADD(_tag, _slot_intf, _def_slot, _inst) \
|
||||
MCFG_DEVICE_ADD(_tag, VIP_BYTEIO_PORT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \
|
||||
downcast<vip_byteio_port_device *>(device)->set_inst_callback(DEVCB2_##_inst);
|
||||
downcast<vip_byteio_port_device *>(device)->set_inst_callback(DEVCB_##_inst);
|
||||
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
devcb2_write_line m_write_inst;
|
||||
devcb_write_line m_write_inst;
|
||||
|
||||
device_vip_byteio_port_interface *m_cart;
|
||||
};
|
||||
|
@ -61,13 +61,13 @@
|
||||
|
||||
|
||||
#define MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(_write) \
|
||||
devcb = &vip_expansion_slot_device::set_int_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vip_expansion_slot_device::set_int_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(_write) \
|
||||
devcb = &vip_expansion_slot_device::set_dma_out_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vip_expansion_slot_device::set_dma_out_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(_write) \
|
||||
devcb = &vip_expansion_slot_device::set_dma_in_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &vip_expansion_slot_device::set_dma_in_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -86,9 +86,9 @@ public:
|
||||
// construction/destruction
|
||||
vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_int_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_int.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_out_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_out.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_in_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_in.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_int_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_int.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_out_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_out.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_in_wr_callback(device_t &device, _Object object) { return downcast<vip_expansion_slot_device &>(device).m_write_dma_in.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
UINT8 program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh);
|
||||
@ -114,9 +114,9 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
devcb2_write_line m_write_int;
|
||||
devcb2_write_line m_write_dma_out;
|
||||
devcb2_write_line m_write_dma_in;
|
||||
devcb_write_line m_write_int;
|
||||
devcb_write_line m_write_dma_out;
|
||||
devcb_write_line m_write_dma_in;
|
||||
|
||||
device_vip_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -43,34 +43,34 @@
|
||||
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ2_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq2_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq2_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ3_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq3_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq3_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ4_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq4_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq4_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ5_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq5_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq5_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ6_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq6_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq6_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IRQ7_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_irq7_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_irq7_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_DRQ1_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_drq1_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_drq1_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_DRQ2_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_drq2_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_drq2_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_DRQ3_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_drq3_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_drq3_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_WANGPC_BUS_IOERROR_CALLBACK(_write) \
|
||||
devcb = &wangpcbus_device::set_ioerror_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &wangpcbus_device::set_ioerror_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -117,16 +117,16 @@ public:
|
||||
wangpcbus_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~wangpcbus_device() { m_device_list.detach_all(); }
|
||||
|
||||
template<class _Object> static devcb2_base &set_irq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq4_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq4.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq5_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq5.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq6_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq6.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq7_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq7.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_drq1_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_drq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_drq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ioerror_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_ioerror.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq4_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq4.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq5_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq5.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq6_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq6.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq7_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_irq7.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_drq1_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_drq2_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_drq3_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_drq3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ioerror_wr_callback(device_t &device, _Object object) { return downcast<wangpcbus_device &>(device).m_write_ioerror.set_callback(object); }
|
||||
|
||||
void add_card(device_wangpcbus_card_interface *card, int sid);
|
||||
|
||||
@ -168,16 +168,16 @@ protected:
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_irq2;
|
||||
devcb2_write_line m_write_irq3;
|
||||
devcb2_write_line m_write_irq4;
|
||||
devcb2_write_line m_write_irq5;
|
||||
devcb2_write_line m_write_irq6;
|
||||
devcb2_write_line m_write_irq7;
|
||||
devcb2_write_line m_write_drq1;
|
||||
devcb2_write_line m_write_drq2;
|
||||
devcb2_write_line m_write_drq3;
|
||||
devcb2_write_line m_write_ioerror;
|
||||
devcb_write_line m_write_irq2;
|
||||
devcb_write_line m_write_irq3;
|
||||
devcb_write_line m_write_irq4;
|
||||
devcb_write_line m_write_irq5;
|
||||
devcb_write_line m_write_irq6;
|
||||
devcb_write_line m_write_irq7;
|
||||
devcb_write_line m_write_drq1;
|
||||
devcb_write_line m_write_drq2;
|
||||
devcb_write_line m_write_drq3;
|
||||
devcb_write_line m_write_ioerror;
|
||||
|
||||
simple_list<device_wangpcbus_card_interface> m_device_list;
|
||||
};
|
||||
|
@ -75,16 +75,16 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_X68K_EXPANSION_SLOT_OUT_IRQ2_CB(_devcb) \
|
||||
devcb = &x68k_expansion_slot_device::set_out_irq2_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &x68k_expansion_slot_device::set_out_irq2_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_X68K_EXPANSION_SLOT_OUT_IRQ4_CB(_devcb) \
|
||||
devcb = &x68k_expansion_slot_device::set_out_irq4_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &x68k_expansion_slot_device::set_out_irq4_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_X68K_EXPANSION_SLOT_OUT_NMI_CB(_devcb) \
|
||||
devcb = &x68k_expansion_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &x68k_expansion_slot_device::set_out_nmi_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_X68K_EXPANSION_SLOT_OUT_RESET_CB(_devcb) \
|
||||
devcb = &x68k_expansion_slot_device::set_out_reset_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &x68k_expansion_slot_device::set_out_reset_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -116,10 +116,10 @@ public:
|
||||
x68k_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~x68k_expansion_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<x68k_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
|
||||
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( irq2_w );
|
||||
@ -132,10 +132,10 @@ protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
devcb2_write_line m_out_irq2_cb;
|
||||
devcb2_write_line m_out_irq4_cb;
|
||||
devcb2_write_line m_out_nmi_cb;
|
||||
devcb2_write_line m_out_reset_cb;
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
devcb_write_line m_out_irq4_cb;
|
||||
devcb_write_line m_out_nmi_cb;
|
||||
devcb_write_line m_out_reset_cb;
|
||||
|
||||
device_x68k_expansion_card_interface *m_card;
|
||||
};
|
||||
|
@ -86,7 +86,7 @@ public:
|
||||
z88cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~z88cart_slot_device();
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_flp_callback(device_t &device, _Object object) { return downcast<z88cart_slot_device &>(device).m_out_flp_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_flp_callback(device_t &device, _Object object) { return downcast<z88cart_slot_device &>(device).m_out_flp_cb.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
@ -118,7 +118,7 @@ public:
|
||||
private:
|
||||
static const device_timer_id TIMER_FLP_CLEAR = 0;
|
||||
|
||||
devcb2_write_line m_out_flp_cb;
|
||||
devcb_write_line m_out_flp_cb;
|
||||
device_z88cart_interface* m_cart;
|
||||
emu_timer * m_flp_timer;
|
||||
};
|
||||
@ -133,6 +133,6 @@ extern const device_type Z88CART_SLOT;
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_Z88CART_SLOT_OUT_FLP_CB(_devcb) \
|
||||
devcb = &z88cart_slot_device::set_out_flp_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &z88cart_slot_device::set_out_flp_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#endif /* __Z88CART_H__ */
|
||||
|
@ -165,16 +165,16 @@
|
||||
|
||||
// callbacks
|
||||
#define MCFG_EXPANSION_SLOT_OVR_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_ovr_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_ovr_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_EXPANSION_SLOT_INT2_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_int2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_int2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_EXPANSION_SLOT_INT6_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_int6_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_int6_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_EXPANSION_SLOT_IPL_HANDLER(_devcb) \
|
||||
devcb = &exp_slot_device::set_ipl_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &exp_slot_device::set_ipl_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
// ======================> zorro 2 bus
|
||||
|
||||
@ -186,25 +186,25 @@
|
||||
MCFG_ZORRO_SLOT_ADD("zorrobus", _tag, _slot_intf, _def_slot)
|
||||
|
||||
#define MCFG_ZORRO2_OVR_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_ovr_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_ovr_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_INT2_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_int2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_int2_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_INT6_HANDLER(_devcb) \
|
||||
devcb = &zorro_device::set_int6_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro_device::set_int6_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_EINT1_HANDLER(_devcb) \
|
||||
devcb = &zorro2_device::set_eint1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro2_device::set_eint1_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_EINT4_HANDLER(_devcb) \
|
||||
devcb = &zorro2_device::set_eint4_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro2_device::set_eint4_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_EINT5_HANDLER(_devcb) \
|
||||
devcb = &zorro2_device::set_eint5_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro2_device::set_eint5_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ZORRO2_EINT7_HANDLER(_devcb) \
|
||||
devcb = &zorro2_device::set_eint7_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &zorro2_device::set_eint7_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -252,11 +252,11 @@ public:
|
||||
// static configuration helpers
|
||||
static void set_cputag(device_t &device, const char *tag);
|
||||
|
||||
template<class _Object> static devcb2_base &set_int2_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_int2_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro_device &>(device).m_int2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_int6_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_int6_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro_device &>(device).m_int6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ovr_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_ovr_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro_device &>(device).m_ovr_handler.set_callback(object); }
|
||||
|
||||
virtual void add_card(device_zorro_card_interface *card) = 0;
|
||||
@ -281,9 +281,9 @@ protected:
|
||||
private:
|
||||
const char *m_cputag;
|
||||
|
||||
devcb2_write_line m_ovr_handler;
|
||||
devcb2_write_line m_int2_handler;
|
||||
devcb2_write_line m_int6_handler;
|
||||
devcb_write_line m_ovr_handler;
|
||||
devcb_write_line m_int2_handler;
|
||||
devcb_write_line m_int6_handler;
|
||||
};
|
||||
|
||||
// ======================> expansion slot device
|
||||
@ -296,7 +296,7 @@ public:
|
||||
exp_slot_device(const machine_config &mconfig, device_type type, const char *name,
|
||||
const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
template<class _Object> static devcb2_base &set_ipl_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_ipl_handler(device_t &device, _Object object)
|
||||
{ return downcast<exp_slot_device &>(device).m_ipl_handler.set_callback(object); }
|
||||
|
||||
// the expansion slot can only have a single card
|
||||
@ -313,7 +313,7 @@ protected:
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
devcb2_write8 m_ipl_handler;
|
||||
devcb_write8 m_ipl_handler;
|
||||
|
||||
device_exp_card_interface *m_dev;
|
||||
};
|
||||
@ -331,13 +331,13 @@ public:
|
||||
zorro2_device(const machine_config &mconfig, device_type type, const char *name,
|
||||
const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
template<class _Object> static devcb2_base &set_eint1_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_eint1_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro2_device &>(device).m_eint1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_eint4_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_eint4_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro2_device &>(device).m_eint4_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_eint5_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_eint5_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro2_device &>(device).m_eint5_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_eint7_handler(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &set_eint7_handler(device_t &device, _Object object)
|
||||
{ return downcast<zorro2_device &>(device).m_eint7_handler.set_callback(object); }
|
||||
|
||||
// device-level overrides
|
||||
@ -362,10 +362,10 @@ protected:
|
||||
virtual void device_start();
|
||||
|
||||
private:
|
||||
devcb2_write_line m_eint1_handler;
|
||||
devcb2_write_line m_eint4_handler;
|
||||
devcb2_write_line m_eint5_handler;
|
||||
devcb2_write_line m_eint7_handler;
|
||||
devcb_write_line m_eint1_handler;
|
||||
devcb_write_line m_eint4_handler;
|
||||
devcb_write_line m_eint5_handler;
|
||||
devcb_write_line m_eint7_handler;
|
||||
|
||||
simple_list<device_zorro2_card_interface> m_dev;
|
||||
|
||||
|
@ -184,13 +184,13 @@ enum
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_ADSP21XX_SPORT_RX_CB(_devcb) \
|
||||
devcb = &adsp21xx_device::set_sport_rx_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &adsp21xx_device::set_sport_rx_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ADSP21XX_SPORT_TX_CB(_devcb) \
|
||||
devcb = &adsp21xx_device::set_sport_tx_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &adsp21xx_device::set_sport_tx_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_ADSP21XX_TIMER_FIRED_CB(_devcb) \
|
||||
devcb = &adsp21xx_device::set_timer_fired_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &adsp21xx_device::set_timer_fired_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -217,9 +217,9 @@ protected:
|
||||
|
||||
public:
|
||||
// inline configuration helpers
|
||||
template<class _Object> static devcb2_base &set_sport_rx_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_sport_rx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sport_tx_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_sport_tx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_timer_fired_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_timer_fired_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sport_rx_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_sport_rx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sport_tx_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_sport_tx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_timer_fired_callback(device_t &device, _Object object) { return downcast<adsp21xx_device &>(device).m_timer_fired_cb.set_callback(object); }
|
||||
|
||||
// public interfaces
|
||||
void load_boot_data(UINT8 *srcdata, UINT32 *dstdata);
|
||||
@ -456,9 +456,9 @@ protected:
|
||||
UINT16 m_mask_table[0x4000];
|
||||
UINT16 m_reverse_table[0x4000];
|
||||
|
||||
devcb2_read32 m_sport_rx_cb; // callback for serial receive
|
||||
devcb2_write32 m_sport_tx_cb; // callback for serial transmit
|
||||
devcb2_write_line m_timer_fired_cb; // callback for timer fired
|
||||
devcb_read32 m_sport_rx_cb; // callback for serial receive
|
||||
devcb_write32 m_sport_tx_cb; // callback for serial transmit
|
||||
devcb_write_line m_timer_fired_cb; // callback for timer fired
|
||||
|
||||
// debugging
|
||||
#if ADSP_TRACK_HOTSPOTS
|
||||
|
@ -39,7 +39,7 @@ typedef device_delegate<void (INT16, INT16, INT16, INT16, UINT8)> ccpu_vector_de
|
||||
|
||||
|
||||
#define MCFG_CCPU_EXTERNAL_FUNC(_devcb) \
|
||||
ccpu_cpu_device::set_external_func(*device, DEVCB2_##_devcb);
|
||||
ccpu_cpu_device::set_external_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CCPU_VECTOR_FUNC(d) \
|
||||
ccpu_cpu_device::set_vector_func(*device, d);
|
||||
@ -52,7 +52,7 @@ public:
|
||||
ccpu_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_external_func(device_t &device, _Object object) { return downcast<ccpu_cpu_device &>(device).m_external_input.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_external_func(device_t &device, _Object object) { return downcast<ccpu_cpu_device &>(device).m_external_input.set_callback(object); }
|
||||
static void set_vector_func(device_t &device, ccpu_vector_delegate callback) { downcast<ccpu_cpu_device &>(device).m_vector_callback = callback; }
|
||||
|
||||
DECLARE_READ8_MEMBER( read_jmi );
|
||||
@ -108,7 +108,7 @@ protected:
|
||||
UINT16 m_miflag, m_nextmiflag, m_nextnextmiflag;
|
||||
UINT16 m_drflag;
|
||||
|
||||
devcb2_read8 m_external_input;
|
||||
devcb_read8 m_external_input;
|
||||
ccpu_vector_delegate m_vector_callback;
|
||||
|
||||
UINT8 m_waiting;
|
||||
|
@ -91,34 +91,34 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_COSMAC_WAIT_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_wait_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_wait_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_CLEAR_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_clear_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_clear_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_EF1_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_ef1_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_ef1_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_EF2_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_ef2_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_ef2_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_EF3_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_ef3_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_ef3_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_EF4_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_ef4_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_ef4_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_Q_CALLBACK(_write) \
|
||||
devcb = &cosmac_device::set_q_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cosmac_device::set_q_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_COSMAC_DMAR_CALLBACK(_read) \
|
||||
devcb = &cosmac_device::set_dma_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &cosmac_device::set_dma_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_COSMAC_DMAW_CALLBACK(_write) \
|
||||
devcb = &cosmac_device::set_dma_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cosmac_device::set_dma_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_COSMAC_SC_CALLBACK(_write) \
|
||||
devcb = &cosmac_device::set_sc_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &cosmac_device::set_sc_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
|
||||
|
||||
@ -195,16 +195,16 @@ public:
|
||||
// construction/destruction
|
||||
cosmac_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
template<class _Object> static devcb2_base &set_wait_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_wait.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_clear_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_clear.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ef1_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ef2_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ef3_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ef4_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef4.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_q_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_q.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_dma.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dma_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_dma.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sc_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_sc.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_wait_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_wait.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_clear_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_clear.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ef1_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ef2_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ef3_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ef4_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_ef4.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_q_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_q.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_rd_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_read_dma.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_dma.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sc_wr_callback(device_t &device, _Object object) { return downcast<cosmac_device &>(device).m_write_sc.set_callback(object); }
|
||||
|
||||
// public interfaces
|
||||
offs_t get_memory_address();
|
||||
@ -374,16 +374,16 @@ protected:
|
||||
const address_space_config m_io_config;
|
||||
|
||||
// device callbacks
|
||||
devcb2_read_line m_read_wait;
|
||||
devcb2_read_line m_read_clear;
|
||||
devcb2_read_line m_read_ef1;
|
||||
devcb2_read_line m_read_ef2;
|
||||
devcb2_read_line m_read_ef3;
|
||||
devcb2_read_line m_read_ef4;
|
||||
devcb2_write_line m_write_q;
|
||||
devcb2_read8 m_read_dma;
|
||||
devcb2_write8 m_write_dma;
|
||||
devcb2_write8 m_write_sc;
|
||||
devcb_read_line m_read_wait;
|
||||
devcb_read_line m_read_clear;
|
||||
devcb_read_line m_read_ef1;
|
||||
devcb_read_line m_read_ef2;
|
||||
devcb_read_line m_read_ef3;
|
||||
devcb_read_line m_read_ef4;
|
||||
devcb_write_line m_write_q;
|
||||
devcb_read8 m_read_dma;
|
||||
devcb_write8 m_write_dma;
|
||||
devcb_write8 m_write_sc;
|
||||
|
||||
// control modes
|
||||
enum cosmac_mode
|
||||
|
@ -118,16 +118,16 @@ enum
|
||||
|
||||
|
||||
#define MCFG_CQUESTSND_CONFIG(_dac_w, _sound_tag) \
|
||||
cquestsnd_cpu_device::set_dac_w(*device, DEVCB2_##_dac_w); \
|
||||
cquestsnd_cpu_device::set_dac_w(*device, DEVCB_##_dac_w); \
|
||||
cquestsnd_cpu_device::set_sound_region(*device, _sound_tag);
|
||||
|
||||
|
||||
#define MCFG_CQUESTROT_CONFIG(_linedata_w) \
|
||||
cquestrot_cpu_device::set_linedata_w(*device, DEVCB2_##_linedata_w );
|
||||
cquestrot_cpu_device::set_linedata_w(*device, DEVCB_##_linedata_w );
|
||||
|
||||
|
||||
#define MCFG_CQUESTLIN_CONFIG(_linedata_r) \
|
||||
cquestlin_cpu_device::set_linedata_r(*device, DEVCB2_##_linedata_r );
|
||||
cquestlin_cpu_device::set_linedata_r(*device, DEVCB_##_linedata_r );
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -141,7 +141,7 @@ public:
|
||||
cquestsnd_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_dac_w(device_t &device, _Object object) { return downcast<cquestsnd_cpu_device &>(device).m_dac_w.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dac_w(device_t &device, _Object object) { return downcast<cquestsnd_cpu_device &>(device).m_dac_w.set_callback(object); }
|
||||
static void set_sound_region(device_t &device, const char *tag) { downcast<cquestsnd_cpu_device &>(device).m_sound_region_tag = tag; }
|
||||
|
||||
DECLARE_WRITE16_MEMBER(sndram_w);
|
||||
@ -190,7 +190,7 @@ private:
|
||||
int m_prev_ipram;
|
||||
int m_prev_ipwrt;
|
||||
|
||||
devcb2_write16 m_dac_w;
|
||||
devcb_write16 m_dac_w;
|
||||
const char *m_sound_region_tag;
|
||||
UINT16 *m_sound_data;
|
||||
|
||||
@ -209,7 +209,7 @@ public:
|
||||
cquestrot_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_linedata_w(device_t &device, _Object object) { return downcast<cquestrot_cpu_device &>(device).m_linedata_w.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_linedata_w(device_t &device, _Object object) { return downcast<cquestrot_cpu_device &>(device).m_linedata_w.set_callback(object); }
|
||||
|
||||
DECLARE_READ16_MEMBER(linedata_r);
|
||||
DECLARE_WRITE16_MEMBER(rotram_w);
|
||||
@ -239,7 +239,7 @@ protected:
|
||||
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
devcb2_write16 m_linedata_w;
|
||||
devcb_write16 m_linedata_w;
|
||||
|
||||
/* AM2901 internals */
|
||||
UINT16 m_ram[16];
|
||||
@ -291,7 +291,7 @@ public:
|
||||
cquestlin_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_linedata_r(device_t &device, _Object object) { return downcast<cquestlin_cpu_device &>(device).m_linedata_r.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_linedata_r(device_t &device, _Object object) { return downcast<cquestlin_cpu_device &>(device).m_linedata_r.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE16_MEMBER( linedata_w );
|
||||
void cubeqcpu_swap_line_banks();
|
||||
@ -323,7 +323,7 @@ protected:
|
||||
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
devcb2_read16 m_linedata_r;
|
||||
devcb_read16 m_linedata_r;
|
||||
|
||||
/* 12-bit AM2901 internals */
|
||||
UINT16 m_ram[16];
|
||||
|
@ -96,7 +96,7 @@ enum
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_DSP32C_OUTPUT_CALLBACK(_write) \
|
||||
devcb = &dsp32c_device::set_output_pins_callback(*device, DEVCB2_##_write);
|
||||
devcb = &dsp32c_device::set_output_pins_callback(*device, DEVCB_##_write);
|
||||
|
||||
// ======================> dsp32c_device
|
||||
|
||||
@ -106,7 +106,7 @@ public:
|
||||
// construction/destruction
|
||||
dsp32c_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_output_pins_callback(device_t &device, _Object object) { return downcast<dsp32c_device &>(device).m_output_pins_changed.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_output_pins_callback(device_t &device, _Object object) { return downcast<dsp32c_device &>(device).m_output_pins_changed.set_callback(object); }
|
||||
|
||||
|
||||
// public interfaces
|
||||
@ -433,7 +433,7 @@ protected:
|
||||
address_space * m_program;
|
||||
direct_read_data *m_direct;
|
||||
|
||||
devcb2_write32 m_output_pins_changed;
|
||||
devcb_write32 m_output_pins_changed;
|
||||
// tables
|
||||
static void (dsp32c_device::*const s_dsp32ops[])(UINT32 op);
|
||||
static const UINT32 s_regmap[4][16];
|
||||
|
@ -26,13 +26,13 @@
|
||||
#define ESRIP_DRAW(name) int name(int l, int r, int fig, int attr, int addr, int col, int x_scale, int bank)
|
||||
|
||||
#define MCFG_ESRIP_FDT_R_CALLBACK(_read) \
|
||||
devcb = &esrip_device::static_set_fdt_r_callback(*device, DEVCB2_##_read);
|
||||
devcb = &esrip_device::static_set_fdt_r_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_ESRIP_FDT_W_CALLBACK(_write) \
|
||||
devcb = &esrip_device::static_set_fdt_w_callback(*device, DEVCB2_##_write);
|
||||
devcb = &esrip_device::static_set_fdt_w_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_ESRIP_STATUS_IN_CALLBACK(_read) \
|
||||
devcb = &esrip_device::static_set_status_in_callback(*device, DEVCB2_##_read);
|
||||
devcb = &esrip_device::static_set_status_in_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_ESRIP_DRAW_CALLBACK_OWNER(_class, _method) \
|
||||
esrip_device::static_set_draw_callback(*device, esrip_draw_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner)));
|
||||
@ -117,9 +117,9 @@ public:
|
||||
esrip_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// inline configuration helpers
|
||||
template<class _Object> static devcb2_base &static_set_fdt_r_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_fdt_r.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_fdt_w_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_fdt_w.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_status_in_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_status_in.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_fdt_r_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_fdt_r.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_fdt_w_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_fdt_w.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_status_in_callback(device_t &device, _Object object) { return downcast<esrip_device &>(device).m_status_in.set_callback(object); }
|
||||
static void static_set_draw_callback(device_t &device, esrip_draw_delegate func) { downcast<esrip_device &>(device).m_draw = func; }
|
||||
static void static_lbrm_prom(device_t &device, const char *name) { downcast<esrip_device &>(device).m_lbrm_prom = name; }
|
||||
|
||||
@ -208,9 +208,9 @@ protected:
|
||||
|
||||
int m_icount;
|
||||
|
||||
devcb2_read16 m_fdt_r;
|
||||
devcb2_write16 m_fdt_w;
|
||||
devcb2_read8 m_status_in;
|
||||
devcb_read16 m_fdt_r;
|
||||
devcb_write16 m_fdt_w;
|
||||
devcb_read8 m_status_in;
|
||||
esrip_draw_delegate m_draw;
|
||||
const char *m_lbrm_prom;
|
||||
|
||||
|
@ -51,10 +51,10 @@
|
||||
downcast<h8_sci_device *>(device)->set_external_clock_period(_period);
|
||||
|
||||
#define MCFG_H8_SCI_TX_CALLBACK(_devcb) \
|
||||
devcb = &h8_sci_device::set_tx_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &h8_sci_device::set_tx_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_H8_SCI_CLK_CALLBACK(_devcb) \
|
||||
devcb = &h8_sci_device::set_clk_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &h8_sci_device::set_clk_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
class h8_sci_device : public device_t {
|
||||
public:
|
||||
@ -80,8 +80,8 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(rx_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(clk_w);
|
||||
|
||||
template<class _Object> static devcb2_base &set_tx_cb(device_t &device, _Object object) { return downcast<h8_sci_device &>(device).tx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_clk_cb(device_t &device, _Object object) { return downcast<h8_sci_device &>(device).clk_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_tx_cb(device_t &device, _Object object) { return downcast<h8_sci_device &>(device).tx_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_clk_cb(device_t &device, _Object object) { return downcast<h8_sci_device &>(device).clk_cb.set_callback(object); }
|
||||
|
||||
UINT64 internal_update(UINT64 current_time);
|
||||
|
||||
@ -137,7 +137,7 @@ protected:
|
||||
};
|
||||
|
||||
required_device<h8_device> cpu;
|
||||
devcb2_write_line tx_cb, clk_cb;
|
||||
devcb_write_line tx_cb, clk_cb;
|
||||
h8_intc_device *intc;
|
||||
const char *intc_tag;
|
||||
attotime external_clock_period, cur_sync_time;
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
#define MCFG_I386_SMIACT(_devcb) \
|
||||
i386_device::set_smiact(*device, DEVCB2_##_devcb);
|
||||
i386_device::set_smiact(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class i386_device : public cpu_device
|
||||
@ -29,7 +29,7 @@ public:
|
||||
i386_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int program_data_width=32, int program_addr_width=32, int io_data_width=32);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_smiact(device_t &device, _Object object) { return downcast<i386_device &>(device).m_smiact.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_smiact(device_t &device, _Object object) { return downcast<i386_device &>(device).m_smiact.set_callback(object); }
|
||||
|
||||
UINT64 debug_segbase(symbol_table &table, int params, const UINT64 *param);
|
||||
UINT64 debug_seglimit(symbol_table &table, int params, const UINT64 *param);
|
||||
@ -253,7 +253,7 @@ struct I386_CALL_GATE
|
||||
bool m_nmi_masked;
|
||||
bool m_nmi_latched;
|
||||
UINT32 m_smbase;
|
||||
devcb2_write_line m_smiact;
|
||||
devcb_write_line m_smiact;
|
||||
|
||||
// bytes in current opcode, debug only
|
||||
UINT8 m_opcode_bytes[16];
|
||||
|
@ -35,19 +35,19 @@ enum
|
||||
|
||||
/* STATUS changed callback */
|
||||
#define MCFG_I8085A_STATUS(_devcb) \
|
||||
i8085a_cpu_device::set_out_status_func(*device, DEVCB2_##_devcb);
|
||||
i8085a_cpu_device::set_out_status_func(*device, DEVCB_##_devcb);
|
||||
|
||||
/* INTE changed callback */
|
||||
#define MCFG_I8085A_INTE(_devcb) \
|
||||
i8085a_cpu_device::set_out_inte_func(*device, DEVCB2_##_devcb);
|
||||
i8085a_cpu_device::set_out_inte_func(*device, DEVCB_##_devcb);
|
||||
|
||||
/* SID changed callback (8085A only) */
|
||||
#define MCFG_I8085A_SID(_devcb) \
|
||||
i8085a_cpu_device::set_in_sid_func(*device, DEVCB2_##_devcb);
|
||||
i8085a_cpu_device::set_in_sid_func(*device, DEVCB_##_devcb);
|
||||
|
||||
/* SOD changed callback (8085A only) */
|
||||
#define MCFG_I8085A_SOD(_devcb) \
|
||||
i8085a_cpu_device::set_out_sod_func(*device, DEVCB2_##_devcb);
|
||||
i8085a_cpu_device::set_out_sod_func(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class i8085a_cpu_device : public cpu_device
|
||||
@ -58,10 +58,10 @@ public:
|
||||
i8085a_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int cputype);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_out_status_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_status_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_inte_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_inte_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_sid_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_in_sid_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_sod_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_sod_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_status_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_status_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_inte_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_inte_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_in_sid_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_in_sid_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_sod_func(device_t &device, _Object object) { return downcast<i8085a_cpu_device &>(device).m_out_sod_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -95,10 +95,10 @@ private:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
devcb2_write8 m_out_status_func;
|
||||
devcb2_write_line m_out_inte_func;
|
||||
devcb2_read_line m_in_sid_func;
|
||||
devcb2_write_line m_out_sod_func;
|
||||
devcb_write8 m_out_status_func;
|
||||
devcb_write_line m_out_inte_func;
|
||||
devcb_read_line m_in_sid_func;
|
||||
devcb_write_line m_out_sod_func;
|
||||
|
||||
int m_cputype; /* 0 8080, 1 8085A */
|
||||
PAIR m_PC,m_SP,m_AF,m_BC,m_DE,m_HL,m_WZ;
|
||||
|
@ -24,10 +24,10 @@
|
||||
i8089_device::set_databus_width(*device, _databus_width);
|
||||
|
||||
#define MCFG_I8089_SINTR1(_sintr1) \
|
||||
downcast<i8089_device *>(device)->set_sintr1_callback(DEVCB2_##_sintr1);
|
||||
downcast<i8089_device *>(device)->set_sintr1_callback(DEVCB_##_sintr1);
|
||||
|
||||
#define MCFG_I8089_SINTR2(_sintr2) \
|
||||
downcast<i8089_device *>(device)->set_sintr2_callback(DEVCB2_##_sintr2);
|
||||
downcast<i8089_device *>(device)->set_sintr2_callback(DEVCB_##_sintr2);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -107,8 +107,8 @@ private:
|
||||
required_device<i8089_channel> m_ch1;
|
||||
required_device<i8089_channel> m_ch2;
|
||||
|
||||
devcb2_write_line m_write_sintr1;
|
||||
devcb2_write_line m_write_sintr2;
|
||||
devcb_write_line m_write_sintr1;
|
||||
devcb_write_line m_write_sintr2;
|
||||
|
||||
void initialize();
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, I8089_CHANNEL, 0)
|
||||
|
||||
#define MCFG_I8089_CHANNEL_SINTR(_sintr) \
|
||||
downcast<i8089_channel *>(device)->set_sintr_callback(DEVCB2_##_sintr);
|
||||
downcast<i8089_channel *>(device)->set_sintr_callback(DEVCB_##_sintr);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -175,7 +175,7 @@ private:
|
||||
|
||||
void examine_ccw(UINT8 ccw);
|
||||
|
||||
devcb2_write_line m_write_sintr;
|
||||
devcb_write_line m_write_sintr;
|
||||
|
||||
i8089_device *m_iop;
|
||||
|
||||
|
@ -14,10 +14,10 @@ public:
|
||||
i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
i80186_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int data_bus_size);
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_read_slave_ack_callback(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_read_slave_ack_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_chip_select_callback(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_chip_select_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_tmrout0_handler(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_tmrout0_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_tmrout1_handler(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_tmrout1_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_read_slave_ack_callback(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_read_slave_ack_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_chip_select_callback(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_chip_select_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_tmrout0_handler(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_tmrout0_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_tmrout1_handler(device_t &device, _Object object) { return downcast<i80186_cpu_device &>(device).m_out_tmrout1_func.set_callback(object); }
|
||||
|
||||
IRQ_CALLBACK_MEMBER(int_callback);
|
||||
DECLARE_WRITE_LINE_MEMBER(drq0_w) { if(state) drq_callback(0); m_dma[0].drq_state = state; }
|
||||
@ -129,10 +129,10 @@ private:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
devcb2_read8 m_read_slave_ack_func;
|
||||
devcb2_write16 m_out_chip_select_func;
|
||||
devcb2_write_line m_out_tmrout0_func;
|
||||
devcb2_write_line m_out_tmrout1_func;
|
||||
devcb_read8 m_read_slave_ack_func;
|
||||
devcb_write16 m_out_chip_select_func;
|
||||
devcb_write_line m_out_tmrout0_func;
|
||||
devcb_write_line m_out_tmrout1_func;
|
||||
};
|
||||
|
||||
class i80188_cpu_device : public i80186_cpu_device
|
||||
@ -143,15 +143,15 @@ public:
|
||||
};
|
||||
|
||||
#define MCFG_80186_IRQ_SLAVE_ACK(_devcb) \
|
||||
devcb = &i80186_cpu_device::static_set_read_slave_ack_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &i80186_cpu_device::static_set_read_slave_ack_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_80186_CHIP_SELECT_CB(_devcb) \
|
||||
devcb = &i80186_cpu_device::static_set_chip_select_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &i80186_cpu_device::static_set_chip_select_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_80186_TMROUT0_HANDLER(_devcb) \
|
||||
devcb = &i80186_cpu_device::static_set_tmrout0_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &i80186_cpu_device::static_set_tmrout0_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_80186_TMROUT1_HANDLER(_devcb) \
|
||||
devcb = &i80186_cpu_device::static_set_tmrout1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &i80186_cpu_device::static_set_tmrout1_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#endif
|
||||
|
@ -69,7 +69,7 @@ public:
|
||||
|
||||
typedef delegate<UINT32 (bool)> a20_cb;
|
||||
static void static_set_a20_callback(device_t &device, a20_cb object) { downcast<i80286_cpu_device &>(device).m_a20_callback = object; }
|
||||
template<class _Object> static devcb2_base &static_set_shutdown_callback(device_t &device, _Object object) { return downcast<i80286_cpu_device &>(device).m_out_shutdown_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_shutdown_callback(device_t &device, _Object object) { return downcast<i80286_cpu_device &>(device).m_out_shutdown_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
virtual void execute_run();
|
||||
@ -150,13 +150,13 @@ private:
|
||||
|
||||
a20_cb m_a20_callback;
|
||||
bool m_shutdown;
|
||||
devcb2_write_line m_out_shutdown_func;
|
||||
devcb_write_line m_out_shutdown_func;
|
||||
};
|
||||
|
||||
#define MCFG_80286_A20(_class, _a20_cb) \
|
||||
i80286_cpu_device::static_set_a20_callback(*device, i80286_cpu_device::a20_cb(FUNC(_class::_a20_cb), (_class *)owner));
|
||||
|
||||
#define MCFG_80286_SHUTDOWN(_devcb) \
|
||||
devcb = &i80286_cpu_device::static_set_shutdown_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &i80286_cpu_device::static_set_shutdown_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#endif /* I286_H_ */
|
||||
|
@ -74,7 +74,7 @@ enum
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_JAGUAR_IRQ_HANDLER(_devcb) \
|
||||
devcb = &jaguar_cpu_device::set_int_func(*device, DEVCB2_##_devcb);
|
||||
devcb = &jaguar_cpu_device::set_int_func(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -107,7 +107,7 @@ public:
|
||||
~jaguar_cpu_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_int_func(device_t &device, _Object object) { return downcast<jaguar_cpu_device &>(device).m_cpu_interrupt.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_int_func(device_t &device, _Object object) { return downcast<jaguar_cpu_device &>(device).m_cpu_interrupt.set_callback(object); }
|
||||
|
||||
virtual DECLARE_WRITE32_MEMBER(ctrl_w) { assert(0); }
|
||||
virtual DECLARE_READ32_MEMBER(ctrl_r) { assert(0); return 0; }
|
||||
@ -150,7 +150,7 @@ protected:
|
||||
bool m_isdsp;
|
||||
int m_icount;
|
||||
int m_bankswitch_icount;
|
||||
devcb2_write_line m_cpu_interrupt;
|
||||
devcb_write_line m_cpu_interrupt;
|
||||
address_space *m_program;
|
||||
direct_read_data *m_direct;
|
||||
|
||||
|
@ -65,7 +65,7 @@ typedef UINT32 (*lc8670_lcd_update)(device_t &device, bitmap_ind16 &bitmap, cons
|
||||
lc8670_cpu_device::static_set_cpu_clock(*device, LC8670_RC_CLOCK, _rc_clock); \
|
||||
lc8670_cpu_device::static_set_cpu_clock(*device, LC8670_CF_CLOCK, _cf_clock);
|
||||
#define MCFG_LC8670_BANKSWITCH_CB(_devcb) \
|
||||
devcb = &lc8670_cpu_device::static_set_bankswitch_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &lc8670_cpu_device::static_set_bankswitch_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_LC8670_LCD_UPDATE_CB(_cb) \
|
||||
lc8670_cpu_device::static_set_lcd_update_cb(*device, _cb);
|
||||
@ -93,7 +93,7 @@ public:
|
||||
// static configuration helpers
|
||||
static void static_set_cpu_clock(device_t &device, int _source, UINT32 _clock) { downcast<lc8670_cpu_device &>(device).m_clocks[_source] = _clock; }
|
||||
static void static_set_lcd_update_cb(device_t &device, lc8670_lcd_update _cb) { downcast<lc8670_cpu_device &>(device).m_lcd_update_func = _cb; }
|
||||
template<class _Object> static devcb2_base & static_set_bankswitch_cb(device_t &device, _Object object) { return downcast<lc8670_cpu_device &>(device).m_bankswitch_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base & static_set_bankswitch_cb(device_t &device, _Object object) { return downcast<lc8670_cpu_device &>(device).m_bankswitch_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -233,7 +233,7 @@ private:
|
||||
|
||||
// configuration
|
||||
UINT32 m_clocks[3]; // clock sources
|
||||
devcb2_write8 m_bankswitch_func; // bankswitch CB
|
||||
devcb_write8 m_bankswitch_func; // bankswitch CB
|
||||
lc8670_lcd_update m_lcd_update_func; // LCD update CB
|
||||
|
||||
// interrupts vectors
|
||||
|
@ -72,7 +72,7 @@ enum
|
||||
|
||||
|
||||
#define MCFG_LH5801_IN(_devcb) \
|
||||
lh5801_cpu_device::set_in_func(*device, DEVCB2_##_devcb);
|
||||
lh5801_cpu_device::set_in_func(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class lh5801_cpu_device : public cpu_device
|
||||
@ -82,7 +82,7 @@ public:
|
||||
lh5801_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_in_func(device_t &device, _Object object) { return downcast<lh5801_cpu_device &>(device).m_in_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_in_func(device_t &device, _Object object) { return downcast<lh5801_cpu_device &>(device).m_in_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -112,7 +112,7 @@ private:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
devcb2_read8 m_in_func;
|
||||
devcb_read8 m_in_func;
|
||||
|
||||
address_space *m_program; //ME0
|
||||
address_space *m_io; //ME1
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
#define MCFG_LR35902_TIMER_CB(_devcb) \
|
||||
lr35902_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb);
|
||||
lr35902_cpu_device::set_timer_cb(*device, DEVCB_##_devcb);
|
||||
#define MCFG_LR35902_HALT_BUG \
|
||||
lr35902_cpu_device::set_halt_bug(*device);
|
||||
// This should be removed/improved once all gameboy boot roms have been dumped
|
||||
@ -30,7 +30,7 @@ public:
|
||||
lr35902_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, UINT32 _clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_timer_cb(device_t &device, _Object object) { return downcast<lr35902_cpu_device &>(device).m_timer_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_timer_cb(device_t &device, _Object object) { return downcast<lr35902_cpu_device &>(device).m_timer_func.set_callback(object); }
|
||||
static void set_halt_bug(device_t &device) { downcast<lr35902_cpu_device &>(device).m_features |= LR35902_FEATURE_HALT_BUG; }
|
||||
static void set_reset_values(device_t &device, const UINT16 *regs) { downcast<lr35902_cpu_device &>(device).c_regs = regs; }
|
||||
|
||||
@ -98,7 +98,7 @@ protected:
|
||||
address_space *m_program;
|
||||
int m_icount;
|
||||
/* Timer callback */
|
||||
devcb2_write8 m_timer_func;
|
||||
devcb_write8 m_timer_func;
|
||||
/* Fetch & execute related */
|
||||
int m_execution_state;
|
||||
UINT8 m_op;
|
||||
|
@ -10,22 +10,22 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_M3745X_ADC14_CALLBACKS(_ad0, _ad1, _ad2, _ad3) \
|
||||
downcast<m3745x_device *>(device)->set_ad14_callbacks(DEVCB2_##_ad0, DEVCB2_##_ad1, DEVCB2_##_ad2, DEVCB2_##_ad3);
|
||||
downcast<m3745x_device *>(device)->set_ad14_callbacks(DEVCB_##_ad0, DEVCB_##_ad1, DEVCB_##_ad2, DEVCB_##_ad3);
|
||||
|
||||
#define MCFG_M3745X_ADC58_CALLBACKS(_ad0, _ad1, _ad2, _ad3) \
|
||||
downcast<m3745x_device *>(device)->set_ad58_callbacks(DEVCB2_##_ad0, DEVCB2_##_ad1, DEVCB2_##_ad2, DEVCB2_##_ad3);
|
||||
downcast<m3745x_device *>(device)->set_ad58_callbacks(DEVCB_##_ad0, DEVCB_##_ad1, DEVCB_##_ad2, DEVCB_##_ad3);
|
||||
|
||||
#define MCFG_M3745X_PORT3_CALLBACKS(_read, _write) \
|
||||
downcast<m3745x_device *>(device)->set_p3_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m3745x_device *>(device)->set_p3_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M3745X_PORT4_CALLBACKS(_read, _write) \
|
||||
downcast<m3745x_device *>(device)->set_p4_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m3745x_device *>(device)->set_p4_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M3745X_PORT5_CALLBACKS(_read, _write) \
|
||||
downcast<m3745x_device *>(device)->set_p5_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m3745x_device *>(device)->set_p5_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M3745X_PORT6_CALLBACKS(_read, _write) \
|
||||
downcast<m3745x_device *>(device)->set_p6_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m3745x_device *>(device)->set_p6_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -103,10 +103,10 @@ public:
|
||||
read_ad_7.set_callback(rd4);
|
||||
}
|
||||
|
||||
devcb2_read8 read_p3, read_p4, read_p5, read_p6;
|
||||
devcb2_write8 write_p3, write_p4, write_p5, write_p6;
|
||||
devcb2_read8 read_ad_0, read_ad_1, read_ad_2, read_ad_3;
|
||||
devcb2_read8 read_ad_4, read_ad_5, read_ad_6, read_ad_7;
|
||||
devcb_read8 read_p3, read_p4, read_p5, read_p6;
|
||||
devcb_write8 write_p3, write_p4, write_p5, write_p6;
|
||||
devcb_read8 read_ad_0, read_ad_1, read_ad_2, read_ad_3;
|
||||
devcb_read8 read_ad_4, read_ad_5, read_ad_6, read_ad_7;
|
||||
|
||||
DECLARE_READ8_MEMBER(ports_r);
|
||||
DECLARE_WRITE8_MEMBER(ports_w);
|
||||
|
@ -10,28 +10,28 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_M5074X_PORT0_READ_CALLBACK(_read) \
|
||||
devcb = &m5074x_device::set_p0_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &m5074x_device::set_p0_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_M5074X_PORT1_READ_CALLBACK(_read) \
|
||||
devcb = &m5074x_device::set_p1_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &m5074x_device::set_p1_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_M5074X_PORT2_READ_CALLBACK(_read) \
|
||||
devcb = &m5074x_device::set_p2_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &m5074x_device::set_p2_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_M5074X_PORT3_READ_CALLBACK(_read) \
|
||||
devcb = &m5074x_device::set_p3_rd_callback(*device, DEVCB2_##_read);
|
||||
devcb = &m5074x_device::set_p3_rd_callback(*device, DEVCB_##_read);
|
||||
|
||||
#define MCFG_M5074X_PORT0_WRITE_CALLBACK(_write) \
|
||||
devcb = &m5074x_device::set_p0_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &m5074x_device::set_p0_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M5074X_PORT1_WRITE_CALLBACK(_write) \
|
||||
devcb = &m5074x_device::set_p1_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &m5074x_device::set_p1_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M5074X_PORT2_WRITE_CALLBACK(_write) \
|
||||
devcb = &m5074x_device::set_p2_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &m5074x_device::set_p2_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M5074X_PORT3_WRITE_CALLBACK(_write) \
|
||||
devcb = &m5074x_device::set_p3_wr_callback(*device, DEVCB2_##_write);
|
||||
devcb = &m5074x_device::set_p3_wr_callback(*device, DEVCB_##_write);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -66,17 +66,17 @@ public:
|
||||
|
||||
const address_space_config m_program_config;
|
||||
|
||||
template<class _Object> static devcb2_base &set_p0_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p0.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p1_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p2_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p3_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p3.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p0_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p0.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p1_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p1.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p2_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p2.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p3_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p0_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p0.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p1_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p2_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p3_rd_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).read_p3.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p0_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p0.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p1_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p1.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p2_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p2.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p3_wr_callback(device_t &device, _Object object) { return downcast<m5074x_device &>(device).write_p3.set_callback(object); }
|
||||
|
||||
devcb2_read8 read_p0, read_p1, read_p2, read_p3;
|
||||
devcb2_write8 write_p0, write_p1, write_p2, write_p3;
|
||||
devcb_read8 read_p0, read_p1, read_p2, read_p3;
|
||||
devcb_write8 write_p0, write_p1, write_p2, write_p3;
|
||||
|
||||
DECLARE_READ8_MEMBER(ports_r);
|
||||
DECLARE_WRITE8_MEMBER(ports_w);
|
||||
|
@ -44,7 +44,7 @@
|
||||
downcast<m6502_device *>(device)->disable_direct();
|
||||
|
||||
#define MCFG_M6502_SYNC_CALLBACK(_cb) \
|
||||
devcb = &m6502_device::set_sync_callback(*device, DEVCB2_##_cb);
|
||||
devcb = &m6502_device::set_sync_callback(*device, DEVCB_##_cb);
|
||||
|
||||
class m6502_device : public cpu_device {
|
||||
public:
|
||||
@ -65,9 +65,9 @@ public:
|
||||
bool get_sync() const { return sync; }
|
||||
void disable_direct() { direct_disabled = true; }
|
||||
|
||||
template<class _Object> static devcb2_base &set_sync_callback(device_t &device, _Object object) { return downcast<m6502_device &>(device).sync_w.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sync_callback(device_t &device, _Object object) { return downcast<m6502_device &>(device).sync_w.set_callback(object); }
|
||||
|
||||
devcb2_write_line sync_w;
|
||||
devcb_write_line sync_w;
|
||||
|
||||
protected:
|
||||
class memory_interface {
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "m6502.h"
|
||||
|
||||
#define MCFG_M6510_PORT_CALLBACKS(_read, _write) \
|
||||
downcast<m6510_device *>(device)->set_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m6510_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M6510_PORT_PULLS(_up, _down) \
|
||||
downcast<m6510_device *>(device)->set_pulls(_up, _down);
|
||||
@ -89,8 +89,8 @@ protected:
|
||||
virtual UINT8 read_decrypted(UINT16 adr);
|
||||
};
|
||||
|
||||
devcb2_read8 read_port;
|
||||
devcb2_write8 write_port;
|
||||
devcb_read8 read_port;
|
||||
devcb_write8 write_port;
|
||||
|
||||
UINT8 pullup, floating, dir, port, drive;
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "m6510.h"
|
||||
|
||||
#define MCFG_M6510T_PORT_CALLBACKS(_read, _write) \
|
||||
downcast<m6510t_device *>(device)->set_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m6510t_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M6510T_PORT_PULLS(_up, _down) \
|
||||
downcast<m6510t_device *>(device)->set_pulls(_up, _down);
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "m6510.h"
|
||||
|
||||
#define MCFG_M7501_PORT_CALLBACKS(_read, _write) \
|
||||
downcast<m7501_device *>(device)->set_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m7501_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M7501_PORT_PULLS(_up, _down) \
|
||||
downcast<m7501_device *>(device)->set_pulls(_up, _down);
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "m6510.h"
|
||||
|
||||
#define MCFG_M8502_PORT_CALLBACKS(_read, _write) \
|
||||
downcast<m8502_device *>(device)->set_callbacks(DEVCB2_##_read, DEVCB2_##_write);
|
||||
downcast<m8502_device *>(device)->set_callbacks(DEVCB_##_read, DEVCB_##_write);
|
||||
|
||||
#define MCFG_M8502_PORT_PULLS(_up, _down) \
|
||||
downcast<m8502_device *>(device)->set_pulls(_up, _down);
|
||||
|
@ -45,9 +45,9 @@ enum
|
||||
|
||||
|
||||
#define MCFG_M6801_SC2(_devcb) \
|
||||
m6800_cpu_device::set_out_sc2_func(*device, DEVCB2_##_devcb);
|
||||
m6800_cpu_device::set_out_sc2_func(*device, DEVCB_##_devcb);
|
||||
#define MCFG_M6801_SER_TX(_devcb) \
|
||||
m6800_cpu_device::set_out_sertx_func(*device, DEVCB2_##_devcb);
|
||||
m6800_cpu_device::set_out_sertx_func(*device, DEVCB_##_devcb);
|
||||
|
||||
class m6800_cpu_device : public cpu_device
|
||||
{
|
||||
@ -59,8 +59,8 @@ public:
|
||||
m6800_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, bool has_io, int clock_divider, const m6800_cpu_device::op_func *insn, const UINT8 *cycles, address_map_constructor internal = NULL);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_out_sc2_func(device_t &device, _Object object) { return downcast<m6800_cpu_device &>(device).m_out_sc2_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_sertx_func(device_t &device, _Object object) { return downcast<m6800_cpu_device &>(device).m_out_sertx_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_sc2_func(device_t &device, _Object object) { return downcast<m6800_cpu_device &>(device).m_out_sc2_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_sertx_func(device_t &device, _Object object) { return downcast<m6800_cpu_device &>(device).m_out_sertx_func.set_callback(object); }
|
||||
|
||||
DECLARE_READ8_MEMBER( m6801_io_r );
|
||||
DECLARE_WRITE8_MEMBER( m6801_io_w );
|
||||
@ -96,8 +96,8 @@ protected:
|
||||
address_space_config m_io_config;
|
||||
bool m_has_io;
|
||||
|
||||
devcb2_write_line m_out_sc2_func;
|
||||
devcb2_write_line m_out_sertx_func;
|
||||
devcb_write_line m_out_sc2_func;
|
||||
devcb_write_line m_out_sertx_func;
|
||||
|
||||
PAIR m_ppc; /* Previous program counter */
|
||||
PAIR m_pc; /* Program counter */
|
||||
|
@ -139,7 +139,7 @@ protected:
|
||||
PAIR16 m_ea; // effective address
|
||||
|
||||
// Callbacks
|
||||
devcb2_write_line m_lic_func; // LIC pin on the 6809E
|
||||
devcb_write_line m_lic_func; // LIC pin on the 6809E
|
||||
|
||||
// eat cycles
|
||||
ATTR_FORCE_INLINE void eat(int cycles) { m_icount -= cycles; }
|
||||
@ -271,7 +271,7 @@ public:
|
||||
// ======================> m6809e_device
|
||||
|
||||
#define MCFG_M6809E_LIC_CB(_devcb) \
|
||||
m6809e_device::set_lic_cb(*device, DEVCB2_##_devcb);
|
||||
m6809e_device::set_lic_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class m6809e_device : public m6809_base_device
|
||||
@ -281,7 +281,7 @@ public:
|
||||
m6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_lic_cb(device_t &device, _Object object) { return downcast<m6809e_device &>(device).m_lic_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_lic_cb(device_t &device, _Object object) { return downcast<m6809e_device &>(device).m_lic_func.set_callback(object); }
|
||||
};
|
||||
|
||||
enum
|
||||
|
@ -39,9 +39,9 @@ enum
|
||||
};
|
||||
|
||||
|
||||
#define MCFG_MB86233_FIFO_READ_CB(_devcb) mb86233_cpu_device::set_fifo_read_cb(*device, DEVCB2_##_devcb);
|
||||
#define MCFG_MB86233_FIFO_READ_OK_CB(_devcb) mb86233_cpu_device::set_fifo_read_ok_cb(*device, DEVCB2_##_devcb);
|
||||
#define MCFG_MB86233_FIFO_WRITE_CB(_devcb) mb86233_cpu_device::set_fifo_write_cb(*device, DEVCB2_##_devcb);
|
||||
#define MCFG_MB86233_FIFO_READ_CB(_devcb) mb86233_cpu_device::set_fifo_read_cb(*device, DEVCB_##_devcb);
|
||||
#define MCFG_MB86233_FIFO_READ_OK_CB(_devcb) mb86233_cpu_device::set_fifo_read_ok_cb(*device, DEVCB_##_devcb);
|
||||
#define MCFG_MB86233_FIFO_WRITE_CB(_devcb) mb86233_cpu_device::set_fifo_write_cb(*device, DEVCB_##_devcb);
|
||||
#define MCFG_MB86233_TABLE_REGION(_region) mb86233_cpu_device::set_tablergn(*device, _region);
|
||||
|
||||
|
||||
@ -52,9 +52,9 @@ public:
|
||||
mb86233_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_fifo_read_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_read_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_fifo_read_ok_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_read_ok_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_fifo_write_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_write_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_fifo_read_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_read_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_fifo_read_ok_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_read_ok_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_fifo_write_cb(device_t &device, _Object object) { return downcast<mb86233_cpu_device &>(device).m_fifo_write_cb.set_callback(object); }
|
||||
static void set_tablergn(device_t &device, const char *tablergn) { downcast<mb86233_cpu_device &>(device).m_tablergn = tablergn; }
|
||||
|
||||
protected:
|
||||
@ -114,9 +114,9 @@ private:
|
||||
|
||||
/* FIFO */
|
||||
int m_fifo_wait;
|
||||
devcb2_read32 m_fifo_read_cb;
|
||||
devcb2_read_line m_fifo_read_ok_cb;
|
||||
devcb2_write32 m_fifo_write_cb;
|
||||
devcb_read32 m_fifo_read_cb;
|
||||
devcb_read_line m_fifo_read_ok_cb;
|
||||
devcb_write32 m_fifo_write_cb;
|
||||
const char *m_tablergn;
|
||||
|
||||
/* internal RAM */
|
||||
|
@ -20,16 +20,16 @@
|
||||
r3000_device::static_set_endianness(*device, _endianness);
|
||||
|
||||
#define MCFG_R3000_BRCOND0_INPUT(_devcb) \
|
||||
devcb = &r3000_device::static_set_brcond0_input(*device, DEVCB2_##_devcb);
|
||||
devcb = &r3000_device::static_set_brcond0_input(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_R3000_BRCOND1_INPUT(_devcb) \
|
||||
devcb = &r3000_device::static_set_brcond1_input(*device, DEVCB2_##_devcb);
|
||||
devcb = &r3000_device::static_set_brcond1_input(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_R3000_BRCOND2_INPUT(_devcb) \
|
||||
devcb = &r3000_device::static_set_brcond2_input(*device, DEVCB2_##_devcb);
|
||||
devcb = &r3000_device::static_set_brcond2_input(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_R3000_BRCOND3_INPUT(_devcb) \
|
||||
devcb = &r3000_device::static_set_brcond3_input(*device, DEVCB2_##_devcb);
|
||||
devcb = &r3000_device::static_set_brcond3_input(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -87,22 +87,22 @@ public:
|
||||
downcast<r3000_device &>(device).m_endianness = endianness;
|
||||
}
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_brcond0_input(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &static_set_brcond0_input(device_t &device, _Object object)
|
||||
{
|
||||
return downcast<r3000_device &>(device).m_in_brcond0.set_callback(object);
|
||||
}
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_brcond1_input(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &static_set_brcond1_input(device_t &device, _Object object)
|
||||
{
|
||||
return downcast<r3000_device &>(device).m_in_brcond1.set_callback(object);
|
||||
}
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_brcond2_input(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &static_set_brcond2_input(device_t &device, _Object object)
|
||||
{
|
||||
return downcast<r3000_device &>(device).m_in_brcond2.set_callback(object);
|
||||
}
|
||||
|
||||
template<class _Object> static devcb2_base &static_set_brcond3_input(device_t &device, _Object object)
|
||||
template<class _Object> static devcb_base &static_set_brcond3_input(device_t &device, _Object object)
|
||||
{
|
||||
return downcast<r3000_device &>(device).m_in_brcond3.set_callback(object);
|
||||
}
|
||||
@ -256,10 +256,10 @@ protected:
|
||||
size_t m_dcache_size;
|
||||
|
||||
// I/O
|
||||
devcb2_read_line m_in_brcond0;
|
||||
devcb2_read_line m_in_brcond1;
|
||||
devcb2_read_line m_in_brcond2;
|
||||
devcb2_read_line m_in_brcond3;
|
||||
devcb_read_line m_in_brcond0;
|
||||
devcb_read_line m_in_brcond1;
|
||||
devcb_read_line m_in_brcond2;
|
||||
devcb_read_line m_in_brcond3;
|
||||
};
|
||||
|
||||
|
||||
|
@ -20,16 +20,16 @@ enum
|
||||
|
||||
|
||||
#define MCFG_TX0_CONFIG(_cpy_devcb, _r1l_devcb, _dis_devcb, _r3l_devcb, _prt_devcb, _rsv_devcb, _p6h_devcb, _p7h_devcb, _sel_devcb, _res_devcb) \
|
||||
tx0_device::set_cpy_cb(*device, DEVCB2_##_cpy_devcb); \
|
||||
tx0_device::set_r1l_cb(*device, DEVCB2_##_r1l_devcb); \
|
||||
tx0_device::set_dis_cb(*device, DEVCB2_##_dis_devcb); \
|
||||
tx0_device::set_r3l_cb(*device, DEVCB2_##_r3l_devcb); \
|
||||
tx0_device::set_prt_cb(*device, DEVCB2_##_prt_devcb); \
|
||||
tx0_device::set_rsv_cb(*device, DEVCB2_##_rsv_devcb); \
|
||||
tx0_device::set_p6h_cb(*device, DEVCB2_##_p6h_devcb); \
|
||||
tx0_device::set_p7h_cb(*device, DEVCB2_##_p7h_devcb); \
|
||||
tx0_device::set_sel_cb(*device, DEVCB2_##_sel_devcb); \
|
||||
tx0_device::set_res_cb(*device, DEVCB2_##_res_devcb);
|
||||
tx0_device::set_cpy_cb(*device, DEVCB_##_cpy_devcb); \
|
||||
tx0_device::set_r1l_cb(*device, DEVCB_##_r1l_devcb); \
|
||||
tx0_device::set_dis_cb(*device, DEVCB_##_dis_devcb); \
|
||||
tx0_device::set_r3l_cb(*device, DEVCB_##_r3l_devcb); \
|
||||
tx0_device::set_prt_cb(*device, DEVCB_##_prt_devcb); \
|
||||
tx0_device::set_rsv_cb(*device, DEVCB_##_rsv_devcb); \
|
||||
tx0_device::set_p6h_cb(*device, DEVCB_##_p6h_devcb); \
|
||||
tx0_device::set_p7h_cb(*device, DEVCB_##_p7h_devcb); \
|
||||
tx0_device::set_sel_cb(*device, DEVCB_##_sel_devcb); \
|
||||
tx0_device::set_res_cb(*device, DEVCB_##_res_devcb);
|
||||
|
||||
|
||||
class tx0_device : public cpu_device
|
||||
@ -39,16 +39,16 @@ public:
|
||||
tx0_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int addr_bits, int address_mask, int ir_mask);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_cpy_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_cpy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_r1l_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_r1l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_dis_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_dis_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_r3l_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_r3l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_prt_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_prt_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rsv_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_rsv_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p6h_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_p6h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_p7h_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_p7h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sel_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_sel_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_res_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_io_reset_callback.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cpy_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_cpy_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_r1l_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_r1l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dis_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_dis_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_r3l_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_r3l_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_prt_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_prt_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rsv_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_rsv_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p6h_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_p6h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_p7h_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_p7h_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sel_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_sel_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_res_cb(device_t &device, _Object object) { return downcast<tx0_device &>(device).m_io_reset_callback.set_callback(object); }
|
||||
|
||||
void pulse_reset();
|
||||
void io_complete();
|
||||
@ -121,18 +121,18 @@ protected:
|
||||
5: reserved (for unimplemented typ instruction?)
|
||||
6: p6h
|
||||
7: p7h */
|
||||
devcb2_write_line m_cpy_handler;
|
||||
devcb2_write_line m_r1l_handler;
|
||||
devcb2_write_line m_dis_handler;
|
||||
devcb2_write_line m_r3l_handler;
|
||||
devcb2_write_line m_prt_handler;
|
||||
devcb2_write_line m_rsv_handler;
|
||||
devcb2_write_line m_p6h_handler;
|
||||
devcb2_write_line m_p7h_handler;
|
||||
devcb_write_line m_cpy_handler;
|
||||
devcb_write_line m_r1l_handler;
|
||||
devcb_write_line m_dis_handler;
|
||||
devcb_write_line m_r3l_handler;
|
||||
devcb_write_line m_prt_handler;
|
||||
devcb_write_line m_rsv_handler;
|
||||
devcb_write_line m_p6h_handler;
|
||||
devcb_write_line m_p7h_handler;
|
||||
/* select instruction handler */
|
||||
devcb2_write_line m_sel_handler;
|
||||
devcb_write_line m_sel_handler;
|
||||
/* callback called when reset line is pulsed: IO devices should reset */
|
||||
devcb2_write_line m_io_reset_callback;
|
||||
devcb_write_line m_io_reset_callback;
|
||||
|
||||
int tx0_read(offs_t address);
|
||||
void tx0_write(offs_t address, int data);
|
||||
|
@ -17,7 +17,7 @@
|
||||
extern const device_type PSX_DMA;
|
||||
|
||||
#define MCFG_PSX_DMA_IRQ_HANDLER(_devcb) \
|
||||
devcb = &psxdma_device::set_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxdma_device::set_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
typedef delegate<void (UINT32 *, UINT32, INT32)> psx_dma_read_delegate;
|
||||
typedef delegate<void (UINT32 *, UINT32, INT32)> psx_dma_write_delegate;
|
||||
@ -40,7 +40,7 @@ public:
|
||||
psxdma_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxdma_device &>(device).m_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxdma_device &>(device).m_irq_handler.set_callback(object); }
|
||||
|
||||
void install_read_handler( int n_channel, psx_dma_read_delegate p_fn_dma_read );
|
||||
void install_write_handler( int n_channel, psx_dma_read_delegate p_fn_dma_write );
|
||||
@ -70,7 +70,7 @@ private:
|
||||
UINT32 m_dpcp;
|
||||
UINT32 m_dicr;
|
||||
|
||||
devcb2_write_line m_irq_handler;
|
||||
devcb_write_line m_irq_handler;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -17,7 +17,7 @@
|
||||
extern const device_type PSX_IRQ;
|
||||
|
||||
#define MCFG_PSX_IRQ_HANDLER(_devcb) \
|
||||
devcb = &psxirq_device::set_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxirq_device::set_irq_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
class psxirq_device : public device_t
|
||||
{
|
||||
@ -25,7 +25,7 @@ public:
|
||||
psxirq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxirq_device &>(device).m_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxirq_device &>(device).m_irq_handler.set_callback(object); }
|
||||
|
||||
DECLARE_READ32_MEMBER( read );
|
||||
DECLARE_WRITE32_MEMBER( write );
|
||||
@ -54,7 +54,7 @@ private:
|
||||
UINT32 n_irqdata;
|
||||
UINT32 n_irqmask;
|
||||
|
||||
devcb2_write_line m_irq_handler;
|
||||
devcb_write_line m_irq_handler;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -115,19 +115,19 @@ enum
|
||||
psxcpu_device::getcpu( *owner, cputag )->subdevice<psxdma_device>("dma")->install_write_handler( channel, handler );
|
||||
|
||||
#define MCFG_PSX_GPU_READ_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_gpu_read_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_gpu_read_handler(*device, DEVCB_##_devcb);
|
||||
#define MCFG_PSX_GPU_WRITE_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_gpu_write_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_gpu_write_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PSX_SPU_READ_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_spu_read_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_spu_read_handler(*device, DEVCB_##_devcb);
|
||||
#define MCFG_PSX_SPU_WRITE_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_spu_write_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_spu_write_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_PSX_CD_READ_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_cd_read_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_cd_read_handler(*device, DEVCB_##_devcb);
|
||||
#define MCFG_PSX_CD_WRITE_HANDLER(_devcb) \
|
||||
devcb = &psxcpu_device::set_cd_write_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxcpu_device::set_cd_write_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -155,12 +155,12 @@ public:
|
||||
virtual ~psxcpu_device() {};
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_gpu_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_gpu_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_gpu_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_gpu_write_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_spu_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_spu_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_spu_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_spu_write_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_cd_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_cd_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_cd_write_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_gpu_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_gpu_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_gpu_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_gpu_write_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_spu_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_spu_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_spu_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_spu_write_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_read_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_cd_read_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_cd_write_handler(device_t &device, _Object object) { return downcast<psxcpu_device &>(device).m_cd_write_handler.set_callback(object); }
|
||||
|
||||
// public interfaces
|
||||
DECLARE_WRITE32_MEMBER( berr_w );
|
||||
@ -338,12 +338,12 @@ protected:
|
||||
|
||||
gte m_gte;
|
||||
|
||||
devcb2_read32 m_gpu_read_handler;
|
||||
devcb2_write32 m_gpu_write_handler;
|
||||
devcb2_read16 m_spu_read_handler;
|
||||
devcb2_write16 m_spu_write_handler;
|
||||
devcb2_read8 m_cd_read_handler;
|
||||
devcb2_write8 m_cd_write_handler;
|
||||
devcb_read32 m_gpu_read_handler;
|
||||
devcb_write32 m_gpu_write_handler;
|
||||
devcb_read16 m_spu_read_handler;
|
||||
devcb_write16 m_spu_write_handler;
|
||||
devcb_read8 m_cd_read_handler;
|
||||
devcb_write8 m_cd_write_handler;
|
||||
required_device<ram_device> m_ram;
|
||||
memory_region *m_rom;
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
||||
extern const device_type PSX_RCNT;
|
||||
|
||||
#define MCFG_PSX_RCNT_IRQ0_HANDLER(_devcb) \
|
||||
devcb = &psxrcnt_device::set_irq0_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxrcnt_device::set_irq0_handler(*device, DEVCB_##_devcb);
|
||||
#define MCFG_PSX_RCNT_IRQ1_HANDLER(_devcb) \
|
||||
devcb = &psxrcnt_device::set_irq1_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxrcnt_device::set_irq1_handler(*device, DEVCB_##_devcb);
|
||||
#define MCFG_PSX_RCNT_IRQ2_HANDLER(_devcb) \
|
||||
devcb = &psxrcnt_device::set_irq2_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxrcnt_device::set_irq2_handler(*device, DEVCB_##_devcb);
|
||||
#define PSX_RC_STOP ( 0x01 )
|
||||
#define PSX_RC_RESET ( 0x04 ) /* guess */
|
||||
#define PSX_RC_COUNTTARGET ( 0x08 )
|
||||
@ -46,9 +46,9 @@ public:
|
||||
psxrcnt_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_irq0_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq1_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_irq2_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq2_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq0_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq0_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq1_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq1_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq2_handler(device_t &device, _Object object) { return downcast<psxrcnt_device &>(device).m_irq2_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE32_MEMBER( write );
|
||||
DECLARE_READ32_MEMBER( read );
|
||||
@ -68,9 +68,9 @@ private:
|
||||
int root_target( int n_counter );
|
||||
void root_timer_adjust( int n_counter );
|
||||
|
||||
devcb2_write_line m_irq0_handler;
|
||||
devcb2_write_line m_irq1_handler;
|
||||
devcb2_write_line m_irq2_handler;
|
||||
devcb_write_line m_irq0_handler;
|
||||
devcb_write_line m_irq1_handler;
|
||||
devcb_write_line m_irq2_handler;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -19,7 +19,7 @@ extern const device_type PSX_SIO0;
|
||||
extern const device_type PSX_SIO1;
|
||||
|
||||
#define MCFG_PSX_SIO_IRQ_HANDLER(_devcb) \
|
||||
devcb = &psxsio_device::set_irq_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &psxsio_device::set_irq_handler(*device, DEVCB_##_devcb);
|
||||
#define SIO_BUF_SIZE ( 8 )
|
||||
|
||||
#define SIO_STATUS_TX_RDY ( 1 << 0 )
|
||||
@ -43,7 +43,7 @@ public:
|
||||
psxsio_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxsio_device &>(device).m_irq_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_irq_handler(device_t &device, _Object object) { return downcast<psxsio_device &>(device).m_irq_handler.set_callback(object); }
|
||||
|
||||
DECLARE_WRITE32_MEMBER( write );
|
||||
DECLARE_READ32_MEMBER( read );
|
||||
@ -78,7 +78,7 @@ private:
|
||||
|
||||
emu_timer *m_timer;
|
||||
|
||||
devcb2_write_line m_irq_handler;
|
||||
devcb_write_line m_irq_handler;
|
||||
|
||||
psxsiodev_device *devices[ 10 ];
|
||||
int deviceCount;
|
||||
|
@ -144,19 +144,19 @@ union ACCUMULATOR_REG
|
||||
};
|
||||
|
||||
#define MCFG_RSP_DP_REG_R_CB(_devcb) \
|
||||
devcb = &rsp_cpu_device::static_set_dp_reg_r_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &rsp_cpu_device::static_set_dp_reg_r_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RSP_DP_REG_W_CB(_devcb) \
|
||||
devcb = &rsp_cpu_device::static_set_dp_reg_w_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &rsp_cpu_device::static_set_dp_reg_w_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RSP_SP_REG_R_CB(_devcb) \
|
||||
devcb = &rsp_cpu_device::static_set_sp_reg_r_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &rsp_cpu_device::static_set_sp_reg_r_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RSP_SP_REG_W_CB(_devcb) \
|
||||
devcb = &rsp_cpu_device::static_set_sp_reg_w_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &rsp_cpu_device::static_set_sp_reg_w_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_RSP_SP_SET_STATUS_CB(_devcb) \
|
||||
devcb = &rsp_cpu_device::static_set_status_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &rsp_cpu_device::static_set_status_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
class rsp_cpu_device : public legacy_cpu_device
|
||||
{
|
||||
@ -166,18 +166,18 @@ protected:
|
||||
|
||||
public:
|
||||
void resolve_cb();
|
||||
template<class _Object> static devcb2_base &static_set_dp_reg_r_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).dp_reg_r_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_dp_reg_w_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).dp_reg_w_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_sp_reg_r_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_reg_r_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_sp_reg_w_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_reg_w_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_status_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_set_status_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_dp_reg_r_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).dp_reg_r_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_dp_reg_w_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).dp_reg_w_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_sp_reg_r_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_reg_r_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_sp_reg_w_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_reg_w_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_status_callback(device_t &device, _Object object) { return downcast<rsp_cpu_device &>(device).sp_set_status_func.set_callback(object); }
|
||||
|
||||
|
||||
devcb2_read32 dp_reg_r_func;
|
||||
devcb2_write32 dp_reg_w_func;
|
||||
devcb2_read32 sp_reg_r_func;
|
||||
devcb2_write32 sp_reg_w_func;
|
||||
devcb2_write32 sp_set_status_func;
|
||||
devcb_read32 dp_reg_r_func;
|
||||
devcb_write32 dp_reg_w_func;
|
||||
devcb_read32 sp_reg_r_func;
|
||||
devcb_write32 sp_reg_w_func;
|
||||
devcb_write32 sp_set_status_func;
|
||||
};
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@ extern const device_type S2650;
|
||||
|
||||
|
||||
#define MCFG_S2650_FLAG_HANDLER(_devcb) \
|
||||
devcb = &s2650_device::set_flag_handler(*device, DEVCB2_##_devcb);
|
||||
devcb = &s2650_device::set_flag_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
class s2650_device : public cpu_device
|
||||
{
|
||||
@ -36,7 +36,7 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(write_sense);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_flag_handler(device_t &device, _Object object) { return downcast<s2650_device &>(device).m_flag_handler.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_flag_handler(device_t &device, _Object object) { return downcast<s2650_device &>(device).m_flag_handler.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -71,7 +71,7 @@ private:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
devcb2_write_line m_flag_handler;
|
||||
devcb_write_line m_flag_handler;
|
||||
|
||||
UINT16 m_ppc; /* previous program counter (page + iar) */
|
||||
UINT16 m_page; /* 8K page select register (A14..A13) */
|
||||
|
@ -75,14 +75,14 @@ enum
|
||||
|
||||
|
||||
#define MCFG_SATURN_CONFIG(_out, _in, _reset, _config, _unconfig, _id, _crc, _rsi) \
|
||||
saturn_device::set_out_func(*device, DEVCB2_##_out); \
|
||||
saturn_device::set_in_func(*device, DEVCB2_##_in); \
|
||||
saturn_device::set_reset_func(*device, DEVCB2_##_reset); \
|
||||
saturn_device::set_config_func(*device, DEVCB2_##_config); \
|
||||
saturn_device::set_unconfig_func(*device, DEVCB2_##_unconfig); \
|
||||
saturn_device::set_id_func(*device, DEVCB2_##_id); \
|
||||
saturn_device::set_crc_func(*device, DEVCB2_##_crc); \
|
||||
saturn_device::set_rsi_func(*device, DEVCB2_##_rsi);
|
||||
saturn_device::set_out_func(*device, DEVCB_##_out); \
|
||||
saturn_device::set_in_func(*device, DEVCB_##_in); \
|
||||
saturn_device::set_reset_func(*device, DEVCB_##_reset); \
|
||||
saturn_device::set_config_func(*device, DEVCB_##_config); \
|
||||
saturn_device::set_unconfig_func(*device, DEVCB_##_unconfig); \
|
||||
saturn_device::set_id_func(*device, DEVCB_##_id); \
|
||||
saturn_device::set_crc_func(*device, DEVCB_##_crc); \
|
||||
saturn_device::set_rsi_func(*device, DEVCB_##_rsi);
|
||||
|
||||
|
||||
class saturn_device : public cpu_device
|
||||
@ -92,14 +92,14 @@ public:
|
||||
saturn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_out_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_out_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_in_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_reset_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_reset_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_config_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_config_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_unconfig_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_unconfig_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_id_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_id_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_crc_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_crc_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rsi_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_rsi_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_out_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_in_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_in_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_reset_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_reset_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_config_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_config_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_unconfig_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_unconfig_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_id_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_id_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_crc_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_crc_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rsi_func(device_t &device, _Object object) { return downcast<saturn_device &>(device).m_rsi_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -129,14 +129,14 @@ protected:
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
|
||||
devcb2_write32 m_out_func;
|
||||
devcb2_read32 m_in_func;
|
||||
devcb2_write_line m_reset_func;
|
||||
devcb2_write32 m_config_func;
|
||||
devcb2_write32 m_unconfig_func;
|
||||
devcb2_read32 m_id_func;
|
||||
devcb2_write32 m_crc_func;
|
||||
devcb2_write_line m_rsi_func;
|
||||
devcb_write32 m_out_func;
|
||||
devcb_read32 m_in_func;
|
||||
devcb_write_line m_reset_func;
|
||||
devcb_write32 m_config_func;
|
||||
devcb_write32 m_unconfig_func;
|
||||
devcb_read32 m_id_func;
|
||||
devcb_write32 m_crc_func;
|
||||
devcb_write_line m_rsi_func;
|
||||
|
||||
// 64 bit, unpacked (one nibble per byte)
|
||||
typedef UINT8 Saturn64[16];
|
||||
|
@ -55,28 +55,28 @@ enum
|
||||
|
||||
|
||||
#define MCFG_SC61860_READ_RESET_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_reset_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_reset_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_READ_BRK_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_brk_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_brk_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_READ_X_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_x_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_x_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_READ_A_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_ina_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_ina_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_WRITE_A_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_outa_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_outa_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_READ_B_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_inb_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_inb_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_WRITE_B_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_outb_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_outb_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SC61860_WRITE_C_HANDLER(_devcb) \
|
||||
devcb = &sc61860_device::set_outc_cb(*device, DEVCB2_##_devcb);
|
||||
devcb = &sc61860_device::set_outc_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
class sc61860_device : public cpu_device
|
||||
{
|
||||
@ -85,14 +85,14 @@ public:
|
||||
sc61860_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_reset_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_reset.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_brk_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_brk.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_x_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_x.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_ina_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_ina.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_outa_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outa.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_inb_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_inb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_outb_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_outc_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outc.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_reset_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_reset.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_brk_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_brk.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_x_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_x.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_ina_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_ina.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_outa_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outa.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_inb_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_inb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_outb_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_outc_cb(device_t &device, _Object object) { return downcast<sc61860_device &>(device).m_outc.set_callback(object); }
|
||||
|
||||
/* this is though for power on/off of the sharps */
|
||||
UINT8 *internal_ram();
|
||||
@ -126,14 +126,14 @@ protected:
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
|
||||
devcb2_read_line m_reset;
|
||||
devcb2_read_line m_brk;
|
||||
devcb2_read_line m_x;
|
||||
devcb2_read8 m_ina;
|
||||
devcb2_write8 m_outa;
|
||||
devcb2_read8 m_inb;
|
||||
devcb2_write8 m_outb;
|
||||
devcb2_write8 m_outc;
|
||||
devcb_read_line m_reset;
|
||||
devcb_read_line m_brk;
|
||||
devcb_read_line m_x;
|
||||
devcb_read8 m_ina;
|
||||
devcb_write8 m_outa;
|
||||
devcb_read8 m_inb;
|
||||
devcb_write8 m_outb;
|
||||
devcb_write8 m_outc;
|
||||
|
||||
UINT8 m_p, m_q, m_r; //7 bits only?
|
||||
|
||||
|
@ -18,12 +18,12 @@ enum
|
||||
|
||||
|
||||
#define MCFG_SCMP_CONFIG(_flag_out_devcb, _sout_devcb, _sin_devcb, _sensea_devcb, _senseb_devcb, _halt_devcb) \
|
||||
scmp_device::set_flag_out_cb(*device, DEVCB2_##_flag_out_devcb); \
|
||||
scmp_device::set_sout_cb(*device, DEVCB2_##_sout_devcb); \
|
||||
scmp_device::set_sin_cb(*device, DEVCB2_##_sin_devcb); \
|
||||
scmp_device::set_sensea_cb(*device, DEVCB2_##_sensea_devcb); \
|
||||
scmp_device::set_senseb_cb(*device, DEVCB2_##_senseb_devcb); \
|
||||
scmp_device::set_halt_cb(*device, DEVCB2_##_halt_devcb);
|
||||
scmp_device::set_flag_out_cb(*device, DEVCB_##_flag_out_devcb); \
|
||||
scmp_device::set_sout_cb(*device, DEVCB_##_sout_devcb); \
|
||||
scmp_device::set_sin_cb(*device, DEVCB_##_sin_devcb); \
|
||||
scmp_device::set_sensea_cb(*device, DEVCB_##_sensea_devcb); \
|
||||
scmp_device::set_senseb_cb(*device, DEVCB_##_senseb_devcb); \
|
||||
scmp_device::set_halt_cb(*device, DEVCB_##_halt_devcb);
|
||||
|
||||
|
||||
class scmp_device : public cpu_device
|
||||
@ -34,12 +34,12 @@ public:
|
||||
scmp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_flag_out_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_flag_out_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sout_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sout_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sin_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sin_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_sensea_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sensea_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_senseb_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_senseb_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_halt_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_halt_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_flag_out_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_flag_out_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sout_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sout_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sin_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sin_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_sensea_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_sensea_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_senseb_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_senseb_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_halt_cb(device_t &device, _Object object) { return downcast<scmp_device &>(device).m_halt_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -78,12 +78,12 @@ private:
|
||||
direct_read_data *m_direct;
|
||||
int m_icount;
|
||||
|
||||
devcb2_write8 m_flag_out_func;
|
||||
devcb2_write_line m_sout_func;
|
||||
devcb2_read_line m_sin_func;
|
||||
devcb2_read_line m_sensea_func;
|
||||
devcb2_read_line m_senseb_func;
|
||||
devcb2_write_line m_halt_func;
|
||||
devcb_write8 m_flag_out_func;
|
||||
devcb_write_line m_sout_func;
|
||||
devcb_read_line m_sin_func;
|
||||
devcb_read_line m_sensea_func;
|
||||
devcb_read_line m_senseb_func;
|
||||
devcb_write_line m_halt_func;
|
||||
|
||||
inline UINT16 ADD12(UINT16 addr, INT8 val);
|
||||
inline UINT8 ROP();
|
||||
|
@ -35,13 +35,13 @@ enum
|
||||
|
||||
|
||||
#define MCFG_SCUDSP_OUT_IRQ_CB(_devcb) \
|
||||
devcb = &scudsp_cpu_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &scudsp_cpu_device::set_out_irq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCUDSP_IN_DMA_CB(_devcb) \
|
||||
devcb = &scudsp_cpu_device::set_in_dma_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &scudsp_cpu_device::set_in_dma_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCUDSP_OUT_DMA_CB(_devcb) \
|
||||
devcb = &scudsp_cpu_device::set_out_dma_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &scudsp_cpu_device::set_out_dma_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
#define SCUDSP_RESET INPUT_LINE_RESET /* Non-Maskable */
|
||||
@ -62,9 +62,9 @@ public:
|
||||
// construction/destruction
|
||||
scudsp_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, UINT32 _clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_in_dma_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_in_dma_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_dma_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_out_dma_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_in_dma_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_in_dma_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_dma_callback(device_t &device, _Object object) { return downcast<scudsp_cpu_device &>(device).m_out_dma_cb.set_callback(object); }
|
||||
|
||||
/* port 0 */
|
||||
DECLARE_READ32_MEMBER( program_control_r );
|
||||
@ -101,9 +101,9 @@ protected:
|
||||
virtual UINT32 disasm_max_opcode_bytes() const { return 4; }
|
||||
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
|
||||
|
||||
devcb2_write_line m_out_irq_cb;
|
||||
devcb2_read16 m_in_dma_cb;
|
||||
devcb2_write16 m_out_dma_cb;
|
||||
devcb_write_line m_out_irq_cb;
|
||||
devcb_read16 m_in_dma_cb;
|
||||
devcb_write16 m_out_dma_cb;
|
||||
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
|
@ -4,10 +4,10 @@
|
||||
#define __SM8500_H__
|
||||
|
||||
#define MCFG_SM8500_DMA_CB(_devcb) \
|
||||
sm8500_cpu_device::set_dma_cb(*device, DEVCB2_##_devcb);
|
||||
sm8500_cpu_device::set_dma_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SM8500_TIMER_CB(_devcb) \
|
||||
sm8500_cpu_device::set_timer_cb(*device, DEVCB2_##_devcb);
|
||||
sm8500_cpu_device::set_timer_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
enum
|
||||
{
|
||||
@ -27,8 +27,8 @@ public:
|
||||
sm8500_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, UINT32 _clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_dma_cb(device_t &device, _Object object) { return downcast<sm8500_cpu_device &>(device).m_dma_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_timer_cb(device_t &device, _Object object) { return downcast<sm8500_cpu_device &>(device).m_timer_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_dma_cb(device_t &device, _Object object) { return downcast<sm8500_cpu_device &>(device).m_dma_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_timer_cb(device_t &device, _Object object) { return downcast<sm8500_cpu_device &>(device).m_timer_func.set_callback(object); }
|
||||
|
||||
/* interrupts */
|
||||
static const int ILL_INT = 0;
|
||||
@ -86,8 +86,8 @@ protected:
|
||||
|
||||
address_space_config m_program_config;
|
||||
|
||||
devcb2_write8 m_dma_func;
|
||||
devcb2_write8 m_timer_func;
|
||||
devcb_write8 m_dma_func;
|
||||
devcb_write8 m_timer_func;
|
||||
|
||||
UINT16 m_PC;
|
||||
UINT8 m_IE0;
|
||||
|
@ -85,7 +85,7 @@ enum
|
||||
|
||||
|
||||
#define MCFG_SUPERFX_OUT_IRQ(_devcb) \
|
||||
superfx_device::set_out_irq_func(*device, DEVCB2_##_devcb);
|
||||
superfx_device::set_out_irq_func(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class superfx_device : public cpu_device
|
||||
@ -95,7 +95,7 @@ public:
|
||||
superfx_device(const machine_config &mconfig, const char *_tag, device_t *_owner, UINT32 _clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_out_irq_func(device_t &device, _Object object) { return downcast<superfx_device &>(device).m_out_irq_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_irq_func(device_t &device, _Object object) { return downcast<superfx_device &>(device).m_out_irq_func.set_callback(object); }
|
||||
|
||||
UINT8 mmio_read(UINT32 addr);
|
||||
void mmio_write(UINT32 addr, UINT8 data);
|
||||
@ -129,7 +129,7 @@ protected:
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
|
||||
devcb2_write_line m_out_irq_func;
|
||||
devcb_write_line m_out_irq_func;
|
||||
|
||||
UINT8 m_pipeline;
|
||||
UINT16 m_ramaddr; // RAM Address
|
||||
|
@ -614,22 +614,22 @@ protected:
|
||||
void _F0();
|
||||
};
|
||||
|
||||
#define MCFG_TMP95C061_PORT1_READ( _port_read ) tmp95c061_device::set_port1_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT1_WRITE( _port_write ) tmp95c061_device::set_port1_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT2_WRITE( _port_write ) tmp95c061_device::set_port2_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT5_READ( _port_read ) tmp95c061_device::set_port5_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT5_WRITE( _port_write ) tmp95c061_device::set_port5_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT6_READ( _port_read ) tmp95c061_device::set_port6_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT6_WRITE( _port_write ) tmp95c061_device::set_port6_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT7_READ( _port_read ) tmp95c061_device::set_port7_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT7_WRITE( _port_write ) tmp95c061_device::set_port7_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT8_READ( _port_read ) tmp95c061_device::set_port8_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT8_WRITE( _port_write ) tmp95c061_device::set_port8_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT9_READ( _port_read ) tmp95c061_device::set_port9_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTA_READ( _port_read ) tmp95c061_device::set_porta_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTA_WRITE( _port_write ) tmp95c061_device::set_porta_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORTB_READ( _port_read ) tmp95c061_device::set_portb_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTB_WRITE( _port_write ) tmp95c061_device::set_portb_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT1_READ( _port_read ) tmp95c061_device::set_port1_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT1_WRITE( _port_write ) tmp95c061_device::set_port1_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT2_WRITE( _port_write ) tmp95c061_device::set_port2_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT5_READ( _port_read ) tmp95c061_device::set_port5_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT5_WRITE( _port_write ) tmp95c061_device::set_port5_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT6_READ( _port_read ) tmp95c061_device::set_port6_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT6_WRITE( _port_write ) tmp95c061_device::set_port6_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT7_READ( _port_read ) tmp95c061_device::set_port7_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT7_WRITE( _port_write ) tmp95c061_device::set_port7_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT8_READ( _port_read ) tmp95c061_device::set_port8_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORT8_WRITE( _port_write ) tmp95c061_device::set_port8_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORT9_READ( _port_read ) tmp95c061_device::set_port9_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTA_READ( _port_read ) tmp95c061_device::set_porta_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTA_WRITE( _port_write ) tmp95c061_device::set_porta_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C061_PORTB_READ( _port_read ) tmp95c061_device::set_portb_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C061_PORTB_WRITE( _port_write ) tmp95c061_device::set_portb_write( *device, DEVCB_##_port_write );
|
||||
|
||||
class tmp95c061_device : public tlcs900h_device
|
||||
{
|
||||
@ -638,21 +638,21 @@ public:
|
||||
tmp95c061_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_port1_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port1_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port1_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port1_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port2_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port2_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port5_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port5_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port5_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port5_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port6_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port6_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port7_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port7_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port7_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port7_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port8_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port8_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port8_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port8_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port9_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port9_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porta_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_porta_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porta_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_porta_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portb_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_portb_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portb_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_portb_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port1_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port1_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port1_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port1_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port2_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port2_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port5_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port5_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port5_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port5_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port6_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port6_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port7_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port7_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port7_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port7_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port8_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port8_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port8_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port8_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port9_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_port9_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porta_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_porta_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porta_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_porta_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portb_read(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_portb_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portb_write(device_t &device, _Object object) { return downcast<tmp95c061_device &>(device).m_portb_write.set_callback(object); }
|
||||
|
||||
DECLARE_READ8_MEMBER( internal_r );
|
||||
DECLARE_WRITE8_MEMBER( internal_w );
|
||||
@ -677,71 +677,71 @@ private:
|
||||
UINT8 m_to3;
|
||||
|
||||
// Port 1: 8 bit I/O. Shared with D8-D15
|
||||
devcb2_read8 m_port1_read;
|
||||
devcb2_write8 m_port1_write;
|
||||
devcb_read8 m_port1_read;
|
||||
devcb_write8 m_port1_write;
|
||||
|
||||
// Port 2: 8 bit output only. Shared with A16-A23
|
||||
devcb2_write8 m_port2_write;
|
||||
devcb_write8 m_port2_write;
|
||||
|
||||
// Port 5: 4 bit I/O. Shared with HWR, BUSRQ, BUSAK, RW
|
||||
devcb2_read8 m_port5_read;
|
||||
devcb2_write8 m_port5_write;
|
||||
devcb_read8 m_port5_read;
|
||||
devcb_write8 m_port5_write;
|
||||
|
||||
// Port 6: 6 bit I/O. Shared with CS0, CS1, CS3/LCAS, RAS, REFOUT
|
||||
devcb2_read8 m_port6_read;
|
||||
devcb2_write8 m_port6_write;
|
||||
devcb_read8 m_port6_read;
|
||||
devcb_write8 m_port6_write;
|
||||
|
||||
// Port 7: 8 bit I/O. Shared with PG0-OUT, PG1-OUT
|
||||
devcb2_read8 m_port7_read;
|
||||
devcb2_write8 m_port7_write;
|
||||
devcb_read8 m_port7_read;
|
||||
devcb_write8 m_port7_write;
|
||||
|
||||
// Port 8: 6 bit I/O. Shared with TXD0, TXD1, RXD0, RXD1, CTS0, SCLK0, SCLK1
|
||||
devcb2_read8 m_port8_read;
|
||||
devcb2_write8 m_port8_write;
|
||||
devcb_read8 m_port8_read;
|
||||
devcb_write8 m_port8_write;
|
||||
|
||||
// Port 9: 4 bit input only. Shared with AN0-AN3
|
||||
devcb2_read8 m_port9_read;
|
||||
devcb_read8 m_port9_read;
|
||||
|
||||
// Port A: 4 bit I/O. Shared with WAIT, TI0, TO1, TO2
|
||||
devcb2_read8 m_porta_read;
|
||||
devcb2_write8 m_porta_write;
|
||||
devcb_read8 m_porta_read;
|
||||
devcb_write8 m_porta_write;
|
||||
|
||||
// Port B: 8 bit I/O. Shared with TI4/INT4, TI5/INT5, TI6/INT6, TI7/INT7, TO4, TO5, TO6
|
||||
devcb2_read8 m_portb_read;
|
||||
devcb2_write8 m_portb_write;
|
||||
devcb_read8 m_portb_read;
|
||||
devcb_write8 m_portb_write;
|
||||
};
|
||||
|
||||
|
||||
#define MCFG_TMP95C063_PORT0_READ( _port_read ) tmp95c063_device::set_port0_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT0_WRITE( _port_write ) tmp95c063_device::set_port0_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT1_READ( _port_read ) tmp95c063_device::set_port1_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT1_WRITE( _port_write ) tmp95c063_device::set_port1_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT2_READ( _port_read ) tmp95c063_device::set_port2_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT2_WRITE( _port_write ) tmp95c063_device::set_port2_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT3_READ( _port_read ) tmp95c063_device::set_port3_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT3_WRITE( _port_write ) tmp95c063_device::set_port3_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT4_READ( _port_read ) tmp95c063_device::set_port4_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT4_WRITE( _port_write ) tmp95c063_device::set_port4_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT5_READ( _port_read ) tmp95c063_device::set_port5_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT5_WRITE( _port_write ) tmp95c063_device::set_port5_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT6_READ( _port_read ) tmp95c063_device::set_port6_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT6_WRITE( _port_write ) tmp95c063_device::set_port6_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT7_READ( _port_read ) tmp95c063_device::set_port7_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT7_WRITE( _port_write ) tmp95c063_device::set_port7_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT8_READ( _port_read ) tmp95c063_device::set_port8_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT8_WRITE( _port_write ) tmp95c063_device::set_port8_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT9_READ( _port_read ) tmp95c063_device::set_port9_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT9_WRITE( _port_write ) tmp95c063_device::set_port9_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTA_READ( _port_read ) tmp95c063_device::set_porta_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTA_WRITE( _port_write ) tmp95c063_device::set_porta_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTB_READ( _port_read ) tmp95c063_device::set_portb_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTB_WRITE( _port_write ) tmp95c063_device::set_portb_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTC_READ( _port_read ) tmp95c063_device::set_portc_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTC_WRITE( _port_write ) tmp95c063_device::set_portc_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTD_READ( _port_read ) tmp95c063_device::set_portd_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTD_WRITE( _port_write ) tmp95c063_device::set_portd_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTE_READ( _port_read ) tmp95c063_device::set_porte_read( *device, DEVCB2_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTE_WRITE( _port_write ) tmp95c063_device::set_porte_write( *device, DEVCB2_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT0_READ( _port_read ) tmp95c063_device::set_port0_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT0_WRITE( _port_write ) tmp95c063_device::set_port0_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT1_READ( _port_read ) tmp95c063_device::set_port1_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT1_WRITE( _port_write ) tmp95c063_device::set_port1_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT2_READ( _port_read ) tmp95c063_device::set_port2_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT2_WRITE( _port_write ) tmp95c063_device::set_port2_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT3_READ( _port_read ) tmp95c063_device::set_port3_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT3_WRITE( _port_write ) tmp95c063_device::set_port3_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT4_READ( _port_read ) tmp95c063_device::set_port4_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT4_WRITE( _port_write ) tmp95c063_device::set_port4_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT5_READ( _port_read ) tmp95c063_device::set_port5_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT5_WRITE( _port_write ) tmp95c063_device::set_port5_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT6_READ( _port_read ) tmp95c063_device::set_port6_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT6_WRITE( _port_write ) tmp95c063_device::set_port6_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT7_READ( _port_read ) tmp95c063_device::set_port7_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT7_WRITE( _port_write ) tmp95c063_device::set_port7_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT8_READ( _port_read ) tmp95c063_device::set_port8_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT8_WRITE( _port_write ) tmp95c063_device::set_port8_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORT9_READ( _port_read ) tmp95c063_device::set_port9_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORT9_WRITE( _port_write ) tmp95c063_device::set_port9_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTA_READ( _port_read ) tmp95c063_device::set_porta_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTA_WRITE( _port_write ) tmp95c063_device::set_porta_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTB_READ( _port_read ) tmp95c063_device::set_portb_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTB_WRITE( _port_write ) tmp95c063_device::set_portb_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTC_READ( _port_read ) tmp95c063_device::set_portc_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTC_WRITE( _port_write ) tmp95c063_device::set_portc_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTD_READ( _port_read ) tmp95c063_device::set_portd_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTD_WRITE( _port_write ) tmp95c063_device::set_portd_write( *device, DEVCB_##_port_write );
|
||||
#define MCFG_TMP95C063_PORTE_READ( _port_read ) tmp95c063_device::set_porte_read( *device, DEVCB_##_port_read );
|
||||
#define MCFG_TMP95C063_PORTE_WRITE( _port_write ) tmp95c063_device::set_porte_write( *device, DEVCB_##_port_write );
|
||||
|
||||
class tmp95c063_device : public tlcs900h_device
|
||||
{
|
||||
@ -753,28 +753,28 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( internal_w );
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_port1_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port1_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port1_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port1_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port2_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port2_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port5_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port5_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port5_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port5_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port6_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port6_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port6_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port6_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port7_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port7_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port7_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port7_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port8_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port8_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port8_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port8_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port9_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port9_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_port9_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port9_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porta_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porta_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porta_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porta_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portb_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portb_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portb_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portb_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portc_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portc_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portd_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portd_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_portd_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portd_write.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porte_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_read.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_porte_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port1_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port1_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port1_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port1_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port2_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port2_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port5_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port5_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port5_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port5_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port6_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port6_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port6_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port6_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port7_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port7_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port7_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port7_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port8_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port8_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port8_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port8_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port9_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port9_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_port9_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_port9_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porta_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porta_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porta_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porta_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portb_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portb_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portb_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portb_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portc_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portc_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portd_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portd_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_portd_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_portd_write.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porte_read(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_read.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_porte_write(device_t &device, _Object object) { return downcast<tmp95c063_device &>(device).m_porte_write.set_callback(object); }
|
||||
|
||||
protected:
|
||||
virtual void device_config_complete();
|
||||
@ -789,50 +789,50 @@ protected:
|
||||
|
||||
private:
|
||||
// Port 1: 8 bit I/O. Shared with d8-d15
|
||||
devcb2_read8 m_port1_read;
|
||||
devcb2_write8 m_port1_write;
|
||||
devcb_read8 m_port1_read;
|
||||
devcb_write8 m_port1_write;
|
||||
|
||||
// Port 2: 8 bit output only. Shared with a16-a23
|
||||
devcb2_write8 m_port2_write;
|
||||
devcb_write8 m_port2_write;
|
||||
|
||||
// Port 5: 6 bit I/O
|
||||
devcb2_read8 m_port5_read;
|
||||
devcb2_write8 m_port5_write;
|
||||
devcb_read8 m_port5_read;
|
||||
devcb_write8 m_port5_write;
|
||||
|
||||
// Port 6: 8 bit I/O. Shared with cs1, cs3 & dram control
|
||||
devcb2_read8 m_port6_read;
|
||||
devcb2_write8 m_port6_write;
|
||||
devcb_read8 m_port6_read;
|
||||
devcb_write8 m_port6_write;
|
||||
|
||||
// Port 7: 8 bit I/O
|
||||
devcb2_read8 m_port7_read;
|
||||
devcb2_write8 m_port7_write;
|
||||
devcb_read8 m_port7_read;
|
||||
devcb_write8 m_port7_write;
|
||||
|
||||
// Port 8: 8 bit I/O. Shared with SCOUT, WAIT, NMI2, INT0-INT3
|
||||
devcb2_read8 m_port8_read;
|
||||
devcb2_write8 m_port8_write;
|
||||
devcb_read8 m_port8_read;
|
||||
devcb_write8 m_port8_write;
|
||||
|
||||
// Port 9: 8 bit I/O. Shared with clock input and output for the 8-bit timers
|
||||
devcb2_read8 m_port9_read;
|
||||
devcb2_write8 m_port9_write;
|
||||
devcb_read8 m_port9_read;
|
||||
devcb_write8 m_port9_write;
|
||||
|
||||
// Port A: 8 bit I/O. Shared with serial channels 0/1
|
||||
devcb2_read8 m_porta_read;
|
||||
devcb2_write8 m_porta_write;
|
||||
devcb_read8 m_porta_read;
|
||||
devcb_write8 m_porta_write;
|
||||
|
||||
// Port B: 8 bit I/O. Shared with 16bit timers
|
||||
devcb2_read8 m_portb_read;
|
||||
devcb2_write8 m_portb_write;
|
||||
devcb_read8 m_portb_read;
|
||||
devcb_write8 m_portb_write;
|
||||
|
||||
// Port C: 8 bit input only. Shared with analogue inputs
|
||||
devcb2_read8 m_portc_read;
|
||||
devcb_read8 m_portc_read;
|
||||
|
||||
// Port D: 5 bit I/O. Shared with INT8
|
||||
devcb2_read8 m_portd_read;
|
||||
devcb2_write8 m_portd_write;
|
||||
devcb_read8 m_portd_read;
|
||||
devcb_write8 m_portd_write;
|
||||
|
||||
// Port E: 8 bit I/O.
|
||||
devcb2_read8 m_porte_read;
|
||||
devcb2_write8 m_porte_write;
|
||||
devcb_read8 m_porte_read;
|
||||
devcb_write8 m_porte_write;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -13,13 +13,13 @@ enum {
|
||||
tms1xxx_cpu_device::set_output_pla(*device, _pla);
|
||||
|
||||
#define MCFG_TMS1XXX_READ_K(_devcb) \
|
||||
tms1xxx_cpu_device::set_read_k(*device, DEVCB2_##_devcb);
|
||||
tms1xxx_cpu_device::set_read_k(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TMS1XXX_WRITE_O(_devcb) \
|
||||
tms1xxx_cpu_device::set_write_o(*device, DEVCB2_##_devcb);
|
||||
tms1xxx_cpu_device::set_write_o(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TMS1XXX_WRITE_R(_devcb) \
|
||||
tms1xxx_cpu_device::set_write_r(*device, DEVCB2_##_devcb);
|
||||
tms1xxx_cpu_device::set_write_r(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class tms1xxx_cpu_device : public cpu_device
|
||||
@ -53,9 +53,9 @@ public:
|
||||
{ }
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_read_k(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_read_k.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_write_o(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_write_o.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_write_r(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_write_r.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_read_k(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_read_k.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_write_o(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_write_o.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_write_r(device_t &device, _Object object) { return downcast<tms1xxx_cpu_device &>(device).m_write_r.set_callback(object); }
|
||||
static void set_output_pla(device_t &device, const UINT16 *output_pla) { downcast<tms1xxx_cpu_device &>(device).c_output_pla = output_pla; }
|
||||
|
||||
protected:
|
||||
@ -125,9 +125,9 @@ protected:
|
||||
address_space *m_data;
|
||||
|
||||
const UINT16 *c_output_pla;
|
||||
devcb2_read8 m_read_k;
|
||||
devcb2_write16 m_write_o;
|
||||
devcb2_write16 m_write_r;
|
||||
devcb_read8 m_read_k;
|
||||
devcb_write16 m_write_o;
|
||||
devcb_write16 m_write_r;
|
||||
|
||||
};
|
||||
|
||||
|
@ -57,13 +57,13 @@ public:
|
||||
void set_hold(int state);
|
||||
|
||||
// Callbacks
|
||||
template<class _Object> static devcb2_base &static_set_extop_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_external_operation.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_intlevel_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_get_intlevel.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_iaq_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_iaq_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_clkout_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_clock_out_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_wait_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_wait_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_holda_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_holda_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_dbin_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_dbin_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_extop_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_external_operation.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_intlevel_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_get_intlevel.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_iaq_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_iaq_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_clkout_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_clock_out_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_wait_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_wait_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_holda_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_holda_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_dbin_callback(device_t &device, _Object object) { return downcast<tms99xx_device &>(device).m_dbin_line.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -165,22 +165,22 @@ protected:
|
||||
// Clock output. This is not a pin of the TMS9900 because the TMS9900
|
||||
// needs an external clock, and usually one of those external lines is
|
||||
// used for this purpose.
|
||||
devcb2_write_line m_clock_out_line;
|
||||
devcb_write_line m_clock_out_line;
|
||||
|
||||
// Wait output. When asserted (high), the CPU is in a wait state.
|
||||
devcb2_write_line m_wait_line;
|
||||
devcb_write_line m_wait_line;
|
||||
|
||||
// HOLD Acknowledge line. When asserted (high), the CPU is in HOLD state.
|
||||
devcb2_write_line m_holda_line;
|
||||
devcb_write_line m_holda_line;
|
||||
|
||||
// Signal to the outside world that we are now getting an instruction
|
||||
devcb2_write_line m_iaq_line;
|
||||
devcb_write_line m_iaq_line;
|
||||
|
||||
// Get the value of the interrupt level lines
|
||||
devcb2_read8 m_get_intlevel;
|
||||
devcb_read8 m_get_intlevel;
|
||||
|
||||
// DBIN line. When asserted (high), the CPU has disabled the data bus output buffers.
|
||||
devcb2_write_line m_dbin_line;
|
||||
devcb_write_line m_dbin_line;
|
||||
|
||||
// Trigger external operation. This is achieved by putting a special value in
|
||||
// the most significant three bits of the address bus (TMS9995: data bus) and
|
||||
@ -202,7 +202,7 @@ protected:
|
||||
// We could realize this via the CRU access as well, but the data bus access
|
||||
// is not that simple to emulate. For the sake of homogenity between the
|
||||
// chip emulations we use a dedicated callback.
|
||||
devcb2_write8 m_external_operation;
|
||||
devcb_write8 m_external_operation;
|
||||
|
||||
|
||||
private:
|
||||
|
@ -27,19 +27,19 @@ enum
|
||||
};
|
||||
|
||||
#define MCFG_TMS9995_EXTOP_HANDLER( _extop) \
|
||||
devcb = &tms9995_device::static_set_extop_callback( *device, DEVCB2_##_extop );
|
||||
devcb = &tms9995_device::static_set_extop_callback( *device, DEVCB_##_extop );
|
||||
|
||||
#define MCFG_TMS9995_IAQ_HANDLER( _iaq ) \
|
||||
devcb = &tms9995_device::static_set_iaq_callback( *device, DEVCB2_##_iaq );
|
||||
devcb = &tms9995_device::static_set_iaq_callback( *device, DEVCB_##_iaq );
|
||||
|
||||
#define MCFG_TMS9995_CLKOUT_HANDLER( _clkout ) \
|
||||
devcb = &tms9995_device::static_set_clkout_callback( *device, DEVCB2_##_clkout );
|
||||
devcb = &tms9995_device::static_set_clkout_callback( *device, DEVCB_##_clkout );
|
||||
|
||||
#define MCFG_TMS9995_HOLDA_HANDLER( _holda ) \
|
||||
devcb = &tms9995_device::static_set_holda_callback( *device, DEVCB2_##_holda );
|
||||
devcb = &tms9995_device::static_set_holda_callback( *device, DEVCB_##_holda );
|
||||
|
||||
#define MCFG_TMS9995_DBIN_HANDLER( _dbin ) \
|
||||
devcb = &tms9995_device::static_set_dbin_callback( *device, DEVCB2_##_dbin );
|
||||
devcb = &tms9995_device::static_set_dbin_callback( *device, DEVCB_##_dbin );
|
||||
|
||||
#define MCFG_TMS9995_ENABLE_OVINT( _ovint ) \
|
||||
downcast<tms9995_device*>(device)->set_overflow_interrupt( _ovint );
|
||||
@ -62,11 +62,11 @@ public:
|
||||
void set_hold(int state);
|
||||
|
||||
// Callbacks
|
||||
template<class _Object> static devcb2_base &static_set_extop_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_external_operation.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_iaq_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_iaq_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_clkout_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_clock_out_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_holda_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_holda_line.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_dbin_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_dbin_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_extop_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_external_operation.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_iaq_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_iaq_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_clkout_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_clock_out_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_holda_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_holda_line.set_callback(object); }
|
||||
template<class _Object> static devcb_base &static_set_dbin_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_dbin_line.set_callback(object); }
|
||||
|
||||
// For debugger access
|
||||
UINT8 debug_read_onchip_memory(offs_t addr) { return m_onchip_memory[addr & 0xff]; };
|
||||
@ -411,22 +411,22 @@ private:
|
||||
// We could realize this via the CRU access as well, but the data bus access
|
||||
// is not that simple to emulate. For the sake of homogenity between the
|
||||
// chip emulations we use a dedicated callback.
|
||||
devcb2_write8 m_external_operation;
|
||||
devcb_write8 m_external_operation;
|
||||
|
||||
// Signal to the outside world that we are now getting an instruction (IAQ).
|
||||
// In the real hardware this line is shared with the HOLDA line, and the
|
||||
// /MEMEN line is used to decide which signal we have on the line. We do not
|
||||
// emulate the /MEMEN line, so we have to use two separate lines.
|
||||
devcb2_write_line m_iaq_line;
|
||||
devcb_write_line m_iaq_line;
|
||||
|
||||
// Clock output.
|
||||
devcb2_write_line m_clock_out_line;
|
||||
devcb_write_line m_clock_out_line;
|
||||
|
||||
// Asserted when the CPU is in a HOLD state
|
||||
devcb2_write_line m_holda_line;
|
||||
devcb_write_line m_holda_line;
|
||||
|
||||
// DBIN line. When asserted (high), the CPU has disabled the data bus output buffers.
|
||||
devcb2_write_line m_dbin_line;
|
||||
devcb_write_line m_dbin_line;
|
||||
};
|
||||
|
||||
|
||||
|
@ -47,25 +47,25 @@
|
||||
MCFG_DEVICE_IO_MAP(_iomap)
|
||||
|
||||
#define MCFG_TMS99xx_EXTOP_HANDLER( _extop) \
|
||||
devcb = &tms99xx_device::static_set_extop_callback( *device, DEVCB2_##_extop );
|
||||
devcb = &tms99xx_device::static_set_extop_callback( *device, DEVCB_##_extop );
|
||||
|
||||
#define MCFG_TMS99xx_INTLEVEL_HANDLER( _intlevel ) \
|
||||
devcb = &tms99xx_device::static_set_intlevel_callback( *device, DEVCB2_##_intlevel );
|
||||
devcb = &tms99xx_device::static_set_intlevel_callback( *device, DEVCB_##_intlevel );
|
||||
|
||||
#define MCFG_TMS99xx_IAQ_HANDLER( _iaq ) \
|
||||
devcb = &tms99xx_device::static_set_iaq_callback( *device, DEVCB2_##_iaq );
|
||||
devcb = &tms99xx_device::static_set_iaq_callback( *device, DEVCB_##_iaq );
|
||||
|
||||
#define MCFG_TMS99xx_CLKOUT_HANDLER( _clkout ) \
|
||||
devcb = &tms99xx_device::static_set_clkout_callback( *device, DEVCB2_##_clkout );
|
||||
devcb = &tms99xx_device::static_set_clkout_callback( *device, DEVCB_##_clkout );
|
||||
|
||||
#define MCFG_TMS99xx_WAIT_HANDLER( _wait ) \
|
||||
devcb = &tms99xx_device::static_set_wait_callback( *device, DEVCB2_##_wait );
|
||||
devcb = &tms99xx_device::static_set_wait_callback( *device, DEVCB_##_wait );
|
||||
|
||||
#define MCFG_TMS99xx_HOLDA_HANDLER( _holda ) \
|
||||
devcb = &tms99xx_device::static_set_holda_callback( *device, DEVCB2_##_holda );
|
||||
devcb = &tms99xx_device::static_set_holda_callback( *device, DEVCB_##_holda );
|
||||
|
||||
#define MCFG_TMS99xx_DBIN_HANDLER( _dbin ) \
|
||||
devcb = &tms99xx_device::static_set_dbin_callback( *device, DEVCB2_##_dbin );
|
||||
devcb = &tms99xx_device::static_set_dbin_callback( *device, DEVCB_##_dbin );
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -32,37 +32,37 @@ class upd96050_device;
|
||||
|
||||
|
||||
#define MCFG_NECDSP_IN_INT_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_int_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_int_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_IN_SI_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_si_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_si_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_IN_SCK_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_sck_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_sck_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_IN_SIEN_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_sien_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_sien_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_IN_SOEN_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_soen_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_soen_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_IN_DACK_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_in_dack_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_in_dack_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_OUT_P0_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_out_p0_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_out_p0_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_OUT_P1_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_out_p1_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_out_p1_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_OUT_SO_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_out_so_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_out_so_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_OUT_SORQ_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_out_sorq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_out_sorq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_NECDSP_OUT_DRQ_CB(_devcb) \
|
||||
devcb = &necdsp_device::set_out_drq_callback(*device, DEVCB2_##_devcb);
|
||||
devcb = &necdsp_device::set_out_drq_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
// ======================> necdsp_device
|
||||
@ -75,17 +75,17 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
template<class _Object> static devcb2_base &set_in_int_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_int_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_in_si_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_si_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_in_sck_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_sck_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_in_sien_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_sien_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_in_soen_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_soen_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_in_dack_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_dack_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_p0_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_p0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_p1_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_p1_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_out_so_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_so_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_out_sorq_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_sorq_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb2_base &set_out_drq_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_drq_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_in_int_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_int_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_in_si_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_si_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_in_sck_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_sck_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_in_sien_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_sien_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_in_soen_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_soen_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_in_dack_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_in_dack_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_p0_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_p0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_out_p1_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_p1_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_out_so_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_so_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_out_sorq_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_sorq_cb.set_callback(object); }
|
||||
//template<class _Object> static devcb_base &set_out_drq_callback(device_t &device, _Object object) { return downcast<necdsp_device &>(device).m_out_drq_cb.set_callback(object); }
|
||||
|
||||
UINT8 snesdsp_read(bool mode);
|
||||
void snesdsp_write(bool mode, UINT8 data);
|
||||
@ -197,17 +197,17 @@ private:
|
||||
|
||||
protected:
|
||||
// device callbacks
|
||||
devcb2_read_line m_in_int_cb;
|
||||
//devcb2_read8 m_in_si_cb;
|
||||
//devcb2_read_line m_in_sck_cb;
|
||||
//devcb2_read_line m_in_sien_cb;
|
||||
//devcb2_read_line m_in_soen_cb;
|
||||
//devcb2_read_line m_in_dack_cb;
|
||||
devcb2_write_line m_out_p0_cb;
|
||||
devcb2_write_line m_out_p1_cb;
|
||||
//devcb2_write8 m_out_so_cb;
|
||||
//devcb2_write_line m_out_sorq_cb;
|
||||
//devcb2_write_line m_out_drq_cb;
|
||||
devcb_read_line m_in_int_cb;
|
||||
//devcb_read8 m_in_si_cb;
|
||||
//devcb_read_line m_in_sck_cb;
|
||||
//devcb_read_line m_in_sien_cb;
|
||||
//devcb_read_line m_in_soen_cb;
|
||||
//devcb_read_line m_in_dack_cb;
|
||||
devcb_write_line m_out_p0_cb;
|
||||
devcb_write_line m_out_p1_cb;
|
||||
//devcb_write8 m_out_so_cb;
|
||||
//devcb_write_line m_out_sorq_cb;
|
||||
//devcb_write_line m_out_drq_cb;
|
||||
};
|
||||
|
||||
class upd7725_device : public necdsp_device
|
||||
|
@ -48,37 +48,37 @@ enum
|
||||
|
||||
|
||||
#define MCFG_UPD7810_TO(_devcb) \
|
||||
upd7810_device::set_to_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_to_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_TXD(_devcb) \
|
||||
upd7810_device::set_txd_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_txd_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_RXD(_devcb) \
|
||||
upd7810_device::set_rxd_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_rxd_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN0(_devcb) \
|
||||
upd7810_device::set_an0_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an0_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN1(_devcb) \
|
||||
upd7810_device::set_an1_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an1_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN2(_devcb) \
|
||||
upd7810_device::set_an2_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an2_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN3(_devcb) \
|
||||
upd7810_device::set_an3_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an3_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN4(_devcb) \
|
||||
upd7810_device::set_an4_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an4_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN5(_devcb) \
|
||||
upd7810_device::set_an5_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an5_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN6(_devcb) \
|
||||
upd7810_device::set_an6_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an6_func(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_UPD7810_AN7(_devcb) \
|
||||
upd7810_device::set_an7_func(*device, DEVCB2_##_devcb);
|
||||
upd7810_device::set_an7_func(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
class upd7810_device : public cpu_device
|
||||
@ -89,17 +89,17 @@ public:
|
||||
upd7810_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_to_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_to_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_txd_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_txd_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_rxd_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_rxd_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an0_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an0_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an1_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an1_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an2_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an2_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an3_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an3_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an4_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an4_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an5_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an5_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an6_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an6_func.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_an7_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an7_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_to_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_to_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_txd_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_txd_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_rxd_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_rxd_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an0_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an0_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an1_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an1_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an2_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an2_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an3_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an3_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an4_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an4_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an5_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an5_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an6_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an6_func.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_an7_func(device_t &device, _Object object) { return downcast<upd7810_device &>(device).m_an7_func.set_callback(object); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -127,17 +127,17 @@ protected:
|
||||
virtual void handle_timers(int cycles);
|
||||
virtual void upd7810_take_irq();
|
||||
|
||||
devcb2_write_line m_to_func;
|
||||
devcb2_write_line m_txd_func;
|
||||
devcb2_read_line m_rxd_func;
|
||||
devcb2_read_line m_an0_func;
|
||||
devcb2_read_line m_an1_func;
|
||||
devcb2_read_line m_an2_func;
|
||||
devcb2_read_line m_an3_func;
|
||||
devcb2_read_line m_an4_func;
|
||||
devcb2_read_line m_an5_func;
|
||||
devcb2_read_line m_an6_func;
|
||||
devcb2_read_line m_an7_func;
|
||||
devcb_write_line m_to_func;
|
||||
devcb_write_line m_txd_func;
|
||||
devcb_read_line m_rxd_func;
|
||||
devcb_read_line m_an0_func;
|
||||
devcb_read_line m_an1_func;
|
||||
devcb_read_line m_an2_func;
|
||||
devcb_read_line m_an3_func;
|
||||
devcb_read_line m_an4_func;
|
||||
devcb_read_line m_an5_func;
|
||||
devcb_read_line m_an6_func;
|
||||
devcb_read_line m_an7_func;
|
||||
|
||||
typedef void (upd7810_device::*opcode_func)();
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user