comparison src/aa_wordprocessor.asm @ 654:75e90cd0c2c3

hwOS sport 10.77 release
author heinrichsweikamp
date Thu, 14 Mar 2024 16:56:46 +0100
parents aeca5717d9eb
children 8af5aefbcdaf
comparison
equal deleted inserted replaced
653:8bcd138ab744 654:75e90cd0c2c3
2 ; 2 ;
3 ; File aa_wordprocessor.asm * combined next generation V3.08.4l 3 ; File aa_wordprocessor.asm * combined next generation V3.08.4l
4 ; 4 ;
5 ; Anti-aliased word processor 5 ; Anti-aliased word processor
6 ; 6 ;
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. 7 ; Copyright (c) 2011, JD Gascuel, heinrichs weikamp gmbh, all right reserved.
8 ;============================================================================= 8 ;=============================================================================
9 ; HISTORY 9 ; HISTORY
10 ; 2010-11-22 : [jDG] Creation 10 ; 2010-11-22 : [jDG] Creation
11 ; 2010-12-01 : [jDG] Adding 3bits anti-aliased fonts 11 ; 2010-12-01 : [jDG] Adding 3bits anti-aliased fonts
12 ; 2010-12-30 : [jDG] Revised to put temp into ACCESSRAM0 12 ; 2010-12-30 : [jDG] Revised to put temp into ACCESSRAM0
430 btfsc screen_type2 ; display 2 ? 430 btfsc screen_type2 ; display 2 ?
431 bra aa_decode_3_display2 ; YES 431 bra aa_decode_3_display2 ; YES
432 btfsc screen_type3 ; display 3 ? 432 btfsc screen_type3 ; display 3 ?
433 bra aa_decode_3_display3 ; YES 433 bra aa_decode_3_display3 ; YES
434 434
435 ; Screen 1 or 0 435 ; Screen 1 or 0 or 4
436 btfsc less_io_cpu ; less I/O CPU? 436 btfsc less_io_cpu ; less I/O CPU?
437 bra aa_decode_3_display0and1_less_io ; YES 437 bra aa_decode_3_display0and1_less_io ; YES
438 438
439 movff PRODH,PORTA ; move high byte to PORTA 439 movff PRODH,PORTA ; move high byte to PORTA
440 movff PRODL,PORTH ; move low byte to PORTH 440 movff PRODL,PORTH ; move low byte to PORTH
502 aa_wordprocessor: 502 aa_wordprocessor:
503 movf font_color,W ; get selected font color (8 bit) 503 movf font_color,W ; get selected font color (8 bit)
504 call TFT_set_color ; compute printing color (16 bit) 504 call TFT_set_color ; compute printing color (16 bit)
505 rcall aa_string_width ; set win_height and compute win_width:2 505 rcall aa_string_width ; set win_height and compute win_width:2
506 call TFT_box_write ; set up output box 506 call TFT_box_write ; set up output box
507 lfsr FSR2,buffer ; set FSR2 to the start of the output buffer 507 lfsr FSR2,buffer ; set FSR2 to the start of the output buffer
508 Index_out 0x22 ; DATA block command (macro defined in tft.inc) 508 movlw 0x22 ; frame memory data write start
509 509 btfsc screen_type4
510 movlw 0x2C ; Start Writing Data to GRAM (Display 4)
511 call TFT_CmdWrite
510 aa_wordprocessor_1: 512 aa_wordprocessor_1:
511 movf POSTINC2,W ; read character from the buffer 513 movf POSTINC2,W ; read character from the buffer
512 bz aa_wordprocessor_99 ; done if null byte encountered 514 bz aa_wordprocessor_99 ; done if null byte encountered
513 515
514 rcall aa_char_setup ; setup pointers for the char 516 rcall aa_char_setup ; setup pointers for the char
515 rcall aa_decode_char ; print character to screen 517 rcall aa_decode_char ; print character to screen
516 bra aa_wordprocessor_1 ; loop 518 bra aa_wordprocessor_1 ; loop
517 519
518 aa_wordprocessor_99: 520 aa_wordprocessor_99:
519 Index_out 0x00 ; send end of bloc command 521 Index_out 0x00 ; send end of bloc command or NOP for most displays
520 bcf win_invert ; terminate inverse printing 522 bcf win_invert ; terminate inverse printing
521 return ; done 523 return ; done
522 524
523 ;------------------------------------------------------------------------------ 525 ;------------------------------------------------------------------------------
524 526