----------------------------------
Framebuffer format for VSC devices
----------------------------------

** General, Memory organization

The framebuffer is divided in Tiles of the size PP_FB_TILE_WIDTH and
PP_FB_TILE_HEIGHT, currently (most probably won't change in the future) 16x16
pixel.
If the resolution is not a multiple of the tile size, it is padded accordingly,
so there is a black border at the right and/or the bottom side internally.

The framebuffer is not a linear one but exists in a format called HCML (hextile
continuous memory layout). This means single tiles are stored continuously one
after another, see the illustration for a made-up 4x4 pixel layout and 2 tiles:

Visible screen		 Memory Layout, lowest address first

-----------
|abcd|efgh|		 abcd ijkl qrst yz01  efgh mnop uvwx 2345
|ijkl|mnop|  --------->
|qrst|uvwx|
|yz01|2345|
-----------

The framebuffer pixelformat is 16 bits per pixel, RGB 565.


** Difference Map

The difference map is a bitmap of the size VSC_DIFFMAP_SIZE (512 DWORDs).
Each bit in the diffmap represents a 16x16 tile. Each tile-line (a row based on
tiles) takes 4 DWORDs in the diffmap. This leads to a maximum of 128 Tiles per
line, corresponding to 2048 pixels horizontally. The size is always 4 DWORDs per
tile-line, independent of the current resolution. With the diffmap size of 512
DWORDs we have a maximum of also 128 tile-lines, means 2048 pixels vertically.
