diff options
Diffstat (limited to 'src/mess/video/abc802.c')
-rw-r--r-- | src/mess/video/abc802.c | 39 |
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) |