Skip to content

rcoenen/IFF-it

Repository files navigation

Iffer

A macOS app that converts PNG and JPEG images to Amiga IFF/ILBM format.

Drop an image, pick your settings, hit Convert. The .iff file is written next to the original.

Features

  • Classic Amiga mode -- target real hardware constraints:

    • ECS/OCS or AGA chipset limits
    • Standard screen presets (Low Res, High Res, High Res Interlace) for both PAL and NTSC
    • Fit, Fill, or Stretch resize modes
    • CAMG chunk with correct viewport mode flags
    • Deluxe Paint-compatible output
  • Custom IFF mode -- no hardware constraints:

    • Any palette size from 2 to 256 colors
    • True Color (24-bit) -- 24 bitplanes, no palette, no quantization
    • No CAMG chunk, no forced resize, portrait images allowed
  • Dithering -- four methods for indexed color modes:

    • Floyd-Steinberg (error diffusion)
    • Bayer 8x8 (ordered)
    • Blue Noise (stochastic)
  • Median-cut color quantization with parallelized histogram, palette generation, and pixel mapping

  • Image preview with drag-and-drop -- see what you're converting before you commit

How it works

The conversion pipeline has three stages:

  1. Decode -- load the source image into a BGRA8 pixel buffer via CoreGraphics
  2. Quantize -- reduce to a fixed palette using median-cut, then map every pixel to its nearest entry (skipped for True Color)
  3. Encode -- pack into interleaved bitplane ILBM format (BMHD + CMAP + BODY chunks inside an IFF FORM)

Quantization and encoding are parallelized across available CPU cores.

Requirements

  • macOS 13+
  • Swift 6.2+

Build and run

swift run

Output format

The encoder produces standard uncompressed IFF/ILBM files compatible with:

  • Deluxe Paint
  • Personal Paint
  • XnView, IrfanView, and other modern IFF viewers
  • Real Amiga hardware (in Classic Amiga mode with appropriate settings)

For 24-bit True Color mode, the output uses 24 bitplanes (planes 0-7 = Red, 8-15 = Green, 16-23 = Blue) with no CMAP chunk.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages