Autor Tópico: Firmware MT13x9: Log de Descobertas  (Lida 272656 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Firmware: log de descobertas
« Responder #130 Online: Agosto 02, 2007, 06:36:15 pm »
Aquela seção era só um experimento. Se você achou úitl então vai babar com o que eu estou preparando, neste exato momento  ;D
Excelente noticia! :yahoo!: Se planejar tradução, novamente me ofereço como voluntario para traduzir ao espanhol...

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #131 Online: Agosto 02, 2007, 06:44:19 pm »
Excelente noticia! :yahoo!: Se planejar tradução, novamente me ofereço como voluntario para traduzir ao espanhol...

Eu estou tentando manter isso em mente enquanto desenvolvo, mas a primeira versão vai precisar sair exclusivamente em Português. Depois que a funcionalidade estiver OK, vou trabalhar na Localização.

Foi algo que comecei na semana passada, só para me ajudar com a compreensão daquela rotina ClearRect das tags MP3, mas que acabou evoluindo para algo muito mais complexo e útil.

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?!

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #131 Online: Agosto 02, 2007, 06:44:19 pm »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #132 Online: Agosto 02, 2007, 08:05:35 pm »
Scrollbar para firmwares Philips

  • Philips DVP5960
  • Philips DVP5100
  • Philips DVP5965
  • Philips DVP5980

Sempre achei estranho que, apesar dos firmwares Philips não terem uma scrollbar, a rotina de exibição é detectada neles, inclusive pelo meu mtkModToolbox. Mas até bem pouco tempo eu não tinha o conhecimento necessário para tentar entender isso e sempre "deixei prá lá".

Hoje eu estava justamente aperfeiçoando a rotina de detecção da scrollbar no mtkModToolbox quando decidi parar um pouco para estudar essa esquisitice no IDA. Seguindo o caminho até a rotina chamada DirDispScrollbar no DVP5960 descobri que ela começava em uma rotina órfã:

B4:83A2
B4:83A2             ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
B4:83A2
B4:83A2
B4:83A2             BankSw_240_B4_83A2:           ; DATA XREF: B0:B0_BS_240_B4_83A2o
B4:83A2                                           ; B1_BS_240_B4_83A2o ...
B4:83A2 90 FB A0    mov     DPTR, #XRAM_FBA0
B4:83A5 EC          mov     A, R4
B4:83A6 F0          movx    @DPTR, A
B4:83A7 A3          inc     DPTR
B4:83A8 ED          mov     A, R5
B4:83A9 F0          movx    @DPTR, A
B4:83AA CB          xch     A, R3
B4:83AB EF          mov     A, R7
B4:83AC CB          xch     A, R3
B4:83AD CA          xch     A, R2
B4:83AE EE          mov     A, R6
B4:83AF CA          xch     A, R2
B4:83B0 22          ret
B4:83B0             ; End of function BankSw_240_B4_83A2
B4:83B0
B4:83B1             ; ---------------------------------------------------------------------------
B4:83B1 90 FB A0    mov     DPTR, #XRAM_FBA0      ; Função orfã!!!!!!!!!!!!!

B4:83B4 E0          movx    A, @DPTR
B4:83B5 FC          mov     R4, A
B4:83B6 A3          inc     DPTR
B4:83B7 E0          movx    A, @DPTR
B4:83B8 FD          mov     R5, A
B4:83B9 64 01       xrl     A, #1
B4:83BB 4C          orl     A, R4
B4:83BC 70 12       jnz     B4_83D0
B4:83BE 90 FB A4    mov     DPTR, #XRAM_FBA4
B4:83C1 F0          movx    @DPTR, A
B4:83C2 A3          inc     DPTR
B4:83C3 74 B6       mov     A, #0xB6 ; 'Â'
B4:83C5 F0          movx    @DPTR, A
B4:83C6 E4          clr     A
B4:83C7 90 FB A2    mov     DPTR, #XRAM_FBA2
B4:83CA F0          movx    @DPTR, A
B4:83CB A3          inc     DPTR
B4:83CC F0          movx    @DPTR, A
B4:83CD 02 84 8A    ljmp    DIR_DispScrollBar

Eu passei algum tempo tentando imaginar um jeito de chamar essa rotina de dentro da rotina principal do FileBrowser para ver o que aconteceria, mas depois decidi dar uma olhada em um firmware com scrollbar ativa para ver se aparecia alguma pista. O que encontrei me surpreendeu.

Este é o mesmo trecho de código, no firmware do Proview DVP-858

B4:6602             ; ---------------------------------------------------------------------------
B4:6602             ; START OF FUNCTION CHUNK FOR BankSw_210_B4_DD71
B4:6602
B4:6602             BankSw_214_B4_6602:           ; CODE XREF: BankSw_210_B4_DD71+2j
B4:6602                                           ; DATA XREF: B0:B0_BS_214_B4_6602o ...
B4:6602 90 FB 9D    mov     DPTR, #XRAM_FB9D
B4:6605 EC          mov     A, R4
B4:6606 F0          movx    @DPTR, A
B4:6607 A3          inc     DPTR
B4:6608 ED          mov     A, R5
B4:6609 F0          movx    @DPTR, A
B4:660A CB          xch     A, R3
B4:660B EF          mov     A, R7
B4:660C CB          xch     A, R3
B4:660D CA          xch     A, R2
B4:660E EE          mov     A, R6
B4:660F CA          xch     A, R2
B4:6610 90 FB 9D    mov     DPTR, #XRAM_FB9D

B4:6613 E0          movx    A, @DPTR
B4:6614 FE          mov     R6, A
B4:6615 A3          inc     DPTR
B4:6616 E0          movx    A, @DPTR
B4:6617 FF          mov     R7, A
B4:6618 4E          orl     A, R6
B4:6619 70 03       jnz     B4_661E
B4:661B 02 67 7D    ljmp    B4_677D
B4:661E             ; ---------------------------------------------------------------------------
B4:661E
B4:661E             B4_661E:                      ; CODE XREF: BankSw_210_B4_DD71-7758j
B4:661E C3          clr     C
B4:661F EF          mov     A, R7
B4:6620 9B          subb    A, R3
B4:6621 EE          mov     A, R6
B4:6622 9A          subb    A, R2
B4:6623 50 03       jnc     B4_6628
B4:6625 02 67 7D    ljmp    B4_677D
B4:6628             ; ---------------------------------------------------------------------------
B4:6628
B4:6628             B4_6628:                      ; CODE XREF: BankSw_210_B4_DD71-774Ej
B4:6628 90 FB 9D    mov     DPTR, #XRAM_FB9D
B4:662B E0          movx    A, @DPTR
B4:662C FC          mov     R4, A
B4:662D A3          inc     DPTR
B4:662E E0          movx    A, @DPTR
B4:662F FD          mov     R5, A
B4:6630 64 01       xrl     A, #1
B4:6632 4C          orl     A, R4
B4:6633 70 12       jnz     B4_6647
B4:6635 90 FB A1    mov     DPTR, #XRAM_FBA1
B4:6638 F0          movx    @DPTR, A
B4:6639 A3          inc     DPTR
B4:663A 74 B6       mov     A, #0xB6 ; 'Â'
B4:663C F0          movx    @DPTR, A
B4:663D E4          clr     A
B4:663E 90 FB 9F    mov     DPTR, #XRAM_FB9F
B4:6641 F0          movx    @DPTR, A
B4:6642 A3          inc     DPTR
B4:6643 F0          movx    @DPTR, A
B4:6644 02 67 01    ljmp    Dir_DispScrollBar
B4:6647             ; ---------------------------------------------------------------------------
B4:6647


A rotina do DVP-858 é um pouco mais longa, mas foi o início que me chamou a atenção. Parecia que a mesma rotina "órfã" do DVP5960 tinha sido emendada com a anterior, com o "ret" removido. Eu destaquei em vermelho.

Eu pensei: nãooooooooo... não pode ser tão fácil! Mas já que era simples, experimentei substituir o "22" por "00" para re-unir as duas rotinas e ver o que aconteceria.

Honestamente, eu não pensei mesmo que fosse tão fácil.

Philips DVP5960, firmware original modificado:

Note que por pouco a scrollbar não aparece na posição certinha :)

