HP 100LX/200LX icon
The HP 100LX and HP 200LX palmtop computers used a custom icon format, with filename extension .ICN.
We did not find much documentation about this format, but the examples we've seen use a simple uncompressed bi-level format, with an 8-byte header. The image dimensions are stored in the header, but they are probably always 44×32.
A file begins with bytes
01 00 01 00.
Assuming dimensions of 44×32 pixels, the next four bytes are
2C 00 20 00, and the file is exactly 200 bytes in size.
[This information is based on analysis of a small number of files, and may be incorrect.]
Multi-byte integers are little-endian.
|0||4||?||hex: 10 00 10 00|
|4||2||width||usually 44||Image width in pixels|
|6||2||height||usually 32||Image height in pixels|
|8||image_data||Pixels are in left-to-right, top-to-bottom order. 8 pixels per byte, most significant bit first, white is 0. Rows are padded to the next byte boundary.|
- Themes for the X-Finder GUI on the HP 200LX Palmtop PC
The packages at the "Themes for the X-Finder GUI" site listed above also contain some .XBG files, which use the same format as .ICN, but are larger in image size, and are intended to be used as wallpaper/background images instead of icons. We haven't found any other information about XBG files, but this suggests that ICN may just be a subformat of some other format.