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:
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):
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:
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:
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:
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:
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":
ROM:0000E3A0 67 F0 66 F9 BL sub_75670
ROM:0000E3A4 04 1C ADDS R4, R0, #0
ROM:0000E3A6 C0 46 NOP