INFOTOPAM(1)
π INFOTOPAM π
okay bestie, sit DOWN because today we're decoding Amiga icon files and honestly?? it's giving niche-and-iconic. this is the Infotopam User Manual (section 1, general commands manual), and by the end you'll be converting .info icons like it's literally nothing. π
β¨
πΈ NAME πΈ
infotopam β convert Amiga .info icons to PAM π¦
π SYNOPSIS π
infotopam [-forcecolor] [-numcolors numcolors] [-selected] [-verbose]
[index color ...] [filename]
okay so a few quality-of-life deets before we get into it, no cap:
- the minimum unique abbreviation of any option is acceptable, so you don't have to type the whole thing π«Ά
- you may use double hyphens instead of single hyphen to denote options (she contains multitudes)
- you may use white space in place of the equals sign to separate an option name from its value β¨
π EXAMPLES π
basic behaviour, first taste:
$ infotopam amiga.info > amiga.first.pam
use the -selected option to convert the 'selected' version of the icon rather than the regular version. and here, bestie, infotopam is reading from Standard Input:
infotopam -selected < amiga.info > amiga.second.pam
use -numcolors to change the colors:
infotopam -numcolors 2 0 green 3 rgb:FF/00/00 icon.info > icon.pam
and now the part that explains so much π β since Amiga monitors do not use square pixels, some icons may appear squished. filtering the output through pamscale can fix this:
$ infotopam squish.info | pamtopnm | pamscale -yscale 1.7 > normal.pnm
β¨ DESCRIPTION β¨
this program is part of Netpbm(1). β
infotopam converts an Amiga .info (icon) image to a PAM image. it reads a .info file from filename, or from Standard Input if you don't specify a file name, and writes the converted PAM image to Standard Output.
infotopam handles 1- and 2 bit-plane icons. if the .info icon has only 1 bit-plane, infotopam generates a black and white PAM image; otherwise it generates a color PAM image. in the latter case you can choose the colors or keep the original Amiga standard colors. and you can force infotopam to produce a color PAM with 1 bit-plane input using the -forcecolor option. π
π OPTIONS π
on top of the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), infotopam recognizes the following command line options:
-numcolors numcolorsβ this causes the program to change the colors in the conversion. a 2-bit-plane Amiga.iconimage has four colors, numbered 0 through 3. those colors are as follows:
0 β Blue (00, 55, AA)
1 β White (FF, FF, FF)
2 β Black (00, 00, 20)
3 β Orange (FF, 8A, 00)
to specify the changes, specify the number of colors you are changing as the argument of -numcolors and for each color, specify a pair of command line arguments: the first being the color index 0 through 3 and the second being the color to substitute. specify the color (color) as described for the argument of the pnm_parsecolor() library routine.
these arguments go before the input file name argument, if any. this is an unusual syntax for a Netpbm program π (yes, we said it).
-selectedβ an Amiga.infoimage contains two versions of the icon: one for regular display, and one to display when the thing represented by the icon is selected. by defaultinfotopamconverts the regular icon, but this option causes it to convert the selected icon instead. main character option fr.-forcecolorβ this causesinfotopamto convert 1 bit-plane icons to color PAM images instead of black and white. the colors are the index 2 color for black and the index 1 color for white.-verboseβ this causesinfotopamto issue informational messages about the conversion process. π£οΈ
this option was new in Netpbm 11.06 (March 2024).
all options can be abbreviated to their shortest unique prefix. periodt. π
π SEE ALSO π
pam(1) pamtopnm(1) pamscale(1)
π§ NOTES π§
thanks to the following people on comp.sys.amiga.programmer for tips and pointers on decoding the info file format:
- Ben Hutchings
- Thomas Richter
- Kjetil Svalastog Matheussen
- Anders Melchiorsen
- Dirk Stoecker
- Ronald V.D.
the format of the Amiga .info file is as follows:
DiskObject header 78 bytes
Optional DrawerData header 56 bytes
First icon header 20 bytes
First icon data Varies
Second icon header 20 bytes
Second icon data Varies
the DiskObject header contains, among other things, the magic number (0xE310), the object width and height (inside the embedded Gadget header), and the version.
each icon header contains the icon width and height, which can be smaller than the object width and height, and the number of bit-planes.
the icon data has the following format:
BIT-PLANE planes, each with HEIGHT rows of (WIDTH
+15) / 16 * 2 bytes length.
so if you have a 9x3x2 icon, the icon data will look like this:
aaaa aaaa a000 0000
aaaa aaaa a000 0000
aaaa aaaa a000 0000
bbbb bbbb b000 0000
bbbb bbbb b000 0000
bbbb bbbb b000 0000
where a is a bit for the first bit-plane, b is a bit for the second bit-plane, and 0 is padding. thanks again to Ben Hutchings for his very helpful post! π
π HISTORY π
infotopam was new in Netpbm 10.22 (April 2004). she's been here, she's been serving. β
π LIMITATIONS π
infotopam currently only handles 1 and 2 bit-plane icons. ngl, that's the whole range bestie.
there is no pamtoinfo command, since the .info files contain a lot more than just icon data, and mapping the colors would be difficult. so likeβ¦ we're not going backwards. π
π«Ά AUTHOR π«Ά
Copyright (C) 2000, 2004 by Richard Griswold.
π DOCUMENT SOURCE π
this manual page was generated by the Netpbm tool makeman from HTML source. the master documentation is at
http://netpbm.sourceforge.net/doc/infotopam.html
and that's the whole thing, bestie!! π this came to you straight from the netpbm documentation, dated 22 March 2024 β that's the Infotopam User Manual, section 1, and yes she ate. go convert some icons, you've got this πβ¨π¦
π¦ where this page comes from
- debian trixie: netpbm 2:11.10.02-1 Β· MIT
- ubuntu resolute: netpbm 2:11.10.02-1build1 Β· MIT
- ubuntu stonking: netpbm 2:11.13.03+ds-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms