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

0 Membros e 3 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 #180 Online: Agosto 19, 2007, 06:42:55 am »
Philips DVP5140: Sub_style e SetMeg4SubtitleParams

O DVP5140 não é vendido no Brasil, mas faz parte dos meus testes porque tem caracterísiticas interessantes, não sendo igual a nenhum outro aparelho Philips que eu conheça. E quanto mais aparelhos distintos você analisar, mas fácil fica encontrar padrões.

Você poderá notar que o DVP5140 tem um código muito parecido com o do DVP3040

B1:F16C             Sub_Style:                              ; CODE XREF: B1_E132+3Ep
B1:F16C 90 FB 46              mov   DPTR, #XRAM_FB46
B1:F16F EE                    mov   A, R6
B1:F170 F0                    movx  @DPTR, A
B1:F171 A3                    inc   DPTR
B1:F172 EF                    mov   A, R7
B1:F173 F0                    movx  @DPTR, A
B1:F174 7F 03                 mov   R7, #3
B1:F176 12 07 1B              lcall B1_BS_179_B3_4B4F
B1:F176
B1:F179 7F 01                 mov   R7, #1
B1:F17B 12 07 1B              lcall B1_BS_179_B3_4B4F
B1:F17B
B1:F17E 7F 03                 mov   R7, #3
B1:F180 12 F6 C7              lcall B1_F6C7
B1:F180
B1:F183 7B FF                 mov   R3, #0xFF
B1:F185 7D EB                 mov   R5, #0xEB ; 'Ù'
B1:F187 7C 01                 mov   R4, #1
B1:F189 74 01                 mov   A, #1
B1:F18B FF                    mov   R7, A
B1:F18C FE                    mov   R6, A
B1:F18D 12 06 61              lcall OSD_DispMSG2_B1BS
B1:F18D
B1:F190 7F 0E                 mov   R7, #0xE
B1:F192 12 06 F7              lcall B1_BS_173_B4_EE4A
B1:F192
B1:F195 12 D7 CA              lcall SetMeg4SubtitleParams
B1:F195
B1:F198 7F 11                 mov   R7, #0x11
B1:F19A 12 08 1D              lcall OSD_textInit_B1BS
B1:F19A
B1:F19D 7F 11                 mov   R7, #0x11
B1:F19F 12 08 23              lcall B1_BS_223_B3_F09F
B1:F19F
B1:F1A2 22                    ret
B1:F1A2
B1:F1A2             ; End of function Sub_Style



B3:593C             Sub_Style_Sec:                          ; DATA XREF: OSD_Text_Init+63o
B3:593C 90 FB 88              mov   DPTR, #XRAM_FB88        ; Tem o número da janela (OSD_Text_Init)
B3:593F E0                    movx  A, @DPTR
B3:5940 FF                    mov   R7, A
B3:5941 D2 45                 setb  RAM_28.5
B3:5943 12 28 67              lcall OSD_Text_Params_ARM
B3:5943
B3:5946 90 FB 88              mov   DPTR, #XRAM_FB88        ; Tem o número da janela (OSD_Text_Init)
B3:5949 E0                    movx  A, @DPTR
B3:594A FF                    mov   R7, A
B3:594B 12 6C EF              lcall OSD_Text_Params
B3:594B
B3:594E 90 FB 88              mov   DPTR, #XRAM_FB88        ; Tem o número da janela (OSD_Text_Init)
B3:5951 E0                    movx  A, @DPTR
B3:5952 FF                    mov   R7, A
B3:5953 E4                    clr   A
B3:5954 90 FB A5              mov   DPTR, #XRAM_FBA5        ; OSD Colors
B3:5957 F0                    movx  @DPTR, A
B3:5958 A3                    inc   DPTR
B3:5959 74 02                 mov   A, #2
B3:595B F0                    movx  @DPTR, A
B3:595C 7B 03                 mov   R3, #3
B3:595E E4                    clr   A
B3:595F FD                    mov   R5, A
B3:5960 12 D2 9D              lcall OSD_Text_Color
B3:5960
B3:5963 90 FB 88              mov   DPTR, #XRAM_FB88        ; Tem o número da janela (OSD_Text_Init)
B3:5966 E0                    movx  A, @DPTR
B3:5967 FF                    mov   R7, A
B3:5968 E4                    clr   A
B3:5969 FD                    mov   R5, A
B3:596A 02 ED 66              ljmp  OSD_Text_Init_End