Philips DVP5100, firmware Jmaraujo 1.04b modificado:



um mísero byte!!!


A capacidade de ativar a scrollbar e desativar as setas idiotas dos firmwares Philips vai ser, claro, incorporada à versão do mtkModToolbox que estou preparando.

Para localizar o ponto de modificação no seu firmware, procure por:

CB EF CB CA EE CA 22

Funcionou com:

  • DVP5965
  • DVP5960
  • DVP5980
  • DVP5100

Não funcionou com:

  • PET 725 (acho que neste a rotina realmente não existe)
  • DVP3040 (acho que neste a rotina realmente não existe)
  • DVP5140
« Última modificação: Agosto 02, 2007, 09:50:44 pm 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 eneris

  • Novato Prolixo
  • **
  • Mensagens: 85
  • Aprovação: +2/-0
  • The Cranberries em Recife Outubro/2010 Eu Vou!
    • Ver Perfil
    • ENERIS Online :: No Need To Argue
Re: Firmware: log de descobertas
« Responder #133 Online: Agosto 02, 2007, 09:57:28 pm »
Ryan, estar faltando alguma coisa na explicação de como colocar o menu de seleção de legenda e cor no Proview, pois com a explicação da pagina 2, o DVD nem liga. O primeiro erro que encontrei comparando seu post e o seu segundo firmware experimental foi na parte abaixo.

