ilbm2raw is a simple tool to convert Amiga IFF image files to raw data needed for Amiga OCS/ECS programming.
ilbm2raw is based on code from Sebastiano Vigna from Italian Amiga Magazine issue 11 disk, his code has been enhanced (or messed up if you prefer) to support Byterun1 compression, non-interleaved output images and palette recording.
In order to compile and install ilbm2raw you will need a regular gcc, the whole program has almost no dependencies and it should work on any modern Linux distro, just type the canonical
autoreconf
./configure
make
sudo make install
and you are done.
To quickly detect regression, ilbm2raw has some mechanism to detect if images are still correctly converted after each update. To achieve this a set of iff files in different formats have been stored inside imgtest directory and, the same files, converted in raw format, have been stored in imgout directory. After each code update, before merging, it's safe to run
make checks
this will convert the images inside imgtest with the new updated code, the result will be compared against the imgout contents, if there are any differences, review the code because something is wrong! Expected output should be something like this:
PASS: greptest.sh
PASS: acenoninterleavedtest.sh
PASS: rawnoninterleavedtest1.sh
PASS: rawnoninterleavedtest2.sh
PASS: rawinterleavedonelineswaptest.sh
PASS: stripestest.sh
============================================================================
Testsuite summary for ilbm2raw 0.3
============================================================================
# TOTAL: 6
# PASS: 6
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
Typing ilbm2raw -h will display a little help screen that is quite self-explanatory
Usage: ilbm2raw inputIFFFile outputRAWFile [OPTIONS]
OPTIONS:
-a : Resulting file will be created according to ACE (Amiga C Engine) specifications (https://github.com/AmigaPorts/ACE)
-b : Produce also bitplane files
-f : Overwrite outputRAWFile if already created
-p outfile : Write resulting palette into outfile
-i : Output in interleaved mode (raw mode default)
-m outfile : Write resulting mask image into outfile
-r outfile : Write resulting reversed mask image into outfile
-s X,Y : Swap image color and palette X with image color and palette of Y
-v : Be verbose
-V : Print version info