Autor Tópico: Como remover as tags de itálico - Firmware jmaraujo v1.3  (Lida 30657 vezes)

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

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #30 Online: Outubro 03, 2009, 05:15:58 am »
É porque eu escrevi demais ;D, mas acredite, é bem simples.

Quais os valores das opções de menu do seu alinhamento vertical?

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #31 Online: Outubro 03, 2009, 05:19:03 am »
0 e 1:

Código: [Selecionar]
  5. No Pic. | Vertical alignment | Set the vertical alignment
     0008 FFFF 056C 058E 0063 0000 0001 0001 FFF989 0000 - ROM:F920
    1. Top | Top | [00]
       0590 0590 0561 00 - ROM:F974
 => 2. Bottom | Bottom | [00]
       058F 058F 0561 01 - ROM:F97B

FORUM.RYAN.COM.BR

Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #31 Online: Outubro 03, 2009, 05:19:03 am »

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #32 Online: Outubro 03, 2009, 05:22:27 am »
Mas, é possivel assim como eu disse? Fica mais fácil, ou mais difícil?

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #33 Online: Outubro 03, 2009, 05:31:15 am »
Mas, é possivel assim como eu disse? Fica mais fácil, ou mais difícil?

Sim, mas é assim mesmo. O que você disse é como realmente será feito no ARM, só que não com aqueles valores (muito provavelmente com 0, #20 e #40). Eu estava falando no 8032, para criar a opção no menu. Como descobrir os valores e repassá-los ao ARM.

0 e 1:

Código: [Selecionar]
 5. No Pic. | Vertical alignment | Set the vertical alignment
     0008 FFFF 056C 058E 0063 0000 0001 0001 FFF989 0000 - ROM:F920
    1. Top | Top | [00]
       0590 0590 0561 00 - ROM:F974
 => 2. Bottom | Bottom | [00]
       058F 058F 0561 01 - ROM:F97B

Se e quando você tiver tempo, apenas teste os valores #20 (top) e #21 (bottom), #40 (top) e #41 (bottom) e #80 (top) e #81 (bottom). Se a opção de alinhamento vertical funcionar do mesmo jeito com esses valores, apenas crie o menu dos itálicos com as 3 opções que você sugeriu, com os valores 00, #20 e #40 e deixe o resto comigo.

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #34 Online: Outubro 03, 2009, 05:34:57 am »
Ok, agora é que eu entendi. Depois eu posto aqui os resultados. ;D

Muito obrigado. ;)

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #35 Online: Outubro 03, 2009, 05:50:32 am »
Beleza!
Eu estou quase conseguindo um DVP5100K! Hoje, descobri que minha irmã tem um aparelho. Ela vai me emprestar e poderei ajudar nos testes. ;D

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #36 Online: Outubro 04, 2009, 07:54:13 am »
O itálico para o DVP5100 está pronto e funcionando!  :yahoo!:

Acabei de testar. Modifiquei aquelas 2 rotinas para que permitissem também o itálico. E incluí mais 1 para desfazer o itálico no início de cada quadro.

Além disso, já deixei tudo pronto para receber 3 opções de menu, que são: mostrar tags, esconder tags, ligar itálico.

Jmaraujo,

se você quiser, é só criar um menu, por exemplo, "tags SRT", com as três opções e os seguintes valores (somente podem ser esses os valores, em hexadecimal):

#40 para "mostrar todas as tags"
#20 para "esconder todas as tags"
#00 para "habilitar o itálico"

Você pode escolher o endereço de EEPROM que quiser. Mas lembre-se, o valor deve ser mesclado, utilizando a operação OR, com o valor da opção de alinhamento horizontal!. Isso quer dizer que você deve modificar, no 8032, o trecho que lê a opção de alinhamento horizontal para que também leia a opção de tags. Aí você faria um OR entre os 2 valores e enviaria o resultado como se fosse o valor de alinhamento. Porém, como eu ainda não tenho certeza se a posição de memória que usei no ARM realmente corresponde ao alinhamento horizontal, deixe essa parte do OR para depois de eu realizar mais alguns testes. Mesmo sem as opções, temos o itálico light: sempre funciona quando encontra as tags de itálico e as demais tags ficam ocultas. ;D

