Autor Tópico: Firmware do LG DV397H  (Lida 302058 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 #40 Online: Janeiro 04, 2009, 11:04:02 pm »
A altura das linhas é definida em SetMPeg4SubtitleParams

Difícil é achar essa rotina (ou seu equivalente) nos firmwares LG.

Exemplos do que você deve encontrar em firmwares não-LG e não-Pioneer:

Philips DVP5980
Philips DVP3040K
Philips DVP5140
Proview DVP858

Cada linha de legenda é desenhada dentro de um retângulo. Os retângulos superpostos precisam caber na janela de legendas.
« Última modificação: Janeiro 05, 2009, 11:05:55 am por Jefferson »
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 zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #41 Online: Janeiro 05, 2009, 11:55:32 pm »
É realmente bem difícil achar essa rotina. Pelos critérios usuais, que funcionam para outros firmwares, não dá certo.
O mais próximo que eu encontrei foi a Rotina abaixo. Nem sei como chamá-la. A primeira parte parece com SubStyle. Inclusive o que está em verde eu tenho certeza.
Já a segunda parte, lembra alguns trechos de SetMepg4SubtitleParams de outros firmwares que vi.
É necessário ajuda do Ryan e de quem quiser colaborar para um melhor entendimento disso. Destaquei em azul os possíveis locais da Altura da Janela (Janela dentro da Janela das Legendas) e também do possível local da distância entre as linhas. Tem que testar modificar esses valores para ver os resultados. Eu não tenho certeza se o problema dos caracteres cortados é causado pela janela interna pouco alta, ou pela distancia entre as linhas pequena.
Obs: A altura da janela da legenda do Firmware Original é de 136 (88 em hexadecimal). Normalmente a altura da janela interna (dentro da janela da legenda) é do mesmo tamanho (ou talvez um pixel menor). Os valores que considero suspeitos são 87 e 88 (ver em azul abaixo). Já a largura da janela do Firmware Original é 700 (2BC em hexadecimal). Como o valor suspeito para wY2.high é 02BB ou 02A8, está compatível (ver abaixo).

B2:DA33             ; =============== S U B R O U T I N E =======================================
B2:DA33
B2:DA33
B2:DA33             BankSw_481_B2_DA33:                     ; CODE XREF: B2_8955+167p
B2:DA33                                                     ; DATA XREF: B0:B0_BS_481_B2_DA33o ...
B2:DA33 90 FC F6                    mov     DPTR, #XRAM_FCF6
B2:DA36 E0                          movx    A, @DPTR
B2:DA37 FF                          mov     R7, A
B2:DA38 13                          rrc     A
B2:DA39 13                          rrc     A
B2:DA3A 54 3F                       anl     A, #0x3F
B2:DA3C 20 E0 03                    jb      ACC.0, B2_DA42  ; Accumulator
B2:DA3F 02 DA E8                    ljmp    B2_DAE8
B2:DA42             ; ---------------------------------------------------------------------------
B2:DA42
B2:DA42             B2_DA42:                                ; CODE XREF: BankSw_481_B2_DA33+9j
B2:DA42 7F 02                       mov     R7, #2
B2:DA44 12 05 AD                    lcall   B2_BS_118_B5_B085
B2:DA47 D2 73                       setb    RAM_2E.3
B2:DA49 7F 09                       mov     R7, #9
B2:DA4B 12 05 C5                    lcall   B2_BS_122_B5_5E3E
B2:DA4E 7F 09                       mov     R7, #9
B2:DA50 12 05 CB                    lcall   B2_BS_123_B5_49DF
B2:DA53 90 FC 03                    mov     DPTR, #XRAM_FC03
B2:DA56 74 0B                       mov     A, #0xB          ; Cor do Contorno
B2:DA58 F0                          movx    @DPTR, A
B2:DA59 A3                          inc     DPTR
B2:DA5A 74 05                       mov     A, #5            ; Cor do Preenchimento
B2:DA5C F0                          movx    @DPTR, A
B2:DA5D E4                          clr     A
B2:DA5E FB                          mov     R3, A            ; Cor do Background
B2:DA5F FD                          mov     R5, A
B2:DA60 7F 09                       mov     R7, #9           ; Janela das Legendas (#9)
B2:DA62 12 05 E9                    lcall   B2_BS_128_B5_B84C; OSD_TextColor
B2:DA65 E4                          clr     A
B2:DA66 90 FB 43                    mov     DPTR, #XRAM_FB43 ; wX1.high ?
B2:DA69 F0                          movx    @DPTR, A
B2:DA6A A3                          inc     DPTR
B2:DA6B F0                          movx    @DPTR, A
B2:DA6C 90 FB 45                    mov     DPTR, #XRAM_FB45 ; wY1.high ?
B2:DA6F F0                          movx    @DPTR, A
B2:DA70 A3                          inc     DPTR
B2:DA71 F0                          movx    @DPTR, A
B2:DA72 90 FB 49                    mov     DPTR, #XRAM_FB49 ; wX2.high ?
B2:DA75 74 02                       mov     A, #2
B2:DA77 F0                          movx    @DPTR, A
B2:DA78 A3                          inc     DPTR
B2:DA79 74 BB                       mov     A, #0xBB ; '+'
B2:DA7B F0                          movx    @DPTR, A
B2:DA7C 90 FB 4D                    mov     DPTR, #XRAM_FB4D ; wY2.high ?
B2:DA7F E4                          clr     A
B2:DA80 F0                          movx    @DPTR, A
B2:DA81 A3                          inc     DPTR
B2:DA82 74 87                       mov     A, #0x87 ; 'ç'   ; Altura da Janela Interna?
B2:DA84 F0                          movx    @DPTR, A
B2:DA85 D2 78                       setb    RAM_2F.0
B2:DA87 E4                          clr     A
B2:DA88 90 FC 03                    mov     DPTR, #XRAM_FC03 ; Distância entre as linhas?
B2:DA8B F0                          movx    @DPTR, A
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:DA93 E4                          clr     A
B2:DA94 FD                          mov     R5, A
B2:DA95 7F 09                       mov     R7, #9
B2:DA97 12 05 D1                    lcall   B2_BS_124_B5_CF6B   ?
B2:DA9A 7F 09                       mov     R7, #9
B2:DA9C 12 05 DD                    lcall   B2_BS_126_B5_C2C6   ?
B2:DA9F 90 FB 43                    mov     DPTR, #XRAM_FB43  ; wX1.high ?
B2:DAA2 E4                          clr     A
B2:DAA3 F0                          movx    @DPTR, A
B2:DAA4 A3                          inc     DPTR
B2:DAA5 74 32                       mov     A, #0x32 ; '2'
B2:DAA7 F0                          movx    @DPTR, A
B2:DAA8 90 FB 45                    mov     DPTR, #XRAM_FB45  ; wY1.high ?
B2:DAAB E4                          clr     A
B2:DAAC F0                          movx    @DPTR, A
B2:DAAD A3                          inc     DPTR
B2:DAAE 74 04                       mov     A, #4
B2:DAB0 F0                          movx    @DPTR, A
B2:DAB1 90 FB 49                    mov     DPTR, #XRAM_FB49  ; wX2.high ?
B2:DAB4 74 02                       mov     A, #2
B2:DAB6 F0                          movx    @DPTR, A
B2:DAB7 A3                          inc     DPTR
B2:DAB8 74 A8                       mov     A, #0xA8 ; '¿'
B2:DABA F0                          movx    @DPTR, A
B2:DABB 90 FB 4D                    mov     DPTR, #XRAM_FB4D  ; wY2.high ?
B2:DABE E4                          clr     A
B2:DABF F0                          movx    @DPTR, A
B2:DAC0 A3                          inc     DPTR
B2:DAC1 74 88                       mov     A, #0x88 ; 'ê'    ; Altura da Janela Interna?
B2:DAC3 F0                          movx    @DPTR, A
B2:DAC4 7B 08                       mov     R3, #8
B2:DAC6 7D 81                       mov     R5, #0x81 ; 'ü'
B2:DAC8 7F 09                       mov     R7, #9
B2:DACA 12 0D 45                    lcall   B2_BS_442_B3_C274    ?
B2:DACD D2 7D                       setb    RAM_2F.5
B2:DACF 7F 8D                       mov     R7, #0x8D ; 'ì'
B2:DAD1 7E 00                       mov     R6, #0
B2:DAD3 12 03 A3                    lcall   B2_BS_31_B4_F1E6  ; Arm_GetChar
B2:DAD6 BF 08 0D                    cjne    R7, #8, B2_DAE6
B2:DAD9 90 FB 3E                    mov     DPTR, #XRAM_FB3E
B2:DADC E0                          movx    A, @DPTR
B2:DADD 64 11                       xrl     A, #0x11
B2:DADF 60 05                       jz      B2_DAE6
B2:DAE1 7F 08                       mov     R7, #8
B2:DAE3 12 98 CB                    lcall   BankSw_152_B2_98CB; ?
B2:DAE6
B2:DAE6             B2_DAE6:                                ; CODE XREF: BankSw_481_B2_DA33+A3j
B2:DAE6                                                     ; BankSw_481_B2_DA33+ACj
B2:DAE6 C2 7D                       clr     RAM_2F.5
B2:DAE8
B2:DAE8             B2_DAE8:                                ; CODE XREF: BankSw_481_B2_DA33+Cj
B2:DAE8 22                          ret
B2:DAE8             ; End of function BankSw_481_B2_DA33
B2:DAE8


« Última modificação: Janeiro 05, 2009, 11:58:01 pm por zeurt »

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #41 Online: Janeiro 05, 2009, 11:55:32 pm »

Offline zeurt

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 333
  • Aprovação: +47/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #42 Online: Janeiro 06, 2009, 08:04:58 pm »
Funcionou no LG DV256K!  :yahoo!:

Fiz o seguinte teste:
Criei uma fonte gigante (Arial Narrow Bold 30).
Aumentei a altura da janela da legenda no MtkWindows para 225 (E1 em hexadecimal).
Troquei os 2 valores da Altura da Janela Interna (em azul na rotina do post anterior), de 87 par E0(que é E1 menos 1), e de 88 para E1.
... e funcionou: as linhas de legenda apareceram sem cortes (mesmo com a fonte gigante) e até que bem espaçadas umas das outras (também, com uma altura da janela de 225!).

Em resumo, para o DV397H: deve-se escolher a altura da janela no MtkWindows e converter para hexadecimal. Alterar o byte 87 do endereço 2DA83 para o valor em hexadecimal menos 1. Alterar o byte 88 do endereço 2DAC2 para o valor em hexadecimal.

Obs: Inicialmente eu tentei modificar apenas o primeiro byte (87): não deu certo, as legendas ficaram tremidas e esquisitas.
« Última modificação: Janeiro 06, 2009, 08:07:38 pm por zeurt »

Offline Viper3M

  • Novato
  • *
  • Mensagens: 18
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #43 Online: Janeiro 07, 2009, 11:32:03 am »
Desculpem o sumiço, mas é que recebi um recorder (LG RH397H) e preciso testá-lo antes de completar os 7 dias, para uma eventual devolução.

Com relação ao firmware do DV397H, pergunto:

1) Quando você mostram essas "rotinas", estão sempre usando o IDA, certo?
Esse "bicho" me parece um "monstro". Quando o abro, fico totalmente perdido... tem "500" janelas, "N" funções.... nem sei pra que lado vou....  :dashhead1:

