@Creation @aranya Complementando mi respuesta de anteayer, os pongo como se hacen normalmente estas conversiones de paleta de GG a SMS.
En master tenemos 4 niveles posibles por cada canal (R, G, B), representados por dos bits, o sea, para cada uno de los canales, tenemos dos bits que representan aproximadamente los siguientes valores en un RGB de 8 bits por canal:
00 -> 0
01 -> 85
10 -> 170
11 -> 255
Y un color se define en un byte de esta manera 0x00BBGGRR (00 indica dos bits no usados).
En cambio, la Game Gear tiene 4 bits por canal, de manera que hay 16 diferentes niveles por cada uno de los canales (R, G, B):
0000 -> 0
0001 -> 17
0010 -> 34
0011 -> 51
0100 -> 68
0101 -> 85
0110 -> 102
0111 -> 119
1000 -> 136
1001 -> 153
1010 -> 170
1011 -> 187
1100 -> 204
1101 -> 221
1110 -> 238
1111 -> 255
Y un color se define en dos bytes de esta manera 0xGGGGRRRR 0x0000BBBB
Una manera de convertir de paleta de GameGear a Master, es quedarnos solo con los dos bits más significativos por cada canal, la tabla de conversión sería así:
0000(0) -> 00(0)
0001(17) -> 00(0)
0010(34) -> 00(0)
0011(51) -> 00(0)
0100(68) -> 01(85)
0101(85) -> 01(85)
0110(102) -> 01(85)
0111(119) -> 01(85)
1000(136) -> 10(170)
1001(153) -> 10(170)
1010(170) -> 10(170)
1011(187) -> 10(170)
1100(204) -> 11(255)
1101(221) -> 11(255)
1110(238) -> 11(255)
1111(255) -> 11(255)
Como veis esto puede provocar que muchos colores ligeramente diferentes queden mapeados en el mismo color. ¿Pero que pasaría en la Mega?
La mega tiene 3 bits por canal (R, G, B), de manera que tenemos los siguientes valores posibles:
000 -> 0
001 -> 36
010 -> 72
011 -> 108
100 -> 144
101 -> 180
110 -> 216
111 -> 255
Que están guardados en dos bytes con el formato 0x0000BBB0 0xGGG0RRR0.
En este caso, para convertir hacia la paleta de Mega, podemos hacer la siguiente conversión, eliminando el bit menos significativo:
0000(0) -> 000(0)
0001(17) -> 000(0)
0010(34) -> 001(36)
0011(51) -> 001(36)
0100(68) -> 010(72)
0101(85) -> 010(72)
0110(102) -> 011(108)
0111(119) -> 011(108)
1000(136) -> 100(144)
1001(153) -> 100(144)
1010(170) -> 101(180)
1011(187) -> 101(180)
1100(204) -> 110(216)
1101(221) -> 110(216)
1110(238) -> 111(255)
1111(255) -> 111(255)
En este caso, como veis, no se pierden tantos matices por canal como cuando convertimos los colores a la paleta de la Master, así que los resultados serán mejores en el caso "automático" (luego a mano se pueden arreglar las desgracias que la conversión pueda haber hecho).