Mercurial > public > hwos_code
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 |
