Originally posted by Thatguysotchi
Ok, after looking around, I found Bazz's tutorial
over on the Super Famicom Dev Wiki very very helpful. But it is old and confusing, and once it starts talking about 2bpp and Gameboy, it looses me.
You said it lost you on 2bpp and Gameboy right? Well I can explain that easily!
You see... There's 2bpp which uses 3 colors plus transparency which is the same format for the Gameboy and also is the format used in BG3 with certain modes,3bpp which uses 7 colors plus transparency,4bpp which uses 15 colors plus transparency the most common format used by the 8 modes and also the only format that sprites are capable of using ,then there's 8bpp which uses 255 colors plus transparency!
I will now explain bit-planes.(bpp for short) A bit-plane is one byte that's one horizontal row of 8 pixels for 8 bits.(Assuming you know about binary.) Here's an example.
1=an opaque pixel
And given this is an 8x8 tile. a full 1bpp tile would be this.
If we add a 2nd bit-plane to the equation it would be like this.
01000010 + 00111100
any 1 in the 2nd bit-plane is the second color. But when a 1 in the 2nd bit-plane intersects with another 1 in the same place you get the third color, And this is just 2bpp as an example! it just gets more complex with the more bit-planes you add! Here's a summary of 4bpp as I figured it out myself! (I had to read about 8bpp on another website to know that it even existed, It's also too excessive to list.)
Color-0 (No Bit plane) 0000-0000
Color-1 (Bit plane 1) 0000-0001
Color-2 (Bit plane 2) 0000-0010
Color-3 (Bit plane 2+1) 0000-0011
Color-4 (Bit plane 3) 0000-0100
Color-5 (Bit plane 3+1) 0000-0101
Color-6 (Bit plane 3+2) 0000-0110
Color-7 (Bit plane 3+2+1) 0000-0111
Color-8 (Bit plane 4) 0000-1000
Color-9 (Bit plane 4+1) 0000-1001
Color-A (Bit plane 4+2) 0000-1010
Color-B (Bit plane 4+2+1) 0000-1011
Color-C (Bit plane 4+3) 0000-1100
Color-D (Bit Plane 4+3+1) 0000-1101
Color-E (Bit plane 4+3+2) 0000-1110
Color-F (Bit plane 4+3+2+1) 0000-1111