Introduction
An .lbm or .iff file is a picture saved in one of the bitmap
forms of IFF, the Interchange File Format that
Electronic Arts published in January 1985. IFF files
are built from chunks: a four-letter ID, a length and the data. A picture is one
FORM chunk holding a bitmap header, a colour map, the pixels and any
number of optional chunks. The format was made popular by Electronic Arts’ paint
program Deluxe Paint, first on the Amiga, where it became the standard picture
format, and later on the PC and the Atari ST. Deluxe Paint is no longer sold.
Three forms hold bitmaps in this way, and the form type, four letters at offset 8, says which one a file is. The Interleaved Bitmap (ILBM) stores pixels as bitplanes, as the Amiga’s display hardware drew them. Deluxe Paint for MS-DOS saved its 256-colour pictures as PBM, with one byte a pixel. Commodore’s ACBM, for AmigaBASIC, keeps each bitplane whole. The three share most of their chunks, but an ILBM reader cannot read the pixels of the other two.
Versions that only add share a format; a version that changes existing structures is a separate format. Every change to ILBM since 1985 has only added: new display modes, more bitplanes, new chunks and a new compression value. So every ILBM is one format, and PBM and ACBM, which store the pixels differently, are separate formats.
A file dropped on any page of this site opens in the explorer, which shows its structure chunk by chunk and row by row, with the picture, its palette and any thumbnail it carries.
Variations
| Format | Variation | About | Open |
|---|---|---|---|
.LBM | Interleaved bitmap (IFF ILBM) | Amiga and Deluxe Paint pictures, stored as interleaved bitplanes. | Open |
.LBM | Deluxe Paint PC bitmap (IFF PBM) | Deluxe Paint for the PC’s 256-colour pictures, one byte a pixel. | Open |
.LBM | Amiga contiguous bitmap (IFF ACBM) | AmigaBASIC’s pictures, with each bitplane stored whole. | Open |
Every file of the family starts with FORM (46 4F 52 4D), a
4-byte big-endian size, and the form type. The explorer reads only these three form
types; any other FORM, and LIST and CAT files,
are other formats.
Interleaved bitmap (IFF ILBM)
The Amiga’s picture format, defined by Electronic Arts in 1985 and 1986 and written by Deluxe Paint on every computer it ran on. Each row of the picture is stored as one line of each bitplane in turn. It covers everything from 2-colour pictures to the Amiga’s hold-and-modify and Extra Half-Brite modes and 24-bit colour.
The form type at offset 8 is ILBM (49 4C 42 4D).
Deluxe Paint PC bitmap (IFF PBM)
The form Deluxe Paint II Enhanced for MS-DOS saves its 256-colour pictures and brushes in. The pixels are one byte each, the colour number, in rows padded to an even length, so there are no bitplanes. Electronic Arts never published a description of it.
The form type at offset 8 is PBM , three letters and a space
(50 42 4D 20).
Amiga contiguous bitmap (IFF ACBM)
Commodore’s form from 1986 for saving and loading screens quickly from AmigaBASIC.
It has the same chunks as ILBM, but the pixels are in an ABIT chunk that
holds each bitplane whole, one after another, instead of a BODY.
The form type at offset 8 is ACBM (41 43 42 4D).
Versions
The releases that matter for these files, with the format each writes. Deluxe Paint’s dates are those usually given for its releases.
| Date | Release | Format |
|---|---|---|
| 14 January 1985 | EA IFF 85, the container standard (Jerry Morrison, Electronic Arts) | – |
| November 1985 | Deluxe Paint for the Amiga 1000 (Dan Silva, Electronic Arts) | ILBM |
| 17 January 1986 | “ILBM IFF Interleaved Bitmap”, the ILBM document (Jerry Morrison): the bitmap header, colour map, BODY and ByteRun1 | ILBM |
| 29 May 1986 | The ACBM document (Carolyn Scheppner, Commodore), with AmigaBASIC programs that load and save it | ACBM |
| 1986 | Deluxe Paint II for the Amiga, which saves its perspective settings in a DPPV chunk | ILBM |
| 1988 | Deluxe Paint II for MS-DOS | ILBM (inferred: no file known to be from it was examined) |
| October 1988 | The ILBM document revised: notes on CRNG, and Commodore’s rules for the CAMG display mode with AmigaOS 2.0’s ModeIDs | ILBM |
| 1989 | Deluxe Paint II Enhanced for MS-DOS: up to 800 × 600 pixels in 256 colours | PBM and ILBM |
| 1989 | Deluxe Paint III for the Amiga, which adds Extra Half-Brite | ILBM |
| 1990 | Deluxe Paint ST for the Atari ST (ArtisTech Development, for Electronic Arts), with the STE’s 4,096-colour palette and vertical-run compression | ILBM, compression 2 |
| 1991 | Deluxe Paint IV for the Amiga, which adds HAM and the DRNG colour range | ILBM |
| About 1992 | Deluxe Paint 4.5 AGA: the Amiga 1200 and 4000’s AGA screens, 256 colours and HAM8 | ILBM |
| 1994 | Deluxe Paint II Enhanced 2.0 for MS-DOS | PBM and ILBM |
| 1995 | Deluxe Paint V for the Amiga, the last version: 24-bit pictures in memory, shown in HAM8 | ILBM |
| Today | No new versions; the forms have not changed since. GrafX2, XnView MP, IrfanView, Netpbm and FFmpeg still read them | – |
Both PBM and ILBM files with Deluxe Paint II Enhanced’s chunks and its PC aspect ratio
were seen, so it writes both; which it saves by default, and whether the 1989 release
or a later one first wrote PBM, is not confirmed. Deep ILBMs, with 24 or 32 bitplanes
and no colour map, are described in the ILBM document; which program first wrote them,
and when, is not recorded in the sources used here. Which Deluxe Paint version first
wrote the TINY thumbnail and the DPPS chunk is not known.
What is documented
IFF, ILBM and ACBM are open: Electronic Arts published EA IFF 85 and the ILBM document,
Commodore revised the ILBM document and published ACBM, and all three are still
available in the AmigaOS documentation. Deluxe Paint’s own chunks CRNG and
DPPV, and Deluxe Paint IV’s DRNG, are described in the ILBM
document’s appendices.
Some parts were never published and are known only from files and from the programs that read them:
- PBM itself: no specification has been found. Its layout comes from files and from FFmpeg, Netpbm and libilbm, which read it.
- The
DPPSchunk of Deluxe Paint for the PC: no description exists; it seems to hold perspective settings, but that is an inference. - The
TINYthumbnail: described in later write-ups, not in Electronic Arts’ or Commodore’s documents. - Compression 2, Deluxe Paint ST’s vertical runs: named in later write-ups; the only full description of the bytes is FFmpeg’s decoder.
Other IFF files
The .iff extension is shared with every IFF form: 8SVX sound, ANIM
animations (a FORM of ILBM frames), SMUS music, FTXT text, PREF AmigaOS
preferences and others. Apple’s AIFF sound is built the same way. Other image forms
exist that are not part of this family: RGBN and RGB8 from Impulse, TVPaint’s DEEP,
YUVN and others. They have different form types and different chunks.
Links
Software
- GrafX2 – free pixel-art paint program in the style of Deluxe Paint, which opens and saves ILBM and PBM (Windows, macOS, Linux)
- XnView MP – image viewer and converter that reads ILBM (Windows, macOS, Linux)
- IrfanView – image viewer that opens IFF and LBM pictures (Windows)
- Netpbm – command-line image tools;
ilbmtoppmreads ILBM and PBM, andppmtoilbmwrites ILBM (Windows, macOS, Linux) - FFmpeg – command-line converter whose IFF decoder reads ILBM, PBM and ACBM (Windows, macOS, Linux)
Developers
- libilbm – library that reads and writes ILBM, PBM and ACBM, by Sander van der Burg (C)
- libiff – the IFF chunk library libilbm is built on (C)
- FFmpeg’s IFF decoder – libavcodec’s reader for ILBM, PBM, ACBM and compression 2 (C)
Reference
- EA IFF 85 – Electronic Arts’ 1985 standard for IFF files, as text
- ILBM IFF Interleaved Bitmap – the ILBM document, with Commodore’s revisions, in the AmigaOS Documentation Wiki
- ACBM IFF Amiga Continuous Bitmap – Commodore’s ACBM document, in the AmigaOS Documentation Wiki
- LBM Format – ModdingWiki’s notes on PC Deluxe Paint files, with PBM and TINY