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

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

Offline attentus

  • Novato
  • *
  • Mensagens: 7
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware: log de descobertas
« Responder #30 Online: Julho 07, 2007, 01:59:36 pm »
Apliquei os Dois patches no FVP5965 conforme sua orientção.
resultado: Ao entrar e sair do Setup a legenda desaparece.

Você sabe dizer se o DVP5965 tem o mesmo bug do DVP5960 de usar uma fonte diferente ao sair do setup? Se tiver e a segunda fonte for ruim de ler pode "parecer" que a legenda sumiu.

Isso aí não deveria acontecer. Funcionou comigo e as rotinas parecem idênticas.

Não posso ajudar nisso agora porque estou concentrado em outro problema.

Vou testar sobre o 'bug' e depois reporto aqui.

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 #31 Online: Julho 07, 2007, 08:51:49 pm »
Caro Ryan.
Apliquei os Dois patches no FVP5965 conforme sua orientção.
resultado: Ao entrar e sair do Setup a legenda desaparece.

Se bem entendir, vc você diz que a legenda aparece normal, so que ao entrar no Setup e sair, a legenda some, se for isso, é um bug do firmware do 5965K desde o original Philips.
« Última modificação: Julho 07, 2007, 09:09:41 pm por Jefferson »
The Cranberries - em Recife Outubro/2010
Estarei la colado! Ta perto.

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #31 Online: Julho 07, 2007, 08:51:49 pm »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #32 Online: Julho 07, 2007, 09:12:24 pm »
Então talvez o DVP5965 também esteja usando as fontes 1 e 7 para legendas. A fonte 1 antes de entrar no setup e a fonte 7 após sair.

Se você mudar só a primeira fonte 1 e não mudar a fonte 7, pode parecer que ela sumiu.
« Última modificação: Julho 07, 2007, 09:15:25 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #33 Online: Julho 09, 2007, 10:13:37 pm »
Eu estava até agora escrevendo patches "na munheca" porque não conhecia um programa onde eu pudesse escrever em mnemônicos do 8051. Eu tinha que consultar o guia de referência o tempo todo, por não lembrar dos códigos para as instruções.

Mas não é que o NewAge tem um programa para isso há muito tempo?

O RunTime Assembler for Intel8051 v0.1.2.0 permite que você escreva o patch usando os mnemônicos e salve como listagem (.lst), como uma lista de códigos hexa pronta para fazer um paste em um editor hexadecimal (*.hex) e como um arquivo binário (*.bin).

Mas atenção: o programa só salva as linhas que você tiver selecionado do lado direito!

Isso é incomum para o New Age, mas este programa ele liberou com o código fonte em Delphi 7.
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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #34 Online: Julho 14, 2007, 02:28:48 am »
Menus Mediatek - Textos

Não espere entender muito do que vou mostrar abaixo. É parte de um projeto maior que só vai fazer sentido mesmo quando estiver pronto.

Você pode ver (mas não pode editar) a estrutura dos menus de um firmware no mtkRemaker:



Cada página de menu tem dois textos associados


No mtkRemaker:


Cada código hexadecimal destacado é o respectivo código do texto, como você pode ver no próprio mtkRemaker ou no mtkLangEditor. Se você mudar esse código, muda o texto exibido (mas eu não vou explicar como isso é feito agora).


Cada item de menu tem dois textos associados


No mtkRemaker:




Cada opção tem três textos associados


No mtkRemaker:


Eu estou mostrando textos em inglês porque esta costuma ser a linguagem default Mediatek. Os códigos dos textos são sempre os mesmos, não importando que linguagem você escolheu no Setup. Isso torna a adição e a alteração de textos algo relativamente simples.
« Última modificação: Julho 14, 2007, 02:34:22 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #35 Online: Julho 14, 2007, 03:36:42 am »
Menus Mediatek - Tipos de Itens

Item tipo 0008

Este tipo é o que exibe uma lista de opções:



No mtkRemaker:


1 (0008) - Tipo de Item
2 (FFFF) - Ícone associado ao item. "FFFF" significa "sem ícone" ("No Pic." no mtkRemaker)
3 (0092) - Primeiro Texto
4 (009A) - Segundo texto
5 (000D) - Endereço da EEPROM onde o valor é armazenado
6 (002B) - Endereço na shared memory onde o valor é armazenado
7 (0003) - É igual ao número de opções a exibir, menos um
8 (0000) - Valor default
9 (FF32B1) - Offset da lista de ponteiros para as opções (32B1) no mesmo banco
10 (1FD2) - Offset da rotina, no mesmo banco, que é chamada quando se seleciona qualquer das opções;


