diff options
Diffstat (limited to 'src/mame/drivers/smc777.cpp')
-rw-r--r-- | src/mame/drivers/smc777.cpp | 61 |
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); } } } |