B1:D7CA             SetMeg4SubtitleParams:                  ; CODE XREF: Sub_Style+29p
B1:D7CA                                                     ; BankSw_336_B1_F860:B1_FB4Fp
B1:D7CA E4                    clr   A
B1:D7CB 90 FB ED              mov   DPTR, #XRAM_FBED        ; wX1.high
B1:D7CE F0                    movx  @DPTR, A
B1:D7CF A3                    inc   DPTR
B1:D7D0 F0                    movx  @DPTR, A
B1:D7D1 90 FB F0              mov   DPTR, #XRAM_FBF0        ; wY1.high
B1:D7D4 F0                    movx  @DPTR, A
B1:D7D5 A3                    inc   DPTR
B1:D7D6 F0                    movx  @DPTR, A
B1:D7D7 90 FB F4              mov   DPTR, #XRAM_FBF4        ; wX2.high
B1:D7DA 74 02                 mov   A, #2
B1:D7DC F0                    movx  @DPTR, A
B1:D7DD A3                    inc   DPTR
B1:D7DE 74 30                 mov   A, #0x30 ; '0'          ; 0x230 = 560
B1:D7E0 F0                    movx  @DPTR, A
B1:D7E1 90 FB F8              mov   DPTR, #XRAM_FBF8        ; wY2.high (define a altura)
B1:D7E4 E4                    clr   A
B1:D7E5 F0                    movx  @DPTR, A
B1:D7E6 A3                    inc   DPTR
B1:D7E7 74 60                 mov   A, #0x60 ; '`'          ; Altura da janela
B1:D7E9 F0                    movx  @DPTR, A
B1:D7EA E4                    clr   A
B1:D7EB FD                    mov   R5, A
B1:D7EC 7F 17                 mov   R7, #0x17
B1:D7EE 7E 01                 mov   R6, #1
B1:D7F0 12 05 FB              lcall Arm_PutChar_B1BS
B1:D7F0
B1:D7F3 7F 03                 mov   R7, #3                  ; Determina a fonte usada nas legendas
B1:D7F5 12 08 53              lcall OSD_SetFont_B1BS
B1:D7F5
B1:D7F8 E4                    clr   A
B1:D7F9 90 FB 5F              mov   DPTR, #XRAM_FB5F        ; Espaço entre linhas
B1:D7FC F0                    movx  @DPTR, A
B1:D7FD 7B 09                 mov   R3, #9                  ; 9= todos 255 caracteres + alinhamento bottom
B1:D7FF 7D 01                 mov   R5, #1                  ; alinhamento = 0x00 (esquerda), 0x01 (Centro), 0x02 (Direita)
B1:D801 7F 11                 mov   R7, #0x11               ; Janela da legenda
B1:D803 12 94 46              lcall PSB_Set_Param
B1:D803
B1:D806 7F 59                 mov   R7, #0x59 ; 'Y'         ; Pega o valor de "DivX Subtitle" na eeprom
B1:D808 7E 00                 mov   R6, #0
B1:D80A 12 04 ED              lcall Pref_Getchar_B1BS
B1:D80A
B1:D80D EF                    mov   A, R7
B1:D80E 24 FE                 add   A, #0xFE ; '¦'
B1:D810 60 11                 jz    B1_D823
B1:D810
B1:D812 14                    dec   A
B1:D813 60 09                 jz    B1_D81E
B1:D813
B1:D815 24 02                 add   A, #2
B1:D817 70 18                 jnz   B1_D831
B1:D817
B1:D819 7F 05                 mov   R7, #5
B1:D81B 02 08 53              ljmp  OSD_SetFont_B1BS
B1:D81B
B1:D81E             ; ---------------------------------------------------------------------------
B1:D81E
B1:D81E             B1_D81E:                                ; CODE XREF: SetMeg4SubtitleParams+49j
B1:D81E 7F 07                 mov   R7, #7
B1:D820 02 08 53              ljmp  OSD_SetFont_B1BS
B1:D820
B1:D823             ; ---------------------------------------------------------------------------
B1:D823
B1:D823             B1_D823:                                ; CODE XREF: SetMeg4SubtitleParams+46j
B1:D823 E4                    clr   A
B1:D824 90 FB 5F              mov   DPTR, #XRAM_FB5F        ; Espaço entre linhas
B1:D827 F0                    movx  @DPTR, A
B1:D828 7B 01                 mov   R3, #1                  ; Alinhamento bottom. Apenas 127 chars
B1:D82A 7D 01                 mov   R5, #1                  ; alinhamento = 0x00 (esquerda), 0x01 (Centro), 0x02 (Direita)
B1:D82C 7F 11                 mov   R7, #0x11               ; Janela da legenda
B1:D82E 12 94 46              lcall PSB_Set_Param
B1:D82E
B1:D831
B1:D831             B1_D831:                                ; CODE XREF: SetMeg4SubtitleParams+4Dj
B1:D831 22                    ret
B1:D831
B1:D831             ; End of function SetMeg4SubtitleParams



