Autor Tópico: Firmware MT13x9: Log de Descobertas  (Lida 272665 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: log de descobertas
« Responder #100 Online: Julho 30, 2007, 06:13:23 pm »
É só um chute:

7F 71       mov     R7, #0x71 ; 'q'       ; Endereço 0x71 da eeprom
7E 00       mov     R6, #0
12 19 E4    lcall   Pref_Getchar_B1BS


Você tem que colocar aqui a chamada correta para Pref_Getchar no banco escolhido. Eu não sei qual é

EF          mov     A, R7
FD          mov     R5, A
90 FB A4    mov     DPTR, #XRAM_FBA4


Acima, eu já corrigi o endereço XRAM para o usado no DVP5100

74 02       mov     A, #2
F0          movx    @DPTR, A
A3          inc     DPTR
ED          mov     A, R5
F0          movx    @DPTR, A


Cor de preenchimento default do DVP5100

E4          clr     A
7B 03       mov     R3, #3
FD          mov     R5, A

       

No DVP5100, R3 é carregado com uma cor diferente de zero

E o ID da janela precisa ser recuperado :

90 FB 8D    mov     DPTR, #XRAM_FB8D      ; Window_ID?
E0          movx    A, @DPTR
FF          mov     R7, A
22          ret



Uma chamada na rotina subStyleSec ficaria assim:

B3:545E             Sub_StyleSec:                 ; DATA XREF: BankSw_223_B3_519C+63o
B3:545E 90 FB 8D    mov     DPTR, #XRAM_FB8D      ; Window_ID?
B3:5461 E0          movx    A, @DPTR
B3:5462 FF          mov     R7, A
B3:5463 D2 75       setb    RAM_2E.5
B3:5465 12 28 F1    lcall   BankSw_217_B3_28F1
B3:5468 90 FB 8D    mov     DPTR, #XRAM_FB8D      ; Window_ID?
B3:546B E0          movx    A, @DPTR
B3:546C FF          mov     R7, A
B3:546D 12 68 22    lcall   BankSw_218_B3_6822
B3:5470 12 xx xx     lcall Endereço_da_rotina
B3:5473 nop
B3:5474 nop
B3:5475 nop
B3:5476 nop
B3:5479 nop
B3:547A nop
B3:547B nop
B3:547D nop
B3:547E nop
B3:5480 nop
B3:5481 nop         
B3:5482 12 D4 73    lcall   OSD_TextColorB1BS
 



Como a rotina SubStyle Primária fica em outro banco, você vai ter que fazer outro patch lá.

Editado:
O caso da SubStyle Primária parece ser mais complicado. Ela não parece chamar em lugar nenhum OSD_TextColor, mas certamente o banco 1 tem um ponto de entrada para ela na BTT. Talvez seja possível contruir uma rotina para isso, mas já está chegando a minha hora de ir dormir e o raciocínio está mais lento.
« Última modificação: Julho 30, 2007, 06:24:50 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 #101 Online: Julho 30, 2007, 06:21:14 pm »
Muito obrigado!!!  :yahoo!:  Vou testar hoje a noite, e posto aquí o resultado.  8)

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #101 Online: Julho 30, 2007, 06:21:14 pm »

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 #102 Online: Julho 30, 2007, 06:23:19 pm »
Muito obrigado jmaraujo pelo patch pro browser.

PS: Ryan, o 5965 estar com um bug no visor ao aplicar o primeiro patch, apenas a primeira parte  (B1:56C0 e B1:FA32), o bug: no visor fica aparcendo varios caracteres piscando, some e volta.

OBS: (B1:56C0 e B1:FA32) ao inves de mostrar (mov A,) aqui estar aparecendo (mov R7,) isto é normal?
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 #103 Online: Julho 30, 2007, 06:31:05 pm »


OBS: (B1:56C0 e B1:FA32) ao inves de mostrar (mov A,) aqui estar aparecendo (mov R7,) isto é normal?

Não é a primeira vez que eu misturo as instruções 7F e 74  :dashhead1:

Eu já corrigi o post

« Última modificação: Julho 30, 2007, 06:39:13 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 evb62

  • Novato
  • *
  • Mensagens: 14
  • Aprovação: +0/-0
    • Ver Perfil
PUOs - Prohibited User Operations
« Responder #104 Online: Julho 30, 2007, 06:33:33 pm »
Boa tarde a todos!

