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

0 Membros e 1 Visitante 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 #60 Online: Janeiro 30, 2009, 04:03:31 am »
Meu Assembly está enferrujado. Tire uma dúvida: isso aí indica que uma posição da memória é carregada no registrador DPTR e depois o valor do acumulador é carregado na dita posição (FC03)??

Sim.

Bom, o que eu fiz foi trocar o código 0xE4 em 0x2DA87 por 00 (nop). Assim, o acumulador deixou de ser zerado antes e talvez desse algum resultado no espaçamento entre linhas.

Isso não funciona bem. O valor do acumulador nesse ponto pode ser qualquer coisa entre 0 e 255 e a presença de um valor alto nesse caso (maior que 15, por exemplo) pode corromper tudo.

Eu estou falando de forma genérica, porque não conheço os firmwares LG.
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 SCLEROSIS

  • Novato
  • *
  • Mensagens: 1
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #61 Online: Janeiro 30, 2009, 10:36:29 am »
HOLA AMIGOS BRASILEÑOS.

ESPERO COMPRENDAN QUE SOLO SE ESPAÑOL.

APENAS ADQUIRI UN DVD-LG DV397H  TODO ME GUSTA, PERO LOS SUBTITULOS DE LAS PELICULAS SON MUY PEQUEÑOS.
ALGUIEN TIENE UN FIRWARE MODIFICADO.

MODEL ID: LG_DV_LV81F33B400MM
CHIP ID:  MT1389M
SERVO VER: ODD200
MICOM VER: V3.33
CHECKSUM:  4246
HDCP KEY IS VALUE :YES

FACTORY RESET ... DONE
PLEASE POWER DOWN

THX.

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #61 Online: Janeiro 30, 2009, 10:36:29 am »

Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #62 Online: Janeiro 30, 2009, 12:09:53 pm »
Se o meu entendimento estiver errado, qual seria a forma correta de testar essa possível distância entre as linhas?

rictad,
Não tenho certeza se a distância entre as linhas é definida nesse ponto. É muito provável que seja definida em algum ponto desse rotina que postei (que seria uma SetMpeg4SubtitleParam meio diferente).
Porém, teria que pesquisar melhor (e comparar com as rotinas de outros firmwares de outros aparelhos) para descobrir isso. Não possuo esse aparelho e não posso fazer testes. Eu estava apostando que aumentar a altura da janela interna resolveria o problema. Como não resolveu, teremos que descobrir como aumentar a distância entre as linhas. Enquanto você e outros interessados tentam aí, vou tentar descobrir no LG DV256K, e a assim depois tentar descobrir no LG DV397H. Estou saindo de viagem, e na volta, com tempo tentarei fazer isso...
« Última modificação: Janeiro 30, 2009, 01:20:31 pm por zeurt »

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #63 Online: Janeiro 30, 2009, 01:29:15 pm »
Isso não funciona bem. O valor do acumulador nesse ponto pode ser qualquer coisa entre 0 e 255 e a presença de um valor alto nesse caso (maior que 15, por exemplo) pode corromper tudo.

Eu estou falando de forma genérica, porque não conheço os firmwares LG.

Certo, Jefferson. Minha idéia era essa mesmo: tentar aproveitar seja lá o que estiver no acumulador para ver se fazia alguma diferença. Mas a única coisa que mudou (um fundo na janela de legendas) só permaneceu na primeira fala de legenda. Vou tentar fazer outros tipos de teste.

HOLA AMIGOS BRASILEÑOS.

ESPERO COMPRENDAN QUE SOLO SE ESPAÑOL.

APENAS ADQUIRI UN DVD-LG DV397H  TODO ME GUSTA, PERO LOS SUBTITULOS DE LAS PELICULAS SON MUY PEQUEÑOS.
ALGUIEN TIENE UN FIRWARE MODIFICADO.

MODEL ID: LG_DV_LV81F33B400MM
CHIP ID:  MT1389M
SERVO VER: ODD200
MICOM VER: V3.33
CHECKSUM:  4246
HDCP KEY IS VALUE :YES

FACTORY RESET ... DONE
PLEASE POWER DOWN

THX.

Estamos tentando fazer testes com fontes maiores, mas as letras estão sendo cortadas. E cuidado se você utilizar o firmware com cor alterada. Pelo que vi na sua tela de serviço, o seu chip é o MT1389M e não MT1389S. Eu achei estranho, mas é melhor você esperar o pessoal mais experiente comentar.

