mirror of
https://github.com/holub/mame
synced 2025-05-29 09:03:08 +03:00
i8275x: Cleanup. (nw)
This commit is contained in:
parent
3ca9eb10e2
commit
a8ce9e5e33
@ -88,7 +88,7 @@ i8275x_device::i8275x_device(const machine_config &mconfig, const char *tag, dev
|
||||
m_write_drq(*this),
|
||||
m_write_hrtc(*this),
|
||||
m_write_vrtc(*this),
|
||||
m_display_pixels(NULL),
|
||||
m_display_cb(NULL),
|
||||
m_status(0),
|
||||
m_param_idx(0),
|
||||
m_param_end(0),
|
||||
@ -329,8 +329,8 @@ void i8275x_device::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
lc = (lc - 1) & 0x0f;
|
||||
}
|
||||
|
||||
if (m_display_pixels)
|
||||
m_display_pixels(this, m_bitmap,
|
||||
if (m_display_cb)
|
||||
m_display_cb(this, m_bitmap,
|
||||
sx * m_hpixels_per_column, // x position on screen of starting point
|
||||
m_scanline, // y position on screen
|
||||
lc, // current line of char
|
||||
|
@ -45,11 +45,11 @@
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_I8275_ADD(_tag, _clock, _hpixels_per_column, _display_func) \
|
||||
MCFG_DEVICE_ADD(_tag, I8275x, _clock) \
|
||||
downcast<i8275x_device *>(device)->set_hpixels_per_column(_hpixels_per_column); \
|
||||
downcast<i8275x_device *>(device)->set_display_func(_display_func);
|
||||
#define MCFG_I8275_CHARACTER_WIDTH(_value) \
|
||||
i8275x_device::static_set_character_width(*device, _value);
|
||||
|
||||
#define MCFG_I8275_DISPLAY_CALLBACK(_func) \
|
||||
i8275x_device::static_set_display_callback(*device, _func);
|
||||
|
||||
#define MCFG_I8275_DRQ_CALLBACK(_write) \
|
||||
devcb = &i8275x_device::set_drq_wr_callback(*device, DEVCB2_##_write);
|
||||
@ -88,8 +88,8 @@ public:
|
||||
// construction/destruction
|
||||
i8275x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
void set_hpixels_per_column(int hpixels_per_column) { m_hpixels_per_column = hpixels_per_column; }
|
||||
void set_display_func(i8275_display_pixels_func func) { m_display_pixels = func; }
|
||||
static void static_set_character_width(device_t &device, int value) { downcast<i8275x_device &>(device).m_hpixels_per_column = value; }
|
||||
static void static_set_display_callback(device_t &device, i8275_display_pixels_func func) { downcast<i8275x_device &>(device).m_display_cb = func; }
|
||||
|
||||
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); }
|
||||
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); }
|
||||
@ -178,7 +178,7 @@ protected:
|
||||
devcb2_write_line m_write_hrtc;
|
||||
devcb2_write_line m_write_vrtc;
|
||||
|
||||
i8275_display_pixels_func m_display_pixels;
|
||||
i8275_display_pixels_func m_display_cb;
|
||||
int m_hpixels_per_column;
|
||||
|
||||
bitmap_rgb32 m_bitmap;
|
||||
|
@ -887,7 +887,9 @@ static MACHINE_CONFIG_START( wicat, wicat_state )
|
||||
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
|
||||
|
||||
MCFG_I8275_ADD("video",XTAL_19_6608MHz/8,9,wicat_display_pixels)
|
||||
MCFG_DEVICE_ADD("video", I8275x, XTAL_19_6608MHz/8)
|
||||
MCFG_I8275_CHARACTER_WIDTH(9)
|
||||
MCFG_I8275_DISPLAY_CALLBACK(wicat_display_pixels)
|
||||
MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE("videodma",am9517a_device, dreq0_w))
|
||||
MCFG_I8275_IRQ_CALLBACK(WRITELINE(wicat_state,crtc_cb))
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
|
@ -394,7 +394,9 @@ static MACHINE_CONFIG_START( zorba, zorba_state )
|
||||
MCFG_PIT8253_CLK1(XTAL_24MHz / 3) /* Timer 1: ? */
|
||||
MCFG_PIT8253_CLK2(XTAL_24MHz / 3) /* Timer 2: ? */
|
||||
|
||||
MCFG_I8275_ADD("crtc", XTAL_14_31818MHz/7, 8, zorba_update_chr)
|
||||
MCFG_DEVICE_ADD("crtc", I8275x, XTAL_14_31818MHz/7)
|
||||
MCFG_I8275_CHARACTER_WIDTH(8)
|
||||
MCFG_I8275_DISPLAY_CALLBACK(zorba_update_chr)
|
||||
MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE("dma", z80dma_device, rdy_w))
|
||||
MCFG_I8275_IRQ_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_FD1793x_ADD("fdc", XTAL_24MHz / 24)
|
||||
|
@ -114,8 +114,11 @@ MACHINE_CONFIG_FRAGMENT( mm1m6_video )
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mm1)
|
||||
MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette")
|
||||
|
||||
MCFG_I8275_ADD(I8275_TAG, XTAL_18_720MHz/8, 8, crtc_display_pixels)
|
||||
MCFG_DEVICE_ADD(I8275_TAG, I8275x, XTAL_18_720MHz/8)
|
||||
MCFG_I8275_CHARACTER_WIDTH(8)
|
||||
MCFG_I8275_DISPLAY_CALLBACK(crtc_display_pixels)
|
||||
MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE(I8237_TAG, am9517a_device, dreq0_w))
|
||||
MCFG_I8275_VRTC_CALLBACK(DEVWRITELINE(UPD7220_TAG, upd7220_device, ext_sync_w))
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
|
||||
MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, XTAL_18_720MHz/8)
|
||||
|
Loading…
Reference in New Issue
Block a user