2) Estas operações poderiam ser feitas no "simples" Xvi32?

3) Estas alterações ocorrem abindo-se o firmware "inteiro", ou só uma parte específica, como exemplo, o 8032 (ou outra qualquer)?

Um abraço.

Offline francisco

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #44 Online: Janeiro 07, 2009, 01:51:23 pm »
Amigos, agradeço à todos pelas informações. Tenho uma dúvida, não sei se alguém poderia me ajudar.
Estou tentando fazer upgrade de firmware no meu DV397H. Eu peguei o firmware aqui no fórum, a versão que já está com o timing bug srt corrigida. Alterei com o XVI32 (editor hexa) o  EA 10 por DE 40 no endereço  5341D exatamente como descrito por aqui e então salvei e coloquei o arquivo no raiz de um CD-R mudando o nome do arquivo para LG_DV_LV81F33B40DMSMIS.ROM. Mas quando eu coloco o CD no aparelho ele entra no modo de upgrade e fica com  a seguinte informação na tela:
Firmware Upgrade Mode
Current Version 2.301
E não sai disso nunca !! no display do aparelho fica aparecendo LOAD , mas fica assim eternamente. Eu percebi que pressionando a seta para a direita (nao a seta pra cima hehe...) o upgrade é cancelado e volta tudo  a funcionar.
Mas por que motivo não sai dessa tela, não deveria avançar na leitura do CD para depois gravar na flash do aparelho?
Já gravei dois CD-R e o problema é sempre o mesmo.
O que eu posso estar fazendo de errado? Por favor me ajudem...
Só uma observação , eu tentei gravar o firmware postado aqui sem alterar a legenda para amarelo e o upgrade funcionou!! por isto , tenho certeza que sou eu que estou fazendo algo de errado. Alem de alterar os dois bytes com editor hexadecimal, tem que fazer mais alguma coisa?
O que eu estou esquecendo de fazer?
« Última modificação: Janeiro 07, 2009, 02:26:47 pm por francisco »