Uma surpresa: o DVP5140 tem uma segunda rotina SetMpeg4SubtitleParams:

B1:F366             SetMpeg4SubtitleParams2:                ; CODE XREF: BankSw_250_B1_D832+10p
B1:F366 E4                    clr   A
B1:F367 90 FB ED              mov   DPTR, #XRAM_FBED        ; wX1.high
B1:F36A F0                    movx  @DPTR, A
B1:F36B A3                    inc   DPTR
B1:F36C F0                    movx  @DPTR, A
B1:F36D 90 FB F0              mov   DPTR, #XRAM_FBF0        ; wY1.high
B1:F370 F0                    movx  @DPTR, A
B1:F371 A3                    inc   DPTR
B1:F372 F0                    movx  @DPTR, A
B1:F373 90 FB F4              mov   DPTR, #XRAM_FBF4        ; wX2.high
B1:F376 74 02                 mov   A, #2
B1:F378 F0                    movx  @DPTR, A
B1:F379 A3                    inc   DPTR
B1:F37A 74 30                 mov   A, #0x30 ; '0'          ; 0x230 = 560
B1:F37C F0                    movx  @DPTR, A
B1:F37D 90 FB F8              mov   DPTR, #XRAM_FBF8        ; wY2.high
B1:F380 E4                    clr   A
B1:F381 F0                    movx  @DPTR, A
B1:F382 A3                    inc   DPTR
B1:F383 74 60                 mov   A, #0x60 ; '`'          ; Altura da janela
B1:F385 F0                    movx  @DPTR, A
B1:F386 E4                    clr   A
B1:F387 90 FB 5F              mov   DPTR, #XRAM_FB5F        ; Espaço entre linhas
B1:F38A F0                    movx  @DPTR, A
B1:F38B 7B 09                 mov   R3, #9
B1:F38D 7D 01                 mov   R5, #1
B1:F38F 7F 11                 mov   R7, #0x11
B1:F391 12 94 46              lcall PSB_Set_Param
B1:F391
B1:F394 D3                    setb  C
B1:F395 22                    ret
B1:F395
B1:F395             ; End of function SetMpeg4SubtitleParams2

« Última modificação: Agosto 19, 2007, 07:33:08 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 #181 Online: Agosto 19, 2007, 07:48:47 am »
SUB_Style e SetMPeg4SubtitleParams do Philips DVP5980

A Sub_Style Primária do DVP5980 se confunde com a rotina conhecida como Video_Play

