Autor Tópico: Firmware do LG DV397H  (Lida 300741 vezes)

0 Membros e 2 Visitantes estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware do LG DV397H
« Responder #130 Online: Março 26, 2009, 06:10:08 pm »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline allanzin

  • Novato
  • *
  • Mensagens: 33
  • Aprovação: +4/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #131 Online: Março 27, 2009, 10:06:25 pm »
Rictad meu amigo, necessito de ajuda...

Já li alguns posts aqui, de uma galera que comprou o dv397h, e veio com o chipset MT1389M, eu sou um deles.

Estou muito querendo poder usar seu firmware, os comentários sobre ele são muito positivos, mas sei que se eu tentar atualizar posso estar fazendo besteira, já que o firmware é para o MT1389S.

Mas a minha dúvida é a seguinte: Cara, será mesmo que vai dar problema se eu atualizar, o DVD é o mesmo, e suas funções tb também, seu chipset é do mesmo fabricante, só muda o "S" rsrs.., o que de errado pode dar.

Meu medo é de dar algo errado, e eu acabar perdendo a garantia....

Será que tenho alguma solução, estou muito ancioso pra ver suas modificações....

Espero que me ajude, abração !
« Última modificação: Março 27, 2009, 10:20:07 pm por Jefferson »

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #131 Online: Março 27, 2009, 10:06:25 pm »

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #132 Online: Março 27, 2009, 10:20:40 pm »
Mas a minha dúvida é a seguinte: Cara, será mesmo que vai dar problema se eu atualizar, o DVD é o mesmo, e suas funções tb, seu chipset é do mesmo fabricante, só muda o "S" rsrs.., o que de errado pode dar.

Meu medo é de dar algo errado, e eu acabar perdendo a garantia....

Volto a dizer que o risco é grande! Se der "algo errado", significa que provavelmente não vai funcionar mais nada, e você terá que fazer um cabo para recuperação (ou procurar alguém que faça).

Nós precisávamos ver o firmware desse player para comparar. Se ele aparecer, a primeira coisa que farei será colocá-lo no meu player para testar.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware do LG DV397H
« Responder #133 Online: Março 27, 2009, 10:23:22 pm »
Meu medo é de dar algo errado, e eu acabar perdendo a garantia....

Se seu aparelho está na garantia, arrisque. A assistência não tem como saber o que aconteceu se você não disser e em geral eles sequer sabem o que danado é firmware. O máximo que vai acontecer é você levar uma canseira esperando o conserto.

Mas, como disse RICTAD. O risco é grande de que você tenha que acionar a garantia.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline allanzin

  • Novato
  • *
  • Mensagens: 33
  • Aprovação: +4/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #134 Online: Março 27, 2009, 10:44:18 pm »
Entendi rapazes, reconheço que realmente o risco é grande, vai parecer óbvio, mas se não tem o mesmo nome, algo tem de diferente...

Como ele chegou tem 2 dias, estou com medo de ficar sem ele por muito tempo, afinal como o Jefferson disse, pode ser que demore muito a volta dele e estou adorando a performance dele, mesmo sem o firmware  :-\ rsrs..

Bom, vou esperar passar um tempinho, até eu "enjoar um pouquinho" dele, aí, caso vocês não testem o com o MT1389M, eu atualizo, sem medo rs !

Mas, obrigado pela atenção de vocês, respostas bem rápidas, vou estar sempre por aqui observando as táticas de vocês rs... !!

Valeuuuuuuu !!! :clapping:


Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #135 Online: Março 27, 2009, 10:48:00 pm »
Entendi rapazes, reconheço que realmente o risco é grande, vai parecer óbvio, mas se não tem o mesmo nome, algo tem de diferente...

Como ele chegou tem 2 dias, estou com medo de ficar sem ele por muito tempo, afinal como o Jefferson disse, pode ser que demore muito a volta dele e estou adorando a performance dele, mesmo sem o firmware  :-\ rsrs..

