Autor Tópico: Nomes Longos a Partir da USB (Philips DVP5965K/55)  (Lida 14591 vezes)

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

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Online: Janeiro 31, 2008, 08:17:34 pm »
Ryan,

A casa é sua, veja se está de acordo.

Pessoal,

Prentendo ou compartilhar com vocês meus experimentos até resolver esta questão, de preferência com a ajuda da comunidade.

Estando o quebra-cabeças resolvido, fixo o post com todo o "how to" revisado para quem interessar possa.

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-

Pesquisei um bocado na Internet um firmare que tivesse todos os mesmos endereçamentos do RISC dos os firmwares do DVP-5965K/55. Qual o único que tive 100% que isso ocorre? No Proview DVP-858 versão 20.06 Original ). As versões mais novas que verifiquei (20.07 Original e 3.0 Eneris) possuem outro endereçamento. O software que informa os endereços é o ArmAddressInfo (é só extrair o bloco ARM Codes no MTKRemaker do firmware desejado).

Essa checagem é importante para reduzir drasticamente o risco de matar o aparelho.

Daí fiz o tal "copy and paste", que enxertou o bloco RISC inteiro do DVP-858 no firmware do DVP-5965K/55. Para isso usei o MKTRemaker e MKTReplacer.

Explicando um pouco melhor, "enxertei" no firmware NKVT Beta5 do Philips DVP-5965K/55 o todo o bloco RISC do firmware Original 20.06 do Proview DVP-858.

Num ato de coragem (pois não tenho o cabo serial) atualizei o firmware, e incrivelmente isso não matou o meu aparelho, só ficou meio esquisito.

Neste "Frankestein", o Philips DVP5965K/55 passou a mostrar nomes longos a partir da USB (fantaaaástico), mas com uma série de BUGs (o som ficava pulando - só testei um avi com legendas - e as janelas ficaram fora do lugar... Legendas, mensagens). Não fossem estes bugs, até postaria para vocês, mas realmente não vale a pena.

Bom, acho que só serviu para me motivar mais.

O teste pra valer, reescrevendo o código ARM do RISC do próprio 5965K/55, se aproxima. Estou mapeando funções ARM no RISC do aparelho e lendo vários artigos em inglês, português e espanhol. O New Age e o JMAraujo já me deram umas dicas.

Tenham apenas um pouco de paciência.

Saudações!

doctorxyz

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #1 Online: Fevereiro 05, 2008, 05:53:59 pm »
Pessoal,

Estou em busca de um firmware para enxertar no meu aparelho.
Gostaria de sugestões. Até agora o mais adequado ao meu ver é o do Proview DVP-858 20.07, pois é o aparelho que o pessoal mais trabalhou nele e que se parece em termos de funcionalidades com o 5965K/55. A versão do RISC é igual, também lê USB, etc.

Vejam a tabela anexa que fiz (deu um trabalhão para fazer) e concordem ou discordem.

Outras coisas que preciso saber:
- O MTKARMReziser funciona com firmwares de 3 blocos ARM? É que tem um post (não lembro de quem) no log de descobertas que diz que não funciona.
- Qual o limite do tamanho do fw inteiro?
- Quais seções de erros C que posso sobrescrever?

FORUM.RYAN.COM.BR

Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #1 Online: Fevereiro 05, 2008, 05:53:59 pm »

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #2 Online: Fevereiro 05, 2008, 07:52:54 pm »
O DVP5160 tem suporte nativo a nomes longos...

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #3 Online: Fevereiro 05, 2008, 11:43:22 pm »
Outras coisas que preciso saber:
- O MTKARMReziser funciona com firmwares de 3 blocos ARM? É que tem um post (não lembro de quem) no log de descobertas que diz que não funciona.
- Qual o limite do tamanho do fw inteiro?
- Quais seções de erros C que posso sobrescrever?

O mestre New Age publicou recentemente uma descoberta que pelo que entendi torna obsoleta a necessidade do ArmResizer ou de sobreescrever seções do ARM.

Eu entendo quase zero do assembly usado no ARM, por isso só posso dar palpites.

http://tech.groups.yahoo.com/group/mt13x9/message/9423
http://tech.groups.yahoo.com/group/mt13x9/message/9422

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 doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #4 Online: Fevereiro 06, 2008, 03:22:08 pm »
Vou checar... Obrigado!

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #5 Online: Fevereiro 08, 2008, 06:10:29 pm »
Não quero desestimular o seu interesse em solucionar este assunto... Mas acho que dar suporte a nomes longos não é tão fácil como simplemente importar um RISC novo.

UPDATE: Esqueça o que eu disse... Era somente uma suposição minha. Mas já vi que você já consegui ter suporte a nomes longos somente trocando o RISC: "Neste "Frankestein", o Philips DVP5965K/55 passou a mostrar nomes longos a partir da USB (fantaaaástico), mas com uma série de BUGs (o som ficava pulando - só testei um avi com legendas - e as janelas ficaram fora do lugar... Legendas, mensagens). Não fossem estes bugs, até postaria para vocês, mas realmente não vale a pena."

