Diff for /xmil/vram/palettes.c between versions 1.2 and 1.5

version 1.2, 2004/08/04 15:18:26 version 1.5, 2004/08/07 07:19:56
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "scrnmng.h"  #include        "scrnmng.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "x1_io.h"  #include        "iocore.h"
 #include        "x1_crtc.h"  
 #include        "scrndraw.h"  #include        "scrndraw.h"
 #include        "draw.h"  
 #include        "palettes.h"  #include        "palettes.h"
   #include        "makescrn.h"
   
   
         RGB32   x1n_pal32[256];                 // xm_palette          RGB32   x1n_pal32[256];                 // xm_palette
Line 139  void pal_settext(REG8 num) { Line 138  void pal_settext(REG8 num) {
         pals.text[num+16].p.r = (halfgrp * rgb.p.r) / 255;          pals.text[num+16].p.r = (halfgrp * rgb.p.r) / 255;
         pals.text[num+16].p.e = num + START_EXT + 0x10;          pals.text[num+16].p.e = num + START_EXT + 0x10;
   
         palandply = 1;          makescrn.palandply = 1;
 }  }
   
 void pal_setgrph(REG8 bank, REG8 num) {  void pal_setgrph(REG8 bank, REG8 num) {
Line 178  void pal_setgrph(REG8 bank, REG8 num) { Line 177  void pal_setgrph(REG8 bank, REG8 num) {
                 pals.grph[bank][num+8].p.r = (halfgrp * rgb.p.r) / 0xff;                  pals.grph[bank][num+8].p.r = (halfgrp * rgb.p.r) / 0xff;
                 pals.grph[bank][num+8].p.e = num + START_EXT + 0x20;                  pals.grph[bank][num+8].p.e = num + START_EXT + 0x20;
         }          }
         palandply = 1;          makescrn.palandply = 1;
 }  }
   
 void pal_setgrph4096(UINT num) {  void pal_setgrph4096(UINT num) {
Line 213  void pal_setgrph4096(UINT num) { Line 212  void pal_setgrph4096(UINT num) {
                 x1z_pal16[num] = scrnmng_makepal16(rgb);                  x1z_pal16[num] = scrnmng_makepal16(rgb);
         }          }
 #endif  #endif
         palandply = 1;          makescrn.palandply = 1;
 }  }
   
   
Line 270  void palettes(void) { Line 269  void palettes(void) {
                 }                  }
         }          }
         else if ((dispmode & SCRN64_MASK) == SCRN64_INVALID) {          else if ((dispmode & SCRN64_MASK) == SCRN64_INVALID) {
                 if ((xmilcfg.SKIP_LINE) && (!(crtc.SCRN_BITS & SCRN_24KHZ))) {                  if ((xmilcfg.SKIP_LINE) && (!(crtc.s.SCRN_BITS & SCRN_24KHZ))) {
                         skip8 = 8;                          skip8 = 8;
                         skip16 = 16;                          skip16 = 16;
                 }                  }
                 for (i=0, bit=1; i<8; i++, bit<<=1) {                  for (i=0, bit=1; i<8; i++, bit<<=1) {
                         if (!(crtc.EXTPALMODE & 0x80)) {                          if (!(crtc.s.EXTPALMODE & 0x80)) {
                                 c = 0;                                  c = 0;
                                 if (crtc.PAL_B & bit) {                                  if (crtc.s.PAL_B & bit) {
                                         c |= 1;                                          c |= 1;
                                 }                                  }
                                 if (crtc.PAL_R & bit) {                                  if (crtc.s.PAL_R & bit) {
                                         c |= 2;                                          c |= 2;
                                 }                                  }
                                 if (crtc.PAL_G & bit) {                                  if (crtc.s.PAL_G & bit) {
                                         c |= 4;                                          c |= 4;
                                 }                                  }
                         }                          }
Line 293  void palettes(void) { Line 292  void palettes(void) {
                         x1n_pal32[i].d = pals.grph[pal_disp][c].d;                          x1n_pal32[i].d = pals.grph[pal_disp][c].d;
                         x1n_pal32[i+64].d = x1n_pal32[i+128].d                          x1n_pal32[i+64].d = x1n_pal32[i+128].d
                                                                                 = pals.grph[pal_disp][c+skip8].d;                                                                                  = pals.grph[pal_disp][c+skip8].d;
                         if (crtc.PLY & bit) {                          if (crtc.s.PLY & bit) {
                                 for (j=i+8; j<64; j+=8) {                                  for (j=i+8; j<64; j+=8) {
                                         x1n_pal32[j].d = x1n_pal32[i].d;                                          x1n_pal32[j].d = x1n_pal32[i].d;
                                         x1n_pal32[j+64].d = x1n_pal32[j+128].d                                          x1n_pal32[j+64].d = x1n_pal32[j+128].d
Line 301  void palettes(void) { Line 300  void palettes(void) {
                                 }                                  }
                         }                          }
                         else {                          else {
                                 BYTE cnt = (crtc.BLACKPAL & 15) - 8;                                  BYTE cnt = (crtc.s.BLACKPAL & 15) - 8;
                                 for (j=i+8; j<64; j+=8) {                                  for (j=i+8; j<64; j+=8) {
                                         if (--cnt) {                                          if (--cnt) {
                                                 c = crtc.TEXT_PAL[j>>3];                                                  c = crtc.s.TEXT_PAL[j>>3];
                                         }                                          }
                                         else {                                          else {
                                                 c = 0;                                                  c = 0;
Line 345  void reflesh_palette(void) { Line 344  void reflesh_palette(void) {
         UINT    k;          UINT    k;
   
         pals.blankcol = xmilcfg.BLKLIGHT;          pals.blankcol = xmilcfg.BLKLIGHT;
         if ((!xmilcfg.SKIP_LINE) || (crtc.SCRN_BITS & SCRN_24KHZ)) {          if ((!xmilcfg.SKIP_LINE) || (crtc.s.SCRN_BITS & SCRN_24KHZ)) {
                 pals.blankcol >>= 1;                  pals.blankcol >>= 1;
         }          }
         halfgrp = xmilcfg.LINEDEPTH;          halfgrp = xmilcfg.LINEDEPTH;
Line 366  void reflesh_palette(void) { Line 365  void reflesh_palette(void) {
         for (i=0; i<8; i++) {          for (i=0; i<8; i++) {
                 pal_settext(i);                  pal_settext(i);
         }          }
         for (j=0; j<2; j++) {          for (i=0; i<2; i++) {
                 for (i=0; i<64; i++) {                  for (j=0; j<64; j++) {
                         pal_setgrph(j, i);                          pal_setgrph(i, j);
                 }                  }
         }          }
         for (k=0; k<4096; k++) {          for (k=0; k<4096; k++) {

Removed from v.1.2  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>