É realmente bem difícil achar essa rotina. Pelos critérios usuais, que funcionam para outros firmwares, não dá certo.
O mais próximo que eu encontrei foi a Rotina abaixo. Nem sei como chamá-la. A primeira parte parece com SubStyle. Inclusive o que está em verde eu tenho certeza.
Já a segunda parte, lembra alguns trechos de SetMepg4SubtitleParams de outros firmwares que vi.
É necessário ajuda do Ryan e de quem quiser colaborar para um melhor entendimento disso. Destaquei em azul os possíveis locais da Altura da Janela (Janela dentro da Janela das Legendas) e também do possível local da distância entre as linhas. Tem que testar modificar esses valores para ver os resultados. Eu não tenho certeza se o problema dos caracteres cortados é causado pela janela interna pouco alta, ou pela distancia entre as linhas pequena.
Obs: A altura da janela da legenda do Firmware Original é de 136 (88 em hexadecimal). Normalmente a altura da janela interna (dentro da janela da legenda) é do mesmo tamanho (ou talvez um pixel menor). Os valores que considero suspeitos são 87 e 88 (ver em azul abaixo). Já a largura da janela do Firmware Original é 700 (2BC em hexadecimal). Como o valor suspeito para wY2.high é 02BB ou 02A8, está compatível (ver abaixo).
B2:DA33 ; =============== S U B R O U T I N E =======================================
B2:DA33
B2:DA33
B2:DA33 BankSw_481_B2_DA33: ; CODE XREF: B2_8955+167p
B2:DA33 ; DATA XREF: B0:B0_BS_481_B2_DA33o ...
B2:DA33 90 FC F6 mov DPTR, #XRAM_FCF6
B2:DA36 E0 movx A, @DPTR
B2:DA37 FF mov R7, A
B2:DA38 13 rrc A
B2:DA39 13 rrc A
B2:DA3A 54 3F anl A, #0x3F
B2:DA3C 20 E0 03 jb ACC.0, B2_DA42 ; Accumulator
B2:DA3F 02 DA E8 ljmp B2_DAE8
B2:DA42 ; ---------------------------------------------------------------------------
B2:DA42
B2:DA42 B2_DA42: ; CODE XREF: BankSw_481_B2_DA33+9j
B2:DA42 7F 02 mov R7, #2
B2:DA44 12 05 AD lcall B2_BS_118_B5_B085
B2:DA47 D2 73 setb RAM_2E.3
B2:DA49 7F 09 mov R7, #9
B2:DA4B 12 05 C5 lcall B2_BS_122_B5_5E3E
B2:DA4E 7F 09 mov R7, #9
B2:DA50 12 05 CB lcall B2_BS_123_B5_49DF
B2:DA53 90 FC 03 mov DPTR, #XRAM_FC03
B2:DA56 74 0B mov A, #0xB ; Cor do Contorno
B2:DA58 F0 movx @DPTR, A
B2:DA59 A3 inc DPTR
B2:DA5A 74 05 mov A, #5 ; Cor do Preenchimento
B2:DA5C F0 movx @DPTR, A
B2:DA5D E4 clr A
B2:DA5E FB mov R3, A ; Cor do Background
B2:DA5F FD mov R5, A
B2:DA60 7F 09 mov R7, #9 ; Janela das Legendas (#9)
B2:DA62 12 05 E9 lcall B2_BS_128_B5_B84C; OSD_TextColor
B2:DA65 E4 clr A
B2:DA66 90 FB 43 mov DPTR, #XRAM_FB43 ; wX1.high ?
B2:DA69 F0 movx @DPTR, A
B2:DA6A A3 inc DPTR
B2:DA6B F0 movx @DPTR, A
B2:DA6C 90 FB 45 mov DPTR, #XRAM_FB45 ; wY1.high ?
B2:DA6F F0 movx @DPTR, A
B2:DA70 A3 inc DPTR
B2:DA71 F0 movx @DPTR, A
B2:DA72 90 FB 49 mov DPTR, #XRAM_FB49 ; wX2.high ?
B2:DA75 74 02 mov A, #2
B2:DA77 F0 movx @DPTR, A
B2:DA78 A3 inc DPTR
B2:DA79 74 BB mov A, #0xBB ; '+'
B2:DA7B F0 movx @DPTR, A
B2:DA7C 90 FB 4D mov DPTR, #XRAM_FB4D ; wY2.high ?
B2:DA7F E4 clr A
B2:DA80 F0 movx @DPTR, A
B2:DA81 A3 inc DPTR
B2:DA82 74 87 mov A, #0x87 ; 'ç' ; Altura da Janela Interna?
B2:DA84 F0 movx @DPTR, A
B2:DA85 D2 78 setb RAM_2F.0
B2:DA87 E4 clr A
B2:DA88 90 FC 03 mov DPTR, #XRAM_FC03 ; Distância entre as linhas?
B2:DA8B F0 movx @DPTR, A
B2:DA8C FB mov R3, A
B2:DA8D FD mov R5, A
B2:DA8E 7F 09 mov R7, #9
B2:DA90 12 05 D7 lcall B2_BS_125_B5_B94D; ?
B2:DA93 E4 clr A
B2:DA94 FD mov R5, A
B2:DA95 7F 09 mov R7, #9
B2:DA97 12 05 D1 lcall B2_BS_124_B5_CF6B ?
B2:DA9A 7F 09 mov R7, #9
B2:DA9C 12 05 DD lcall B2_BS_126_B5_C2C6 ?
B2:DA9F 90 FB 43 mov DPTR, #XRAM_FB43 ; wX1.high ?
B2:DAA2 E4 clr A
B2:DAA3 F0 movx @DPTR, A
B2:DAA4 A3 inc DPTR
B2:DAA5 74 32 mov A, #0x32 ; '2'
B2:DAA7 F0 movx @DPTR, A
B2:DAA8 90 FB 45 mov DPTR, #XRAM_FB45 ; wY1.high ?
B2:DAAB E4 clr A
B2:DAAC F0 movx @DPTR, A
B2:DAAD A3 inc DPTR
B2:DAAE 74 04 mov A, #4
B2:DAB0 F0 movx @DPTR, A
B2:DAB1 90 FB 49 mov DPTR, #XRAM_FB49 ; wX2.high ?
B2:DAB4 74 02 mov A, #2
B2:DAB6 F0 movx @DPTR, A
B2:DAB7 A3 inc DPTR
B2:DAB8 74 A8 mov A, #0xA8 ; '¿'
B2:DABA F0 movx @DPTR, A
B2:DABB 90 FB 4D mov DPTR, #XRAM_FB4D ; wY2.high ?
B2:DABE E4 clr A
B2:DABF F0 movx @DPTR, A
B2:DAC0 A3 inc DPTR
B2:DAC1 74 88 mov A, #0x88 ; 'ê' ; Altura da Janela Interna?
B2:DAC3 F0 movx @DPTR, A
B2:DAC4 7B 08 mov R3, #8
B2:DAC6 7D 81 mov R5, #0x81 ; 'ü'
B2:DAC8 7F 09 mov R7, #9
B2:DACA 12 0D 45 lcall B2_BS_442_B3_C274 ?
B2:DACD D2 7D setb RAM_2F.5
B2:DACF 7F 8D mov R7, #0x8D ; 'ì'
B2:DAD1 7E 00 mov R6, #0
B2:DAD3 12 03 A3 lcall B2_BS_31_B4_F1E6 ; Arm_GetChar
B2:DAD6 BF 08 0D cjne R7, #8, B2_DAE6
B2:DAD9 90 FB 3E mov DPTR, #XRAM_FB3E
B2:DADC E0 movx A, @DPTR
B2:DADD 64 11 xrl A, #0x11
B2:DADF 60 05 jz B2_DAE6
B2:DAE1 7F 08 mov R7, #8
B2:DAE3 12 98 CB lcall BankSw_152_B2_98CB; ?
B2:DAE6
B2:DAE6 B2_DAE6: ; CODE XREF: BankSw_481_B2_DA33+A3j
B2:DAE6 ; BankSw_481_B2_DA33+ACj
B2:DAE6 C2 7D clr RAM_2F.5
B2:DAE8
B2:DAE8 B2_DAE8: ; CODE XREF: BankSw_481_B2_DA33+Cj
B2:DAE8 22 ret
B2:DAE8 ; End of function BankSw_481_B2_DA33
B2:DAE8