Eu também vi que você dasabilitou o alinhamento horizontal na última versão do seu firmware. Isso não faz diferença. Seria só mesclar o valor da opção de tags com o valor default de alinhamento que você deixou. Se um dia voltar a habilitar o alinhamento horizontal, não fará diferença.

A última providência é com relação às fontes. Para testar, eu troquei sua Fonte 1 pela Arial Narrow Bold do meu firmware, com 479 caracteres. As fontes devem ter os 256 primeiros caracteres normais e os últimos 223 itálicos, pois correspondem ao itálico dos caracteres a partir do código 33 (não faz sentido itálico nos anteriores e podemos economizar espaço). Não precisei substituir nenhuma das demais fontes pela fonte de apenas 1 caractere para compensar o espaço. Pelo visto, seu firmware terá menos problemas com o espaço das fontes, mas não sei o que acontecerá se todas as 8 forem aumentadas. Talvez você terá que reduzir (excluir) alguma. As fontes que não são substituídas não exibem nenhum caractere quando o texto está em itálico. Notei que nossas fontes possuem alguns poucos caracteres diferentes, o que talvez as torne parcialmente incompatíveis. Além disso, eu só fiz 4 fontes, as quais podem não ser boas para você. Então talvez você tenha um trabalho adicional com as fontes. Porém, nada impede que você utilize minhas fontes e deixe apenas algumas fontes do seu player com suporte a itálico. As informações sobre as fontes estão lá no tópico do LG DV397H.

Amanhã eu posto as rotinas comentadas e envio um email para você com o firmware modificado para que possa testá-lo.
« Última modificação: Outubro 04, 2009, 08:00:36 am por rictad »

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #37 Online: Outubro 04, 2009, 09:10:33 am »
Excelentes noticias! Hoje eu vou postar o firmware v1.4 com o filtrado de itálicas e já começo com o trabalho do itálico para a versão 1.5.

A versão 1.4 volta a ter o alinhamento horizontal e vertical. De uma olhada no seu email que estou enviando a v1.4 "quase pronta" que tenho usado nos meus testes aqui, caso precisar fazer testes.

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #38 Online: Outubro 04, 2009, 06:55:20 pm »
Certo Jmaraujo,

Vou fazer testes com o alinhamento da nova versão. Também enviarei para você o 1.3 com itálico para você testar.

Seguem as rotinas do itálico (patchs) no ARM, ainda sem comentários.

