O MTKWindows (0.8.3.) não "suporta" janelas de 256 cores... Estou modificando o firmware (quero liberdade para escolher as cores do ícones) e o MTK Windows mostra isto (somente 20 cores):
Antes de comentar sobre esse assunto eu preciso perguntar: Como você chegou a essa janela com 20 células?
Antes que nada, esclareço que somente estou fazendo experimentos... Ainda há outras coisas a solucionar, como por exemplo: ¿Cómo faço um bitmap de 256 cores? ¿Um bitmap indexado de 256 cores serve? ¿Ou o bitmap, ao igual que os de 16 cores, é um tipo especial de arquivo?
Faz tempo (mais de um ano) que não tocava o tema das janelas no firmware... Bem, vamos ao que interessa:
Tenho lido e escutado sobre referencias no código fonte a 4/16/256/truecolor OSD bitmaps. (Aclaro que não chequei no código fonte).
No firmware do DVP5100, banco 3, temos a tabela (mais conhecida como OSD_AddrTable) das WB, ou White Boards, que é como as Windows IDs são chamadas no código fonte:
ROM:3BE7 OSD_AddrTable
ROM:3BE7 FF .byte 0xFF
ROM:3BE8 38 7A .word 0x387A ; Ventana 0x00
ROM:3BEA FF .byte 0xFF
ROM:3BEB 38 9C .word 0x389C ; Ventana 0x01
ROM:3BED FF .byte 0xFF
ROM:3BEE 38 8B .word 0x388B ; Ventana 0x02
...
ROM:3C11 FF .byte 0xFF
ROM:3C12 39 77 .word 0x3977 ; Ventana 0x0E <-- Link WB 0x0E
Seguindo o link da janela 0x0E:
ROM:3977 Ventana 0x0E
ROM:3977 00 34 .word 0x34 ; x1 = 52
ROM:3979 00 76 .word 0x76 ; y1 = 118
ROM:397B 02 A0 .word 0x2A0 ; x2 = 672
ROM:397D 01 AF .word 0x1AF ; y2 = 431
ROM:397F 00 30 .word 0x30 ; Pal DY (diferencia PAL-NTSC=DY)
ROM:3981 0E .byte 0xE ; Ventana 0x0E
ROM:3982 02 .byte 2 ; Cantidad de colores (1=4, 2=16)
ROM:3983 02 .byte 2 ; Transparencia
ROM:3984 00 .byte 0 ; ? ? ? ?
ROM:3985 FF .byte 0xFF ; Pointer byte
ROM:3986 39 44 .word 0x3944 ; Pointer a paleta de colores
Agora trocamos:
ROM:3982 02 .byte 2
por
ROM:3982 08 .byte 8
e...
ROM:3986 39 44 .word 0x3944
por
ROM:3986 FA C2 .word 0xFAC2
Abrindo o firmware com o MTK Windows obtem-se o resultado anteriomente descrito... Trocando as células visíveis e reanalizando o firmware com o IDA agora temos:
ROM:FAC2 Paleta de 256 colores - Ventana 0x0E
ROM:FAC2 5B D2 .word 0x5BD2 ; Color #00
ROM:FAC4 2E F1 .word 0x2EF1 ; Color #01
ROM:FAC6 8D D8 .word 0x8DD8 ; Color #02
ROM:FAC8 9C 49 .word 0x9C49 ; Color #03
ROM:FACA FF FF .word 0xFFFF ; Color #04 - FFFF=Magenta
ROM:FACC 85 F4 .word 0x85F4 ; Color #05
ROM:FACE E2 40 .word 0xE240 ; Color #06
ROM:FAD0 FF FF .word 0xFFFF ; Color #07 - FFFF=Magenta
ROM:FAD2 97 25 .word 0x9725 ; Color #08
ROM:FAD4 FF FF .word 0xFFFF ; Color #09 - FFFF=Magenta
ROM:FAD6 1D BF .word 0x1DBF ; Color #0A
ROM:FAD8 94 45 .word 0x9445 ; Color #0B
ROM:FADA 94 45 .word 0x9445 ; Color #0C
ROM:FADC 49 2A .word 0x492A ; Color #0D
ROM:FADE FF FF .word 0xFFFF ; Color #0F - FFFF=Magenta
ROM:FAE0 FF FF .word 0xFFFF ; Color #10 - FFFF=Magenta
ROM:FAE2 22 56 .word 0x2256 ; Color #11
ROM:FAE4 FF FF .word 0xFFFF ; Color #12 - FFFF=Magenta
ROM:FAE6 97 25 .word 0x9725 ; Color #13
ROM:FAE8 FF FF .word 0xFFFF ; Color #14 - FFFF=Magenta
ROM:FAEA FF FF .word 0xFFFF
ROM:FAEC FF FF .word 0xFFFF
ROM:FAEE FF FF .word 0xFFFF
ROM:FAF0 FF FF .word 0xFFFF
...
UPDATE: Se comparar as cores escritas no firmware pelo MTK Windows, com o MTKColorSpace que você sugeriu, vai ver que elas são exatamente as mesmas... ¡as 20 visíveis!Se tudo o que você precisa é saber o valores, basta usar outro programa do New Age: MtkColorSpace.
Legal, vou tentar.
UPDATE: Já testei, era exatamente o que eu procurava. Obrigado.Aumentar o tamanho da janela, sim.
Colocar mais células, talvez.
Fazer com que o programa use essas células, não.
O programa usa as células... O problema é que eu somente posso modificar as células visíveis. Eu chequei o firmware após usar o programa e todas as 20 cores tinham sido corretamente trocadas...
Por outro lado, tentei agrandar a janela com os dois programas sugeridos no tópico do MTK Patcher (ResourceHacker e XNResourceEditor), mas nenhúm deles funciona corretamente com o arquivo executável do MTK Windows.