B1:F6FE             Sub_Style:                    ; DATA XREF: B0:B0_BS_689_B1_F6FEo
B1:F6FE                                           ; B1:B1_BS_689_B1_F6FEo ...
B1:F6FE 90 FB D2    mov     DPTR, #XRAM_FBD2
B1:F701 EE          mov     A, R6
B1:F702 F0          movx    @DPTR, A
B1:F703 A3          inc     DPTR
B1:F704 EF          mov     A, R7
B1:F705 F0          movx    @DPTR, A
B1:F706 E4          clr     A
B1:F707 FD          mov     R5, A                 ; Carrega o background zero
B1:F708 FC          mov     R4, A
B1:F709 7F 01       mov     R7, #1
B1:F70B 12 1D 2A    lcall   vPlayerShowLogo_B1BS
B1:F70B
B1:F70E 7F 03       mov     R7, #3
B1:F710 12 1D 30    lcall   B1_BS_173_B3_4C8F
B1:F710
B1:F713 7F 01       mov     R7, #1
B1:F715 12 1D 30    lcall   B1_BS_173_B3_4C8F
B1:F715
B1:F718 7F 03       mov     R7, #3
B1:F71A 12 1F 0A    lcall   B1_BS_252_B4_EA05
B1:F71A
B1:F71D 12 E2 25    lcall   SetMPeg4SubtitleParams
B1:F71D
B1:F720 7F 12       mov     R7, #0x12
B1:F722 12 1E 50    lcall   OSD_TextInit_B1BS
B1:F722
B1:F725 7F 12       mov     R7, #0x12
B1:F727 12 1E 56    lcall   B1_BS_222_B3_CE38
B1:F727
B1:F72A 22          ret


Sub_Style Secundária

B3:16B7             Sub_Style_Sec:                ; DATA XREF: OSD_Text_Init+6Bo
B3:16B7 90 FC 5B    mov     DPTR, #XRAM_FC5B      ; Tem o número da janela (OSD_Text_Init)
B3:16BA E0          movx    A, @DPTR
B3:16BB FF          mov     R7, A
B3:16BC D2 49       setb    RAM_29.1
B3:16BE 12 51 4D    lcall   OSD_Text_Params_ARM
B3:16BE
B3:16C1 90 FC 5B    mov     DPTR, #XRAM_FC5B      ; Tem o número da janela (OSD_Text_Init)
B3:16C4 E0          movx    A, @DPTR
B3:16C5 FF          mov     R7, A
B3:16C6 12 73 23    lcall   OSD_Text_Params
B3:16C6
B3:16C9 90 FC 5B    mov     DPTR, #XRAM_FC5B      ; Tem o número da janela (OSD_Text_Init)
B3:16CC E0          movx    A, @DPTR
B3:16CD FF          mov     R7, A
B3:16CE E4          clr     A                     ; Cor de contorno = 0
B3:16CF 90 FC 60    mov     DPTR, #XRAM_FC60      ; OSD_Colors
B3:16D2 F0          movx    @DPTR, A
B3:16D3 A3          inc     DPTR
B3:16D4 74 02       mov     A, #2                 ; Cor de Preenchimento = 2
B3:16D6 F0          movx    @DPTR, A
B3:16D7 7B 03       mov     R3, #3                ; Cor do fundo
B3:16D9 E4          clr     A
B3:16DA FD          mov     R5, A
B3:16DB 12 AE CA    lcall   OSD_Text_Color
B3:16DB
B3:16DE 90 FC 5B    mov     DPTR, #XRAM_FC5B      ; Tem o número da janela (OSD_Text_Init)
B3:16E1 E0          movx    A, @DPTR
B3:16E2 FF          mov     R7, A
B3:16E3 E4          clr     A
B3:16E4 FD          mov     R5, A
B3:16E5 02 C9 50    ljmp    BankSw_268_B3_C950





