1 | //------------------------------------------------------------------------ |
---|
2 | // lcd_lut.h: Lookup Table Values |
---|
3 | // |
---|
4 | |
---|
5 | uchar lcd_lut[256][3] = { |
---|
6 | // RED, GREEN, BLUE // Entry |
---|
7 | { 0x0, 0x0, 0x0, }, // 00 |
---|
8 | { 0x0, 0x0, 0xA, }, // 01 |
---|
9 | { 0x0, 0xA, 0x0, }, // 02 |
---|
10 | { 0x0, 0xA, 0xA, }, // 03 |
---|
11 | { 0xA, 0x0, 0x0, }, // 04 |
---|
12 | { 0xA, 0x0, 0xA, }, // 05 |
---|
13 | { 0xA, 0xA, 0x0, }, // 06 |
---|
14 | { 0xA, 0xA, 0xA, }, // 07 |
---|
15 | { 0x5, 0x5, 0x5, }, // 08 |
---|
16 | { 0x5, 0x5, 0xF, }, // 09 |
---|
17 | { 0x5, 0xF, 0x5, }, // 0A |
---|
18 | { 0x5, 0xF, 0xF, }, // 0B |
---|
19 | { 0xF, 0x5, 0x5, }, // 0C |
---|
20 | { 0xF, 0x5, 0xF, }, // 0D |
---|
21 | { 0xF, 0xF, 0x5, }, // 0E |
---|
22 | { 0xF, 0xF, 0xF, }, // 0F |
---|
23 | { 0x0, 0x0, 0x0, }, // 10 |
---|
24 | { 0x1, 0x1, 0x1, }, // 11 |
---|
25 | { 0x2, 0x2, 0x2, }, // 12 |
---|
26 | { 0x2, 0x2, 0x2, }, // 13 |
---|
27 | { 0x3, 0x3, 0x3, }, // 14 |
---|
28 | { 0x4, 0x4, 0x4, }, // 15 |
---|
29 | { 0x5, 0x5, 0x5, }, // 16 |
---|
30 | { 0x6, 0x6, 0x6, }, // 17 |
---|
31 | { 0x7, 0x7, 0x7, }, // 18 |
---|
32 | { 0x8, 0x8, 0x8, }, // 19 |
---|
33 | { 0x9, 0x9, 0x9, }, // 1A |
---|
34 | { 0xA, 0xA, 0xA, }, // 1B |
---|
35 | { 0xB, 0xB, 0xB, }, // 1C |
---|
36 | { 0xC, 0xC, 0xC, }, // 1D |
---|
37 | { 0xE, 0xE, 0xE, }, // 1E |
---|
38 | { 0xF, 0xF, 0xF, }, // 1F |
---|
39 | { 0x0, 0x0, 0xF, }, // 20 |
---|
40 | { 0x4, 0x0, 0xF, }, // 21 |
---|
41 | { 0x7, 0x0, 0xF, }, // 22 |
---|
42 | { 0xB, 0x0, 0xF, }, // 23 |
---|
43 | { 0xF, 0x0, 0xF, }, // 24 |
---|
44 | { 0xF, 0x0, 0xB, }, // 25 |
---|
45 | { 0xF, 0x0, 0x7, }, // 26 |
---|
46 | { 0xF, 0x0, 0x4, }, // 27 |
---|
47 | { 0xF, 0x0, 0x0, }, // 28 |
---|
48 | { 0xF, 0x4, 0x0, }, // 29 |
---|
49 | { 0xF, 0x7, 0x0, }, // 2A |
---|
50 | { 0xF, 0xB, 0x0, }, // 2B |
---|
51 | { 0xF, 0xF, 0x0, }, // 2C |
---|
52 | { 0xB, 0xF, 0x0, }, // 2D |
---|
53 | { 0x7, 0xF, 0x0, }, // 2E |
---|
54 | { 0x4, 0xF, 0x0, }, // 2F |
---|
55 | { 0x0, 0xF, 0x0, }, // 30 |
---|
56 | { 0x0, 0xF, 0x4, }, // 31 |
---|
57 | { 0x0, 0xF, 0x7, }, // 32 |
---|
58 | { 0x0, 0xF, 0xB, }, // 33 |
---|
59 | { 0x0, 0xF, 0xF, }, // 34 |
---|
60 | { 0x0, 0xB, 0xF, }, // 35 |
---|
61 | { 0x0, 0x7, 0xF, }, // 36 |
---|
62 | { 0x0, 0x4, 0xF, }, // 37 |
---|
63 | { 0x7, 0x7, 0xF, }, // 38 |
---|
64 | { 0x9, 0x7, 0xF, }, // 39 |
---|
65 | { 0xB, 0x7, 0xF, }, // 3A |
---|
66 | { 0xD, 0x7, 0xF, }, // 3B |
---|
67 | { 0xF, 0x7, 0xF, }, // 3C |
---|
68 | { 0xF, 0x7, 0xD, }, // 3D |
---|
69 | { 0xF, 0x7, 0xB, }, // 3E |
---|
70 | { 0xF, 0x7, 0x9, }, // 3F |
---|
71 | { 0xF, 0x7, 0x7, }, // 40 |
---|
72 | { 0xF, 0x9, 0x7, }, // 41 |
---|
73 | { 0xF, 0xB, 0x7, }, // 42 |
---|
74 | { 0xF, 0xD, 0x7, }, // 43 |
---|
75 | { 0xF, 0xF, 0x7, }, // 44 |
---|
76 | { 0xD, 0xF, 0x7, }, // 45 |
---|
77 | { 0xB, 0xF, 0x7, }, // 46 |
---|
78 | { 0x9, 0xF, 0x7, }, // 47 |
---|
79 | { 0x7, 0xF, 0x7, }, // 48 |
---|
80 | { 0x7, 0xF, 0x9, }, // 49 |
---|
81 | { 0x7, 0xF, 0xB, }, // 4A |
---|
82 | { 0x7, 0xF, 0xD, }, // 4B |
---|
83 | { 0x7, 0xF, 0xF, }, // 4C |
---|
84 | { 0x7, 0xD, 0xF, }, // 4D |
---|
85 | { 0x7, 0xB, 0xF, }, // 4E |
---|
86 | { 0x7, 0x9, 0xF, }, // 4F |
---|
87 | { 0xB, 0xB, 0xF, }, // 50 |
---|
88 | { 0xC, 0xB, 0xF, }, // 51 |
---|
89 | { 0xD, 0xB, 0xF, }, // 52 |
---|
90 | { 0xE, 0xB, 0xF, }, // 53 |
---|
91 | { 0xF, 0xB, 0xF, }, // 54 |
---|
92 | { 0xF, 0xB, 0xE, }, // 55 |
---|
93 | { 0xF, 0xB, 0xD, }, // 56 |
---|
94 | { 0xF, 0xB, 0xC, }, // 57 |
---|
95 | { 0xF, 0xB, 0xB, }, // 58 |
---|
96 | { 0xF, 0xC, 0xB, }, // 59 |
---|
97 | { 0xF, 0xD, 0xB, }, // 5A |
---|
98 | { 0xF, 0xE, 0xB, }, // 5B |
---|
99 | { 0xF, 0xF, 0xB, }, // 5C |
---|
100 | { 0xE, 0xF, 0xB, }, // 5D |
---|
101 | { 0xD, 0xF, 0xB, }, // 5E |
---|
102 | { 0xC, 0xF, 0xB, }, // 5F |
---|
103 | { 0xB, 0xF, 0xB, }, // 60 |
---|
104 | { 0xB, 0xF, 0xC, }, // 61 |
---|
105 | { 0xB, 0xF, 0xD, }, // 62 |
---|
106 | { 0xB, 0xF, 0xE, }, // 63 |
---|
107 | { 0xB, 0xF, 0xF, }, // 64 |
---|
108 | { 0xB, 0xE, 0xF, }, // 65 |
---|
109 | { 0xB, 0xD, 0xF, }, // 66 |
---|
110 | { 0xB, 0xC, 0xF, }, // 67 |
---|
111 | { 0x0, 0x0, 0x7, }, // 68 |
---|
112 | { 0x1, 0x0, 0x7, }, // 69 |
---|
113 | { 0x3, 0x0, 0x7, }, // 6A |
---|
114 | { 0x5, 0x0, 0x7, }, // 6B |
---|
115 | { 0x7, 0x0, 0x7, }, // 6C |
---|
116 | { 0x7, 0x0, 0x5, }, // 6D |
---|
117 | { 0x7, 0x0, 0x3, }, // 6E |
---|
118 | { 0x7, 0x0, 0x1, }, // 6F |
---|
119 | { 0x7, 0x0, 0x0, }, // 70 |
---|
120 | { 0x7, 0x1, 0x0, }, // 71 |
---|
121 | { 0x7, 0x3, 0x0, }, // 72 |
---|
122 | { 0x7, 0x5, 0x0, }, // 73 |
---|
123 | { 0x7, 0x7, 0x0, }, // 74 |
---|
124 | { 0x5, 0x7, 0x0, }, // 75 |
---|
125 | { 0x3, 0x7, 0x0, }, // 76 |
---|
126 | { 0x1, 0x7, 0x0, }, // 77 |
---|
127 | { 0x0, 0x7, 0x0, }, // 78 |
---|
128 | { 0x0, 0x7, 0x1, }, // 79 |
---|
129 | { 0x0, 0x7, 0x3, }, // 7A |
---|
130 | { 0x0, 0x7, 0x5, }, // 7B |
---|
131 | { 0x0, 0x7, 0x7, }, // 7C |
---|
132 | { 0x0, 0x5, 0x7, }, // 7D |
---|
133 | { 0x0, 0x3, 0x7, }, // 7E |
---|
134 | { 0x0, 0x1, 0x7, }, // 7F |
---|
135 | { 0x3, 0x3, 0x7, }, // 80 |
---|
136 | { 0x4, 0x3, 0x7, }, // 81 |
---|
137 | { 0x5, 0x3, 0x7, }, // 82 |
---|
138 | { 0x6, 0x3, 0x7, }, // 83 |
---|
139 | { 0x7, 0x3, 0x7, }, // 84 |
---|
140 | { 0x7, 0x3, 0x6, }, // 85 |
---|
141 | { 0x7, 0x3, 0x5, }, // 86 |
---|
142 | { 0x7, 0x3, 0x4, }, // 87 |
---|
143 | { 0x7, 0x3, 0x3, }, // 88 |
---|
144 | { 0x7, 0x4, 0x3, }, // 89 |
---|
145 | { 0x7, 0x5, 0x3, }, // 8A |
---|
146 | { 0x7, 0x6, 0x3, }, // 8B |
---|
147 | { 0x7, 0x7, 0x3, }, // 8C |
---|
148 | { 0x6, 0x7, 0x3, }, // 8D |
---|
149 | { 0x5, 0x7, 0x3, }, // 8E |
---|
150 | { 0x4, 0x7, 0x3, }, // 8F |
---|
151 | { 0x3, 0x7, 0x3, }, // 90 |
---|
152 | { 0x3, 0x7, 0x4, }, // 91 |
---|
153 | { 0x3, 0x7, 0x5, }, // 92 |
---|
154 | { 0x3, 0x7, 0x6, }, // 93 |
---|
155 | { 0x3, 0x7, 0x7, }, // 94 |
---|
156 | { 0x3, 0x6, 0x7, }, // 95 |
---|
157 | { 0x3, 0x5, 0x7, }, // 96 |
---|
158 | { 0x3, 0x4, 0x7, }, // 97 |
---|
159 | { 0x5, 0x5, 0x7, }, // 98 |
---|
160 | { 0x5, 0x5, 0x7, }, // 99 |
---|
161 | { 0x6, 0x5, 0x7, }, // 9A |
---|
162 | { 0x6, 0x5, 0x7, }, // 9B |
---|
163 | { 0x7, 0x5, 0x7, }, // 9C |
---|
164 | { 0x7, 0x5, 0x6, }, // 9D |
---|
165 | { 0x7, 0x5, 0x6, }, // 9E |
---|
166 | { 0x7, 0x5, 0x5, }, // 9F |
---|
167 | { 0x7, 0x5, 0x5, }, // A0 |
---|
168 | { 0x7, 0x5, 0x5, }, // A1 |
---|
169 | { 0x7, 0x6, 0x5, }, // A2 |
---|
170 | { 0x7, 0x6, 0x5, }, // A3 |
---|
171 | { 0x7, 0x7, 0x5, }, // A4 |
---|
172 | { 0x6, 0x7, 0x5, }, // A5 |
---|
173 | { 0x6, 0x7, 0x5, }, // A6 |
---|
174 | { 0x5, 0x7, 0x5, }, // A7 |
---|
175 | { 0x5, 0x7, 0x5, }, // A8 |
---|
176 | { 0x5, 0x7, 0x5, }, // A9 |
---|
177 | { 0x5, 0x7, 0x6, }, // AA |
---|
178 | { 0x5, 0x7, 0x6, }, // AB |
---|
179 | { 0x5, 0x7, 0x7, }, // AC |
---|
180 | { 0x5, 0x6, 0x7, }, // AD |
---|
181 | { 0x5, 0x6, 0x7, }, // AE |
---|
182 | { 0x5, 0x5, 0x7, }, // AF |
---|
183 | { 0x0, 0x0, 0x4, }, // B0 |
---|
184 | { 0x1, 0x0, 0x4, }, // B1 |
---|
185 | { 0x2, 0x0, 0x4, }, // B2 |
---|
186 | { 0x3, 0x0, 0x4, }, // B3 |
---|
187 | { 0x4, 0x0, 0x4, }, // B4 |
---|
188 | { 0x4, 0x0, 0x3, }, // B5 |
---|
189 | { 0x4, 0x0, 0x2, }, // B6 |
---|
190 | { 0x4, 0x0, 0x1, }, // B7 |
---|
191 | { 0x4, 0x0, 0x0, }, // B8 |
---|
192 | { 0x4, 0x1, 0x0, }, // B9 |
---|
193 | { 0x4, 0x2, 0x0, }, // BA |
---|
194 | { 0x4, 0x3, 0x0, }, // BB |
---|
195 | { 0x4, 0x4, 0x0, }, // BC |
---|
196 | { 0x3, 0x4, 0x0, }, // BD |
---|
197 | { 0x2, 0x4, 0x0, }, // BE |
---|
198 | { 0x1, 0x4, 0x0, }, // BF |
---|
199 | { 0x0, 0x4, 0x0, }, // C0 |
---|
200 | { 0x0, 0x4, 0x1, }, // C1 |
---|
201 | { 0x0, 0x4, 0x2, }, // C2 |
---|
202 | { 0x0, 0x4, 0x3, }, // C3 |
---|
203 | { 0x0, 0x4, 0x4, }, // C4 |
---|
204 | { 0x0, 0x3, 0x4, }, // C5 |
---|
205 | { 0x0, 0x2, 0x4, }, // C6 |
---|
206 | { 0x0, 0x1, 0x4, }, // C7 |
---|
207 | { 0x2, 0x2, 0x4, }, // C8 |
---|
208 | { 0x2, 0x2, 0x4, }, // C9 |
---|
209 | { 0x3, 0x2, 0x4, }, // CA |
---|
210 | { 0x3, 0x2, 0x4, }, // CB |
---|
211 | { 0x4, 0x2, 0x4, }, // CC |
---|
212 | { 0x4, 0x2, 0x3, }, // CD |
---|
213 | { 0x4, 0x2, 0x3, }, // CE |
---|
214 | { 0x4, 0x2, 0x2, }, // CF |
---|
215 | { 0x4, 0x2, 0x2, }, // D0 |
---|
216 | { 0x4, 0x2, 0x2, }, // D1 |
---|
217 | { 0x4, 0x3, 0x2, }, // D2 |
---|
218 | { 0x4, 0x3, 0x2, }, // D3 |
---|
219 | { 0x4, 0x4, 0x2, }, // D4 |
---|
220 | { 0x3, 0x4, 0x2, }, // D5 |
---|
221 | { 0x3, 0x4, 0x2, }, // D6 |
---|
222 | { 0x2, 0x4, 0x2, }, // D7 |
---|
223 | { 0x2, 0x4, 0x2, }, // D8 |
---|
224 | { 0x2, 0x4, 0x2, }, // D9 |
---|
225 | { 0x2, 0x4, 0x3, }, // DA |
---|
226 | { 0x2, 0x4, 0x3, }, // DB |
---|
227 | { 0x2, 0x4, 0x4, }, // DC |
---|
228 | { 0x2, 0x3, 0x4, }, // DD |
---|
229 | { 0x2, 0x3, 0x4, }, // DE |
---|
230 | { 0x2, 0x2, 0x4, }, // DF |
---|
231 | { 0x2, 0x2, 0x4, }, // E0 |
---|
232 | { 0x3, 0x2, 0x4, }, // E1 |
---|
233 | { 0x3, 0x2, 0x4, }, // E2 |
---|
234 | { 0x3, 0x2, 0x4, }, // E3 |
---|
235 | { 0x4, 0x2, 0x4, }, // E4 |
---|
236 | { 0x4, 0x2, 0x3, }, // E5 |
---|
237 | { 0x4, 0x2, 0x3, }, // E6 |
---|
238 | { 0x4, 0x2, 0x3, }, // E7 |
---|
239 | { 0x4, 0x2, 0x2, }, // E8 |
---|
240 | { 0x4, 0x3, 0x2, }, // E9 |
---|
241 | { 0x4, 0x3, 0x2, }, // EA |
---|
242 | { 0x4, 0x3, 0x2, }, // EB |
---|
243 | { 0x4, 0x4, 0x2, }, // EC |
---|
244 | { 0x3, 0x4, 0x2, }, // ED |
---|
245 | { 0x3, 0x4, 0x2, }, // EE |
---|
246 | { 0x3, 0x4, 0x2, }, // EF |
---|
247 | { 0x2, 0x4, 0x2, }, // F0 |
---|
248 | { 0x2, 0x4, 0x3, }, // F1 |
---|
249 | { 0x2, 0x4, 0x3, }, // F2 |
---|
250 | { 0x2, 0x4, 0x3, }, // F3 |
---|
251 | { 0x2, 0x4, 0x4, }, // F4 |
---|
252 | { 0x2, 0x3, 0x4, }, // F5 |
---|
253 | { 0x2, 0x3, 0x4, }, // F6 |
---|
254 | { 0x2, 0x3, 0x4, }, // F7 |
---|
255 | { 0x0, 0x0, 0x0, }, // F8 |
---|
256 | { 0x0, 0x0, 0x0, }, // F9 |
---|
257 | { 0x0, 0x0, 0x0, }, // FA |
---|
258 | { 0x0, 0x0, 0x0, }, // FB |
---|
259 | { 0x0, 0x0, 0x0, }, // FC |
---|
260 | { 0x0, 0x0, 0x0, }, // FD |
---|
261 | { 0x0, 0x0, 0x0, }, // FE |
---|
262 | { 0x0, 0x0, 0x0, }, // FF |
---|
263 | }; |
---|
264 | |
---|
265 | // 16-bit pixels are RGB 565 - LSB of RED and BLUE are tied low at the |
---|
266 | // LCD Interface, while the LSB of GREEN is loaded as 0 |
---|
267 | //#define RED_SUBPIXEL(n) (n & 0x1f) << 11 |
---|
268 | //#define GREEN_SUBPIXEL(n) (n & 0x1f) << 6 |
---|
269 | //#define BLUE_SUBPIXEL(n) (n & 0x1f) << 0 |
---|
270 | |
---|
271 | // define a simple VGA style 16-color pallette |
---|
272 | //#define LU_BLACK RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
273 | //#define LU_BLUE RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x0f) |
---|
274 | //#define LU_GREEN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x00) |
---|
275 | //#define LU_CYAN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x0f) |
---|
276 | //#define LU_RED RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
277 | //#define LU_VIOLET RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x0f) |
---|
278 | //#define LU_YELLOW RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x00) |
---|
279 | //#define LU_GREY RED_SUBPIXEL(0x0f) | GREEN_SUBPIXEL(0x0f) | BLUE_SUBPIXEL(0x0f) |
---|
280 | //#define LU_WHITE RED_SUBPIXEL(0x17) | GREEN_SUBPIXEL(0x17) | BLUE_SUBPIXEL(0x17) |
---|
281 | //#define LU_BRT_BLUE RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x1f) |
---|
282 | //#define LU_BRT_GREEN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x00) |
---|
283 | //#define LU_BRT_CYAN RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
284 | //#define LU_BRT_RED RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x00) |
---|
285 | //#define LU_BRT_VIOLET RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x00) | BLUE_SUBPIXEL(0x1f) |
---|
286 | //#define LU_BRT_YELLOW RED_SUBPIXEL(0x00) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
287 | //#define LU_BRT_WHITE RED_SUBPIXEL(0x1f) | GREEN_SUBPIXEL(0x1f) | BLUE_SUBPIXEL(0x1f) |
---|
288 | |
---|
289 | |
---|