No seu firmware experimental tem toda linha hexadecimal abaixo.

05 0D 05 0D 03 03 00 05 0E 05 0E 03 04 04 05 0F 05 0F 03 05 06 05 10 05 10 03 06 08 05 11 05 11 03 07 0A 05 12 05 12 03 08 0C 05 13 05 13 03 09 0E 05 14 05 14 03 0A 10 FF EC 00 FF EC 07 FF EC 0E FF EC 15 FF EC 1C FF EC 23 FF EC 2A FF EC 31 00 08 FF FF 05 0C 05 0C 00 06 00 00 00 07 00 00 FF EC 38 00 00 05 16 05 16 05 18 0F 05 17 05 17 05 19 02 FF EC 65 FF EC 6C 00 08 FF FF 05 15 05 15 00 71 00 00 00 01 00 0F FF EC 73 00 00 05 17 05 17 03 03 00 FF EC 8E 00 03 FF FF 01 A1 01 A1 00 15 00 00 00 00 00 00 FF EC 95 00 00 02 BF 02 BF 02 BF 00 02 C0 02 C0 02 C0 01 02 C1 02 C1 02 C1 02 02 C2 02 C2 02 C2 03 02 C3 02 C3 02 C3 04 02 C4 02 C4 02 C4 05 02 C5 02 C5 02 C5 06 FF EC AD FF EC B4 FF EC BB FF EC C2 FF EC C9 FF EC D0 FF EC D7 00 08 FF FF 01 EB 01 EB 00 16 00 3F 00 06 00 00 FF EC DE 00 00 01 78 01 78 04 F1 00 01 79 01 79 04 F2 01 FF ED 08 FF ED 0F 00 08 FF FF 00 D3 00 D3 00 14 00 00 00 01 00 00 FF ED 16 1F BA 01 2F 02 97 00 00 00 FF ED 31 00 08 FF FF 01 30 02 97 FF FF 00 00 00 00 00 00 FF ED 38 1F C0 FF EC 50 FF EC 79 FF EC 98 FF EC F3 FF ED 1C FF ED 3B 03 00 CF 00 00 06 FF ED 50 00 00 00 CF 00 00 06 FF ED 5A 00 00 17 05 19 02 FF ED 6D FF ED 74 00 08 FF FF 05 15 05 15 00 71 00 00 00 01 00 0F FF ED 7B 00 00 FF EC 50 FF EC 79 FF EC 98 FF EC F3 FF ED 58 FF ED 81 03 00 CF 00 00 06 FF ED 96 00 00

Ja no seu post mostrando como fazer, so tem a parte abaixo.