Offline Viper3M

  • Novato
  • *
  • Mensagens: 18
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #45 Online: Janeiro 07, 2009, 02:28:12 pm »
Francisco,
É erro de CheckSum. Acredito que isto sempre ocorra após edição do firmware no Xvi32.
Aconteceu comigo. Porém eu utilizo pendrive, por ser mais prático e rápido.

Para resolver, você deve abrir o firmware (após edição no Xvi32) no mtkRemaker. Após a abertura, será informado sobre o erro e se você quer arrumar. Responda sim, salve o arquivo e tente o processo de atualização.

Abraço

Offline Viper3M

  • Novato
  • *
  • Mensagens: 18
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #46 Online: Janeiro 07, 2009, 02:46:31 pm »
PessoALL,

Segue o firmware v2.6 (enviado pelo Zeurt) com 2 pequenas modificações.

Histórico:

v1.0 - Corrigido Timing Bug.
v1.1 - Cor das legendas alterada para amarelo.
(Créditos para Zeurt: alterei a cor utilizando o "método 1" descrito por ele!)

ATENÇÃO:
Por favor, leiam a mensagem 01 (Zeurt) deste tópico, com relação à parte dos procedimentos e RISCOS no processo de atualização .


Um abraço.
« Última modificação: Janeiro 07, 2009, 06:08:51 pm por Viper3M »

