The format is actually pretty strange to work with, although I read a really good document somewhere that helped me understand. Which I can no longer find. Let me try and explain it.
Here's a sample .bin I'll be using to explain.
The first half of row 1 is controlled by four bytes. Assuming we're looking a .bin file, that would be 0x0, 0x1, 0x10, and 0x11. If we break those bytes into binary, we can see something like:
0x00 - AA = 10101010
0x01 - 66 = 01100110
0x10 - 1E = 00011110
0x11 - FE = 11111110
The actual colors in the file are then read going down
those four bytes.
So that means the colors in the row are
1001 = 9
0101 = A
1101 = B
0011 = C
1011 = D
0111 = E
0000 = F
and those are the color values.
I know it's a bit hard to understand, but hopefully this will help.