This document describes the format of *.bmbm-files (BlinkenMiniBinaryMovie). General Description A *.bmbm file consists of any number of frames simply put behind each other. Every frame starts with the dimensions of the picture to display. It is followed the pixels of the picture in lines from left to right from top to bottom. At the end of the frame there is the duration of the frame. Format Definition := ... := - one byte - specifies the width of the picture in pixels - one byte - specifies the height of the picture in pixels - array of * bytes - every byte specifies the brightness of a pixel - pixels are grouped in lines from left to right - lines follow each other without gap from top to bottom - 0x00 stands for off - 0xFF stands for on (max. brightness) - one byte - specifies the duration of the frame in steps of 5 milliseconds Size The format specifies a size for each frame. This can be used to save storage when an empty frame is encoded. If a frame is bigger than the display hardware, the outer pixels are ignored. If a frame is smaller than the display hardware, the outer pixels of the display are left blank. For example, if a 13 x 11 frame is displayed on a 18 x 8 display hardware 2 columns at the left and 3 colums at the right of the display stay dark as well as 1 line at the top and 2 lines at the bottom are left out. If X-Size or Y-Size is 0 the entire display remains dark. In this case has a zero length. Duration If a frame shall be displayed longer than 255 * 5 milliseconds (i.e. 1.275 seconds) two or more frames with the same contents and the appropriate durations have to be used. Comments Two ore more movies can be concatenated by simply copying them behind each other. Because the size is stored within every frame, this is also possible if the source movies have got different dimensions. Hints for Geeks (and other strange people) Because the format interprets every byte-stream as a bunch of frames, it is possible to interpret every file (e.g. the gzipped tarball of the current kernel) as a bmbm-movie. :)