annotate code_part1/OSTC_code_c_part2/p3_wordprocessor.c @ 72:77f1556457b1

added missing source file
author heinrichsweikamp
date Sun, 14 Nov 2010 19:13:42 +0100
parents
children bc3092c41335
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
1 /*
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
2 * OSTC - diving computer code
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
3 * ===========================
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
4 * PART 3 : word processor
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
5 *
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
6 * p3_wordprocessor.c for OSTC Mk.2
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
7 * Created on: 17.09.2009
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
8 * Author: christian.w @ heinrichsweikamp.com
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
9 *
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
10 * #include "ostc28.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
11 * #include "ostc28.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
12 * #include "ostc48.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
13 * #include "ostc48.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
14 * #include "ostc90.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
15 * #include "ostc90.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
16 */
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
17
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
18 // Copyright (C) 2009 HeinrichsWeikamp GbR
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
19
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
20 // This program is free software: you can redistribute it and/or modify
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
21 // it under the terms of the GNU General Public License as published by
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
22 // the Free Software Foundation, either version 3 of the License, or
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
23 // (at your option) any later version.
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
24
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
25 // This program is distributed in the hope that it will be useful,
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
26 // but WITHOUT ANY WARRANTY; without even the implied warranty of
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
27 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
28 // GNU General Public License for more details.
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
29
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
30 // You should have received a copy of the GNU General Public License
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
31 // along with this program. If not, see <http://www.gnu.org/licenses/>.
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
32
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
33
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
34 // *****************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
35 // ** I N T R O D U C T I O N **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
36 // *****************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
37 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
38 // OSTC
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
39 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
40 // code:
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
41 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
42 // summary:
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
43 // display routines
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
44 // for the OSTC experimental project
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
45 // written by Christian Weikamp
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
46 // last revision __________
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
47 // comments added _________
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
48 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
49 // additional files:
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
50 // #include "ostc28.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
51 // #include "ostc28.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
52 // #include "ostc48.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
53 // #include "ostc48.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
54 // #include "ostc90.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
55 // #include "ostc90.tbl.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
56 // assembler code (PART 1) for working OSTC experimental plattform
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
57 // C code (PART 2) for working OSTC experimental plattform
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
58 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
59 // history:
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
60 //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
61
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
62
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
63 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
64 // ** I N C L U D E S **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
65 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
66 #include <p18f4685.h>
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
67
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
68 // ********************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
69 // ** C O N F I G U R A T I O N **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
70 // ** for simulation without asm **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
71 // ********************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
72 #pragma config OSC = IRCIO67
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
73 #pragma config FCMEN = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
74 #pragma config IESO = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
75 #pragma config PWRT = ON
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
76 #pragma config BOREN = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
77 #pragma config WDT = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
78 #pragma config WDTPS = 128
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
79 #pragma config MCLRE = ON
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
80 #pragma config LPT1OSC = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
81 #pragma config PBADEN = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
82 #pragma config DEBUG = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
83 #pragma config XINST = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
84 #pragma config LVP = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
85 #pragma config STVREN = OFF
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
86
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
87 // ****************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
88 // ** D E F I N E S **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
89 // ** missing in p18f4685.h **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
90 // ****************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
91
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
92 #define WP_FONT_SMALL_HEIGHT 24
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
93 #define WP_FONT_MEDIUM_HEIGHT 32
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
94 #define WP_FONT_LARGE_HEIGHT 58
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
95 #define oled_rw PORTA,2,0
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
96 #define oled_rs PORTE,0,0
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
97
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
98 // ***********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
99 // ** V A R I A B L E S **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
100 // ***********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
101
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
102 #pragma udata bank0a=0x060
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
103 // input
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
104 volatile unsigned char wp_stringstore[26];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
105 volatile unsigned char wp_color1;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
106 volatile unsigned char wp_color2;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
107 volatile unsigned char wp_top;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
108 volatile unsigned char wp_leftx2;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
109 volatile unsigned char wp_font;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
110 volatile unsigned char wp_invert;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
111 // internal
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
112 volatile unsigned char wp_temp_U8;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
113 volatile unsigned char wp_txtptr;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
114 volatile unsigned char wp_char;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
115 volatile unsigned char wp_command;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
116 volatile unsigned int wp_data_16bit;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
117 volatile unsigned char wp_data_8bit_one;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
118 volatile unsigned char wp_data_8bit_two;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
119 volatile unsigned int wp_start;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
120 volatile unsigned int wp_end;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
121 volatile unsigned int wp_i;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
122 volatile unsigned char wp_black;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
123 volatile unsigned char wp_debug_U8;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
124
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
125
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
126 // *************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
127 // ** P R O T O T Y P E S **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
128 // *************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
129 void main(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
130
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
131 void main_calc_wordprocessor(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
132
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
133 void wp_write_command(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
134 void wp_write_data(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
135 void wp_write_black(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
136 void wp_write_color(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
137 void wp_set_window(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
138 void wp_set_char_font_small(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
139 void wp_set_char_font_medium(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
140 void wp_set_char_font_large(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
141 void wordprocessor(void);
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
142
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
143 // *******************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
144 // ** start **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
145 // ** necessary for compilation **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
146 // *******************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
147 #pragma romdata der_code = 0x0000
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
148 #pragma code der_start = 0x0000
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
149 void der_start(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
150 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
151 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
152 goto main
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
153 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
154 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
155
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
156 // ***********************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
157 // ** main code for simulation / **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
158 // ** tests without assembler code **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
159 // ** is NOT a part of the OSTC **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
160 // ***********************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
161 #pragma code main = 0x9000
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
162 void main(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
163 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
164 wp_top = 10;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
165 wp_leftx2 = 10;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
166 wp_color1 = 255;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
167 wp_color2 = 255;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
168 wp_font = 0;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
169 wp_invert = 0;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
170 wp_stringstore[0] = ' ';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
171 wp_stringstore[1] = '!';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
172 wp_stringstore[2] = '"';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
173 wp_stringstore[3] = ':';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
174 wp_stringstore[4] = 0;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
175 wordprocessor();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
176 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
177
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
178 // ******************************************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
179 // ******************************************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
180 // ** THE FOLLOWING CODE HAS TO BE COPPIED TO THE OSTC **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
181 // ******************************************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
182 // ******************************************************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
183 // ***************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
184 // ***************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
185 // ** THE FONTS **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
186 // ***************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
187 // ***************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
188 // all new for bigscreen
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
189 #pragma romdata font_data_large = 0x09A00
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
190 rom const rom unsigned int wp_large_data[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
191 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
192 #include "ostc90.drx.txt" // length 0x59A
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
193 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
194 #pragma romdata font_table_large = 0x09FA0
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
195 rom const rom unsigned int wp_large_table[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
196 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
197 #include "ostc90.tbl.txt" // length 0x18
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
198 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
199 #pragma romdata font_table_medium = 0x0A000
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
200 rom const rom unsigned int wp_medium_table[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
201 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
202 #include "ostc48.tbl.txt" // length 0x22
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
203 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
204 #pragma romdata font_data_medium = 0x0A024
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
205 rom const rom unsigned int wp_medium_data[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
206 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
207 #include "ostc48.drx.txt" // length 0x374 // geht bis einschl. 0xA398
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
208 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
209 #pragma romdata font_table_small = 0x0A39A
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
210 rom const rom unsigned int wp_small_table[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
211 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
212 #include "ostc28.tbl.txt" // length 0xE8
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
213 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
214 #pragma romdata font_data_small = 0x0A488
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
215 rom const rom unsigned int wp_small_data[] =
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
216 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
217 #include "ostc28.drx.txt"
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
218 };
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
219
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
220 // **********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
221 // **********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
222 // ** THE JUMP-IN CODE **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
223 // ** for the asm code **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
224 // **********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
225 // **********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
226 #pragma code main_wordprocessor = 0x0B468
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
227 void main_wordprocessor(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
228 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
229 wordprocessor();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
230 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
231
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
232 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
233 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
234 // ** THE SUBROUTINES **
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
235 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
236 // *********************
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
237
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
238 #pragma code subroutines2 = 0x0B470 // can be adapted to fit the romdata tables ahead
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
239
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
240 // ------------
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
241 // write new //
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
242 // ------------
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
243
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
244 void wp_write_command(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
245 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
246 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
247 bcf oled_rs
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
248 movff wp_command,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
249 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
250 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
251 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
252 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
253
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
254 void wp_write_data(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
255 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
256 wp_data_8bit_one = wp_data_16bit >> 8;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
257 wp_data_8bit_two = wp_data_16bit;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
258 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
259 bsf oled_rs
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
260 movff wp_data_8bit_one,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
261 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
262 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
263 movff wp_data_8bit_two,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
264 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
265 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
266 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
267 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
268
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
269 void wp_write_black(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
270 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
271 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
272 movff wp_black,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
273 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
274 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
275 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
276 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
277 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
278 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
279
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
280 void wp_write_color(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
281 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
282 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
283 movff wp_color1,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
284 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
285 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
286 movff wp_color2,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
287 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
288 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
289 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
290 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
291
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
292 void wp_set_window(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
293 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
294 // x axis start ( 0 - 319)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
295 wp_command = 0x35;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
296 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
297 wp_data_16bit = ((unsigned int)wp_leftx2) << 1;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
298 wp_write_data();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
299 // x axis end ( 0 - 319)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
300 wp_command = 0x36;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
301 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
302 wp_data_16bit = 319;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
303 wp_write_data();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
304 // y axis start + end ( 0 - 239 )
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
305 wp_command = 0x37;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
306 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
307 // the bottom part
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
308 wp_data_16bit = wp_top;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
309 if(wp_font == 2)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
310 wp_data_16bit += WP_FONT_LARGE_HEIGHT;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
311 else if(wp_font == 1)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
312 wp_data_16bit += WP_FONT_MEDIUM_HEIGHT;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
313 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
314 wp_data_16bit += WP_FONT_SMALL_HEIGHT;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
315 wp_data_16bit--;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
316 if(wp_data_16bit > 239)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
317 wp_data_16bit = 239;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
318 // the top part
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
319 wp_data_16bit |= ((unsigned int)wp_top) << 8;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
320 // all together in one 16bit transfer
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
321 wp_write_data();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
322 // start
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
323 wp_command = 0x20;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
324 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
325 wp_data_16bit = wp_top;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
326 wp_write_data();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
327 wp_command = 0x21;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
328 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
329 wp_data_16bit = ((unsigned int)wp_leftx2) << 1;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
330 wp_write_data();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
331 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
332
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
333 void wp_set_char_font_small(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
334 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
335 if(wp_char == ' ')
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
336 wp_char = '¶';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
337 if (wp_char > 0x7E) // skip space between ~ and ¡
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
338 wp_char -= 34;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
339 if((wp_char < '!') || (wp_char > 0xA3)) // font has 34 chars after ~ // ¾ + 4 chars limit to end of battery at the moment
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
340 wp_char = 0x82; // ¤
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
341 wp_start = wp_small_table[wp_char - '!'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
342 wp_end = wp_small_table[1 + wp_char - '!'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
343 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
344
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
345 void wp_set_char_font_medium(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
346 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
347 // space is 3E
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
348 if (wp_char == 0x27) // 0x27 == '
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
349 wp_char = 0x3B;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
350 if (wp_char == '"')
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
351 wp_char = 0x3C;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
352 if (wp_char == 'm')
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
353 wp_char = 0x3D;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
354 if (wp_char == ' ')
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
355 wp_char = 0x3E;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
356 if((wp_char < '.') || (wp_char > 0x3E))
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
357 wp_char = 0x3E;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
358 wp_start = wp_medium_table[wp_char - '.'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
359 wp_end = wp_medium_table[1 + wp_char - '.'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
360 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
361 void wp_set_char_font_large(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
362 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
363 // space is / = 0x2F
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
364 if (wp_char == ' ')
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
365 wp_char = 0x2F;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
366 if((wp_char < '.') || (wp_char > '9'))
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
367 wp_char = 0x2F;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
368 wp_start = wp_large_table[wp_char - '.'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
369 wp_end = wp_large_table[1 + wp_char - '.'];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
370 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
371 void wordprocessor(void)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
372 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
373 #define TOPLIMIT 230
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
374 #define LEFTLIMIT 155
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
375
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
376 if(wp_top > TOPLIMIT)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
377 wp_top = TOPLIMIT;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
378 if(wp_leftx2 > LEFTLIMIT)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
379 wp_leftx2 = LEFTLIMIT;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
380
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
381 wp_set_window();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
382 // access to GRAM
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
383 wp_command = 0x22;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
384 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
385 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
386 bsf oled_rs
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
387 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
388 wp_txtptr = 0;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
389 wp_char = wp_stringstore[wp_txtptr];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
390 /*
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
391 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
392 lfsr 0x2,0x60
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
393 movff 0xfde,wp_char
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
394 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
395 */
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
396 if(!wp_char)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
397 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
398 wp_char = ':';
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
399 wp_txtptr = 25;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
400 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
401 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
402 clrf TBLPTRU, ACCESS
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
403 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
404 while((wp_char) && (wp_txtptr < 26))
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
405 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
406 if(wp_font == 2)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
407 wp_set_char_font_large();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
408 else if(wp_font == 1)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
409 wp_set_char_font_medium();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
410 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
411 wp_set_char_font_small();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
412 wp_black = 0;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
413 for(wp_i = wp_start; wp_i<wp_end;wp_i++)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
414 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
415 if(wp_font == 2)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
416 wp_data_16bit = wp_large_data[wp_i / 2];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
417 else if(wp_font == 1)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
418 wp_data_16bit = wp_medium_data[wp_i / 2];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
419 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
420 wp_data_16bit = wp_small_data[wp_i / 2];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
421 if(wp_i & 1)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
422 wp_temp_U8 = wp_data_16bit & 0xFF;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
423 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
424 wp_temp_U8 = wp_data_16bit >> 8;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
425 if((wp_temp_U8 & 128))
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
426 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
427 wp_temp_U8 -= 127;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
428 if(wp_invert)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
429 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
430 while(wp_temp_U8 > 0)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
431 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
432 wp_temp_U8--;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
433 wp_write_color();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
434 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
435 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
436 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
437 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
438 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
439 movff wp_black,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
440 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
441 while(wp_temp_U8 > 0)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
442 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
443 wp_temp_U8--;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
444 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
445 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
446 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
447 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
448 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
449 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
450 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
451 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
452 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
453 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
454 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
455 wp_temp_U8++;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
456 if(wp_invert)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
457 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
458 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
459 movff wp_black,PORTD
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
460 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
461 while(wp_temp_U8 > 0)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
462 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
463 wp_temp_U8--;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
464 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
465 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
466 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
467 bcf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
468 bsf oled_rw
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
469 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
470 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
471 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
472 else
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
473 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
474 while(wp_temp_U8 > 0)
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
475 {
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
476 wp_temp_U8--;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
477 wp_write_color();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
478 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
479 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
480 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
481 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
482 /*
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
483 _asm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
484 movff 0xfde,wp_char
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
485 _endasm
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
486 */
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
487 wp_txtptr++;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
488 wp_char = wp_stringstore[wp_txtptr];
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
489 }
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
490 wp_command = 0x00;
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
491 wp_write_command();
77f1556457b1 added missing source file
heinrichsweikamp
parents:
diff changeset
492 }