IFF ILBM pictures and 8SVX sounds
View Amiga IFF pictures — ILBM with HAM6, HAM8, EHB, hires and interlace, masks and pixel aspect — play 8SVX samples, browse the chunk tree of any IFF file, export PNG, and convert your own images to ILBM.
Added
Works with
- Retro disk and tape images Retro computinghands IFF pictures from a disk image here
- Retro image converter Retro computinghands its converted ILBM pictures here
How to use it
View — drop any IFF file (or click to choose). Nothing is uploaded.
-
ILBM pictures are decoded and shown at 1×–4× zoom; Correct pixel aspect stretches them by the BMHD aspect ratio so a lowres PAL screen looks the way it did on a monitor. The panel lists size, bitplanes, display modes from CAMG, compression, masking, and the palette. Download PNG saves what you see.
-
8SVX samples show their header and waveform, with a Play button (Web Audio).
-
Every file shows its chunk tree —
FORM,LIST,CAT ` and `PROPcontainers and their chunks, with sizes and offsets — so you can inspect anims, fonts, or anything else in IFF.
Convert to ILBM — drop a PNG, JPEG, GIF or WebP. Choose 2–32 colours, or EHB for 64, lowres or hires, a maximum size, dithering, and ByteRun1 compression. The preview is made by decoding the file that will be downloaded.
Format notes
-
IFF ("EA IFF 85") is big-endian chunks: a 4-character ID, a 32-bit length, data, and a pad byte to keep lengths even.
FORMholds a 4-character type and nested chunks. -
BMHD (20 bytes): width, height, x, y, bitplanes, masking (0 none, 1 mask plane, 2 transparent colour, 3 lasso), compression (0 none, 1 ByteRun1), transparent colour, x/y aspect, page size.
-
CMAP is RGB triplets. Old 12-bit writers stored only the high nibble (
$F0); those values are scaled up to$FF. -
CAMG is the Amiga display mode:
$0800HAM,$0080EHB,$8000hires,$0004interlace,$0020super hires. Files without CAMG are guessed: 6 planes with 16 colours is HAM, with 32 it is EHB. -
BODY stores each row as one row of every bitplane in turn (then the mask plane), each padded to a 16-bit word. ByteRun1: control byte n = 0…127 copies n + 1 literal bytes; −1…−127 repeats the next byte −n + 1 times; −128 is a no-op.
-
HAM6: the top two bits of a pixel choose palette (00) or modify blue (01), red (10) or green (11) by the low four bits, holding the other components from the pixel to the left. HAM8 is the same with six data bits. EHB: colours 32–63 are 0–31 at half brightness.
-
8SVX: VHDR gives one-shot and repeat lengths, the sample rate, octaves, compression (Fibonacci-delta is decoded), and volume; BODY is signed 8-bit samples.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.