trunk/src/emu/video/i8275x.h
| r29183 | r29184 | |
| 45 | 45 | // INTERFACE CONFIGURATION MACROS |
| 46 | 46 | //************************************************************************** |
| 47 | 47 | |
| 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) \ |
| 49 | 49 | MCFG_DEVICE_ADD(_tag, I8275x, _clock) \ |
| 50 | 50 | 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); |
| 53 | 52 | |
| 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); |
| 60 | 53 | |
| 54 | #define MCFG_I8275_DRQ_CALLBACK(_write) \ |
| 55 | devcb = &i8275x_device::set_drq_wr_callback(*device, DEVCB2_##_write); |
| 61 | 56 | |
| 57 | #define MCFG_I8275_IRQ_CALLBACK(_write) \ |
| 58 | devcb = &i8275x_device::set_irq_wr_callback(*device, DEVCB2_##_write); |
| 62 | 59 | |
| 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 | |
| 63 | 69 | //************************************************************************** |
| 64 | 70 | // TYPE DEFINITIONS |
| 65 | 71 | //************************************************************************** |
| r29183 | r29184 | |
| 82 | 88 | // construction/destruction |
| 83 | 89 | i8275x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 84 | 90 | |
| 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); } |
| 89 | 91 | void set_hpixels_per_column(int hpixels_per_column) { m_hpixels_per_column = hpixels_per_column; } |
| 90 | 92 | void set_display_func(i8275_display_pixels_func func) { m_display_pixels = func; } |
| 91 | 93 | |
| 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 | |
| 92 | 99 | DECLARE_READ8_MEMBER( read ); |
| 93 | 100 | DECLARE_WRITE8_MEMBER( write ); |
| 94 | 101 | |
trunk/src/mess/drivers/wicat.c
| r29183 | r29184 | |
| 887 | 887 | |
| 888 | 888 | MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette") |
| 889 | 889 | |
| 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)) |
| 891 | 892 | MCFG_I8275_IRQ_CALLBACK(WRITELINE(wicat_state,crtc_cb)) |
| 892 | 893 | MCFG_VIDEO_SET_SCREEN("screen") |
| 893 | 894 | |
trunk/src/mess/drivers/zorba.c
| r29183 | r29184 | |
| 394 | 394 | MCFG_PIT8253_CLK1(XTAL_24MHz / 3) /* Timer 1: ? */ |
| 395 | 395 | MCFG_PIT8253_CLK2(XTAL_24MHz / 3) /* Timer 2: ? */ |
| 396 | 396 | |
| 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)) |
| 398 | 399 | MCFG_I8275_IRQ_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) |
| 399 | 400 | MCFG_FD1793x_ADD("fdc", XTAL_24MHz / 24) |
| 400 | 401 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) |
trunk/src/mess/video/mikromik.c
| r29183 | r29184 | |
| 114 | 114 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", mm1) |
| 115 | 115 | MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette") |
| 116 | 116 | |
| 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)) |
| 118 | 119 | MCFG_VIDEO_SET_SCREEN(SCREEN_TAG) |
| 119 | 120 | |
| 120 | 121 | MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, XTAL_18_720MHz/8) |