Help getting started porting to eInk prototyping platform

Bob Courchaine bobc at nfldinet.com
Fri Nov 25 22:44:44 UTC 2005


Bert Freudenberg wrote:
> Regarding endianness: BitBlt now deals fine with LSB forms, I  thought.
> Works fine for 8 bpp at least, not sure about 2, though ...

Looks like it's been there since 2001, Bert. And this note implies down
to 1 bpp IIRC.

(from
http://lists.squeakfoundation.org/pipermail/squeak-dev/2001-May/000076.html)

3984BitBltExtensions-ar -- Andreas Raab -- 4 May 2001
The change set includes various extensions for BitBlt with the goal of
migrating the useful features from FXBlt into the general BitBlt
mechanisms. These include:
* Handling of LSB and MSB forms:
BitBlt now handles both, MSB and LSB forms (and their conversions). Only
instances of Bitmap are assumed to contain big-endian pixels. All others
are assumed to be little endian (reason is that we can only identify
Bitmap here). Note that 'LSB' and 'MSB' refers to PIXELS, that is a 1bpp
LSB form has its left most pixel in the lowest bit whereas a 1bpp MSB
form has its left-most pixel in the highest bit.
For pixel depths < 8 this can be different from what your OS supplies
(as an example, Windows bitmaps < 8 are big-endian pixels in
little-endian words; we might call them 'middle-endian'). We simply
don't deal with those - forms are either big or little endian but
nothing inbetween.
BitBlt has got an extra combination rule for swapping pixels in the
destination form. This can be used to make byte swapping much more
efficient (as soon as we've got more VMs with support for it).



More information about the Squeak-dev mailing list