summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/video/abc802.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/video/abc802.c')
-rw-r--r--src/mess/video/abc802.c39
1 files changed, 11 insertions, 28 deletions
diff --git a/src/mess/video/abc802.c b/src/mess/video/abc802.c
index a8dac53e8c3..667f8cfe931 100644
--- a/src/mess/video/abc802.c
+++ b/src/mess/video/abc802.c
@@ -14,7 +14,7 @@
// MC6845_UPDATE_ROW( abc802_update_row )
//-------------------------------------------------
-static MC6845_UPDATE_ROW( abc802_update_row )
+MC6845_UPDATE_ROW( abc802_state::abc802_update_row )
{
/*
@@ -55,8 +55,7 @@ static MC6845_UPDATE_ROW( abc802_update_row )
*/
- abc802_state *state = device->machine().driver_data<abc802_state>();
- const pen_t *pen = state->m_palette->pens();
+ const pen_t *pen = m_palette->pens();
int rf = 0, rc = 0, rg = 0;
@@ -64,7 +63,7 @@ static MC6845_UPDATE_ROW( abc802_update_row )
for (int column = 0; column < x_count; column++)
{
- UINT8 code = state->m_char_ram[(ma + column) & 0x7ff];
+ UINT8 code = m_char_ram[(ma + column) & 0x7ff];
UINT16 address = code << 4;
UINT8 ra_latch = ra;
UINT8 data;
@@ -76,7 +75,7 @@ static MC6845_UPDATE_ROW( abc802_update_row )
ra_latch = 0x0f;
}
- if ((state->m_flshclk && rf) || rc)
+ if ((m_flshclk && rf) || rc)
{
ra_latch = 0x0e;
}
@@ -86,7 +85,7 @@ static MC6845_UPDATE_ROW( abc802_update_row )
address |= 0x800;
}
- data = state->m_char_rom->base()[(address + ra_latch) & 0xfff];
+ data = m_char_rom->base()[(address + ra_latch) & 0xfff];
if (data & ABC802_ATE)
{
@@ -119,7 +118,7 @@ static MC6845_UPDATE_ROW( abc802_update_row )
{
data <<= 2;
- if (state->m_80_40_mux)
+ if (m_80_40_mux)
{
for (int bit = 0; bit < ABC800_CHAR_WIDTH; bit++)
{
@@ -176,26 +175,6 @@ WRITE_LINE_MEMBER( abc802_state::vs_w )
}
-//-------------------------------------------------
-// mc6845_interface crtc_intf
-//-------------------------------------------------
-
-static MC6845_INTERFACE( crtc_intf )
-{
- true,
- 0,0,0,0,
- ABC800_CHAR_WIDTH,
- NULL,
- abc802_update_row,
- NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_DRIVER_LINE_MEMBER(abc802_state, vs_w),
- NULL
-};
-
-
void abc802_state::video_start()
{
// register for state saving
@@ -223,7 +202,11 @@ UINT32 abc802_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
//-------------------------------------------------
MACHINE_CONFIG_FRAGMENT( abc802_video )
- MCFG_MC6845_ADD(MC6845_TAG, MC6845, SCREEN_TAG, ABC800_CCLK, crtc_intf)
+ MCFG_MC6845_ADD(MC6845_TAG, MC6845, SCREEN_TAG, ABC800_CCLK)
+ MCFG_MC6845_SHOW_BORDER_AREA(true)
+ MCFG_MC6845_CHAR_WIDTH(ABC800_CHAR_WIDTH)
+ MCFG_MC6845_UPDATE_ROW_CB(abc802_state, abc802_update_row)
+ MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(abc802_state, vs_w))
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_UPDATE_DRIVER(abc802_state, screen_update)