diff options
author | 2014-04-01 12:36:22 +0000 | |
---|---|---|
committer | 2014-04-01 12:36:22 +0000 | |
commit | 6b11efe669c4f6bf30c0c51745fcb7bde0e8deea (patch) | |
tree | f25fb8f0e68a0b9017c65848e98c89611a655007 /src | |
parent | 09802006a1a7afd6ed8d45625827ea4afd3e7bdc (diff) |
(MESS) Cleanups. (nw)
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/bus/c64/exp.h | 45 | ||||
-rw-r--r-- | src/emu/bus/plus4/exp.h | 34 | ||||
-rw-r--r-- | src/emu/bus/vic10/exp.h | 26 | ||||
-rw-r--r-- | src/emu/bus/vic20/exp.h | 22 | ||||
-rw-r--r-- | src/emu/bus/vip/exp.c | 4 | ||||
-rw-r--r-- | src/emu/bus/vip/exp.h | 23 | ||||
-rw-r--r-- | src/emu/bus/vip/vp575.c | 42 | ||||
-rw-r--r-- | src/emu/bus/vip/vp575.h | 32 | ||||
-rw-r--r-- | src/mess/drivers/abc1600.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/c128.c | 16 | ||||
-rw-r--r-- | src/mess/drivers/c64.c | 24 | ||||
-rw-r--r-- | src/mess/drivers/compis.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/comx35.c | 1 | ||||
-rw-r--r-- | src/mess/drivers/pet.c | 15 | ||||
-rw-r--r-- | src/mess/drivers/plus4.c | 7 | ||||
-rw-r--r-- | src/mess/drivers/vic10.c | 6 | ||||
-rw-r--r-- | src/mess/drivers/vic20.c | 8 | ||||
-rw-r--r-- | src/mess/drivers/vip.c | 4 | ||||
-rw-r--r-- | src/mess/video/abc1600.c | 19 |
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") { } |