Step20: Bitplanes are evil

I’ve said that amiga hardware was really nice. But there is ONE bad things about it, it is the « bitplanes » system. Here is a bit of explanation about it.
In today hardware, one pixel is often coded on a byte (or serie of bytes). For example on Nintendo DS, you can use 256 colors mode. Each pixel is coded on one byte (value 0 to 255). That value correspond to one color into a palette (color table). That is quite simple.
Amiga 500 (and Atari ST) had a different way of working. The Amiga 500 can display 32 colors. For coding 32 values, you need 5 bits. Sadly a computer use one byte (8 bits) as unit value. I guess there engineers imagined a new system to avoid loosing 3 bits one each pixel byte. The 5 bits have been divided into « planes ». One plane for each bit. That give « bitplanes ».
Here is a drawing of the system:

This is for Atari ST but works the same way on Amiga. Look at the pixel in the middle of the screen (the four small green points). To encoded a 4 bits (value 0 to 15 in color table), each bit have been put into one Bitplane.

(Figure taken from that website)

Here is a sample of art, divided into bitplanes:

You can see three different planes (each is only 1 bit). Total number of color is 8 once the three bitplanes are superposed.
This is the result: (with a 8 color table of course)

The drawback of that method is that one pixel can not easily be moved or copied. For changing one pixel, you have to change 1 bit on each bitplane. If you want to copy a full set of pixel, you usually have to do multiple copy, for each bitplanes. Some tricks have been found over years to transfer a multiple planes in one blitter transfer (using modulos).

Demo of that time

Cebit demo 90 – Revenge of babbnaasen by Red Sector Inc.

Step19 Step21