ham_convert is a freeware (also free for commercial use) graphic converter written by Sebastian Sieczko that can convert a normal jpg/gif/png image to one of the graphic modes of the Commodore Amiga. Its main use is to produce high-quality hold-and-modify (HAM) images using brute-force search.
It can produce ILBM IFF files (Amiga graphic modes: EHB, HAM6, HAM8, 2/4/8/16/32/64/128/256-color indexed, PCHG – 4/8/16/32/EHB modes).
This program requires java and should work on any operating system supported by JRE8 or newer (community-developed alternative here). If you get an error message when starting the program with the included start script try to run ham_convert jar file directly by double-clicking on it (there is no exe file, java uses jar files instead).
You can use JRE portable if you can’t use the normal version. Just install it into
X:\PortableApps\CommonFiles\OpenJDKJRE64 where X is your drive letter, and create a text file named start_portable.bat containing the following line (or edit this sample file):
X:\PortableApps\CommonFiles\OpenJDKJRE64\bin\java.exe -jar ham_convert_1.8.5.jar
again replacing X with your drive letter. Place start_portable.bat in the same folder as ham_convert jar and double click on it to run ham_convert.
ham_convert (and any other java app) can be run on Steam Deck. Download Java runtime directly from Oracle: https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz. Extract this file to another folder, for example /home/deck/java/. Inside this folder you should see a bin folder (which contains all the needed Java binaries). We now have a portable Java environment that we can use for any Java applications. Now you need to run a command in the terminal to start ham_convert:
/home/deck/java/bin/java -jar path_to_the_ham_convert_jar
You can modify the included start.sh. This script needs to have executable permissions in order for Steam to launch it.
WSL normally only supports pure command line applications. It is still possible to run ham_convert in cli mode under WSL by installing Xvfb:
sudo apt install xvfb. Running ham_convert under WSL:
xvfb-run -a java -Xms500m -Xmx2g -jar ham_convert_1.8.5.jar [image/txt file list] [options]. Alternative Xvfb configuration. Version 1.7.0 was confirmed working under WSL with Xvfb. To run gui version you need to install full X Server like VcXsrv or XMing or upgrade to Windows 11.
There are two program versions: stable, and a more frequently updated beta version containing most recent fixes and improvements. Beta version is released to allow users to test newly added features that aren’t yet fully polished to be included in the stable release. This mostly means improved conversion so beta version is recommended for best image quality.
If you found an issue while using stable version, try the latest beta. If the problem still exist please report it here.
Example HAM6 images are available here.
Contact info (also available in the program – click on the copyright note at the bottom-left of the main window). Please report missing features, incompatibilities, regressions, image quality issues, visual glitches, bugs and any undesired or simply weird behavior. Inclusion of your test pictures and conversion settings will also be really helpful. If you don’t get an answer (your e-mail was probably classified as spam by gmail) write a comment below.
I send thanks to the following people who helped me with testing and gave some interesting ideas:
Tomasz Rachwal, cholok