IFF Format Registry, MIDI, CD32, and 3rd-Party Packages¶
IFF (Interchange File Format) Forms Registry¶
The CD ships with the complete registered IFF form and chunk registry (as of February 1993) in Extras/IFF/IFF_Forms/. This is the authoritative list of all legal Amiga IFF types.
Core FORMs every Amiga developer should know¶
| FORM | Type | Description |
|---|---|---|
ILBM |
Picture | Interleaved Bitmap — the standard Amiga image format |
8SVX |
Sound | 8-bit sampled voice |
AIFF |
Sound | Audio 1-32 bit samples (Mac/Apple compatible) |
ANIM |
Animation | Cel animation (methods: byte-run, vertical RLE, delta, long delta) |
FTXT |
Text | Formatted text |
SMUS |
Music | Simple music score |
DR2D |
Vector | 2D vector graphics (LaserDirect, ProDraw) |
PREF |
Config | Preferences data |
CAT |
Container | Groups multiple FORMs together |
ILBM chunk structure¶
An ILBM file is an IFF FORM containing:
| Chunk | Required | Contents |
|---|---|---|
BMHD |
Yes | Bitmap header: dimensions, depth, position, masking, compression, transparent color |
CAMG |
No | Amiga display mode ID (critical for correct screen mode) |
CMAP |
No | Color map (RGB triplets, one per registered pen) |
CRNG |
No | Color range (hardware color cycling) |
CCRT |
No | Color cycling range (explicit) |
GRAB |
No | Grab point / hotspot (for sprites, pointers) |
DEST |
No | Destination header (for color remapping) |
SPRT |
No | Sprite precedence |
BODY |
Yes | Interleaved bitplane data |
V39+ additions: CLUT (color lookup table), DRNG (dynamic range for sparse palettes), DPI (dots per inch), PCHG (per-scanline palette changes), CNAM (color names).
Compression types in BMHD: cmpNone (0, uncompressed), cmpByteRun1 (1, PackBits byte-run encoding), cmpByteDelta (less common).
Generic chunks (any FORM)¶
| Chunk | Purpose |
|---|---|
(any).ANNO |
Annotation (not loaded by applications) |
(any).AUTH |
Author name |
(any).(c) |
Copyright text |
(any).NAME |
Name |
(any).TEXT |
Unformatted ASCII text |
(any).CSET |
Character set specification |
(any).FVER |
Version string ($VER: format) |
(any).JUNK |
Padding — always ignored by readers |
Key rule for IFF parsers: always skip unknown chunks gracefully. The IFF format is designed to be extensible — unknown chunks may exist and should be skipped via their length field.
See also: IFFParse Library for the parsing API.
CAMD — MIDI Library¶
camd.library (v37.1, in Extras/MIDI/camd-37.1/) provides shareable MIDI processing for Amiga. Based on code from Carnegie-Mellon University.
What CAMD gives you¶
- Multiple MIDI applications can coexist — CAMD arbitrates access to MIDI hardware. Without it, each MIDI app would need exclusive serial port access.
realtime.libraryprovides high-precision timing using one timer, shared across multiple applications. Eliminates the problem of MIDI apps fighting over timer.device.- Driver model: MIDI hardware drivers live in
DEVS:midi/. The built-in"internal"driver uses the Amiga serial port. Configure withPrefs/MidiPorts.
Dependencies¶
camd.library requires iffparse.library and realtime.library. The CD includes compatible versions of both for systems that don't have them. Do not overwrite newer versions of these libraries already on the system.
CAMD links¶
camdlist.lib— linkable list requester for MIDI port selection. Use this to let users pick a MIDI rendezvous point.internal.asm— source code for the serial port MIDI driver (useful as a template for writing custom MIDI drivers).
CD32 Development¶
The CD32/ directory contains everything needed to develop software for the Commodore CD32 console.
CD32_Support/¶
The core CD32 SDK:
- Headers in include/: CD32-specific types and constants
- Function descriptors in fd/: for generating compiler stubs
- Libraries: lowlevel.library (joystick, CD32 controller, MPEG trigger), nonvolatile.library (NV RAM for saved games)
- Device: cd.device — CD32 CD-ROM access with MPEG audio/video
- Docs: cd.doc, lowlevel.doc, nonvolatile.doc, WriteChunkyPixels.doc
- Examples: sample CD32 code
CD32-Tools/¶
Runtime and development tools:
- cdmpeg-110 — MPEG playback control
- cdxl-1 — CDXL video playback (CD32's native video format)
- fms-1 — file system for CD32
- joymouse-1 — joystick-as-mouse utility
- simcd32-401 — CD32 simulator — test CD32 software on any Amiga without a CD32
BuildCD¶
BuildCD-1.33 creates bootable CD32 (and CDTV) CD images. Used to master titles that boot on real CD32 hardware.
ISO9660Tools¶
ISO 9660 filesystem mastering tools (ISOCD, OptCD, SimCD) for creating cross-platform compatible CDs.
XL_Toolkit_1.1¶
CDXL video toolkit by Pantaray (Kenneth Yeast / Carl Sassenrath). Create and manipulate CDXL video — the native CD32 video format supporting compressed video+audio playback from CD-ROM. Includes ADPXL (adaptive compression) and XLIFF (frame extraction).
3rd-Party Development Packages¶
Ralph Babel — Contributions/Ralph_Babel/¶
- The Amiga Guru Book (
Reference/The_Amiga_Guru_Book.guide) — a comprehensive Amiga internals reference by Ralph Babel. Covers exec, DOS, Intuition internals in depth. Valuable for understanding undocumented behavior. - wbpath — replacement Workbench path handling library
- actionfssm — File System Startup Message analysis tools
- trackdisk64 — reference implementation of the 64-bit trackdisk commands
IAM — Contributions/IAM/¶
Envoy v2.0 developer kit. Envoy is Amiga-to-Amiga networking software. The dev kit includes libraries, headers, and documentation for writing network-aware applications.
Interworks — Contributions/Interworks/¶
INet-225 v2 developer kit. TCP/IP networking stack for Amiga. Includes socket-level API for writing Internet applications.
Angela Schmidt — Contributions/Angela_Schmidt/¶
Kiskometer v1.2 — signal analysis tool.
See Also¶
- SANA-II Networking Standard
- Utility, Locale, ASL, IFFParse, DataTypes, Commodities
- 64-bit Storage Access (TrackDisk64)
Sources: ESCOM AG / Commodore-Amiga / Ralph Babel / IAM / Interworks / Pantaray / CMU, various packages (1985-1996).
Raw: raw/tutorials/iff-midi-cd32-contributions.md; raw/rkm/guru-book.md
Updated: 2026-08-08