summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/smc777.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/smc777.cpp')
-rw-r--r--src/mame/drivers/smc777.cpp61
1 files changed, 26 insertions, 35 deletions
diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp
index ab95effa741..980990dc82d 100644
--- a/src/mame/drivers/smc777.cpp
+++ b/src/mame/drivers/smc777.cpp
@@ -164,47 +164,44 @@ void smc777_state::video_start()
uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- int x,y,yi;
uint16_t count;
- int x_width;
// popmessage("%d %d %d %d",mc6845_v_char_total,mc6845_v_total_adj,mc6845_v_display,mc6845_v_sync_pos);
bitmap.fill(m_palette->pen(m_backdrop_pen), cliprect);
- x_width = ((m_display_reg & 0x80) >> 7);
+ int x_width = ((m_display_reg & 0x80) >> 7);
count = 0x0000;
- for(yi=0;yi<8;yi++)
+ for(int yi=0;yi<8;yi++)
{
- for(y=0;y<200;y+=8)
+ for(int y=0;y<200;y+=8)
{
- for(x=0;x<160;x++)
+ for(int x=0;x<160;x++)
{
- uint16_t color;
+ uint16_t color = (m_gvram[count] & 0xf0) >> 4;
- color = (m_gvram[count] & 0xf0) >> 4;
/* todo: clean this up! */
//if(x_width)
{
- bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+0+CRTC_MIN_X) = m_palette->pen(color);
- bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+1+CRTC_MIN_X) = m_palette->pen(color);
+ bitmap.pix(y+yi+CRTC_MIN_Y, x*4+0+CRTC_MIN_X) = m_palette->pen(color);
+ bitmap.pix(y+yi+CRTC_MIN_Y, x*4+1+CRTC_MIN_X) = m_palette->pen(color);
}
//else
//{
- // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = m_palette->pen(color);
+ // bitmap.pix(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = m_palette->pen(color);
//}
color = (m_gvram[count] & 0x0f) >> 0;
//if(x_width)
{
- bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+2+CRTC_MIN_X) = m_palette->pen(color);
- bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+3+CRTC_MIN_X) = m_palette->pen(color);
+ bitmap.pix(y+yi+CRTC_MIN_Y, x*4+2+CRTC_MIN_X) = m_palette->pen(color);
+ bitmap.pix(y+yi+CRTC_MIN_Y, x*4+3+CRTC_MIN_X) = m_palette->pen(color);
}
//else
//{
- // bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = m_palette->pen(color);
+ // bitmap.pix(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = m_palette->pen(color);
//}
count++;
@@ -216,9 +213,9 @@ uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16
count = 0x0000;
- for(y=0;y<25;y++)
+ for(int y=0;y<25;y++)
{
- for(x=0;x<80/(x_width+1);x++)
+ for(int x=0;x<80/(x_width+1);x++)
{
/*
-x-- ---- blink
@@ -229,11 +226,9 @@ uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16
int color = m_attr[count] & 7;
int bk_color = (m_attr[count] & 0x18) >> 3;
int blink = m_attr[count] & 0x40;
- int xi;
- int bk_pen;
//int bk_struct[4] = { -1, 0x10, 0x11, (color & 7) ^ 8 };
- bk_pen = -1;
+ int bk_pen = -1;
switch(bk_color & 3)
{
case 0: bk_pen = -1; break; //transparent
@@ -245,23 +240,21 @@ uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16
if(blink && m_screen->frame_number() & 0x10) //blinking, used by Dragon's Alphabet
color = bk_pen;
- for(yi=0;yi<8;yi++)
+ for(int yi=0;yi<8;yi++)
{
- for(xi=0;xi<8;xi++)
+ for(int xi=0;xi<8;xi++)
{
- int pen;
-
- pen = ((m_pcg[tile*8+yi]>>(7-xi)) & 1) ? (color+m_pal_mode) : bk_pen;
+ int pen = ((m_pcg[tile*8+yi]>>(7-xi)) & 1) ? (color+m_pal_mode) : bk_pen;
if (pen != -1)
{
if(x_width)
{
- bitmap.pix16(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+0+CRTC_MIN_X) = m_palette->pen(pen);
- bitmap.pix16(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+1+CRTC_MIN_X) = m_palette->pen(pen);
+ bitmap.pix(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+0+CRTC_MIN_X) = m_palette->pen(pen);
+ bitmap.pix(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+1+CRTC_MIN_X) = m_palette->pen(pen);
}
else
- bitmap.pix16(y*8+CRTC_MIN_Y+yi, x*8+CRTC_MIN_X+xi) = m_palette->pen(pen);
+ bitmap.pix(y*8+CRTC_MIN_Y+yi, x*8+CRTC_MIN_X+xi) = m_palette->pen(pen);
}
}
}
@@ -269,9 +262,7 @@ uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16
// draw cursor
if(mc6845_cursor_addr == count)
{
- int xc,yc,cursor_on;
-
- cursor_on = 0;
+ int cursor_on = 0;
switch(mc6845_cursor_y_start & 0x60)
{
case 0x00: cursor_on = 1; break; //always on
@@ -282,17 +273,17 @@ uint32_t smc777_state::screen_update_smc777(screen_device &screen, bitmap_ind16
if(cursor_on)
{
- for(yc=0;yc<(8-(mc6845_cursor_y_start & 7));yc++)
+ for(int yc=0;yc<(8-(mc6845_cursor_y_start & 7));yc++)
{
- for(xc=0;xc<8;xc++)
+ for(int xc=0;xc<8;xc++)
{
if(x_width)
{
- bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+0+CRTC_MIN_X) = m_palette->pen(0x7);
- bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+1+CRTC_MIN_X) = m_palette->pen(0x7);
+ bitmap.pix(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+0+CRTC_MIN_X) = m_palette->pen(0x7);
+ bitmap.pix(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+1+CRTC_MIN_X) = m_palette->pen(0x7);
}
else
- bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, x*8+CRTC_MIN_X+xc) = m_palette->pen(0x7);
+ bitmap.pix(y*8+CRTC_MIN_Y-yc+7, x*8+CRTC_MIN_X+xc) = m_palette->pen(0x7);
}
}
}