Inibe tags ou habilita itálico na rotina principal:
Código: [Selecionar]
ROM:000755F0             sub_755F0                               ; CODE XREF: sub_E64C+A8_p
ROM:000755F0                                                     ; sub_75670+6_p
ROM:000755F0 2A 4A                       LDR     R2, =unk_7A380
ROM:000755F2
ROM:000755F2             loc_755F2                               ; CODE XREF: sub_755F0+20_j
ROM:000755F2 53 7A                       LDRB    R3, [R2,#9]
ROM:000755F4 60 20                       MOVS    R0, #0x60 ; '`'
ROM:000755F6 03 40                       ANDS    R3, R0
ROM:000755F8 40 2B                       CMP     R3, #0x40 ; '@'
ROM:000755FA 2E D0                       BEQ     loc_7565A
ROM:000755FC 3C 2D                       CMP     R5, #0x3C ; '<'
ROM:000755FE 24 D1                       BNE     loc_7564A
ROM:00075600 20 2B                       CMP     R3, #0x20 ; ' '
ROM:00075602 06 D1                       BNE     loc_75612
ROM:00075604
ROM:00075604             loc_75604                               ; CODE XREF: sub_755F0+1A_j
ROM:00075604                                                     ; sub_755F0+30_j ...
ROM:00075604 01 31                       ADDS    R1, #1
ROM:00075606 75 5C                       LDRB    R5, [R6,R1]
ROM:00075608 3E 2D                       CMP     R5, #0x3E ; '>'
ROM:0007560A FB D1                       BNE     loc_75604
ROM:0007560C
ROM:0007560C             loc_7560C                               ; CODE XREF: sub_755F0+3A_j
ROM:0007560C                                                     ; sub_755F0+58_j
ROM:0007560C 01 31                       ADDS    R1, #1
ROM:0007560E 75 5C                       LDRB    R5, [R6,R1]
ROM:00075610 EF E7                       B       loc_755F2
ROM:00075612             ; ---------------------------------------------------------------------------
ROM:00075612
ROM:00075612             loc_75612                               ; CODE XREF: sub_755F0+12_j
ROM:00075612 01 31                       ADDS    R1, #1
ROM:00075614 75 5C                       LDRB    R5, [R6,R1]
ROM:00075616 69 2D                       CMP     R5, #0x69 ; 'i'
ROM:00075618 08 D1                       BNE     loc_7562C
ROM:0007561A 01 31                       ADDS    R1, #1
ROM:0007561C 75 5C                       LDRB    R5, [R6,R1]
ROM:0007561E 3E 2D                       CMP     R5, #0x3E ; '>'
ROM:00075620 F0 D1                       BNE     loc_75604
ROM:00075622 53 7A                       LDRB    R3, [R2,#9]
ROM:00075624 80 20                       MOVS    R0, #0x80 ; 'Ç'
ROM:00075626 03 43                       ORRS    R3, R0
ROM:00075628 53 72                       STRB    R3, [R2,#9]
ROM:0007562A EF E7                       B       loc_7560C
ROM:0007562C             ; ---------------------------------------------------------------------------
ROM:0007562C
ROM:0007562C             loc_7562C                               ; CODE XREF: sub_755F0+28_j
ROM:0007562C 2F 2D                       CMP     R5, #0x2F ; '/'
ROM:0007562E E9 D1                       BNE     loc_75604
ROM:00075630 01 31                       ADDS    R1, #1
ROM:00075632 75 5C                       LDRB    R5, [R6,R1]
ROM:00075634 69 2D                       CMP     R5, #0x69 ; 'i'
ROM:00075636 E5 D1                       BNE     loc_75604
ROM:00075638 01 31                       ADDS    R1, #1
ROM:0007563A 75 5C                       LDRB    R5, [R6,R1]
ROM:0007563C 3E 2D                       CMP     R5, #0x3E ; '>'
ROM:0007563E E1 D1                       BNE     loc_75604
ROM:00075640 53 7A                       LDRB    R3, [R2,#9]
ROM:00075642 7F 20                       MOVS    R0, #0x7F ; ''
ROM:00075644 03 40                       ANDS    R3, R0
ROM:00075646 53 72                       STRB    R3, [R2,#9]
ROM:00075648 E0 E7                       B       loc_7560C
ROM:0007564A             ; ---------------------------------------------------------------------------
ROM:0007564A
ROM:0007564A             loc_7564A                               ; CODE XREF: sub_755F0+E_j
ROM:0007564A 53 7A                       LDRB    R3, [R2,#9]
ROM:0007564C
ROM:0007564C             loc_7564C                               ; DATA XREF: ROM:loc_75268_r
ROM:0007564C 80 20                       MOVS    R0, #0x80 ; 'Ç'
ROM:0007564E 03 40                       ANDS    R3, R0
ROM:00075650 80 2B                       CMP     R3, #0x80 ; 'Ç'
ROM:00075652 02 D1                       BNE     loc_7565A
ROM:00075654 20 2D                       CMP     R5, #0x20 ; ' '
ROM:00075656 00 D9                       BLS     loc_7565A
ROM:00075658 DF 35                       ADDS    R5, #0xDF ; '¯'
ROM:0007565A
ROM:0007565A             loc_7565A                               ; CODE XREF: sub_755F0+A_j
ROM:0007565A                                                     ; sub_755F0+62_j ...
ROM:0007565A 48 1C                       ADDS    R0, R1, #1
ROM:0007565C 00 06                       LSLS    R0, R0, #0x18
ROM:0007565E 00 0E                       LSRS    R0, R0, #0x18
ROM:00075660 70 47                       BX      LR
ROM:00075660             ; End of function sub_755F0

Inibe tags ou habilita itálico na rotina "centraliza" (agora aproveita a rotina anterior, para não repetir código):
Código: [Selecionar]
ROM:00075670             sub_75670                               ; CODE XREF: sub_E38C:loc_E3A0_p
ROM:00075670 20 B5                       PUSH    {R5,LR}
ROM:00075672 35 1C                       ADDS    R5, R6, #0
ROM:00075674 3E 1C                       ADDS    R6, R7, #0
ROM:00075676 FF F7 BB FF                 BL      sub_755F0
ROM:0007567A 2E 1C                       ADDS    R6, R5, #0
ROM:0007567C 20 BC                       POP     {R5}
ROM:0007567E 08 BC                       POP     {R3}
ROM:00075680 18 47                       BX      R3
ROM:00075680             ; End of function sub_75670

Desliga itálico antes de cada quadro:
Código: [Selecionar]
ROM:00075686             sub_75686                               ; CODE XREF: sub_E64C+98_p
ROM:00075686 05 4A                       LDR     R2, =unk_7A380
ROM:00075688 53 7A                       LDRB    R3, [R2,#9]
ROM:0007568A 7F 24                       MOVS    R4, #0x7F ; ''
ROM:0007568C 23 40                       ANDS    R3, R4
ROM:0007568E 53 72                       STRB    R3, [R2,#9]
ROM:00075690 00 24                       MOVS    R4, #0
ROM:00075692 01 30                       ADDS    R0, #1
ROM:00075694 70 47                       BX      LR
ROM:00075694             ; End of function sub_75686

Palavra com endereço inicial da tabela de opções de legenda:
Código: [Selecionar]
ROM:0007569C 80 A3 07 00 off_7569C       DCD unk_7A380           ; DATA XREF: sub_755F0_r
ROM:0007569C                                                     ; sub_75686_r
ROM:000756A0 00                          DCB    0

Agora os pontos modificados para chamar as rotinas (BLs):

Desliga o itálico no começo de cada quadro:
Código: [Selecionar]
ROM:0000E6E2 05 98                       LDR     R0, [SP,#0x38+var_24]
ROM:0000E6E4 66 F0 CF FF                 BL      sub_75686
ROM:0000E6E8 00 04                       LSLS    R0, R0, #0x10

Inibe tags ou habilita itálico na rotina principal:
Código: [Selecionar]
ROM:0000E6F0 21 1C                       ADDS    R1, R4, #0
ROM:0000E6F2 75 5C                       LDRB    R5, [R6,R1]
ROM:0000E6F4 66 F0 7C FF                 BL      sub_755F0
ROM:0000E6F8 04 1C                       ADDS    R4, R0, #0
ROM:0000E6FA C0 46                       NOP

Inibe tags ou habilita itálico na rotina "centraliza":
Código: [Selecionar]
ROM:0000E3A0 67 F0 66 F9                 BL      sub_75670
ROM:0000E3A4 04 1C                       ADDS    R4, R0, #0
ROM:0000E3A6 C0 46                       NOP
« Última modificação: Outubro 05, 2009, 02:35:17 am por rictad »

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #39 Online: Outubro 04, 2009, 09:37:59 pm »
Obrigado. Hoje a noite vou criar quatro fontes (acho que são mais do que suficientes) com o Photoshop, que acho deve ser o método mais fácil.

Fique tranquilo que vou compartir os créditos com você tanto nos posts de anuncio do novo firmware, como também dentro do próprio firmware e no arquivo readme.txt incluído com o firmware.

FORUM.RYAN.COM.BR

Re: Como remover as tags de itálico - Firmware jmaraujo v1.3
« Responder #39 Online: Outubro 04, 2009, 09:37:59 pm »