Diff for /xmil/vram/make15.c between versions 1.4 and 1.5

version 1.4, 2004/08/10 08:28:49 version 1.5, 2004/08/18 09:17:56
Line 18  void width80x25_200l(void) {        // 8 Line 18  void width80x25_200l(void) {        // 8
         UINT8   *lp;          UINT8   *lp;
         UINT    x;          UINT    x;
         REG8    udtmp;          REG8    udtmp;
           REG8    dirty;
         UINT8   work[MAKETEXT_ROW * 3];          UINT8   work[MAKETEXT_ROW * 3];
         UINT    lines;          UINT    lines;
         UINT    i;          UINT    i;
Line 32  void width80x25_200l(void) {        // 8 Line 33  void width80x25_200l(void) {        // 8
                 x = makescrn.surfcx;                  x = makescrn.surfcx;
                 do {                  do {
                         udtmp = updatetmp[pos];                          udtmp = updatetmp[pos];
                         if (udtmp & makescrn.dispflag) {                          dirty = (udtmp & makescrn.dispflag);
                                 updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag));                          if (dirty) {
                                   updatetmp[pos] = (UINT8)(udtmp ^ dirty);
                                 newline = TRUE;                                  newline = TRUE;
                                 ZeroMemory(work, sizeof(work));                                  if (dirty & UPDATE_TRAM) {
                                 makechr8(work, pos, fontcy, udtmp);                                          ZeroMemory(work, sizeof(work));
                                 makemix_mix(dst, SURFACE_WIDTH * 2,                                          makechr8(work, pos, fontcy, udtmp);
                                                         work, makescrn.disp1 + (pos << 5), fontcy);                                          makemix_mixtext(dst, SURFACE_WIDTH * 2, work, fontcy);
                                 makemix_doubler(dst, fontcy, 0x40404040);                                  }
                                   if (dirty & UPDATE_VRAM) {
                                           makemix_mixgrph(dst, SURFACE_WIDTH * 2,
                                                                           makescrn.disp1 + (pos << 5), fontcy);
                                   }
                                 if (fontcy < makescrn.fontcy) {                                  if (fontcy < makescrn.fontcy) {
                                         makemix_remcpy(dst, fontcy * 2, makescrn.fontcy * 2);                                          makemix_cpy200(dst, fontcy, makescrn.fontcy);
                                 }                                  }
                         }                          }
                         pos = LOW11(pos + 1);                          pos = LOW11(pos + 1);
Line 78  void width80x12_200l(void) {        // 8 Line 84  void width80x12_200l(void) {        // 8
         UINT8   *lp;          UINT8   *lp;
         UINT    x;          UINT    x;
         REG8    udtmp;          REG8    udtmp;
           REG8    dirty;
         UINT8   work[MAKETEXT_STEP * 2];          UINT8   work[MAKETEXT_STEP * 2];
 const UINT8     *src;  const UINT8     *src;
         UINT    lines;          UINT    lines;
Line 93  const UINT8 *src; Line 100  const UINT8 *src;
                 x = makescrn.surfcx;                  x = makescrn.surfcx;
                 do {                  do {
                         udtmp = updatetmp[pos];                          udtmp = updatetmp[pos];
                         if (udtmp & makescrn.dispflag) {                          dirty = (udtmp & makescrn.dispflag);
                                 updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag));                          if (dirty) {
                                   updatetmp[pos] = (UINT8)(udtmp ^ dirty);
                                 newline = TRUE;                                  newline = TRUE;
                                 ZeroMemory(work, sizeof(work));                                  if (dirty & UPDATE_TRAM) {
                                 makechr16(work, pos, fontcy, udtmp);                                          ZeroMemory(work, sizeof(work));
                                 src = makescrn.disp1 + (LOW10(pos) << 5);                                          makechr16(work, pos, fontcy, udtmp);
                                 makemix_mix(dst, SURFACE_WIDTH * 4, work, src, fontcy);                                          makemix_mixtext(dst, SURFACE_WIDTH * 4, work, fontcy);
                                 makemix_mix(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4,                                          makemix_mixtext(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4,
                                                         work + MAKETEXT_STEP, src + GRAM_HALFSTEP, fontcy);                                                                                          work + MAKETEXT_STEP, fontcy);
                                 makemix_doubler(dst, fontcy * 2, 0x40404040);                                  }
                                   if (dirty & UPDATE_VRAM) {
                                           src = makescrn.disp1 + (LOW10(pos) << 5);
                                           makemix_mixgrph(dst, SURFACE_WIDTH * 4, src, fontcy);
                                           makemix_mixgrph(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4,
                                                                                           src + GRAM_HALFSTEP, fontcy);
                                   }
                                 if (fontcy < makescrn.fontcy) {                                  if (fontcy < makescrn.fontcy) {
                                         makemix_remcpy(dst, fontcy * 4, makescrn.fontcy * 4);                                          makemix_cpy200(dst, fontcy * 2, makescrn.fontcy * 2);
                                 }                                  }
                         }                          }
                         pos = LOW11(pos + 1);                          pos = LOW11(pos + 1);
Line 160  void width80x20l(void) { Line 174  void width80x20l(void) {
                                 newline = TRUE;                                  newline = TRUE;
                                 ZeroMemory(work, sizeof(work));                                  ZeroMemory(work, sizeof(work));
                                 makechr8(work, pos, fontcy, udtmp);                                  makechr8(work, pos, fontcy, udtmp);
                                 makemix_txt(dst, SURFACE_WIDTH * 2, work, fontcy);                                  makemix_settext(dst, SURFACE_WIDTH * 2, work, fontcy);
                                 makemix_doubler(dst, fontcy, 0x40404040);  
                                 if (fontcy < makescrn.fontcy) {                                  if (fontcy < makescrn.fontcy) {
                                         makemix_remcpy(dst, fontcy * 2, makescrn.fontcy * 2);                                          makemix_cpy200(dst, fontcy, makescrn.fontcy);
                                 }                                  }
                                 makemix_ul20(dst + SURFACE_WIDTH * makescrn.fontcy * 2,                                  makemix_ul20(dst + SURFACE_WIDTH * makescrn.fontcy * 2, pos);
                                                                                                                         pos, 0x40404040);  
                         }                          }
                         pos = LOW11(pos + 1);                          pos = LOW11(pos + 1);
                         dst += 8;                          dst += 8;
Line 221  void width80x10l(void) { Line 233  void width80x10l(void) {
                                 newline = TRUE;                                  newline = TRUE;
                                 ZeroMemory(work, sizeof(work));                                  ZeroMemory(work, sizeof(work));
                                 makechr16(work, pos, fontcy, udtmp);                                  makechr16(work, pos, fontcy, udtmp);
                                 makemix_txt(dst, SURFACE_WIDTH * 4, work, fontcy);                                  makemix_settext(dst, SURFACE_WIDTH * 4, work, fontcy);
                                 makemix_txt(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4,                                  makemix_settext(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4,
                                                                                         work + MAKETEXT_STEP, fontcy);                                                                                          work + MAKETEXT_STEP, fontcy);
                                 makemix_doubler(dst, fontcy * 2, 0x40404040);  
                                 if (fontcy < makescrn.fontcy) {                                  if (fontcy < makescrn.fontcy) {
                                         makemix_remcpy(dst, fontcy * 4, makescrn.fontcy * 4);                                          makemix_cpy200(dst, fontcy * 2, makescrn.fontcy * 2);
                                 }                                  }
                                 makemix_ul10(dst + SURFACE_WIDTH * makescrn.fontcy * 4,                                  makemix_ul10(dst + SURFACE_WIDTH * makescrn.fontcy * 4, pos);
                                                                                                                         pos, 0x40404040);  
                         }                          }
                         pos = LOW11(pos + 1);                          pos = LOW11(pos + 1);
                         dst += 8;                          dst += 8;

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


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