A simple .BMP image to C64 sprite data converter for Windows

V1.01 - By Phil / Retroleum - Download Latest Version
The source image is scanned in 24x21 pixel blocks from left to right, top to bottom. Width must be
a multiple of 8 pixels and any space which is not big enough for a sprite block (24x21 pixels) is skipped.


Options:

1) "Multicolour mode" - Selects how the source data is interpreted. If this option is NOT ticked, the conversion is in simple hi-res mode,
IE: each source pixel (IE: colour index byte from the .bmp file) produces a single bit in the C64 sprite.  Please select the the colour index (in
the source image) which is required to be treated as transparent. Colour indexes 0-15 can be  selected from the drop-down list or any value
from 0-255 can be manually entered. Any pixel that does not match this index is treated as a binary 1 for the sprite image. Naturally,
each hi-res sprite block should have only one unique colour.
 
When the multicolour mode box is ticked, the transparent colour index needs to be set as above and additionally the two common multicolour
register values need to be chosen.

As the converter scans the image:
When preparing a source image for multicolour mode conversion, sprites should be drawn with double-width pixels (see the test
pic included in the zip)  The converter looks at the left pixel of each 2 pixel pair in the source image to determine which bitpair
(00b,01b,10b,11b) to use in the destination.


2) "Save colours" - If desired, the colour index used for the non-transparent pixels of each sprite can be saved. This is really only
useful if the source image has the C64's original colours in indexes 0-15.

IE:

00 - Black
01 - White
02 - Red
03 - Cyan
04 - Purple
05 - Green
06 - Blue
07 - Yellow
08 - Orange
09 - Brown
10 - Pink
11 - Grey 1 (darkest)
12 - Grey 2
13 - Light Green
14 - Light Blue"
15 - Grey 3 (lightest)


3) "Skip empty sprites" - Simply skips any sprite definition blocks that contain nothing but transparent pixels. Most of the time
you will want this ticked.


Notes:

The converter works from the palette index values of the source image (0-255) and is oblivious to the actual colours in the palette.
Therefore, the source image does NOT need to have the original C64 colours in indexes 0-15 (these are just suggested by the
drop-down menus for when the C64 colours in the  correct order HAVE been used in the source image). If desired, the higher
indexes (16-255) can be used in the source image EG: for multicolour0 and multicolour1 to avoid any ambiguity when the converter
selects bitpairs, or for the transparent background colour so that the entire range of colours can be saved when "save colours" is ticked.

This program has been tested on Windows XP (32bit) and Windows 7 (64 bit)