From: sparky4 Date: Fri, 3 Apr 2015 20:06:11 +0000 (-0500) Subject: i just need to update the offsets and numbers now~ wwww X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=99151323f12c6457ef6c902d6d9ed9670d0122bf;p=16.git i just need to update the offsets and numbers now~ wwww modified: pcxtest.exe modified: scroll.exe modified: src/lib/modex16.c modified: src/lib/modex16.h modified: src/pcxtest.c modified: src/scroll.c modified: test.exe modified: test2.exe --- diff --git a/pcxtest.exe b/pcxtest.exe index 22e267b7..8cd0c010 100644 Binary files a/pcxtest.exe and b/pcxtest.exe differ diff --git a/scroll.exe b/scroll.exe index a004f5bf..7bf4adf6 100644 Binary files a/scroll.exe and b/scroll.exe differ diff --git a/src/lib/modex16.c b/src/lib/modex16.c index f303ecf4..b1cd806a 100644 --- a/src/lib/modex16.c +++ b/src/lib/modex16.c @@ -591,17 +591,17 @@ modexPalWhite() { /* utility */ void -modexPalUpdate(bitmap_t *bmp, word *i, word qp, word aqpp) +modexPalUpdate(bitmap_t *bmp, word *i, word qp/*, word aqpp*/) { //---- static word count=0; byte *p = bmp->palette; word w=0; word q=0; word qq=0; - word ii; + //word ii; static word a[PAL_SIZE/3]; - word z=0, aq=0, aa=0, pp=0, apee=0; - sword aqpw; + word z=0, aq=0, aa=0, pp=0;//, apee=0; + //sword aqpw; //printf("1 (*i)=%02d\n", (*i)/3); modexWaitBorder(); @@ -630,44 +630,20 @@ modexPalUpdate(bitmap_t *bmp, word *i, word qp, word aqpp) { //if(i%3==0 && (p[i+5]==p[i+4] && p[i+4]==p[i+3] && p[i+3]==p[i+2] && p[i+2]==p[i+1] && p[i+1]==p[i] && p[i+5]==p[i])) //____ if((qp>0)&&((*i)-q)%3==0 && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) outp(PAL_DATA_REG, p[(*i)-q]); else - if(((((*i)-q)%3==0) || ((qp>0)&&((*i)-(bmp->offset*3))%3==0)) && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) + if(((((*i)-q)%3==0)) && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) { - if(q>0) - { -/* (*i)-=(aqpp*3); - aqpw=aqpp-1; - outp(PAL_WRITE_REG, qq+(((*i)+(aqpw*3)-(bmp->offset*3))/3)); - for(ii=aqpp; ii>0; ii--) - { - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))]); - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3)+1)-(bmp->offset*3))]); - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3)+2)-(bmp->offset*3))]);*/ - printf("%d's color=%d\n", (*i)/3, ((*i)-(bmp->offset*3))); - printf("%d's color2=%d\n", (*i)/3, ((*i)-(bmp->offset*3))-(aqpp*3)); -// printf("position = %d\n", qq+(((*i)+(aqpw*3)-(bmp->offset*3))/3)); -/*if(qp>0){ //printf("[%d]", p[((*i)-q)]); printf("[%d]", p[((*i)-q)+1]); printf("[%d]", p[((*i)-q)+2]); printf("[%d]", p[((*i)-q)+3]); printf("[%d]", p[((*i)-q)+4]); printf("[%d]", p[((*i)-q)+5]); printf(" %d [%d]\n", (*i), p[((*i)-q)]); } -printf("[%d]", p[((((*i)+((aqpp-ii)*3)))-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+1)-(bmp->offset*3))]); -printf("[%d] | ", p[((((*i)+((aqpp-ii)*3))+2)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+3)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+4)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+5)-(bmp->offset*3))]); -printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))]); }*/ - //printf("%d\n", ((*i)+((ii)*3))/3); - //printf("ii=%d\n", ii); - //printf("aqpp=%d\n", aqpp); - //printf(" %d\n", ((*i)+((aqpp-ii)*3))/3); -// } - //printf(" %d\n",((((*i)+((aqpp-ii)*3)))-(bmp->offset*3))); - //printf(" %d\n",((((*i)+((aqpp-ii)*3))+1)-(bmp->offset*3))); - //printf(" %d\n",((((*i)+((aqpp-ii)*3))+2)-(bmp->offset*3))); - printf(" (*i)=%d\n", (*i)/3); - } - //if(q>0) printf("%d\n", (*i)/3); - //printf("[%d]", p[((*i)-q)]); printf("[%d]", p[((*i)-q)+1]); printf("[%d]", p[((*i)-q)+2]); printf("[%d]", p[((*i)-q)+3]); printf("[%d]", p[((*i)-q)+4]); printf("[%d]", p[((*i)-q)+5]); printf(" %d [%d]\n", (*i), p[((*i)-q)]); w++; break; } + else if(qp>0 && (*i)==(qp*3)) + { + (*i)++; + //printf("qp=%d\n", qp); + //printf(" (*i)=%d\n", (*i)/3); + //printf(" %d's color=%d\n", (*i)/3, ((*i)-(bmp->offset*3))); + //printf(" %d's color2=%d\n", (*i)/3, ((*i)-(bmp->offset*3))-(qp*3)); + break; + } else { if(bmp->offset==0 && (*i)<3 && q==0) outp(PAL_DATA_REG, 0); @@ -676,6 +652,8 @@ printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[ else outp(PAL_DATA_REG, p[((*i)-(bmp->offset*3))]); } } + //if(qp>0) printf("qp=%d\n", qp); + if(qp>0) printf(" (*i)=%d\n", (*i)/3); } modexWaitBorder(); /* waits one retrace -- less flicker */ if((*i)>=PAL_SIZE/2 && w==0) @@ -683,50 +661,27 @@ printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[ for(; (*i)0)&&((*i)-q)%3==0 && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) outp(PAL_DATA_REG, p[(*i)-q]); else - if(((((*i)-q)%3==0) || ((qp>0)&&((*i)-(bmp->offset*3))%3==0)) && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) + if(((((*i)-q)%3==0)) && (p[((*i)-q)]==p[((*i)-q)+3] && p[((*i)-q)+1]==p[((*i)-q)+4] && p[((*i)-q)+2]==p[((*i)-q)+5])) { - if(q>0) - { -/* (*i)-=(aqpp*3); - aqpw=aqpp-1; - outp(PAL_WRITE_REG, qq+(((*i)+(aqpw*3)-(bmp->offset*3))/3)); - for(ii=aqpp; ii>0; ii--) - { - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))]); - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3)+1)-(bmp->offset*3))]); - outp(PAL_DATA_REG, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3)+2)-(bmp->offset*3))]);*/ - printf("%d's color=%d\n", (*i)/3, ((*i)-(bmp->offset*3))); - printf("%d's color2=%d\n", (*i)/3, ((*i)-(bmp->offset*3))-(aqpp*3)); -// printf("position = %d\n", qq+(((*i)+(aqpw*3)-(bmp->offset*3))/3)); -/*if(qp>0){ //printf("[%d]", p[((*i)-q)]); printf("[%d]", p[((*i)-q)+1]); printf("[%d]", p[((*i)-q)+2]); printf("[%d]", p[((*i)-q)+3]); printf("[%d]", p[((*i)-q)+4]); printf("[%d]", p[((*i)-q)+5]); printf(" %d [%d]\n", (*i), p[((*i)-q)]); } -printf("[%d]", p[((((*i)+((aqpp-ii)*3)))-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+1)-(bmp->offset*3))]); -printf("[%d] | ", p[((((*i)+((aqpp-ii)*3))+2)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+3)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+4)-(bmp->offset*3))]); -printf("[%d]", p[((((*i)+((aqpp-ii)*3))+5)-(bmp->offset*3))]); -printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))]); }*/ - //printf("%d\n", ((*i)+((ii)*3))/3); - //printf("ii=%d\n", ii); - //printf("aqpp=%d\n", aqpp); - //printf(" %d\n", ((*i)+((aqpp-ii)*3))/3); -// } - //printf(" %d\n",((((*i)+((aqpp-ii)*3)))-(bmp->offset*3))); - //printf(" %d\n",((((*i)+((aqpp-ii)*3))+1)-(bmp->offset*3))); - //printf(" %d\n",((((*i)+((aqpp-ii)*3))+2)-(bmp->offset*3))); - printf(" (*i)=%d\n", (*i)/3); - } - //if(q>0) printf("%d\n", (*i)/3); - //printf("[%d]", p[((*i)-q)]); printf("[%d]", p[((*i)-q)+1]); printf("[%d]", p[((*i)-q)+2]); printf("[%d]", p[((*i)-q)+3]); printf("[%d]", p[((*i)-q)+4]); printf("[%d]", p[((*i)-q)+5]); printf(" %d [%d]\n", (*i), p[((*i)-q)]); w++; break; } + else if(qp>0 && (*i)==(qp*3)) + { + (*i)++; + //printf("qp=%d\n", qp); + //printf(" (*i)=%d\n", (*i)/3); + //printf(" %d's color=%d\n", (*i)/3, ((*i)-(bmp->offset*3))); + //printf(" %d's color2=%d\n", (*i)/3, ((*i)-(bmp->offset*3))-(qp*3)); + break; + } else { if(qp==0) outp(PAL_DATA_REG, p[(*i)-q]); else outp(PAL_DATA_REG, p[((*i)-(bmp->offset*3))]); } } + //printf(" (*i)=%d\n", (*i)/3); } // if(q>0) @@ -740,7 +695,7 @@ printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[ pp = q; //printf("1(*i)=%02d\n", (*i)/3); //printf("1z=%02d\n", z/3); - chkcolor(bmp, &q, &a, &aa, &z, i, &aqpp); + chkcolor(bmp, &q, &a, &aa, &z, i/*, &aqpp*/); //printf("2(*i)=%02d\n", (*i)/3); //printf("2z=%02d\n", z/3); @@ -750,15 +705,9 @@ aqpee: { // printf("a[%02d]=(%d)\n", aq, a[aq]); if(a[aq]==-1) aq++; - else{ apee++; break; } + else break; //{ apee++; break; } } - //printf("(*i) =%02d\n", (*i)/3); - //printf("z =%02d\n", z/3); - //if(aqdata[lq]+bmp->offset); @@ -790,13 +739,13 @@ aqpee: } //printf(" aq=%02d\n", aq); -//printf(" aa=%02d\n", aa);/ +//printf(" aa=%02d\n", aa); //update the palette~ - modexPalUpdate(bmp, &pp, 1, aqpp); + modexPalUpdate(bmp, &pp, aq/*, apee*/); (*i)=pp; - if(aqdata->offset=(paloffset/3); - modexPalUpdate(map.tiles->data, &paloffset, 0, 0); + modexPalUpdate(map.tiles->data, &paloffset, 0/*, 0*/); printf("\n====\n"); printf("0 paloffset= %d\n", paloffset/3); printf("====\n\n"); @@ -548,9 +548,9 @@ void main() { if(keyp(25)){ pdump(bg); pdump(spri); } if(keyp(24)){ modexPalUpdate3(gpal); paloffset=0; pdump(bg); pdump(spri); } if(keyp(22)){ - paloffset=0; modexPalBlack(); modexPalUpdate(&ptmp, &paloffset, 0, 0); + paloffset=0; modexPalBlack(); modexPalUpdate(&ptmp, &paloffset, 0/*, 0*/); printf("1paloffset = %d\n", paloffset/3); - modexPalUpdate(map.tiles->data, &paloffset, 0, 0); + modexPalUpdate(map.tiles->data, &paloffset, 0/*, 0*/); printf("2paloffset = %d\n", paloffset/3); pdump(bg); pdump(spri); } diff --git a/test.exe b/test.exe index bb9fdfe4..8e7ac3bf 100644 Binary files a/test.exe and b/test.exe differ diff --git a/test2.exe b/test2.exe index 0279318d..25c682d0 100644 Binary files a/test2.exe and b/test2.exe differ