B1:E225             SetMPeg4SubtitleParams:       ; CODE XREF: BankSw_689_B1_F6FE+1Fp
B1:E225                                           ; BankSw_698_B1_FB93:B1_FBA2p
B1:E225 E4          clr     A                     ; Rotina onde podem ser ajustada a posicao das legendas, altura das linhas, etc
B1:E226 90 FC BD    mov     DPTR, #XRAM_FCBD      ; wX1.high
B1:E229 F0          movx    @DPTR, A
B1:E22A A3          inc     DPTR
B1:E22B F0          movx    @DPTR, A
B1:E22C 90 FC C0    mov     DPTR, #XRAM_FCC0      ; wY1.high
B1:E22F F0          movx    @DPTR, A
B1:E230 A3          inc     DPTR
B1:E231 F0          movx    @DPTR, A
B1:E232 90 FC C3    mov     DPTR, #XRAM_FCC3      ; wX2.high
B1:E235 74 02       mov     A, #2
B1:E237 F0          movx    @DPTR, A
B1:E238 A3          inc     DPTR
B1:E239 74 30       mov     A, #0x30 ; '0'
B1:E23B F0          movx    @DPTR, A
B1:E23C 90 FC C7    mov     DPTR, #XRAM_FCC7      ; wY2.high
B1:E23F E4          clr     A
B1:E240 F0          movx    @DPTR, A
B1:E241 A3          inc     DPTR
B1:E242 74 60       mov     A, #0x60 ; '`'        ; Altura da janela. Aumente se linhas estiverem deixando de aparecer
B1:E244 F0          movx    @DPTR, A
B1:E245 E4          clr     A
B1:E246 FD          mov     R5, A
B1:E247 7F 1D       mov     R7, #0x1D
B1:E249 7E 01       mov     R6, #1
B1:E24B 12 19 E8    lcall   B1_BS_33_B6_B7A7
B1:E24B
B1:E24E 7F 0A       mov     R7, #0xA              ; Fonte para as legendas DivX
B1:E250 12 1E BC    lcall   OSD_SetFont_B1BS
B1:E250
B1:E253 E4          clr     A
B1:E254 90 FB E6    mov     DPTR, #XRAM_FBE6      ; Espaço entre linhas
B1:E257 F0          movx    @DPTR, A
B1:E258 7B 09       mov     R3, #9                ; bit options
B1:E25A 7D 01       mov     R5, #1
B1:E25C 7F 12       mov     R7, #0x12
B1:E25E 12 1F 7C    lcall   PSB_Set_Param_B1BS
B1:E25E
B1:E261 7F 2C       mov     R7, #0x2C ; ','
B1:E263 7E 00       mov     R6, #0
B1:E265 12 1B C8    lcall   B1_BS_113_B5_DB60
B1:E265
B1:E268 EF          mov     A, R7
B1:E269 24 FE       add     A, #0xFE ; '¦'
B1:E26B 60 0C       jz      B1_E279
B1:E26B
B1:E26D 14          dec     A
B1:E26E 60 0E       jz      B1_E27E
B1:E26E
B1:E270 24 02       add     A, #2
B1:E272 70 18       jnz     B1_E28C
B1:E272
B1:E274 7F 0E       mov     R7, #0xE
B1:E276 02 1E BC    ljmp    OSD_SetFont_B1BS
B1:E276
B1:E279             ; ---------------------------------------------------------------------------
B1:E279
B1:E279             B1_E279:                      ; CODE XREF: SetMPeg4SubtitleParams+46j
B1:E279 7F 0C       mov     R7, #0xC
B1:E27B 02 1E BC    ljmp    OSD_SetFont_B1BS
B1:E27B
B1:E27E             ; ---------------------------------------------------------------------------
B1:E27E
B1:E27E             B1_E27E:                      ; CODE XREF: SetMPeg4SubtitleParams+49j
B1:E27E E4          clr     A
B1:E27F 90 FB E6    mov     DPTR, #XRAM_FBE6      ; Espaço entre linhas
B1:E282 F0          movx    @DPTR, A
B1:E283 7B 01       mov     R3, #1                ; bit Options
B1:E285 7D 01       mov     R5, #1
B1:E287 7F 12       mov     R7, #0x12
B1:E289 12 1F 7C    lcall   PSB_Set_Param_B1BS
B1:E289
B1:E28C
B1:E28C             B1_E28C:                      ; CODE XREF: SetMPeg4SubtitleParams+4Dj
B1:E28C 22          ret
B1:E28C
B1:E28C             ; End of function SetMPeg4SubtitleParams



Assim como o DVP5140, o DVP5980 também tem uma segunda SetMPeg4SubtitleParams:

