diff src/aa_wordprocessor.asm @ 628:cd58f7fc86db

3.05 stable work
author heinrichsweikamp
date Thu, 19 Sep 2019 12:01:29 +0200
parents c40025d8e750
children 4050675965ea
line wrap: on
line diff
--- a/src/aa_wordprocessor.asm	Sun Jun 30 23:22:32 2019 +0200
+++ b/src/aa_wordprocessor.asm	Thu Sep 19 12:01:29 2019 +0200
@@ -1,6 +1,6 @@
 ;=============================================================================
 ;
-;   File aa_wordprocessor.asm                 combined next generation V3.03.1
+;   File aa_wordprocessor.asm                 combined next generation V3.03.7
 ;
 ;   Anti-aliased word processor
 ;
@@ -47,10 +47,7 @@
 	extern	aa_font34_block
 	extern	aa_font48_block
 	extern	aa_font90_block
-
- IFDEF _huge_font
 	extern	aa_font92_block
- ENDIF
 
 	extern	convert_for_display2
 
@@ -121,10 +118,8 @@
 
 	; 4: LARGE font ------------------------------------------------------
 aa_char_4:
- IFDEF _huge_font
 	decfsz	WREG				 	; requested large font?
 	bra		aa_char_5				; NO
- ENDIF
 	movlw	LOW   aa_font90_block
 	movwf	TBLPTRL
 	movlw	HIGH  aa_font90_block
@@ -133,7 +128,6 @@
 	movwf	TBLPTRU
 	bra		aa_char_99
 
- IFDEF _huge_font
 	; 5: XTRA LARGE font -------------------------------------------------
 aa_char_5:
 	movlw	LOW   aa_font92_block
@@ -142,7 +136,7 @@
 	movwf	TBLPTRH
 	movlw	UPPER aa_font92_block
 	movwf	TBLPTRU
- ENDIF
+
 
 	; Execute font block -------------------------------------------------
 aa_char_99:
@@ -155,7 +149,7 @@
 aa_char_30:
 	tblrd*+							; read FROM char
 	movf	TABLAT,W				; get it, and set Z,N
-	bz		aa_char_32				; branch if end of translation table reached
+	bz		aa_char_32				; break at end of translations
 
 	tblrd*+							; read TO char
 	cpfseq	PRODL					; FROM == current char ?
@@ -426,6 +420,8 @@
 
 	btfsc	screen_type2			; display 2 ?
 	bra		aa_decode_3_display2	; YES
+	btfsc	screen_type3			; display 3 ?
+	bra		aa_decode_3_display3	; YES
 
 	movff	PRODH,PORTA				; move high byte to PORTA
 	movff	PRODL,PORTH				; move low  byte to PORTH
@@ -448,6 +444,17 @@
 	bsf		tft_nwr					; tick
 	decf	aa_bitlen,F
 	bnz		aa_decode_3_display2
+	bra		aa_decode_3_done
+
+aa_decode_3_display3:
+	movff	PRODH,PORTH				; move high byte to PORTH (DISPLAY is big endian)
+	bcf		tft_nwr
+	bsf		tft_nwr					; tick
+	movff	PRODL,PORTH				; move low byte to PORTH
+	bcf		tft_nwr
+	bsf		tft_nwr					; tick
+	decf	aa_bitlen,F
+	bnz		aa_decode_3_display3
 
 aa_decode_3_done:
 	;---- BYTE-CODE LOOP -------------------------------------------------
@@ -464,7 +471,7 @@
 ;------------------------------------------------------------------------------
 ; Setup pointers for a char:
 ; Inputs : buffer : string to print (NULL TERMINATED)
-; Output : TFT commands on port D + clocks
+; Output : TFT commands on PORTH (Upper) and PORTA (lower) + clocks
 ;
 	global	aa_wordprocessor		; callable from C-code
 aa_wordprocessor: