GROB

GROB is a (usually) bi-level raster graphics format associated with HP-48 and HP-49 series calculators.

There are two ways to encode a GROB image: "binary" and "ASCII". Sometimes, GROB images are also ASC-encoded.

Format details
Binary format has an 18-byte header, followed by the pixel data.

Grayscale images
Although the format only really supports bi-level images, some images are intended to be interpreted as grayscale with 2 bits/pixel (or perhaps more). The physical image consists of the bit-planes stacked vertically. Unfortunately, there does not seem to be any way to detect whether this is the case.

Identification
A binary GROB file begins with "" or "", and has bytes at offset 8.

ASCII format apparently begins with "". An ASCII GROB might be embedded inside a script, or preceded by a "" header line, so it won't necessarily start at the beginning of the file.

Software

 * Konvertor
 * XnView
 * grob.to.bitmap
 * grob2eps.c
 * My HP48 and HP49 software → hp48-mf-0.6.zip → hp48.dtx → grob2eps.c
 * Farbfeld Utilities

Sample files

 * https://telparia.com/fileFormatSamples/image/grob/

Binary

 * http://cd.textfiles.com/hhot/CALCUL~5/HP48G/GRAPHICS/ ...
 * GROBS1.ZIP, GROBS2.ZIP
 * grobs49.zip

ASCII

 * supercarsgrob.zip