Bom, vou esperar passar um tempinho, até eu "enjoar um pouquinho" dele, aí, caso vocês não testem o com o MT1389M, eu atualizo, sem medo rs !

Mas, obrigado pela atenção de vocês, respostas bem rápidas, vou estar sempre por aqui observando as táticas de vocês rs... !!

Valeuuuuuuu !!! :clapping:


Só por curiosidade, onde você comprou esse player? É brasileiro mesmo? Veja atrás dele onde foi produzido.

Offline allanzin

  • Novato
  • *
  • Mensagens: 33
  • Aprovação: +4/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #136 Online: Março 27, 2009, 11:57:35 pm »
Comprei no CompraFácil, na net, o lugar mais barato que achei.. e ele é brasileiro sim.. diretamente do Amazonas, só pra vc ter um controle maior, o número de série dele começa com: 902AZ...

Doidera, não ? rs...

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #137 Online: Março 28, 2009, 12:37:57 am »
Também diminuí o tempo em que a informação de zoom aparece na tela (achei 15 segundos muito tempo). Além disso, as legendas DivX agora continuam sendo exibidas em zoom acima de 100% (algumas pessoas podem querer assistir o filme com zoom, ainda que isso as faça perder partes das cenas). Vamos às últimas modificações (depois eu posto o novo firmware):

Zoom

Esse é o começo da rotina que "desenha" o ícone de zoom e o valor:

Código: [Selecionar]
B3:3C47             BankSw_379_B3_3C47:                     ; CODE XREF: B3:1529_p
B3:3C47                                                     ; B3:1557_p ...
B3:3C47 90 FE 13                    mov     DPTR, #XRAM_FE13
B3:3C4A E0                          movx    A, @DPTR
B3:3C4B FC                          mov     R4, A
B3:3C4C A3                          inc     DPTR
B3:3C4D E0                          movx    A, @DPTR
B3:3C4E FD                          mov     R5, A
B3:3C4F A3                          inc     DPTR
B3:3C50 E0                          movx    A, @DPTR
B3:3C51 FE                          mov     R6, A
B3:3C52 A3                          inc     DPTR
B3:3C53 E0                          movx    A, @DPTR
B3:3C54 54 04                       anl     A, #4
B3:3C56 FF                          mov     R7, A
B3:3C57 E4                          clr     A
B3:3C58 FE                          mov     R6, A
B3:3C59 FD                          mov     R5, A
B3:3C5A FC                          mov     R4, A
B3:3C5B EF                          mov     A, R7
B3:3C5C 60 0A                       jz      B3_3C68
B3:3C5E 7F 02                       mov     R7, #2
B3:3C60 12 06 49                    lcall   B3_BS_144_B2_EB30
B3:3C63 7F 02                       mov     R7, #2
B3:3C65 12 05 AD                    lcall   B3_BS_118_B5_B085
....

No final dela, temos o seguinte (como ocorria com o menu da tecla display):

Código: [Selecionar]
....
B3:405F             B3_405F:                                ; CODE XREF: BankSw_379_B3_3C47+410_j
B3:405F 7F 0A                       mov     R7, #0xA        ; tempo para informacoes da tecla zoom
B3:4061 02 05 FB                    ljmp    B3_BS_131_B2_FDBD

Alterei o valor para #2, o que dá a uns 3 segundos (o #0A dava uns 15 segundos).

Vendo quais rotinas chamam essa última, cheguei à seguinte (apenas começo):

