0 Members and 1 Guest are viewing this topic.
B1:D2B6 SUB_Style: ; CODE XREF: B1_8883+5CpB1:D2B6 EF mov A, R7B1:D2B7 24 FE add A, #0xFE ; '¦'B1:D2B9 60 5B jz B1_D316B1:D2BB 14 dec AB1:D2BC 60 58 jz B1_D316B1:D2BE 14 dec AB1:D2BF 60 61 jz B1_D322B1:D2C1 24 03 add A, #3B1:D2C3 70 60 jnz B1_D325B1:D2C5 E4 clr A ; Para tornar a fonte do browser independente da fonte de legendas e/ou fazer fontes selecionáveis,B1:D2C5 ; é preciso mexer aqui. No caso, a fonte da legenda é a zero (clr A)B1:D2C6 FF mov R7, AB1:D2C7 12 1E D8 lcall B1_BS_240_B3_E9FEB1:D2CA D2 75 setb RAM_2E.5B1:D2CC 7F 12 mov R7, #0x12B1:D2CE 12 1D 58 lcall B1_BS_176_B3_4CF4B1:D2D1 7F 12 mov R7, #0x12B1:D2D3 12 1D 5E lcall B1_BS_177_B3_72CEB1:D2D6 E4 clr A ; Aqui a cor de contorno da legenda é definida como transparente (zero).B1:D2D6 ; É preciso mudar isso, principalmente se você desligar o backgroundB1:D2D7 90 FC 1F mov DPTR, #XRAM_FC1F ; OSD_ColorsB1:D2DA F0 movx @DPTR, AB1:D2DB A3 inc DPTRB1:D2DC 74 02 mov A, #2 ; Cor do preenchimentoB1:D2DE F0 movx @DPTR, AB1:D2DF 7B 03 mov R3, #3 ; Define a cor de background. Coloque zero para livrar-se delaB1:D2E1 E4 clr AB1:D2E2 FD mov R5, AB1:D2E3 7F 12 mov R7, #0x12B1:D2E5 12 1D 64 lcall OSD_TextColor_B1_BS_178_B3_C399B1:D2E8 E4 clr AB1:D2E9 FD mov R5, AB1:D2EA 7F 12 mov R7, #0x12B1:D2EC 12 1F 3E lcall B1_BS_257_B3_E4D7B1:D2EF 7F 12 mov R7, #0x12B1:D2F1 12 1D 6A lcall B1_BS_179_B3_58BAB1:D2F4 7F 12 mov R7, #0x12B1:D2F6 12 1D 70 lcall B1_BS_180_B3_E9AFB1:D2F9 12 E0 FC lcall B1_E0FCB1:D2FC 7F 19 mov R7, #0x19B1:D2FE 7E 00 mov R6, #0B1:D300 12 1B BA lcall B1_BS_107_B3_B645B1:D303 74 FF mov A, #0xFFB1:D305 90 FD 77 mov DPTR, #XRAM_FD77B1:D308 F0 movx @DPTR, AB1:D309 A3 inc DPTRB1:D30A F0 movx @DPTR, AB1:D30B 90 FD 7E mov DPTR, #XRAM_FD7EB1:D30E F0 movx @DPTR, AB1:D30F A3 inc DPTRB1:D310 F0 movx @DPTR, AB1:D311 C2 74 clr RAM_2E.4B1:D313 02 1D 1C ljmp B1_BS_166_B4_ABBBB1:D316 ; ---------------------------------------------------------------------------B1:D316B1:D316 B1_D316: ; CODE XREF: SUB_Style+3jB1:D316 ; SUB_Style+6jB1:D316 7F 05 mov R7, #5B1:D318 12 1E 36 lcall B1_BS_213_B6_6CEBB1:D31B 50 08 jnc B1_D325B1:D31D 7F 01 mov R7, #1B1:D31F 02 1E 54 ljmp B1_BS_218_B4_2D0CB1:D322 ; ---------------------------------------------------------------------------B1:D322B1:D322 B1_D322: ; CODE XREF: SUB_Style+9jB1:D322 12 E0 FC lcall B1_E0FCB1:D325B1:D325 B1_D325: ; CODE XREF: SUB_Style+DjB1:D325 ; SUB_Style+65jB1:D325 22 retB1:D325 ; End of function SUB_Style
B3:5B87 Sub_Style_Sec: ; DATA XREF: BankSw_179_B3_58BA+6BoB3:5B87 90 FC 1A mov DPTR, #XRAM_FC1AB3:5B8A E0 movx A, @DPTRB3:5B8B FF mov R7, AB3:5B8C D2 75 setb RAM_2E.5B3:5B8E 12 4C F4 lcall BankSw_176_B3_4CF4B3:5B91 90 FC 1A mov DPTR, #XRAM_FC1AB3:5B94 E0 movx A, @DPTRB3:5B95 FF mov R7, AB3:5B96 12 72 CE lcall BankSw_177_B3_72CEB3:5B99 90 FC 1A mov DPTR, #XRAM_FC1AB3:5B9C E0 movx A, @DPTRB3:5B9D FF mov R7, AB3:5B9E E4 clr AB3:5B9F 90 FC 1F mov DPTR, #XRAM_FC1F ; OSD_ColorsB3:5BA2 F0 movx @DPTR, AB3:5BA3 A3 inc DPTRB3:5BA4 74 02 mov A, #2B3:5BA6 F0 movx @DPTR, AB3:5BA7 7B 03 mov R3, #3 ; Cor do backgroundB3:5BA9 E4 clr AB3:5BAA FD mov R5, AB3:5BAB 12 C3 99 lcall OSD_textColor_BS ; OSD_TExtcolorB3:5BAE 90 FC 1A mov DPTR, #XRAM_FC1AB3:5BB1 E0 movx A, @DPTRB3:5BB2 FF mov R7, AB3:5BB3 E4 clr AB3:5BB4 FD mov R5, AB3:5BB5 02 E4 D7 ljmp BankSw_257_B3_E4D7
B1:A49A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B1:A49AB1:A49AB1:A49A Sub_Style_B1_A49A: ; CODE XREF: B1_E1B5+4ApB1:A49A EF mov A, R7B1:A49B 24 FE add A, #0xFE ; '¦'B1:A49D 70 03 jnz B1_A4A2B1:A49F 02 A5 35 ljmp B1_A535B1:A4A2 ; ---------------------------------------------------------------------------B1:A4A2B1:A4A2 B1_A4A2: ; CODE XREF: Sub_Style_B1_A49A+3jB1:A4A2 14 dec AB1:A4A3 70 03 jnz B1_A4A8B1:A4A5 02 A5 35 ljmp B1_A535B1:A4A8 ; ---------------------------------------------------------------------------B1:A4A8B1:A4A8 B1_A4A8: ; CODE XREF: Sub_Style_B1_A49A+9jB1:A4A8 24 02 add A, #2B1:A4AA 60 03 jz B1_A4AFB1:A4AC 02 A5 41 ljmp B1_A541B1:A4AF ; ---------------------------------------------------------------------------B1:A4AFB1:A4AF B1_A4AF: ; CODE XREF: Sub_Style_B1_A49A+10jB1:A4AF 7F C9 mov R7, #0xC9 ; '+'B1:A4B1 7E 00 mov R6, #0B1:A4B3 12 04 63 lcall B1_BS_63_B0_EA45B1:A4B6 EF mov A, R7B1:A4B7 60 3F jz B1_A4F8B1:A4B9 90 FC 25 mov DPTR, #XRAM_FC25B1:A4BC E0 movx A, @DPTRB1:A4BD 70 06 jnz B1_A4C5B1:A4BF FF mov R7, AB1:A4C0 12 06 F7 lcall Set_Font_B1_BSB1:A4C3 80 05 sjmp B1_A4CAB1:A4C5 ; ---------------------------------------------------------------------------B1:A4C5B1:A4C5 B1_A4C5: ; CODE XREF: Sub_Style_B1_A49A+23jB1:A4C5 7F 06 mov R7, #6 ; ;Número da fonte da legenda DivXB1:A4C7 12 06 F7 lcall Set_Font_B1_BSB1:A4CAB1:A4CA B1_A4CA: ; CODE XREF: Sub_Style_B1_A49A+29jB1:A4CA D2 44 setb RAM_28.4B1:A4CC 7F 12 mov R7, #0x12B1:A4CE 12 04 DB lcall B1_BS_83_B3_4717B1:A4D1 7F 12 mov R7, #0x12B1:A4D3 12 04 E1 lcall B1_BS_84_B3_70DDB1:A4D6 90 FB DC mov DPTR, #XRAM_FBDCB1:A4D9 74 03 mov A, #3B1:A4DB F0 movx @DPTR, AB1:A4DC A3 inc DPTRB1:A4DD 14 dec AB1:A4DE F0 movx @DPTR, AB1:A4DF E4 clr AB1:A4E0 FB mov R3, AB1:A4E1 FD mov R5, AB1:A4E2 7F 12 mov R7, #0x12B1:A4E4 12 04 AB lcall OSD_TextColor_B1_BSB1:A4E7 E4 clr AB1:A4E8 FD mov R5, AB1:A4E9 7F 12 mov R7, #0x12B1:A4EB 12 07 45 lcall B1_BS_186_B3_EDE8B1:A4EE 7F 12 mov R7, #0x12B1:A4F0 12 04 ED lcall B1_BS_86_B3_5810B1:A4F3 7F 12 mov R7, #0x12B1:A4F5 12 04 F3 lcall B1_BS_87_B3_F0C0B1:A4F8B1:A4F8 B1_A4F8: ; CODE XREF: Sub_Style_B1_A49A+1DjB1:A4F8 74 FF mov A, #0xFFB1:A4FA 90 FC E8 mov DPTR, #XRAM_FCE8B1:A4FD F0 movx @DPTR, AB1:A4FE A3 inc DPTRB1:A4FF F0 movx @DPTR, AB1:A500 90 FC ED mov DPTR, #XRAM_FCEDB1:A503 F0 movx @DPTR, AB1:A504 A3 inc DPTRB1:A505 F0 movx @DPTR, AB1:A506 7D 6B mov R5, #0x6B ; 'k'B1:A508 7F CB mov R7, #0xCB ; '-'B1:A50A 7E 00 mov R6, #0B1:A50C 12 04 5D lcall B1_BS_62_B0_ED81B1:A50F 7D 6F mov R5, #0x6F ; 'o'B1:A511 7F CC mov R7, #0xCC ; '¦'B1:A513 7E 00 mov R6, #0B1:A515 12 04 5D lcall B1_BS_62_B0_ED81B1:A518 E4 clr AB1:A519 90 FB 48 mov DPTR, #XRAM_FB48B1:A51C F0 movx @DPTR, AB1:A51DB1:A51D B1_A51D: ; CODE XREF: Sub_Style_B1_A49A+94jB1:A51D 7F CB mov R7, #0xCB ; '-'B1:A51F 7E 00 mov R6, #0B1:A521 12 04 63 lcall B1_BS_63_B0_EA45B1:A524 90 FB 48 mov DPTR, #XRAM_FB48B1:A527 E0 movx A, @DPTRB1:A528 04 inc AB1:A529 F0 movx @DPTR, AB1:A52A E0 movx A, @DPTRB1:A52B C3 clr CB1:A52C 94 03 subb A, #3B1:A52E 40 ED jc B1_A51DB1:A530 C2 43 clr RAM_28.3B1:A532 02 A8 6E ljmp B1_A86EB1:A535 ; ---------------------------------------------------------------------------B1:A535B1:A535 B1_A535: ; CODE XREF: Sub_Style_B1_A49A+5jB1:A535 ; Sub_Style_B1_A49A+BjB1:A535 7F 05 mov R7, #5B1:A537 12 F5 50 lcall B1_F550B1:A53A 50 05 jnc B1_A541B1:A53C 7F 01 mov R7, #1B1:A53E 12 C9 C6 lcall B1_C9C6B1:A541B1:A541 B1_A541: ; CODE XREF: Sub_Style_B1_A49A+12jB1:A541 ; Sub_Style_B1_A49A+A0jB1:A541 22 retB1:A541 ; End of function Sub_Style_B1_A49AB1:A541
B1:D2BC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B1:D2BCB1:D2BCB1:D2BC Sub_Style: ; CODE XREF: B1_8883+5CpB1:D2BC EF mov A, R7B1:D2BD 24 FE add A, #0xFE ; '¦'B1:D2BF 60 5B jz B1_D31CB1:D2C1 14 dec AB1:D2C2 60 58 jz B1_D31CB1:D2C4 14 dec AB1:D2C5 60 61 jz B1_D328B1:D2C7 24 03 add A, #3B1:D2C9 70 60 jnz B1_D32BB1:D2CB E4 clr A ; Número da fonte = 0B1:D2CC FF mov R7, AB1:D2CD 12 1E EA lcall OSD_SetFont_B1_BSB1:D2D0 D2 75 setb RAM_2E.5B1:D2D2 7F 12 mov R7, #0x12B1:D2D4 12 1D 6A lcall B1_BS_179_B3_4CF4B1:D2D7 7F 12 mov R7, #0x12B1:D2D9 12 1D 70 lcall B1_BS_180_B3_72CEB1:D2DC E4 clr AB1:D2DD 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB1:D2E0 F0 movx @DPTR, AB1:D2E1 A3 inc DPTRB1:D2E2 74 02 mov A, #2B1:D2E4 F0 movx @DPTR, AB1:D2E5 7B 03 mov R3, #3B1:D2E7 E4 clr AB1:D2E8 FD mov R5, AB1:D2E9 7F 12 mov R7, #0x12B1:D2EB 12 1D 76 lcall OSD_TextColor_B1_BSB1:D2EE E4 clr AB1:D2EF FD mov R5, AB1:D2F0 7F 12 mov R7, #0x12B1:D2F2 12 1F 50 lcall B1_BS_260_B3_E41DB1:D2F5 7F 12 mov R7, #0x12B1:D2F7 12 1D 7C lcall B1_BS_182_B3_58BAB1:D2FA 7F 12 mov R7, #0x12B1:D2FC 12 1D 82 lcall B1_BS_183_B3_E8F5B1:D2FF 12 E0 A4 lcall B1_E0A4B1:D302 7F 19 mov R7, #0x19B1:D304 7E 00 mov R6, #0B1:D306 12 1B CC lcall B1_BS_110_B3_B6D8B1:D309 74 FF mov A, #0xFFB1:D30B 90 FD 74 mov DPTR, #XRAM_FD74B1:D30E F0 movx @DPTR, AB1:D30F A3 inc DPTRB1:D310 F0 movx @DPTR, AB1:D311 90 FD 7B mov DPTR, #XRAM_FD7BB1:D314 F0 movx @DPTR, AB1:D315 A3 inc DPTRB1:D316 F0 movx @DPTR, AB1:D317 C2 74 clr RAM_2E.4B1:D319 02 1D 2E ljmp B1_BS_169_B4_AB59B1:D31C ; ---------------------------------------------------------------------------B1:D31CB1:D31C B1_D31C: ; CODE XREF: Sub_Style+3jB1:D31C ; Sub_Style+6jB1:D31C 7F 05 mov R7, #5B1:D31E 12 1E 48 lcall B1_BS_216_B6_6C4EB1:D321 50 08 jnc B1_D32BB1:D323 7F 01 mov R7, #1B1:D325 02 1E 66 ljmp B1_BS_221_B4_A8C0B1:D328 ; ---------------------------------------------------------------------------B1:D328B1:D328 B1_D328: ; CODE XREF: Sub_Style+9jB1:D328 12 E0 A4 lcall B1_E0A4B1:D32BB1:D32B B1_D32B: ; CODE XREF: Sub_Style+DjB1:D32B ; Sub_Style+65jB1:D32B 22 retB1:D32B ; End of function Sub_Style
B3:5B87B3:5B87 Sub_Style_Sec: ; DATA XREF: BankSw_182_B3_58BA+6BoB3:5B87 90 FC 19 mov DPTR, #XRAM_FC19 ; Sub_style secundáriaB3:5B8A E0 movx A, @DPTRB3:5B8B FF mov R7, AB3:5B8C D2 75 setb RAM_2E.5B3:5B8E 12 4C F4 lcall BankSw_179_B3_4CF4B3:5B91 90 FC 19 mov DPTR, #XRAM_FC19B3:5B94 E0 movx A, @DPTRB3:5B95 FF mov R7, AB3:5B96 12 72 CE lcall BankSw_180_B3_72CEB3:5B99 90 FC 19 mov DPTR, #XRAM_FC19 ; o número da janela 0x12 foi guardado aqui ao entrar no setupB3:5B9C E0 movx A, @DPTRB3:5B9D FF mov R7, AB3:5B9E E4 clr AB3:5B9F 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB3:5BA2 F0 movx @DPTR, AB3:5BA3 A3 inc DPTRB3:5BA4 74 02 mov A, #2B3:5BA6 F0 movx @DPTR, AB3:5BA7 7B 03 mov R3, #3 ; A cor do backgroundB3:5BA9 E4 clr AB3:5BAA FD mov R5, AB3:5BAB 12 C3 50 lcall BankSw_181_B3_C350B3:5BAE 90 FC 19 mov DPTR, #XRAM_FC19B3:5BB1 E0 movx A, @DPTRB3:5BB2 FF mov R7, AB3:5BB3 E4 clr AB3:5BB4 FD mov R5, AB3:5BB5 02 E4 1D ljmp BankSw_260_B3_E41D
E4 clr A90 xx xx mov DPTR, #XRAM_OSD_Colors ; OSD_colorsF0 movx @DPTR, AA3 inc DPTR74 02 mov A, #2F0 movx @DPTR, A7B 03 mov R3, #3 ; Cor de fundo. Zero para desabilitar o fundo.E4 clr A
90 xx xx mov DPTR, #XRAM_OSD_Colors ; OSD_colors74 03 mov A, #3F0 movx @DPTR, AA3 inc DPTR74 02 mov A, #2F0 movx @DPTR, AE4 clr AFB mov R3, A ; Cor de fundo=zero, desabilita o fundo
B1:D2BC Sub_Style: ; CODE XREF: B1_8883+5CpB1:D2BC EF mov A, R7B1:D2BD 24 FE add A, #0xFE ; '¦'B1:D2BF 60 5B jz B1_D31CB1:D2C1 14 dec AB1:D2C2 60 58 jz B1_D31CB1:D2C4 14 dec AB1:D2C5 60 61 jz B1_D328B1:D2C7 24 03 add A, #3B1:D2C9 70 60 jnz B1_D32BB1:D2CB E4 clr A ; Número da fonte = 0B1:D2CC FF mov R7, AB1:D2CD 12 1E EA lcall OSD_SetFont_B1_BSB1:D2D0 D2 75 setb RAM_2E.5B1:D2D2 7F 12 mov R7, #0x12B1:D2D4 12 1D 6A lcall OSD_Text_Params_ARM_B1BSB1:D2D7 7F 12 mov R7, #0x12B1:D2D9 12 1D 70 lcall OSD_Text_Params_B1BSB1:D2DC E4 clr AB1:D2DD 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB1:D2E0 F0 movx @DPTR, AB1:D2E1 A3 inc DPTRB1:D2E2 74 02 mov A, #2B1:D2E4 F0 movx @DPTR, AB1:D2E5 7B 03 mov R3, #3 ; Cor de fundo. Zero para desabilitar o fundo.B1:D2E7 E4 clr AB1:D2E8 FD mov R5, AB1:D2E9 7F 12 mov R7, #0x12B1:D2EB 12 1D 76 lcall OSD_TextColor_B1_BS
B3:5B87 Sub_Style_Sec: ; DATA XREF: OSD_Text_Init?+6BoB3:5B87 90 FC 19 mov DPTR, #XRAM_FC19 ; Sub_style secundáriaB3:5B8A E0 movx A, @DPTRB3:5B8B FF mov R7, AB3:5B8C D2 75 setb RAM_2E.5B3:5B8E 12 4C F4 lcall OSD_Text_Params_ARMB3:5B91 90 FC 19 mov DPTR, #XRAM_FC19 ; Número da Janela (OSD_TextInit)?B3:5B94 E0 movx A, @DPTRB3:5B95 FF mov R7, AB3:5B96 12 72 CE lcall OSD_Text_ParamsB3:5B99 90 FC 19 mov DPTR, #XRAM_FC19 ; Número da Janela (OSD_TextInit)?B3:5B9C E0 movx A, @DPTRB3:5B9D FF mov R7, AB3:5B9E E4 clr AB3:5B9F 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB3:5BA2 F0 movx @DPTR, AB3:5BA3 A3 inc DPTRB3:5BA4 74 02 mov A, #2B3:5BA6 F0 movx @DPTR, AB3:5BA7 7B 03 mov R3, #3 ; A cor do backgroundB3:5BA9 E4 clr AB3:5BAA FD mov R5, AB3:5BAB 12 C3 50 lcall OSD_Text_ColorB3:5BAE 90 FC 19 mov DPTR, #XRAM_FC19 ; Número da Janela (OSD_TextInit)?B3:5BB1 E0 movx A, @DPTRB3:5BB2 FF mov R7, AB3:5BB3 E4 clr AB3:5BB4 FD mov R5, AB3:5BB5 02 E4 1D ljmp OSD_Textinit_END
B1:DC91 Sub_Style: ; CODE XREF: B1_998C+5CpB1:DC91 EF mov A, R7B1:DC92 24 FE add A, #0xFE ; '¦'B1:DC94 60 53 jz B1_DCE9B1:DC96 14 dec AB1:DC97 60 50 jz B1_DCE9B1:DC99 14 dec AB1:DC9A 60 59 jz B1_DCF5B1:DC9C 24 03 add A, #3B1:DC9E 70 58 jnz B1_DCF8B1:DCA0 E4 clr A ; Determina a fonte (0x0)B1:DCA1 FF mov R7, AB1:DCA2 12 1E 70 lcall OSD_SetFont_B1_BS
B1:DC91 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B1:DC91B1:DC91B1:DC91 Sub_Style: ; CODE XREF: B1_998C+5CpB1:DC91 EF mov A, R7B1:DC92 24 FE add A, #0xFE ; '¦'B1:DC94 60 53 jz B1_DCE9B1:DC96 14 dec AB1:DC97 60 50 jz B1_DCE9B1:DC99 14 dec AB1:DC9A 60 59 jz B1_DCF5B1:DC9C 24 03 add A, #3B1:DC9E 70 58 jnz B1_DCF8B1:DCA0 E4 clr A ; Determina a fonte (0x0)B1:DCA1 FF mov R7, AB1:DCA2 12 1E 70 lcall OSD_SetFont_B1_BSB1:DCA5 D2 46 setb RAM_28.6 ; Não sei para que serve. Zerei mas nada pareceu mudarB1:DCA7 7F 13 mov R7, #0x13B1:DCA9 12 1D D4 lcall B1_BS_190_B5_13E8B1:DCAC 7F 13 mov R7, #0x13B1:DCAE 12 1D DA lcall B1_BS_191_B5_A4B2B1:DCB1 90 FC 07 mov DPTR, #XRAM_FC07 ; OSD_ColorsB1:DCB4 74 03 mov A, #3 ; Em FC07 vai a cor do contorno e em FC08 a cor de preenchimentoB1:DCB6 F0 movx @DPTR, AB1:DCB7 A3 inc DPTRB1:DCB8 14 dec AB1:DCB9 F0 movx @DPTR, AB1:DCBA E4 clr AB1:DCBB FB mov R3, AB1:DCBC FD mov R5, AB1:DCBD 7F 13 mov R7, #0x13B1:DCBF 12 1D E0 lcall OSD_TextColor_B1_BSB1:DCC2 E4 clr AB1:DCC3 FD mov R5, AB1:DCC4 7F 13 mov R7, #0x13B1:DCC6 12 1E B2 lcall B1_BS_227_B5_E5A1B1:DCC9 7F 13 mov R7, #0x13B1:DCCB 12 1D EC lcall B1_BS_194_B3_6222B1:DCCE 7F 13 mov R7, #0x13B1:DCD0 12 1D F2 lcall B1_BS_195_B5_E98BB1:DCD3 12 E2 45 lcall B1_E245B1:DCD6 74 FF mov A, #0xFFB1:DCD8 90 FD 49 mov DPTR, #XRAM_FD49B1:DCDB F0 movx @DPTR, AB1:DCDC A3 inc DPTRB1:DCDD F0 movx @DPTR, AB1:DCDE 90 FD 4E mov DPTR, #XRAM_FD4EB1:DCE1 F0 movx @DPTR, AB1:DCE2 A3 inc DPTRB1:DCE3 F0 movx @DPTR, AB1:DCE4 C2 45 clr RAM_28.5B1:DCE6 02 1E 52 ljmp B1_BS_211_B3_B567
B1:E9EF ; START OF FUNCTION CHUNK FOR BankSw_338_B1_F916B1:E9EFB1:E9EF Sub_StyleSec: ; CODE XREF: BankSw_338_B1_F916:B1_F930jB1:E9EF 7F E2 mov R7, #0xE2 ; 'Ô'B1:E9F1 7E 07 mov R6, #7B1:E9F3 12 19 C6 lcall B1_BS_17_B0_E87AB1:E9F6 BF 01 05 cjne R7, #1, B1_E9FEB1:E9F9 D2 45 setb RAM_28.5B1:E9FB 12 1E 52 lcall B1_BS_211_B3_B567B1:E9FEB1:E9FE B1_E9FE: ; CODE XREF: BankSw_338_B1_F916-F20jB1:E9FE 90 FC AB mov DPTR, #XRAM_FCABB1:EA01 E0 movx A, @DPTRB1:EA02 64 03 xrl A, #3B1:EA04 70 35 jnz B1_EA3BB1:EA06 7F 06 mov R7, #6B1:EA08 12 A9 48 lcall BankSw_241_B1_A948B1:EA0B 50 2E jnc B1_EA3BB1:EA0D D2 46 setb RAM_28.6B1:EA0F 7F 13 mov R7, #0x13B1:EA11 12 1D D4 lcall B1_BS_190_B5_13E8B1:EA14 7F 13 mov R7, #0x13B1:EA16 12 1D DA lcall B1_BS_191_B5_A4B2B1:EA19 90 FC 07 mov DPTR, #XRAM_FC07 ; OSD_ColorsB1:EA1C 74 03 mov A, #3B1:EA1E F0 movx @DPTR, AB1:EA1F A3 inc DPTRB1:EA20 14 dec AB1:EA21 F0 movx @DPTR, AB1:EA22 E4 clr AB1:EA23 FB mov R3, AB1:EA24 FD mov R5, AB1:EA25 7F 13 mov R7, #0x13B1:EA27 12 1D E0 lcall OSD_TextColor_B1_BSB1:EA2A E4 clr AB1:EA2B FD mov R5, AB1:EA2C 7F 13 mov R7, #0x13B1:EA2E 12 1E B2 lcall B1_BS_227_B5_E5A1B1:EA31 7F 13 mov R7, #0x13B1:EA33 12 1D EC lcall B1_BS_194_B3_6222B1:EA36 7F 13 mov R7, #0x13B1:EA38 12 1D F2 lcall B1_BS_195_B5_E98BB1:EA3BB1:EA3B B1_EA3B: ; CODE XREF: BankSw_338_B1_F916-F12jB1:EA3B ; BankSw_338_B1_F916-F0BjB1:EA3B 22 ret
B3:545E Sub_StyleSec: ; DATA XREF: BankSw_223_B3_519C+63oB3:545E 90 FB 8D mov DPTR, #XRAM_FB8D ; Window_ID?B3:5461 E0 movx A, @DPTRB3:5462 FF mov R7, AB3:5463 D2 75 setb RAM_2E.5B3:5465 12 28 F1 lcall BankSw_217_B3_28F1B3:5468 90 FB 8D mov DPTR, #XRAM_FB8D ; Window_ID?B3:546B E0 movx A, @DPTRB3:546C FF mov R7, AB3:546D 12 68 22 lcall BankSw_218_B3_6822B3:5470 90 FB 8D mov DPTR, #XRAM_FB8D ; Window_ID?B3:5473 E0 movx A, @DPTRB3:5474 FF mov R7, AB3:5475 E4 clr AB3:5476 90 FB A4 mov DPTR, #XRAM_FBA4 ; OSD_TextColorB3:5479 F0 movx @DPTR, AB3:547A A3 inc DPTRB3:547B 74 02 mov A, #2B3:547D F0 movx @DPTR, AB3:547E 7B 03 mov R3, #3 ; Define a cor do backgroundB3:5480 E4 clr AB3:5481 FD mov R5, AB3:5482 12 D4 73 lcall OSD_TextColorB1BSB3:5485 90 FB 8D mov DPTR, #XRAM_FB8D ; Window_ID?B3:5488 E0 movx A, @DPTRB3:5489 FF mov R7, AB3:548A E4 clr AB3:548B FD mov R5, AB3:548C 02 EF D7 ljmp BankSw_484_B3_EFD7
Infelizmente, eu não sei configurar o disassemblador para mostrar os códigos hexa ao lado dos mnemônicos, nem tenho tempo para fazer isso manualmente.
Sub_Style Philips DVP5100K/78 - Versão 0E.0AEstou com dificuldade para achar a primáriaSecundária (ainda não foi testado)B3:545E Sub_StyleSec: ; DATA XREF: BankSw_223_B3_519C+63oB3:545E mov DPTR, #XRAM_FB8D ; Window_ID?B3:5461 movx A, @DPTR...
Obs. este link http://www.8052.com/tutorial.phtml do tutorial não está abrindo.
Como fazer com que o firmware Philips use fontes com cores normais.É sabido que nos firmwares da Philips é preciso fazer uma "gambiarra" com as cores para poder desativar o background. Eu descobri como fazer com que o firmware aceite fontes "normais".Exemplo do DVP5960Sub_Style primária. Substitua:B1:D2DC - E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 7F 12 12por:B1:D2DC - 90 FC 1E 74 03 F0 A3 74 02 F0 E4 FB FD 7F 12 12Sub_Style secundária. Substitua:B3:5B9E - E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 12 C3 50por:B3:5B9E - 90 FC 1E 74 03 F0 A3 74 02 F0 E4 FB FD 12 C3 50 Com o mtkWindows, coloque Blend=3 na janela 0x12Com o mtkReplacer coloque fontes "normais" com contornoÉ isso. Nada mais de precisar inverter as cores da fonte para uso no firmware Philips O que meu patch faz é desligar a definição de uma cor de background e ao mesmo tempo definir uma cor sólida para o contorno.
[B1:D2DC] E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 7F 12 12 [DVP5960][B1:D2DC] E4 90 FC 1F F0 A3 74 02 F0 7B 03 E4 FD 7F 12 12 [DVP5965][B3:5B9E] E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 12 C3 50 [DVP5960][B3:5B9E] E4 90 FC 1F F0 A3 74 02 F0 7B 03 E4 FD 12 C3 99 [DVP5965]Como seria as alteraçoes para que o DVP5965 use fontes com cores normais?
Quote from: attentus on July 07, 2007, 07:48:47 AM[B1:D2DC] E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 7F 12 12 [DVP5960][B1:D2DC] E4 90 FC 1F F0 A3 74 02 F0 7B 03 E4 FD 7F 12 12 [DVP5965][B3:5B9E] E4 90 FC 1E F0 A3 74 02 F0 7B 03 E4 FD 12 C3 50 [DVP5960][B3:5B9E] E4 90 FC 1F F0 A3 74 02 F0 7B 03 E4 FD 12 C3 99 [DVP5965]Como seria as alteraçoes para que o DVP5965 use fontes com cores normais?Parece simples. No meu patch: onde tiver FC 1E coloque FC 1F (nas duas rotinas)onde tiver C3 50 coloque C3 99Porque só é preciso adaptar as diferenças de endereços entre os dois modelos. As rotinas são essencialmente iguais.
Apliquei os Dois patches no FVP5965 conforme sua orientção.resultado: Ao entrar e sair do Setup a legenda desaparece.
Quote from: attentus on July 07, 2007, 09:27:28 AMApliquei os Dois patches no FVP5965 conforme sua orientção.resultado: Ao entrar e sair do Setup a legenda desaparece.Você sabe dizer se o DVP5965 tem o mesmo bug do DVP5960 de usar uma fonte diferente ao sair do setup? Se tiver e a segunda fonte for ruim de ler pode "parecer" que a legenda sumiu.Isso aí não deveria acontecer. Funcionou comigo e as rotinas parecem idênticas.Não posso ajudar nisso agora porque estou concentrado em outro problema.
Caro Ryan.Apliquei os Dois patches no FVP5965 conforme sua orientção.resultado: Ao entrar e sair do Setup a legenda desaparece.
B1:F4DD SetMPeg4SubtitleParams: ; CODE XREF: BankSw_263_B1_E1E7+10pB1:F4DD E4 clr AB1:F4DE 90 FC 44 mov DPTR, #XRAM_FC44 ; wX1.highB1:F4E1 F0 movx @DPTR, AB1:F4E2 A3 inc DPTRB1:F4E3 F0 movx @DPTR, AB1:F4E4 90 FC 46 mov DPTR, #XRAM_FC46 ; wY1.highB1:F4E7 F0 movx @DPTR, AB1:F4E8 A3 inc DPTRB1:F4E9 F0 movx @DPTR, AB1:F4EA 90 FC 49 mov DPTR, #XRAM_FC49 ; wX2.highB1:F4ED 74 02 mov A, #2B1:F4EF F0 movx @DPTR, AB1:F4F0 A3 inc DPTRB1:F4F1 74 30 mov A, #0x30 ; '0' ; 0x230 = 560B1:F4F3 F0 movx @DPTR, AB1:F4F4 90 FC 4D mov DPTR, #XRAM_FC4D ; wY2.high (define a altura)B1:F4F7 E4 clr AB1:F4F8 F0 movx @DPTR, AB1:F4F9 A3 inc DPTRB1:F4FA 74 5A mov A, #0x5A ; 'Z'B1:F4FC F0 movx @DPTR, AB1:F4FD E4 clr AB1:F4FE 90 FB 8E mov DPTR, #XRAM_FB8E ; Espaço entre linhasB1:F501 F0 movx @DPTR, AB1:F502 7B 08 mov R3, #8 ; Ansi Codepage = 0x08 (all chars)B1:F504 7D 01 mov R5, #1 ; alinhamento = 0x00 (esquerda), 0x01 (Centro), 0x02 (Direita)B1:F506 7F 13 mov R7, #0x13 ; Janela da legendaB1:F508 12 1E B8 lcall PSB_Set_Param_B1_BSB1:F50B D3 setb CB1:F50C 22 retB1:F50C ; End of function SetMPeg4SubtitleParams
B1:19E4 90 F2 2B mov DPTR, #Pref_GetcharB1:19E7 02 19 17 ljmp B1_Bank_5B1:19EA 90 C9 4B mov DPTR, #BankSw_23_B4_C94BB1:19ED 02 18 FF ljmp B1_Bank_4B1:19F0 90 B0 0C mov DPTR, #BankSw_24_B1_B00CB1:19F3 02 18 B7 ljmp B1_Bank_1B1:19F6 90 B1 7E mov DPTR, #BankSw_25_B1_B17EB1:19F9 02 18 B7 ljmp B1_Bank_1
B2:19E4 90 F2 2B mov DPTR, #Pref_GetcharB2:19E7 02 19 17 ljmp B2_Bank_5B2:19EA 90 C9 4B mov DPTR, #BankSw_23_B4_C94BB2:19ED 02 18 FF ljmp B2_Bank_4B2:19F0 90 B0 0C mov DPTR, #BankSw_24_B1_B00CB2:19F3 02 18 B7 ljmp B2_Bank_1B2:19F6 90 B1 7E mov DPTR, #BankSw_25_B1_B17EB2:19F9 02 18 B7 ljmp B2_Bank_1
B1:DC91 Sub_Style: ; CODE XREF: B1_998C+5CpB1:DC91 EF mov A, R7B1:DC92 24 FE add A, #0xFE ; '¦'B1:DC94 60 53 jz B1_DCE9B1:DC96 14 dec AB1:DC97 60 50 jz B1_DCE9B1:DC99 14 dec AB1:DC9A 60 59 jz B1_DCF5B1:DC9C 24 03 add A, #3B1:DC9E 70 58 jnz B1_DCF8B1:DCA0 12 FF 00 lcall B1_FF00 ; Chama a rotina que escolhe a fonteB1:DCA3 00 nopB1:DCA4 00 nopB1:DCA5 D2 46 setb RAM_28.6B1:DCA7 7F 13 mov R7, #0x13B1:DCA9 12 1D D4 lcall B1_BS_190_B5_13E8B1:DCAC 7F 13 mov R7, #0x13B1:DCAE 12 1D DA lcall B1_BS_191_B5_A4B2B1:DCB1 12 FF 40 lcall B1_FF40 ; Chama a rotina que define a cor da legendaB1:DCB4 00 nopB1:DCB5 00 nopB1:DCB6 00 nopB1:DCB7 00 nopB1:DCB8 00 nopB1:DCB9 00 nopB1:DCBA 00 nopB1:DCBB 00 nopB1:DCBC 00 nopB1:DCBD 00 nopB1:DCBE 00 nopB1:DCBF 12 1D E0 lcall B1_BS_192_B5_D53EB1:DCC2 E4 clr AB1:DCC3 FD mov R5, AB1:DCC4 7F 13 mov R7, #0x13B1:DCC6 12 1E B2 lcall B1_BS_227_B5_E5A1
B1:E9FE 90 FC AB mov DPTR, #XRAM_FCABB1:EA01 E0 movx A, @DPTRB1:EA02 64 03 xrl A, #3B1:EA04 70 35 jnz B1_EA3BB1:EA06 7F 06 mov R7, #6B1:EA08 12 A9 48 lcall BankSw_241_B1_A948B1:EA0B 50 2E jnc B1_EA3BB1:EA0D D2 46 setb RAM_28.6B1:EA0F 7F 13 mov R7, #0x13B1:EA11 12 1D D4 lcall B1_BS_190_B5_13E8B1:EA14 7F 13 mov R7, #0x13B1:EA16 12 1D DA lcall B1_BS_191_B5_A4B2B1:EA19 12 FF 00 lcall B1_FF00 ; Aqui eu chamo minha rotina que escolhe a fonteB1:EA1C 12 FF 40 lcall B1_FF40 ; E aqui a que escolhe a corB1:EA1F 00 nopB1:EA20 00 nopB1:EA21 00 nopB1:EA22 00 nopB1:EA23 00 nopB1:EA24 00 nopB1:EA25 00 nopB1:EA26 00 nopB1:EA27 12 1D E0 lcall B1_BS_192_B5_D53E
B1:FF00 7F 06 mov R7, #6 ; Endereço 0x06 da eepromB1:FF02 7E 00 mov R6, #0B1:FF04 12 19 E4 lcall Pref_Getchar_B1BSB1:FF07 12 1E 70 lcall OSD_SetFont_B1BSB1:FF0A 22 ret
B1:FF40 7F 71 mov R7, #0x71 ; 'q' ; Endereço 0x71 da eepromB1:FF42 7E 00 mov R6, #0B1:FF44 12 19 E4 lcall Pref_Getchar_B1BSB1:FF47 EF mov A, R7B1:FF48 FD mov R5, AB1:FF49 90 FC 07 mov DPTR, #XRAM_FC07B1:FF4C 74 03 mov A, #3B1:FF4E F0 movx @DPTR, AB1:FF4F A3 inc DPTRB1:FF50 ED mov A, R5B1:FF51 F0 movx @DPTR, AB1:FF52 E4 clr AB1:FF53 FB mov R3, AB1:FF54 FD mov R5, AB1:FF55 7F 13 mov R7, #0x13B1:FF57 22 ret
.default MT1389.MT1389; Mediatek 1389 ; MEMORY MAParea DATA RAM 0x00000:0x00080area DATA FSR 0x00080:0x00100area XTRN XRAM 0x0F800:0x0FF00area CODE ROM 0x00000:0x10000;area CODE ROM1 0x10000:0x20000;area CODE ROM2 0x20000:0x30000;area CODE ROM3 0x30000:0x40000;area CODE ROM4 0x40000:0x50000;area CODE ROM5 0x50000:0x60000;area CODE ROM6 0x60000:0x70000;area CODE ROM7 0x70000:0x80000; Interrupt and reset vector assignmentsinterrupt Reset 0x0000 RESETinterrupt ExtInt0 0x0003 External interrupt 0interrupt TimInt0 0x000B Timer 0 overflow;interrupt IE1 0x0013 External interrupt 1;interrupt TF1 0x001B Timer 1 overflow;interrupt RI0_TI0 0x0023 Serial channel 0interrupt TimInt2 0x002B Timer 2 overflow/ext. reload;interrupt IADC 0x0043 A/D converter;interrupt IEX2 0x004B External interrupt 2;interrupt IEX3 0x0053 External interrupt 3;interrupt IEX4 0x005B External interrupt 4;interrupt IEX5 0x0063 External interrupt 5;interrupt IEX6 0x006B External interrupt 6;interrupt RI1_TI1 0x0083 Serial channel 1;interrupt CTF 0x009B Compare timer overflow; INPUT/OUTPUT PORTSP0 0x0080 Port 0P0.P0.7 7P0.P0.6 6P0.P0.5 5 P0.P0.4 4 P0.P0.3 3P0.P0.2 2P0.P0.1 1P0.P0.0 0SP 0x0081 Stack PointerDPL 0x0082 Data Pointer, Low ByteDPH 0x0083 Data Pointer, High Byte;RES84 0x0084 RESERVED;RES85 0x0085 RESERVEDWDTREL 0x0086 Watchdog Timer Reload Reg.PCON 0x0087 Power Control RegisterTCON 0x0088 Timer Control RegisterTMOD 0x0089 Timer Mode RegisterTL0 0x008A Timer 0, Low ByteTL1 0x008B Timer 1, Low ByteTH0 0x008C Timer 0, High ByteTH1 0x008D Timer 1, High Byte;RESERVED008E 0x008E RESERVED;RESERVED008F 0x008F RESERVEDP1 0x0090 Port 1P1.SDA 7 SDA data EEPROMP1.SCL 6 SCL clock EEPROMP1.DATA_PIN 5 VFD DATA PINP1.STROBE_PIN 4 VFD STROBE PINP1.CLK_PIN 3 VFD CLK PINP1.P1.A18 2 A18P1.P1.A17 1 A17P1.T2 0 T2;RESERVED0091 0x0091 RESERVEDDPSEL 0x0092 Data Pointer Select Register;RESERVED0093 0x0093 RESERVED;RESERVED0094 0x0094 RESERVEDASCL 0x0095 ADAT 0x0096 ACON 0x0097 SCON 0x0098 Serial Channel 0 Control Reg.SBUF 0x0099 Serial Channel 0 Buffer Reg.IEN2 0x009A Interrupt Enable Register 2SCON2 0x009B Serial Channel 1 Control Reg.SBUF2 0x009C Serial Channel 1 Buffer Reg.,SREL2 0x009D Serial Channel 1 Reload Reg., low byte;RESERVED009E 0x009E RESERVED;RESERVED009F 0x009F RESERVEDP2 0x00A0 Port 2P2.P2.7 7P2.P2.6 6P2.P2.5 5 P2.P2.4 4 P2.P2.3 3P2.P2.2 2P2.P2.1 1P2.P2.0 0IEN0 0x00A8 Interrupt Enable Register 0IEN0.EA 7IEN0.6 6IEN0.5 5 IEN0.4 4 IEN0.3 3IEN0.2 2IEN0.1 1IEN0.0 0IP0 0x00A9 Interrupt Priority Register 0;S0RELL 0x00AA Serial Channel 0, Reload Reg., low bytePWM4P 0x00AAPWM4W 0x00AB;RESERVED00AC 0x00AC RESERVED;RESERVED00AD 0x00AD RESERVEDWMKEY 0x00AE;RESERVED00AF 0x00AF RESERVEDP3 0x00B0 Port 3P3.P3.7 7P3.P3.6 6P3.T1 5 P3.T0 4 P3.P3.3 3P3.P3.2 2 Select FlashP3.P3.1 1P3.P3.0 0PSCL0L 0x00B1PSCL0H 0x00B2 RESERVEDPSCL1L 0x00B3 RESERVEDPSCL1H 0x00B4 RESERVED;RESERVED00B5 0x00B5 RESERVED;RESERVED00B6 0x00B6 RESERVEDIPA 0x00B7 RESERVED;IEN1 0x00B8 Interrupt Enable Register 1IP 0x00B8 IP1 0x00B9 Interrupt Priority Register 1S0RELH 0x00BA Serial Channel 0, Reload Reg., high byteS1RELH 0x00BB Serial Channel 1, Reload Reg.,high byte;RESERVED00BC 0x00BC RESERVED;RESERVED00BD 0x00BD RESERVED;RESERVED00BE 0x00BE RESERVED;RESERVED00BF 0x00BF RESERVED;IRCON 0x00C0 Interrupt Request Control RegisterP4 0x00C0 Interrupt Request Control RegisterCCEN 0x00C1 Comp./Capture Enable Reg.CCL1 0x00C2 Comp./Capture Reg. 1, Low ByteCCH1 0x00C3 Comp./Capture Reg. 1, High ByteCCL2 0x00C4 Comp./Capture Reg. 2, Low ByteCCH2 0x00C5 Comp./Capture Reg. 2, High ByteCCL3 0x00C6 Comp./Capture Reg. 3, Low ByteCCH3 0x00C7 Comp./Capture Reg. 3, High ByteT2CON 0x00C8 Timer 2 Control Register;CC4EN 0x00C9 Comp./Capture Enable 4 Reg.T2MOD 0x00C9 Comp./Capture Enable 4 Reg.RCAP2L 0x00CA Com./Rel./Capt. Reg. Low ByteRCAP2H 0x00CB Com./Rel./Capt. Reg. High ByteTL2 0x00CC Timer 2, Low ByteTH2 0x00CD Timer 2, High ByteCCL4 0x00CE Comp./Capture Reg. 4, Low ByteCCH4 0x00CF Comp./Capture Reg. 4, High BytePSW 0x00D0 Program Status Word RegisterS1SETUP 0x00D1 S2SETUP 0x00D2RAMBUF 0x00D4DDCDAT 0x00D5DDCADR 0x00D6DDCCON 0x00D7S1CON 0x00D8S1STA 0x00D9S1DAT 0x00DAS1ADR 0x00DBS2CON 0x00DCS2STA 0x00DDS2DAT 0x00DES2ADR 0x00DF;CML0 0x00D2 Compare Register 0, Low Byte;CMH0 0x00D3 Compare Register 0, High Byte;CML1 0x00D4 Compare Register 1, Low Byte;CMH1 0x00D5 Compare Register 1, High Byte;CML2 0x00D6 Compare Register 2, Low Byte;CMH2 0x00D7 Compare Register 2, High Byte;ADCON0 0x00D8 A/D Converter Control Register 0;ADDAT 0x00D9 A/D Converter Data Register;DAPR 0x00DA D/AConverter Program Register;P7 0x00DB Port 7, Analog/Digital Input;ADCON1 0x00DC A/D Converter Control Register 1;P8 0x00DD Port 8, Analog/Digital Input, 4-bit 0DD;CTRELL 0x00DE Com. Timer Rel. Reg., Low Byte;CTRELH 0x00DF Com. Timer Rel. Reg., High ByteACC 0x00E0 Accumulator;CTCON 0x00E1 Com. Timer Control RegisterUSCL 0x00E1CML3 0x00E2 Compare Register 3, Low ByteCMH3 0x00E3 Compare Register 3, High ByteCML4 0x00E4 Compare Register 4, Low ByteCMH4 0x00E5 Compare Register 4, High ByteUDT1 0x00E6UDT0 0x00E7UISTA 0x00E8UIEN 0x00E9UCON0 0x00EAUCON1 0x00EBUCON2 0x00ECUSTA 0x00EDUADR 0x00EEUDR0 0x00EF;CML5 0x00E6 Compare Register 5, Low Byte;CMH5 0x00E7 Compare Register 5, High Byte;P4 0x00E8 Port 4;MD0 0x00E9 Multiplication/Division Register 0;MD1 0x00EA Multiplication/Division Register 1;MD2 0x00EB Multiplication/Division Register 2;MD3 0x00EC Multiplication/Division Register 3;MD4 0x00ED Multiplication/Division Register 4;MD5 0x00EE Multiplication/Division Register 5;ARCON 0x00EF Arithmetic Control RegisterB 0x00F0 B-Register;RESERVED00F1 0x00F1 RESERVEDCML6 0x00F2 Compare Register 6, Low ByteCMH6 0x00F3 Compare Register 6, High ByteCML7 0x00F4 Compare Register 7, Low ByteCMH7 0x00F5 Compare Register 7, High ByteCMEN 0x00F6 Compare Enable RegisterCMSEL 0x00F7 Compare Input SelectP5 0x00F8 Port 5;RESERVED00F9 0x00F9 RESERVEDP6 0x00FA Port 6;RESERVED00FB 0x00FB RESERVED;RESERVED00FC 0x00FC RESERVED;RESERVED00FD 0x00FD RESERVED;RESERVED00FE 0x00FE RESERVED;RESERVED00FF 0x00FF RESERVED
B1:78FB ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B1:78FBB1:78FBB1:78FB Dir_Disp_Dirline: ; CODE XREF: B1_A481+70pB1:78FB ; B1_A481+77p ...B1:78FBB1:78FB 20 45 03 jb RAM_28.5, B1_7901B1:78FE 02 7A 26 ljmp B1_7A26B1:7901 ; ---------------------------------------------------------------------------B1:7901B1:7901 B1_7901: ; CODE XREF: Dir_Disp_DirlinejB1:7901 7F 2B mov R7, #0x2B ; '+'B1:7903 7E 02 mov R6, #2B1:7905 12 1E 16 lcall B1_BS_201_B3_DBEFB1:7908 90 FB 9B mov DPTR, #XRAM_FB9BB1:790B 12 0A 38 lcall B1_?C?LSTXDATAB1:790E 90 FB 9B mov DPTR, #XRAM_FB9BB1:7911 E0 movx A, @DPTRB1:7912 FC mov R4, AB1:7913 A3 inc DPTRB1:7914 E0 movx A, @DPTRB1:7915 FD mov R5, AB1:7916 A3 inc DPTRB1:7917 E0 movx A, @DPTRB1:7918 FE mov R6, AB1:7919 A3 inc DPTRB1:791A E0 movx A, @DPTRB1:791B 24 02 add A, #2B1:791D FF mov R7, AB1:791E E4 clr AB1:791F 3E addc A, R6B1:7920 FE mov R6, AB1:7921 E4 clr AB1:7922 3D addc A, R5B1:7923 FD mov R5, AB1:7924 E4 clr AB1:7925 3C addc A, R4B1:7926 FC mov R4, AB1:7927 90 FB 9B mov DPTR, #XRAM_FB9BB1:792A 12 0A 38 lcall B1_?C?LSTXDATAB1:792D 90 FB 9C mov DPTR, #XRAM_FB9CB1:7930 E0 movx A, @DPTRB1:7931 FF mov R7, AB1:7932 A3 inc DPTRB1:7933 E0 movx A, @DPTRB1:7934 FC mov R4, AB1:7935 A3 inc DPTRB1:7936 E0 movx A, @DPTRB1:7937 FD mov R5, AB1:7938 12 1E 1C lcall B1_BS_202_B0_E77BB1:793B 90 FB 99 mov DPTR, #XRAM_FB99B1:793E EF mov A, R7B1:793F F0 movx @DPTR, AB1:7940 90 FC 44 mov DPTR, #XRAM_FC44 ; Coordenada horizontal (HI)B1:7943 E4 clr AB1:7944 F0 movx @DPTR, AB1:7945 A3 inc DPTRB1:7946 74 22 mov A, #0x22 ; '"'B1:7948 F0 movx @DPTR, AB1:7949 90 FC 46 mov DPTR, #XRAM_FC46 ; Coordenada vertical (HI)B1:794C E4 clr AB1:794D F0 movx @DPTR, AB1:794E A3 inc DPTRB1:794F 74 06 mov A, #6B1:7951 F0 movx @DPTR, AB1:7952 7D 07 mov R5, #7B1:7954 7F 10 mov R7, #0x10B1:7956 12 1E 22 lcall B1_BS_203_B5_CE44B1:7959 90 FC 46 mov DPTR, #XRAM_FC46 ; Coordenada vertical (HI)B1:795C E4 clr AB1:795D F0 movx @DPTR, AB1:795E A3 inc DPTRB1:795F 74 04 mov A, #4B1:7961 F0 movx @DPTR, AB1:7962 90 FC 45 mov DPTR, #XRAM_FC45 ; Coordenada horizontal (LO)B1:7965 E0 movx A, @DPTRB1:7966 24 32 add A, #0x32 ; '2'B1:7968 F0 movx @DPTR, AB1:7969 90 FC 44 mov DPTR, #XRAM_FC44 ; Coordenada horizontal (HI)B1:796C E0 movx A, @DPTRB1:796D 34 00 addc A, #0B1:796F F0 movx @DPTR, AB1:7970 74 04 mov A, #4B1:7972 24 1E add A, #0x1E B1:7974 90 FC 4E mov DPTR, #XRAM_FC4EB1:7977 F0 movx @DPTR, AB1:7978 E4 clr AB1:7979 33 rlc AB1:797A 90 FC 4D mov DPTR, #XRAM_FC4DB1:797D F0 movx @DPTR, AB1:797E 90 FC 49 mov DPTR, #XRAM_FC49B1:7981 74 02 mov A, #2B1:7983 F0 movx @DPTR, AB1:7984 A3 inc DPTRB1:7985 74 56 mov A, #0x56 ; 'V'B1:7987 F0 movx @DPTR, AB1:7988 D2 46 setb RAM_28.6B1:798A E4 clr AB1:798B 90 FB EA mov DPTR, #XRAM_FBEAB1:798E F0 movx @DPTR, AB1:798F FB mov R3, AB1:7990 FD mov R5, AB1:7991 7F 10 mov R7, #0x10B1:7993 12 1E 46 lcall B1_BS_209_B5_CF3DB1:7996 E4 clr A ; Define a fonte usada na linha de diretório (0x0)B1:7997 FF mov R7, AB1:7998 12 1E 70 lcall OSD_SetFont_B1_BSB1:799B 90 FC 07 mov DPTR, #XRAM_FC07 ; OSD_ColorsB1:799E 74 03 mov A, #3B1:79A0 F0 movx @DPTR, AB1:79A1 A3 inc DPTRB1:79A2 14 dec AB1:79A3 F0 movx @DPTR, AB1:79A4 E4 clr AB1:79A5 FB mov R3, AB1:79A6 FD mov R5, AB1:79A7 7F 10 mov R7, #0x10B1:79A9 12 1D E0 lcall OSD_TextColor_B1_BSB1:79AC 90 FB 99 mov DPTR, #XRAM_FB99B1:79AF E0 movx A, @DPTRB1:79B0 FF mov R7, AB1:79B1 D3 setb CB1:79B2 94 36 subb A, #0x36 ; '6' ; 1o ponto a mudar para aumentar o númeroB1:79B2 ; de caracteres na linha de diretórioB1:79B4 40 31 jc B1_79E7B1:79B6 90 FB 9B mov DPTR, #XRAM_FB9BB1:79B9 E0 movx A, @DPTRB1:79BA F8 mov R0, AB1:79BB A3 inc DPTRB1:79BC E0 movx A, @DPTRB1:79BD F9 mov R1, AB1:79BE A3 inc DPTRB1:79BF E0 movx A, @DPTRB1:79C0 FA mov R2, AB1:79C1 A3 inc DPTRB1:79C2 E0 movx A, @DPTRB1:79C3 FB mov R3, AB1:79C4 EF mov A, R7B1:79C5 24 CA add A, #0xCA ; '-'B1:79C7 FF mov R7, AB1:79C8 E4 clr AB1:79C9 34 FF addc A, #0xFFB1:79CB FE mov R6, AB1:79CC E4 clr AB1:79CD FC mov R4, AB1:79CE FD mov R5, AB1:79CF EB mov A, R3B1:79D0 2F add A, R7B1:79D1 FF mov R7, AB1:79D2 EA mov A, R2B1:79D3 3E addc A, R6B1:79D4 FE mov R6, AB1:79D5 ED mov A, R5B1:79D6 39 addc A, R1B1:79D7 FD mov R5, AB1:79D8 EC mov A, R4B1:79D9 38 addc A, R0B1:79DA FC mov R4, AB1:79DB 90 FB 9B mov DPTR, #XRAM_FB9BB1:79DE 12 0A 38 lcall B1_?C?LSTXDATAB1:79E1 90 FB 99 mov DPTR, #XRAM_FB99B1:79E4 74 36 mov A, #0x36 ; '6' ; 2o ponto a mudar para aumentar o númeroB1:79E4 ; de caracteres na linha de diretórioB1:79E6 F0 movx @DPTR, AB1:79E7B1:79E7 B1_79E7: ; CODE XREF: Dir_Disp_Dirline+B9jB1:79E7 7F 28 mov R7, #0x28 ; '('B1:79E9 7E 02 mov R6, #2B1:79EB 12 19 C6 lcall B1_BS_17_B0_E87AB1:79EE 90 FB B1 mov DPTR, #XRAM_FBB1B1:79F1 EF mov A, R7B1:79F2 F0 movx @DPTR, AB1:79F3 90 FB 9B mov DPTR, #XRAM_FB9BB1:79F6 E0 movx A, @DPTRB1:79F7 FC mov R4, AB1:79F8 A3 inc DPTRB1:79F9 E0 movx A, @DPTRB1:79FA FD mov R5, AB1:79FB A3 inc DPTRB1:79FC E0 movx A, @DPTRB1:79FD FE mov R6, AB1:79FE A3 inc DPTRB1:79FF E0 movx A, @DPTRB1:7A00 24 01 add A, #1B1:7A02 FF mov R7, AB1:7A03 E4 clr AB1:7A04 3E addc A, R6B1:7A05 FE mov R6, AB1:7A06 E4 clr AB1:7A07 3D addc A, R5B1:7A08 FD mov R5, AB1:7A09 E4 clr AB1:7A0A 3C addc A, R4B1:7A0B FC mov R4, AB1:7A0C 90 FB AC mov DPTR, #XRAM_FBACB1:7A0F 12 0A 38 lcall B1_?C?LSTXDATAB1:7A12 E4 clr AB1:7A13 90 FB B0 mov DPTR, #XRAM_FBB0B1:7A16 F0 movx @DPTR, AB1:7A17 90 FB 99 mov DPTR, #XRAM_FB99B1:7A1A E0 movx A, @DPTRB1:7A1B FD mov R5, AB1:7A1C 7F 10 mov R7, #0x10B1:7A1E 12 1E 2E lcall B1_BS_205_B3_9509B1:7A21 E4 clr A ; Define a fonte usada no filebrowser (0x0)B1:7A22 FF mov R7, AB1:7A23 02 1E 70 ljmp OSD_SetFont_B1_BSB1:7A26 ; ---------------------------------------------------------------------------B1:7A26B1:7A26 B1_7A26: ; CODE XREF: Dir_Disp_Dirline+3jB1:7A26 90 FC 44 mov DPTR, #XRAM_FC44B1:7A29 E4 clr AB1:7A2A F0 movx @DPTR, AB1:7A2B A3 inc DPTRB1:7A2C 74 22 mov A, #0x22 ; '"'B1:7A2E F0 movx @DPTR, AB1:7A2F 90 FC 46 mov DPTR, #XRAM_FC46B1:7A32 E4 clr AB1:7A33 F0 movx @DPTR, AB1:7A34 A3 inc DPTRB1:7A35 74 06 mov A, #6B1:7A37 F0 movx @DPTR, AB1:7A38 7B 1E mov R3, #0x1EB1:7A3A 7A 00 mov R2, #0B1:7A3C 7D 68 mov R5, #0x68 ; 'h'B1:7A3E 7C 02 mov R4, #2B1:7A40 7F 10 mov R7, #0x10B1:7A42 12 1E 58 lcall B1_BS_212_B5_BF1AB1:7A45 22 retB1:7A45 ; End of function Dir_Disp_Dirline
B1:7EED Dir_DispDirline: ; CODE XREF: B1_89A3+84pB1:7EED ; B1_89A3+8BpB1:7EED 20 74 03 jb RAM_2E.4, B1_7EF3B1:7EF0 02 80 0D ljmp B1_800DB1:7EF3 ; ---------------------------------------------------------------------------B1:7EF3B1:7EF3 B1_7EF3: ; CODE XREF: Dir_DispDirlinejB1:7EF3 7F 2B mov R7, #0x2B ; '+'B1:7EF5 7E 02 mov R6, #2B1:7EF7 12 1E B4 lcall B1_BS_234_B4_CAD9B1:7EFA 90 FB B1 mov DPTR, #XRAM_FBB1B1:7EFD 12 08 F5 lcall B1_?C?LSTXDATAB1:7F00 90 FB B1 mov DPTR, #XRAM_FBB1B1:7F03 E0 movx A, @DPTRB1:7F04 FC mov R4, AB1:7F05 A3 inc DPTRB1:7F06 E0 movx A, @DPTRB1:7F07 FD mov R5, AB1:7F08 A3 inc DPTRB1:7F09 E0 movx A, @DPTRB1:7F0A FE mov R6, AB1:7F0B A3 inc DPTRB1:7F0C E0 movx A, @DPTRB1:7F0D 24 02 add A, #2B1:7F0F FF mov R7, AB1:7F10 E4 clr AB1:7F11 3E addc A, R6B1:7F12 FE mov R6, AB1:7F13 E4 clr AB1:7F14 3D addc A, R5B1:7F15 FD mov R5, AB1:7F16 E4 clr AB1:7F17 3C addc A, R4B1:7F18 FC mov R4, AB1:7F19 90 FB B1 mov DPTR, #XRAM_FBB1B1:7F1C 12 08 F5 lcall B1_?C?LSTXDATAB1:7F1F 90 FB B2 mov DPTR, #XRAM_FBB2B1:7F22 E0 movx A, @DPTRB1:7F23 FF mov R7, AB1:7F24 A3 inc DPTRB1:7F25 E0 movx A, @DPTRB1:7F26 FC mov R4, AB1:7F27 A3 inc DPTRB1:7F28 E0 movx A, @DPTRB1:7F29 FD mov R5, AB1:7F2A 12 1E A8 lcall B1_BS_232_B0_E599B1:7F2D 90 FB AF mov DPTR, #XRAM_FBAFB1:7F30 EF mov A, R7B1:7F31 F0 movx @DPTR, AB1:7F32 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:7F35 E4 clr AB1:7F36 F0 movx @DPTR, AB1:7F37 A3 inc DPTRB1:7F38 74 22 mov A, #0x22 ; '"'B1:7F3A F0 movx @DPTR, AB1:7F3B 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:7F3E E4 clr AB1:7F3F F0 movx @DPTR, AB1:7F40 A3 inc DPTRB1:7F41 74 06 mov A, #6B1:7F43 F0 movx @DPTR, AB1:7F44 7D 08 mov R5, #8B1:7F46 7F 0F mov R7, #0xFB1:7F48 12 1E BA lcall B1_BS_235_B3_2D12B1:7F4B 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:7F4E E4 clr AB1:7F4F F0 movx @DPTR, AB1:7F50 A3 inc DPTRB1:7F51 74 04 mov A, #4B1:7F53 F0 movx @DPTR, AB1:7F54 90 FC 77 mov DPTR, #XRAM_FC77 ; Coordenada horizontal (LO)B1:7F57 E0 movx A, @DPTRB1:7F58 24 32 add A, #0x32 ; '2'B1:7F5A F0 movx @DPTR, AB1:7F5B 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:7F5E E0 movx A, @DPTRB1:7F5F 34 00 addc A, #0B1:7F61 F0 movx @DPTR, AB1:7F62 74 04 mov A, #4B1:7F64 24 1E add A, #0x1EB1:7F66 90 FC 81 mov DPTR, #XRAM_FC81B1:7F69 F0 movx @DPTR, AB1:7F6A E4 clr AB1:7F6B 33 rlc AB1:7F6C 90 FC 80 mov DPTR, #XRAM_FC80B1:7F6F F0 movx @DPTR, AB1:7F70 90 FC 7C mov DPTR, #XRAM_FC7CB1:7F73 74 02 mov A, #2B1:7F75 F0 movx @DPTR, AB1:7F76 A3 inc DPTRB1:7F77 74 56 mov A, #0x56 ; 'V'B1:7F79 F0 movx @DPTR, AB1:7F7A D2 75 setb RAM_2E.5B1:7F7C E4 clr AB1:7F7D 90 FB FD mov DPTR, #XRAM_FBFDB1:7F80 F0 movx @DPTR, AB1:7F81 FB mov R3, AB1:7F82 FD mov R5, AB1:7F83 7F 0F mov R7, #0xFB1:7F85 12 1D 52 lcall B1_BS_175_B3_B8B4B1:7F88 E4 clr A ; Define a fonte usada na linha de diretório (0x0)B1:7F89 FF mov R7, AB1:7F8A 12 1E EA lcall OSD_SetFont_B1_BSB1:7F8D 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB1:7F90 74 02 mov A, #2 ; Cor de contorno = 2B1:7F92 F0 movx @DPTR, AB1:7F93 A3 inc DPTRB1:7F94 04 inc A ; Cor de preenchimento = 3B1:7F95 F0 movx @DPTR, AB1:7F96 E4 clr AB1:7F97 FB mov R3, AB1:7F98 FD mov R5, AB1:7F99 7F 0F mov R7, #0xFB1:7F9B 12 1D 76 lcall OSD_TextColor_B1_BSB1:7F9E 90 FB AF mov DPTR, #XRAM_FBAFB1:7FA1 E0 movx A, @DPTRB1:7FA2 FF mov R7, AB1:7FA3 D3 setb CB1:7FA4 94 1E subb A, #0x1E ; 1o ponto a mudar para aumentar o númeroB1:7FA4 ; de caracteres na linha de diretórioB1:7FA6 40 31 jc B1_7FD9B1:7FA8 90 FB B1 mov DPTR, #XRAM_FBB1B1:7FAB E0 movx A, @DPTRB1:7FAC F8 mov R0, AB1:7FAD A3 inc DPTRB1:7FAE E0 movx A, @DPTRB1:7FAF F9 mov R1, AB1:7FB0 A3 inc DPTRB1:7FB1 E0 movx A, @DPTRB1:7FB2 FA mov R2, AB1:7FB3 A3 inc DPTRB1:7FB4 E0 movx A, @DPTRB1:7FB5 FB mov R3, AB1:7FB6 EF mov A, R7B1:7FB7 24 E2 add A, #0xE2 ; 'Ô' ; 0x100-(número de caracteres a exibir)B1:7FB7 ; No caso: 0x100-0x1E = 0xE2B1:7FB9 FF mov R7, AB1:7FBA E4 clr AB1:7FBB 34 FF addc A, #0xFFB1:7FBD FE mov R6, AB1:7FBE E4 clr AB1:7FBF FC mov R4, AB1:7FC0 FD mov R5, AB1:7FC1 EB mov A, R3B1:7FC2 2F add A, R7B1:7FC3 FF mov R7, AB1:7FC4 EA mov A, R2B1:7FC5 3E addc A, R6B1:7FC6 FE mov R6, AB1:7FC7 ED mov A, R5B1:7FC8 39 addc A, R1B1:7FC9 FD mov R5, AB1:7FCA EC mov A, R4B1:7FCB 38 addc A, R0B1:7FCC FC mov R4, AB1:7FCD 90 FB B1 mov DPTR, #XRAM_FBB1B1:7FD0 12 08 F5 lcall B1_?C?LSTXDATAB1:7FD3 90 FB AF mov DPTR, #XRAM_FBAFB1:7FD6 74 1E mov A, #0x1E ; 2o ponto a mudar para aumentar o númeroB1:7FD6 ; de caracteres na linha de diretórioB1:7FD8 F0 movx @DPTR, AB1:7FD9B1:7FD9 B1_7FD9: ; CODE XREF: Dir_DispDirline+B9jB1:7FD9 90 FB B1 mov DPTR, #XRAM_FBB1B1:7FDC E0 movx A, @DPTRB1:7FDD FC mov R4, AB1:7FDE A3 inc DPTRB1:7FDF E0 movx A, @DPTRB1:7FE0 FD mov R5, AB1:7FE1 A3 inc DPTRB1:7FE2 E0 movx A, @DPTRB1:7FE3 FE mov R6, AB1:7FE4 A3 inc DPTRB1:7FE5 E0 movx A, @DPTRB1:7FE6 24 01 add A, #1B1:7FE8 FF mov R7, AB1:7FE9 E4 clr AB1:7FEA 3E addc A, R6B1:7FEB FE mov R6, AB1:7FEC E4 clr AB1:7FED 3D addc A, R5B1:7FEE FD mov R5, AB1:7FEF E4 clr AB1:7FF0 3C addc A, R4B1:7FF1 FC mov R4, AB1:7FF2 90 FB C2 mov DPTR, #XRAM_FBC2B1:7FF5 12 08 F5 lcall B1_?C?LSTXDATAB1:7FF8 90 FB C6 mov DPTR, #XRAM_FBC6 ; Posição do último "."B1:7FFB 74 5F mov A, #0x5F ; '_'B1:7FFD F0 movx @DPTR, AB1:7FFE 90 FB AF mov DPTR, #XRAM_FBAFB1:8001 E0 movx A, @DPTRB1:8002 FD mov R5, AB1:8003 7F 0F mov R7, #0xFB1:8005 12 1E C6 lcall B1_BS_237_B4_8A43B1:8008 E4 clr A ; Define a fonte do browser (0x0)B1:8009 FF mov R7, AB1:800A 02 1E EA ljmp OSD_SetFont_B1_BSB1:800D ; ---------------------------------------------------------------------------B1:800DB1:800D B1_800D: ; CODE XREF: Dir_DispDirline+3jB1:800D 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:8010 E4 clr AB1:8011 F0 movx @DPTR, AB1:8012 A3 inc DPTRB1:8013 74 22 mov A, #0x22 ; '"'B1:8015 F0 movx @DPTR, AB1:8016 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:8019 E4 clr AB1:801A F0 movx @DPTR, AB1:801B A3 inc DPTRB1:801C 74 06 mov A, #6B1:801E F0 movx @DPTR, AB1:801F 7B 1E mov R3, #0x1EB1:8021 7A 00 mov R2, #0B1:8023 7D 68 mov R5, #0x68 ; 'h'B1:8025 7C 02 mov R4, #2B1:8027 7F 0F mov R7, #0xFB1:8029 12 1E 54 lcall ClearRect?B1:802C 22 retB1:802C ; End of function Dir_DispDirlineB1:802C
B1:56C0 74 02 mov A, 02 ; Fonte 0x02B1:56C2 12 1E EA lcall OSD_setFont ;Faço uma chamada à rotina que seta a fonteB1:56C5 12 FA 32 lcall rotina_movida ;Chamo a rotina antigaB1:56C8 00 nopB1:56C9 00 nopB1:56CA 00 nopB1:56CB 00 nopB1:56CC 00 nopB1:56CD 00 nop
B1:FA32 74 00 mov A, 0 ; Cor de OutineB1:FA34 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB1:FA37 F0 movx @DPTR, AB1:FA38 A3 inc DPTRB1:FA39 74 0E mov A, #0xE ; Cor de PreenchimentoB1:FA3B F0 movx @DPTR, AB1:FA3C E4 clr AB1:FA3D FB mov R3, AB1:FA3E FD mov R5, AB1:FA3F 7F 0F mov R7, #0xFB1:FA41 22 ret
B1:5785 94 FF subb A, #0xFF B1:5787 40 03 jc B1_578CB1:5789 74 FF mov A, #0xFF
B1:5796 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:5799 74 00 mov A, #0B1:579B F0 movx @DPTR, AB1:579C A3 inc DPTRB1:579D 74 25 mov A, #0x25 ; B1:579F F0 movx @DPTR, A ; FC76 e FC77 = 0x25B1:579F ; offset horizontal. Quanto menor, mais à esquerda a linha começa.B1:57A0 EF mov A, R7 ; R7 contém o número da TAG (linha) sendo exibida?B1:57A1 75 F0 14 mov B, #0x14 ; Altura presumida de cada linhaB1:57A1 ; 0x10 fará com que cada linha cubra a metade da anteriorB1:57A1 ; 0x16 funciona OK com a fonte originalB1:57A4 A4 mul ABB1:57A5 AE F0 mov R6, B ; R6 contém agora a coordenada vertical de impressão da linha?B1:57A7 24 F0 add A, #0xF0 ;
B1:565C ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B1:565CB1:565CB1:565C MP3_TagDisplay: ; CODE XREF: B1_6AC0:B1_6BF4jB1:565C ; B1_AB8D+B1pB1:565C ; DATA XREF: ...B1:565C E4 clr AB1:565D 90 FB B3 mov DPTR, #XRAM_FBB3B1:5660 F0 movx @DPTR, AB1:5661 90 FB AC mov DPTR, #XRAM_FBACB1:5664 74 06 mov A, #6 ; Mudei para 0x5 mas nada pareceu mudarB1:5666 F0 movx @DPTR, AB1:5667 7D 02 mov R5, #2B1:5669 7C 00 mov R4, #0B1:566B 7F 01 mov R7, #1B1:566D 12 1D 04 lcall B1_BS_162_B3_BE2EB1:5670 7F 4A mov R7, #0x4A ; 'J' ; As quatro chamadas a ARM_Getchar seguintes obtem o endereçoB1:5670 ; inicial do bloco de tags (4 bytes) na shared memoryB1:5672 7E 02 mov R6, #2B1:5674 12 1B 96 lcall ARM_GetChar_B1_BSB1:5677 90 FB A3 mov DPTR, #XRAM_FBA3B1:567A EF mov A, R7B1:567B F0 movx @DPTR, AB1:567C 7F 4B mov R7, #0x4B ; 'K'B1:567E 7E 02 mov R6, #2B1:5680 12 1B 96 lcall ARM_GetChar_B1_BSB1:5683 90 FB A2 mov DPTR, #XRAM_FBA2B1:5686 EF mov A, R7B1:5687 F0 movx @DPTR, AB1:5688 7F 4C mov R7, #0x4C ; 'L'B1:568A 7E 02 mov R6, #2B1:568C 12 1B 96 lcall ARM_GetChar_B1_BSB1:568F 90 FB A1 mov DPTR, #XRAM_FBA1B1:5692 EF mov A, R7B1:5693 F0 movx @DPTR, AB1:5694 7F 4D mov R7, #0x4D ; 'M'B1:5696 7E 02 mov R6, #2B1:5698 12 1B 96 lcall ARM_GetChar_B1_BSB1:569B 90 FB A0 mov DPTR, #XRAM_FBA0B1:569E EF mov A, R7B1:569F F0 movx @DPTR, AB1:56A0 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:56A3 74 01 mov A, #1B1:56A5 F0 movx @DPTR, AB1:56A6 A3 inc DPTRB1:56A7 74 79 mov A, #0x79 ; 'y' ; Coordenada Horizontal: 0x179B1:56A9 F0 movx @DPTR, AB1:56AA 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:56AD E4 clr AB1:56AE F0 movx @DPTR, AB1:56AF A3 inc DPTRB1:56B0 74 37 mov A, #0x37 ; '7' ; Coordenada Vertical: 0x37B1:56B2 F0 movx @DPTR, AB1:56B3 7B DC mov R3, #0xDC ; '_' ; R2R3 = alturaB1:56B5 7A 00 mov R2, #0B1:56B7 7D DC mov R5, #0xDC ; '_' ; R4R5 = LarguraB1:56B9 7C 00 mov R4, #0B1:56BB 7F 0F mov R7, #0xFB1:56BD 12 1E 54 lcall ClearRect ; Limpa o retânguloB1:56C0 E4 clr A ; Cor de Outine (0x0)B1:56C1 90 FC 1E mov DPTR, #XRAM_FC1E ; OSD_colorsB1:56C4 F0 movx @DPTR, AB1:56C5 A3 inc DPTRB1:56C6 74 0E mov A, #0xE ; Cor de PreenchimentoB1:56C8 F0 movx @DPTR, AB1:56C9 E4 clr AB1:56CA FB mov R3, AB1:56CB FD mov R5, AB1:56CC 7F 0F mov R7, #0xFB1:56CE 12 1D 76 lcall OSD_TextColor_B1_BSB1:56D1 74 FF mov A, #0xFFB1:56D3 FF mov R7, AB1:56D4 FE mov R6, AB1:56D5 FD mov R5, AB1:56D6 FC mov R4, AB1:56D7 90 FB A0 mov DPTR, #XRAM_FBA0B1:56DA E0 movx A, @DPTRB1:56DB F8 mov R0, AB1:56DC A3 inc DPTRB1:56DD E0 movx A, @DPTRB1:56DE F9 mov R1, AB1:56DF A3 inc DPTRB1:56E0 E0 movx A, @DPTRB1:56E1 FA mov R2, AB1:56E2 A3 inc DPTRB1:56E3 E0 movx A, @DPTRB1:56E4 FB mov R3, AB1:56E5 C3 clr CB1:56E6 12 08 59 lcall B1_?C?ULCMPB1:56E9 70 03 jnz B1_56EEB1:56EB 02 58 AA ljmp B1_58AAB1:56EE ; ---------------------------------------------------------------------------B1:56EEB1:56EE B1_56EE: ; CODE XREF: MP3_TagDisplay+8DjB1:56EE E4 clr AB1:56EF 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:56F2 F0 movx @DPTR, AB1:56F3B1:56F3 B1_56F3: ; CODE XREF: MP3_TagDisplay+24BjB1:56F3 90 FB A0 mov DPTR, #XRAM_FBA0B1:56F6 E0 movx A, @DPTRB1:56F7 FC mov R4, AB1:56F8 A3 inc DPTRB1:56F9 E0 movx A, @DPTRB1:56FA FD mov R5, AB1:56FB A3 inc DPTRB1:56FC E0 movx A, @DPTRB1:56FD FE mov R6, AB1:56FE A3 inc DPTRB1:56FF E0 movx A, @DPTRB1:5700 FF mov R7, AB1:5701 A3 inc DPTRB1:5702 12 08 F5 lcall B1_?C?LSTXDATAB1:5705 E4 clr AB1:5706 90 FB A9 mov DPTR, #XRAM_FBA9B1:5709 F0 movx @DPTR, AB1:570AB1:570A B1_570A: ; CODE XREF: MP3_TagDisplay+122jB1:570A 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:570D E0 movx A, @DPTRB1:570E 90 2F DB mov DPTR, #B1_2FDBB1:5711 93 movc A, @A+DPTRB1:5712 FF mov R7, AB1:5713 90 FB A9 mov DPTR, #XRAM_FBA9B1:5716 E0 movx A, @DPTRB1:5717 C3 clr CB1:5718 9F subb A, R7B1:5719 50 65 jnc B1_5780B1:571B 90 FB A5 mov DPTR, #XRAM_FBA5B1:571E E0 movx A, @DPTRB1:571F FF mov R7, AB1:5720 A3 inc DPTRB1:5721 E0 movx A, @DPTRB1:5722 FC mov R4, AB1:5723 A3 inc DPTRB1:5724 E0 movx A, @DPTRB1:5725 FD mov R5, AB1:5726 12 1E A8 lcall B1_BS_232_B0_E599B1:5729 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:572C E0 movx A, @DPTRB1:572D FE mov R6, AB1:572E 70 0C jnz B1_573CB1:5730 A3 inc DPTRB1:5731 E0 movx A, @DPTRB1:5732 90 2F D8 mov DPTR, #B1_2FD8B1:5735 93 movc A, @A+DPTRB1:5736 6F xrl A, R7B1:5737 60 03 jz B1_573CB1:5739 02 58 AA ljmp B1_58AAB1:573C ; ---------------------------------------------------------------------------B1:573CB1:573C B1_573C: ; CODE XREF: MP3_TagDisplay+D2jB1:573C ; MP3_TagDisplay+DBjB1:573C EF mov A, R7B1:573D 70 08 jnz B1_5747B1:573F 90 FB A9 mov DPTR, #XRAM_FBA9B1:5742 E0 movx A, @DPTRB1:5743 A3 inc DPTRB1:5744 F0 movx @DPTR, AB1:5745 80 39 sjmp B1_5780B1:5747 ; ---------------------------------------------------------------------------B1:5747B1:5747 B1_5747: ; CODE XREF: MP3_TagDisplay+E1jB1:5747 EE mov A, R6B1:5748 90 2F DB mov DPTR, #B1_2FDBB1:574B 93 movc A, @A+DPTRB1:574C FF mov R7, AB1:574D 14 dec AB1:574E FE mov R6, AB1:574F 90 FB A9 mov DPTR, #XRAM_FBA9B1:5752 E0 movx A, @DPTRB1:5753 6E xrl A, R6B1:5754 70 03 jnz B1_5759B1:5756 A3 inc DPTRB1:5757 EF mov A, R7B1:5758 F0 movx @DPTR, AB1:5759B1:5759 B1_5759: ; CODE XREF: MP3_TagDisplay+F8jB1:5759 90 FB A4 mov DPTR, #XRAM_FBA4B1:575C E0 movx A, @DPTRB1:575D FC mov R4, AB1:575E A3 inc DPTRB1:575F E0 movx A, @DPTRB1:5760 FD mov R5, AB1:5761 A3 inc DPTRB1:5762 E0 movx A, @DPTRB1:5763 FE mov R6, AB1:5764 A3 inc DPTRB1:5765 E0 movx A, @DPTRB1:5766 24 01 add A, #1B1:5768 FF mov R7, AB1:5769 E4 clr AB1:576A 3E addc A, R6B1:576B FE mov R6, AB1:576C E4 clr AB1:576D 3D addc A, R5B1:576E FD mov R5, AB1:576F E4 clr AB1:5770 3C addc A, R4B1:5771 FC mov R4, AB1:5772 90 FB A4 mov DPTR, #XRAM_FBA4B1:5775 12 08 F5 lcall B1_?C?LSTXDATAB1:5778 90 FB A9 mov DPTR, #XRAM_FBA9B1:577B E0 movx A, @DPTRB1:577C 04 inc AB1:577D F0 movx @DPTR, AB1:577E 80 8A sjmp B1_570AB1:5780 ; ---------------------------------------------------------------------------B1:5780B1:5780 B1_5780: ; CODE XREF: MP3_TagDisplay+BDjB1:5780 ; MP3_TagDisplay+E9jB1:5780 90 FB AA mov DPTR, #XRAM_FBAA ; Número de caracteres na TAG ID3?B1:5783 E0 movx A, @DPTRB1:5784 C3 clr CB1:5785 94 0E subb A, #0xE ; Se o número de caracteres for 14 ou menos, continuaB1:5787 40 03 jc B1_578CB1:5789 74 0E mov A, #0xE ; Se for maior que 14, limitar a 14B1:578B F0 movx @DPTR, AB1:578CB1:578C B1_578C: ; CODE XREF: MP3_TagDisplay+12BjB1:578C 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:578F E0 movx A, @DPTRB1:5790 FF mov R7, AB1:5791 70 03 jnz B1_5796B1:5793 02 58 6E ljmp B1_586EB1:5796 ; ---------------------------------------------------------------------------B1:5796B1:5796 B1_5796: ; CODE XREF: MP3_TagDisplay+135jB1:5796 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:5799 74 01 mov A, #1B1:579B F0 movx @DPTR, AB1:579C A3 inc DPTRB1:579D 74 79 mov A, #0x79 ; 'y'B1:579F F0 movx @DPTR, A ; FC76 e FC77 = 0x179B1:579F ; offset horizontal. Quanto menor, mais à esquerda a linha começa.B1:57A0 EF mov A, R7 ; R7 contém o número da TAG (linha) sendo exibida?B1:57A1 75 F0 1E mov B, #0x1E ; Altura presumida de cada linhaB1:57A1 ; 0x10 fará com que cada linha cubra a metade da anteriorB1:57A1 ; 0x16 funciona OK com a fonte originalB1:57A4 A4 mul ABB1:57A5 AE F0 mov R6, B ; R6 contém agora a coordenada vertical de impressão da linha?B1:57A7 24 37 add A, #0x37 ; '7' ; Offset vertical. Quanto menor, mais próxima do topo da janelaB1:57A7 ; a primeira linha das TAGs vai ser impressa.B1:57A9 90 FC 7A mov DPTR, #XRAM_FC7A ; Coordenada vertical (LO)B1:57AC F0 movx @DPTR, AB1:57AD E4 clr AB1:57AE 3E addc A, R6B1:57AF 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:57B2 F0 movx @DPTR, AB1:57B3 90 FB A0 mov DPTR, #XRAM_FBA0B1:57B6 E0 movx A, @DPTRB1:57B7 FC mov R4, AB1:57B8 A3 inc DPTRB1:57B9 E0 movx A, @DPTRB1:57BA FD mov R5, AB1:57BB A3 inc DPTRB1:57BC E0 movx A, @DPTRB1:57BD FE mov R6, AB1:57BE A3 inc DPTRB1:57BF E0 movx A, @DPTRB1:57C0 FF mov R7, AB1:57C1 A3 inc DPTRB1:57C2 12 08 F5 lcall B1_?C?LSTXDATAB1:57C5 90 FB AA mov DPTR, #XRAM_FBAA ; Número de caracteres na TAG ID3?B1:57C8 E0 movx A, @DPTRB1:57C9 D3 setb CB1:57CA 94 10 subb A, #0x10 ; Número máximo de caracteres a exibir por TAGB1:57CC 40 6B jc B1_5839B1:57CE 90 FB B3 mov DPTR, #XRAM_FBB3B1:57D1 E0 movx A, @DPTRB1:57D2 94 07 subb A, #7B1:57D4 50 1B jnc B1_57F1B1:57D6 90 FB A4 mov DPTR, #XRAM_FBA4B1:57D9 E0 movx A, @DPTRB1:57DA FC mov R4, AB1:57DB A3 inc DPTRB1:57DC E0 movx A, @DPTRB1:57DD FD mov R5, AB1:57DE A3 inc DPTRB1:57DF E0 movx A, @DPTRB1:57E0 FE mov R6, AB1:57E1 A3 inc DPTRB1:57E2 E0 movx A, @DPTRB1:57E3 FF mov R7, AB1:57E4 90 FB B6 mov DPTR, #XRAM_FBB6B1:57E7 12 08 F5 lcall B1_?C?LSTXDATAB1:57EA 7D 10 mov R5, #0x10B1:57EC 7F 0F mov R7, #0xFB1:57EE 12 1E AE lcall B1_BS_233_B3_A227B1:57F1B1:57F1 B1_57F1: ; CODE XREF: MP3_TagDisplay+178jB1:57F1 90 FB B3 mov DPTR, #XRAM_FBB3B1:57F4 E0 movx A, @DPTRB1:57F5 04 inc AB1:57F6 F0 movx @DPTR, AB1:57F7 90 FB A4 mov DPTR, #XRAM_FBA4B1:57FA E0 movx A, @DPTRB1:57FB FC mov R4, AB1:57FC A3 inc DPTRB1:57FD E0 movx A, @DPTRB1:57FE FD mov R5, AB1:57FF A3 inc DPTRB1:5800 E0 movx A, @DPTRB1:5801 FE mov R6, AB1:5802 A3 inc DPTRB1:5803 E0 movx A, @DPTRB1:5804 24 10 add A, #0x10B1:5806 FF mov R7, AB1:5807 E4 clr AB1:5808 3E addc A, R6B1:5809 FE mov R6, AB1:580A E4 clr AB1:580B 3D addc A, R5B1:580C FD mov R5, AB1:580D E4 clr AB1:580E 3C addc A, R4B1:580F FC mov R4, AB1:5810 90 FB A4 mov DPTR, #XRAM_FBA4B1:5813 12 08 F5 lcall B1_?C?LSTXDATAB1:5816 90 FB AA mov DPTR, #XRAM_FBAA ; Número de caracteres na TAG ID3?B1:5819 E0 movx A, @DPTRB1:581A 24 F0 add A, #0xF0 ; ''B1:581C F0 movx @DPTR, AB1:581D 90 FC 7A mov DPTR, #XRAM_FC7A ; Coordenada vertical (LO)B1:5820 E0 movx A, @DPTRB1:5821 24 1A add A, #0x1AB1:5823 F0 movx @DPTR, AB1:5824 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:5827 E0 movx A, @DPTRB1:5828 34 00 addc A, #0B1:582A F0 movx @DPTR, AB1:582B 90 FC 77 mov DPTR, #XRAM_FC77 ; Coordenada horizontal (LO)B1:582E E0 movx A, @DPTRB1:582F 24 0A add A, #0xAB1:5831 F0 movx @DPTR, AB1:5832 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:5835 E0 movx A, @DPTRB1:5836 34 00 addc A, #0B1:5838 F0 movx @DPTR, AB1:5839B1:5839 B1_5839: ; CODE XREF: MP3_TagDisplay+170jB1:5839 90 FB AA mov DPTR, #XRAM_FBAA ; Número de caracteres na TAG ID3?B1:583C E0 movx A, @DPTRB1:583D FD mov R5, AB1:583E 60 2E jz B1_586EB1:5840 90 FB B3 mov DPTR, #XRAM_FBB3B1:5843 E0 movx A, @DPTRB1:5844 C3 clr CB1:5845 94 07 subb A, #7B1:5847 50 1F jnc B1_5868B1:5849 ED mov A, R5B1:584A C0 E0 push ACC ; AccumulatorB1:584C 90 FB A4 mov DPTR, #XRAM_FBA4B1:584F E0 movx A, @DPTRB1:5850 FC mov R4, AB1:5851 A3 inc DPTRB1:5852 E0 movx A, @DPTRB1:5853 FD mov R5, AB1:5854 A3 inc DPTRB1:5855 E0 movx A, @DPTRB1:5856 FE mov R6, AB1:5857 A3 inc DPTRB1:5858 E0 movx A, @DPTRB1:5859 FF mov R7, AB1:585A 90 FB B6 mov DPTR, #XRAM_FBB6B1:585D 12 08 F5 lcall B1_?C?LSTXDATAB1:5860 D0 E0 pop ACC ; AccumulatorB1:5862 FD mov R5, AB1:5863 7F 0F mov R7, #0xFB1:5865 12 1E AE lcall B1_BS_233_B3_A227B1:5868B1:5868 B1_5868: ; CODE XREF: MP3_TagDisplay+1EBjB1:5868 90 FB B3 mov DPTR, #XRAM_FBB3B1:586B E0 movx A, @DPTRB1:586C 04 inc AB1:586D F0 movx @DPTR, AB1:586EB1:586E B1_586E: ; CODE XREF: MP3_TagDisplay+137jB1:586E ; MP3_TagDisplay+1E2jB1:586E 90 FB A0 mov DPTR, #XRAM_FBA0B1:5871 E0 movx A, @DPTRB1:5872 F8 mov R0, AB1:5873 A3 inc DPTRB1:5874 E0 movx A, @DPTRB1:5875 F9 mov R1, AB1:5876 A3 inc DPTRB1:5877 E0 movx A, @DPTRB1:5878 FA mov R2, AB1:5879 A3 inc DPTRB1:587A E0 movx A, @DPTRB1:587B FB mov R3, AB1:587C 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:587F E0 movx A, @DPTRB1:5880 90 2F DB mov DPTR, #B1_2FDBB1:5883 93 movc A, @A+DPTRB1:5884 FF mov R7, AB1:5885 E4 clr AB1:5886 FC mov R4, AB1:5887 FD mov R5, AB1:5888 FE mov R6, AB1:5889 EB mov A, R3B1:588A 2F add A, R7B1:588B FF mov R7, AB1:588C EE mov A, R6B1:588D 3A addc A, R2B1:588E FE mov R6, AB1:588F ED mov A, R5B1:5890 39 addc A, R1B1:5891 FD mov R5, AB1:5892 EC mov A, R4B1:5893 38 addc A, R0B1:5894 FC mov R4, AB1:5895 90 FB A0 mov DPTR, #XRAM_FBA0B1:5898 12 08 F5 lcall B1_?C?LSTXDATAB1:589B 90 FB A8 mov DPTR, #XRAM_FBA8 ; Número sequencial da TAG?B1:589E E0 movx A, @DPTRB1:589F 04 inc AB1:58A0 F0 movx @DPTR, AB1:58A1 E0 movx A, @DPTRB1:58A2 C3 clr CB1:58A3 94 06 subb A, #6B1:58A5 50 03 jnc B1_58AAB1:58A7 02 56 F3 ljmp B1_56F3B1:58AA ; ---------------------------------------------------------------------------B1:58AAB1:58AA B1_58AA: ; CODE XREF: MP3_TagDisplay+8FjB1:58AA ; MP3_TagDisplay+DDj ...B1:58AA 22 retB1:58AA ; End of function MP3_TagDisplay
O Vladimir fez um tutorial explicando como fazer isso?Eu só vi aquele post onde ele ainda não sabia como fazer.Raios... se eu tivesse pesquisado mais não teria passado horas analisando e testando valores. Você tem o link fácil aí?
Se você quizer dar uma olhada posso fazer um UP.
os outros documentos tem 7MB, se interessar posso fazer o UP.
O documento das TAG MP3 é bem pratico, tem apenas duas paginas, http://www.4shared.com/file/20785704/b56dcdf/Rout_-_MP3_TAGS.html
Nenhum encomodo, compactei em .RAR pra diminuir um pouco o tamanho.Download (4MB)http://www.4shared.com/file/20787715/cf431583/Documentos_MTK.html
Quote from: eneris on July 27, 2007, 01:02:47 PMO documento das TAG MP3 é bem pratico, tem apenas duas paginas, http://www.4shared.com/file/20785704/b56dcdf/Rout_-_MP3_TAGS.htmlTem certeza de que foi esse o documento que você usou para mover as tags? Tudo o que eu consegui obter dele (não entendo C ainda) foram as pistas necessárias para encontrar a rotina MP3_tagDisplay em qualquer firmware. Mesmo assim, ajudou bastante!Editado: Esse é o mesmo documento Info - MP3 tags.rtfescrito por lisatv_ e disponível no MT13x9, mas que eu não havia lido ainda.
PS. Ryan existe alguma maneira de dar autoload nas legendas no 5965 sem dar pane nos menu DivX Ultra? Eu usei um documento presente no grupo do yahoo e a legenda até autocarrega mas em compensação dar pane nos filmes como menu DivX Ultra, deste jeito nao acho interessante coloca a função de autoload nas legendas, pois eu tenho muito filme com menu DivX Ultra.
O problema é que ainda não achei a parte onde mover as setas. Uma boa alternativa sería acomodar as setas na parte direita da tela (como se fosse parte da barra de rolagem)
B1:9E5CB1:9E5C Exibe_Setas: ; CODE XREF: B1_9E44+13jB1:9E5C 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:9E5F E4 clr AB1:9E60 F0 movx @DPTR, AB1:9E61 A3 inc DPTRB1:9E62 74 B4 mov A, #0xB4 ; '¦'B1:9E64 F0 movx @DPTR, AB1:9E65 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:9E68 E4 clr AB1:9E69 F0 movx @DPTR, AB1:9E6A A3 inc DPTRB1:9E6B 74 E8 mov A, #0xE8 ; 'Þ'B1:9E6D F0 movx @DPTR, AB1:9E6E 7D 25 mov R5, #0x25 ; '%' ; Seta inferior (ver no mtkremaker)B1:9E70 7F 0F mov R7, #0xFB1:9E72 12 1E BA lcall B1_BS_235_B3_2D12B1:9E75 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:9E78 E4 clr AB1:9E79 F0 movx @DPTR, AB1:9E7A A3 inc DPTRB1:9E7B 74 B4 mov A, #0xB4 ; '¦'B1:9E7D F0 movx @DPTR, AB1:9E7E 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:9E81 E4 clr AB1:9E82 F0 movx @DPTR, AB1:9E83 A3 inc DPTRB1:9E84 74 36 mov A, #0x36 ; '6'B1:9E86 F0 movx @DPTR, AB1:9E87 7D 26 mov R5, #0x26 ; '&' ; Seta superior (ver no mtkremaker)B1:9E89 7F 0F mov R7, #0xF ; janelaB1:9E8B 02 1E BA ljmp B1_BS_235_B3_2D12
B1:9EE1B1:9EE1 Config_SetaInferior: ; CODE XREF: B1_9E44+9jB1:9EE1 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:9EE4 E4 clr AB1:9EE5 F0 movx @DPTR, AB1:9EE6 A3 inc DPTR ; XRAM_FC77B1:9EE7 74 B4 mov A, #0xB4 ; '¦'B1:9EE9 F0 movx @DPTR, AB1:9EEA 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:9EED E4 clr AB1:9EEE F0 movx @DPTR, AB1:9EEF A3 inc DPTRB1:9EF0 74 36 mov A, #0x36 ; '6'B1:9EF2 F0 movx @DPTR, AB1:9EF3 7D 26 mov R5, #0x26 ; '&' ; Seta inferiorB1:9EF5 7F 0F mov R7, #0xFB1:9EF7 02 1E BA ljmp B1_BS_235_B3_2D12B1:9EFA ; ---------------------------------------------------------------------------B1:9EFAB1:9EFA Config_SetaSuperior: ; CODE XREF: B1_9E44+FjB1:9EFA 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:9EFD E4 clr AB1:9EFE F0 movx @DPTR, AB1:9EFF A3 inc DPTRB1:9F00 74 B4 mov A, #0xB4 ; '¦'B1:9F02 F0 movx @DPTR, AB1:9F03 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:9F06 E4 clr AB1:9F07 F0 movx @DPTR, AB1:9F08 A3 inc DPTRB1:9F09 74 E8 mov A, #0xE8 ; 'Þ'B1:9F0B F0 movx @DPTR, AB1:9F0C 7D 25 mov R5, #0x25 ; '%' ; Seta superiorB1:9F0E 7F 0F mov R7, #0xFB1:9F10 12 1E BA lcall B1_BS_235_B3_2D12B1:9F13B1:9F13 B1_9F13: ; CODE XREF: B1_9E44+15jB1:9F13 22 retB1:9F13 ; End of function B1_9E44
E4 clr AF0 movx @DPTR, AA3 inc DPTR74 B4 mov A, #0xB4 ; '¦'F0 movx @DPTR, A90 FC 79 mov DPTR, #XRAM_FC79
74 02 mov A, #0x2F0 movx @DPTR, AA3 inc DPTR74 10 mov A, #0x10F0 movx @DPTR, AA3 inc DPTR A3 inc DPTR
B1:C77D 90 FC 76 mov DPTR, #XRAM_FC76 ; Coordenada horizontal (HI)B1:C780 74 01 mov A, #1B1:C782 F0 movx @DPTR, AB1:C783 A3 inc DPTRB1:C784 74 6F mov A, #0x6F ; 'o'B1:C786 F0 movx @DPTR, AB1:C787 90 FC 79 mov DPTR, #XRAM_FC79 ; Coordenada vertical (HI)B1:C78A E4 clr AB1:C78B F0 movx @DPTR, AB1:C78C A3 inc DPTRB1:C78D 74 37 mov A, #0x37 ; '7' B1:C78F F0 movx @DPTR, AB1:C790 7B B4 mov R3, #0xB4 ; '¦' ; 0xB4: larguraB1:C792 7A 00 mov R2, #0B1:C794 7D DC mov R5, #0xDC ; '_' ; 0xDC: alturaB1:C796 7C 00 mov R4, #0B1:C798 7F 0F mov R7, #0xFB1:C79A 12 1E 54 lcall ClearRect
Eu ainda não sei o que provocou isso. Além da definicção de fonte própria para as tags, a mudança na posição das mesmas e a posição das setas eu também passei o firmware no mtkModToolbox para corrigir o browser
Agora temos espaço sobrando, mas faltam caracteres. A limitação de 14 caracteres por tag é artificial, porque a seção ARM entrega 30. Então vamos aumentar isso.Três bytes precisam ser mudados, em dois pontos diferentes:B1:5785 94 FF subb A, #0xFF B1:5787 40 03 jc B1_578CB1:5789 74 FF mov A, #0xFF eB1:57CA 94 FF subb A, #0xFF ; Número máximo de caracteres a exibir por TAG
Jefferson, ¿cómo voçê fez as mudanças do seu background? ¿Foi "a olho" mesmo, ou voçê calculou as coordenadas?
B2:D849 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B2:D849B2:D849B2:D849 CheckVersionPass: ; CODE XREF: BankSw_593_B2_5195+16pB2:D849 90 FD 74 mov DPTR, #XRAM_FD74 ; Número do menu correnteB2:D84C E0 movx A, @DPTRB2:D84D 64 01 xrl A, #1 ; Estamos no menu 1 (General)?B2:D84F 70 5E jnz B2_D8AFB2:D851 90 FC B7 mov DPTR, #XRAM_FCB7B2:D854 E0 movx A, @DPTRB2:D855 FF mov R7, AB2:D856 54 0F anl A, #0xFB2:D858 FE mov R6, AB2:D859 64 0F xrl A, #0xFB2:D85B 60 52 jz B2_D8AFB2:D85D EE mov A, R6B2:D85E C3 clr CB2:D85F 94 04 subb A, #4 ; Número de dígitos da senhaB2:D861 50 1C jnc B2_D87FB2:D863 EE mov A, R6B2:D864 90 44 F4 mov DPTR, #VersionPassB2:D867 93 movc A, @A+DPTRB2:D868 FE mov R6, AB2:D869 90 FB 00 mov DPTR, #XRAM_FB00 ; Buffer_RemotoB2:D86C E0 movx A, @DPTRB2:D86D 6E xrl A, R6B2:D86E 70 0F jnz B2_D87FB2:D870 EF mov A, R7B2:D871 54 F0 anl A, #0xF0B2:D873 FE mov R6, AB2:D874 EF mov A, R7B2:D875 04 inc AB2:D876 54 0F anl A, #0xFB2:D878 4E orl A, R6B2:D879 90 FC B7 mov DPTR, #XRAM_FCB7B2:D87C F0 movx @DPTR, AB2:D87D 80 07 sjmp B2_D886B2:D87F ; ---------------------------------------------------------------------------B2:D87FB2:D87F B2_D87F: ; CODE XREF: CheckVersionPass+18jB2:D87F ; CheckVersionPass+25jB2:D87F EF mov A, R7B2:D880 54 F0 anl A, #0xF0B2:D882 90 FC B7 mov DPTR, #XRAM_FCB7B2:D885 F0 movx @DPTR, AB2:D886B2:D886 B2_D886: ; CODE XREF: CheckVersionPass+34jB2:D886 90 FC B7 mov DPTR, #XRAM_FCB7B2:D889 E0 movx A, @DPTRB2:D88A FF mov R7, AB2:D88B 54 0F anl A, #0xFB2:D88D FE mov R6, AB2:D88E BE 04 1E cjne R6, #4, B2_D8AFB2:D891 EF mov A, R7B2:D892 44 0F orl A, #0xFB2:D894 F0 movx @DPTR, AB2:D895 90 FD 69 mov DPTR, #XRAM_FD69B2:D898 74 0A mov A, #0xAB2:D89A F0 movx @DPTR, AB2:D89B 90 FC C8 mov DPTR, #XRAM_FCC8B2:D89E E0 movx A, @DPTRB2:D89F 54 80 anl A, #0x80B2:D8A1 44 07 orl A, #7B2:D8A3 F0 movx @DPTR, AB2:D8A4 90 FD 74 mov DPTR, #XRAM_FD74 ; Número do menu correnteB2:D8A7 74 15 mov A, #0x15 ; Carrega com o novo menu (versão)B2:D8A9 F0 movx @DPTR, AB2:D8AA 7F 01 mov R7, #1B2:D8AC 12 E6 DC lcall B2_E6DCB2:D8AFB2:D8AF B2_D8AF: ; CODE XREF: CheckVersionPass+6jB2:D8AF ; CheckVersionPass+12j ...B2:D8AF 22 retB2:D8AF ; End of function CheckVersionPass
B2:44F4 09 VersionPass:.byte 9 ; DATA XREF: CheckVersionPass+1BoB2:44F5 05 .byte 5B2:44F6 09 .byte 9B2:44F7 06 .byte 6B2:44F8 01 .byte 1B2:44F9 02 .byte 2B2:44FA 03 .byte 3B2:44FB 04 .byte 4B2:44FC 0E .byte 0xEB2:44FD 0E .byte 0xEB2:44FE 0E .byte 0xEB2:44FF 0F .byte 0xF
B2:D1E2 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B2:D1E2B2:D1E2B2:D1E2 CheckRegionPass: ; CODE XREF: BankSw_593_B2_5195+13pB2:D1E2 90 FD 74 mov DPTR, #XRAM_FD74 ; Número do menu correnteB2:D1E5 E0 movx A, @DPTRB2:D1E6 FF mov R7, AB2:D1E7 64 06 xrl A, #6 ; Página de PreferênciasB2:D1E9 70 35 jnz B2_D220B2:D1EB 90 FC B6 mov DPTR, #XRAM_FCB6B2:D1EE E0 movx A, @DPTRB2:D1EF FE mov R6, AB2:D1F0 54 0F anl A, #0xFB2:D1F2 FD mov R5, AB2:D1F3 64 0F xrl A, #0xFB2:D1F5 60 29 jz B2_D220B2:D1F7 ED mov A, R5B2:D1F8 C3 clr CB2:D1F9 94 04 subb A, #4 ; Número de dígitos da senhaB2:D1FB 50 1C jnc B2_D219B2:D1FD ED mov A, R5B2:D1FE 90 44 F0 mov DPTR, #RegionPassB2:D201 93 movc A, @A+DPTRB2:D202 FD mov R5, AB2:D203 90 FB 00 mov DPTR, #XRAM_FB00 ; Buffer_RemotoB2:D206 E0 movx A, @DPTRB2:D207 6D xrl A, R5B2:D208 70 0F jnz B2_D219B2:D20A EE mov A, R6B2:D20B 54 F0 anl A, #0xF0B2:D20D FD mov R5, AB2:D20E EE mov A, R6B2:D20F 04 inc AB2:D210 54 0F anl A, #0xFB2:D212 4D orl A, R5B2:D213 90 FC B6 mov DPTR, #XRAM_FCB6B2:D216 F0 movx @DPTR, AB2:D217 80 07 sjmp B2_D220B2:D219 ; ---------------------------------------------------------------------------B2:D219B2:D219 B2_D219: ; CODE XREF: CheckRegionPass+19jB2:D219 ; CheckRegionPass+26jB2:D219 EE mov A, R6B2:D21A 54 F0 anl A, #0xF0B2:D21C 90 FC B6 mov DPTR, #XRAM_FCB6B2:D21F F0 movx @DPTR, AB2:D220B2:D220 B2_D220: ; CODE XREF: CheckRegionPass+7jB2:D220 ; CheckRegionPass+13j ...B2:D220 EF mov A, R7B2:D221 64 06 xrl A, #6B2:D223 70 3D jnz B2_D262B2:D225 90 FC B6 mov DPTR, #XRAM_FCB6B2:D228 E0 movx A, @DPTRB2:D229 54 0F anl A, #0xFB2:D22B 64 04 xrl A, #4B2:D22D 70 33 jnz B2_D262B2:D22F FD mov R5, AB2:D230 7F 0A mov R7, #0xAB2:D232 12 1B 82 lcall B2_BS_91_B5_E422B2:D235 90 FD 73 mov DPTR, #XRAM_FD73B2:D238 74 01 mov A, #1B2:D23A F0 movx @DPTR, AB2:D23B 90 FC B6 mov DPTR, #XRAM_FCB6B2:D23E E0 movx A, @DPTRB2:D23F 44 0F orl A, #0xFB2:D241 F0 movx @DPTR, AB2:D242 90 FD 69 mov DPTR, #XRAM_FD69B2:D245 74 0B mov A, #0xBB2:D247 F0 movx @DPTR, AB2:D248 90 FC C8 mov DPTR, #XRAM_FCC8B2:D24B E0 movx A, @DPTRB2:D24C 54 80 anl A, #0x80B2:D24E 44 04 orl A, #4B2:D250 F0 movx @DPTR, AB2:D251 90 FD 74 mov DPTR, #XRAM_FD74 ; Número do menu correnteB2:D254 74 1A mov A, #0x1A ; Número do menu a exibir (Excolha de Região)B2:D256 F0 movx @DPTR, AB2:D257 7F 01 mov R7, #1B2:D259 12 E6 DC lcall B2_E6DCB2:D25C 90 FD 7B mov DPTR, #XRAM_FD7BB2:D25F 74 06 mov A, #6B2:D261 F0 movx @DPTR, AB2:D262B2:D262 B2_D262: ; CODE XREF: CheckRegionPass+41jB2:D262 ; CheckRegionPass+4BjB2:D262 22 retB2:D262 ; End of function CheckRegionPass
B2:44F0 08 RegionPass:.byte 8 ; DATA XREF: CheckRegionPass+1CoB2:44F1 03 .byte 3B2:44F2 04 .byte 4B2:44F3 03 .byte 3B2:44F4 09 VersionPass:.byte 9 ; DATA XREF: CheckVersionPass+1BoB2:44F5 05 .byte 5B2:44F6 09 .byte 9B2:44F7 06 .byte 6B2:44F8 01 .byte 1B2:44F9 02 .byte 2B2:44FA 03 .byte 3B2:44FB 04 .byte 4B2:44FC 0E .byte 0xEB2:44FD 0E .byte 0xEB2:44FE 0E .byte 0xEB2:44FF 0F .byte 0xF
B2:5195 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦B2:5195B2:5195B2:5195 MenuHandler: ; DATA XREF: B0:B0_BS_593_B2_5195oB2:5195 ; B1:B1_BS_593_B2_5195o ...B2:5195 78 7E mov R0, #0x7E ; '~'B2:5197 7C FB mov R4, #0xFB ; '¹'B2:5199 7D 01 mov R5, #1B2:519B 7B FF mov R3, #0xFFB2:519D 7A 45 mov R2, #0x45 ; 'E'B2:519F 79 0E mov R1, #0xEB2:51A1 7E 00 mov R6, #0B2:51A3 7F 02 mov R7, #2B2:51A5 12 06 22 lcall B2_?C?COPYB2:51A8 12 D1 E2 lcall CheckRegionPassB2:51AB 12 D8 49 lcall CheckVersionPassB2:51AE 90 FB 00 mov DPTR, #XRAM_FB00 ; Buffer_RemotoB2:51B1 E0 movx A, @DPTRB2:51B2 B4 FF 02 cjne A, #0xFF, B2_51B7 ; Se o buffer do remoto tiver um comando válido, salta para 51B7B2:51B5 D3 setb CB2:51B6 22 retB2:51B7 ; ---------------------------------------------------------------------------B2:51B7
A nova rotina pode ser escrita por cima das mensagems de erros de C+, ou como no meu caso, após ampliar o RISC.
Escolha da cor B1:FF40 7F 71 mov R7, #0x71 ; 'q' ; Endereço 0x71 da eepromB1:FF42 7E 00 mov R6, #0B1:FF44 12 19 E4 lcall Pref_Getchar_B1BSB1:FF47 EF mov A, R7B1:FF48 FD mov R5, AB1:FF49 90 FC 07 mov DPTR, #XRAM_FC07B1:FF4C 74 03 mov A, #3B1:FF4E F0 movx @DPTR, AB1:FF4F A3 inc DPTRB1:FF50 ED mov A, R5B1:FF51 F0 movx @DPTR, AB1:FF52 E4 clr AB1:FF53 FB mov R3, AB1:FF54 FD mov R5, AB1:FF55 7F 13 mov R7, #0x13B1:FF57 22 ret