Diff for /np2/vram/scrndraw.c between versions 1.1.1.1 and 1.6

version 1.1.1.1, 2003/10/16 17:58:13 version 1.6, 2004/02/29 03:10:03
Line 59  static BYTE rasterdraw(SDRAWFN sdrawfn,  Line 59  static BYTE rasterdraw(SDRAWFN sdrawfn, 
         clock += np2cfg.realpal;          clock += np2cfg.realpal;
         clock -= 32;          clock -= 32;
         clock += (gdc.m.para[GDC_SYNC + 5] >> 2) & 0x3f;          clock += (gdc.m.para[GDC_SYNC + 5] >> 2) & 0x3f;
         clock *= pc.raster;          clock *= gdc.rasterclock;
         event = palevent.event;          event = palevent.event;
         eventterm = event + palevent.events;          eventterm = event + palevent.events;
         nextupdate = 0;          nextupdate = 0;
Line 92  static BYTE rasterdraw(SDRAWFN sdrawfn,  Line 92  static BYTE rasterdraw(SDRAWFN sdrawfn, 
                                 }                                  }
                         }                          }
                 }                  }
                 clock -= 2 * pc.raster;                                                                         // ver0.28                  clock -= 2 * gdc.rasterclock;
         }          }
         if (y < maxy) {          if (y < maxy) {
                 if (!(np2cfg.LCD_MODE & 1)) {                  if (!(np2cfg.LCD_MODE & 1)) {
Line 109  static BYTE rasterdraw(SDRAWFN sdrawfn,  Line 109  static BYTE rasterdraw(SDRAWFN sdrawfn, 
                 }                  }
                 (*sdrawfn)(sdraw, maxy);                  (*sdrawfn)(sdraw, maxy);
         }          }
         if (nextupdate) {          if (palevent.vsyncpal) {
                   return(2);
           }
           else if (nextupdate) {
                 for (y=0; y<nextupdate; y+=2) {                  for (y=0; y<nextupdate; y+=2) {
                         *(UINT16 *)(renewal_line + y) |= 0x8080;                          *(UINT16 *)(renewal_line + y) |= 0x8080;
                 }                  }
Line 128  const SDRAWFN *sdrawfn; Line 131  const SDRAWFN *sdrawfn;
         _SDRAW          sdraw;          _SDRAW          sdraw;
         BYTE            bit;          BYTE            bit;
         int                     i;          int                     i;
           int                     height;
   
         if (redraw) {          if (redraw) {
                 updateallline(0x80808080);                  updateallline(0x80808080);
Line 138  const SDRAWFN *sdrawfn; Line 142  const SDRAWFN *sdrawfn;
         if (surf == NULL) {          if (surf == NULL) {
                 goto sddr_exit1;                  goto sddr_exit1;
         }          }
   #if defined(SUPPORT_PC9821)
           if (gdc.analog & 2) {
                   sdrawfn = sdraw_getproctblex(surf);
           }
           else
   #endif
         sdrawfn = sdraw_getproctbl(surf);          sdrawfn = sdraw_getproctbl(surf);
         if (sdrawfn == NULL) {          if (sdrawfn == NULL) {
                 goto sddr_exit2;                  goto sddr_exit2;
Line 145  const SDRAWFN *sdrawfn; Line 155  const SDRAWFN *sdrawfn;
   
         bit = 0;          bit = 0;
         if (gdc.mode1 & 0x80) {                                         // ver0.28          if (gdc.mode1 & 0x80) {                                         // ver0.28
   #if defined(SUPPORT_PC9821)
                   if ((gdc.analog & 6) == 6) {
                           bit |= 0x01;
                   }
                   else
   #endif
                 if (gdcs.grphdisp & 0x80) {                  if (gdcs.grphdisp & 0x80) {
                         bit |= (1 << gdcs.disp);                          bit |= (1 << gdcs.disp);
                 }                  }
Line 162  const SDRAWFN *sdrawfn; Line 178  const SDRAWFN *sdrawfn;
                         renewal_line[i] &= ~bit;                          renewal_line[i] &= ~bit;
                 }                  }
         }          }
         if (gdc.mode1 & 0x10) {          height = surf->height;
                 sdrawfn += 4;          do {
                 if (np2cfg.skipline) {  #if defined(SUPPORT_PC9821)
                   if (gdc.analog & 2) {
                           break;
                   }
   #endif
   #if defined(SUPPORT_CRT15KHZ)
                   if (gdc.crt15khz & 2) {
                           sdrawfn += 12;
                           height >>= 1;
                           break;
                   }
   #endif
                   if (gdc.mode1 & 0x10) {
                         sdrawfn += 4;                          sdrawfn += 4;
                           if (np2cfg.skipline) {
                                   sdrawfn += 4;
                           }
                 }                  }
         }          } while(0);
         switch(bit & 7) {          switch(bit & 7) {
                 case 1:                                                         // grph1                  case 1:                                                         // grph1
                         sdrawfn += 2;                          sdrawfn += 2;
Line 202  const SDRAWFN *sdrawfn; Line 233  const SDRAWFN *sdrawfn;
         sdraw.y = 0;          sdraw.y = 0;
         sdraw.xalign = surf->xalign;          sdraw.xalign = surf->xalign;
         sdraw.yalign = surf->yalign;          sdraw.yalign = surf->yalign;
         if ((!gdc.analog) || (palevent.events >= PALEVENTMAX)) {          if (((gdc.analog & 3) != 1) || (palevent.events >= PALEVENTMAX)) {
                 (*(*sdrawfn))(&sdraw, surf->height);                  (*(*sdrawfn))(&sdraw, height);
         }          }
         else {          else {
                 ret = rasterdraw(*sdrawfn, &sdraw, surf->height);                  ret = rasterdraw(*sdrawfn, &sdraw, height);
         }          }
   
 sddr_exit2:  sddr_exit2:

Removed from v.1.1.1.1  
changed lines
  Added in v.1.6


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