Tirado do fórum do DVP5100:navegador de arquivos só mostra 12 caracteres
A primeira coisa a fazer e abrir o firmware com o MTK Remaker e extrair o Banco 1 do 8032 (click com o botão da direita do mouse no banco 1 do 8032 e seleccione "Save" para guardar o arquivo no disco).
Na rotina "DIR_TrimFileName" é estabelecida o comprimento do nome de arquivo no filebrowser. Geralmente o valor original é "0E", o que equivale a 14 caracteres.
Busque a seqüencia "90 ? ? E0 D3 94
? 40 ? 74
? F0". Os dois "?" marcados em vermelho equivalem a quantidade de caracteres no filebrowser. Por exemplo: "90 ? ? E0 D3 94 0E 40 ? 74 0E F0" para um cumprimento de 14 caracteres ("0E" em hexadecimal).
Use a calculadora do Windows (em modo científico) e convirta o valor desejado de decimal em hexadecimal, para fazer o patch no firmware. Por exemplo "44" equivale, em formato hexadecimal, a "2C". Troquen eses dois "?" pelo novo valor.
No IDA a função e similar a esta:
ROM:8DD9 DIR_TrimFileName:
ROM:8DD9 90 FB 84 mov DPTR, #0xFB84 ; Fija el largo máximo en nombre de archivo
ROM:8DDC E0 movx A, @DPTR
ROM:8DDD D3 setb C
ROM:8DDE 94 0E subb A, #0xE ; Número máx de caract. filebrowser (1)
ROM:8DE0 40 03 jc ROM_8DE5
ROM:8DE0
ROM:8DE2 74 0E mov A, #0xE ; Número máx de caract. filebrowser (2)
ROM:8DE4 F0 movx @DPTR, A
Atenção: Tenham em conta que se o ArmCodes pasar ao 8032 os nomes de arquivo em formato Unicode, o cumprimento dos arquivos visualizados no filebrowser será a metade do establecido por vocês. Por exemplo se usam 48, será de 24 caracteres. Isso acontece porque em Unicode usam-se dos bytes por caracter, em lugar de somente um byte.bug dos 42 caracteres, as legendas serão carregadas se o nome for muito longo (não sei se tem este bug)
A primeira coisa a fazer e abrir o firmware com o MTK Remaker e extrair o bloque "ArmCodes" completo.
Com um editor hexadecimal abra o arquivo extraído e busque a seqüencia "? 2D 01 D9 00 20 F3 E7" (será achada somente uma vez). O valor de "?" será o límite de caracteres no nome de arquivo da legenda que o seu firmware acepte (ejemplo: 3C = 50 caracteres).
Troquen o valor de "?" por "FF" (255 caracteres).