O mestre New Age publicou recentemente uma descoberta que pelo que entendi torna obsoleta a necessidade do ArmResizer ou de sobreescrever seções do ARM.

O resize ainda é preciso. Ele escreveu um aplicativo que faz com que os patches possam ser escritos directamente em C language, em lugar de escrever o patch em Arm Assembly language.
« Última modificação: Fevereiro 08, 2008, 06:23:23 pm por jmaraujo »

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #6 Online: Fevereiro 08, 2008, 09:41:22 pm »
já vi que você já consegui ter suporte a nomes longos somente trocando o RISC: "Neste "Frankestein", o Philips DVP5965K/55 passou a mostrar nomes longos a partir da USB (fantaaaástico), mas com uma série de BUGs (o som ficava pulando - só testei um avi com legendas - e as janelas ficaram fora do lugar... Legendas, mensagens). Não fossem estes bugs, até postaria para vocês, mas realmente não vale a pena."[/color]

O mestre New Age publicou recentemente uma descoberta que pelo que entendi torna obsoleta a necessidade do ArmResizer ou de sobreescrever seções do ARM.

O resize ainda é preciso. Ele escreveu um aplicativo que faz com que os patches possam ser escritos directamente em C language, em lugar de escrever o patch em Arm Assembly language.

É, assim como também constatou no HTForum (http://www.htforum.com/vb/showpost.php?p=972652&postcount=270) que eu me ferrei tentando fazer e testar outro Frankestein2, só que baseado no aparelho húngaro Ferguson D770HX versão A7.  :dashhead1:
Agora sei que só comparar a versão do RISC e do endereçamento não basta, tem que confirmar o hardware. :-[

Assim sendo, teria duas opções:
Opção 1
Enxertar o RISC do firmware Proview DVP-858 v3.0 (Eneris). Estou inferindo que dará certo, já que o RISC do firmware Proview DVP-858 20.06 (Proview) funcionou (endereçamento igual ao 5965K/55).
Sabendo que o RISC do firmware Proview DVP-858 v3.0 (Eneris) possui endereçamento diferente do 5965K/55, além enxertar preciso alterar no 8032 todas as referências à memória DRAM do ARM, diminuindo o offset em 0x1000. Antes, preciso me certificar, conforme li no artigo "ARM Replacement - beta v1.0 (by Casimir666)" do grupo MT13X9 do Yahoo de que encontrei TODAS as rotinas 8032 que referenciam a memória DRAM do ARM. Não estou seguro que o IDA Pro tenha encontrado todas as rotinas automaticamente via script "MT1389_ARM.idc" e o signature file "mtkarm.sig". Ainda não sei como verificar isto. Quando descobrir um jeito fácil de localizar TODAS as rotinas, poderei aplicar este patch de nomes longos na USB com segurança.
Vou seguir o seu conselho do HTForum "Aconselho que leia os tópicos do DVP5960 e DVP5160 no fórum DivXperts da Softpedia" (http://www.htforum.com/vb/showpost.php?p=972652&postcount=270)
Esta opção que eu devo continuar tentando (pedindo para voluntários com cabo de recuperação testarem) ;D

Opção 2
- Fazer o resize (via MtkArmResizer), escolhendo/arriscando ??? a opção analyse mais adequada (em princípio a 4)
- Aprender o básico das ferramentas de compilação RealView e aquelas que o NA desenvolveu
(http://tech.groups.yahoo.com/group/mt13x9/message/9419?threaded=1&p=23)
(http://tech.groups.yahoo.com/group/mt13x9/message/9421?threaded=1&p=25)
- Escrever e aplicar o patch de nomes longos na linguagem C (mas alguém já postou isso nesta linguagem???onde???) usando as ferramentas acima.

Como pode-se notar, o caminho da opção 2 envolve esforço adicional (apesar de ser interessante do ponto de vista de salto de conhecimento no assunto).
De minha partte confesso que só vou encarar se não tiver jeito. A vontade de aprender é grande, mas infelizmente meu tempo para este hobby - que por sinal estou adorando - é escasso. :(

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #7 Online: Fevereiro 08, 2008, 10:30:06 pm »
Olá,

Sabendo que o RISC do firmware Proview DVP-858 v3.0 (Eneris) possui endereçamento diferente do 5965K/55, além enxertar preciso alterar no 8032 todas as referências à memória DRAM do ARM, diminuindo o offset em 0x1000. Antes, preciso me certificar, conforme li no artigo "ARM Replacement - beta v1.0 (by Casimir666)" do grupo MT13X9 do Yahoo de que encontrei TODAS as rotinas 8032 que referenciam a memória DRAM do ARM.

1) Você não precisa mudar nada no 8032, e nem do documento do Casimir, se os RISC forem compatíveis (Certifíque-se com o ArmAddressInfo). Acredite em mim. Eu já tenho testado tudo quanto é RISC. Somente é preciso adaptar o 8032, quando por exemplo, for trocar o seu RISC de ShMem "X" por um outro qualquer de ShMem "Y". Em esse caso você tem que adaptar Address1, Address2, Address3, SharedMemory e CDTextBuffer. O hardware do equipo também é importante para verificar a compatibilidade.

2) Ese arquivo "ARM Replacement" do Casimir, por ser muito velho (de 2005), contém erros que causam todo tipo de problemas (CDs que deixam de ler, fundo que não carrega, problemas de audio). Recomendo que faça uma busca por "risc replacement" no grupo MT13x9.

Se quiser fazer ese tipo de mudança, não use muito o documento do Casimir como referencia. Você pode comparar os firmwares B7 e B8 do Ferguson D780. São exatamente iguais. A única diferença foi que em um deles o NewAge usou um RISC diferente e fez um patch (não sei o que faz o patch, mas é para o RISC). Você tem que mudar os bytes diferentes e copiar o patch que o NewAge adicionou.

Ou você pode comparar os blocos 8032 compilados que estou anexando. A única diferença neles são os bytes de diferença entre os endereços (não é preciso fazer o patch adicional que o NA fez no Ferguson).

3) Foi um "suicidio mortal" (claro que se é suicidio é mortal  :P) ter feito ese tipo de experimento sem um cabo para backup. Recomendo que (para uso futuro) faça um cabo caseiro seguindo o esquema chamado "Tiny 3 wire". É melhor do que estar comprando cabos de celular que a gente nunca sabe bem se servem ou não. (Eu dei sorte: comprei um cabo USB para Siemens C55 e funcionou e nunca deu problemas de conexão ou velocidade de transferencia)

Não estou seguro que o IDA Pro tenha encontrado todas as rotinas automaticamente via script "MT1389_ARM.idc" e o signature file "mtkarm.sig". Ainda não sei como verificar isto. Quando descobrir um jeito fácil de localizar TODAS as rotinas, poderei aplicar este patch de nomes longos na USB com segurança.

É que o IDA não vai fazer isso por você. No 8032 ele também não faz isso, mas fica um pouco mais fácil porque os scripts ajudam localizando varias funções. O resto fica por sua conta...

Mas no Arm é bem pior. O script é somente para preparar o disassembly. Você tem que encontrar as funções por sua conta, sem ajuda de scripts. (Somente tem-se a ajuda de algums documentos. Mas nem todos os ArmCodes são que nem nos documentos. E quanto mais velho for o documento pior)

Opção 2
- Fazer o resize (via MtkArmResizer), escolhendo/arriscando ??? a opção analyse mais adequada (em princípio a 4)
- Aprender o básico das ferramentas de compilação RealView e aquelas que o NA desenvolveu
- Escrever e aplicar o patch de nomes longos na linguagem C (mas alguém já postou isso nesta linguagem???onde???) usando as ferramentas acima.

Acho que a opção 2 é mais difícil, mesmo porque (que eu saiba) não existe nenhúm patch em C para LFN. Você tem que fazer um, ou pedir a alguem para que o faça... O outro problema e "descifrar" como é que funciona o novo aplicativo do NewAge....

 :P

Desculpe pelo post longo... Mais uma vez, boa sorte com o conserto do seu player.

Um abraço,
Juan M.
« Última modificação: Fevereiro 08, 2008, 10:34:10 pm por jmaraujo »

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #8 Online: Fevereiro 09, 2008, 12:48:41 am »
Desculpe pelo post longo... Mais uma vez, boa sorte com o conserto do seu player.

Vou examinar as suas dicas.

Em tempo:Quem deve um pedido de desculpas sou eu.

O mínimo que devo fazer é agradecer sua presteza  :clapping:

Um abraço,

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #9 Online: Fevereiro 13, 2008, 07:59:46 pm »
NOVIDADES MEU POVO!!! :yahoo!:

Para a missão nomes longos a partir da USB estar concluída, só falta achar a(s) referências ao endereçamento "*ADDRESS_3" (apontado pelo  ArmAddressInfo) no 8032 do Philips DVP5965K/55. :dashhead1: Alguém me confirma se este endereço é relamente necessário? Se sim, me ajudaria a encontrá-lo?

Por quê? Quero implementar USB LFN (nomes longos a partir da USB) do jeito "menos" difícil: :-[ Através de um RISC Replacement (substituição do RISC) do Philips DVP5965K/55 por outro que tenha esta funcionalidade!!! :P

Os RISCs do Philips DVP5965K/55 e do Proview DVP858(versão 20.06 original da Proview) são plenamente compatíveis ;D, pois já testei e também agora sei devemos atender as seguintes...

Premissas dos aparelhos :rtfm:


1. Possuem a mesma versão RISC
2. Usam o mesmo endereçamento RISC para ShMem, Address1, Address2, Address3, SharedMemory e CDTextBuffer
3. Tem hardware compatível

Como descobri isso? :rtfm:

Chequei as premissas 1 e 2 com o utilitário ArmAddressInfo (v0.9.9 by New Age), e a premissa 3 atualizando o firmware na marra* :-[, enxertando com sucesso o RISC do Proview DVP858(versão 20.06 original da Proview) no Philips DVP5965K/55. Só tive tempo de fazer um teste rapido lendo um arquivo AVI com legendas a partir da USB. O aparelho passou a apresentar nomes longos a partir da USB, e a leitura de DVD continuou funcionando (o que me permitiu voltar a versão anterior de firmware). Notei que as mensagens na tela ficaram disposicionadas e houveram problemas de som.

Porém, como é sabido historicamente por muitos deste forum e do clube Proview DVP858 do HT Forum, esta v20.06 era cheia de problemas :(, tanto que a Proview lançou um pouco depois a v20.07 (com endereçamento RISC diferente da v20.06) e a comunidade atuou cuminando na versão v3.0 do Eneris (usando como base a v20.07). ;D

Portanto, para termos no Philips DVP5965K/55 arquivos com nomes longos a partir da USB, temos alguns...

Candidatos :rtfm:

a) RISC do Proview DVP858(versão 3.0 do Eneris, disponível em www.eneris.k6.com.br) - Este firmware que acabei de comentar ;D

   Proview DVP-858 v3.0 (Eneris)
   
   DVP858_ENERIS_v3.0 (ARM Code 1).bin
   
   Version: 05.00.06.05
   
    ADDRESS_1            = 0x0376B400
   **ADDRESS_2           = 0x0376B800
   **ADDRESS_2           = 0x0376B700
    SHARED MEMORY        = 0x0376BC00
   *CDTEXT BUFFER        = 0x0376DC00
   *ADDRESS_3            = 0x0376F000
   
   Addresses marked by * are calculated values!
   Addresses marked by ** are calculated values too but in new firmwares they have the 2nd value!
   
   Additional info (could be wrong):
      DTS CD          : YES
      SACD            : NO
      DVD-Audio       : YES
      OGG, OGM        : NO
      Nero Digital    : YES
      DivX MF Menu    : NO
      USB Support     : YES
      WMV9            : NO
      WMV9 VC-1       : NO
      DTS Passthrough : NO INFO
      DRAM Size       : 8 MB

b) RISC do Philips DVP5980/12 (versão 2.0 do Tech25, publicado no fórum Softpedia em 16.11.2007) ;D

   Philips DVP5980_12_tech25_v2 16.11.2007
   
   DVP5980_12_TECH25 (ARM Codes).bin
   
   Version: 05.00.06.05
   
    ADDRESS_1            = 0x03769400
   **ADDRESS_2           = 0x03769800
   **ADDRESS_2           = 0x03769700
    SHARED MEMORY        = 0x03769C00
   *CDTEXT BUFFER        = 0x0376BC00
   *ADDRESS_3            = 0x0376D000
   
   Addresses marked by * are calculated values!
   Addresses marked by ** are calculated values too but in new firmwares they have the 2nd value!
   
   Additional info (could be wrong):
      DTS CD          : YES
      SACD            : NO
      DVD-Audio       : NO
      OGG, OGM        : NO
      Nero Digital    : YES
      DivX MF Menu    : YES
      USB Support     : YES
      WMV9            : NO
      WMV9 VC-1       : NO
      DTS Passthrough : YES
      DRAM Size       : 8 MB
   
c) RISC do Ferguson D770HX versão A7 (empresa húngara onde o New Age trabalha) :( :-[ :dashhead1:

   Ferguson D770HX vA7

   D770HX_A7 (ARM Code 1).bin
   
   Version: 05.00.06.05
   
    ADDRESS_1            = 0x0376C400
   **ADDRESS_2           = 0x0376C800
   **ADDRESS_2           = 0x0376C700
    SHARED MEMORY        = 0x0376CC00
   *CDTEXT BUFFER        = 0x0376EC00
   *ADDRESS_3            = 0x03770000
      
   Addresses marked by * are calculated values!
   Addresses marked by ** are calculated values too but in new firmwares they have the 2nd value!
   
   Additional info (could be wrong):
      DTS CD          : YES
      SACD            : NO
      DVD-Audio       : NO
      OGG, OGM        : NO
      Nero Digital    : NO
      DivX MF Menu    : NO
      USB Support     : YES
      WMV9            : NO
      WMV9 VC-1       : NO
      DTS Passthrough : NO INFO
      DRAM Size       : 8 MB

Sobre O RISC do Philips DVP5965K/55 :rtfm:

   Philips DVP5965K v2.2b by naasom -v.Packet Bitstream (18.12.2007)
   
   ARMCodes.bin
   
   Version: 05.00.06.05
   
    ADDRESS_1            = 0x0376C400
   **ADDRESS_2           = 0x0376C800
   **ADDRESS_2           = 0x0376C700
    SHARED MEMORY        = 0x0376CC00
   *CDTEXT BUFFER        = 0x0376EC00
   *ADDRESS_3            = 0x03770000
   
   Addresses marked by * are calculated values!
   Addresses marked by ** are calculated values too but in new firmwares they have the 2nd value!
   
   Additional info (could be wrong):
      DTS CD          : YES
      SACD            : NO
      DVD-Audio       : NO
      OGG, OGM        : NO
      Nero Digital    : NO
      DivX MF Menu    : YES
      USB Support     : YES
      WMV9            : NO
      WMV9 VC-1       : NO
      DTS Passthrough : YES
      DRAM Size       : 8 MB

Sobre os candidatos :rtfm:

"a" -> Atende as premissas 1 e 3, devido ao teste que já fiz - enxertando com sucesso o RISC do Proview DVP858(versão 20.06 original da Proview) no Philips DVP5965K/55. Basta ajustar os endereços para atender a premissa 2.

"b" -> Atende a premissa 1. Basta ajustar os endereços para a atender a premissa 2. Um pouco da historia dele: O Ryan atualizou o Philips DVP5960/?? (não sei se é que vem depois da barra) dele com o firmware inteiro do beta do Philips DVP5980/12 (usando o RISC do Philips DVP5160/12) lançado pelo Tech25 um pouco antes da versão final (candidado "b" acima). Este beta tinha teoricamente word wrap + USB LFN (=nomes longos a partir da USB). Pois bem, a atualização funcionou, i.e., não travou o Philips DVP5960/??!!! Ele ainda constatou que apesar do word wrap não funcionar, o browser USB passou a mostrar 23 caracteres e o player ficou compatível com DVD-Rs multi-sessão. Infiro que a premissa 3 seja atendida também, pois consultei o site da Philips, e puxei as características técnica tanto do Philips DVP5960/?? como do Philips DVP5965K/55; são praticamente o mesmo modelo, com pequenas diferenças (acho que é só a questão do Karaokê)!

"c"-> Vetado! "Matou" o meu Philips DVP5965K/55 após o enxerto... :dashhead1: Fica parado na tela inicial, e nem mostra "Carregando" ou faz o barulho relacionado de carregamento de DVDs. Por que "matou"? Porque ele atendia apenas as premissas 1 e 2, mas não a premissa 3!

Bom, voltando à "vaca-fria"... :P
Eu poderia enxertar estes RISCs (candidatos "a" e "b") no firmware Beta 5 do NKVT (do HT Forum). Isso deve resultar em firmwares sem HDMI mas que com nomes longos a partir da USB. Daí elegemos o melhor. ;)

Onde e como alterar o 8032 para atender a premissa 2 :rtfm:

Para descobrir (parte das) rotinas relacionadas à alteração:
- Abri o bloco 8032 (extraído do firmware via MtkReMaker) no IDA Pro;
- Apliquei em seguida os scripts MT1389_8032_FULL.idc e MT1389_ARM.idc, que localizaram Arm_Unk1 em B0:C3B3, e Arm_Unk2 em B0:C46D;
- Localizei ARM_GetChar em B0:E8BB, procurando a sequência de bytes "D3 10 AF 01 C3 C0 D0 8E ? 8F ? 7F 60 7E 00";
- Localizei ARM_PutChar em B0:EBEF, procurando a sequência de bytes "D3 10 AF 01 C3 C0 D0 8E ? 8F ? 8D 5C 7F 60".

De/Para da substituição no bloco 8032, em função do RISC candidato :rtfm:


End. Relacionado            Rotina relacionada   Bloco e End.   De   P/"a"   P/"b"
----------------            ------------------   -----------    --   -----   ------
ADDRESS_1 -> 0x0376C400     Arm_Unk1             B0:C3C0        C4    B4      94
ADDRESS_1 -> 0x0376C400     ?                    B0:E168        C4    B4      94
ADDRESS_1 -> 0x0376C400     ?                    B0:E776        C4    B4      94
**ADDRESS_2 -> 0x0376C700   Arm_Unk2             B0:C47A        C7    B7      97
**ADDRESS_2 -> 0x0376C700   ?                    B0:E7CB        C7    B7      97
SHARED MEMORY               Arm_GetChar          B0:E8DD        CC    BC      9C
SHARED MEMORY               Arm_PutChar          B0:EC13        CC    BC      9C
*CDTEXT BUFFER              Arm_CDTEXT           B0:D1BF        EC    DC      BC
**ADDRESS_3 -> 0x03770000   ?                    ?              77    76      76
**ADDRESS_3 -> 0x03770000   ?                    ?              00    F0      D0


Nota:
- O **ADDRESS_2 encontrado foi o segundo (já que o firmware é "novo" tomando como referência o informado pelo ArmAddressInfo) :rtfm:
- Faltou(será que falta?  :-[ :dashhead1:) localizar o **ADDRESS_3

Ao que interessa...


Preciso de voluntários  :angel: :angel: :angel: para...

I. Achar o endereçamento "*ADDRESS_3" (apontado pelo  ArmAddressInfo) no 8032 do Philips DVP5965K/55. Alguém me confirma se este endereço é relamente necessário? Se sim, me ajudaria a encontrá-lo?
II. Item I endereçado, preciso de alguém para testar (com cabo de recuperação claro!). Posso postar os "Frankesteins", i.e., os firmwares com os enxertos aqui.

Saudações!!!

doctorxyz

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #10 Online: Fevereiro 13, 2008, 08:23:47 pm »
Para mudar Address3 acho que é preciso ajustar os endereços em INI_ARM, e INI_MoveArmCode.

Não sei se no seu firmware é distinto, mas até onde eu sei ArmUnk1 e ArmUnk2 não corresponden com Address1 e Address 2...

Posso estar enganado, mas acho que é assim:

ArmUnk1 -> CD_Text
ArmUnk2 -> Address 2
ArmUnk3 -> Address 1
ArmUnk5 -> Address 1
ArmUnk6 -> Address 2
INI_ARM -> Address 3
INI_MoveArmCode -> Address 3

São dois rotinas para cada endereço (exceto CD_Text).

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #11 Online: Fevereiro 15, 2008, 10:44:49 pm »
Para mudar Address3 acho que é preciso ajustar os endereços em INI_ARM, e INI_MoveArmCode.
O jeito implícito típico do Assembly, complicou um pouco as coisas para mim...  :dashhead1: Mas já tinha consciência que isso não é fácil mesmo, tem que por a cabeça para funcionar... :-[

Todo caso, sua sugestão foi super útil e foi a partir dela que resolvi a Primeira parte da charada do Address3. :clapping:

Recomendo que faça uma busca por "risc replacement" no grupo MT13x9.
Achei, obrigado (encontrei fórum do hej456)!

Link normal
http://www.hej456.com/forum/viewtopic.php?t=222&sid=0f9ee97d23d5a436d89d70f4b7b39de4
Link - Versão para impressão:
http://www.hej456.com/forum/viewtopic_print.php?t=222&start=0&sid=8472513b8e6dc07dd05c29682a594291

A segunda parte da charada deve ser resolvida a partir deste mesmo link acima (acho que foi daqui que saiu sua recomendação)...
Você pode comparar os firmwares B7 e B8 do Ferguson D780. São exatamente iguais. A única diferença foi que em um deles o NewAge usou um RISC diferente e fez um patch (não sei o que faz o patch, mas é para o RISC). Você tem que mudar os bytes diferentes e copiar o patch que o NewAge adicionou.
Vou analisar isso na semana que vem... A parte boa  :) - ou ruim  :( - é que isso deve ser a última coisa que preciso descobrir para aplicar o RISC Replacement!!! :yahoo!:

Primeira parte da charada - Resolvido

Segue desabafo e a solução:

Se a rotina INI_MoveArmCode estivesse escrita assim...

B0:768F 75 43 00              mov   RAM_43, #0              ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7692 75 42 00              mov   RAM_42, #0              ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7695 75 41 00              mov   RAM_41, #0x77 ;  'w'    ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7698 75 40 00              mov   RAM_40, #0              ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:769B 7E 00                 mov   R6, #0                  ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:769C 12 F3 20              lcall B0_F320                 ; RISC Replacement -> ADDRESS_3 -> 0x03770000


... em vez de...

B0:768F E4                    clr   A                       ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7690 F5 43                 mov   RAM_43, A               ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7692 F5 42                 mov   RAM_42, A               ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7694 75 41 77              mov   RAM_41, #0x77 ; 'w'     ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7697 F5 40                 mov   RAM_40, A               ; RISC Replacement -> ADDRESS_3 -> 0x03770000
B0:7699 7F 60                 mov   R7, #0x60 ; '`'
B0:769B FE                    mov   R6, A
B0:769C 12 F3 20              lcall B0_F320


... teria resolvido isso bem antes! :dashhead1: :dashhead1: :dashhead1:

Só após ler este post de alguém com o problema parecido com o meu (no fórum hej456), que cheguei nesta conclusão.

Então, se usar o candidato "a", tenho que alterar os opcodes de INI_MoveArmCode para

B0:768F 75 43 00              mov   RAM_43, #0
B0:7692 75 42 00              mov   RAM_42, #0xF0
B0:7695 75 41 00              mov   RAM_41, #0x76
B0:7698 75 40 00              mov   RAM_40, #0
B0:769B 7E 00                 mov   R6, #0


Se usar o candidato "b", tenho que alterar os opcodes de INI_MoveArmCode para

B0:768F 75 43 00              mov   RAM_43, #0
B0:7692 75 42 00              mov   RAM_42, #0xD0
B0:7695 75 41 00              mov   RAM_41, #0x76
B0:7698 75 40 00              mov   RAM_40, #0
B0:769B 7E 00                 mov   R6, #0


 :rtfm: Note que tenho que alterar TODOS estes bytes, devido a forma implícia com que estava escrito antes (zerava o acumulador e atrbuía o mesmo zero para RAM_43, RAM_42, RAM_40 e até para R6)!

Não sei se no seu firmware é distinto
Para o meu azar, é distinto :( Constatei que o script "MT1389_Misc.idc" encontra automaticamente as seguintes rotinas por aparelho:
- Philips DVP5100 -> ARM_GetChar, ARM_PutChar, ARM_Unk1, ARM_Unk2, ARM_Unk3, ARM_Unk5, ARM_Unk6 e ARM_CDTEXT
- Philips DVP5965K/55 -> ARM_Unk1, ARM_Unk2 e ARM_CDTEXT.
Para encontrar no Philips DVP5965K/55 as rotinas ARM_GetChar e ARM_PutChar só alterando um pouco a string de pesquisa informada pelo Ryan/você no log de Descobertas;
já ARM_Unk3, ARM_Unk5 e ARM_Unk6 não encontrei. Mas ao que tudo indica, as rotinas B0:E168, B0:E776 e B0:E7CB sejam algo parecido com elas.

.
, mas até onde eu sei ArmUnk1 e ArmUnk2 não corresponden com Address1 e Address 2...
A relação entre estes rotinas ARM "desconhecidas" (Arm_Unk...) e o número do endereçamento (Adress...) só será igual em firmware que correspondam a todos
os padrões de busca relacionados no "MT1389_Misc.idc"; este procura e quando os encontra rotula rotinas e insere comentários nas mesmas.
Estes comentários dão a entender que uma Rotina ARM_UnkX deveria endereçar o AddressY, mas como foram lançados firmwares depois deste script,
então o mesmo pode estar desatualizado (o "MT1389_Misc.idc" que possuo é datado de 28.10.2006). É a melhor conclusão que cheguei. :-[

.
Posso estar enganado, mas acho que é assim:
ArmUnk1 -> CD_Text
ArmUnk2 -> Address 2
ArmUnk3 -> Address 1
ArmUnk5 -> Address 1
ArmUnk6 -> Address 2
INI_ARM -> Address 3
INI_MoveArmCode -> Address 3

São dois rotinas para cada endereço (exceto CD_Text).
A conclusão que cheguei :P, é que no Philips DVP5965K/55 a correspondência é:
ArmUnk1 -> Address 1
B0:E168 -> Address 1
B0:E776 -> Address 1
ArmUnk2 -> Address 2
B0:E7CB -> Address 2
Arm_GetChar -> Shared Memory
Arm_PutChar -> Shared Memory
Arm_CDTEXT -> CD_Text
INI_ARM -> Address 3 (Segunda parte da charada - TRABALHO EM ANDAMENTO!)
INI_MoveArmCode -> Address 3 (Primeira parte da charada - Resolvido!)

Relação Atualizada de Endereços, Rotinas, Bloco e End.8032 com de/para, Seqüência de busca de bytes e tudo mais...

    ADDRESS_1            = 0x0376C400
   **ADDRESS_2           = 0x0376C800
   **ADDRESS_2           = 0x0376C700
    SHARED MEMORY        = 0x0376CC00
   *CDTEXT BUFFER        = 0x0376EC00
   *ADDRESS_3            = 0x03770000

ArmAddressInfo                Rotina relacionada           Bloco e End.   De   P/"a"   P/"b"   Seqüência de busca de bytes
--------------                ------------------           ------------   --   -----   -----   ---------------------------
ADDRESS_1 -> 0x0376C400       Arm_Unk1                     B0:C3C0        C4    B4      94     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
ADDRESS_1 -> 0x0376C400       Script IDA não atribui nome  B0:E168        C4    B4      94     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
ADDRESS_1 -> 0x0376C400       Script IDA não atribui nome  B0:E776        C4    B4      94     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
**ADDRESS_2 -> 0x0376C700     Arm_Unk2                     B0:C47A        C7    B7      97     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
**ADDRESS_2 -> 0x0376C700     Script IDA não atribui nome  B0:E7CB        C7    B7      97     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
SHARED MEMORY -> 0x0376CC00   Arm_GetChar                  B0:E8DD        CC    BC      9C     "E5 ? 24 ? FD 7F ? 7E"
SHARED MEMORY -> 0x0376CC00   Arm_PutChar                  B0:EC13        CC    BC      9C     "E5 ? 24 ? FD 7F ? 7E"
*CDTEXT BUFFER -> 0x0376EC00  Arm_CDTEXT                   B0:D1BF        EC    DC      BC     "F5 ? EE 34 ? F5 ? E4 34 ? F5 ? E4 33 F5"
**ADDRESS_3 -> 0x03770000     INI_MoveArmCode              Vide "Primeira parte da charada"    "E4 F5 ? F5 ? 75 ? ? F5 ? 7F 60 FE 12 F3 20"
**ADDRESS_3 -> 0x03770000     INI_ARM (A CONFIRMAR)        TRABALHO EM ANDAMENTO - TRABALHO EM ANDAMENTO - TRABALHO EM ANDAMENTO



Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #12 Online: Março 02, 2008, 05:46:31 am »
Apenas para conhecimento daqueles que acompanham: Não desisti.
É só o tempo para concluir a missão que anda escasso...

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Procura-se: Alguém com DVP5965K/55 e com cabo de recuperação
« Responder #13 Online: Março 21, 2008, 11:04:16 pm »
Tem alguém com cabo de recuperação disposto a testar o RISC Replacement que pretendo fazer para solucionar esta questão de nomes longos a partir da USB?

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Procura-se: Alguém com DVP5965K/55 e com cabo de recuperação
« Responder #14 Online: Abril 07, 2008, 09:59:10 pm »
Tem alguém com cabo de recuperação disposto a testar o RISC Replacement que pretendo fazer para solucionar esta questão de nomes longos a partir da USB?

Dado o silêncio mortal... Desisto.

Sem ESTE apoio que pedi, não há como continuar.

Offline rafalibrenz

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 356
  • Aprovação: +28/-0
    • Ver Perfil
    • Blog
Re: Procura-se: Alguém com DVP5965K/55 e com cabo de recuperação
« Responder #15 Online: Abril 09, 2008, 04:55:33 am »
Desisto.

Que pena!

Infelizmente eu não posso ajudar.

Apesar de ter o cabo, não tenho um DVP5965.

Nem mesmo um "teste gambiarra" eu poderia fazer, como o Jefferson fez usando o firmware do 5980 no 5960, pois uma vez coloquei o RISC do 5965 no meu 5980 e ele morreu. Acho que os RISCs devem ter uma diferença mortal pra que isso aconteça, tornando os firmwares do 5965 incompatíveis com o 5980. Desconfio que seja por causa da diferença no loader e chips HDMI (acho que essas instruções ficam no RISC).

Mas doctorxyz, você não pensou em construir um cabo? Aquele esquema que o Jefferson colocou no site dele funciona direitinho. O único grande empecilho é conseguir o MAX3232, eu acho. Claro, tem a parte da montagem, mas se você não sabe fazer, pode mandar um técnico em eletrônica fazer. Não creio que seria muito caro. O que posso dizer é que ter o cabo é legal e vale a pena!

Offline dcampos

  • Seeder
  • Tagarela
  • ***
  • Mensagens: 220
  • Aprovação: +9/-0
    • Ver Perfil
Re: Nomes Longos a Partir da USB (Philips DVP5965K/55)
« Responder #16 Online: Abril 09, 2008, 11:44:53 am »
Ou pode usar um cabo USB de Siemens C55, desde que o mesmo venha com o Driver. Os programas mais novos como o MtkCom funcionam bem com esses cabos.

[]'s
Daniel

Offline doctorxyz

  • Novato Prolixo
  • **
  • Mensagens: 63
  • Aprovação: +4/-0
    • Ver Perfil
Re: Procura-se: Alguém com DVP5965K/55 e com cabo de recuperação
« Responder #17 Online: Abril 09, 2008, 10:26:40 pm »
rafalibrenz e dcampos,

Obrigado pela dicas... Mas a questão não é essa. Até poderia fazer o cabo, ou comprá-lo.
O real problema é que se abrir o aparelho para por o cabo, levo cartão amarelo lá em casa... e se perder a garantia, aí é o vermelho...rsrs

Pois é, meu aparelho ainda está em garantia, e mesmo assim fiz na base da coragem dois enxertos de RISCs "alienígenas" no Philips 5965K/55:
- fw Proview DVP-858 v.20.06 (Original) -> Feito com sucesso, porém som no divx entrecortado e disposicionamento das mensagens
- Ferguson D770HX versão A7 -> Matou meu aparelho e foi para assistência e lá ficou um mês.

E daí apostava (com base nas minhas experiências anteriores), que enxertar a última versão de fw do Proview DVP858(versão 3.0 do Eneris, disponível em www.eneris.k6.com.br) seria uma boa idéia para a causa!

Mas diante do exposto acima, ter um voluntário com o cabo de recuperação para fazer o teste é uma premissa básica.

Falou!

Um abraço,

FORUM.RYAN.COM.BR

Re: Procura-se: Alguém com DVP5965K/55 e com cabo de recuperação
« Responder #17 Online: Abril 09, 2008, 10:26:40 pm »