Diff for /xmil/vram/palettes.c between versions 1.9 and 1.10

version 1.9, 2004/08/08 15:14:08 version 1.10, 2004/08/08 16:39:04
Line 20 Line 20
         int             xm_palettes = 0;          int             xm_palettes = 0;
   
   
 extern  BYTE    dispmode;  
 extern  BYTE    pal_disp;  
   
   
 static const UINT16 pal4096banktbl[2][64] = {  static const UINT16 pal4096banktbl[2][64] = {
                         {       0x000, 0x008, 0x080, 0x088, 0x800, 0x808, 0x880, 0x888,                          {       0x000, 0x008, 0x080, 0x088, 0x800, 0x808, 0x880, 0x888,
                                 0x004, 0x00C, 0x084, 0x08C, 0x804, 0x80C, 0x884, 0x88C,                                  0x004, 0x00C, 0x084, 0x08C, 0x804, 0x80C, 0x884, 0x88C,
Line 217  void pal_update(void) { Line 213  void pal_update(void) {
         UINT    bcnt;          UINT    bcnt;
   
         skip8 = 0;          skip8 = 0;
         if (pal_disp & PAL_4096) {          if (crtc.e.pal_disp & PAL_4096) {
                 switch(pal_disp & 0xf) {                  switch(crtc.e.pal_disp & 0xf) {
                         case PAL_4096H:                          case PAL_4096H:
                                 pal4096to64(x1n_pal32, pal4096banktbl[0]);                                  pal4096to64(x1n_pal32, pal4096banktbl[0]);
                                 xm_palettes = 64;                                  xm_palettes = 64;
Line 248  void pal_update(void) { Line 244  void pal_update(void) {
                         x1n_pal32[xm_palettes++].d = pals.text[i].d;                          x1n_pal32[xm_palettes++].d = pals.text[i].d;
                 }                  }
         }          }
         else if ((dispmode & SCRN64_MASK) == SCRN64_INVALID) {          else if ((crtc.e.dispmode & SCRN64_MASK) == SCRN64_INVALID) {
                 if (!(crtc.s.SCRN_BITS & SCRN_24KHZ)) {                  if (!(crtc.s.SCRN_BITS & SCRN_24KHZ)) {
                         skip8 = 8;                          skip8 = 8;
                 }                  }
                 for (i=0, bit=1; i<8; i++, bit<<=1) {                  for (i=0, bit=1; i<8; i++, bit<<=1) {
                         if (!(crtc.s.EXTPALMODE & 0x80)) {                          if (!(crtc.s.EXTPALMODE & 0x80)) {
                                 c = 0;                                  c = 0;
                                 if (crtc.s.PAL_B & bit) {                                  if (crtc.s.rgbp[CRTC_PALB] & bit) {
                                         c |= 1;                                          c += 1;
                                 }                                  }
                                 if (crtc.s.PAL_R & bit) {                                  if (crtc.s.rgbp[CRTC_PALR] & bit) {
                                         c |= 2;                                          c += 2;
                                 }                                  }
                                 if (crtc.s.PAL_G & bit) {                                  if (crtc.s.rgbp[CRTC_PALG] & bit) {
                                         c |= 4;                                          c += 4;
                                 }                                  }
                         }                          }
                         else {                          else {
                                 c = i;                                  c = i;
                         }                          }
                         x1n_pal32[i].d = pals.grph[pal_disp][c].d;                          x1n_pal32[i].d = pals.grph[crtc.e.pal_disp][c].d;
                         x1n_pal32[i+64].d = pals.grph[pal_disp][c + skip8].d;                          x1n_pal32[i+64].d = pals.grph[crtc.e.pal_disp][c + skip8].d;
                         if (crtc.s.PLY & bit) {                          if (crtc.s.rgbp[CRTC_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[i + 64].d;                                          x1n_pal32[j+64].d = x1n_pal32[i + 64].d;
Line 295  void pal_update(void) { Line 291  void pal_update(void) {
         }          }
         else {          else {
                 for (i=0; i<64; i++) {                  for (i=0; i<64; i++) {
                         x1n_pal32[i].d = pals.grph64[pal_disp][i].d;                          x1n_pal32[i].d = pals.grph64[crtc.e.pal_disp][i].d;
                 }                  }
                 for (i=0; i<8; i++) {                  for (i=0; i<8; i++) {
                         x1n_pal32[i+64].d = pals.text[i].d;                          x1n_pal32[i+64].d = pals.text[i].d;

Removed from v.1.9  
changed lines
  Added in v.1.10


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