05 0D 05 0D 03 03 00 05 0E 05 0E 03 04 04 05 0F 05 0F 03 05 06 05 10 05 10 03 06 08 05 11 05 11 03 07 0A 05 12 05 12 03 08 0C 05 13 05 13 03 09 0E 05 14 05 14 03 0A 10 FF EC 00 FF EC 07 FF EC 0E FF EC 15 FF EC 1C FF EC 23 FF EC 2A FF EC 31 00 08 FF FF 05 0C 05 0C 00 06 00 00 00 07 00 00 FF EC 38 00 00 05 16 05 16 05 18 0F 05 17 05 17 05 19 02 FF EC 65 FF EC 6C 00 08 FF FF 05 15 05 15 00 71 00 00 00 01 00 0F FF EC 73 00 00 05 17 05 17 03 03 00 FF EC 8E 00 03 FF FF 01 A1 01 A1 00 15 00 00 00 00 00 00 FF EC 95 00 00 02 BF 02 BF 02 BF 00 02 C0 02 C0 02 C0 01 02 C1 02 C1 02 C1 02 02 C2 02 C2 02 C2 03 02 C3 02 C3 02 C3 04 02 C4 02 C4 02 C4 05 02 C5 02 C5 02 C5 06 FF EC AD FF EC B4 FF EC BB FF EC C2 FF EC C9 FF EC D0 FF EC D7 00 08 FF FF 01 EB 01 EB 00 16 00 3F 00 06 00 00 FF EC DE 00 00 01 78 01 78 04 F1 00 01 79 01 79 04 F2 01 FF ED 08 FF ED 0F 00 08 FF FF 00 D3 00 D3 00 14 00 00 00 01 00 00 FF ED 16 1F BA 01 2F 02 97 00 00 00 FF ED 31 00 08 FF FF 01 30 02 97 FF FF 00 00 00 00 00 00 FF ED 38 1F C0 FF EC 50 FF EC 79 FF EC 98 FF EC F3 FF ED 1C FF ED 3B 03 00 CF 00 00 06 FF ED 50 00 00

Os codigos estão diferentes.

The Cranberries - em Recife Outubro/2010
Estarei la colado! Ta perto.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #134 Online: Agosto 02, 2007, 10:07:00 pm »
Em quase 100% dos casos, quando o DVD nem liga é porque você fez alguma bobagem ao inserir os dados e em vez de sobreescrever exatamente, inseriu ou deletou algo.

Basta deletar (reduzindo o tamanho do firmware) um único byte do código 8032 por engano no bloco 2 para o DVD nem ligar. Eu sei, porque eu fiz isso umas cinco vezes num único dia  ;)

Já quanto à diferença, o meu firmware experimental é uma "gambiarra" e o código que está sobrando é o resto de um menu maior que eu testei antes e não apaguei. Se quiser conferir, simplesmente copie o código inteiro do meu firmware experimental, mas isso só vai ocupar espaço sem necessidade.

Depois eu vou testar minhas instruções para ver se há algum erro, mas de antemão eu acho que se o aparelho nem liga, não é por causa dos menus, mas de algum deslize no uso do editor hexadecimal.

Certifique-se de que ao dar o "paste" no editor hexadecimal você realmente está sobreescrevendo. O XVI32 insere por default.
« Última modificação: Agosto 02, 2007, 10:10:41 pm 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 jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Firmware: log de descobertas
« Responder #135 Online: Agosto 02, 2007, 10:09:38 pm »
Olá, Jefferson. Duas consultas:

Ainda continúo mexendo no filebrowser e hoje me deparei com um problema que não tinha percebido. O meu firmware está limitando o nome dos arquivos em 40 caracteres (sem importar o largo ou tamanho da fonte utilizada).

Como ja disse, anteriormente não tinha percebido esse comportamento porque o máximo do firmware era 42 (não fazía muita diferença). Agora que ampliei o número de caracteres para 50 o problema ficou evidente... ¿Voçê tem ideia de quál possa ser esse problema?

A minha outra dúvida é relativa a "selection bar": Agora que os arquivos ficam um pouco mais acima no filebrowser, estou tendo um comportamento estranho da "selection bar" do filebrowser:
  • 1) Quando o primer "lugar" do filebrowser é um diretório, a primeira linha não é visualizada (é visualizada mas logo apagada). O problema não acontece quando o primer lugar for um arquivo.
  • 2) O primeiro arquivo fica seleccionado em cor laranja, mas o segundo arquivo também fica laranja (como se estivese seleccionado). Esse comportamente somente ocorre quando o primer arquivo for seleccionado. Ao seleccionar o segundo, tercer e quarto arquivos o comportamento do filebrowser é normal (somente o arquivo seleccionado fica laranja, os restantes ficam com a cor normal).

