summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/zrt80.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/zrt80.c')
-rw-r--r--src/mess/drivers/zrt80.c33
1 files changed, 11 insertions, 22 deletions
diff --git a/src/mess/drivers/zrt80.c b/src/mess/drivers/zrt80.c
index ae669a6e373..9692961291d 100644
--- a/src/mess/drivers/zrt80.c
+++ b/src/mess/drivers/zrt80.c
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(zrt80_30_w);
DECLARE_WRITE8_MEMBER(zrt80_38_w);
DECLARE_WRITE8_MEMBER(kbd_put);
+ MC6845_UPDATE_ROW(crtc_update_row);
const UINT8 *m_p_chargen;
required_shared_ptr<UINT8> m_p_videoram;
protected:
@@ -214,21 +215,20 @@ void zrt80_state::video_start()
m_p_chargen = memregion("chargen")->base();
}
-static MC6845_UPDATE_ROW( zrt80_update_row )
+MC6845_UPDATE_ROW( zrt80_state::crtc_update_row )
{
- zrt80_state *state = device->machine().driver_data<zrt80_state>();
- const rgb_t *palette = state->m_palette->palette()->entry_list_raw();
+ const rgb_t *palette = m_palette->palette()->entry_list_raw();
UINT8 chr,gfx,inv;
UINT16 mem,x;
UINT32 *p = &bitmap.pix32(y);
- UINT8 polarity = state->ioport("DIPSW1")->read() & 4 ? 0xff : 0;
+ UINT8 polarity = ioport("DIPSW1")->read() & 4 ? 0xff : 0;
for (x = 0; x < x_count; x++)
{
inv = polarity;
if (x == cursor_x) inv ^= 0xff;
mem = (ma + x) & 0x1fff;
- chr = state->m_p_videoram[mem];
+ chr = m_p_videoram[mem];
if BIT(chr, 7)
{
@@ -236,7 +236,7 @@ static MC6845_UPDATE_ROW( zrt80_update_row )
chr &= 0x7f;
}
- gfx = state->m_p_chargen[(chr<<4) | ra] ^ inv;
+ gfx = m_p_chargen[(chr<<4) | ra] ^ inv;
/* Display a scanline of a character */
*p++ = palette[BIT(gfx, 7)];
@@ -251,21 +251,6 @@ static MC6845_UPDATE_ROW( zrt80_update_row )
}
-static MC6845_INTERFACE( zrt80_crtc6845_interface )
-{
- false,
- 0,0,0,0,
- 8 /*?*/,
- NULL,
- zrt80_update_row,
- NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- NULL
-};
-
static const ins8250_interface zrt80_com_interface =
{
DEVCB_NULL,
@@ -322,7 +307,11 @@ static MACHINE_CONFIG_START( zrt80, zrt80_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* Devices */
- MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_20MHz / 8, zrt80_crtc6845_interface)
+ MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_20MHz / 8)
+ MCFG_MC6845_SHOW_BORDER_AREA(false)
+ MCFG_MC6845_CHAR_WIDTH(8) /*?*/
+ MCFG_MC6845_UPDATE_ROW_CB(zrt80_state, crtc_update_row)
+
MCFG_INS8250_ADD( "ins8250", zrt80_com_interface, 2457600 )
MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0)
MCFG_GENERIC_KEYBOARD_CB(WRITE8(zrt80_state, kbd_put))