Yes, it's Basic 8 format, but color is interpreted a little differently. First, the Basic 8 header, using the proper values for I Paint (and avoiding compression techniques): 0,0,'brus',4,0,0,0,0,2,80,144,1,15,0,0 ^ next comes 400 lines of 80 bytes of bitmap, top to bottom and left to right. 32000 bytes in all. If you're doing monochrome, you're done; except the 2 marked above should be 0 . Color is more nasty, and not just because of this format, but I'll get to that as we go. First, the ascii 'colr' goes in the file. now, 100 rows of 80 color bytes follow, with each byte being FG*16+BG (it might be BG*16+FG, I forget). Note there are still only 16 colors. Here's where it gets complicated. Every two 80-byte rows make up a pair which cover 640 by 8 pixels. The first 80 relate to scanlines 0,2,4,6 and the second 80 are scanlines 1,3,5,7. So, byte 0 and byte 80 of color data cover the top left 8x8 'card', and byte 79 and 159 are the top right: **@@***@ +---++-- * = byte 0 FG ***@@**@ @ = byte 0 BG ++---++- ****@@** + = byte 80 FG -++---++ - = byte 80 BG @****@@* --++---+ So, all four scanlines governed by a single byte must be only one FG and one BG color. The increased colors of I Paint are thanks to your monitor and your eyes.