Ciao Jan,
we spoke about creating a file i/o plugin to support Amiga IFF images. As you might recall, I attempted using Sander van der Burg’s libiff module but I had encountered incompatibility with the CRT library used by PureBasic and libiff, so couldn’t manage to actually bind the library to the plugin.
Yesterday I’ve come across a PureBasic implementation of the IFF format, a module called TinyIFF. So I’ve contacted the author of the module and he granted me permission to reuse his code for the plugin project.
Currently TinyIFF supports the following formats:
format | color depth | notes | |
---|---|---|---|
✓ | FORM ILBM | 2—256 colors | |
✓ | FORM ILBM EHB | 64 colors | |
✓ | FORM ILBM HAM6 | 4096 colors | |
✗ | FORM ILBM SHAM | 4096—9216 colors | not yet implemented |
✓ | FORM ILBM HAM8 | 262144—16777216 colors | |
✓ | FORM ILBM 24bits | 16777216 colors | |
✓ | FORM PBM 8bits | 2—256 colors | |
✓ | FORM PBM 24bits | 16777216 colors | experimental |
The module is designed to read images, but adapting it to also save to the format shouldn’t be an issue.
Could you please point out which of the above formats are of interest for a plugin supporting Amiga IFF (it’s too long I haven’t worked with the Amiga and I can’t remember any of these formats anymore). From what I remember, the Amiga supported a variety of IFF formats, with custom file extensions, and the IFF internal names in the above table might be known by other names in practical use.
Also, which of the above are already supported by PMNG? I know tha PM supports Amiga IFF (.iff
) and Deluxe Paint Image (.lbm
), and my guess is that these might actually cover one or more of the above.
Support for 24bits in TinyIFF is still experimental, and placed in a separate module, but I’ve managed to successfuly load and display 24bit images from Amiga image collections.
The discovery of this IFF module could really help development in this direction, for it provides a solid foundation to build on (its author invested a good amount of energy in its implementation).