-
-// printf("z=%d\n", z/3);
-// printf("q+z=%d\n", (q+z)/3);
-// printf("z-q=%d\n", (z-q)/3);
-// printf("%d\n", (z-(z-q))/3);
-// printf("q=%d\n", q/3);
-// printf("aa=%d\n", aa);
-
- aq=0; pp = q; ppp=q;//(aq)*3;
-aqpee:
- while(aq<aa)
- {
- //printf("a[%02d]=(%d)", aq, a[aq]);
- if(a[aq]==0) aq++;
- else break;
- }
-
-// spee=0;
-
- aqpp=(aq*3);
- //aqpp=q*2;
-
-// printf("\naq=%02d\n", aq);
-// printf("spee=%02d\n\n", spee);
- //printf("aqpp=%02d\n\n", aqpp/3);
-
- for(lq=0; lq<bufSize; lq++)
- {
- if(bmp->data[lq]+bmp->offset==aq)
- {
- //printf("%02d", bmp->data[lq]);
- //printf("\n%02d\n", bmp->offset);
- //printf("%02d\n", a[aq]);
- bmp->data[lq]=((bmp->data[lq]+bmp->offset)-a[aq]);
- }
- else if(bmp->data[lq]+bmp->offset < z/3){ bmp->data[lq]+=bmp->offset; }
- //printf("%02d ", bmp->data[lq]);
- //if(lq > 0 && lq%bmp->width==0) printf("\n");
- }
-
-// if(spee==0)
-// {
- while(pp<=aqpp)
- {
- //if(pp<(z-1))
- /*printf("pp=%02d ", pp/3);
- printf("bmp: [%d]", bmp->palette[pp-q]);
- printf("[%d]", bmp->palette[(pp-q)+1]);
- printf("[%d]\n", bmp->palette[(pp-q)+2]);*/
- if(((pp/3)==aq || spee>0))
- {
- printf("spee=%d\n", spee);
- printf(" pp=%02d ", pp/3);
- printf("old bmp: [%d]", bmp->palette[(pp-ppp)]);
- printf("[%d]", bmp->palette[(pp-ppp)+1]);
- printf("[%d]\n", bmp->palette[(pp-ppp)+2]);
- //if(spee==0) printf("\npp=%02d\n\n", pp/3);
- bmp->palette[(pp-ppp)]= bmp->palette[(pp-ppp)+3];
- bmp->palette[(pp-ppp)+1]= bmp->palette[(pp-ppp)+4];
- bmp->palette[(pp-ppp)+2]= bmp->palette[(pp-ppp)+5];
- if(spee==0) spee++;
- }
-/* bmp->palette[pp]= bmp->palette[pp+3];
- bmp->palette[pp+1]= bmp->palette[pp+4];
- bmp->palette[pp+2]= bmp->palette[pp+5];*/
- printf(" pp=%02d ", pp/3);
- printf(" bmp: [%d]", bmp->palette[(pp-ppp)]);
- printf("[%d]", bmp->palette[(pp-ppp)+1]);
- printf("[%d]\n", bmp->palette[(pp-ppp)+2]);
-/* printf("bmp: [%d]", bmp->palette[pp]);
- printf("[%d]", bmp->palette[pp+1]);
- printf("[%d]\n", bmp->palette[pp+2]);*/
- //aqpp=(pp-q);
- //else if(pp==(z-1)) bmp->palette[pp]=0;
- pp+=3;
- }
-// spee++;
- printf("aqpp= %02d\n", aqpp/3);
- //printf("&aqpp= %02d\n", &aqpp);
- //printf("q= %02d\n", q/3);
- //printf("z= %02d\n", z/3);
- //printf("&q= %02d\n", &q);
- //modexPalUpdate(bmp, &q, 1);
- //modexPalUpdate(bmp, &, 1);
-// if(pp<=aqpp)
- //modexPalUpdate(bmp, &ppp, 1);
- modexPalUpdate(bmp, 0, 1);
-// }
-
-// modexPalUpdate(bmp, 0, 1);
-
- if(aq<aa){ printf("~~~~\n"); ppp=q; /*spee=0;*/ aq++; goto aqpee; }
-
- }
-}
-
-void
-modexPalUpdate2(byte *p)
-{
- int i;
- modexWaitBorder();
- outp(PAL_WRITE_REG, 0); /* start at the beginning of palette */
- for(i=0; i<PAL_SIZE/2; i++)
- {
- outp(PAL_DATA_REG, p[i]);
- }
- modexWaitBorder(); /* waits one retrace -- less flicker */
- for(; i<PAL_SIZE; i++)
- {
- outp(PAL_DATA_REG, p[(i)]);
- }