[MENTION=106194]mendus[/MENTION] If by "equal" you mean "they all use the same colors" then yes. The Background Palette has access to four shades, as do the two Object Palettes. It helps to think of the four shades in terms of a pixel being "ON" or "OFF" that is to say, imagine Black being 100% ON, Dark Gray 66% ON, Light Gray 33% ON, and White obviously being 0% ON, or OFF.
Are you confused as to how the palettes work? Take BGP for example. It's an 8-bit MMIO (Memory-Mapped Input/Output) register. The GB reads the 1st two bits; the value of these two bits determines what shade to use for Color 0. It reads the next two bits, which determines the shade for Color 1, so on and so forth.
Let's pretend BGP is 0xE4 in hexadecimal (0b11100100 in binary), bits are read right-to-left:
Color 0 -> Bits 0-1 are 00, the value we get is
0. Every time we want to draw something that uses Color 0, we "lookup" what
0 is supposed to represent. It represents
White
Color 1 -> Bits 2-3 are 01, the value we get is
1. Every time we want to draw something that uses Color 1, we "lookup" what
1 is supposed to represent. It represents
Light Gray
Color 2 -> Bits 4-5 are 10, the value we get is
2. Every time we want to draw something that uses Color 2, we "lookup" what
2 is supposed to represent. It represents
Dark Gray
Color 3 -> Bits 6-7 are 11, the value we get is
3. Every time we want to draw something that uses Color 3, we "lookup" what
3 is supposed to represent. It represents
Black
See here for more info:
http://gbdev.gg8.se/wiki/articles/Video_Display#LCD_Monochrome_Palettes
It's the same principle for the OBPs. Note that this example shows a simple palette (Color 0 is White, Color 1 is Light Gray, Color 2 is Dark Gray, Color 3 is Black), but you could have something like this:
Let's pretend BGP is 0x3D in hexadecimal (0b00111101 in binary)
Color 0 -> Bits 0-1 are 01, the value we get is
1. Every time we want to draw something that uses Color 0, we "lookup" what
1 is supposed to represent. It represents
Light Gray
Color 1 -> Bits 2-3 are 11, the value we get is
2. Every time we want to draw something that uses Color 1, we "lookup" what
2 is supposed to represent. It represents
Black
Color 2 -> Bits 4-5 are 11, the value we get is
2. Every time we want to draw something that uses Color 2, we "lookup" what
2 is supposed to represent. It represents
Black
Color 3 -> Bits 6-7 are 00, the value we get is
0. Every time we want to draw something that uses Color 3, we "lookup" what
0 is supposed to represent. It represents
White