B1:F646             SetMPeg4SubtitleParams_2:     ; DATA XREF: B0:B0_BS_682_B1_F646o
B1:F646                                           ; B1:B1_BS_682_B1_F646o ...
B1:F646 E4          clr     A                     ; Rotina onde podem ser ajustada a posicao das legendas, altura das linhas, etc
B1:F647 90 FC BD    mov     DPTR, #XRAM_FCBD      ; wX1.high
B1:F64A F0          movx    @DPTR, A
B1:F64B A3          inc     DPTR
B1:F64C F0          movx    @DPTR, A
B1:F64D 90 FC C0    mov     DPTR, #XRAM_FCC0      ; wY1.high
B1:F650 F0          movx    @DPTR, A
B1:F651 A3          inc     DPTR
B1:F652 F0          movx    @DPTR, A
B1:F653 90 FC C3    mov     DPTR, #XRAM_FCC3      ; wX2.high
B1:F656 74 02       mov     A, #2
B1:F658 F0          movx    @DPTR, A
B1:F659 A3          inc     DPTR
B1:F65A 74 30       mov     A, #0x30 ; '0'
B1:F65C F0          movx    @DPTR, A
B1:F65D 90 FC C7    mov     DPTR, #XRAM_FCC7      ; wY2.high
B1:F660 E4          clr     A
B1:F661 F0          movx    @DPTR, A
B1:F662 A3          inc     DPTR
B1:F663 74 60       mov     A, #0x60 ; '`'        ; Altura da janela. Aumente se linhas estiverem deixando de aparecer
B1:F665 F0          movx    @DPTR, A
B1:F666 E4          clr     A
B1:F667 90 FB E6    mov     DPTR, #XRAM_FBE6      ; Espaço entre linhas
B1:F66A F0          movx    @DPTR, A
B1:F66B 7B 09       mov     R3, #9                ; Bit Options
B1:F66D 7D 01       mov     R5, #1                ; alinhamento = 0x00 (esquerda), 0x01 (Centro)
B1:F66F 7F 12       mov     R7, #0x12             ; Janela da legenda
B1:F671 12 1F 7C    lcall   PSB_Set_Param_B1BS
B1:F671
B1:F674 D3          setb    C
B1:F675 22          ret
B1:F675
B1:F675             ; End of function SetMPeg4SubtitleParams_2


Com isso, temos os elementos necessários para criar menus com escolha de fontes, cor e posição para as legendas.
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 #181 Online: Agosto 19, 2007, 07:48:47 am »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #182 Online: Agosto 19, 2007, 08:09:32 am »
Dicas para localização de rotinas

Tenho que escrever essas coisas, antes que eu esqueça. Não espere entender muito do que está aqui, porque é um rascunho que posso usar para elaborar outro texto um outro dia :)

Se o firmware tiver uma SetMPeg4SubtitleParams mista (com leitura da eeprom), esta rotina é diretamente chamada por Sub_Style.

Para descobrir se o firmware tem rotinas de leituras de fontes na eeprom, mesmo que desativadas, procure pela string "DivX Subtitle" na estrutura de menus no mtkRemaker. Se o mtkRemaker não estiver achando os menus, vá no Language Code 00 e procure a string lá, pegue o seu código hexa e procure duas ocorrências seguidas dele com um editor hexadecimal. Alguns bytes à frente está o endereço eeprom usado pela fonte DivX.

Por exemplo, no DVP5980 o mtkRemaker não encontra os menus, mas o código hexa para o texto "DivX Subtitle" é 0503. Procurando "0503 0503" no firmware encontramos:

0008 FFFF 0503 0503 002C 0000 0000 0000 FF40 7000 00FF 402F FF40 36 

E 0x2C é o endereço eeprom procurado (a maioria dos firmwares Philips usa o 0x59).   

Sabendo o endereço eeprom onde está o número da fonte, procuramos por:

7F 2C 7E 00 

Todas as ocorrências dessa string são pontos onde o número da fonte é lido. Teoricamente isso só vai ocorrer na rotina SubStyle ou em rotinas chamadas por ela, como a SetMPeg4SubtitleParams mista.     

Sub_Style sempre tem pelo menos uma chamada do tipo:

B1:F720 7F 12       mov     R7, #0x12     ; onde 12 é o número da janela de legendas
B1:F722 12 1E 50    lcall   OSD_TextInit_B1BS


