Diff for /xmil/vram/sdraw.mcr between versions 1.2 and 1.3

version 1.2, 2004/08/17 12:30:41 version 1.3, 2004/08/18 08:08:13
Line 1 Line 1
   
 static void SCRNCALL SDSYM(x1)(SDRAW sdraw, int maxy) {  // ---- 200line 15khz
   
   static void SCRNCALL SDSYM(_32S)(SDRAW sdraw, int maxy) {
   
 const UINT8     *p;  const UINT8     *p;
         UINT8   *q;          UINT8   *q;
           int             a;
         int             y;          int             y;
           int             xmax;
         int             x;          int             x;
           UINT    c;
   
           p = sdraw->src;
           q = sdraw->dst;
           a = sdraw->yalign;
           y = sdraw->y;
           do {
                   if (sdraw->dirty[y]) {
                           xmax = sdraw->width / 2;
                           for (x=0; x<xmax; x++) {
                                   c = p[x];
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c + 0x40);
                                   q += sdraw->xalign;
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c + 0x40);
                                   q += sdraw->xalign;
                           }
                           q -= sdraw->xbytes;
                   }
                   p += SURFACE_WIDTH * 2;
                   q += a * 2;
                   y += 2;
           } while(y < maxy);
   
           sdraw->src = p;
           sdraw->dst = q;
           sdraw->y = y;
   }
   
   static void SCRNCALL SDSYM(_62S)(SDRAW sdraw, int maxy) {
   
   const UINT8     *p;
           UINT8   *q;
           int             a;
           int             y;
           int             x;
           UINT    c;
   
         p = sdraw->src;          p = sdraw->src;
         q = sdraw->dst;          q = sdraw->dst;
           a = sdraw->yalign;
         y = sdraw->y;          y = sdraw->y;
         do {          do {
                 if (sdraw->dirty[y]) {                  if (sdraw->dirty[y]) {
                         for (x=0; x<sdraw->width; x++) {                          for (x=0; x<sdraw->width; x++) {
                                 SDSETPIXEL(q, p[x]);                                  c = p[x];
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c + 0x40);
                                 q += sdraw->xalign;                                  q += sdraw->xalign;
                         }                          }
                         q -= sdraw->xbytes;                          q -= sdraw->xbytes;
                 }                  }
                 p += SURFACE_WIDTH;                  p += SURFACE_WIDTH * 2;
                 q += sdraw->yalign;                  q += a * 2;
         } while(++y < maxy);                  y += 2;
           } while(y < maxy);
   
           sdraw->src = p;
           sdraw->dst = q;
           sdraw->y = y;
   }
   
   
   // ---- 200line 24khz
   
   static void SCRNCALL SDSYM(_32H)(SDRAW sdraw, int maxy) {
   
   const UINT8     *p;
           UINT8   *q;
           int             a;
           int             y;
           int             xmax;
           int             x;
           UINT    c;
   
           p = sdraw->src;
           q = sdraw->dst;
           a = sdraw->yalign;
           y = sdraw->y;
           do {
                   if (sdraw->dirty[y]) {
                           xmax = sdraw->width / 2;
                           for (x=0; x<xmax; x++) {
                                   c = p[x];
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c);
                                   q += sdraw->xalign;
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c);
                                   q += sdraw->xalign;
                           }
                           q -= sdraw->xbytes;
                   }
                   p += SURFACE_WIDTH * 2;
                   q += a * 2;
                   y += 2;
           } while(y < maxy);
   
           sdraw->src = p;
           sdraw->dst = q;
           sdraw->y = y;
   }
   
   static void SCRNCALL SDSYM(_62H)(SDRAW sdraw, int maxy) {
   
   const UINT8     *p;
           UINT8   *q;
           int             a;
           int             y;
           int             x;
           UINT    c;
   
           p = sdraw->src;
           q = sdraw->dst;
           a = sdraw->yalign;
           y = sdraw->y;
           do {
                   if (sdraw->dirty[y]) {
                           for (x=0; x<sdraw->width; x++) {
                                   c = p[x];
                                   SDSETPIXEL(q, c);
                                   SDSETPIXEL(q + a, c);
                                   q += sdraw->xalign;
                           }
                           q -= sdraw->xbytes;
                   }
                   p += SURFACE_WIDTH * 2;
                   q += a * 2;
                   y += 2;
           } while(y < maxy);
   
         sdraw->src = p;          sdraw->src = p;
         sdraw->dst = q;          sdraw->dst = q;
         sdraw->y = y;          sdraw->y = y;
 }  }
   
 static void SCRNCALL SDSYM(x2)(SDRAW sdraw, int maxy) {  
   // ---- 400line 24khz
   
   static void SCRNCALL SDSYM(_34)(SDRAW sdraw, int maxy) {
   
 const UINT8     *p;  const UINT8     *p;
         UINT8   *q;          UINT8   *q;
Line 59  const UINT8 *p; Line 182  const UINT8 *p;
         sdraw->y = y;          sdraw->y = y;
 }  }
   
   static void SCRNCALL SDSYM(_64)(SDRAW sdraw, int maxy) {
   
   const UINT8     *p;
           UINT8   *q;
           int             y;
           int             x;
   
           p = sdraw->src;
           q = sdraw->dst;
           y = sdraw->y;
           do {
                   if (sdraw->dirty[y]) {
                           for (x=0; x<sdraw->width; x++) {
                                   SDSETPIXEL(q, p[x]);
                                   q += sdraw->xalign;
                           }
                           q -= sdraw->xbytes;
                   }
                   p += SURFACE_WIDTH;
                   q += sdraw->yalign;
           } while(++y < maxy);
   
           sdraw->src = p;
           sdraw->dst = q;
           sdraw->y = y;
   }
   
   
   // ----
   
 #if defined(SUPPORT_TURBOZ) && defined(SDZMODE)  #if defined(SUPPORT_TURBOZ) && defined(SDZMODE)
 static void SCRNCALL SDSYM(z)(SDRAW sdraw, int maxy) {  static void SCRNCALL SDSYM(z)(SDRAW sdraw, int maxy) {
   
Line 98  const UINT8 *p; Line 251  const UINT8 *p;
 // ----  // ----
   
 static const SDRAWFN SDSYM(p)[] = {  static const SDRAWFN SDSYM(p)[] = {
                 SDSYM(x1),              SDSYM(x2),                  SDSYM(_32S),    SDSYM(_62S),
                   SDSYM(_32H),    SDSYM(_62H),
                   SDSYM(_34),             SDSYM(_64),
 #if defined(SUPPORT_TURBOZ)  #if defined(SUPPORT_TURBOZ)
 #if defined(SDZMODE)  #if defined(SDZMODE)
                 SDSYM(z)                  SDSYM(z)

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


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