X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16.c;h=bcf98c1187adff0119947cd3a992eece926cdae8;hb=21feb71f40d3cf99f39bb8758a609b2a1cbd6d0c;hp=78b5c36977e5ceaea1e1c4f76d66d53f4a172fdf;hpb=545e0ff364efedefb4c9c850ba6ce0fcddcfb101;p=16.git diff --git a/src/lib/modex16.c b/src/lib/modex16.c index 78b5c369..bcf98c11 100644 --- a/src/lib/modex16.c +++ b/src/lib/modex16.c @@ -593,7 +593,7 @@ modexPalWhite() { void modexPalUpdate(bitmap_t *bmp, word *i, word qp, word aqpp) { - byte *p = bmp->palette; + const byte *p = bmp->palette; word w=0; word q=0; word qq=0; @@ -663,6 +663,8 @@ printf(" %d [%d]\n",((((*i)+((aqpp-ii)*3))+((aqpp+ii)*3))-(bmp->offset*3))/3, p[ } else { + if(bmp->offset==0 && (*i)<3 && q==0) outp(PAL_DATA_REG, 0); + else if(qp==0) outp(PAL_DATA_REG, p[(*i)-q]); else outp(PAL_DATA_REG, p[((*i)-(bmp->offset*3))]); } @@ -827,6 +829,23 @@ modexPalUpdate2(byte *p) } } +void +modexPalUpdate3(byte *p) +{ + int i; + modexWaitBorder(); + outp(PAL_WRITE_REG, 0); /* start at the beginning of palette */ + for(i=0; i