Item tipo 0003

Este tipo não exibe opção alguma. Selecioná-lo abre uma outra página de itens. Seis dos sete itens do menu Audio do Proview DVP-858 são do tipo 0003:



No mtkRemaker:


1 (0008) - Tipo de Item
2 (FFFF) - Ícone associado ao item. "FFFF" significa "sem ícone" ("No Pic." no mtkRemaker)
3 (008B) - Primeiro Texto
4 (00E4) - Segundo texto
5 (0002) - Número da página que será aberta quando este item for selecionado Nota: todos os documentos sobre menus do grupo MT13x9 dizem que aqui também tem um endereço EEPROM. Meus testes mostram que nisso os hackers do MT13x9 se enganaram ou não atualizaram os documentos.
6 (0000) - Aparentemente não é usado, mas sempre tem zeros
7 (0000) - Aparentemente não é usado, mas sempre tem zeros
8 (0000) - Aparentemente não é usado, mas sempre tem zeros
9 (000000) - Aparentemente não é usado, mas sempre tem zeros
10 (0000) - Aparentemente não é usado, mas sempre tem zeros


Item tipo 000D

Este tipo tem opções, mas elas são exibidas graficamente e não em forma de lista. Eu não tenho mais exemplos desse tipo por isso é difícil tirar conclusões. Mas parece que é usado exclusivamente para o ajuste Channel Delay.







Existem outros tipos de itens, mas falarei deles quando for oportuno.
« Última modificação: Julho 14, 2007, 09:45:35 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #36 Online: Julho 14, 2007, 04:24:35 am »
Menus Mediatek - Ícones





Perceba que existe uma pequena inconsistência no mtkRemaker. No mapa do menu ele chama o ícone 0019 de "Pic 25", porque 19 é 25 em hexadecimal. Até aí tudo normal. Mas na lista de ícones, como ele começa a contagem em "1", mas o primeiro ícone é o '00", a numeração decimal da lista não corresponde à hexadecimal entre colchetes. Fique atento a isso porque o código correto do item é o entre colchetes. É por esse número que ele é identificado em qualquer parte do firmware.

"FFFF" significa "sem ícone" ("No Pic." no mtkRemaker)
« Última modificação: Julho 14, 2007, 03:53:51 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #37 Online: Julho 14, 2007, 05:36:16 am »
Menus Mediatek - Números de página


Como eu disse anteriormente, itens do tipo 0003 não tem opções. Eles apontam para uma outra página. Você precisa converter para decimal e adicionar um:




Com esse número você pode localizar a página no mtkRemaker:


O firmware tem uma tabela de offsets com o endereço da definição de cada página. Sabendo onde está essa tabela, pelo número você encontra a localização da definição de qualquer página no firmware.

No firmware do Proview DVP-858, versão 20.07, a tabela começa no endereço 0x24473:
 


"FF" é uma espécie de "cabeçalho de ponteiro". Simplesmente ignore, porque apenas os próximos dois bytes são relevantes. Os destaques em vermelho são apenas para ajudar a demarcar os ponteiros visualmente. Não tem nenhum significado especial.

Na imagem eu estou destacando o offset para a definição da página 14 (password setup). Se você mudar esse offset poderá exibir uma outra página no lugar da página de senhas. Tanto uma página já existente no firmware quanto uma página criada por você, desde que esteja no mesmo banco (no caso, banco 2).

Por exemplo, o Proview DVP-858 tem uma página de escolha de região facilmente localizável com o mtkRemaker:


Mas que ninguém sabe ainda qual é a senha de acesso. Com um pequeno truque, você pode substituir a página Password (se você não tem filhos pequenos essa página não deve servir para nada) pela página de escolha de região.

O número da página é 27. Procure pelo 27o offset na tabela de offsets:



E troque o offset da posição 14 por esse. Ou seja: FF3140 => FF445D

Com isso, ao entrar no menu "Password", o que vai abrir é a página de escolha de região.

