IFF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(FORM type cross-reference)
(FORM type cross-reference: Added Fantavision.)
 
(32 intermediate revisions by 5 users not shown)
Line 7: Line 7:
 
|released=1985
 
|released=1985
 
}}
 
}}
:''This article is about the generic IFF metaformat. For the IFF '''image format''', see [[ILBM]].''
+
:''This article is about the generic IFF metaformat. For the IFF '''image format''', see [[ILBM]]. For Sun IFF, see [[Sun TAAC image]].''
  
 
'''IFF''' ('''Interchange File Format''') is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as '''IFF 85'''.
 
'''IFF''' ('''Interchange File Format''') is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as '''IFF 85'''.
Line 33: Line 33:
 
! Remarks
 
! Remarks
 
|-
 
|-
| <code>8SVX</code> || [[8-Bit Sampled Voice]] || 8-bit sampled sound voice; listed in the IFF spec.
+
| <code>8SVX</code> || [[8-Bit Sampled Voice]] || 8-bit sampled sound voice; listed in the original IFF spec.
 
|-
 
|-
 
| <code>ACBM</code> || [[ILBM#ACBM]] ||
 
| <code>ACBM</code> || [[ILBM#ACBM]] ||
Line 41: Line 41:
 
| <code>AIFF</code> || [[AIFF]] ||
 
| <code>AIFF</code> || [[AIFF]] ||
 
|-
 
|-
| <code>ANBM</code> || || Animated bitmap; listed in the IFF spec.
+
| <code>AMFF</code> || [[Amiga Metafile]] ||
 +
|-
 +
| <code>ANBM</code> || || Animated bitmap; listed in the original IFF spec.
 
|-
 
|-
 
| <code>ANIM</code> || [[ANIM]] ||
 
| <code>ANIM</code> || [[ANIM]] ||
 +
|-
 +
| <code>CMUS</code> || [[DeLuxe Music Score]] ||
 +
|-
 +
| <code>CTLG</code> || || Amiga Catalog translaton format
 +
|-
 +
| <code>D3TV</code> || [[D3TV]] ||
 
|-
 
|-
 
| <code>DEEP</code> || [[IFF-DEEP]] ||
 
| <code>DEEP</code> || [[IFF-DEEP]] ||
 +
|-
 +
| <code>DR2D</code> || [[DR2D]] ||
 +
|-
 +
| <code>FANT</code> || [[Fantavision]] ||
 
|-
 
|-
 
| <code>FAXX</code> || [[FAXX]] ||
 
| <code>FAXX</code> || [[FAXX]] ||
 
|-
 
|-
| <code>FNTR</code> || || Raster font; listed in the IFF spec.
+
| <code>FNTR</code> || || Raster font; listed in the original IFF spec.
 
|-
 
|-
| <code>FNTV</code> || || Vector font; listed in the IFF spec.
+
| <code>FNTV</code> || || Vector font; listed in the original IFF spec.
 
|-
 
|-
| <code>FTXT</code> || || Formatted text; listed in the IFF spec.
+
| <code>FTXT</code> || [[FTXT]] || Formatted text; listed in the original IFF spec.
 
|-
 
|-
| <code>GSCR</code> || || General-use musical score; listed in the IFF spec.
+
| <code>GSCR</code> || || General-use musical score; listed in the original IFF spec.
 
|-
 
|-
 
| <code>ICON</code> || [[GlowIcons]] ||
 
| <code>ICON</code> || [[GlowIcons]] ||
 
|-
 
|-
| <code>ILBM</code> || [[ILBM]] || Interleaved raster bitmap image; listed in the IFF spec.
+
| <code>IFRS</code> || [[Blorb]] ||
 +
|-
 +
| <code>ILBM</code> || [[ILBM]] || Interleaved raster bitmap image; listed in the original IFF spec.
 +
|-
 +
| <code>IMAG</code> || [[CD-I IFF IMAG]] ||
 
|-
 
|-
 
| <code>LWLO</code>, <code>LWOB</code>, <code>LWO2</code> || [[LightWave Object]]
 
| <code>LWLO</code>, <code>LWOB</code>, <code>LWO2</code> || [[LightWave Object]]
 +
|-
 +
| <code>MAUD</code> || [[IFF-MAUD]] || Amiga sound format
 +
|-
 +
| <code>MAUD</code> || [[MLDF]] || Unknown graphics format
 
|-
 
|-
 
| <code>PBM</code> || [[ILBM#PBM]] ||
 
| <code>PBM</code> || [[ILBM#PBM]] ||
 
|-
 
|-
| <code>PDEF</code> || || Deluxe Print page definition; listed in the IFF spec.
+
| <code>PDEF</code> || || Deluxe Print page definition; listed in the original IFF spec.
 
|-
 
|-
| <code>PICS</code> || || Macintosh picture; listed in the IFF spec. Relationship to [[PICS]] format is unclear.
+
| <code>PICS</code> || || Macintosh picture; listed in the original IFF spec.
 
|-
 
|-
| <code>PLBM</code> || || (obsolete); listed in the IFF spec.
+
| <code>PLBM</code> || || (obsolete); listed in the original IFF spec.
 
|-
 
|-
| <code>SMUS</code> || || Simple musical score; listed in the IFF spec.
+
| <code>RGFX</code> || [[RGFX]] ||
 +
|-
 +
| <code>SCDH</code> || || Sim City 2000 saved city (*.sc2)
 +
|-
 +
| <code>SMUS</code> || [[SMUS]] || Simple musical score; listed in the original IFF spec. [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/SMUS.pdf]
 +
|-
 +
| <code>SSA </code> || [[IFF-SSA]] || ClariSSA Super smooth Animation
 
|-
 
|-
 
| <code>TDDD</code> || [[TDDD]], [[Imagine Object File]]
 
| <code>TDDD</code> || [[TDDD]], [[Imagine Object File]]
 
|-
 
|-
| <code>USCR</code> || || Uhuru Sound Software musical score; listed in the IFF spec.
+
| <code>USCR</code> || || Uhuru Sound Software musical score; listed in the original IFF spec.
 
|-
 
|-
| <code>UVOX</code> || || Uhuru Sound Software Macintosh voice; listed in the IFF spec.
+
| <code>UVOX</code> || || Uhuru Sound Software Macintosh voice; listed in the original IFF spec.
 
|-
 
|-
| <code>VDEO</code> || || Deluxe Video Construction Set video; listed in the IFF spec.
+
| <code>VAXL</code> || [[VAXL]] || Unknown animation format
 +
|-
 +
| <code>VDEO</code> || [[VDEO]] || Deluxe Video Construction Set video; listed in the original IFF spec.
 
|}
 
|}
  
Line 88: Line 116:
 
* Apple's [[AIFF]] and [[AIFC]] formats are similar to IFF/RIFF as well
 
* Apple's [[AIFF]] and [[AIFC]] formats are similar to IFF/RIFF as well
 
* [[Maya IFF]]
 
* [[Maya IFF]]
 +
* [[IFF (The Sims)]]
  
 
== Specifications ==
 
== Specifications ==
* [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec] ([http://www.textfiles.com/programming/FORMATS/ea.iff Another copy at textfiles.com])
+
* [http://1fish2.github.io/IFF/ The EA IFF-85 Repository]
 +
** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/EA%20IFF%2085.pdf EA IFF 85] - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.)
 +
** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/IFF%20Quick%20Intro.pdf A Quick Introduction to IFF]
 +
** [https://github.com/1fish2/IFF/blob/master/IFF%20retrospective.md IFF Retrospective] by Jerry Morrison, 2013
 +
** [https://github.com/1fish2/IFF/blob/master/64-bit%20IFF.md 64-bit IFF] (abandoned)
 +
* [http://wiki.amigaos.net/wiki/EA_IFF_85_Standard_for_Interchange_Format_Files EA IFF 85] (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki
 +
* [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec]
 +
** [http://www.textfiles.com/programming/FORMATS/ea.iff Another copy at textfiles.com]
 +
* [http://www.fileformat.info/format/iff/spec/7866a9f0e53c42309af667c5da3bd426/view.htm IFF.TXT] - A concatenation of about a dozen IFF-related documents, from FileFormat.Info
 +
 
 +
== Sample files ==
 +
* CTLG: {{DexvertSamples|other/iffCTLG}}
  
 
== Links ==
 
== Links ==
Line 101: Line 141:
 
* [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments]
 
* [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments]
  
[[Category:IFF based file formats]]
+
[[Category:IFF based file formats| ]]
 
[[Category:Audio and Music]]
 
[[Category:Audio and Music]]
 
[[Category:Graphics]]
 
[[Category:Graphics]]

Latest revision as of 01:00, 27 May 2024

File Format
Name IFF
Ontology
Extension(s) .iff, many others
LoCFDD fdd000115
PRONOM x-fmt/157
Released 1985
This article is about the generic IFF metaformat. For the IFF image format, see ILBM. For Sun IFF, see Sun TAAC image.

IFF (Interchange File Format) is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as IFF 85.

Contents

[edit] Format details

An IFF file is composed of elements called "chunks". Each chunk consists of a 4-byte type identifier (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are big-endian.

IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats.

Of particular significance is chunk type FORM. Most IFF-based files are formatted as a single FORM chunk. A FORM chunk's data contains a four-byte "FORM type" code, indicating the data type, followed by a sequence of nested chunks.

An IFF-based format whose FORM type is xxxx might be referred to as "FORM xxxx". FORM types may also be used as filename extensions.

[edit] Identification

Most IFF files begin with the ASCII characters "FORM". The file type is then indicated by the 4-byte ASCII code beginning at offset 8.

There are also aggregate formats that begin with "LIST" or "CAT ".

[edit] FORM type cross-reference

Selected FORM types, and related articles, are listed below. See also Category:IFF based file formats.

FORM type Refer to Remarks
8SVX 8-Bit Sampled Voice 8-bit sampled sound voice; listed in the original IFF spec.
ACBM ILBM#ACBM
AIFC AIFC
AIFF AIFF
AMFF Amiga Metafile
ANBM Animated bitmap; listed in the original IFF spec.
ANIM ANIM
CMUS DeLuxe Music Score
CTLG Amiga Catalog translaton format
D3TV D3TV
DEEP IFF-DEEP
DR2D DR2D
FANT Fantavision
FAXX FAXX
FNTR Raster font; listed in the original IFF spec.
FNTV Vector font; listed in the original IFF spec.
FTXT FTXT Formatted text; listed in the original IFF spec.
GSCR General-use musical score; listed in the original IFF spec.
ICON GlowIcons
IFRS Blorb
ILBM ILBM Interleaved raster bitmap image; listed in the original IFF spec.
IMAG CD-I IFF IMAG
LWLO, LWOB, LWO2 LightWave Object
MAUD IFF-MAUD Amiga sound format
MAUD MLDF Unknown graphics format
PBM ILBM#PBM
PDEF Deluxe Print page definition; listed in the original IFF spec.
PICS Macintosh picture; listed in the original IFF spec.
PLBM (obsolete); listed in the original IFF spec.
RGFX RGFX
SCDH Sim City 2000 saved city (*.sc2)
SMUS SMUS Simple musical score; listed in the original IFF spec. [1]
SSA IFF-SSA ClariSSA Super smooth Animation
TDDD TDDD, Imagine Object File
USCR Uhuru Sound Software musical score; listed in the original IFF spec.
UVOX Uhuru Sound Software Macintosh voice; listed in the original IFF spec.
VAXL VAXL Unknown animation format
VDEO VDEO Deluxe Video Construction Set video; listed in the original IFF spec.

[edit] Variant formats

Some other formats are largely or heavily influenced by the IFF standard, but are not compatible. These include, for example:

  • Erlang BEAM compiled modules: Uses 4 byte alignment instead of 2 byte, and the root chunk has a different ID (FOR1 instead of FORM)
  • Microsoft's RIFF and RIFX formats are based on IFF (RIFF uses little-endian byte order instead, and the root chunk is called RIFF instead of FORM)
  • Apple's AIFF and AIFC formats are similar to IFF/RIFF as well
  • Maya IFF
  • IFF (The Sims)

[edit] Specifications

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox