25.06.2004: The latest version is BmpConverter 1.311b.

BmpConverter - Screenshot
screenshot of BmpConverter in action
(version 1.300b running on WMaker, Linux)

BmpConverter - icon

What Is BmpConverter?


What It Can Do

BmpConverter converts BMP images to various graphic formats suitable for the Commodore 64.
Implemented graphic modes are (so far):
  • 7 colour BMP → interlaced Koala + interlaced multicolour spriteset
  • 5 colour BMP → interlaced hires bitmap + hires spriteset
  • 4 colour BMP → interlaced Koala
  • 4 colour BMP → Koala
  • 3 colour BMP → hires + hires spriteset
  • 2 colour BMP → hires spriteset
  • 2 colour BMP → hires bitmap
The outcome will be exactly like displayed in the preview picture, except for non-interlaced multicolour-pixel output formats. This is the case for Koala pictures where two horizontal pixels are combined to one large pixel with the size 2x1 due to limitations of the multicolour mode on Commodore 64.

What It Cannot Do

BmpConverter threats colours in BMP images as grayscale-gradients (increasing brightness values).
It does not try to find the right colours if the BMP image has more colours than selected in the dialog. There may be other programs capable for that.

BmpConverter - icon




This is the latest BmpConverter Java executable suitable for all platforms.


This is the latest BmpConverter Java source.


This is the example files package with BMP images for every graphics mode supported.


This is an icon your may use for WMaker (Linux).

View previous versions at SourceForge.net.

BmpConverter - icon

System Requirements

  • Java runtime 1.3 or newer (Get SUN's Java runtime environment at http://java.com.)
get SUN Java-runtime here

As BmpConverter is written in Java, it should run on every platform Java runs on (for example Linux, MacOS X, OS/2, Unix, VMS and Windows) :)

BmpConverter - icon

Installation Instructions

  • Step 1: Download a Java runtime environment if you have none installed.
  • Step 2: Download the latest version of BmpConverter and extract it to any directory of your choice.
  • Step 3: Create a link to start BmpConverter. (This step may be skipped on some operating systems.)
    This may be the hardest part for people not familiar with Java applications.
    Make your link, batch-file, shell-script or whatever somehow look like the following commandline:

      java -jar [directory]/BmpConverter-[version].jar  

  • Step 4 (Optional): Download the example picture package for BmpConverter and extract it to any directory of your choice.

BmpConverter - icon

Working With BmpConverter


Preparing Images Before Converting

Decide which output mode you want to use and select it in BmpConverter. Then click the INFO button to get to know the image size, the number of colours and the correct file size.

Important: The dimensions and number of colours of the BMP image have to absolutely match the settings given in the INFO-dialog!
What you have to do with your original image:
  • Scale or resize your image so that it meets the specifications given for you desired output mode.
  • Convert your image to grayscale.
  • Convert your image to indexed colours. The number of colours depend on your desired output mode
  • Save your image as a plain BMP image.

Things To Keep In Mind When Using BmpConverter

Remember to set the output mode you want to have your Commodore 64 image first. After you have done so, and if you are really sure your BMP image meets the presetting in BmpConverter, open the image and click on the GO button to convert it.

How To Use Your Converted Image On Commodore 64

The most important thing to know here is that only the raw bitmap-data of your image is saved. Your file on Commodore 64 will be without colour information, because BmpConverter threats colours as grayscale-gradients (see What Is BmpConverter?).
To include your image in your production on Commodore 64 you will have to add the value for colour in your code. That means you will have to fill the usual memory locations with that one colour-value. This is a short and easy example (I assume you know what I am talking about ;):
  • For images in hires-mode using the standard video page you have to fill $0400 - $07e8 with $e0 for light-blue foreground on black background.
While making these images unusable for common graphics-programs on Commodore 64 without this easy modification, it is an advantage for programmers who would have blanked the unnecessary colour-data anyway to save disk space.
Maybe I will add some Commodore 64 code in the BmpConverter example package in the future, as I think this would maybe a help for the more tricky modes...

BmpConverter - icon

Known Bugs / To Do List

  • Bug: Editing filenames in the "BMP File" and "C64 File" textbox might lead to errors or undesired functionality.
  • ToDo: Test graphic modes "5 ci hires + sprite", "4 ci koala" and "2 c sprite".
  • ToDo: Enable users to adjust the shifting of pictures for graphics mode "7 ci koala + msprite".
  • ToDo: Include some sort of application to start the Java-program.
  • ToDo: Add some kind of dialog to specify the output directory.
  • ToDo: Add a Commodore 64 code example for each output mode in the example package.
  • ToDo: Include proper documentation.
  • ToDo: Add D64 support.

BmpConverter - icon


  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

GNU General Public License

BmpConverter - icon


  To get in contact with me for any reason concerning BmpConverter write an eMail to wolfvoz(AT)users.sourceforge.net.

last updated on 26.09.2004