Previous 15994 Revisions Next

r3153 Wednesday 3rd September, 2008 at 14:56:13 UTC by Roberto Zandonà
[C64] remove unnecessary linedraw
[src/mess/video]vic6567.c

src/mess/video/vic6567.c
r3152r3153
354354   case 0xf:
355355      /* sprite y positions */
356356      if (vic2.reg[offset] != data) {
357         if (vic2.on)
358            vic2_drawlines (vic2.lastline, vic2.rasterline);
357         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
359358         vic2.reg[offset] = data;
360359         vic2.sprites[offset/2].y=SPRITE_Y_POS(offset/2);
361360      }
r3152r3153
370369   case 0xe:
371370      /* sprite x positions */
372371      if (vic2.reg[offset] != data) {
373         if (vic2.on)
374            vic2_drawlines (vic2.lastline, vic2.rasterline);
372         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
375373         vic2.reg[offset] = data;
376374         vic2.sprites[offset/2].x=SPRITE_X_POS(offset/2);
377375      }
r3152r3153
379377   case 0x10:
380378      /* sprite x positions */
381379      if (vic2.reg[offset] != data) {
382         if (vic2.on)
383            vic2_drawlines (vic2.lastline, vic2.rasterline);
380         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
384381         vic2.reg[offset] = data;
385382         vic2.sprites[0].x=SPRITE_X_POS(0);
386383         vic2.sprites[1].x=SPRITE_X_POS(1);
r3152r3153
407404      if (vic2.reg[offset] != data)
408405      {
409406         vic2.reg[offset] = data;
410         if (vic2.on)
411            vic2_drawlines (vic2.lastline, vic2.rasterline);
407         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
412408      }
413409      break;
414410   case 0x25:
r3152r3153
416412      {
417413         vic2.reg[offset] = data;
418414         vic2.spritemulti[1] = SPRITE_MULTICOLOR1;
419         if (vic2.on)
420            vic2_drawlines (vic2.lastline, vic2.rasterline);
415         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
421416      }
422417      break;
423418   case 0x26:
r3152r3153
425420      {
426421         vic2.reg[offset] = data;
427422         vic2.spritemulti[3] = SPRITE_MULTICOLOR2;
428         if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
423         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
429424      }
430425      break;
431426   case 0x19:
r3152r3153
438433   case 0x11:
439434      if (vic2.reg[offset] != data)
440435      {
441         if (vic2.on)
442            vic2_drawlines (vic2.lastline, vic2.rasterline);
436         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
443437         vic2.reg[offset] = data;
444438         if (LINES25)
445439         {
r3152r3153
462456   case 0x16:
463457      if (vic2.reg[offset] != data)
464458      {
465         if (vic2.on)
466            vic2_drawlines (vic2.lastline, vic2.rasterline);
459         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
467460         vic2.reg[offset] = data;
468461         if (COLUMNS40)
469462         {
r3152r3153
480473   case 0x18:
481474      if (vic2.reg[offset] != data)
482475      {
483         if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
476         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
484477         vic2.reg[offset] = data;
485478         vic2.videoaddr = VIDEOADDR;
486479         vic2.chargenaddr = CHARGENADDR;
r3152r3153
489482   case 0x21:                     /* backgroundcolor */
490483      if (vic2.reg[offset] != data)
491484      {
492         if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
485         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
493486         vic2.reg[offset] = data;
494487         vic2.mono[0] = vic2.bitmapmulti[0] = vic2.multi[0] =
495488            vic2.colors[0] = BACKGROUNDCOLOR;
r3152r3153
498491   case 0x22:                     /* background color 1 */
499492      if (vic2.reg[offset] != data)
500493      {
501         if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
494         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
502495         vic2.reg[offset] = data;
503496         vic2.multi[1] = vic2.colors[1] = MULTICOLOR1;
504497      }
r3152r3153
506499   case 0x23:                     /* background color 2 */
507500      if (vic2.reg[offset] != data)
508501      {
509         if (vic2.on)
510            vic2_drawlines (vic2.lastline, vic2.rasterline);
502         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
511503         vic2.reg[offset] = data;
512504         vic2.multi[2] = vic2.colors[2] = MULTICOLOR2;
513505      }
r3152r3153
515507   case 0x24:                     /* background color 3 */
516508      if (vic2.reg[offset] != data)
517509      {
518         if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
510         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
519511         vic2.reg[offset] = data;
520512         vic2.colors[3] = FOREGROUNDCOLOR;
521513      }
r3152r3153
523515   case 0x20:                     /* framecolor */
524516      if (vic2.reg[offset] != data)
525517      {
526         if (vic2.on)
527            vic2_drawlines (vic2.lastline, vic2.rasterline);
518         // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
528519         vic2.reg[offset] = data;
529520      }
530521      break;
r3152r3153
573564   {
574565   case 0x11:
575566      val = (vic2.reg[offset] & ~0x80) | ((vic2.rasterline & 0x100) >> 1);
576      if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
567      // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
577568      break;
578569   case 0x12:
579570      val = vic2.rasterline & 0xff;
580      if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
571      // if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
581572      break;
582573   case 0x16:
583574      val = vic2.reg[offset] | 0xc0;
r3152r3153
740731   }
741732}
742733
743static void vic2_draw_character (int ybegin, int yend, int ch,
744                         int yoff, int xoff, UINT16 *color)
734static void vic2_draw_character (int ybegin, int yend, int ch, int yoff, int xoff, UINT16 *color)
745735{
746736   int y, code;
747737
r3152r3153
760750   }
761751}
762752
763static void vic2_draw_character_multi (int ybegin, int yend, int ch,
764                              int yoff, int xoff)
753static void vic2_draw_character_multi (int ybegin, int yend, int ch, int yoff, int xoff)
765754{
766755   int y, code;
767756
r3152r3153
780769   }
781770}
782771
783static void vic2_draw_bitmap (int ybegin, int yend,
784                       int ch, int yoff, int xoff)
772static void vic2_draw_bitmap (int ybegin, int yend, int ch, int yoff, int xoff)
785773{
786774   int y, code;
787775
r3152r3153
800788   }
801789}
802790
803static void vic2_draw_bitmap_multi (int ybegin, int yend,
804                           int ch, int yoff, int xoff)
791static void vic2_draw_bitmap_multi (int ybegin, int yend, int ch, int yoff, int xoff)
805792{
806793   int y, code;
807794
r3152r3153
820807   }
821808}
822809
823static void vic2_draw_sprite_code_multi (int y, int xbegin,
824                               int code, int prior)
810static void vic2_draw_sprite_code_multi (int y, int xbegin, int code, int prior)
825811{
826812   register int x, mask, shift;
827813
r3152r3153
13251311            memset (vic2.sprites[i].paintedline, 0, sizeof (vic2.sprites[i].paintedline));
13261312         }
13271313      }
1328      plot_box(vic2.bitmap, 0, yoff+ybegin, xbegin, yend-ybegin+1,
1329             FRAMECOLOR);
1330      plot_box(vic2.bitmap, xend, yoff+ybegin, vic2.bitmap->width - xend, yend-ybegin+1,
1331             FRAMECOLOR);
1314      plot_box(vic2.bitmap, 0, yoff+ybegin, xbegin, yend-ybegin+1, FRAMECOLOR);
1315      plot_box(vic2.bitmap, xend, yoff+ybegin, vic2.bitmap->width - xend, yend-ybegin+1, FRAMECOLOR);
13321316   }
13331317   if (last < vic2.bitmap->height)
13341318      end = last;
13351319   else
13361320      end = vic2.bitmap->height;
1337   if (line<end) {
1338      plot_box(vic2.bitmap, 0, line, vic2.bitmap->width, end-line,
1339             FRAMECOLOR);
1340      line=end;
1321
1322   if (line < end) {
1323      plot_box(vic2.bitmap, 0, line, vic2.bitmap->width, end-line, FRAMECOLOR);
1324      line = end;
13411325   }
13421326}
13431327
r3152r3153
13631347      }
13641348   }
13651349
1366   if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
1367
13681350   if (vic2.rasterline == C64_2_RASTERLINE(RASTERLINE))
13691351   {
13701352      vic2_set_interrupt (1);
13711353   }
1354
1355   if (vic2.on) vic2_drawlines (vic2.lastline, vic2.rasterline);
13721356}
13731357
13741358VIDEO_UPDATE( vic2 )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team