Thanks for your very welcome words. Although I'm also a guest (and also honored to be) here, I think I know exactly what you mean. So, if you folks allow me, 'Welcome!'.
About GROBs: James Donnelly's 'The HP48 Handbook' is one of the must concise and serious source of basic information about the HP48 and its 'daughters'. From his book, p.34:
Quote:
Graphics Object Structure
A graphics object is structured as follows:
<header><length><height><width><data....>
<header> This is a five nibble (1/2 byte) field that distinguishes a graphics object from any other object type, and has a fixed value of #02B1Eh.
<length> This field is a five-nibble quantity that contains the distance in nibbles from the start of the length field to the nibble past the end of the object. This length is #Fh + the number of data nibbles.
<height> This field is a five-nibble quantity that specifies the height of the graphics image in pixels.
<width> This field is a five-nibble quantity that specifies the width of the graphics image in pixels.
<data> The data nibbles begin at the upper-left corner of the graphics object and proceed left-to-right, top-to-bottom. Each row must contain an integral number of bytes, so the data may be padded with garbage bits. The bits in each nibble are written in reverse order, so the leftmost displayed pixel in a nibble is represented by the least-significant bit of the nibble.
If you are preparing a graphics object on a personal computer, remember that the HP 48 CPU reads data from memory into registers in reverse order, so the first four fields are written backwards. For example, the header is written ElB20.
Graphics objects may be entered into the command line on the HP 48. To enter a blank graphics object, type GROB width height, where width and height specify the size in pixels.
I hope this is a bit more helpful.
Cheers.