# HG changeset patch # User heinrichsweikamp # Date 1366053194 -7200 # Node ID 55983c4d6b2dfdb8ea331d834a1d6db279af021e # Parent 422b9eeace4f2020a7cd482be6fb0126add735ef aa fonts processor diff -r 422b9eeace4f -r 55983c4d6b2d code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm --- a/code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm Fri Mar 29 20:53:41 2013 +0100 +++ b/code_part1/OSTC_code_asm_part1/aa_wordprocessor.asm Mon Apr 15 21:13:14 2013 +0200 @@ -350,6 +350,32 @@ movf aa_temp+0,W,ACCESS ; hence composants won't overlap. addwfc PRODH,F ; In right order, to propagate carry. + movff win_flags,WREG ; BEWARE: bank0 bit-test + btfss WREG,1 ; Display1? + bra aa_decode_3 ; No, Done. + + ; Convert 16Bit RGB b'RRRRRGGG GGGBBBBB' into 24Bit RGB b'00RRRRRR 00GGGGGG 00BBBBBB' + ; Blue + movff PRODH,win_color3 + bcf STATUS,C + rlcf win_color3,F ; = U0BBBBB0 + bcf win_color3,7 ; = 00BBBBB0 + ; Green + rrcf PRODL,F + rrcf PRODH,F + rrcf PRODL,F + rrcf PRODH,F + rrcf PRODL,F ; = UUURRRRR + rrcf PRODH,F ; = GGGGGGUU + bcf STATUS,C + rrcf PRODH,F ; = 0GGGGGGU + bcf STATUS,C + rrcf PRODH,F ; = 00GGGGGG + ; Red + bcf STATUS,C + rlcf PRODL,F ; = UURRRRR0 + bcf PRODL,6 ; = U0RRRRR0 + bcf PRODL,7 ; = 00RRRRR0 bra aa_decode_3 ; Done. ; ---- Simple BLACK and WHITE cases ------------------------------ diff -r 422b9eeace4f -r 55983c4d6b2d code_part1/OSTC_code_asm_part1/display_lowlevel.asm --- a/code_part1/OSTC_code_asm_part1/display_lowlevel.asm Fri Mar 29 20:53:41 2013 +0100 +++ b/code_part1/OSTC_code_asm_part1/display_lowlevel.asm Mon Apr 15 21:13:14 2013 +0200 @@ -753,7 +753,7 @@ movff win_flags,WREG ; Display1? win_flags is in bank0... btfss WREG,1 ; Display1? return ; No, done. - movff win_color3,PORTD ; Move low byte to PORTD + movff win_color3,PORTD ; Move low(est) byte to PORTD bcf DISPLAY_rw bsf DISPLAY_rw return