Código: [Selecionar]
B3:AD73
B3:AD73             BankSw_243_B3_AD73:                     ; DATA XREF: B0:B0_BS_243_B3_AD73_o
B3:AD73                                                     ; B1:B1_BS_243_B3_AD73_o ...
B3:AD73 90 FB D2                    mov     DPTR, #XRAM_FBD2
B3:AD76 EF                          mov     A, R7
B3:AD77 F0                          movx    @DPTR, A
B3:AD78 7F 0A                       mov     R7, #0xA
B3:AD7A 12 05 AD                    lcall   B3_BS_118_B5_B085
B3:AD7D 90 FE 13                    mov     DPTR, #XRAM_FE13
B3:AD80 E0                          movx    A, @DPTR
B3:AD81 FC                          mov     R4, A
B3:AD82 A3                          inc     DPTR
B3:AD83 E0                          movx    A, @DPTR
B3:AD84 FD                          mov     R5, A
B3:AD85 A3                          inc     DPTR
B3:AD86 E0                          movx    A, @DPTR
B3:AD87 FE                          mov     R6, A
B3:AD88 A3                          inc     DPTR
B3:AD89 E0                          movx    A, @DPTR
B3:AD8A E4                          clr     A
B3:AD8B FF                          mov     R7, A
B3:AD8C EE                          mov     A, R6
B3:AD8D 54 02                       anl     A, #2
B3:AD8F FE                          mov     R6, A
B3:AD90 E4                          clr     A
B3:AD91 FD                          mov     R5, A
B3:AD92 FC                          mov     R4, A
B3:AD93 EE                          mov     A, R6
B3:AD94 60 05                       jz      B3_AD9B
B3:AD96 7F 09                       mov     R7, #9          ; desabilita legendas DviX em modo zoom
B3:AD98 12 07 27                    lcall   B3_BS_181_B5_D0EA
....

Em B3:AD94, trocando o 60 05 por 80 05 (jz por sjmp), faz saltar o trecho que desabilita as legendas. Assim, no momento em que ícone de zoom sumir, as legendas voltam normalmente (antes, dava para fazer as legendas voltarem, mas tinha que apertar a tecla subtitle, o que desligava o scan do zoom, e esperar a seleção de legenda sumir).

Fonte repetida

A rotina que escolhe o tipo de fonte (inicialmente o codepage) é a seguinte (início):

Código: [Selecionar]
B3:C5D7             ; modifica fontes
B3:C5D7
B3:C5D7             BankSw_273_B3_C5D7:                     ; DATA XREF: B0:B0_BS_273_B3_C5D7_o
B3:C5D7                                                     ; B1:B1_BS_273_B3_C5D7_o ...
B3:C5D7 90 FB 00                    mov     DPTR, #XRAM_FB00
B3:C5DA E0                          movx    A, @DPTR
B3:C5DB 24 F2                       add     A, #0xF2 ; '='
B3:C5DD 60 26                       jz      B3_C605
B3:C5DF 14                          dec     A
B3:C5E0 60 39                       jz      B3_C61B
B3:C5E2 24 FE                       add     A, #0xFE ; '¦'
B3:C5E4 60 15                       jz      B3_C5FB
B3:C5E6 24 E8                       add     A, #0xE8 ; 'Þ'
B3:C5E8 60 31                       jz      B3_C61B
B3:C5EA 24 C8                       add     A, #0xC8 ; '+'
B3:C5EC 60 12                       jz      B3_C600
B3:C5EE 14                          dec     A
B3:C5EF 60 0F                       jz      B3_C600
B3:C5F1 24 BC                       add     A, #0xBC ; '+'
B3:C5F3 60 06                       jz      B3_C5FB
B3:C5F5 24 09                       add     A, #9
B3:C5F7 70 37                       jnz     B3_C630
B3:C5F9 C3                          clr     C
B3:C5FA 22                          ret
....

Mais à frente, temos o seguinte trecho:

Código: [Selecionar]
B3:C613
B3:C613             B3_C613:                                ; CODE XREF: BankSw_273_B3_C5D7+35_j
B3:C613 90 FD C8                    mov     DPTR, #XRAM_FDC8
B3:C616 74 06                       mov     A, #6           ; 7 fontes, reduzir para 6 (#5)
B3:C618 F0                          movx    @DPTR, A
B3:C619 80 17                       sjmp    B3_C632
B3:C61B             ; ---------------------------------------------------------------------------
B3:C61B
B3:C61B             B3_C61B:                                ; CODE XREF: BankSw_273_B3_C5D7+9_j
B3:C61B                                                     ; BankSw_273_B3_C5D7+11_j
B3:C61B 90 FD C8                    mov     DPTR, #XRAM_FDC8
B3:C61E E0                          movx    A, @DPTR
B3:C61F C3                          clr     C
B3:C620 94 06                       subb    A, #6           ; 7 fontes, reduzir para 6 (#5)
B3:C622 50 05                       jnc     B3_C629
B3:C624 E0                          movx    A, @DPTR
B3:C625 04                          inc     A
....

É só seguirmos as modificações propostas nos comentários (trocar o #6 por #5), o que reduzirá o número de fontes de 7 para 6. Esse trecho é justamente o que "passa" as fontes, de #0 a #6, e ainda roda de #0 para #6 ou de #6 para #0. Como as fontes #5 e #6 são iguais, é só cortarmos a última.

Uma outra solução seria mexer no trecho:

Código: [Selecionar]
B3_C632:                                ; CODE XREF: BankSw_273_B3_C5D7+3A_j
B3:C632                                                     ; BankSw_273_B3_C5D7+42_j ...
B3:C632 90 FD C8                    mov     DPTR, #XRAM_FDC8
B3:C635 E0                          movx    A, @DPTR
B3:C636 FF                          mov     R7, A
B3:C637 24 FB                       add     A, #0xFB ; '¹'
B3:C639 50 08                       jnc     B3_C643         ; se carry, faz algumas manobras nos codepages
B3:C639                                                     ; (e repete a fonte #5)
....


Trocar 50 08 por 80 08 em B3:C639 faz com que todas as fontes sejam tratadas da mesma forma, seguindo a tabela de fontes de forma linear. Assim, a última fonte passa a ser a apontada no MTKRemaker como fonte 14. O problema é que o nome dela ainda continua repetido (igual ao da penúltima). Além disso, essa fonte 14 é a usada pelo filebrowser, sendo muito pequena. Ainda podemos brincar mais, aumentando para 8 fontes (substituindo os #6 por #7 nos trechos mostrados mais acima). Isso faz com que a fonte 15 mostrada no MTKRemaker também seja usada (mas ela não é cp1252, é pequena como a 14, além de não ter nome).

Opção de fonte gravável

Verifiquei que além da opção ser guardada na memória, é guardada também na EEPROM, como preferência (endereço #2E). Porém, ao iniciar o player, há uma rotina (BankSw_63_B1_C10D) que sempre coloca o valor #2 nesse endereço, fazendo com que a terceira fonte seja a inicial. Segue o trecho em que isso ocorre:

Código: [Selecionar]
B1:C15E             B1_C15E:                                ; CODE XREF: BankSw_63_B1_C10D+3D_j
B1:C15E 7F 44                       mov     R7, #0x44 ; 'D'
B1:C160 7E 00                       mov     R6, #0
B1:C162 12 F2 13                    lcall   PREF_GetChar
B1:C165 EF                          mov     A, R7
B1:C166 60 09                       jz      B1_C171
B1:C168 7D 02                       mov     R5, #2          ; opcao de fonte de legenda inicial
B1:C16A 7F 2E                       mov     R7, #0x2E ; '.'
B1:C16C 7E 00                       mov     R6, #0
B1:C16E 12 F3 3A                    lcall   PREF_SetChar??
....

Eu removi essa verificação inicial do endereço #44, já que ela zerava (ou "doisava", para falar a verdade  :laugh: ) a opção de fonte, dependendo do seu conteúdo. Além de removê-la, incluí uma pequena checagem do endereço #2E, para verificar se o valor inicial não está fora dos limites das fontes (maior que #5). Somente se estiver é que atribui-se #2. Isso é feito pelo mesmo motivo que foi feito na opção de tempo incluída há alguns dias. Na primeira vez que você atualiza o firmware, o valor na EEPROM pode ser qualquer um (e de fato é, a fonte fica em árabe e demora muito para se acertar). Estando dentro dos limites (de #0 a 5#), nada é feito, mantendo a opção.
« Última modificação: Março 28, 2009, 01:09:22 am por rictad »

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #138 Online: Março 29, 2009, 01:01:46 am »
Versão 2.2 disponível!

*Opção do tipo de fonte fica gravada, mesmo após desligar o player.
*Removida fonte Courier duplicada.
*Legendas DivX permanecem habilitadas em modo Zoom.
*Informação de Zoom desaparece em 3 segundos (originalmente desaparecia em 15 segundos).
*Trocada string de informação de versão do firmware de V2.6 para V2.6-Rictad-2.2
*Opções de tempo para DivX independentes de opções de tempo para DVD e VCD/SVCD .


Para trocar a versão, alterei o trecho:

Código: [Selecionar]
B5:3640  FF 35 AB FF 35 56 FF 35  BC 02 04 10 00 15 3A 20   5½ 5V 5+.....:
B5:3650  4C 47 5F 44 56 5F 4C 56  38 31 46 33 33 42 34 30  LG_DV_LV81F33B40
B5:3660  30 4D 53 06 3A 20 56 32  2E 36 0A 3A 20 30 37 2F  0MS.: V2.6.: 07/
B5:3670  30 31 2F 30 38 0A 3A 20  4D 54 31 33 38 39 20 53  01/08.: MT1389 S
B5:3680  02 01 02 06 00 00 00 00  02 01 00 04 09 09 04 05  ................
B5:3690  06 02 05 08 00 11 01 03  09 07 01 03 09 11 00 00  ................

por:

Código: [Selecionar]
B5:3640  FF 35 AB FF 35 56 FF 35  BC 02 04 10 00 15 3A 20   5½ 5V 5+.....:
B5:3650  4C 47 5F 44 56 5F 4C 56  38 31 46 33 33 42 34 30  LG_DV_LV81F33B40
B5:3660  30 4D 53 11 3A 20 56 32  2E 36 2D 52 69 63 74 61  0MS.: V2.6-Ricta
B5:3670  64 2D 32 2E 32 0A 3A 20  4D 54 31 33 38 39 20 53  d-2.2.: MT1389 S
B5:3680  02 01 02 06 00 00 00 00  02 01 00 04 09 09 04 05  ................
B5:3690  06 02 05 08 00 11 01 03  09 07 01 03 09 11 00 00  ................

Cada string é antecedida por um delimitador que determina o tamanho dela. Por exemplo, 06 3A 20 56 32 2E 36  : V2.6, significa que após o 06, temos a string com 6 caracteres (contando os dois pontos e o espaço). Tentei alterar esse valor e empurrar as strings mais abaixo, mas a informação na tela de serviço ficou truncada. A solução foi retirar a string com a data do firmware, que não é usada na tela de serviço e nem na tela de upgrade. Além disso, como em B5:3690  06 02 05 08 00 11 01 03  09 07 01 03 09 11 00 00 temos o código que deve ser digitado para entrar na tela de serviço, empurrando as strings para baixo atrapalha a entrada naquela tela.


Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #139 Online: Março 29, 2009, 01:13:57 am »
Obrigado pelas informações do post retrasado, rictad. Já encontrei a rotina de seleção das fontes de legendas no DV256K (equivalente a do DV397H que você descreveu). Consegui alterar (reduzir) o número de fontes, etc. Porém, estou tendo um problema relacionado com a fonte 13 do firmware (que é originalmente a CP-1255). Vou descrever esse problema com mais detalhes no tópico do Firmware do DV256K, porém já adianto que nesse player NÃO há a fonte repetida (mesma fonte usada para 2 opções, os 2 subsistemas de CP-1255 como você descreveu para o DV397H).
Além disso, vale a pena destacar que no DV256K NÃO há o problema da fonte não ser gravada. Portanto não precisarei mexer nisso.
Desculpem-me pela parte "off-topic".

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #139 Online: Março 29, 2009, 01:13:57 am »