Este texto tem status de rascunho – publicado em 30/06/2007
Algumas coisas que você precisa ter em mente para entender o texto desta página
- O disassemblador usado pelos programadores do grupo MT13x9 é o IDA. O IDA não é indispensável, mas ajuda muito a localizar código e entender o que se passa. Você precisa do IDA e dos scripts criados pelo grupo MT13x9, que formatam o código de uma forma “legível” (se é que se pode dizer isso de assembly);
- Você não pode modificar código no IDA. Para editar o arquivo você ainda precisa de um editor hexadecimal;
- Examinando os arquivos de script (*.idc) você pode aprender coisas interessantes, incluindo qual a seqüência de bytes usada para localizar determinadas rotinas. Quando uma determinada rotina não é detectada automaticamente você pode examinar a seqüência no script e buscando por partes dela pode acabar determinando a seqüência usada no seu firmware;
- Na notação usada pelos programadores do MT13x9, “B4:13C4” significa “offset 13C4 da página (bloco) 4 do código”. Em alguns lugares você também vai ver “B4_13C4”, que significa a mesma coisa;
- A notação hexadecimal usual para um técnico em eletrônica (pelo menos foi essa que eu aprendi) consiste em colocar o sufixo ‘h’ (ex: 22h). Neste texto eu vou usar a forma usada por programadores C, que consiste em colocar o prefixo ‘0x’ (ex: 0x22), porque esta é a notação usada no IDA e pelos programadores do grupo MT13x9;
- “XRAM” é a memória externa do 8032. Ela é usada como rascunho e para transferir valores entre rotinas.
As tabelas de controle remoto
Usualmente, um firmware Mediatek contém duas grandes tabelas que definem o que é feito quando cada tecla do controle remoto é pressionada. Uma tabela é exclusiva para DVD-Video e a outra para *.avi/*.mpg. Para simplificar, vamos chamar essas tabelas de “DVD” e “ISO” (esse é o termo usado no código-fonte).
O formato da tabela segue a estrutura de uma grande instrução CASE. Com um endereço de 16 bits (o endereço da função a executar) seguido por um valor de 8 bits (o código da respectiva tecla do remoto).
É importante notar que esse código nada tem a ver com o código transmitido pelo remoto, que pode ser completamente diferente. Esse código já é o resultado da função que decodifica o sinal do remoto e nesse ponto geralmente são os mesmos, não importando o aparelho ou remoto usado. Não é possível usar um outro controle remoto mexendo nos valores destas tabelas.
Você encontra uma relação completa dos códigos-padrão para teclas da Mediatek no arquivo IR.CFG do mtkTools 2.42 e no arquivo keydef.h do código-fonte. Nenhuma das duas tabelas bate 100% com os aparelhos que testei, mas a keydef.h é a mais próxima.
Outra coisa que vale a pena notar é que em todos os firmwares que olhei, o buffer do controle remoto sempre está no endereço XRAM_FB00. Basta procurar por menções a esse endereço no firmware para localizar todos os pontos onde o controle remoto é verificado.
Como diferenciar a tabela DVD da tabela ISO.
Em todos os firmwares que verifiquei, os códigos 0x22 e 0x23 sempre estão presentes na tabela DVD, apontando para endereços distintos. E quando estão presentes na tabela ISO, apontam para o mesmo endereço. Esses botões devem ser TITLE e MENU (no DVP-858, certamente são), que não tem função precisa quando você não está vendo um DVD-Video.
|
Exemplo de Tabela
|
|
| B4:4F76 .word B4_501F B4:4F78 .byte 0 B4:4F79 .word B4_501F B4:4F7B .byte 1 B4:4F7C .word B4_501F B4:4F7E .byte 2 B4:4F7F .word B4_501F B4:4F81 .byte 3 B4:4F82 .word B4_501F B4:4F84 .byte 4 B4:4F85 .word B4_501F B4:4F87 .byte 5 B4:4F88 .word B4_501F B4:4F8A .byte 6 B4:4F8B .word B4_501F B4:4F8D .byte 7 B4:4F8E .word B4_501F B4:4F90 .byte 8 B4:4F91 .word B4_501F B4:4F93 .byte 9 B4:4F94 .word B4_501F B4:4F96 .byte 0xA B4:4F97 .word B4_5027 B4:4F99 .byte 0xD B4:4F9A .word B4_5027 B4:4F9C .byte 0xE B4:4F9D .word B4_5027 B4:4F9F .byte 0xF B4:4FA0 .word B4_5027 B4:4FA2 .byte 0x10 B4:4FA3 .word B4_502F B4:4FA5 .byte 0x11 B4:4FA6 .word B4_5037 B4:4FA8 .byte 0x12 |
No exemplo ao lado temos o início de uma tabela, como visto no IDA. Os códigos de 0x0 a 0xA (geralmente, as teclas numéricas) retornam o endereço B4:501F e os códigos 0xD a 0x10 (geralmente as quatro setas) retornam o endereço B4: 5027
Note que esse é um padrão que serve para identificar esse bloco como uma tabela de controle remoto: A sequëncia de bytes de 0 a 9 intercalada por uma seqüência de words idênticas, seguida por uma seqüência de 0xD a 0x10 que também é intercalada por uma certa word, diferente da anterior. A partir desse ponto, cada tecla tem geralmente sua própria função. Só os blocos numéricos e de setas compartilham o mesmo endereço. |
Para localizar as tabelas
No IDA, procure por: ? ? 00 ? ? 01 ? ? 02 ? ? 03 ? ? 04 ? ? 05 ? ? 06 ? ? 07
No XVI32, procure por: E2 E2 00 E2 E2 01 E2 E2 02 E2 E2 03 E2 E2 04 E2 E2 05 E2 E2 06 E2 E2 07
Como eliminar possibilidades
Você pode sobreescrever uma parte do banco com FFFF e depois testar todas as teclas. As teclas que deveriam funcionar e passarem a apresentar o sinal de proibido estão na parte que você sobreescreveu.
Mas sobreescreva endereço e código. Senão você poderá travar o aparelho ao apertar uma tecla cujo endereço foi sobreescrito.
Dissecando as tabelas do Proview DVP-858
Abaixo, eu fiz uma tabela que agrupa as duas tabelas de remoto do Proview DVP-858. Células em preto significam que o Proview não tem uma atribuição para a respectiva tecla. Linhas inteiras em preto são códigos saltados. Células coloridas de uma mesma cor são células que apontam para a mesma rotina. Eu testei cada um dos códigos para confirmar suas funções, porque no dia do teste eu sequer sabia da existência de IR.CFG e keydef.h.
Códigos sem um “Botão Existente” são funções que poderiam ser usadas se o controle remoto tivesse as respectivas teclas.
A tabela ISO do Proview vai de B4:453F a B4:45C3 e a DVD vai de B4:4F76 a B4:501E
|
Código
|
Botão Existente
|
ISO | DVD |
Observações
|
|
0x00
|
0
|
B4:45C4
|
B4:501F
|
|
|
0x01
|
1
|
B4:45C4
|
B4:501F
|
|
|
0x02
|
2
|
B4:45C4
|
B4:501F
|
|
|
0x03
|
3
|
B4:45C4
|
B4:501F
|
|
|
0x04
|
4
|
B4:45C4
|
B4:501F
|
|
|
0x05
|
5
|
B4:45C4
|
B4:501F
|
|
|
0x06
|
6
|
B4:45C4
|
B4:501F
|
|
|
0x07
|
7
|
B4:45C4
|
B4:501F
|
|
|
0x08
|
8
|
B4:45C4
|
B4:501F
|
|
|
0x09
|
9
|
B4:45C4
|
B4:501F
|
|
|
0x0A
|
_/__
|
B4:45C4
|
B4:501F
|
|
|
0x0D
|
UP
|
B4:45CF
|
B4:5027
|
|
|
0x0E
|
LEFT
|
B4:45CF
|
B4:5027
|
|
|
0x0F
|
RIGHT
|
B4:45CF
|
B4:5027
|
|
|
0x10
|
DOWN
|
B4:45CF
|
B4:5027
|
|
|
0x11
|
B4:45CF
|
B4:502F
|
||
|
0x12
|
Play
|
B4:45DA
|
B4:5037
|
|
|
0x13
|
Pause
|
B4:45E5
|
B4:503F
|
|
|
0x14
|
Stop
|
B4:460D
|
B4:5047
|
|
|
0x15
|
Next >>|
|
B4:4618
|
B4:504F
|
|
|
0x16
|
Prev |<<
|
B4:4623
|
B4:5057
|
|
|
0x17
|
Repeat
|
B4:462E
|
B4:505F
|
|
|
0x18
|
B4:4660
|
B4:5067
|
Não identifiquei | |
|
0x19
|
FF
|
B4:466B
|
B4:506F
|
|
|
0x1A
|
REW
|
B4:4693
|
B4:5077
|
|
|
0x1B
|
Slow Forward
|
B4:46BB
|
B4:507F
|
|
|
0x1C
|
B4:5087
|
DVD: Slow Rewind | ||
|
0x1D
|
B4:46C6
|
B4:508F
|
DVD/ISO: STEP Forward | |
|
0x1E
|
B4:46D1
|
B4:5097
|
DVD: STEP Rewind. DivX:Não identifiquei | |
|
0x20
|
A-B
|
B4:46DC
|
B4:509F
|
|
|
0x22
|
Title
|
B4:46E7
|
B4:50A7
|
|
|
0x23
|
Menu
|
B4:46E7
|
B4:50AF
|
|
|
0x24
|
B4:4656
|
B4:50B7
|
Não identifiquei | |
|
0x25
|
B4:50BF
|
Não identifiquei | ||
|
0x26
|
B4:50C7
|
Não identifiquei | ||
|
0x28
|
Audio
|
B4:473E
|
B4:50CF
|
|
|
0x29
|
Subtitle
|
B4:4749
|
B4:50D7
|
|
|
0x2B
|
Angle
|
B4:4754
|
B4:50E7
|
|
|
0x2C
|
Display
|
B4:475F
|
B4:50EE
|
|
|
0x2E
|
GOTO
|
B4:4787
|
B4:50F5
|
|
|
0x2F
|
Bookmark
|
B4:4791
|
B4:50FE
|
|
|
0x31
|
B4:5105
|
Não identifiquei | ||
|
0x32
|
Browse
|
B4:479B
|
B4:510C
|
|
|
0x33
|
Prog
|
B4:47A5
|
B4:5113
|
|
|
0x34
|
B4:47AF
|
B4:511A
|
ISO: A mesma função da tecla Repeat. DVD:Shuffle | |
|
0x35
|
Virtual
|
B4:5121
|
||
|
0x39
|
B4:5128
|
Alterna entre Normal/PS, Normal/LB e Widescreen | ||
|
0x3D
|
Zoom
|
B4:47D2
|
B4:512F
|
|
|
0x3E
|
B4:47F4
|
B4:5136
|
ISO/DVD: Zoom Out | |
|
0x41
|
B4:513D
|
DVD: Parece a mesma função da tecla Audio | ||
|
0x42
|
B4:5144
|
Não identifiquei | ||
|
0x57
|
B4:514B
|
DVD: Não acontece nada. Nem mesmo o sinal de proibido. | ||
|
0x68
|
B4:5152
|
DVD: Aparece:”Digitar Senha ” na tela, com um campo para digitação de seis dígitos. | ||
|
0x69
|
B4:5159
|
DVD:Exibe “Senha do Disco” na tela e aguarda às cegas um número e PLAY | ||
|
0x70
|
Skip
|
B4:50DF
|
Teclas cujos códigos não constam da tabela acima, porque são tratadas em outros lugares:
- MUTE
- VOL+
- VOL-
- POWER
- EJECT
- SETUP
- VIDEO
- P/N
- HDMI
- USB/CARD
Como mudar o comportamento das teclas
Se todas as teclas envolvidas estiverem na tabela, é simples. Basta trocar os respectivos endereços de salto.
Por exemplo, vamos fazer com que as teclas de direção façam o papel das teclas teclas NEXT, PREV, FF e REW. O exemplo abaixo mostra os saltos originais:
|
Código
|
Botão
|
ISO | DVD |
Observações
|
|
0x0D
|
UP
|
B4:45CF
|
B4:5027
|
|
|
0x0E
|
LEFT
|
B4:45CF
|
B4:5027
|
|
|
0x0F
|
RIGHT
|
B4:45CF
|
B4:5027
|
|
|
0x10
|
DOWN
|
B4:45CF
|
B4:5027
|
|
|
0x15
|
Next >>|
|
B4:4618
|
B4:504F
|
|
|
0x16
|
Prev |<<
|
B4:4623
|
B4:5057
|
|
|
0x19
|
FF
|
B4:466B
|
B4:506F
|
|
|
0x1A
|
REW
|
B4:4693
|
B4:5077
|
Agora, com a modificação:
|
Código
|
Botão
|
ISO | DVD |
Observações
|
|
0x0D
|
UP
|
B4:4618
|
B4:504F
|
Agora faz o mesmo que NEXT |
|
0x0E
|
LEFT
|
B4:4693
|
B4:5077
|
Agora faz o mesmo que REW |
|
0x0F
|
RIGHT
|
B4:466B
|
B4:506F
|
Agora faz o mesmo que FF |
|
0x10
|
DOWN
|
B4:4623
|
B4:5057
|
Agora faz o mesmo que FWD |
|
0x15
|
Next >>|
|
B4:4618
|
B4:504F
|
Inalterado |
|
0x16
|
Prev |<<
|
B4:4623
|
B4:5057
|
Inalterado |
|
0x19
|
FF
|
B4:466B
|
B4:506F
|
Inalterado |
|
0x1A
|
REW
|
B4:4693
|
B4:5077
|
Inalterado |
Note que eu não mexi no comportamento das teclas originais NEXT, PREV, FF e REW, mas se eu quisesse que elas assumissem o comportamento original das telas UP, LEFT, RIGHT e DOWN, teria sido só uma questão de usar os endereços que sobreescrevi. Note também que eu mudei o comportamento ao mesmo tempo para ISO e DVD, mas poderia ter mudado apenas um dos dois.
Outro exemplo: Ativar uma das funções ocultas do aparelho.
Como você pode ver na minha tabela, a função STEP forward do DVP-858 existe, mas não está atribuída a tecla alguma. Vamos fazer com que ela funcione quando usarmos a tecla ANGLE em modo ISO
Original:
|
0x1D
|
B4:46C6
|
B4:508F
|
DVD/ISO: STEP Forward | |
|
0x2B
|
Angle
|
B4:4754
|
B4:50E7
|
Modificado
|
0x2B
|
Angle
|
B4:46C6
|
B4:50E7
|
Em DVD a tecla vai continuar a agir da mesma forma, mas em ISO será STEP Forward |
A tabela em outros aparelhos
Philips DVP 5965K/55 – ISO
B4:5F6D ; --------------------------------------------------------------------------- B4:5F6D B4:5F6D BankSw_625_B4_5F6D: ; DATA XREF: B0:B0_BS_625_B4_5F6Do B4:5F6D ; B1:B1_BS_625_B4_5F6Do ... B4:5F6D clr RAM_2D.5 B4:5F6F lcall BankSw_550_B4_975A B4:5F72 jnc B4_5F7C B4:5F74 mov DPTR, #XRAM_FB00 B4:5F77 mov A, #0xFF B4:5F79 movx @DPTR, A B4:5F7A clr C B4:5F7B ret B4:5F7C ; --------------------------------------------------------------------------- B4:5F7C B4:5F7C B4_5F7C: ; CODE XREF: B4:5F72j B4:5F7C mov DPTR, #XRAM_FB00 B4:5F7F movx A, @DPTR B4:5F80 mov R7, A B4:5F81 clr C B4:5F82 subb A, #0x71 ; 'q' B4:5F84 jc B4_5F87 B4:5F86 ret B4:5F87 ; --------------------------------------------------------------------------- B4:5F87 B4:5F87 B4_5F87: ; CODE XREF: B4:5F84j B4:5F87 mov A, R7 B4:5F88 lcall B4_?C?CCASE B4:5F88 ; --------------------------------------------------------------------------- B4:5F8B .word B4_600A B4:5F8D .byte 0 B4:5F8E .word B4_600A B4:5F90 .byte 1 B4:5F91 .word B4_600A B4:5F93 .byte 2 B4:5F94 .word B4_600A B4:5F96 .byte 3 B4:5F97 .word B4_600A B4:5F99 .byte 4 B4:5F9A .word B4_600A B4:5F9C .byte 5 B4:5F9D .word B4_600A B4:5F9F .byte 6 B4:5FA0 .word B4_600A B4:5FA2 .byte 7 B4:5FA3 .word B4_600A B4:5FA5 .byte 8 B4:5FA6 .word B4_600A B4:5FA8 .byte 9 B4:5FA9 .word B4_6015 B4:5FAB .byte 0xD B4:5FAC .word B4_6015 B4:5FAE .byte 0xE B4:5FAF .word B4_6015 B4:5FB1 .byte 0xF B4:5FB2 .word B4_6015 B4:5FB4 .byte 0x10 B4:5FB5 .word B4_6020 B4:5FB7 .byte 0x12 B4:5FB8 .word B4_602B B4:5FBA .byte 0x13 B4:5FBB .word B4_6053 B4:5FBD .byte 0x14 B4:5FBE .word B4_605E B4:5FC0 .byte 0x15 B4:5FC1 .word B4_6069 B4:5FC3 .byte 0x16 B4:5FC4 .word B4_6074 B4:5FC6 .byte 0x17 B4:5FC7 .word B4_60A6 B4:5FC9 .byte 0x18 B4:5FCA .word B4_60B1 B4:5FCC .byte 0x19 B4:5FCD .word B4_60D9 B4:5FCF .byte 0x1A B4:5FD0 .word B4_6101 B4:5FD2 .byte 0x1B B4:5FD3 .word B4_610C B4:5FD5 .byte 0x1D B4:5FD6 .word B4_6117 B4:5FD8 .byte 0x1E B4:5FD9 .word B4_6122 B4:5FDB .byte 0x20 B4:5FDC .word B4_612D B4:5FDE .byte 0x22 B4:5FDF .word B4_612D B4:5FE1 .byte 0x23 B4:5FE2 .word B4_609C B4:5FE4 .byte 0x24 B4:5FE5 .word B4_6184 B4:5FE7 .byte 0x28 B4:5FE8 .word B4_618F B4:5FEA .byte 0x29 B4:5FEB .word B4_619A B4:5FED .byte 0x2B B4:5FEE .word B4_61A5 B4:5FF0 .byte 0x2C B4:5FF1 .word B4_61CD B4:5FF3 .byte 0x2E B4:5FF4 .word B4_61D7 B4:5FF6 .byte 0x2F B4:5FF7 .word B4_61E1 B4:5FF9 .byte 0x32 B4:5FFA .word B4_61EB B4:5FFC .byte 0x33 B4:5FFD .word B4_61F5 B4:5FFF .byte 0x34 B4:6000 .word B4_6218 B4:6002 .byte 0x3D B4:6003 .word B4_623A B4:6005 .byte 0x3E B4:6006 .byte 0 B4:6007 .byte 0 B4:6008 .word B4_6244 B4:600A ; ---------------------------------------------------------------------------
Philips DVP 5965K/55 – DVD
B4:7A9C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ B4:7A9C B4:7A9C B4:7A9C BankSw_626_B4_7A9C: ; DATA XREF: B0:B0_BS_626_B4_7A9Co B4:7A9C ; B1:B1_BS_626_B4_7A9Co ... B4:7A9C B4:7A9C ; FUNCTION CHUNK AT B4:787B SIZE 00000004 BYTES B4:7A9C ; FUNCTION CHUNK AT B4:7880 SIZE 00000026 BYTES B4:7A9C ; FUNCTION CHUNK AT B4:78E0 SIZE 00000003 BYTES B4:7A9C B4:7A9C clr RAM_2D.5 B4:7A9E mov DPTR, #XRAM_FB00 B4:7AA1 movx A, @DPTR B4:7AA2 lcall B4_?C?CCASE B4:7AA2 ; --------------------------------------------------------------------------- B4:7AA5 .word B4_7B36 B4:7AA7 .byte 0 B4:7AA8 .word B4_7B36 B4:7AAA .byte 1 B4:7AAB .word B4_7B36 B4:7AAB ; End of function BankSw_626_B4_7A9C B4:7AAB B4:7AAD .byte 2 B4:7AAE .word B4_7B36 B4:7AB0 .byte 3 B4:7AB1 .word B4_7B36 B4:7AB3 .byte 4 B4:7AB4 .word B4_7B36 B4:7AB6 .byte 5 B4:7AB7 .word B4_7B36 B4:7AB9 .byte 6 B4:7ABA .word B4_7B36 B4:7ABC .byte 7 B4:7ABD .word B4_7B36 B4:7ABF .byte 8 B4:7AC0 .word B4_7B36 B4:7AC2 .byte 9 B4:7AC3 .word B4_7B3E B4:7AC5 .byte 0xD B4:7AC6 .word B4_7B3E B4:7AC8 .byte 0xE B4:7AC9 .word B4_7B3E B4:7ACB .byte 0xF B4:7ACC .word B4_7B3E B4:7ACE .byte 0x10 B4:7ACF .word B4_7B46 B4:7AD1 .byte 0x11 B4:7AD2 .word B4_7B4E B4:7AD4 .byte 0x12 B4:7AD5 .word B4_7B56 B4:7AD7 .byte 0x13 B4:7AD8 .word B4_7B5E B4:7ADA .byte 0x14 B4:7ADB .word B4_7B66 B4:7ADD .byte 0x15 B4:7ADE .word B4_7B6E B4:7AE0 .byte 0x16 B4:7AE1 .word B4_7B76 B4:7AE3 .byte 0x17 B4:7AE4 .word B4_7B7E B4:7AE6 .byte 0x18 B4:7AE7 .word B4_7B86 B4:7AE9 .byte 0x19 B4:7AEA .word B4_7B8E B4:7AEC .byte 0x1A B4:7AED .word B4_7B96 B4:7AEF .byte 0x1B B4:7AF0 .word B4_7B9E B4:7AF2 .byte 0x1C B4:7AF3 .word B4_7BA6 B4:7AF5 .byte 0x1D B4:7AF6 .word B4_7BAE B4:7AF8 .byte 0x1E B4:7AF9 .word B4_7BB6 B4:7AFB .byte 0x20 B4:7AFC .word B4_7BBE B4:7AFE .byte 0x22 B4:7AFF .word B4_7BC6 B4:7B01 .byte 0x23 B4:7B02 .word B4_7BCD B4:7B04 .byte 0x24 B4:7B05 .word B4_7BD4 B4:7B07 .byte 0x28 B4:7B08 .word B4_7BDB B4:7B0A .byte 0x29 B4:7B0B .word B4_7BE2 B4:7B0D .byte 0x2B B4:7B0E .word B4_7BE9 B4:7B10 .byte 0x2C B4:7B11 .word B4_7BF0 B4:7B13 .byte 0x2E B4:7B14 .word B4_7BF9 B4:7B16 .byte 0x2F B4:7B17 .word B4_7C00 B4:7B19 .byte 0x31 B4:7B1A .word B4_7C07 B4:7B1C .byte 0x32 B4:7B1D .word B4_7C0E B4:7B1F .byte 0x33 B4:7B20 .word B4_7C15 B4:7B22 .byte 0x34 B4:7B23 .word B4_7C1C B4:7B25 .byte 0x39 B4:7B26 .word B4_7C23 B4:7B28 .byte 0x3D B4:7B29 .word B4_7C2A B4:7B2B .byte 0x3E B4:7B2C .word B4_7C31 B4:7B2E .byte 0x57 B4:7B2F .word B4_7C38 B4:7B31 .byte 0x68 B4:7B32 .byte 0 B4:7B33 .byte 0 B4:7B34 .word B4_7C3F B4:7B36 ; ---------------------------------------------------------------------------
Lenoxx DV-406 – ISO
B4:13FC ; --------------------------------------------------------------------------- B4:13FC B4:13FC BankSw_485_B4_13FC: ; DATA XREF: B0:B0_BS_485_B4_13FCo B4:13FC ; B1:B1_BS_485_B4_13FCo ... B4:13FC clr RAM_27.4 B4:13FE mov DPTR, #XRAM_FB00 B4:1401 movx A, @DPTR B4:1402 mov R7, A B4:1403 xrl A, #0x2B B4:1405 jz B4_1410 B4:1407 mov A, R7 B4:1408 xrl A, #0x3D B4:140A jz B4_1410 B4:140C mov A, R7 B4:140D cjne A, #0x29, B4_1424 ; ')' B4:1410 B4:1410 B4_1410: ; CODE XREF: B4:1405j B4:140Aj B4:1410 mov R7, #2 B4:1412 lcall B4_BS_45_B1_9285 B4:1415 jnc B4_1424 B4:1417 mov R3, #4 B4:1419 mov R5, #0x39 ; '9' B4:141B mov R4, #0 B4:141D mov R7, #2 B4:141F mov R6, #7 B4:1421 lcall B4_BS_101_B3_6B05 B4:1424 B4:1424 B4_1424: ; CODE XREF: B4:140Dj B4:1415j B4:1424 lcall B4_BS_405_B1_7B1E B4:1427 jnc B4_142B B4:1429 clr C B4:142A ret B4:142B ; --------------------------------------------------------------------------- B4:142B B4:142B B4_142B: ; CODE XREF: B4:1427j B4:142B mov DPTR, #XRAM_FB00 B4:142E movx A, @DPTR B4:142F mov R7, A B4:1430 clr C B4:1431 subb A, #0x84 ; 'ä' B4:1433 jc B4_1436 B4:1435 ret B4:1436 ; --------------------------------------------------------------------------- B4:1436 B4:1436 B4_1436: ; CODE XREF: B4:1433j B4:1436 mov A, R7 B4:1437 lcall B4_?C?CCASE B4:1437 ; --------------------------------------------------------------------------- B4:143A .word B4_14B0 B4:143C .byte 0 B4:143D .word B4_14B0 B4:143F .byte 1 B4:1440 .word B4_14B0 B4:1442 .byte 2 B4:1443 .word B4_14B0 B4:1445 .byte 3 B4:1446 .word B4_14B0 B4:1448 .byte 4 B4:1449 .word B4_14B0 B4:144B .byte 5 B4:144C .word B4_14B0 B4:144E .byte 6 B4:144F .word B4_14B0 B4:1451 .byte 7 B4:1452 .word B4_14B0 B4:1454 .byte 8 B4:1455 .word B4_14B0 B4:1457 .byte 9 B4:1458 .word B4_14BB B4:145A .byte 0xD B4:145B .word B4_14BB B4:145D .byte 0xE B4:145E .word B4_14BB B4:1460 .byte 0xF B4:1461 .word B4_14BB B4:1463 .byte 0x10 B4:1464 .word B4_14C6 B4:1466 .byte 0x12 B4:1467 .word B4_14D1 B4:1469 .byte 0x13 B4:146A .word B4_14F9 B4:146C .byte 0x14 B4:146D .word B4_1544 B4:146F .byte 0x15 B4:1470 .word B4_1583 B4:1472 .byte 0x16 B4:1473 .word B4_15C2 B4:1475 .byte 0x17 B4:1476 .word B4_15EA B4:1478 .byte 0x18 B4:1479 .word B4_15F5 B4:147B .byte 0x19 B4:147C .word B4_1652 B4:147E .byte 0x1A B4:147F .word B4_16AF B4:1481 .byte 0x1B B4:1482 .word B4_16BA B4:1484 .byte 0x1D B4:1485 .word B4_16C5 B4:1487 .byte 0x1E B4:1488 .word B4_16D0 B4:148A .byte 0x20 B4:148B .word B4_16F2 B4:148D .byte 0x28 B4:148E .word B4_1714 B4:1490 .byte 0x29 B4:1491 .word B4_171F B4:1493 .byte 0x2B B4:1494 .word B4_172A B4:1496 .byte 0x2C B4:1497 .word B4_1787 B4:1499 .byte 0x2E B4:149A .word B4_1792 B4:149C .byte 0x2F B4:149D .word B4_17BA B4:149F .byte 0x32 B4:14A0 .word B4_17DC B4:14A2 .byte 0x33 B4:14A3 .word B4_1803 B4:14A5 .byte 0x34 B4:14A6 .word B4_1834 B4:14A8 .byte 0x3D B4:14A9 .word B4_1851 B4:14AB .byte 0x3E B4:14AC .byte 0 B4:14AD .byte 0 B4:14AE .word B4_185B B4:14B0 ; ---------------------------------------------------------------------------
Lenoxx DV-406 – DVD
B4:2D01 ; --------------------------------------------------------------------------- B4:2D01 B4:2D01 BankSw_486_B4_2D01: ; DATA XREF: B0:B0_BS_486_B4_2D01o B4:2D01 ; B1:B1_BS_486_B4_2D01o ... B4:2D01 clr RAM_27.4 B4:2D03 mov DPTR, #XRAM_FC17 B4:2D06 movx A, @DPTR B4:2D07 anl A, #0xFD B4:2D09 movx @DPTR, A B4:2D0A mov DPTR, #XRAM_FB00 B4:2D0D movx A, @DPTR B4:2D0E lcall B4_?C?CCASE B4:2D0E ; --------------------------------------------------------------------------- B4:2D11 .word B4_2DA5 B4:2D13 .byte 0 B4:2D14 .word B4_2DA5 B4:2D16 .byte 1 B4:2D17 .word B4_2DA5 B4:2D19 .byte 2 B4:2D1A .word B4_2DA5 B4:2D1C .byte 3 B4:2D1D .word B4_2DA5 B4:2D1F .byte 4 B4:2D20 .word B4_2DA5 B4:2D22 .byte 5 B4:2D23 .word B4_2DA5 B4:2D25 .byte 6 B4:2D26 .word B4_2DA5 B4:2D28 .byte 7 B4:2D29 .word B4_2DA5 B4:2D2B .byte 8 B4:2D2C .word B4_2DA5 B4:2D2E .byte 9 B4:2D2F .word B4_2DAD B4:2D31 .byte 0xD B4:2D32 .word B4_2DAD B4:2D34 .byte 0xE B4:2D35 .word B4_2DAD B4:2D37 .byte 0xF B4:2D38 .word B4_2DAD B4:2D3A .byte 0x10 B4:2D3B .word B4_2DB5 B4:2D3D .byte 0x11 B4:2D3E .word B4_2DBD B4:2D40 .byte 0x12 B4:2D41 .word B4_2DC5 B4:2D43 .byte 0x13 B4:2D44 .word B4_2DCD B4:2D46 .byte 0x14 B4:2D47 .word B4_2DD5 B4:2D49 .byte 0x15 B4:2D4A .word B4_2DDD B4:2D4C .byte 0x16 B4:2D4D .word B4_2DE5 B4:2D4F .byte 0x17 B4:2D50 .word B4_2DED B4:2D52 .byte 0x18 B4:2D53 .word B4_2DF5 B4:2D55 .byte 0x19 B4:2D56 .word B4_2DFD B4:2D58 .byte 0x1A B4:2D59 .word B4_2E05 B4:2D5B .byte 0x1B B4:2D5C .word B4_2E0D B4:2D5E .byte 0x1C B4:2D5F .word B4_2E15 B4:2D61 .byte 0x1D B4:2D62 .word B4_2E1D B4:2D64 .byte 0x1E B4:2D65 .word B4_2E25 B4:2D67 .byte 0x20 B4:2D68 .word B4_2E2D B4:2D6A .byte 0x22 B4:2D6B .word B4_2E35 B4:2D6D .byte 0x23 B4:2D6E .word B4_2E3D B4:2D70 .byte 0x24 B4:2D71 .word B4_2E45 B4:2D73 .byte 0x28 B4:2D74 .word B4_2E58 B4:2D76 .byte 0x29 B4:2D77 .word B4_2E5F B4:2D79 .byte 0x2B B4:2D7A .word B4_2E66 B4:2D7C .byte 0x2C B4:2D7D .word B4_2E6D B4:2D7F .byte 0x2E B4:2D80 .word B4_2E76 B4:2D82 .byte 0x2F B4:2D83 .word B4_2E7D B4:2D85 .byte 0x31 B4:2D86 .word B4_2E84 B4:2D88 .byte 0x32 B4:2D89 .word B4_2E8B B4:2D8B .byte 0x33 B4:2D8C .word B4_2E92 B4:2D8E .byte 0x34 B4:2D8F .word B4_2E99 B4:2D91 .byte 0x39 B4:2D92 .word B4_2EA0 B4:2D94 .byte 0x3D B4:2D95 .word B4_2EA7 B4:2D97 .byte 0x3E B4:2D98 .word B4_2E4C B4:2D9A .byte 0x51 B4:2D9B .word B4_2EAE B4:2D9D .byte 0x57 B4:2D9E .word B4_2EB5 B4:2DA0 .byte 0x7F B4:2DA1 .byte 0 B4:2DA2 .byte 0 B4:2DA3 .word B4_2EBC B4:2DA5 ; ---------------------------------------------------------------------------
Philips DVP3040K/55 – ISO
B1:48EB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ B1:48EB B1:48EB B1:48EB BankSw_483_B1_48EB: ; DATA XREF: B0:B0_BS_483_B1_48EBo B1:48EB ; B1:B1_BS_483_B1_48EBo ... B1:48EB clr RAM_27.5 B1:48ED lcall BankSw_603_B1_879C B1:48F0 jnc B1_48FA B1:48F2 mov DPTR, #XRAM_FB00 B1:48F5 mov A, #0xFF B1:48F7 movx @DPTR, A B1:48F8 clr C B1:48F9 ret B1:48FA ; --------------------------------------------------------------------------- B1:48FA B1:48FA B1_48FA: ; CODE XREF: BankSw_483_B1_48EB+5j B1:48FA mov DPTR, #XRAM_FB00 B1:48FD movx A, @DPTR B1:48FE mov R7, A B1:48FF clr C B1:4900 subb A, #0x71 ; 'q' B1:4902 jc B1_4905 B1:4904 ret B1:4905 ; --------------------------------------------------------------------------- B1:4905 B1:4905 B1_4905: ; CODE XREF: BankSw_483_B1_48EB+17j B1:4905 mov A, R7 B1:4906 lcall B1_?C?CCASE B1:4906 ; --------------------------------------------------------------------------- B1:4909 .word B1_497F B1:490B .byte 0 B1:490C .word B1_497F B1:490E .byte 1 B1:490F .word B1_497F B1:4911 .byte 2 B1:4912 .word B1_497F B1:4914 .byte 3 B1:4915 .word B1_497F B1:4917 .byte 4 B1:4918 .word B1_497F B1:491A .byte 5 B1:491B .word B1_497F B1:491D .byte 6 B1:491E .word B1_497F B1:4920 .byte 7 B1:4921 .word B1_497F B1:4923 .byte 8 B1:4924 .word B1_497F B1:4926 .byte 9 B1:4927 .word B1_498A B1:4929 .byte 0xD B1:492A .word B1_498A B1:492C .byte 0xE B1:492D .word B1_498A B1:492F .byte 0xF B1:4930 .word B1_498A B1:4932 .byte 0x10 B1:4933 .word B1_4995 B1:4935 .byte 0x12 B1:4936 .word B1_49A0 B1:4938 .byte 0x13 B1:4939 .word B1_49C8 B1:493B .byte 0x14 B1:493C .word B1_49D3 B1:493E .byte 0x15 B1:493F .word B1_49DE B1:4941 .byte 0x16 B1:4942 .word B1_49E9 B1:4944 .byte 0x17 B1:4945 .word B1_4A11 B1:4947 .byte 0x18 B1:4948 .word B1_4A1C B1:494A .byte 0x19 B1:494B .word B1_4A44 B1:494D .byte 0x1A B1:494E .word B1_4A6C B1:4950 .byte 0x1B B1:4951 .word B1_4A77 B1:4953 .byte 0x1D B1:4954 .word B1_4A82 B1:4956 .byte 0x1E B1:4957 .word B1_4A8D B1:4959 .byte 0x20 B1:495A .word B1_4A98 B1:495C .byte 0x28 B1:495D .word B1_4AA3 B1:495F .byte 0x29 B1:4960 .word B1_4AAE B1:4962 .byte 0x2B B1:4963 .word B1_4AB9 B1:4965 .byte 0x2C B1:4966 .word B1_4AE1 B1:4968 .byte 0x2E B1:4969 .word B1_4AEB B1:496B .byte 0x2F B1:496C .word B1_4AF5 B1:496E .byte 0x32 B1:496F .word B1_4AFF B1:4971 .byte 0x33 B1:4972 .word B1_4B09 B1:4974 .byte 0x34 B1:4975 .word B1_4B2C B1:4977 .byte 0x3D B1:4978 .word B1_4B4E B1:497A .byte 0x3E B1:497B .byte 0 B1:497C .byte 0 B1:497D .word B1_4B58 B1:497F ; ---------------------------------------------------------------------------
Philips DVP3040K/55 – DVD
B1:5F9E ; --------------------------------------------------------------------------- B1:5F9E B1:5F9E BankSw_484_B1_5F9E: ; DATA XREF: B0:B0_BS_484_B1_5F9Eo B1:5F9E ; B1:B1_BS_484_B1_5F9Eo ... B1:5F9E clr RAM_27.5 B1:5FA0 mov DPTR, #XRAM_FB00 B1:5FA3 movx A, @DPTR B1:5FA4 lcall B1_?C?CCASE B1:5FA4 ; --------------------------------------------------------------------------- B1:5FA7 .word B1_6038 B1:5FA9 .byte 0 B1:5FAA .word B1_6038 B1:5FAC .byte 1 B1:5FAD .word B1_6038 B1:5FAF .byte 2 B1:5FB0 .word B1_6038 B1:5FB2 .byte 3 B1:5FB3 .word B1_6038 B1:5FB5 .byte 4 B1:5FB6 .word B1_6038 B1:5FB8 .byte 5 B1:5FB9 .word B1_6038 B1:5FBB .byte 6 B1:5FBC .word B1_6038 B1:5FBE .byte 7 B1:5FBF .word B1_6038 B1:5FC1 .byte 8 B1:5FC2 .word B1_6038 B1:5FC4 .byte 9 B1:5FC5 .word B1_6040 B1:5FC7 .byte 0xD B1:5FC8 .word B1_6040 B1:5FCA .byte 0xE B1:5FCB .word B1_6040 B1:5FCD .byte 0xF B1:5FCE .word B1_6040 B1:5FD0 .byte 0x10 B1:5FD1 .word B1_6048 B1:5FD3 .byte 0x11 B1:5FD4 .word B1_6050 B1:5FD6 .byte 0x12 B1:5FD7 .word B1_6058 B1:5FD9 .byte 0x13 B1:5FDA .word B1_6060 B1:5FDC .byte 0x14 B1:5FDD .word B1_6068 B1:5FDF .byte 0x15 B1:5FE0 .word B1_6070 B1:5FE2 .byte 0x16 B1:5FE3 .word B1_6078 B1:5FE5 .byte 0x17 B1:5FE6 .word B1_6080 B1:5FE8 .byte 0x18 B1:5FE9 .word B1_6088 B1:5FEB .byte 0x19 B1:5FEC .word B1_6090 B1:5FEE .byte 0x1A B1:5FEF .word B1_6098 B1:5FF1 .byte 0x1B B1:5FF2 .word B1_60A0 B1:5FF4 .byte 0x1C B1:5FF5 .word B1_60A8 B1:5FF7 .byte 0x1D B1:5FF8 .word B1_60B0 B1:5FFA .byte 0x1E B1:5FFB .word B1_60B8 B1:5FFD .byte 0x20 B1:5FFE .word B1_60C0 B1:6000 .byte 0x22 B1:6001 .word B1_60C8 B1:6003 .byte 0x23 B1:6004 .word B1_60CF B1:6006 .byte 0x24 B1:6007 .word B1_60D6 B1:6009 .byte 0x28 B1:600A .word B1_60DD B1:600C .byte 0x29 B1:600D .word B1_60E4 B1:600F .byte 0x2B B1:6010 .word B1_60EB B1:6012 .byte 0x2C B1:6013 .word B1_60F2 B1:6015 .byte 0x2E B1:6016 .word B1_60FB B1:6018 .byte 0x2F B1:6019 .word B1_6102 B1:601B .byte 0x31 B1:601C .word B1_6109 B1:601E .byte 0x32 B1:601F .word B1_6110 B1:6021 .byte 0x33 B1:6022 .word B1_6117 B1:6024 .byte 0x34 B1:6025 .word B1_611E B1:6027 .byte 0x39 B1:6028 .word B1_6125 B1:602A .byte 0x3D B1:602B .word B1_612C B1:602D .byte 0x3E B1:602E .word B1_6133 B1:6030 .byte 0x57 B1:6031 .word B1_613A B1:6033 .byte 0x68 B1:6034 .byte 0 B1:6035 .byte 0 B1:6036 .word B1_6141 B1:6038 ; ---------------------------------------------------------------------------
JTEC MTK 7000 – ISO
B4:3C40 ; --------------------------------------------------------------------------- B4:3C40 B4:3C40 BankSw_505_B4_3C40: ; DATA XREF: B0:B0_BS_505_B4_3C40o B4:3C40 ; B1:B1_BS_505_B4_3C40o ... B4:3C40 clr RAM_27.4 B4:3C42 lcall B4_BS_428_B1_7B99 B4:3C45 jnc B4_3C49 B4:3C47 clr C B4:3C48 ret B4:3C49 ; --------------------------------------------------------------------------- B4:3C49 B4:3C49 B4_3C49: ; CODE XREF: B4:3C45j B4:3C49 mov DPTR, #XRAM_FB00 B4:3C4C movx A, @DPTR B4:3C4D mov R7, A B4:3C4E clr C B4:3C4F subb A, #0x6D ; 'm' B4:3C51 jc B4_3C55 B4:3C53 clr C B4:3C54 ret B4:3C55 ; --------------------------------------------------------------------------- B4:3C55 B4:3C55 B4_3C55: ; CODE XREF: B4:3C51j B4:3C55 mov A, R7 B4:3C56 lcall B4_?C?CCASE B4:3C56 ; --------------------------------------------------------------------------- B4:3C59 .word B4_3CD2 B4:3C5B .byte 0 B4:3C5C .word B4_3CD2 B4:3C5E .byte 1 B4:3C5F .word B4_3CD2 B4:3C61 .byte 2 B4:3C62 .word B4_3CD2 B4:3C64 .byte 3 B4:3C65 .word B4_3CD2 B4:3C67 .byte 4 B4:3C68 .word B4_3CD2 B4:3C6A .byte 5 B4:3C6B .word B4_3CD2 B4:3C6D .byte 6 B4:3C6E .word B4_3CD2 B4:3C70 .byte 7 B4:3C71 .word B4_3CD2 B4:3C73 .byte 8 B4:3C74 .word B4_3CD2 B4:3C76 .byte 9 B4:3C77 .word B4_3CD2 B4:3C79 .byte 0xA B4:3C7A .word B4_3CDD B4:3C7C .byte 0xD B4:3C7D .word B4_3CDD B4:3C7F .byte 0xE B4:3C80 .word B4_3CDD B4:3C82 .byte 0xF B4:3C83 .word B4_3CDD B4:3C85 .byte 0x10 B4:3C86 .word B4_3CE8 B4:3C88 .byte 0x12 B4:3C89 .word B4_3CF3 B4:3C8B .byte 0x13 B4:3C8C .word B4_3D1B B4:3C8E .byte 0x14 B4:3C8F .word B4_3D26 B4:3C91 .byte 0x15 B4:3C92 .word B4_3D31 B4:3C94 .byte 0x16 B4:3C95 .word B4_3D3C B4:3C97 .byte 0x17 B4:3C98 .word B4_3D64 B4:3C9A .byte 0x18 B4:3C9B .word B4_3D6F B4:3C9D .byte 0x19 B4:3C9E .word B4_3D97 B4:3CA0 .byte 0x1A B4:3CA1 .word B4_3DBF B4:3CA3 .byte 0x1B B4:3CA4 .word B4_3DCA B4:3CA6 .byte 0x1D B4:3CA7 .word B4_3DD5 B4:3CA9 .byte 0x1E B4:3CAA .word B4_3DE0 B4:3CAC .byte 0x20 B4:3CAD .word B4_3DEB B4:3CAF .byte 0x28 B4:3CB0 .word B4_3DF6 B4:3CB2 .byte 0x29 B4:3CB3 .word B4_3E01 B4:3CB5 .byte 0x2B B4:3CB6 .word B4_3E0C B4:3CB8 .byte 0x2C B4:3CB9 .word B4_3E34 B4:3CBB .byte 0x2E B4:3CBC .word B4_3E3E B4:3CBE .byte 0x2F B4:3CBF .word B4_3E48 B4:3CC1 .byte 0x32 B4:3CC2 .word B4_3E52 B4:3CC4 .byte 0x33 B4:3CC5 .word B4_3E5C B4:3CC7 .byte 0x34 B4:3CC8 .word B4_3E7F B4:3CCA .byte 0x3D B4:3CCB .word B4_3EA1 B4:3CCD .byte 0x3E B4:3CCE .byte 0 B4:3CCF .byte 0 B4:3CD0 .word B4_3EAB B4:3CD2 ; ---------------------------------------------------------------------------
JTEC MTK 7000 – DVD
B4:4293 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ B4:4293 B4:4293 B4:4293 BankSw_506_B4_4293: ; DATA XREF: B0:B0_BS_506_B4_4293o B4:4293 ; B1:B1_BS_506_B4_4293o ... B4:4293 clr RAM_27.4 B4:4295 mov DPTR, #XRAM_FB00 B4:4298 movx A, @DPTR B4:4299 lcall B4_?C?CCASE B4:4299 ; --------------------------------------------------------------------------- B4:429C .word B4_4333 B4:429E .byte 0 B4:429F .word B4_4333 B4:42A1 .byte 1 B4:42A2 .word B4_4333 B4:42A4 .byte 2 B4:42A5 .word B4_4333 B4:42A7 .byte 3 B4:42A8 .word B4_4333 B4:42AA .byte 4 B4:42AB .word B4_4333 B4:42AD .byte 5 B4:42AE .word B4_4333 B4:42B0 .byte 6 B4:42B1 .word B4_4333 B4:42B3 .byte 7 B4:42B4 .word B4_4333 B4:42B6 .byte 8 B4:42B7 .word B4_4333 B4:42B9 .byte 9 B4:42BA .word B4_4333 B4:42BC .byte 0xA B4:42BD .word B4_433B B4:42BF .byte 0xD B4:42C0 .word B4_433B B4:42C2 .byte 0xE B4:42C3 .word B4_433B B4:42C5 .byte 0xF B4:42C6 .word B4_433B B4:42C8 .byte 0x10 B4:42C9 .word B4_4343 B4:42CB .byte 0x11 B4:42CC .word B4_434B B4:42CE .byte 0x12 B4:42CF .word B4_4353 B4:42D1 .byte 0x13 B4:42D2 .word B4_435B B4:42D4 .byte 0x14 B4:42D5 .word B4_4363 B4:42D7 .byte 0x15 B4:42D8 .word B4_436B B4:42DA .byte 0x16 B4:42DB .word B4_4373 B4:42DD .byte 0x17 B4:42DE .word B4_437B B4:42E0 .byte 0x18 B4:42E1 .word B4_4383 B4:42E3 .byte 0x19 B4:42E4 .word B4_438B B4:42E6 .byte 0x1A B4:42E7 .word B4_4393 B4:42E9 .byte 0x1B B4:42EA .word B4_439B B4:42EC .byte 0x1C B4:42ED .word B4_43A3 B4:42EF .byte 0x1D B4:42F0 .word B4_43AB B4:42F2 .byte 0x1E B4:42F3 .word B4_43B3 B4:42F5 .byte 0x20 B4:42F6 .word B4_43BB B4:42F8 .byte 0x22 B4:42F9 .word B4_43C3 B4:42FB .byte 0x23 B4:42FC .word B4_43CB B4:42FE .byte 0x24 B4:42FF .word B4_43D3 B4:4301 .byte 0x28 B4:4302 .word B4_43DA B4:4304 .byte 0x29 B4:4305 .word B4_43E1 B4:4307 .byte 0x2B B4:4308 .word B4_43E8 B4:430A .byte 0x2C B4:430B .word B4_43EF B4:430D .byte 0x2E B4:430E .word B4_43F8 B4:4310 .byte 0x2F B4:4311 .word B4_43FF B4:4313 .byte 0x31 B4:4314 .word B4_4406 B4:4316 .byte 0x32 B4:4316 ; End of function BankSw_506_B4_4293 B4:4316 B4:4317 .word B4_440D B4:4319 .byte 0x33 B4:431A .word B4_4414 B4:431C .byte 0x34 B4:431D .word B4_441B B4:431F .byte 0x35 B4:4320 .word B4_4422 B4:4322 .byte 0x39 B4:4323 .word B4_4429 B4:4325 .byte 0x3D B4:4326 .word B4_4430 B4:4328 .byte 0x3E B4:4329 .word B4_4437 B4:432B .byte 0x57 B4:432C .word B4_443E B4:432E .byte 0x68 B4:432F .byte 0 B4:4330 .byte 0 B4:4331 .word B4_4445 B4:4333 ; ---------------------------------------------------------------------------
Textos Relacionados
- Como conectar um player baseado em Mediatek ao PC, via porta serial;
- Como alterar a tela de background dos players baseados em Mediatek;
- Como identificar a CPU que seu DivX player usa sem abrir o aparelho;
Esta página foi visualizada vezes desde 30/06/07.
Leave a Reply