Mercurial > public > hwos_code
diff src/color_processor.asm @ 648:aeca5717d9eb
3.17 / 10.72 release
author | heinrichs weikamp |
---|---|
date | Fri, 04 Mar 2022 08:29:36 +0100 |
parents | 4050675965ea |
children | 75e90cd0c2c3 |
line wrap: on
line diff
--- a/src/color_processor.asm Thu Oct 14 12:04:12 2021 +0200 +++ b/src/color_processor.asm Fri Mar 04 08:29:36 2022 +0100 @@ -158,7 +158,11 @@ bra color_image_display2 ; YES btfsc screen_type3 ; display type 3 ? bra color_image_display3 ; YES - + + ; Screen 1 + btfsc less_io_cpu ; less I/O CPU? + bra color_image_pixel1_loop_less_io ; YES + movff PRODH,PORTA ; NO - move color high byte to PORTA movff PRODL,PORTH ; - move color low byte to PORTH @@ -171,6 +175,19 @@ bra color_image_pixel1_loop ; loop if not zero bra color_image_pixel_com ; all pixels transmitted +color_image_pixel1_loop_less_io: + movff PRODH,PORTA ; NO - move color high byte to PORTA + bcf tft_nwr ; toggle write signal + bsf tft_nwr ; ... + movff PRODL,PORTA ; - move color low byte to PORTH + bcf tft_nwr ; toggle write signal + bsf tft_nwr ; ... + decfsz pixel_count+0 ; decrement pixel counter, low byte + bra color_image_pixel1_loop_less_io ; loop if not zero + decfsz pixel_count+1 ; decrement pixel counter, high byte + bra color_image_pixel1_loop_less_io ; loop if not zero + bra color_image_pixel_com ; all pixels transmitted + color_image_display2: call convert_for_display2 ; convert 16 bit RGB b'RRRRRGGG GGGBBBBB' ; into 24 bit RGB b'RRRRRR00 GGGGGG00 BBBBBB00'