summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2014-04-01 12:36:22 +0000
committer Curt Coder <curtcoder@mail.com>2014-04-01 12:36:22 +0000
commit6b11efe669c4f6bf30c0c51745fcb7bde0e8deea (patch)
treef25fb8f0e68a0b9017c65848e98c89611a655007 /src
parent09802006a1a7afd6ed8d45625827ea4afd3e7bdc (diff)
(MESS) Cleanups. (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/bus/c64/exp.h45
-rw-r--r--src/emu/bus/plus4/exp.h34
-rw-r--r--src/emu/bus/vic10/exp.h26
-rw-r--r--src/emu/bus/vic20/exp.h22
-rw-r--r--src/emu/bus/vip/exp.c4
-rw-r--r--src/emu/bus/vip/exp.h23
-rw-r--r--src/emu/bus/vip/vp575.c42
-rw-r--r--src/emu/bus/vip/vp575.h32
-rw-r--r--src/mess/drivers/abc1600.c2
-rw-r--r--src/mess/drivers/c128.c16
-rw-r--r--src/mess/drivers/c64.c24
-rw-r--r--src/mess/drivers/compis.c2
-rw-r--r--src/mess/drivers/comx35.c1
-rw-r--r--src/mess/drivers/pet.c15
-rw-r--r--src/mess/drivers/plus4.c7
-rw-r--r--src/mess/drivers/vic10.c6
-rw-r--r--src/mess/drivers/vic20.c8
-rw-r--r--src/mess/drivers/vip.c4
-rw-r--r--src/mess/video/abc1600.c19
19 files changed, 200 insertions, 132 deletions
diff --git a/src/emu/bus/c64/exp.h b/src/emu/bus/c64/exp.h
index 678441c6260..83f09109585 100644
--- a/src/emu/bus/c64/exp.h
+++ b/src/emu/bus/c64/exp.h
@@ -62,15 +62,31 @@
#define MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD() \
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, 0, c64_expansion_cards, NULL) \
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, irq_w), DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, nmi_w), DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, reset_w)) \
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(DEVREAD8(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_cd_r), DEVWRITE8(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_cd_w), DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, irq_w)) \
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, nmi_w)) \
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, reset_w)) \
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(DEVREAD8(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_cd_r)) \
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(DEVWRITE8(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_cd_w)) \
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, c64_expansion_slot_device, dma_w))
-#define MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(_irq, _nmi, _reset) \
- downcast<c64_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB2_##_irq, DEVCB2_##_nmi, DEVCB2_##_reset);
+#define MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
+ devcb = &c64_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
-#define MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(_read, _write, _dma) \
- downcast<c64_expansion_slot_device *>(device)->set_dma_callbacks(DEVCB2_##_read, DEVCB2_##_write, DEVCB2_##_dma);
+#define MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(_write) \
+ devcb = &c64_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(_write) \
+ devcb = &c64_expansion_slot_device::set_reset_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(_read) \
+ devcb = &c64_expansion_slot_device::set_cd_rd_callback(*device, DEVCB2_##_read);
+
+#define MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(_write) \
+ devcb = &c64_expansion_slot_device::set_cd_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(_write) \
+ devcb = &c64_expansion_slot_device::set_dma_wr_callback(*device, DEVCB2_##_write);
@@ -90,17 +106,12 @@ public:
// construction/destruction
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _irq, class _nmi, class _reset> void set_irq_callbacks(_irq irq, _nmi nmi, _reset reset) {
- m_write_irq.set_callback(irq);
- m_write_nmi.set_callback(nmi);
- m_write_reset.set_callback(reset);
- }
-
- template<class _read, class _write, class _dma> void set_dma_callbacks(_read read, _write write, _dma dma) {
- m_read_dma_cd.set_callback(read);
- m_write_dma_cd.set_callback(write);
- m_write_dma.set_callback(dma);
- }
+ 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); }
// 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);
diff --git a/src/emu/bus/plus4/exp.h b/src/emu/bus/plus4/exp.h
index dcdffcecdfc..cb364fdf7dd 100644
--- a/src/emu/bus/plus4/exp.h
+++ b/src/emu/bus/plus4/exp.h
@@ -58,18 +58,29 @@
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
-#define MCFG_PLUS4_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot, _irq) \
+#define MCFG_PLUS4_EXPANSION_SLOT_ADD(_tag, _clock, _slot_intf, _def_slot) \
MCFG_DEVICE_ADD(_tag, PLUS4_EXPANSION_SLOT, _clock) \
- downcast<plus4_expansion_slot_device *>(device)->set_irq_callback(DEVCB2_##_irq); \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_PLUS4_PASSTHRU_EXPANSION_SLOT_ADD() \
- MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, 0, plus4_expansion_cards, NULL, DEVWRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, irq_w)) \
- MCFG_PLUS4_EXPANSION_SLOT_DMA_CALLBACKS(DEVREAD8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_r), DEVWRITE8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_w), DEVWRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, aec_w))
+ MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, 0, plus4_expansion_cards, NULL) \
+ MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, irq_w)) \
+ MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(DEVREAD8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_r)) \
+ MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(DEVWRITE8(DEVICE_SELF_OWNER, plus4_expansion_slot_device, dma_cd_w)) \
+ MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, plus4_expansion_slot_device, aec_w))
-#define MCFG_PLUS4_EXPANSION_SLOT_DMA_CALLBACKS(_read, _write, _aec) \
- downcast<plus4_expansion_slot_device *>(device)->set_dma_callbacks(DEVCB2_##_read, DEVCB2_##_write, DEVCB2_##_aec);
+#define MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
+ devcb = &plus4_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(_read) \
+ devcb = &plus4_expansion_slot_device::set_cd_rd_callback(*device, DEVCB2_##_read);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(_write) \
+ devcb = &plus4_expansion_slot_device::set_cd_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(_write) \
+ devcb = &plus4_expansion_slot_device::set_aec_wr_callback(*device, DEVCB2_##_write);
@@ -89,13 +100,10 @@ public:
// construction/destruction
plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _irq> void set_irq_callback(_irq irq) { m_write_irq.set_callback(irq); }
-
- template<class _read, class _write, class _aec> void set_dma_callbacks(_read read, _write write, _aec aec) {
- m_read_dma_cd.set_callback(read);
- m_write_dma_cd.set_callback(write);
- m_write_aec.set_callback(aec);
- }
+ 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); }
// 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);
diff --git a/src/emu/bus/vic10/exp.h b/src/emu/bus/vic10/exp.h
index a190fbafd6c..e675dfe3867 100644
--- a/src/emu/bus/vic10/exp.h
+++ b/src/emu/bus/vic10/exp.h
@@ -61,6 +61,19 @@
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
+ devcb = &vic10_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIC10_EXPANSION_SLOT_RES_CALLBACK(_write) \
+ devcb = &vic10_expansion_slot_device::set_res_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIC10_EXPANSION_SLOT_CNT_CALLBACK(_write) \
+ devcb = &vic10_expansion_slot_device::set_cnt_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIC10_EXPANSION_SLOT_SP_CALLBACK(_write) \
+ devcb = &vic10_expansion_slot_device::set_sp_wr_callback(*device, DEVCB2_##_write);
+
+
#define MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(_irq, _res) \
downcast<vic10_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB2_##_irq, DEVCB2_##_res);
@@ -85,15 +98,10 @@ public:
// construction/destruction
vic10_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _irq, class _res> void set_irq_callbacks(_irq irq, _res res) {
- m_write_irq.set_callback(irq);
- m_write_res.set_callback(res);
- }
-
- template<class _cnt, class _sp> void set_serial_callbacks(_cnt cnt, _sp sp) {
- m_write_cnt.set_callback(cnt);
- m_write_sp.set_callback(sp);
- }
+ 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); }
// computer interface
UINT8 cd_r(address_space &space, offs_t offset, UINT8 data, int lorom, int uprom, int exram);
diff --git a/src/emu/bus/vic20/exp.h b/src/emu/bus/vic20/exp.h
index 94e0c8fd145..2f52cc1c91f 100644
--- a/src/emu/bus/vic20/exp.h
+++ b/src/emu/bus/vic20/exp.h
@@ -61,11 +61,19 @@
#define MCFG_VIC20_PASSTHRU_EXPANSION_SLOT_ADD(_tag) \
MCFG_VIC20_EXPANSION_SLOT_ADD(_tag, 0, vic20_expansion_cards, NULL) \
- MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, irq_w), DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, nmi_w), DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, res_w))
+ MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, irq_w)) \
+ MCFG_VIC20_EXPANSION_SLOT_NMI_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, nmi_w)) \
+ MCFG_VIC20_EXPANSION_SLOT_RES_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, vic20_expansion_slot_device, res_w))
-#define MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACKS(_irq, _nmi, _res) \
- downcast<vic20_expansion_slot_device *>(device)->set_irq_callbacks(DEVCB2_##_irq, DEVCB2_##_nmi, DEVCB2_##_res);
+#define MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACK(_write) \
+ devcb = &vic20_expansion_slot_device::set_irq_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIC20_EXPANSION_SLOT_NMI_CALLBACK(_write) \
+ devcb = &vic20_expansion_slot_device::set_nmi_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIC20_EXPANSION_SLOT_RES_CALLBACK(_write) \
+ devcb = &vic20_expansion_slot_device::set_res_wr_callback(*device, DEVCB2_##_write);
@@ -85,11 +93,9 @@ public:
// construction/destruction
vic20_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _irq, class _nmi, class _res> void set_irq_callbacks(_irq irq, _nmi nmi, _res res) {
- m_write_irq.set_callback(irq);
- m_write_nmi.set_callback(nmi);
- m_write_res.set_callback(res);
- }
+ 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); }
// 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);
diff --git a/src/emu/bus/vip/exp.c b/src/emu/bus/vip/exp.c
index c5d66804266..11e11b3916c 100644
--- a/src/emu/bus/vip/exp.c
+++ b/src/emu/bus/vip/exp.c
@@ -56,7 +56,7 @@ device_vip_expansion_card_interface::device_vip_expansion_card_interface(const m
vip_expansion_slot_device::vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, VIP_EXPANSION_SLOT, "VIP expansion port", tag, owner, clock, "vip_expansion_slot", __FILE__),
device_slot_interface(mconfig, *this),
- m_write_irq(*this),
+ m_write_int(*this),
m_write_dma_out(*this),
m_write_dma_in(*this)
{
@@ -72,7 +72,7 @@ void vip_expansion_slot_device::device_start()
m_card = dynamic_cast<device_vip_expansion_card_interface *>(get_card_device());
// resolve callbacks
- m_write_irq.resolve_safe();
+ m_write_int.resolve_safe();
m_write_dma_out.resolve_safe();
m_write_dma_in.resolve_safe();
}
diff --git a/src/emu/bus/vip/exp.h b/src/emu/bus/vip/exp.h
index 3d9f8711f67..ba7a3682ac7 100644
--- a/src/emu/bus/vip/exp.h
+++ b/src/emu/bus/vip/exp.h
@@ -59,10 +59,15 @@
MCFG_DEVICE_ADD(_tag, VIP_EXPANSION_SLOT, _clock) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-#define MCFG_VIP_EXPANSION_SLOT_CALLBACKS(_irq, _dma_out, _dma_in) \
- downcast<vip_expansion_slot_device *>(device)->set_irq_callback(DEVCB2_##_irq); \
- downcast<vip_expansion_slot_device *>(device)->set_dma_out_callback(DEVCB2_##_dma_out); \
- downcast<vip_expansion_slot_device *>(device)->set_dma_in_callback(DEVCB2_##_dma_in);
+
+#define MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(_write) \
+ devcb = &vip_expansion_slot_device::set_int_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(_write) \
+ devcb = &vip_expansion_slot_device::set_dma_out_wr_callback(*device, DEVCB2_##_write);
+
+#define MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(_write) \
+ devcb = &vip_expansion_slot_device::set_dma_in_wr_callback(*device, DEVCB2_##_write);
@@ -81,9 +86,9 @@ public:
// construction/destruction
vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- template<class _irq> void set_irq_callback(_irq irq) { m_write_irq.set_callback(irq); }
- template<class _dma_out> void set_dma_out_callback(_dma_out dma_out) { m_write_dma_out.set_callback(dma_out); }
- template<class _dma_in> void set_dma_in_callback(_dma_in dma_in) { m_write_dma_in.set_callback(dma_in); }
+ 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); }
// computer interface
UINT8 program_r(address_space &space, offs_t offset, int cs, int cdef, int *minh);
@@ -101,7 +106,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( run_w );
// cartridge interface
- DECLARE_WRITE_LINE_MEMBER( interrupt_w ) { m_write_irq(state); }
+ DECLARE_WRITE_LINE_MEMBER( interrupt_w ) { m_write_int(state); }
DECLARE_WRITE_LINE_MEMBER( dma_out_w ) { m_write_dma_out(state); }
DECLARE_WRITE_LINE_MEMBER( dma_in_w ) { m_write_dma_in(state); }
@@ -109,7 +114,7 @@ protected:
// device-level overrides
virtual void device_start();
- devcb2_write_line m_write_irq;
+ devcb2_write_line m_write_int;
devcb2_write_line m_write_dma_out;
devcb2_write_line m_write_dma_in;
diff --git a/src/emu/bus/vip/vp575.c b/src/emu/bus/vip/vp575.c
index 8e959369239..29aebe42106 100644
--- a/src/emu/bus/vip/vp575.c
+++ b/src/emu/bus/vip/vp575.c
@@ -42,24 +42,6 @@ void vp575_device::update_interrupts()
m_slot->dma_in_w(dma_in);
}
-WRITE_LINE_MEMBER( vp575_device::exp1_int_w ) { m_int[0] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp2_int_w ) { m_int[1] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp3_int_w ) { m_int[2] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp4_int_w ) { m_int[3] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp5_int_w ) { m_int[4] = state; update_interrupts(); }
-
-WRITE_LINE_MEMBER( vp575_device::exp1_dma_out_w ) { m_dma_out[0] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp2_dma_out_w ) { m_dma_out[1] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp3_dma_out_w ) { m_dma_out[2] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp4_dma_out_w ) { m_dma_out[3] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp5_dma_out_w ) { m_dma_out[4] = state; update_interrupts(); }
-
-WRITE_LINE_MEMBER( vp575_device::exp1_dma_in_w ) { m_dma_in[0] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp2_dma_in_w ) { m_dma_in[1] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp3_dma_in_w ) { m_dma_in[2] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp4_dma_in_w ) { m_dma_in[3] = state; update_interrupts(); }
-WRITE_LINE_MEMBER( vp575_device::exp5_dma_in_w ) { m_dma_in[4] = state; update_interrupts(); }
-
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( vp575 )
@@ -67,15 +49,29 @@ WRITE_LINE_MEMBER( vp575_device::exp5_dma_in_w ) { m_dma_in[4] = state; update_i
static MACHINE_CONFIG_FRAGMENT( vp575 )
MCFG_VIP_EXPANSION_SLOT_ADD("exp1", XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp1_int_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp1_dma_out_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp1_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vp575_device, exp1_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vp575_device, exp1_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vp575_device, exp1_dma_in_w))
+
MCFG_VIP_EXPANSION_SLOT_ADD("exp2", XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp2_int_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp2_dma_out_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp2_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vp575_device, exp2_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vp575_device, exp2_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vp575_device, exp2_dma_in_w))
+
MCFG_VIP_EXPANSION_SLOT_ADD("exp3", XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp3_int_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp3_dma_out_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp3_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vp575_device, exp3_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vp575_device, exp3_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vp575_device, exp3_dma_in_w))
+
MCFG_VIP_EXPANSION_SLOT_ADD("exp4", XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp4_int_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp4_dma_out_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp4_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vp575_device, exp4_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vp575_device, exp4_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vp575_device, exp4_dma_in_w))
+
MCFG_VIP_EXPANSION_SLOT_ADD("exp5", XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp5_int_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp5_dma_out_w), DEVWRITELINE(DEVICE_SELF_OWNER, vp575_device, exp5_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vp575_device, exp5_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vp575_device, exp5_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vp575_device, exp5_dma_in_w))
MACHINE_CONFIG_END
diff --git a/src/emu/bus/vip/vp575.h b/src/emu/bus/vip/vp575.h
index 375af27a26a..49517880192 100644
--- a/src/emu/bus/vip/vp575.h
+++ b/src/emu/bus/vip/vp575.h
@@ -44,21 +44,23 @@ public:
virtual machine_config_constructor device_mconfig_additions() const;
// not really public
- DECLARE_WRITE_LINE_MEMBER( exp1_int_w );
- DECLARE_WRITE_LINE_MEMBER( exp2_int_w );
- DECLARE_WRITE_LINE_MEMBER( exp3_int_w );
- DECLARE_WRITE_LINE_MEMBER( exp4_int_w );
- DECLARE_WRITE_LINE_MEMBER( exp5_int_w );
- DECLARE_WRITE_LINE_MEMBER( exp1_dma_out_w );
- DECLARE_WRITE_LINE_MEMBER( exp2_dma_out_w );
- DECLARE_WRITE_LINE_MEMBER( exp3_dma_out_w );
- DECLARE_WRITE_LINE_MEMBER( exp4_dma_out_w );
- DECLARE_WRITE_LINE_MEMBER( exp5_dma_out_w );
- DECLARE_WRITE_LINE_MEMBER( exp1_dma_in_w );
- DECLARE_WRITE_LINE_MEMBER( exp2_dma_in_w );
- DECLARE_WRITE_LINE_MEMBER( exp3_dma_in_w );
- DECLARE_WRITE_LINE_MEMBER( exp4_dma_in_w );
- DECLARE_WRITE_LINE_MEMBER( exp5_dma_in_w );
+ DECLARE_WRITE_LINE_MEMBER( exp1_int_w ) { m_int[0] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp2_int_w ) { m_int[1] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp3_int_w ) { m_int[2] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp4_int_w ) { m_int[3] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp5_int_w ) { m_int[4] = state; update_interrupts(); }
+
+ DECLARE_WRITE_LINE_MEMBER( exp1_dma_out_w ) { m_dma_out[0] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp2_dma_out_w ) { m_dma_out[1] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp3_dma_out_w ) { m_dma_out[2] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp4_dma_out_w ) { m_dma_out[3] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp5_dma_out_w ) { m_dma_out[4] = state; update_interrupts(); }
+
+ DECLARE_WRITE_LINE_MEMBER( exp1_dma_in_w ) { m_dma_in[0] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp2_dma_in_w ) { m_dma_in[1] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp3_dma_in_w ) { m_dma_in[2] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp4_dma_in_w ) { m_dma_in[3] = state; update_interrupts(); }
+ DECLARE_WRITE_LINE_MEMBER( exp5_dma_in_w ) { m_dma_in[4] = state; update_interrupts(); }
void update_interrupts();
diff --git a/src/mess/drivers/abc1600.c b/src/mess/drivers/abc1600.c
index 594303d6de2..ec415f77014 100644
--- a/src/mess/drivers/abc1600.c
+++ b/src/mess/drivers/abc1600.c
@@ -469,7 +469,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mac_mem, AS_PROGRAM, 8, abc1600_state )
AM_RANGE(0x000000, 0x0fffff) AM_RAM
- AM_RANGE(0x100000, 0x17ffff) AM_DEVICE(ABC1600_MOVER_TAG, abc1600_mover_device, vram_map)//AM_READWRITE(video_ram_r, video_ram_w)
+ AM_RANGE(0x100000, 0x17ffff) AM_DEVICE(ABC1600_MOVER_TAG, abc1600_mover_device, vram_map)
AM_RANGE(0x1fe000, 0x1fefff) AM_READWRITE(bus_r, bus_w)
AM_RANGE(0x1ff000, 0x1ff000) AM_MIRROR(0xf9) AM_DEVREADWRITE(SAB1797_02P_TAG, fd1797_t, status_r, cmd_w)
AM_RANGE(0x1ff002, 0x1ff002) AM_MIRROR(0xf9) AM_DEVREADWRITE(SAB1797_02P_TAG, fd1797_t, track_r, track_w)
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c
index 956ddc67e57..785d61d5262 100644
--- a/src/mess/drivers/c128.c
+++ b/src/mess/drivers/c128.c
@@ -1511,8 +1511,12 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8564_TAG, mos8564_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_14_31818MHz*2/3.5/8, c64_expansion_cards, NULL)
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c128_state, exp_dma_cd_r), WRITE8(c128_state, exp_dma_cd_w), WRITELINE(c128_state, exp_dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c128_state, exp_irq_w))
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c128_state, exp_nmi_w))
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c128_state, exp_reset_w))
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c128_state, exp_dma_cd_r))
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c128_state, exp_dma_cd_w))
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c128_state, exp_dma_w))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, NULL)
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c128_state, exp_reset_w))
@@ -1671,8 +1675,12 @@ static MACHINE_CONFIG_START( pal, c128_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8566_TAG, mos8566_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_17_734472MHz*2/4.5/8, c64_expansion_cards, NULL)
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c128_state, exp_dma_cd_r), WRITE8(c128_state, exp_dma_cd_w), WRITELINE(c128_state, exp_dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c128_state, exp_irq_w))
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c128_state, exp_nmi_w))
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c128_state, exp_reset_w))
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c128_state, exp_dma_cd_r))
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c128_state, exp_dma_cd_w))
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c128_state, exp_dma_w))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, NULL)
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c128_state, exp_reset_w))
diff --git a/src/mess/drivers/c64.c b/src/mess/drivers/c64.c
index 0fd2ae952d6..691a0b54f93 100644
--- a/src/mess/drivers/c64.c
+++ b/src/mess/drivers/c64.c
@@ -1140,8 +1140,12 @@ static MACHINE_CONFIG_START( ntsc, c64_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_14_31818MHz/14, c64_expansion_cards, NULL)
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c64_state, read), WRITE8(c64_state, write), WRITELINE(c64_state, exp_dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w))
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w))
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w))
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read))
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write))
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, NULL)
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w))
@@ -1291,8 +1295,12 @@ static MACHINE_CONFIG_START( pal, c64_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_17_734472MHz/18, c64_expansion_cards, NULL)
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c64_state, read), WRITE8(c64_state, write), WRITELINE(c64_state, exp_dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w))
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w))
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w))
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read))
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write))
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, NULL)
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w))
@@ -1419,8 +1427,12 @@ static MACHINE_CONFIG_START( pal_gs, c64gs_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_17_734472MHz/18, c64_expansion_cards, NULL)
- MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
- MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c64_state, read), WRITE8(c64_state, write), WRITELINE(c64_state, exp_dma_w))
+ MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w))
+ MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w))
+ MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w))
+ MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read))
+ MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write))
+ MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w))
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, NULL)
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w))
diff --git a/src/mess/drivers/compis.c b/src/mess/drivers/compis.c
index a0d7d8e936f..f19bba2b7ed 100644
--- a/src/mess/drivers/compis.c
+++ b/src/mess/drivers/compis.c
@@ -766,6 +766,8 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsb_w))
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(compis_state, write_centronics_busy))
+ MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(compis_state, write_centronics_select))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
MCFG_ISBX_SLOT_ADD(ISBX_0_TAG, 0, isbx_cards, "fdc")
diff --git a/src/mess/drivers/comx35.c b/src/mess/drivers/comx35.c
index a6f30e8a369..60d868955fb 100644
--- a/src/mess/drivers/comx35.c
+++ b/src/mess/drivers/comx35.c
@@ -4,7 +4,6 @@
TODO:
- - unreliable DOS commands?
- tape input/output
- PL-80 plotter
- serial printer
diff --git a/src/mess/drivers/pet.c b/src/mess/drivers/pet.c
index a056fba4c7d..c4b3b667f2c 100644
--- a/src/mess/drivers/pet.c
+++ b/src/mess/drivers/pet.c
@@ -135,7 +135,6 @@ ROM sockets: UA3 2K or 4K character
TODO:
- accurate video timing for non-CRTC models
- - PET 4000-12 (40 column CRTC models)
- High Speed Graphics board
- keyboard layouts
- Swedish
@@ -1069,6 +1068,13 @@ UINT32 pet_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con
// MC6845_INTERFACE( crtc_intf )
//-------------------------------------------------
+static MC6845_BEGIN_UPDATE( pet_begin_update )
+{
+ bitmap.fill(rgb_t::black);
+
+ return 0;
+}
+
static MC6845_UPDATE_ROW( pet80_update_row )
{
pet80_state *state = device->machine().driver_data<pet80_state>();
@@ -1118,7 +1124,7 @@ static MC6845_INTERFACE( crtc_intf )
true,
0,0,0,0,
2*8,
- NULL,
+ pet_begin_update,
pet80_update_row,
NULL,
DEVCB_NULL,
@@ -1132,11 +1138,6 @@ static MC6845_INTERFACE( crtc_intf )
//-------------------------------------------------
// MC6845_INTERFACE( pet40_crtc_intf )
//-------------------------------------------------
-static MC6845_BEGIN_UPDATE( pet_begin_update )
-{
- bitmap.fill(rgb_t::black);
- return 0;
-}
static MC6845_UPDATE_ROW( pet40_update_row )
{
diff --git a/src/mess/drivers/plus4.c b/src/mess/drivers/plus4.c
index 058f86427b9..b971905b08b 100644
--- a/src/mess/drivers/plus4.c
+++ b/src/mess/drivers/plus4.c
@@ -799,8 +799,11 @@ static MACHINE_CONFIG_START( plus4, plus4_state )
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
- MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, XTAL_14_31818MHz/16, plus4_expansion_cards, "c1551", WRITELINE(plus4_state, exp_irq_w))
- MCFG_PLUS4_EXPANSION_SLOT_DMA_CALLBACKS(READ8(plus4_state, read), WRITE8(plus4_state, write), INPUTLINE(MOS7501_TAG, INPUT_LINE_HALT))
+ MCFG_PLUS4_EXPANSION_SLOT_ADD(PLUS4_EXPANSION_SLOT_TAG, XTAL_14_31818MHz/16, plus4_expansion_cards, "c1551")
+ MCFG_PLUS4_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(plus4_state, exp_irq_w))
+ MCFG_PLUS4_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(plus4_state, read))
+ MCFG_PLUS4_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(plus4_state, write))
+ MCFG_PLUS4_EXPANSION_SLOT_AEC_CALLBACK(INPUTLINE(MOS7501_TAG, INPUT_LINE_HALT))
MCFG_QUICKLOAD_ADD("quickload", plus4_state, cbm_c16, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
diff --git a/src/mess/drivers/vic10.c b/src/mess/drivers/vic10.c
index e258d834850..7ce65dec6c2 100644
--- a/src/mess/drivers/vic10.c
+++ b/src/mess/drivers/vic10.c
@@ -644,8 +644,10 @@ static MACHINE_CONFIG_START( vic10, vic10_state )
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6566_TAG, mos6566_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_VIC10_EXPANSION_SLOT_ADD(VIC10_EXPANSION_SLOT_TAG, XTAL_8MHz/8, vic10_expansion_cards, NULL)
- MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(vic10_state, exp_irq_w), WRITELINE(vic10_state, exp_reset_w))
- MCFG_VIC10_EXPANSION_SLOT_SERIAL_CALLBACKS(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w))
+ MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(vic10_state, exp_irq_w))
+ MCFG_VIC10_EXPANSION_SLOT_RES_CALLBACK(WRITELINE(vic10_state, exp_reset_w))
+ MCFG_VIC10_EXPANSION_SLOT_CNT_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w))
+ MCFG_VIC10_EXPANSION_SLOT_SP_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w))
// software list
MCFG_SOFTWARE_LIST_ADD("cart_list", "vic10")
diff --git a/src/mess/drivers/vic20.c b/src/mess/drivers/vic20.c
index ff9404d1ce0..fdab6fd2e0b 100644
--- a/src/mess/drivers/vic20.c
+++ b/src/mess/drivers/vic20.c
@@ -730,7 +730,9 @@ static MACHINE_CONFIG_DERIVED( ntsc, vic20 )
// devices
MCFG_VIC20_EXPANSION_SLOT_ADD(VIC20_EXPANSION_SLOT_TAG, MOS6560_CLOCK, vic20_expansion_cards, NULL)
- MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACKS(INPUTLINE(M6502_TAG, M6502_IRQ_LINE), INPUTLINE(M6502_TAG, M6502_NMI_LINE), WRITELINE(vic20_state, exp_reset_w))
+ MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACK(INPUTLINE(M6502_TAG, M6502_IRQ_LINE))
+ MCFG_VIC20_EXPANSION_SLOT_NMI_CALLBACK(INPUTLINE(M6502_TAG, M6502_NMI_LINE))
+ MCFG_VIC20_EXPANSION_SLOT_RES_CALLBACK(WRITELINE(vic20_state, exp_reset_w))
// software lists
MCFG_SOFTWARE_LIST_FILTER("cart_list", "NTSC")
@@ -757,7 +759,9 @@ static MACHINE_CONFIG_DERIVED( pal, vic20 )
// devices
MCFG_VIC20_EXPANSION_SLOT_ADD(VIC20_EXPANSION_SLOT_TAG, MOS6561_CLOCK, vic20_expansion_cards, NULL)
- MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACKS(INPUTLINE(M6502_TAG, M6502_IRQ_LINE), INPUTLINE(M6502_TAG, M6502_NMI_LINE), WRITELINE(vic20_state, exp_reset_w))
+ MCFG_VIC20_EXPANSION_SLOT_IRQ_CALLBACK(INPUTLINE(M6502_TAG, M6502_IRQ_LINE))
+ MCFG_VIC20_EXPANSION_SLOT_NMI_CALLBACK(INPUTLINE(M6502_TAG, M6502_NMI_LINE))
+ MCFG_VIC20_EXPANSION_SLOT_RES_CALLBACK(WRITELINE(vic20_state, exp_reset_w))
// software lists
MCFG_SOFTWARE_LIST_FILTER("cart_list", "PAL")
diff --git a/src/mess/drivers/vip.c b/src/mess/drivers/vip.c
index 18ebd03a343..3fb99e69a3a 100644
--- a/src/mess/drivers/vip.c
+++ b/src/mess/drivers/vip.c
@@ -754,7 +754,9 @@ static MACHINE_CONFIG_START( vip, vip_state )
MCFG_VIP_BYTEIO_PORT_ADD(VIP_BYTEIO_PORT_TAG, vip_byteio_cards, NULL, WRITELINE(vip_state, byteio_inst_w))
MCFG_VIP_EXPANSION_SLOT_ADD(VIP_EXPANSION_SLOT_TAG, XTAL_3_52128MHz/2, vip_expansion_cards, NULL)
- MCFG_VIP_EXPANSION_SLOT_CALLBACKS(WRITELINE(vip_state, exp_int_w), WRITELINE(vip_state, exp_dma_out_w), WRITELINE(vip_state, exp_dma_in_w))
+ MCFG_VIP_EXPANSION_SLOT_INT_CALLBACK(WRITELINE(vip_state, exp_int_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_OUT_CALLBACK(WRITELINE(vip_state, exp_dma_out_w))
+ MCFG_VIP_EXPANSION_SLOT_DMA_IN_CALLBACK(WRITELINE(vip_state, exp_dma_in_w))
// devices
MCFG_QUICKLOAD_ADD("quickload", vip_state, vip, "bin,c8,c8x", 0)
diff --git a/src/mess/video/abc1600.c b/src/mess/video/abc1600.c
index 754cce75e41..85593b94b16 100644
--- a/src/mess/video/abc1600.c
+++ b/src/mess/video/abc1600.c
@@ -14,7 +14,6 @@
TODO:
- portrait/landscape detection is broken
- - bottom border is not respected
*/
@@ -254,15 +253,15 @@ machine_config_constructor abc1600_mover_device::device_mconfig_additions() cons
// abc1600_mover_device - constructor
//-------------------------------------------------
-abc1600_mover_device::abc1600_mover_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, ABC1600_MOVER, "ABC 1600 Mover", tag, owner, clock, "abc1600mover", __FILE__),
- device_memory_interface(mconfig, *this),
- m_space_config("vram", ENDIANNESS_BIG, 16, 18, -1, *ADDRESS_MAP_NAME(mover_map)),
- m_crtc(*this, SY6845E_TAG),
- m_palette(*this, "palette"),
- m_wrmsk_rom(*this, "wrmsk"),
- m_shinf_rom(*this, "shinf"),
- m_drmsk_rom(*this, "drmsk")
+abc1600_mover_device::abc1600_mover_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
+ device_t(mconfig, ABC1600_MOVER, "ABC 1600 Mover", tag, owner, clock, "abc1600mover", __FILE__),
+ device_memory_interface(mconfig, *this),
+ m_space_config("vram", ENDIANNESS_BIG, 16, 18, -1, *ADDRESS_MAP_NAME(mover_map)),
+ m_crtc(*this, SY6845E_TAG),
+ m_palette(*this, "palette"),
+ m_wrmsk_rom(*this, "wrmsk"),
+ m_shinf_rom(*this, "shinf"),
+ m_drmsk_rom(*this, "drmsk")
{
}