My bad, stupidity in reading colour mapped images. Reference: /n/sources/patch/applied/bmp-read Date: Tue Jan 11 15:54:45 CET 2005 --- /sys/src/cmd/jpg/readbmp.c Tue Jan 11 15:54:45 2005 +++ /sys/src/cmd/jpg/readbmp.c Tue Jan 11 15:54:45 2005 @@ -489,7 +489,7 @@ if(num_coltab) { int i; - Bseek(b, bmih.size + sizeof(Infohdr), 0); + Bseek(b, bmih.size + Filehdrsz, 0); for(i = 0; i < num_coltab; i++) { clut[i].blue = (uchar)Bgetc(b); --- /sys/src/cmd/jpg/bmp.h Tue Jan 11 15:54:45 2005 +++ /sys/src/cmd/jpg/bmp.h Tue Jan 11 15:54:44 2005 @@ -11,9 +11,11 @@ uchar alpha; } Rgb; +#define Filehdrsz 14 + typedef struct { short type; - long size; + long size; /* file size, not structure size */ short reserved1; short reserved2; long offbits;