« Última modificação: Julho 20, 2007, 02:56:42 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #38 Online: Julho 14, 2007, 06:03:24 pm »
Endereços EEPROM usados no Proview DVP-858

Obtidos no mtkRemaker, nos items do tipo 0008:

0004 | Component | Component
0005 | TV Mode | Set P-SCAN On/Off
0006 | Country Region | PG Country Region Code
0007 | Screen Saver | Screen Saver
0008 | Parental | Set Parental Control
0009 | Disc Menu | Preferred Menu Language
000A | Audio | Preferred Audio Language
000B | Subtitle | Preferred Subtitle Language
000C | TV Type | Set TV Standard
000D | TV Display | Set TV Display Mode
000E | OSD Lang | Set OSD Language
000F | Angle Mark | Set Angle Mark
0012 | PBC | Set PBC State
0013 | Last Memory | Set Last Memory State
0014 | Password Mode | Password Mode
0015 | Captions | Closed Caption
0016 | Region Code | Region Code
0022 | PanelŽlight | PanelŽlight
002A | SPDIF Output | Setup SPDIF
0030 | Downmix | Set Downmix Mode
0031 | Front Speaker | Setup Front Speaker
0032 | Center Speaker | SetupCenterŽSpeaker
0033 | Rear Speaker | Setup Rear Surround Speaker
0034 | Subwoofer | Setup Subwoofer
0037 | Test Tone | Test Tone
0038 | Post DRC | Post DRC
0039 | LPCM Out | Set LPCM SPDIF Output RATE
003D | EQ Type | Select Equalizer Type
0049 | MIC | MIC
0067 | PRO Logic II | PRO Logic II
006A | Reverb Mode | Reverb Mode
006E | Mode | Select PRO Logic II Mode
006F | Panorama | Set PRO Logic II Panorama Control
0070 | Center Width | Set PRO Logic II Center Width
0071 | Dimension | Set PRO Logic II Dimension Size
0072 | Bass Boost | Bass Boost
0073 | Super Bass | Super Bass
0074 | Treble Boost | Treble Boost
007A | Sharpness | Sharpness
007E | Gamma | Gamma
0080 | Luma Delay | Luma Delay
0087 | HDMI | HDMI
0088 | Resolution | Resolution
008F | Dual Mono | Dual Mono (1 + 1) Setup
0092 | Filter | Filter
00C8 | HD Mode | HD Mode

Dos itens acima, um deles talvez possa ser usado. "0049" é usado pelo Setup do Microfone, mas o Proview não pega microfone!

Outros endereços, obtidos pela análise da listagem feita pelo IDA, coletando chamadas a Pref_Getchar e excluindo os endereços já conhecidos:

0x17
0x18
0x19
0x1A
0x1B
0x1C
0x23
0x3A
0x4C
0x80
0x85

Podem existir outros endereços, que são usados indiretamente. Eu só compilei os que são usados carregando R7 explicitamente pouco antes de chamar Pref_Getchar. Existem umas 42 chamadas indiretas, precedidas por algo do tipo: "MOV R7,A", que podem se referir a endereços já da lista ou a outros. Eu vou tentar localizar Pref_Putchar para tentar determinar outros endereços antes de começar a chutar...
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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #39 Online: Julho 15, 2007, 12:29:02 am »
Como eu disse anteriormente, o item do tipo 0008 já inclui a definição do endereço de memória EEPROM usado. Esse endereço é usado imediatamente quando o item é exibido da tela sem que você precise escrever uma linha de código sequer. Se você criar um item do tipo 0008, no momento em que ele é exibido na tela o conteúdo do respectivo endereço EEPROM é lido. Se você mudar uma opção, o novo valor é imediatamente gravado. Não é necessário fazer nada em assembly.

Você pode ver o efeito disso se criar um item de menu que use o mesmo endereço de EEPROM usado por um outro item. Ao mudar em um e ir para a página onde está o outro, a mudança já estará lá, sem nem ser necessário sair e entrar no SETUP.

O endereço que existe no final da definição do tipo 0008 serve para quando você precisa que a mudança que você fez entre em vigor imediatamente (que ela seja interpretada imediatamente. Note que gravar e interpretar são dois passos distintos)

« Última modificação: Janeiro 12, 2008, 02:54:03 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?!

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #39 Online: Julho 15, 2007, 12:29:02 am »