Venho acompanhando este tópico há alguns dias, e hoje resolvi me cadastrar para compartilhar uma experiência com o firmware do Proview DVP-858.

Acho que este seria o tópico apropriado, embora não seja o assunto em discussão no momento. Espero não estar atrapalhando!

Vocês já devem ter encontrado vários DVDs que proíbem o usuário de alterar o áudio ou a legenda pelo controle remoto. Nesses discos, é obrigatório usar o menu do disco. Isso é bastante comum em títulos da Disney, ou da Barbie. Para quem tem filhos em idade pré-escolar, é especialmente irritante quando você põe o desenho animado e tem que voltar ao menu para assistir em português.

Eu achei um documento escrito pelo Lee (aka mosarella) que ensina a desativar essa proibição para o DVP-720: DVP720_ RC_audio_ selection_&_prohibit_functions.rtf

Seguindo as explicações do documento a partir da tabela do controle remoto do DVP-858, encontrei diversas funções no código 8032:

B4:505B MtkCmd_Parser
B4:D665 MtkCmd_Audio
B1:A382 MtkCmd_IncAudioTrack
B0:E87A ARM_GetChar
e (talvez) B3:DCC3 SetOperationMode

Mas o interessante mesmo é a função no código ARM que cuida das proibições de operações do usuário. Não foi possível encontrar do jeito descrito pelo mosarella, mas após investigar um pouquinho, descobri que ela fica no endereço 0x8798C.

No meio da função, temos esta linha:
Código: [Selecionar]
ROM:000879DA    E2 4A         LDR     R2, =0xFFFDFFF8  ; Prohibit Filter Mask
ROM:000879DA                                           ; bit22=angle, bit21=subtitle
ROM:000879DA                                           ; bit20=audio
ROM:000879DA                                           ; bit='0': prohibit disable
ROM:000879DA                                           ; bit='1': prohibit enable
Para alterar o comportamento da função, basta trocar essa máscara (que fica na área de dados da rotina). Zerando os bits 20 e 21, o usuário já pode trocar o áudio e as legendas em muitos DVDs. Na área de dados, a máscara fica assim:
Código: [Selecionar]
ROM:00087D64 F8 FF CD FF  dword_87D64     DCD 0xFFCDFFF8
Segundo o mosarella, alguns DVDs precisariam de um patch adicional. No DVP-858, a chamada dele na função principal seria assim:
Código: [Selecionar]
ROM:0008799E CA F7 0F F9   BL    PATCH_ProhibitFilter
E o patch seria este:

Código: [Selecionar]
ROM:00051BC0   ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ROM:00051BC0
ROM:00051BC0
ROM:00051BC0    PATCH_ProhibitFilter           ; CODE XREF: sub_8798C+12_p
ROM:00051BC0 41 7A             LDRB  R1, [R0,#9]
ROM:00051BC2 02 4A             LDR   R2, =0xFFFFFFCF
ROM:00051BC4 11 40             AND   R1, R2
ROM:00051BC6 A1 76             STRB  R1, [R4,#0x1A]
ROM:00051BC8 70 47             BX    LR
ROM:00051BC8         ; End of function PATCH_ProhibitFilter
ROM:00051BC8
ROM:00051BC8         ; ----------------------------------------------
ROM:00051BCA FF                DCB 0xFF
ROM:00051BCB FF                DCB 0xFF
ROM:00051BCC CF FF FF FF dword_51BCC DCD 0xFFFFFFCF  ; DATA XREF: PATCH_ProhibitFilter+2_r

Infelizmente, eu não consegui fazer o patch funcionar. Além do endereço 0x51BC0 acima, tentei 0x503C8, 0x4FF30, e outros, todos em áreas de mensagens de erro no código ARM. Em todos os casos, o aparelho travou ao inserir um DVD-Vídeo. Então eu deixei só o patch da nova máscara, na linha 0x879DA.

O título escolhido para o teste foi "A Era do Gelo", que é muito apropriado para o tempo infernal (ou melhor, glacial) dos últimos dias. Adeus proibições de troca de legenda e áudio! Mas infelizmente, isso não é suficiente para os DVDs da Barbie, que continuam a testar a paciência dos pais.

Eu poderia tentar um resize, como o jmaraujo sugere num post logo acima. Porém o MTKArmResizer não funciona em ARM de 3 códigos, como é o caso do DVP-858. E fazer um resize manual está fora de questão para mim. Então fiquei restrito à nova máscara. Se alguém tiver alguma sugestão, fico grato.

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 #105 Online: Julho 30, 2007, 07:25:00 pm »
Muito obrigado Ryan, agora sim, o bug sumiu. :yahoo!: :clapping:

PS: Jmaraujo gostei da ideia de mover a imagem JPEG, vou procurar as rotinas agora.
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: PUOs - Prohibited User Operations
« Responder #106 Online: Julho 30, 2007, 08:42:03 pm »
Então fiquei restrito à nova máscara. Se alguém tiver alguma sugestão, fico grato.

Parabéns pelo mod  :yahoo!:

Quanto à ajuda, eu acho que quem está mais perto de ajudar você nisso é jmaraujo. Eu não sei lhufas de ARM ainda, porque estou me concentrando 100% em compreender o código 8032.
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 #107 Online: Julho 31, 2007, 04:23:02 am »
No firmware jmaraujo 1.1 eu somente usei o patch do foncreator para remover os UOPs (estou anexando o documento).

Infelizmente ese patch não funciona em todos os casos, mas permite pular trailers, warnings, etcétera, onde anteriormente não era possivel.

O patch do Lee (mosarella) ainda não testei, mas parece mais completo que o do foncreator, porém com objetivos diferentes. (O do Lee está focado nos UOPs de audio e legenda, o do foncreator a mais tipos de UOPs)

Se o MtkArmResizer não permitir ampliar os ARMs com tres ArmCodes, faça com eu expliquei mais acima: Sobreescreva a seção de erros C+.

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 #108 Online: Julho 31, 2007, 12:23:12 pm »
jmaraujo, quais os valores que você usou na nova posição das cordenadas das Tag Mp3? Achei a posição muito boa. 8)
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 #109 Online: Julho 31, 2007, 03:25:02 pm »
Olá, eneris! Sorte que eu guardei as mudanças em um arquivo de texto...  ;)

Arquivos no Filebrowser:

Primeiro que nada é preciso levantar os arquivos do filebrowser*.

Archivo_1
ROM:22B5 00 3E                 .word 0x3E                    ; Y1 = 62
ROM:22B7 02 22                 .word 0x0222                  ; X2 = 546
ROM:22B9 00 7C                 .word 0x7C                    ; Y2 = 92
Archivo_2
ROM:22BD 00 5E                 .word 0x5E                    ; Y1 = 94
ROM:22BF 02 22                 .word 0x0222                  ; X2 = 546
ROM:22C1 00 7C                 .word 0x7C                    ; Y2 = 124
Archivo_3
ROM:22C5 00 7E                 .word 0x7E                    ; Y1 = 126
ROM:22C7 02 22                 .word 0x0222                  ; X2 = 546
ROM:22C9 00 9C                 .word 0x9C                    ; Y2 = 156
Archivo_4
ROM:22CD 00 9E                 .word 0x9E                    ; Y1 = 158
ROM:22CF 02 22                 .word 0x0222                  ; X2 = 546
ROM:22D1 00 BC                 .word 0xBC                    ; Y2 = 188

Note que não foi necesario mexer em X1, que continúa sendo o mesmo para os quatro arquivos: X=0x1E (x=30). Não foi o caso do X2, que eu moví para a esquerda para não interferir com a nova posição das setas.

Posição das setas:

Seta de cima:
X1 = 0x0224 -> 548
Y1 = 0x003E -> 62

Seta de baixo:
X1 = 0x0224 -> 548
Y1 = 0x009E -> 158

Aquí, além de trocar as coordenadas horizontais, mexí nas coordenadas verticais das setas (principalmente a de baixo) para fazer lugar para os tags mp3s. Note que a posição vertical de cada seta é a mesma que as do 1º e 4º arquivo do filebrowser (3E, 9E).

Posição dos ID3 tags:

X1 = 0x1E (30)
Y1 (offset) = 0xBE (190)

Área de limpeza:
X1= 0x1E, Y1=0xBE, largura: 0x0242, altura (o sugerido por Jefferson, acho que era 6C)

* Voçê pode comparar com o meu post anterior com as coordenadas originais (acho que na página 2 de este tópico).

Saudações!  ;)

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #109 Online: Julho 31, 2007, 03:25:02 pm »