Thanks to Julio Marchi for this space in MSX All
 

Dynamic Publisher Shape (.STP)

  The Dynamic Publisher shape file has only one picture per file. This picture is monochromatic (black and white).

  The file header:

Offset Size Description
0 2 Width
2 2 Height

  After the header, we have the picture data. Each byte represents 4x1 pixels on the screen and only the even pixels are used. Example:

 Value (hexa): 50
 Value (binary): 01010000
 Pixels pattern: ■■□□


  The 4x1 pixels are arranged side by side with no "break of line". According to that, if the screen size is not divisible by 4, the data of an end of a line will be composed with the data of the next line.

  Example for a picture with 6x2 pixels size:

  Picture data:

 0   3
┌─┬─┬─┐
│A│B│C│
└─┴─┴─┘


  Array with data expanded to individualized pixels (12 pixels):

 0                     11
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│A│A│A│A│B│B│B│B│C│C│C│C│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘


  On screen:

┌─┬─┬─┬─┬─┬─┐
│A│A│A│A│B│B│
├─┼─┼─┼─┼─┼─┤
│B│B│C│C│C│C│
└─┴─┴─┴─┴─┴─┘


  The data size is calculated as follows:

 Width x Height / 4

Marcelo Silveira
Systems and Computing Engineer
Expert in Image Processing and Artificial Intelligence
© MarMSX 1999-2021