Previous 199869 Revisions Next

r29184 Wednesday 2nd April, 2014 at 13:21:36 UTC by Curt Coder
i8275x: devcb2 cleanup. (nw)
[src/emu/video]i8275x.h
[src/mess/drivers]wicat.c zorba.c
[src/mess/video]mikromik.c

trunk/src/emu/video/i8275x.h
r29183r29184
4545//  INTERFACE CONFIGURATION MACROS
4646//**************************************************************************
4747
48#define MCFG_I8275_ADD(_tag, _clock, _hpixels_per_column, _display_func, _drq) \
48#define MCFG_I8275_ADD(_tag, _clock, _hpixels_per_column, _display_func) \
4949   MCFG_DEVICE_ADD(_tag, I8275x, _clock) \
5050   downcast<i8275x_device *>(device)->set_hpixels_per_column(_hpixels_per_column); \
51   downcast<i8275x_device *>(device)->set_display_func(_display_func); \
52   downcast<i8275x_device *>(device)->set_drq_callback(DEVCB2_##_drq);
51   downcast<i8275x_device *>(device)->set_display_func(_display_func);
5352
54#define MCFG_I8275_IRQ_CALLBACK(_irq) \
55   downcast<i8275x_device *>(device)->set_irq_callback(DEVCB2_##_irq);
56#define MCFG_I8275_HRTC_CALLBACK(_hrtc) \
57   downcast<i8275x_device *>(device)->set_hrtc_callback(DEVCB2_##_hrtc);
58#define MCFG_I8275_VRTC_CALLBACK(_vrtc) \
59   downcast<i8275x_device *>(device)->set_vrtc_callback(DEVCB2_##_vrtc);
6053
54#define MCFG_I8275_DRQ_CALLBACK(_write) \
55   devcb = &i8275x_device::set_drq_wr_callback(*device, DEVCB2_##_write);
6156
57#define MCFG_I8275_IRQ_CALLBACK(_write) \
58   devcb = &i8275x_device::set_irq_wr_callback(*device, DEVCB2_##_write);
6259
60#define MCFG_I8275_HRTC_CALLBACK(_write) \
61   devcb = &i8275x_device::set_hrtc_wr_callback(*device, DEVCB2_##_write);
62
63#define MCFG_I8275_VRTC_CALLBACK(_write) \
64   devcb = &i8275x_device::set_vrtc_wr_callback(*device, DEVCB2_##_write);
65
66
67
68
6369//**************************************************************************
6470//  TYPE DEFINITIONS
6571//**************************************************************************
r29183r29184
8288   // construction/destruction
8389   i8275x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
8490
85   template<class _irq> void set_irq_callback(_irq irq) { m_write_irq.set_callback(irq); }
86   template<class _drq> void set_drq_callback(_drq drq) { m_write_drq.set_callback(drq); }
87   template<class _hrtc> void set_hrtc_callback(_hrtc hrtc) { m_write_hrtc.set_callback(hrtc); }
88   template<class _vrtc> void set_vrtc_callback(_vrtc vrtc) { m_write_vrtc.set_callback(vrtc); }
8991   void set_hpixels_per_column(int hpixels_per_column) { m_hpixels_per_column = hpixels_per_column; }
9092   void set_display_func(i8275_display_pixels_func func) { m_display_pixels = func; }
9193
94   template<class _Object> static devcb2_base &set_drq_wr_callback(device_t &device, _Object object) { return downcast<i8275x_device &>(device).m_write_drq.set_callback(object); }
95   template<class _Object> static devcb2_base &set_irq_wr_callback(device_t &device, _Object object) { return downcast<i8275x_device &>(device).m_write_irq.set_callback(object); }
96   template<class _Object> static devcb2_base &set_hrtc_wr_callback(device_t &device, _Object object) { return downcast<i8275x_device &>(device).m_write_hrtc.set_callback(object); }
97   template<class _Object> static devcb2_base &set_vrtc_wr_callback(device_t &device, _Object object) { return downcast<i8275x_device &>(device).m_write_vrtc.set_callback(object); }
98
9299   DECLARE_READ8_MEMBER( read );
93100   DECLARE_WRITE8_MEMBER( write );
94101
trunk/src/mess/drivers/wicat.c
r29183r29184
887887
888888   MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
889889
890   MCFG_I8275_ADD("video",XTAL_19_6608MHz/8,9,wicat_display_pixels,DEVWRITELINE("videodma",am9517a_device, dreq0_w))
890   MCFG_I8275_ADD("video",XTAL_19_6608MHz/8,9,wicat_display_pixels)
891   MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE("videodma",am9517a_device, dreq0_w))
891892   MCFG_I8275_IRQ_CALLBACK(WRITELINE(wicat_state,crtc_cb))
892893   MCFG_VIDEO_SET_SCREEN("screen")
893894
trunk/src/mess/drivers/zorba.c
r29183r29184
394394   MCFG_PIT8253_CLK1(XTAL_24MHz / 3) /* Timer 1: ? */
395395   MCFG_PIT8253_CLK2(XTAL_24MHz / 3) /* Timer 2: ? */
396396
397   MCFG_I8275_ADD("crtc", XTAL_14_31818MHz/7, 8, zorba_update_chr, DEVWRITELINE("dma", z80dma_device, rdy_w))
397   MCFG_I8275_ADD("crtc", XTAL_14_31818MHz/7, 8, zorba_update_chr)
398   MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE("dma", z80dma_device, rdy_w))
398399   MCFG_I8275_IRQ_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
399400   MCFG_FD1793x_ADD("fdc", XTAL_24MHz / 24)
400401   MCFG_FLOPPY_DRIVE_ADD("fdc:0", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats)
trunk/src/mess/video/mikromik.c
r29183r29184
114114   MCFG_GFXDECODE_ADD("gfxdecode", "palette", mm1)
115115   MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette")
116116
117   MCFG_I8275_ADD(I8275_TAG, XTAL_18_720MHz/8, 8, crtc_display_pixels, DEVWRITELINE(I8237_TAG, am9517a_device, dreq0_w))
117   MCFG_I8275_ADD(I8275_TAG, XTAL_18_720MHz/8, 8, crtc_display_pixels)
118   MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE(I8237_TAG, am9517a_device, dreq0_w))
118119   MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
119120
120121   MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, XTAL_18_720MHz/8)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team