* * * * *
A random encounter with a 35 year old file format
I ended up at the art section [1] of the Interactive Fiction Archive [2] and
I was curious as to the format of the .blb files. I downloaded one and much
to my surprise, it was an IFF (Interchange File Format) file [3]. I haven't
encountered an IFF file in the wild in over twenty years.
So it seems that a .blb is a blorb file [4], used to save resources for an
interactive fiction game [5]. Going further down the rabbit hole, it seems
that compiled Erlang [6] code is also stored as an IFF file, although it's a
slightly modified version [7] (Erlang uses 32-bit alignment while the IFF
standand only mandates 16-bit alignment, which makes sense given IFF was
defined in the mid-80s by Electronic Arts [8]).
It's a bit of a shame that it wasn't used more often as it's not a bad file
format, nor is it that complicated—the standard [9] is less than 20 pages
long, and a “parser” is about a page of code in any modern language today.
But alas, the format never really caught on outside the Amiga community and
it's hard to say why. Jerry Morrison, one of the creators of the format,
lists maybe three reasons why in a retrospective [10] but it's hard to say if
those were the sole reasons, or if there were more. About the only modern
format today that is somewhat based on IFF is the PNG (Portable Network
Graphics) format [11] (it was probably more inspired by the IFF format, but
it's not compatible with it).
Anyway, what a pleasant surprise.
[1]
http://www.ifarchive.org/indexes/if-archive/art/mhto/
[2]
http://www.ifarchive.org/
[3]
http://fileformats.archiveteam.org/wiki/IFF
[4]
https://eblong.com/zarf/blorb/blorb.html
[5]
https://en.wikipedia.org/wiki/Interactive_fiction
[6]
https://www.erlang.org/
[7]
http://www.erlang.se/~bjorn/beam_file_format.html
[8]
https://www.ea.com/
[9]
https://eblong.com/zarf/blorb/iff.html
[10]
https://github.com/1fish2/IFF/blob/master/IFF%20retrospective.md
[11]
https://www.ietf.org/rfc/rfc2083.txt
Email author at
[email protected]