Mas eu tive problemas no posicionamento das legendas. Como você pode observar na foto abaixo, a segunda linha fica cortada. Eu tentei ajustar usando as opções do menu, mas não consegui. Tenho a impressão de que as opções de posicionamento e alinhamento da legenda não funcionam, porque não alteram em nada (ou alteram muito pouco) o posicionamento delas. Elas aparecem sempre na esquerda, e não mudam de posição com a mudança das opções do menu.
Sim, obrigado por avisar. É minha culpa... Até a versão beta2 funcionava bem, mas a último momento mexí na janela das legendas da versão final do firmware e o MTKWindows sobreescreveu a rotina SetMpeg4SubtitleParams com coordenadas fixas.
Hoje (quinta-feira) vou publicar o fix.
ROM:8EE7 SetMpeg4SubtitleParams:
ROM:8EE7 90 FB 3B mov DPTR, #0xFB3B
ROM:8EEA EF mov A, R7
ROM:8EEB F0 movx @DPTR, A ; XRAM_FB3B = Window Id
ROM:8EEC A3 inc DPTR
ROM:8EED ED mov A, R5
ROM:8EEE F0 movx @DPTR, A ; XRAM_FB3C = H Align
ROM:8EEF A3 inc DPTR
ROM:8EF0 EB mov A, R3
ROM:8EF1 F0 movx @DPTR, A ; XRAM_FB3D = Settings
ROM:8EF2 C2 AF clr IEN0.7 ; Interrupt Enable Register 0
ROM:8EF4 30 1D 0A jnb RAM_23.5, ROM_8F01
...
ROM:8F3E 00 nop ; Low byte of Y1
ROM:8F3F 00 nop
ROM:8F40 74 00 mov A, #0
ROM:8F42 90 F8 64 mov DPTR, #XARM_Data
ROM:8F45 F0 movx @DPTR, A
...
ROM:8F4D 00 nop ; High byte of Y1
ROM:8F4E 00 nop
ROM:8F4F 74 00 mov A, #0
ROM:8F51 90 F8 64 mov DPTR, #XARM_Data
ROM:8F54 F0 movx @DPTR, A
...
ROM:8F7A 00 nop ; Low byte of Y2
ROM:8F7B 00 nop
ROM:8F7C 74 C4 mov A, #0xC4 ; '-'
ROM:8F7E 90 F8 64 mov DPTR, #XARM_Data
ROM:8F81 F0 movx @DPTR, A
...
ROM:8F89 00 nop ; High byte of Y2
ROM:8F8A 00 nop
ROM:8F8B 74 00 mov A, #0
ROM:8F8D 90 F8 64 mov DPTR, #XARM_Data
ROM:8F90 F0 movx @DPTR, A
Em vermelho está a correção feita pelo MTK Windows. O correto para que a rotina de posição funcione sería:
ROM:8F3E 90 FB F0 mov DPTR, #0xFBF0 ; Low byte of Y1
ROM:8F41 E0 movx A, @DPTR
ROM:8F42 90 F8 64 mov DPTR, #XARM_Data
ROM:8F45 F0 movx @DPTR, A
...
ROM:8F4D 90 FB EF mov DPTR, #0xFBEF ; High byte of Y1
ROM:8F50 E0 movx A, @DPTR
ROM:8F51 90 F8 64 mov DPTR, #XARM_Data
ROM:8F54 F0 movx @DPTR, A
...
ROM:8F7A 90 FB F8 mov DPTR, #0xFBF8 ; Low byte of Y2
ROM:8F7D E0 movx A, @DPTR
ROM:8F7E 90 F8 64 mov DPTR, #XARM_Data
ROM:8F81 F0 movx @DPTR, A
...
ROM:8F89 90 FB F7 mov DPTR, #0xFBF7 ; High byte of Y2
ROM:8F8C E0 movx A, @DPTR
ROM:8F8D 90 F8 64 mov DPTR, #XARM_Data
ROM:8F90 F0 movx @DPTR, A
Os valores de X1 e X2 ficam com coordenadas fixas.