I know the GameBoy originally worked in a 2bpp display functionality, with 4 shades of grey, but how does the GameBoy Color tiles work with colors? No website seems to have a obvious and understandable explanation of how these tiles work. It seems they work in RGB555 but I am not completely sure. I do know that it works in pallettes but I don't know how many colors are in these pallettes or how colors would be represented in binary/hexadecimal.
The tile data is still 2bpp for only 4 colours per tile.
But the Game Boy Color extends the tile map to include which palette to use for a tile.
There are 8 palettes available and they are user definable.
Each palette defines all 4 colours of the 2bpp tile data.
So there are 32 colours in total available.
Each colour is given in 15-bit RGB555 format, so it takes two bytes per colour to store it.
Therefore there are 64 bytes total for the 32 palette data entries.
The RGB555 format used contains the 5 red color value bits in 5 lowest bits, the next 5 bits contain the green value bits, and next 5 bits contain the blue value bits, with the single most significant bit unused.
The 32 RGB555 values are stored in the 64 palette data registers with least significant byte first.