Diff for /np2/vram/makegrph.c between versions 1.1.1.1 and 1.5

version 1.1.1.1, 2003/10/16 17:58:18 version 1.5, 2004/02/18 21:58:41
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "memory.h"  #include        "cpucore.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "scrndraw.h"  
 #include        "vram.h"  #include        "vram.h"
   #include        "scrndraw.h"
   #include        "dispsync.h"
 #include        "makegrph.h"  #include        "makegrph.h"
 #include        "makegrph.mcr"  #include        "makegrph.mcr"
 #include        "dispsync.h"  
   
   
 typedef struct {  typedef struct {
Line 21  typedef struct { Line 21  typedef struct {
   
         UINT32  grph_table[4*256*2];          UINT32  grph_table[4*256*2];
   
 void VRAMCALL makegrph_init(void) {  void makegrph_initialize(void) {
   
         int             i, j;          int             i, j;
         BYTE    bit;          BYTE    bit;
Line 64  void VRAMCALL makegrph_init(void) { Line 64  void VRAMCALL makegrph_init(void) {
   
         UINT32  grph_table1[256*2];          UINT32  grph_table1[256*2];
   
 void VRAMCALL makegrph_init(void) {  void makegrph_initialize(void) {
   
         int             i;          int             i;
         BYTE    bit;          BYTE    bit;
Line 103  void VRAMCALL makegrph_init(void) { Line 103  void VRAMCALL makegrph_init(void) {
   
         UINT32  grph_table0[16];          UINT32  grph_table0[16];
   
 void VRAMCALL makegrph_init(void) {  void makegrph_initialize(void) {
   
         int             i;          int             i;
         BYTE    bit;          BYTE    bit;
Line 139  static BOOL grphput_indirty0(MKGRPH mkgr Line 139  static BOOL grphput_indirty0(MKGRPH mkgr
         UINT32  *pterm;          UINT32  *pterm;
   
         mg = *mkgrph;          mg = *mkgrph;
         vad = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0) & 0x3fff) << 1;          vad = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0);
         remain = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2)) >> 4;          vad = LOW15(vad << 1);
         remain &= 0x3ff;          remain = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2);
         do {          remain = LOW14(remain) >> 4;
                 mul = mg.lr;          mul = mg.lr;
                 do {          while(1) {
                         if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {                  if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {
                                 vc = vad;                          vc = vad;
                                 p = mg.vm;                          p = mg.vm;
                                 pterm = p + (80 * 2);                          pterm = p + (80 * 2);
                                 do {                          do {
                                         if (vramupdate[vc] & 1) {                                  if (vramupdate[vc] & 1) {
                                                 renewal_line[mg.liney] |= 1;                                          renewal_line[mg.liney] |= 1;
                                                 GRPHDATASET(p, vc);                                          GRPHDATASET(p, vc);
                                         }                                  }
                                         vc = (vc + 1) & 0x7fff;                                  vc = LOW15(vc + 1);
                                         p += 2;                                  p += 2;
                                 } while(p < pterm);                          } while(p < pterm);
                         }                  }
                         mg.liney++;                  mg.liney++;
                         if (mg.liney >= dsync.grphymax) {                  if (mg.liney >= dsync.grphymax) {
                                 return(TRUE);                          return(TRUE);
                         }                  }
                         mg.vm += 80*2;                  mg.vm += 80*2;
                 } while(--mul);                  remain--;
                 vad = (vad + mg.pitch) & 0x7fff;                  if (!remain) {
         } while(--remain);                          break;
                   }
                   mul--;
                   if (!mul) {
                           mul = mg.lr;
                           vad = LOW15(vad + mg.pitch);
                   }
           }
         mkgrph->vm = mg.vm;          mkgrph->vm = mg.vm;
         mkgrph->liney = mg.liney;          mkgrph->liney = mg.liney;
         return(FALSE);          return(FALSE);
Line 182  static BOOL grphput_indirty1(MKGRPH mkgr Line 189  static BOOL grphput_indirty1(MKGRPH mkgr
         UINT32  *pterm;          UINT32  *pterm;
   
         mg = *mkgrph;          mg = *mkgrph;
         vad = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0) & 0x3fff) << 1;          vad = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0);
         remain = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2)) >> 4;          vad = LOW15(vad << 1);
         remain &= 0x3ff;          remain = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2);
         do {          remain = LOW14(remain) >> 4;
                 mul = mg.lr;          mul = mg.lr;
                 do {          while(1) {
                         if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {                  if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {
                                 vc = vad;                          vc = vad;
                                 p = mg.vm;                          p = mg.vm;
                                 pterm = p + (80 * 2);                          pterm = p + (80 * 2);
                                 do {                          do {
                                         if (vramupdate[vc] & 2) {                                  if (vramupdate[vc] & 2) {
                                                 renewal_line[mg.liney] |= 2;                                          renewal_line[mg.liney] |= 2;
                                                 GRPHDATASET(p, vc + VRAM_STEP);                                          GRPHDATASET(p, vc + VRAM_STEP);
                                         }                                  }
                                         vc = (vc + 1) & 0x7fff;                                  vc = LOW15(vc + 1);
                                         p += 2;                                  p += 2;
                                 } while(p < pterm);                          } while(p < pterm);
                         }                  }
                         mg.liney++;                  mg.liney++;
                         if (mg.liney >= dsync.grphymax) {                  if (mg.liney >= dsync.grphymax) {
                                 return(TRUE);                          return(TRUE);
                         }                  }
                         mg.vm += 80*2;                  mg.vm += 80*2;
                 } while(--mul);                  remain--;
                 vad = (vad + mg.pitch) & 0x7fff;                  if (!remain) {
         } while(--remain);                          break;
                   }
                   mul--;
                   if (!mul) {
                           mul = mg.lr;
                           vad = LOW15(vad + mg.pitch);
                   }
           }
         mkgrph->vm = mg.vm;          mkgrph->vm = mg.vm;
         mkgrph->liney = mg.liney;          mkgrph->liney = mg.liney;
         return(FALSE);          return(FALSE);
Line 225  static BOOL grphput_all0(MKGRPH mkgrph,  Line 239  static BOOL grphput_all0(MKGRPH mkgrph, 
         UINT32  *pterm;          UINT32  *pterm;
   
         mg = *mkgrph;          mg = *mkgrph;
         vad = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0) & 0x3fff) << 1;          vad = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0);
         remain = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2)) >> 4;          vad = LOW15(vad << 1);
         remain &= 0x3ff;          remain = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2);
         do {          remain = LOW14(remain) >> 4;
                 mul = mg.lr;          mul = mg.lr;
                 do {          while(1) {
                         if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {                  if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {
                                 vc = vad;                          vc = vad;
                                 p = mg.vm;                          p = mg.vm;
                                 pterm = p + (80 * 2);                          pterm = p + (80 * 2);
                                 do {                          do {
                                         GRPHDATASET(p, vc);                                  GRPHDATASET(p, vc);
                                         vc = (vc + 1) & 0x7fff;                                  vc = LOW15(vc + 1);
                                         p += 2;                                  p += 2;
                                 } while(p < pterm);                          } while(p < pterm);
                         }                  }
                         renewal_line[mg.liney] |= 1;                  renewal_line[mg.liney] |= 1;
                         mg.liney++;                  mg.liney++;
                         if (mg.liney >= dsync.grphymax) {                  if (mg.liney >= dsync.grphymax) {
                                 return(TRUE);                          return(TRUE);
                         }                  }
                         mg.vm += 80*2;                  mg.vm += 80*2;
                 } while(--mul);                  remain--;
                 vad = (vad + mg.pitch) & 0x7fff;                  if (!remain) {
         } while(--remain);                          break;
                   }
                   mul--;
                   if (!mul) {
                           mul = mg.lr;
                           vad = LOW15(vad + mg.pitch);
                   }
           }
         mkgrph->vm = mg.vm;          mkgrph->vm = mg.vm;
         mkgrph->liney = mg.liney;          mkgrph->liney = mg.liney;
         return(FALSE);          return(FALSE);
Line 266  static BOOL grphput_all1(MKGRPH mkgrph,  Line 287  static BOOL grphput_all1(MKGRPH mkgrph, 
         UINT32  *pterm;          UINT32  *pterm;
   
         mg = *mkgrph;          mg = *mkgrph;
         vad = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0) & 0x3fff) << 1;          vad = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 0);
         remain = (LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2)) >> 4;          vad = LOW15(vad << 1);
         remain &= 0x3ff;          remain = LOADINTELWORD(gdc.s.para + GDC_SCROLL + gpos + 2);
         do {          remain = LOW14(remain) >> 4;
                 mul = mg.lr;          mul = mg.lr;
                 do {          while(1) {
                         if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {                  if ((!(mg.liney & 1)) || (!(gdc.mode1 & 0x10))) {
                                 vc = vad;                          vc = vad;
                                 p = mg.vm;                          p = mg.vm;
                                 pterm = p + (80 * 2);                          pterm = p + (80 * 2);
                                 do {                          do {
                                         GRPHDATASET(p, vc + VRAM_STEP);                                  GRPHDATASET(p, vc + VRAM_STEP);
                                         vc = (vc + 1) & 0x7fff;                                  vc = LOW15(vc + 1);
                                         p += 2;                                  p += 2;
                                 } while(p < pterm);                          } while(p < pterm);
                         }                  }
                         renewal_line[mg.liney] |= 2;                  renewal_line[mg.liney] |= 2;
                         mg.liney++;                  mg.liney++;
                         if (mg.liney >= dsync.grphymax) {                  if (mg.liney >= dsync.grphymax) {
                                 return(TRUE);                          return(TRUE);
                         }                  }
                         mg.vm += 80*2;                  mg.vm += 80*2;
                 } while(--mul);                  remain--;
                 vad = (vad + mg.pitch) & 0x7fff;                  if (!remain) {
         } while(--remain);                          break;
                   }
                   mul--;
                   if (!mul) {
                           mul = mg.lr;
                           vad = LOW15(vad + mg.pitch);
                   }
           }
         mkgrph->vm = mg.vm;          mkgrph->vm = mg.vm;
         mkgrph->liney = mg.liney;          mkgrph->liney = mg.liney;
         return(FALSE);          return(FALSE);

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


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