annotate src/strings.asm @ 623:c40025d8e750

3.03 beta released
author heinrichsweikamp
date Mon, 03 Jun 2019 14:01:48 +0200
parents ca4556fb60b9
children cd58f7fc86db
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
heinrichsweikamp
parents:
diff changeset
1 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
2 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
3 ; File strings.asm combined next generation V3.03.1
0
heinrichsweikamp
parents:
diff changeset
4 ;
heinrichsweikamp
parents:
diff changeset
5 ; Implementation code various string functions.
heinrichsweikamp
parents:
diff changeset
6 ;
heinrichsweikamp
parents:
diff changeset
7 ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved.
heinrichsweikamp
parents:
diff changeset
8 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
9 ; HISTORY
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
10 ; 2010-12-02 : [jDG] Creation
0
heinrichsweikamp
parents:
diff changeset
11 ;
heinrichsweikamp
parents:
diff changeset
12 ; See strings.inc for doc and public calling macros.
heinrichsweikamp
parents:
diff changeset
13
275
653a3ab08062 rename into hwOS
heinrichsweikamp
parents: 251
diff changeset
14 #include "hwos.inc"
0
heinrichsweikamp
parents:
diff changeset
15 #include "varargs.inc"
heinrichsweikamp
parents:
diff changeset
16
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
17 extern aa_wordprocessor
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
18
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
19 strings CODE
0
heinrichsweikamp
parents:
diff changeset
20
heinrichsweikamp
parents:
diff changeset
21 ;=============================================================================
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
22
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
23 ; Variants that call word_processor at the end
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
24 global strcpy_block_print
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
25 global strcat_block_print
0
heinrichsweikamp
parents:
diff changeset
26 strcpy_block_print:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
27 lfsr FSR2,buffer
0
heinrichsweikamp
parents:
diff changeset
28 strcat_block_print:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
29 bsf aa_aux_flag ; print afterwards
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
30 bra strings_common
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
31
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
32 ; Variants that do not call word_processor at end
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
33 global strcpy_block
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
34 global strcat_block
0
heinrichsweikamp
parents:
diff changeset
35 strcpy_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
36 lfsr FSR2,buffer
0
heinrichsweikamp
parents:
diff changeset
37 strcat_block:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
38 bcf aa_aux_flag ; do not print afterwards
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
39 ;bra strings_common
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
40
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
41 ; Common part: append the string from PROM return address
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
42 strings_common:
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
43 VARARGS_BEGIN
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
44 rcall strcat_prom
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
45 VARARGS_ALIGN
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
46 VARARGS_END
0
heinrichsweikamp
parents:
diff changeset
47
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
48 btfss aa_aux_flag ; shall we print?
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
49 return ; NO - then return straight away
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
50 goto aa_wordprocessor ; YES - print it...
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
51
0
heinrichsweikamp
parents:
diff changeset
52
heinrichsweikamp
parents:
diff changeset
53 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
54 ; Copy multi-lingual text from FSR1 12 bit pointer to buffer
0
heinrichsweikamp
parents:
diff changeset
55 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
56 ; Input: FSR1 = 12 bit pointer to multi-lingual text
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
57 ; Output: FSR2 pointing to closing null byte in buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
58 ; Trashed: TBLPTR, TABLAT
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
59
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
60 global strcpy_text
0
heinrichsweikamp
parents:
diff changeset
61 strcpy_text:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
62 rcall text_get_tblptr
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
63 bra strcpy_prom
0
heinrichsweikamp
parents:
diff changeset
64
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
65 ; Copy and print multi-lingual text from FSR1 12 bit pointer to buffer
0
heinrichsweikamp
parents:
diff changeset
66 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
67 ; Input: FSR1 = 12 bit pointer to multi-lingual text
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
68 ; Output: FSR2 pointing to closing null byte in buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
69 ; Trashed: TBLPTR, TABLAT
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
70
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
71 global strcpy_text_print
0
heinrichsweikamp
parents:
diff changeset
72 strcpy_text_print:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
73 rcall text_get_tblptr
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
74 bra strcpy_prom_print
0
heinrichsweikamp
parents:
diff changeset
75
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
76 ; Append multi-lingual text from FSR1 12 bit pointers to buffer at FRS2
0
heinrichsweikamp
parents:
diff changeset
77 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
78 ; Input: FSR1 = 12 bit pointer to multi-lingual text
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
79 ; FSR2 = current position in buffer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
80 ; Output: FSR2 pointing to closing null byte in buffer
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
81 ; Trashed: TBLPTR, TABLAT
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
82
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
83 global strcat_text
0
heinrichsweikamp
parents:
diff changeset
84 strcat_text:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
85 rcall text_get_tblptr
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
86 bra strcat_prom
0
heinrichsweikamp
parents:
diff changeset
87
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
88 ; Append and print multi-lingual text from FSR1 12 bit pointers to buffer at FRS2
0
heinrichsweikamp
parents:
diff changeset
89 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
90 ; Input: FSR1 = 12 bit pointer to multi-lingual text
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
91 ; FSR2 = current position in buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
92 ; Output: FSR2 pointing to closing null byte in buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
93 ; Trashed: TBLPTR, TABLAT
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
94
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
95 global strcat_text_print
0
heinrichsweikamp
parents:
diff changeset
96 strcat_text_print:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
97 rcall text_get_tblptr
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
98 bra strcat_prom_print
0
heinrichsweikamp
parents:
diff changeset
99
heinrichsweikamp
parents:
diff changeset
100 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
101 ; Get pointer to multilingual text in TBLPTR
0
heinrichsweikamp
parents:
diff changeset
102 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
103 ; Input: FSR1 = 12 bit text handle
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
104 ; opt_language = current language
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
105 ; Output: TBLPTR = 24 bit PROM address
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
106
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
107 global text_get_tblptr
0
heinrichsweikamp
parents:
diff changeset
108 text_get_tblptr:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
109 extern text_1_base
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
110 movlw UPPER(text_1_base) ; complete 12 bit address to 24 bit address
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
111 movwf TBLPTRU
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
112 movlw HIGH(text_1_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
113 andlw 0xF0
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
114 iorwf FSR1H,W
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
115 movwf TBLPTRH
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
116 movff FSR1L,TBLPTRL
560
b7eb98dbd800 bump to 2.96beta (REFACTORED VERSION)
heinrichsweikamp
parents: 448
diff changeset
117
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
118 IF _language_2!=none
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
119 movff opt_language,WREG ; get language selection
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
120 bz text_get_lang1 ; 0: language 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
121 dcfsnz WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
122 bra text_get_lang2 ; 1: language 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
123 ENDIF
0
heinrichsweikamp
parents:
diff changeset
124
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
125 text_get_lang1: ; read 2-byte pointer to string
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
126 tblrd*+
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
127 movff TABLAT,WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
128 tblrd*+
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
129 movff WREG,TBLPTRL
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
130 movff TABLAT,TBLPTRH
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
131 return
0
heinrichsweikamp
parents:
diff changeset
132
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
133 IF _language_2!=none
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
134 text_get_lang2: ; add offset for second language
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
135 extern text_2_base
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
136 movlw LOW(text_2_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
137 addwf TBLPTRL
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
138 movlw HIGH(text_2_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
139 addwfc TBLPTRH
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
140 movlw UPPER(text_2_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
141 addwfc TBLPTRU
0
heinrichsweikamp
parents:
diff changeset
142
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
143 movlw LOW(text_1_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
144 subwf TBLPTRL
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
145 movlw HIGH(text_1_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
146 subwfb TBLPTRH
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
147 movlw UPPER(text_1_base)
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
148 subwfb TBLPTRU
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
149 bra text_get_lang1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
150 ENDIF
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
151
0
heinrichsweikamp
parents:
diff changeset
152 ;=============================================================================
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
153 ; Copy a null-terminated string from TBLPTR to buffer
0
heinrichsweikamp
parents:
diff changeset
154 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
155 ; Input: TBLPTR : string pointer into PROM
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
156 ; Output: string in buffer, FSR2 pointing to the closing null byte
0
heinrichsweikamp
parents:
diff changeset
157 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
158 global strcpy_prom
0
heinrichsweikamp
parents:
diff changeset
159 strcpy_prom:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
160 lfsr FSR2,buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
161 ;bra strcat_prom
0
heinrichsweikamp
parents:
diff changeset
162
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
163 ; Append a null-terminated string from TBLPTR to buffer
0
heinrichsweikamp
parents:
diff changeset
164 ;
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
165 ; Input: TBLPTR : string pointer into PROM
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
166 ; FRS2 : current character position
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
167 ; Output: string in buffer, FSR2 pointing to the closing null byte
0
heinrichsweikamp
parents:
diff changeset
168 ;
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
169 global strcat_prom
0
heinrichsweikamp
parents:
diff changeset
170 strcat_prom:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
171 tblrd*+ ; read a character from PROM
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
172 movf TABLAT,W ; transfer character to WREG
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
173 movwf POSTINC2 ; transfer character from WREG to output buffer and increment buffer pointer
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
174 bnz strcat_prom ; last character = NULL ? NO - loop
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
175 movf POSTDEC2,W ; YES - step back one char
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
176 return ; - done
0
heinrichsweikamp
parents:
diff changeset
177
heinrichsweikamp
parents:
diff changeset
178 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
179 ; Variant that calls word processor right-away...
heinrichsweikamp
parents:
diff changeset
180
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
181 global strcpy_prom_print
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
182 global strcat_prom_print
0
heinrichsweikamp
parents:
diff changeset
183 strcpy_prom_print:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
184 lfsr FSR2,buffer
0
heinrichsweikamp
parents:
diff changeset
185 strcat_prom_print:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
186 rcall strcat_prom
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
187 goto aa_wordprocessor
0
heinrichsweikamp
parents:
diff changeset
188
heinrichsweikamp
parents:
diff changeset
189 ;=============================================================================
heinrichsweikamp
parents:
diff changeset
190
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
191 global start_tiny_block
0
heinrichsweikamp
parents:
diff changeset
192 start_tiny_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
193 clrf WREG
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
194 bra start_common
0
heinrichsweikamp
parents:
diff changeset
195
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
196 global start_small_block
0
heinrichsweikamp
parents:
diff changeset
197 start_small_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
198 movlw 1
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
199 bra start_common
0
heinrichsweikamp
parents:
diff changeset
200
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
201 global start_std_block
0
heinrichsweikamp
parents:
diff changeset
202 start_std_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
203 movlw 2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
204 bra start_common
0
heinrichsweikamp
parents:
diff changeset
205
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
206 global start_medium_block
0
heinrichsweikamp
parents:
diff changeset
207 start_medium_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
208 movlw 3
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
209 bra start_common
0
heinrichsweikamp
parents:
diff changeset
210
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
211 global start_large_block
0
heinrichsweikamp
parents:
diff changeset
212 start_large_block:
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
213 movlw 4
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
214 bra start_common
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
215
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
216 IFDEF _huge_font
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
217 global start_huge_block
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
218 start_huge_block:
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
219 movlw 5
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
220 ;bra start_block_common
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
221 ENDIF
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
222
0
heinrichsweikamp
parents:
diff changeset
223 start_common:
623
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
224 movff WREG,win_font ; needs a bank-safe move here !
c40025d8e750 3.03 beta released
heinrichsweikamp
parents: 604
diff changeset
225
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
226 VARARGS_BEGIN
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
227 VARARGS_GET8 win_leftx2
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
228 VARARGS_GET8 win_top
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
229 VARARGS_END
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
230 lfsr FSR2,buffer ; point to buffer
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
231 return
0
heinrichsweikamp
parents:
diff changeset
232
604
ca4556fb60b9 bump to 2.99beta, work on 3.00 stable
heinrichsweikamp
parents: 560
diff changeset
233 END