summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/video/apple2gs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/video/apple2gs.c')
-rw-r--r--src/mess/video/apple2gs.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/mess/video/apple2gs.c b/src/mess/video/apple2gs.c
index cf8e684ca50..0d4ddfdd4f0 100644
--- a/src/mess/video/apple2gs.c
+++ b/src/mess/video/apple2gs.c
@@ -24,9 +24,8 @@ VIDEO_START_MEMBER(apple2gs_state,apple2gs)
-SCREEN_UPDATE_IND16( apple2gs )
+UINT32 apple2gs_state::screen_update_apple2gs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- apple2gs_state *state = screen.machine().driver_data<apple2gs_state>();
const UINT8 *vram;
UINT16 *scanline;
UINT8 scb, b;
@@ -36,7 +35,7 @@ SCREEN_UPDATE_IND16( apple2gs )
beamy = cliprect.min_y;
- if (state->m_newvideo & 0x80)
+ if (m_newvideo & 0x80)
{
// in top or bottom border?
if ((beamy < BORDER_TOP) || (beamy >= 200+BORDER_TOP))
@@ -50,24 +49,24 @@ SCREEN_UPDATE_IND16( apple2gs )
scanline = &bitmap.pix16(beamy);
for (col = 0; col < BORDER_LEFT+BORDER_RIGHT+640; col++)
{
- scanline[col] = state->m_bordercolor;
+ scanline[col] = m_bordercolor;
}
}
else // regular screen area
{
int shrline = beamy - BORDER_TOP;
- scb = state->m_slowmem[0x19D00 + shrline];
+ scb = m_slowmem[0x19D00 + shrline];
palette = ((scb & 0x0f) << 4) + 16;
- vram = &state->m_slowmem[0x12000 + (shrline * 160)];
+ vram = &m_slowmem[0x12000 + (shrline * 160)];
scanline = &bitmap.pix16(beamy);
// draw left and right borders
for (col = 0; col < BORDER_LEFT; col++)
{
- scanline[col] = state->m_bordercolor;
- scanline[col+BORDER_LEFT+640] = state->m_bordercolor;
+ scanline[col] = m_bordercolor;
+ scanline[col+BORDER_LEFT+640] = m_bordercolor;
}
if (scb & 0x80) // 640 mode
@@ -115,20 +114,19 @@ SCREEN_UPDATE_IND16( apple2gs )
/* call legacy Apple II video rendering at scanline 0 to draw into the off-screen buffer */
if (beamy == 0)
{
- apple2_state *a2state = screen.machine().driver_data<apple2_state>();
// check if DHR should be monochrome 560x192
- if (state->m_newvideo & 0x20)
+ if (m_newvideo & 0x20)
{
- a2state->m_monochrome_dhr = true;
+ m_monochrome_dhr = true;
}
else
{
- a2state->m_monochrome_dhr = false;
+ m_monochrome_dhr = false;
}
rectangle new_cliprect(0, 559, 0, 191);
- SCREEN_UPDATE_NAME(apple2)(NULL, screen, *state->m_legacy_gfx, new_cliprect);
+ screen_update_apple2(screen, *m_legacy_gfx, new_cliprect);
}
if ((beamy < (BORDER_TOP+4)) || (beamy >= (192+4+BORDER_TOP)))
@@ -141,7 +139,7 @@ SCREEN_UPDATE_IND16( apple2gs )
scanline = &bitmap.pix16(beamy);
for (col = 0; col < BORDER_LEFT+BORDER_RIGHT+640; col++)
{
- scanline[col] = state->m_bordercolor;
+ scanline[col] = m_bordercolor;
}
}
else
@@ -151,11 +149,11 @@ SCREEN_UPDATE_IND16( apple2gs )
// draw left and right borders
for (col = 0; col < BORDER_LEFT + 40; col++)
{
- scanline[col] = state->m_bordercolor;
- scanline[col+BORDER_LEFT+600] = state->m_bordercolor;
+ scanline[col] = m_bordercolor;
+ scanline[col+BORDER_LEFT+600] = m_bordercolor;
}
- memcpy(scanline + 40 + BORDER_LEFT, &state->m_legacy_gfx->pix16(beamy-(BORDER_TOP+4)), 560 * sizeof(UINT16));
+ memcpy(scanline + 40 + BORDER_LEFT, &m_legacy_gfx->pix16(beamy-(BORDER_TOP+4)), 560 * sizeof(UINT16));
}
}
return 0;