Se precisar do meu firmware para dar uma olhada é so avisar.
Obrigado pela ajuda!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #136 Online: Agosto 02, 2007, 10:29:12 pm »
Como ja disse, anteriormente não tinha percebido esse comportamento porque o máximo do firmware era 42 (não fazía muita diferença). Agora que ampliei o número de caracteres para 50 o problema ficou evidente... ¿Voçê tem ideia de quál possa ser esse problema?

É só um palpite, mas eu me lembro de que você falou algo sobre o seu firmware e suporte a Unicode. Se o ARM do seu firmware está trabalhando com Unicode, o browser só vai receber metade dos caracteres que poderia, se estivesse usando uma codepage comum.

Experimente expandir o número máximo de caracteres para 100 no mtkModToolbox.

A minha outra dúvida é relativa a "selection bar": Agora que os arquivos ficam um pouco mais acima no filebrowser, estou tendo um comportamento estranho da "selection bar" do filebrowser:


Eu nunca tentei mover as linhas do browser, por isso no momento não saberia nem por onde começar. E estou ocupado com outro problema. Se eu pensar em algo, aviso.

E meus testes estão limitados, porque o meu único DVP5100 que está funcionando não lê nem CD-RW nem DVDs. Além disso, por algum estranho motivo não exibe mais pastas, não importa que firmware eu coloque nele. Todos os arquivos ficam misturados na raiz.
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 eneris

  • Novato Prolixo
  • **
  • Mensagens: 85
  • Aprovação: +2/-0
  • The Cranberries em Recife Outubro/2010 Eu Vou!
    • Ver Perfil
    • ENERIS Online :: No Need To Argue
Re: Firmware: log de descobertas
« Responder #137 Online: Agosto 02, 2007, 10:32:42 pm »
Agora foi, você tinha razão, o Xvi32 estava inserindo ao invés de sobrescrever, o cabecinha a minha  :dashhead1:

Valeu!

Ryan, a string hexa pode ser inserida apenas em 2EC00 se sim, qual a razão? Caso eu possa inserir onde eu quiser no banco 2 a string hexa, preciso fazer alguma alteração em outro lugar?

help :-[
« Última modificação: Agosto 02, 2007, 10:46:23 pm por eneris »
The Cranberries - em Recife Outubro/2010
Estarei la colado! Ta perto.

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Firmware: log de descobertas
« Responder #138 Online: Agosto 02, 2007, 10:44:01 pm »
Não tem problema. O límite dos 40 caracteres não acho que seja o problema do Unicode. Hoje, olhando o seu review do firmware jmaraujo 1.04b, percebí que os arquivos naquele firmware também tinham 40 caracteres.

O problema 1 acho que é alguma rotina de limpeza... (ligada a exhibição de diretorios?) O 2 problema pode ser um problema de coordenadas... Em realidade, não tenho idéia. Nunca tinha olhado na parte do "selection bar" do DVP5100.

E meus testes estão limitados, porque o meu único DVP5100 que está funcionando não lê nem CD-RW nem DVDs. Além disso, por algum estranho motivo não exibe mais pastas, não importa que firmware eu coloque nele. Todos os arquivos ficam misturados na raiz.

¿Tem certeza que não é na configuração, na opção "Nav mp3/jpeg"? (PÁG. PREFERÊNCIAS -> Nav MP3/JPEG).

Citar
Sem menu: Selecione esta função para exibir todos os arquivos contidos no CD.
Com menu: Selecione esta função para exibir somente o menu de pastas do CD.
« Última modificação: Agosto 02, 2007, 10:46:49 pm por jmaraujo »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #139 Online: Agosto 02, 2007, 10:50:35 pm »
¿Tem certeza que não é na configuração, na opção "Nav mp3/jpeg"? (PÁG. PREFERÊNCIAS -> Nav MP3/JPEG).

ERA!

 :dashhead1:
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?!

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #139 Online: Agosto 02, 2007, 10:50:35 pm »