IFF
 (→FORM type cross-reference:  typo)  | 
			|||
| (61 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
{{FormatInfo  | {{FormatInfo  | ||
|formattype=electronic  | |formattype=electronic  | ||
| − | |subcat=  | + | |subcat=Metaformats  | 
| − | |extensions={{ext|iff}}  | + | |extensions={{ext|iff}}, many others  | 
|locfdd={{LoCFDD|fdd000115}}  | |locfdd={{LoCFDD|fdd000115}}  | ||
|pronom={{PRONOM|x-fmt/157}}  | |pronom={{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'''.  | |
| − | '''IFF''' (Interchange File Format) is a file format introduced by Electronic Arts on the Commodore Amiga computer.   | + | |
| − | + | == Format details ==  | |
| − | + | An IFF file is composed of elements called "chunks". Each chunk consists of a [[FourCC|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 [[Endianness|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 <code>FORM</code>. Most IFF-based files are formatted as a single <code>FORM</code> chunk. A <code>FORM</code> 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.  | ||
| + | |||
| + | == Identification ==  | ||
| + | Most IFF files begin with the ASCII characters "<code>FORM</code>". The file type is then indicated by the 4-byte ASCII code beginning at offset 8.  | ||
| + | |||
| + | There are also aggregate formats that begin with "<code>LIST</code>" or "<code>CAT </code>".  | ||
| + | |||
| + | == FORM type cross-reference ==  | ||
| + | Selected FORM types, and related articles, are listed below. See also [[:Category:IFF based file formats]].  | ||
| + | |||
| + | {| class="wikitable"  | ||
| + | ! FORM type  | ||
| + | ! Refer to  | ||
| + | ! Remarks  | ||
| + | |-  | ||
| + | | <code>8SVX</code> || [[8-Bit Sampled Voice]] || 8-bit sampled sound voice; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>ACBM</code> || [[ILBM#ACBM]] ||  | ||
| + | |-  | ||
| + | | <code>AIFC</code> || [[AIFC]] ||  | ||
| + | |-  | ||
| + | | <code>AIFF</code> || [[AIFF]] ||  | ||
| + | |-  | ||
| + | | <code>AMFF</code> || [[Amiga Metafile]] ||  | ||
| + | |-  | ||
| + | | <code>ANBM</code> || || Animated bitmap; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <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>DR2D</code> || [[DR2D]] ||  | ||
| + | |-  | ||
| + | | <code>FANT</code> || [[Fantavision]] ||  | ||
| + | |-  | ||
| + | | <code>FAXX</code> || [[FAXX]] ||  | ||
| + | |-  | ||
| + | | <code>FNTR</code> || || Raster font; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>FNTV</code> || || Vector font; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>FTXT</code> || [[FTXT]] || Formatted text; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>GSCR</code> || || General-use musical score; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>ICON</code> || [[GlowIcons]] ||  | ||
| + | |-  | ||
| + | | <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>MAUD</code> || [[IFF-MAUD]] || Amiga sound format  | ||
| + | |-  | ||
| + | | <code>MLDF</code> || [[MLDF]] || Unknown graphics format  | ||
| + | |-  | ||
| + | | <code>PBM</code> || [[ILBM#PBM]] ||  | ||
| + | |-  | ||
| + | | <code>PDEF</code> || || Deluxe Print page definition; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>PICS</code> || || Macintosh picture; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>PLBM</code> || || (obsolete); listed in the original 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>USCR</code> || || Uhuru Sound Software musical score; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>UVOX</code> || || Uhuru Sound Software Macintosh voice; listed in the original IFF spec.  | ||
| + | |-  | ||
| + | | <code>VAXL</code> || [[VAXL]] || Unknown animation format  | ||
| + | |-  | ||
| + | | <code>VDEO</code> || [[VDEO]] || Deluxe Video Construction Set video; listed in the original IFF spec.  | ||
| + | |}  | ||
| + | |||
| + | == Variant formats ==  | ||
Some other formats are largely or heavily influenced by the IFF standard, but are not compatible. These include, for example:  | Some other formats are largely or heavily influenced by the IFF standard, but are not compatible. These include, for example:  | ||
| − | *Erlang BEAM compiled modules   | + | * Erlang [[BEAM]] compiled modules: Uses 4 byte alignment instead of 2 byte, and the root chunk has a different ID (<code>FOR1</code> instead of <code>FORM</code>)  | 
| − | *Microsoft's [[RIFF]] and [[RIFX]] formats are based on IFF (RIFF uses [[Endianness|little-endian]] byte order instead, and the root chunk is called <code>RIFF</code> instead of <code>FORM</code>)  | + | * Microsoft's [[RIFF]] and [[RIFX]] formats are based on IFF (RIFF uses [[Endianness|little-endian]] byte order instead, and the root chunk is called <code>RIFF</code> instead of <code>FORM</code>)  | 
| − | *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 ==  | 
| + | * [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.martinreddy.net/gfx/2d/IFF.txt The original EA spec]  | ||
| − | * [http://wiki.amigaos.net/  | + | ** [http://www.textfiles.com/programming/FORMATS/ea.iff Another copy at textfiles.com]  | 
| − | * [http://wiki.amigaos.net/  | + | * [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 ==  | ||
| + | * [http://wiki.amigaos.net/wiki/IFF_FORM_and_Chunk_Registry IFF chunk registry], defining all known chunks  | ||
| + | * [http://wiki.amigaos.net/wiki/IFF_Source_Code IFF Source Code]  | ||
* [http://rewiki.regengedanken.de/wiki/.IFF REWiki: .IFF]  | * [http://rewiki.regengedanken.de/wiki/.IFF REWiki: .IFF]  | ||
| − | * [http://www.  | + | * {{EGFF|iff|IFF File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]  | 
| + | * [http://www.textfiles.com/programming/FORMATS/admusfmt.pro 1994 "advanced music formats" discussion that covers some IFF formats]  | ||
| + | * [http://www.ibm.com/developerworks/library/pa-spec16/ IBM developerWorks: The Interchange File Format]  | ||
| + | * [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments]  | ||
| + | [[Category:IFF based file formats| ]]  | ||
| + | [[Category:Audio and Music]]  | ||
| + | [[Category:Graphics]]  | ||
| + | [[Category:Video]]  | ||
[[Category:Amiga]]  | [[Category:Amiga]]  | ||
| + | [[Category:Electronic Arts]]  | ||
Latest revision as of 14:39, 23 July 2025
- 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 | 
 MLDF  | 
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 (
FOR1instead ofFORM) -  Microsoft's RIFF and RIFX formats are based on IFF (RIFF uses little-endian byte order instead, and the root chunk is called 
RIFFinstead ofFORM) - Apple's AIFF and AIFC formats are similar to IFF/RIFF as well
 - Maya IFF
 - IFF (The Sims)
 
[edit] Specifications
-  The EA IFF-85 Repository
- EA IFF 85 - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.)
 - A Quick Introduction to IFF
 - IFF Retrospective by Jerry Morrison, 2013
 - 64-bit IFF (abandoned)
 
 - EA IFF 85 (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki
 - The original EA spec
 - IFF.TXT - A concatenation of about a dozen IFF-related documents, from FileFormat.Info