Enviado por: RodrigoFG
« Online: Outubro 21, 2009, 07:05:16 pm »Que péssima notícia, estava ansioso e acompanhando o site toda semana. Espero que você consiga ressucitar o player.
Que coisa mais chata, zeurt.
Você sabe se isso está relacionado com as alterações no buffer primário ou com a inclusão de mais fontes de 479 caracteres? Ou foi outra coisa?
(...) para tentar fazer uns malabarismos e recussitar o aparelho sem soldar o cabo ou o conector na porta serial (já que não tenho a menor condição de fazer isso).
1- Não entendi como você fez o artifício contra a problema do limite de tamaho do buffer primário. Assim, acho que no meu esboço falta isso.
Acabei de descobrir que eu inventei o BLNE.
0C 1C FIM2 ADDS R4, R1, #0
00 5D LDRB R0, [R0,R4]
0D 28 CMP R0, #0xD
XX XX BNE COMPLEMENTO
12 BC POP {R1,R4}
70 47 BX LR ; continua rotina anterior
00 5D FIM1 LDRB R0, [R0,R4] ; retorna sem mudar nada
0D 28 CMP R0, #0xD
XX XX BNE COMPLEMENTO
12 BC POP {R1,R4}
70 47 BX LR ; continua rotina anterior
XX XX XX XX COMPLEMENTO BL loc_6DD58
ROM:0006DD22 80 48 LDR R0, =unk_865F0
ROM:0006DD24 00 5D LDRB R0, [R0,R4] ; ESQUEÇI QUE O DESVIO QUE COLOCARIA AQUI OCUPA 4 BYTES
ROM:0006DD26 0D 28 CMP R0, #0xD
ROM:0006DD28 16 D1 BNE loc_6DD58
ROM:0006DD22 80 48 LDR R0, =unk_865F0
ROM:0006DD24 XX XX XX XX BL NOVA ROTINA
ROM:0006DD26 XX XX NOP
0C 1C FIM2 ADDS R4, R1, #0
12 BC POP {R1,R4}
XX XX XX XX BL 6DD26 ; continua rotina anterior
00 5D FIM1 LDRB R0, [R0,R4] ; retorna sem mudar nada
12 BC POP {R1,R4}
XX XX XX XX BL 6DD26 ; continua rotina anterior
0C 1C FIM2 ADDS R4, R1, #0
00 5D LDRB R0, [R0,R4]
0D 28 CMP R0, #0xD
XX XX XX XX BLNE loc_6DD58
12 BC POP {R1,R4}
XX XX BX LR ; continua rotina anterior
00 5D FIM1 LDRB R0, [R0,R4] ; retorna sem mudar nada
0D 28 CMP R0, #0xD
XX XX XX XX BLNE loc_6DD58
12 BC POP {R1,R4}
XX XX BX LR ; continua rotina anterior
ROM:0006DD10 ; =============== S U B R O U T I N E =======================================
ROM:0006DD10
ROM:0006DD10
ROM:0006DD10 sub_6DD10 ; CODE XREF: sub_6DE6C+52p
ROM:0006DD10 ; sub_6DE6C+62p
ROM:0006DD10 F8 B5 PUSH {R3-R7,LR}
ROM:0006DD12 00 26 MOVS R6, #0
ROM:0006DD14 00 25 MOVS R5, #0
ROM:0006DD16 00 20 MOVS R0, #0
ROM:0006DD18 F2 F7 56 F8 BL sub_5FDC8
ROM:0006DD1C 85 4F LDR R7, =unk_85FF4
ROM:0006DD1E
ROM:0006DD1E loc_6DD1E ; CODE XREF: sub_6DD10+7Ej
ROM:0006DD1E 00 24 MOVS R4, #0
ROM:0006DD20 23 E0 B loc_6DD6A
ROM:0006DD22 ; ---------------------------------------------------------------------------
ROM:0006DD22
ROM:0006DD22 loc_6DD22 ; CODE XREF: sub_6DD10+5Cj
ROM:0006DD22 80 48 LDR R0, =unk_865F0
ROM:0006DD24 00 5D LDRB R0, [R0,R4] ; COLOCAR O DESVIO PARA FILTROS DE ITALICO AQUI
ROM:0006DD26 0D 28 CMP R0, #0xD
ROM:0006DD28 16 D1 BNE loc_6DD58
ROM:0006DD2A 00 22 MOVS R2, #0
ROM:0006DD2C 01 21 MOVS R1, #1
ROM:0006DD2E 20 1C ADDS R0, R4, #0
ROM:0006DD30 F2 F7 20 F8 BL sub_5FD74
ROM:0006DD34 FF F7 5D FF BL sub_6DBF2
ROM:0006DD38 00 28 CMP R0, #0
ROM:0006DD3A 13 D0 BEQ loc_6DD64
ROM:0006DD3C 01 36 ADDS R6, #1
ROM:0006DD3E 01 2E CMP R6, #1
ROM:0006DD40 15 D1 BNE loc_6DD6E
ROM:0006DD42 B2 2D CMP R5, #0xB2 ; '¦'
ROM:0006DD44 13 D2 BCS loc_6DD6E
ROM:0006DD46 EA 19 ADDS R2, R5, R7
ROM:0006DD48 0D 21 MOVS R1, #0xD
ROM:0006DD4A 91 70 STRB R1, [R2,#2]
ROM:0006DD4C 68 1C ADDS R0, R5, #1
ROM:0006DD4E 45 1C ADDS R5, R0, #1
ROM:0006DD50 0A 21 MOVS R1, #0xA
ROM:0006DD52 C0 19 ADDS R0, R0, R7
ROM:0006DD54 81 70 STRB R1, [R0,#2]
ROM:0006DD56 0A E0 B loc_6DD6E
ROM:0006DD58 ; ---------------------------------------------------------------------------
ROM:0006DD58
ROM:0006DD58 loc_6DD58 ; CODE XREF: sub_6DD10+18j
ROM:0006DD58 01 1C ADDS R1, R0, #0
ROM:0006DD5A 28 1C ADDS R0, R5, #0
ROM:0006DD5C 01 35 ADDS R5, #1
ROM:0006DD5E C0 19 ADDS R0, R0, R7
ROM:0006DD60 81 70 STRB R1, [R0,#2]
ROM:0006DD62 00 26 MOVS R6, #0
ROM:0006DD64
ROM:0006DD64 loc_6DD64 ; CODE XREF: sub_6DD10+2Aj
ROM:0006DD64 01 34 ADDS R4, #1
ROM:0006DD66 08 2C CMP R4, #8
ROM:0006DD68 01 D2 BCS loc_6DD6E
ROM:0006DD6A
ROM:0006DD6A loc_6DD6A ; CODE XREF: sub_6DD10+10j
ROM:0006DD6A B4 2D CMP R5, #0xB4 ; '¦'
ROM:0006DD6C D9 D3 BCC loc_6DD22
ROM:0006DD6E
ROM:0006DD6E loc_6DD6E ; CODE XREF: sub_6DD10+30j
ROM:0006DD6E ; sub_6DD10+34j ...
ROM:0006DD6E 08 2C CMP R4, #8
ROM:0006DD70 04 D1 BNE loc_6DD7C
ROM:0006DD72 00 22 MOVS R2, #0
ROM:0006DD74 01 21 MOVS R1, #1
ROM:0006DD76 08 20 MOVS R0, #8
ROM:0006DD78 F1 F7 FC FF BL sub_5FD74
ROM:0006DD7C
ROM:0006DD7C loc_6DD7C ; CODE XREF: sub_6DD10+60j
ROM:0006DD7C 00 20 MOVS R0, #0
ROM:0006DD7E F2 F7 23 F8 BL sub_5FDC8
ROM:0006DD82 02 2E CMP R6, #2
ROM:0006DD84 02 D1 BNE loc_6DD8C
ROM:0006DD86 28 1C ADDS R0, R5, #0
ROM:0006DD88 FE 30 ADDS R0, #0xFE ; '¦'
ROM:0006DD8A 02 E0 B loc_6DD92
ROM:0006DD8C ; ---------------------------------------------------------------------------
ROM:0006DD8C
ROM:0006DD8C loc_6DD8C ; CODE XREF: sub_6DD10+74j
ROM:0006DD8C B4 2D CMP R5, #0xB4 ; '¦'
ROM:0006DD8E C6 D3 BCC loc_6DD1E
ROM:0006DD90 B4 20 MOVS R0, #0xB4 ; '¦'
ROM:0006DD92
ROM:0006DD92 loc_6DD92 ; CODE XREF: sub_6DD10+7Aj
ROM:0006DD92 78 70 STRB R0, [R7,#1]
ROM:0006DD94 61 49 LDR R1, =unk_86E2C
ROM:0006DD96 00 20 MOVS R0, #0
ROM:0006DD98 14 39 SUBS R1, #0x14
ROM:0006DD9A 08 60 STR R0, [R1]
ROM:0006DD9C F8 BC POP {R3-R7}
ROM:0006DD9E 08 BC POP {R3}
ROM:0006DDA0 18 47 BX R3
ROM:0006DDA0 ; End of function sub_6DD10
12 B4 INICIO PUSH {R1,R4}
03 5D LDRB R3, [R0,R4]
3C 2B CMP R3, #0x3C ; '<'
XX D1 BNE FIM1
61 1C ADDS R1, R4, #1
43 5C LDRB R3, [R0,R1]
69 2B CMP R3, #0x69 ; 'i'
XX D1 BNE VERIFBARRA
01 31 ADDS R1, #1
43 5C LDRB R3, [R0,R1]
3E 2B CMP R3, #0x3E ; '>'
XX D1 BNE FIM1
03 20 MOVS R0, #3
0A E0 B FIM2
2F 2B VERIFBARRA CMP R3, #0x2F ; '/'
XX D1 BNE FIM1
01 31 ADDS R1, #1
43 5C LDRB R3, [R0,R1]
69 2B CMP R3, #0x69 ; 'i'
XX D1 BNE FIM1
01 31 ADDS R1, #1
43 5C LDRB R3, [R0,R1]
3E 2B CMP R3, #0x3E ; '>'
XX D1 BNE FIM1
04 20 MOVS R0, #4
0C 1C FIM2 ADDS R4, R1, #0
22 BC POP {R1,R4}
XX XX XX XX BL 6DD26 ; continua rotina anterior
00 5D FIM1 LDRB R0, [R0,R4] ; retorna sem mudar nada
12 BC POP {R1,R4}
XX XX XX XX BL 6DD26 ; continua rotina anterior
; =============== S U B R O U T I N E =======================================
XX XX LDR R1, =unk_85FF4 ; end. inicial buffer secundario
08 18 ADDS R0, R1, R0
80 78 LDRB R0, [R0,#2]
70 47 BX LR
No espaço que sobra logo a seguir da rotina acima:
; =============== S U B R O U T I N E =======================================
XX XX LDR R1, =unk_85FF4
08 18 ADDS R0, R1, R0
XX XX LDR R2, =unk_800C8 ; end. que guarda opcoes da legenda
80 78 LDRB R0, [R0,#2]
D1 79 LDRB R1, [R2,#7] ; no DV256K o Alin. Horiz. fica em 800C8 + #7
00 B5 PUSH {LR}
XX XX XX XX BL NOVA ROTINA
08 BC POP {R3}
18 47 BX R3
Na área de erros:
; =============== S U B R O U T I N E =======================================
03 28 NOVA ROTINA CMP R0, #3
03 D1 BNE PARTE2
80 23 MOVS R3, #0x80
19 43 ORRS R1, R3 ; seta bit 7 do alin. horiz.
D1 71 STRB R1, [R2,#7]
70 47 BX LR
04 28 PARTE2 CMP R0, #4
03 D1 BNE PARTE3
7F 23 MOVS R3, #0x7F
19 40 ANDS R1, R3 ; reseta bit 7 do alin. horiz.
D1 71 STRB R1, [R2,#7]
70 47 BX LR
20 28 PARTE3 CMP R0, #0x20
09 D9 BLS FIM
D1 79 LDRB R1, [R2,#7]
70 22 MOVS R2, #0x70 ; retirar essas 4 linhas (checam se italico esta habilitado pelo menu)
0A 40 ANDS R2, R1 ; (idem)
50 2A CMP R2, #0x50 ; (idem)
04 D1 BNE FIM ; (idem)
80 22 MOVS R2, #0x80
0A 40 ANDS R2, R1
80 2A CMP R2, #0x80 ; checa se bit 7 esta setado
00 D1 BNE FIM
DF 30 ADDS R0, #0xDF
70 47 FIM BX LR
Teste 1: As legendas ficaram apenas com a letra "a", como era esperado.
Aproveitei para testar o alinhamento horizontal - #00: ficou alinhado a esquerda, porém de um jeito meio louco; a primeira linha ficava a esquerda corretamente, enquanto que a segunda linha às vezes estava correta (à esquerda) e às vezes estava posicionada nos mais variados locais: no meio da tela, mais à direita, etc.