Sabendo onde está OSD_text_Init, olhe no seu CASE a chamada que usa o número de janela das legendas. Seguindo essa chamada você encontrará Sub_Style_Sec ou Sub_Style_2

Localizar OSD_SetFont pode ser essencial para achar Sub_Style direta ou indiretamente
« Última modificação: Agosto 27, 2007, 06:15:05 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 #183 Online: Agosto 19, 2007, 12:02:13 pm »
DVP3040K/55 : 1MB sobrando na flash!

Eu não sei porque raios eu estive assumindo até agora que o DVP3040K tinha apenas 1MB de flash. Eu imagino que foi uma combinação de fatores:

  • Todos os firmwares que vi até agora, mesmo modificados, não passavam de 1MB;
  • Todas as modificações que vi até agora foram "tímidas"
  • O mtkRemaker diz que a flash é de 1MB;
  • Eu tenho certeza de que li mais de uma vez comentários de que o DVP3040K não podia ser melhor por causa da flash limitada;

Mas o fato é que a flash do meu tem 2MB!
Vai dar para fazer muuuita coisa com o bicho!  :yahoo!:

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 #184 Online: Agosto 19, 2007, 12:17:59 pm »
Eu acabo de instalar o firmware do DVP5140 no DVP3040K e adivinhem...

Tá tudo funcionando!

Eu sou o feliz proprietário do primeiro DVP3040K do mundo com suporte a DivX Ultra:yahoo!:
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 #185 Online: Agosto 19, 2007, 10:35:12 pm »
¡Quantas novidades em um so día!  ;D

En quanto ao patch do DVP510, agora sim as fontes estão funcionando devidamente. Usei por 6-8 horas seguidas e não ouve nenhuma falha.  :yahoo!:

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 #186 Online: Agosto 20, 2007, 02:40:41 am »
[/b]Você não precisa do IDA. Se você souber usar qualquer editor hexadecimal que faça buscas de strings hexa você pode localizar as senhas adaptando as strings que vou fornecer para a sintaxe do editor. No XVI32, por exemplo, basta susbstituir todos os "?" das strings por "2E" para fazer a busca.
Interessante... ¿Você sabe qual é o wildcard '?' no UltraEdit?

Faz um tempão que estou buscando (já li a ajuda, busquei no Google e nada...)  :-[

Offline fabianr

  • Novato
  • *
  • Mensagens: 9
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware: log de descobertas
« Responder #187 Online: Agosto 20, 2007, 02:59:50 am »
Hola Jmaraujo.... en Ultraedit, elije la opcion de "regular expressions" y luego utiliza "?" como wild card para
cada uno... por ejemplo... jm?raujo, encontrara jmaraujo, jmbraujo, etc...

Saludos,
FabianR

Offline fabianr

  • Novato
  • *
  • Mensagens: 9
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware: log de descobertas
« Responder #188 Online: Agosto 20, 2007, 03:11:36 am »
Eu acabo de instalar o firmware do DVP5140 no DVP3040K e adivinhem...

Tá tudo funcionando!

Eu sou o feliz proprietário do primeiro DVP3040K do mundo com suporte a DivX Ultra:yahoo!:

Excelente Jefferson! Me encantaria tener Divx Ultra en mi 3040k.... :)   :yahoo!: 

Ahora una duda...  estuve probando tu mtkModToolbox, informa que el tamaño del frimware 5140 y 3040,
es de 1MB... al menos los dos que estan en tu "pack de firmwares de referencia".

Como te diste cuenta que tu 3040k tiene 2MB?

Saludos,
FabianR

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 #189 Online: Agosto 20, 2007, 03:25:34 am »
Hola Jmaraujo.... en Ultraedit, elije la opcion de "regular expressions" y luego utiliza "?" como wild card

O UltraEdit dix "Expresões regulares (ASCII somente)" e eu preciso poder usar um wildcard nas buscas hexadecimais.

El UltraEdit señala "Expresiones regulares (solamente ASCII)" y yo necesito el uso de un wildcard para las búsquedas hexadecimales.

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #189 Online: Agosto 20, 2007, 03:25:34 am »