rictad,
Não tenho certeza se a distância entre as linhas é definida nesse ponto. É muito provável que seja definida em algum ponto desse rotina que postei (que seria uma SetMpeg4SubtitleParam meio diferente).
Porém, teria que pesquisar melhor (e comparar com as rotinas de outros firmwares de outro aparelhos) para descobrir isso. Não possuo esse aparelho e não posso fazer testes. Eu estava apostando que aumentar a altura da janela interna resolveria o problema. Como não resolveu, teremos que descobrir como aumentar a distância entre as linhas. Enquanto você e outros interessados tentam aí, vou tentar descobrir no LG DV256K, e a assim depois tentar descobrir no LG DV397H. Estou saindo de viagem, e na volta, com tempo tentarei fazer isso...

Beleza! Vou continuar os testes aqui e tentar alterar outras coisas na rotina. Uma coisa que pensei foi no alinhamento vertical. As legendas parecem estar centralizadas verticalmente. E isso pode estar "juntando" as linhas. Quando aparece uma única linha, aparece na altura da segunda linha, e não na linha mais inferior como seria o normal. Isso inclusive incomoda a leitura. Comparando com outro firmware comentado, vi que
Código: [Selecionar]
B2:DAC6 7D 81                       mov     R5, #0x81 ; 'ü' deveria ser o responsável pelo alinhamento. Estranhei o 0x81, pois normalmente o valor deveria ser 0x00, 0x01 e 0x02. Pensei que podia ser alinhamento vertical e horizontal no mesmo byte, dividido nibble a nibble. Alterei para 0x02 e a legenda ficou com alinhamento horizontal à esquerda, mas o alinhamento vertical se manteve "centralizado". Farei outros testes.

Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #64 Online: Janeiro 30, 2009, 10:51:28 pm »
Uma coisa que pensei foi no alinhamento vertical. As legendas parecem estar centralizadas verticalmente. E isso pode estar "juntando" as linhas. Quando aparece uma única linha, aparece na altura da segunda linha, e não na linha mais inferior como seria o normal. Isso inclusive incomoda a leitura.

No LG DV256K e no LG DK194g o alinhamento vertical também é MIDDLE (ou seja, não é TOP nem BOTTOM). Até prefiro o MIDDLE do que o TOP. Nesses aparelhos que falei, o alinhamento ocorre da seguinte forma: quando há 1 linha, ela fica na altura da segunda linha; quando há 2 linhas, elas ficam na segunda e terceira linhas; quando há 3 linhas, elas ficam na primeira, segunda e terceira linhas; e quando há 4 linhas, elas ocupam as quatro linhas. Portanto, eu passei a chamar esse tipo de alinhamento de MIDDLE-TOP, já que quando há 1 linha, ela ocupa a segunda linha (e não a terceira, pois assim seria MIDDLE-BOTTOM), e quando há 3 linhas, elas ocupam as 3 linhas de cima (e não as 3 linhas de baixo).
De qualquer modo, deixando de divagações, o que quero dizer é: como o alinhamento vertical do DV397H parece ser igual ao dos aparelhos que descrevi, provavelmente essa não é a causa dos caracteres cortados. Em algum ponto deve haver algo que delimita, seja a distância entre as linhas, seja a altura máxima dos caracteres.

Comparando com outro firmware comentado, vi que
Código: [Selecionar]
B2:DAC6 7D 81                       mov     R5, #0x81 ; 'ü' deveria ser o responsável pelo alinhamento. Estranhei o 0x81, pois normalmente o valor deveria ser 0x00, 0x01 e 0x02. Pensei que podia ser alinhamento vertical e horizontal no mesmo byte, dividido nibble a nibble. Alterei para 0x02 e a legenda ficou com alinhamento horizontal à esquerda, mas o alinhamento vertical se manteve "centralizado". Farei outros testes.

Interessante! Eu também tinha achado estranho esse #0x81. Você acabou descobrindo onde é definido o Alinhamento Horizontal. Mais testes são bem vindos (por exemplo: o que acontece trocando esse valor por 0x00 e por 0x01?). Aos poucos a gente vai chegando lá...

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #65 Online: Janeiro 31, 2009, 05:23:55 am »
Interessante! Eu também tinha achado estranho esse #0x81. Você acabou descobrindo onde é definido o Alinhamento Horizontal. Mais testes são bem vindos (por exemplo: o que acontece trocando esse valor por 0x00 e por 0x01?). Aos poucos a gente vai chegando lá...