Offline francisco

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #47 Online: Janeiro 07, 2009, 02:50:46 pm »
Obrigado Viper 3M, mas como eu faço para abrir o arquivo? O firmware tem extensão .ROM e o MTK Remaker abre arquivos BIN. Se eu tento renomear o ROM para BIN dá um erro de Header Fails e o arquivo não abre.
Será que eu preciso de outra versão do Mtk Remaker? A que eu achei na internet é a "versão 0.2 RC3"...

Offline Viper3M

  • Novato
  • *
  • Mensagens: 18
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #48 Online: Janeiro 07, 2009, 02:52:36 pm »
Quanto à mensagem anterior:
Eu já deveria ter enviado, mas queria fazê-lo já com uma fonte melhor.
Do jeito que está, a fonte é idêntica a original, porém, amarela.
Como estou "me batendo" com isso, fica pra próxima.

Abraço
« Última modificação: Janeiro 07, 2009, 06:07:52 pm por Viper3M »

Offline francisco

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware do LG DV397H
« Responder #49 Online: Janeiro 07, 2009, 02:56:46 pm »
PessoALL,

Segue o firmware v2.6 (enviado pelo Zeurt) com 2 pequenas modificações.

Histórico:

v1.0 - Corrigido Timing Bug.
v1.1 - Cor das legendas alterada para amarelo.

ATENÇÃO:
Por favor, leiam a mensagem 01 (Zeurt) deste tópico, com relação à parte dos procedimentos e RISCOS no processo de atualização .


Um abraço.

WOW! obrigado Viper, assim fica mais fácil, mas estou ainda com problemas, o arquivo RAR dá erro de checksum ao ser extraido, por favor amigo, você poderia fazer um upload dele novamente?
Valeu mesmo  ;D

FORUM.RYAN.COM.BR

Re: Firmware do LG DV397H
« Responder #49 Online: Janeiro 07, 2009, 02:56:46 pm »