Certo, zeurt! Vou testar ;D. Outra coisa que encontrei (mas acho que é de pouco uso) foi:
Código: [Selecionar]
B2:DA93 E4       clr     A
B2:DA94 FD       mov     R5, A ; Cor de Background da Janela das Legendas

Já com relação àquele possível local para distância entre as linhas, fiz os seguintes testes:
Código: [Selecionar]
B2:DA87 74 10       mov     A, #10
B2:DA89 90 FC 03    mov     DPTR, #XRAM_FC03
B2:DA8C F0          movx    @DPTR, A
B2:DA8D FB          mov     R3, A
B2:DA8E 7F 09       mov     R7, #9
e
Código: [Selecionar]
B2:DA87 74 10       mov     A, #10
B2:DA89 90 FC 03    mov     DPTR, #XRAM_FC03
B2:DA8C F0          movx    @DPTR, A
B2:DA8D FD          mov     R5, A
B2:DA8E 7F 09       mov     R7, #9
E nenhum alterou a distância entre as linhas. Somados ao outro teste, acho que podemos concluir que o espaçamento não é definido nesse local. Também fiz vários outros testes deste tipo em outros pontos daquela rotina mas nenhum surtiu efeito no espaçamento entre linhas :(.

E por falar nisso, acho que o corte nas letras é definido mesmo pelo espaçamento entre as linhas e não pela altura máxima dos caracteres, pois no exemplo de legenda abaixo:
Citar
Linha 1   O gato, o gambá e o gorila
Linha 2         são vertebrados
Somente o "g" de "gambá" será cortado. O outros "g"s ficam normais.

E sobre o alinhamento vertical que você explicou, acho que o do DV397H é MIDDLE-BOTTOM. Veja como aparece as legendas:
Citar
Linha 1
Linha 2
Linha 3    O gato, o gambá e o gorila
Linha 4

Citar
Linha 1
Linha 2
Linha 3    O gato, o gambá e o gorila
Linha 4          são vertebrados

Citar
Linha 1
Linha 2    O gato, o gambá e o gorila
Linha 3    são vertebrados e também
Linha 4               mamíferos

Citar
Linha 1     Vários animais tais como
Linha 2    o gato, o gambá e o gorila
Linha 3    são vertebrados e também
Linha 4               mamíferos

Offline FREDCASTRO

  • Novato
  • *
  • Mensagens: 1
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #66 Online: Janeiro 31, 2009, 04:01:07 pm »
Comprei esse aparelho ontem, segui os passos na instalaçao do firmware 1.1. Foi muito fácil, rápido e deu tudo certo, a legenda ficou ótima amarela. Parabéns a todos os envolvidos, e muito obrigado! :clapping:

Em relação ao Time Bug, eu percebi uma melhora em algumas legendas, mas outras continuam entrando um pouco adiantadas (só uso .srt), e no computador rodam normal. O que será?

Alguém já mudou a tela de fundo desse modelo? Deu certo? É muito difícil? Obrigado!

Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #67 Online: Janeiro 31, 2009, 11:01:07 pm »
Já com relação àquele possível local para distância entre as linhas, fiz os seguintes testes:
Código: [Selecionar]
B2:DA87 74 10       mov     A, #10
B2:DA89 90 FC 03    mov     DPTR, #XRAM_FC03
B2:DA8C F0          movx    @DPTR, A
B2:DA8D FB          mov     R3, A
B2:DA8E 7F 09       mov     R7, #9
e
Código: [Selecionar]
B2:DA87 74 10       mov     A, #10
B2:DA89 90 FC 03    mov     DPTR, #XRAM_FC03
B2:DA8C F0          movx    @DPTR, A
B2:DA8D FD          mov     R5, A
B2:DA8E 7F 09       mov     R7, #9
E nenhum alterou a distância entre as linhas. Somados ao outro teste, acho que podemos concluir que o espaçamento não é definido nesse local. Também fiz vários outros testes deste tipo em outros pontos daquela rotina mas nenhum surtiu efeito no espaçamento entre linhas :(.

Acho que essas "espremidas" que você deu nesse trecho para que coubesse a modificação podem ter prejudicado algo (não definir R3 ou R5 por exemplo).
No fim de cada banco há espaço livre. Acho que vale a pena fazer mais um teste assim:

Código: [Selecionar]
2DA87  E4           CLR A
2DA88  02 FE D9     LJMP B2_FED9
2DA8B  00           NOP
2DA8C  00           NOP
2DA8D  00           NOP
2DA8E  00           NOP
2DA8F  00           NOP
2DA80  00           NOP
2DA91  00           NOP
2DA92  00           NOP

Código: [Selecionar]
2FED9  74 20        MOV   A, #14   ; Tentativa de aumento da distância entre as linhas (20 em decimal)
2FEDB  90 FC 03     MOV   DPTR, #XRAM_FC03
2FEDE  F0           MOVX  @DPTR, A
2FEDF  E4           CLR   A
2FEE0  FB           MOV   R3, A
2FEE1  FD           MOV   R5, A
2FEE2  7F 09        MOV   R7, #09
2FEE4  12 05 D7     LCALL B2_BS_125_B5_05D7
2FEE7  02 DA 93     LJMP B2_DA93

Não tenho certeza se esse salto pode ser feito exatamente dessa maneira. Sei que pode ser feito algo assim. Só estou na dúvida se o salto deveria começar bem mais atrás na rotina (incluir uma parte maior da rotina)...
« Última modificação: Fevereiro 01, 2009, 01:12:30 pm por zeurt »

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #68 Online: Fevereiro 01, 2009, 10:10:05 pm »
Certo, zeurt! Bom saber que há espaço no final do bloco. Aproveitando sua dica de modificação, fiz uma parecida:
Código: [Selecionar]
B2:DA87 74 20        mov     A, #14   ; Tentativa de aumento da distância entre as linhas (20 em decimal)
B2:DA89 02 FE D9     ljmp B2_FED9
B2:DA8C FB           mov     R3, A
B2:DA8D FD           mov     R5, A
B2:DA8E 7F 09        mov     R7, #9
B2:DA90 12 05 D7     lcall   B2_BS_125_B5_B94D;  ?
...........
...........
...........
B2:FED9  90 FC 03    mov     DPTR, #XRAM_FC03
B2:FEDC  F0          movx    @DPTR, A
B2:FEDD  E4          clr   A
B2:FEDE  02 DA 8C    ljmp B2_DA8C

A única coisa que mudou foi aparecer novamente um background listrado na primeira fala de legenda, o qual sumiu depois. Bom, mas com esse espaço no final do bloco, é possível fazer testes mas bem elaborados agora.

Também testei o alinhamento horizontal com 01:
Código: [Selecionar]
B2:DAC6 7D 01                   mov     R5, #0x01E a legenda permanece centralizada. Então deve ser 00 (ainda não testado) alinhado à direita, 01 ou 81 (testados) centralizado e 02 (testado) à esquerda.


Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #69 Online: Fevereiro 01, 2009, 11:39:31 pm »
Certo, zeurt! Bom saber que há espaço no final do bloco. Aproveitando sua dica de modificação, fiz uma parecida:
Código: [Selecionar]
B2:DA87 74 20        mov     A, #14   ; Tentativa de aumento da distância entre as linhas (20 em decimal)
B2:DA89 02 FE D9     ljmp B2_FED9
B2:DA8C FB           mov     R3, A
B2:DA8D FD           mov     R5, A
B2:DA8E 7F 09        mov     R7, #9
B2:DA90 12 05 D7     lcall   B2_BS_125_B5_B94D;  ?
...........
...........
...........
B2:FED9  90 FC 03    mov     DPTR, #XRAM_FC03
B2:FEDC  F0          movx    @DPTR, A
B2:FEDD  E4          clr   A
B2:FEDE  02 DA 8C    ljmp B2_DA8C

A única coisa que mudou foi aparecer novamente um background listrado na primeira fala de legenda, o qual sumiu depois.

Temos que ser bem detalhistas nesse negócio... Só uma dúvida: acho que teria que colocar CLR A antes de MOV A,#14. Pois, caso contrário, A ficará com um valor muito alto podendo corromper esse trecho...
(olhando a rotina, A ficaria com o valor de  #87 + #14). Ontem eu também esqueçi disso e enviei a sugestão sem esse detalhe (hoje cedo corrigi).
« Última modificação: Fevereiro 01, 2009, 11:55:52 pm por zeurt »

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #69 Online: Fevereiro 01, 2009, 11:39:31 pm »