1 diff -Nru fbterm-1.2/src/fbshell.cpp fbterm-1.2.new/src/fbshell.cpp
2 --- fbterm-1.2/src/fbshell.cpp 2008-10-12 11:50:02.000000000 +0200
3 +++ fbterm-1.2.new/src/fbshell.cpp 2008-12-16 15:05:03.000000000 +0100
5 #define screen (Screen::instance())
7 static const Color defaultPalette[NR_COLORS] = {
15 - { 0xaa, 0xaa, 0xaa },
16 - { 0x55, 0x55, 0x55 },
17 - { 0x55, 0x55, 0xff },
18 - { 0x55, 0xff, 0x55 },
19 - { 0x55, 0xff, 0xff },
20 - { 0xff, 0x55, 0x55 },
21 - { 0xff, 0x55, 0xff },
22 - { 0xff, 0xff, 0x55 },
23 - { 0xff, 0xff, 0xff },
24 + {0x00, 0x00, 0x00}, /* 0 */
25 + {0xaa, 0x00, 0x00}, /* 1 */
26 + {0x00, 0xaa, 0x00}, /* 2 */
27 + {0xaa, 0x55, 0x00}, /* 3 */
28 + {0x00, 0x00, 0xaa}, /* 4 */
29 + {0xaa, 0x00, 0xaa}, /* 5 */
30 + {0x00, 0xaa, 0xaa}, /* 6 */
31 + {0xaa, 0xaa, 0xaa}, /* 7 */
32 + {0x55, 0x55, 0x55}, /* 8 */
33 + {0xff, 0x55, 0x55}, /* 9 */
34 + {0x55, 0xff, 0x55}, /* 10 */
35 + {0xff, 0xff, 0x55}, /* 11 */
36 + {0x55, 0x55, 0xff}, /* 12 */
37 + {0xff, 0x55, 0xff}, /* 13 */
38 + {0x55, 0xff, 0xff}, /* 14 */
39 + {0xff, 0xff, 0xff}, /* 15 */
41 + {0x00, 0x00, 0x00}, /* 16 */
42 + {0x00, 0x00, 0x5f}, /* 17 */
43 + {0x00, 0x00, 0x87}, /* 18 */
44 + {0x00, 0x00, 0xaf}, /* 19 */
45 + {0x00, 0x00, 0xd7}, /* 20 */
46 + {0x00, 0x00, 0xff}, /* 21 */
47 + {0x00, 0x5f, 0x00}, /* 22 */
48 + {0x00, 0x5f, 0x5f}, /* 23 */
49 + {0x00, 0x5f, 0x87}, /* 24 */
50 + {0x00, 0x5f, 0xaf}, /* 25 */
51 + {0x00, 0x5f, 0xd7}, /* 26 */
52 + {0x00, 0x5f, 0xff}, /* 27 */
53 + {0x00, 0x87, 0x00}, /* 28 */
54 + {0x00, 0x87, 0x5f}, /* 29 */
55 + {0x00, 0x87, 0x87}, /* 30 */
56 + {0x00, 0x87, 0xaf}, /* 31 */
57 + {0x00, 0x87, 0xd7}, /* 32 */
58 + {0x00, 0x87, 0xff}, /* 33 */
59 + {0x00, 0xaf, 0x00}, /* 34 */
60 + {0x00, 0xaf, 0x5f}, /* 35 */
61 + {0x00, 0xaf, 0x87}, /* 36 */
62 + {0x00, 0xaf, 0xaf}, /* 37 */
63 + {0x00, 0xaf, 0xd7}, /* 38 */
64 + {0x00, 0xaf, 0xff}, /* 39 */
65 + {0x00, 0xd7, 0x00}, /* 40 */
66 + {0x00, 0xd7, 0x5f}, /* 41 */
67 + {0x00, 0xd7, 0x87}, /* 42 */
68 + {0x00, 0xd7, 0xaf}, /* 43 */
69 + {0x00, 0xd7, 0xd7}, /* 44 */
70 + {0x00, 0xd7, 0xff}, /* 45 */
71 + {0x00, 0xff, 0x00}, /* 46 */
72 + {0x00, 0xff, 0x5f}, /* 47 */
73 + {0x00, 0xff, 0x87}, /* 48 */
74 + {0x00, 0xff, 0xaf}, /* 49 */
75 + {0x00, 0xff, 0xd7}, /* 50 */
76 + {0x00, 0xff, 0xff}, /* 51 */
78 + {0x5f, 0x00, 0x00}, /* 52 */
79 + {0x5f, 0x00, 0x5f}, /* 53 */
80 + {0x5f, 0x00, 0x87}, /* 54 */
81 + {0x5f, 0x00, 0xaf}, /* 55 */
82 + {0x5f, 0x00, 0xd7}, /* 56 */
83 + {0x5f, 0x00, 0xff}, /* 57 */
84 + {0x5f, 0x5f, 0x00}, /* 58 */
85 + {0x5f, 0x5f, 0x5f}, /* 59 */
86 + {0x5f, 0x5f, 0x87}, /* 60 */
87 + {0x5f, 0x5f, 0xaf}, /* 61 */
88 + {0x5f, 0x5f, 0xd7}, /* 62 */
89 + {0x5f, 0x5f, 0xff}, /* 63 */
90 + {0x5f, 0x87, 0x00}, /* 64 */
91 + {0x5f, 0x87, 0x5f}, /* 65 */
92 + {0x5f, 0x87, 0x87}, /* 66 */
93 + {0x5f, 0x87, 0xaf}, /* 67 */
94 + {0x5f, 0x87, 0xd7}, /* 68 */
95 + {0x5f, 0x87, 0xff}, /* 69 */
96 + {0x5f, 0xaf, 0x00}, /* 70 */
97 + {0x5f, 0xaf, 0x5f}, /* 71 */
98 + {0x5f, 0xaf, 0x87}, /* 72 */
99 + {0x5f, 0xaf, 0xaf}, /* 73 */
100 + {0x5f, 0xaf, 0xd7}, /* 74 */
101 + {0x5f, 0xaf, 0xff}, /* 75 */
102 + {0x5f, 0xd7, 0x00}, /* 76 */
103 + {0x5f, 0xd7, 0x5f}, /* 77 */
104 + {0x5f, 0xd7, 0x87}, /* 78 */
105 + {0x5f, 0xd7, 0xaf}, /* 79 */
106 + {0x5f, 0xd7, 0xd7}, /* 80 */
107 + {0x5f, 0xd7, 0xff}, /* 81 */
108 + {0x5f, 0xff, 0x00}, /* 82 */
109 + {0x5f, 0xff, 0x5f}, /* 83 */
110 + {0x5f, 0xff, 0x87}, /* 84 */
111 + {0x5f, 0xff, 0xaf}, /* 85 */
112 + {0x5f, 0xff, 0xd7}, /* 86 */
113 + {0x5f, 0xff, 0xff}, /* 87 */
115 + {0x87, 0x00, 0x00}, /* 88 */
116 + {0x87, 0x00, 0x5f}, /* 89 */
117 + {0x87, 0x00, 0x87}, /* 90 */
118 + {0x87, 0x00, 0xaf}, /* 91 */
119 + {0x87, 0x00, 0xd7}, /* 92 */
120 + {0x87, 0x00, 0xff}, /* 93 */
121 + {0x87, 0x5f, 0x00}, /* 94 */
122 + {0x87, 0x5f, 0x5f}, /* 95 */
123 + {0x87, 0x5f, 0x87}, /* 96 */
124 + {0x87, 0x5f, 0xaf}, /* 97 */
125 + {0x87, 0x5f, 0xd7}, /* 98 */
126 + {0x87, 0x5f, 0xff}, /* 99 */
127 + {0x87, 0x87, 0x00}, /* 100 */
128 + {0x87, 0x87, 0x5f}, /* 101 */
129 + {0x87, 0x87, 0x87}, /* 102 */
130 + {0x87, 0x87, 0xaf}, /* 103 */
131 + {0x87, 0x87, 0xd7}, /* 104 */
132 + {0x87, 0x87, 0xff}, /* 105 */
133 + {0x87, 0xaf, 0x00}, /* 106 */
134 + {0x87, 0xaf, 0x5f}, /* 107 */
135 + {0x87, 0xaf, 0x87}, /* 108 */
136 + {0x87, 0xaf, 0xaf}, /* 109 */
137 + {0x87, 0xaf, 0xd7}, /* 110 */
138 + {0x87, 0xaf, 0xff}, /* 111 */
139 + {0x87, 0xd7, 0x00}, /* 112 */
140 + {0x87, 0xd7, 0x5f}, /* 113 */
141 + {0x87, 0xd7, 0x87}, /* 114 */
142 + {0x87, 0xd7, 0xaf}, /* 115 */
143 + {0x87, 0xd7, 0xd7}, /* 116 */
144 + {0x87, 0xd7, 0xff}, /* 117 */
145 + {0x87, 0xff, 0x00}, /* 118 */
146 + {0x87, 0xff, 0x5f}, /* 119 */
147 + {0x87, 0xff, 0x87}, /* 120 */
148 + {0x87, 0xff, 0xaf}, /* 121 */
149 + {0x87, 0xff, 0xd7}, /* 122 */
150 + {0x87, 0xff, 0xff}, /* 123 */
152 + {0xaf, 0x00, 0x00}, /* 124 */
153 + {0xaf, 0x00, 0x5f}, /* 125 */
154 + {0xaf, 0x00, 0x87}, /* 126 */
155 + {0xaf, 0x00, 0xaf}, /* 127 */
156 + {0xaf, 0x00, 0xd7}, /* 128 */
157 + {0xaf, 0x00, 0xff}, /* 129 */
158 + {0xaf, 0x5f, 0x00}, /* 130 */
159 + {0xaf, 0x5f, 0x5f}, /* 131 */
160 + {0xaf, 0x5f, 0x87}, /* 132 */
161 + {0xaf, 0x5f, 0xaf}, /* 133 */
162 + {0xaf, 0x5f, 0xd7}, /* 134 */
163 + {0xaf, 0x5f, 0xff}, /* 135 */
164 + {0xaf, 0x87, 0x00}, /* 136 */
165 + {0xaf, 0x87, 0x5f}, /* 137 */
166 + {0xaf, 0x87, 0x87}, /* 138 */
167 + {0xaf, 0x87, 0xaf}, /* 139 */
168 + {0xaf, 0x87, 0xd7}, /* 140 */
169 + {0xaf, 0x87, 0xff}, /* 141 */
170 + {0xaf, 0xaf, 0x00}, /* 142 */
171 + {0xaf, 0xaf, 0x5f}, /* 143 */
172 + {0xaf, 0xaf, 0x87}, /* 144 */
173 + {0xaf, 0xaf, 0xaf}, /* 145 */
174 + {0xaf, 0xaf, 0xd7}, /* 146 */
175 + {0xaf, 0xaf, 0xff}, /* 147 */
176 + {0xaf, 0xd7, 0x00}, /* 148 */
177 + {0xaf, 0xd7, 0x5f}, /* 149 */
178 + {0xaf, 0xd7, 0x87}, /* 150 */
179 + {0xaf, 0xd7, 0xaf}, /* 151 */
180 + {0xaf, 0xd7, 0xd7}, /* 152 */
181 + {0xaf, 0xd7, 0xff}, /* 153 */
182 + {0xaf, 0xff, 0x00}, /* 154 */
183 + {0xaf, 0xff, 0x5f}, /* 155 */
184 + {0xaf, 0xff, 0x87}, /* 156 */
185 + {0xaf, 0xff, 0xaf}, /* 157 */
186 + {0xaf, 0xff, 0xd7}, /* 158 */
187 + {0xaf, 0xff, 0xff}, /* 159 */
189 + {0xd7, 0x00, 0x00}, /* 160 */
190 + {0xd7, 0x00, 0x5f}, /* 161 */
191 + {0xd7, 0x00, 0x87}, /* 162 */
192 + {0xd7, 0x00, 0xaf}, /* 163 */
193 + {0xd7, 0x00, 0xd7}, /* 164 */
194 + {0xd7, 0x00, 0xff}, /* 165 */
195 + {0xd7, 0x5f, 0x00}, /* 166 */
196 + {0xd7, 0x5f, 0x5f}, /* 167 */
197 + {0xd7, 0x5f, 0x87}, /* 168 */
198 + {0xd7, 0x5f, 0xaf}, /* 169 */
199 + {0xd7, 0x5f, 0xd7}, /* 170 */
200 + {0xd7, 0x5f, 0xff}, /* 171 */
201 + {0xd7, 0x87, 0x00}, /* 172 */
202 + {0xd7, 0x87, 0x5f}, /* 173 */
203 + {0xd7, 0x87, 0x87}, /* 174 */
204 + {0xd7, 0x87, 0xaf}, /* 175 */
205 + {0xd7, 0x87, 0xd7}, /* 176 */
206 + {0xd7, 0x87, 0xff}, /* 177 */
207 + {0xd7, 0xaf, 0x00}, /* 178 */
208 + {0xd7, 0xaf, 0x5f}, /* 179 */
209 + {0xd7, 0xaf, 0x87}, /* 180 */
210 + {0xd7, 0xaf, 0xaf}, /* 181 */
211 + {0xd7, 0xaf, 0xd7}, /* 182 */
212 + {0xd7, 0xaf, 0xff}, /* 183 */
213 + {0xd7, 0xd7, 0x00}, /* 184 */
214 + {0xd7, 0xd7, 0x5f}, /* 185 */
215 + {0xd7, 0xd7, 0x87}, /* 186 */
216 + {0xd7, 0xd7, 0xaf}, /* 187 */
217 + {0xd7, 0xd7, 0xd7}, /* 188 */
218 + {0xd7, 0xd7, 0xff}, /* 189 */
219 + {0xd7, 0xff, 0x00}, /* 190 */
220 + {0xd7, 0xff, 0x5f}, /* 191 */
221 + {0xd7, 0xff, 0x87}, /* 192 */
222 + {0xd7, 0xff, 0xaf}, /* 193 */
223 + {0xd7, 0xff, 0xd7}, /* 194 */
224 + {0xd7, 0xff, 0xff}, /* 195 */
226 + {0xff, 0x00, 0x00}, /* 196 */
227 + {0xff, 0x00, 0x5f}, /* 197 */
228 + {0xff, 0x00, 0x87}, /* 198 */
229 + {0xff, 0x00, 0xaf}, /* 199 */
230 + {0xff, 0x00, 0xd7}, /* 200 */
231 + {0xff, 0x00, 0xff}, /* 201 */
232 + {0xff, 0x5f, 0x00}, /* 202 */
233 + {0xff, 0x5f, 0x5f}, /* 203 */
234 + {0xff, 0x5f, 0x87}, /* 204 */
235 + {0xff, 0x5f, 0xaf}, /* 205 */
236 + {0xff, 0x5f, 0xd7}, /* 206 */
237 + {0xff, 0x5f, 0xff}, /* 207 */
238 + {0xff, 0x87, 0x00}, /* 208 */
239 + {0xff, 0x87, 0x5f}, /* 209 */
240 + {0xff, 0x87, 0x87}, /* 210 */
241 + {0xff, 0x87, 0xaf}, /* 211 */
242 + {0xff, 0x87, 0xd7}, /* 212 */
243 + {0xff, 0x87, 0xff}, /* 213 */
244 + {0xff, 0xaf, 0x00}, /* 214 */
245 + {0xff, 0xaf, 0x5f}, /* 215 */
246 + {0xff, 0xaf, 0x87}, /* 216 */
247 + {0xff, 0xaf, 0xaf}, /* 217 */
248 + {0xff, 0xaf, 0xd7}, /* 218 */
249 + {0xff, 0xaf, 0xff}, /* 219 */
250 + {0xff, 0xd7, 0x00}, /* 220 */
251 + {0xff, 0xd7, 0x5f}, /* 221 */
252 + {0xff, 0xd7, 0x87}, /* 222 */
253 + {0xff, 0xd7, 0xaf}, /* 223 */
254 + {0xff, 0xd7, 0xd7}, /* 224 */
255 + {0xff, 0xd7, 0xff}, /* 225 */
256 + {0xff, 0xff, 0x00}, /* 226 */
257 + {0xff, 0xff, 0x5f}, /* 227 */
258 + {0xff, 0xff, 0x87}, /* 228 */
259 + {0xff, 0xff, 0xaf}, /* 229 */
260 + {0xff, 0xff, 0xd7}, /* 230 */
261 + {0xff, 0xff, 0xff}, /* 231 */
263 + {0x08, 0x08, 0x08}, /* 232 */
264 + {0x12, 0x12, 0x12}, /* 233 */
265 + {0x1c, 0x1c, 0x1c}, /* 234 */
266 + {0x26, 0x26, 0x26}, /* 235 */
267 + {0x30, 0x30, 0x30}, /* 236 */
268 + {0x3a, 0x3a, 0x3a}, /* 237 */
269 + {0x44, 0x44, 0x44}, /* 238 */
270 + {0x4e, 0x4e, 0x4e}, /* 239 */
271 + {0x58, 0x58, 0x58}, /* 240 */
272 + {0x62, 0x62, 0x62}, /* 241 */
273 + {0x6c, 0x6c, 0x6c}, /* 242 */
274 + {0x76, 0x76, 0x76}, /* 243 */
275 + {0x80, 0x80, 0x80}, /* 244 */
276 + {0x8a, 0x8a, 0x8a}, /* 245 */
277 + {0x94, 0x94, 0x94}, /* 246 */
278 + {0x9e, 0x9e, 0x9e}, /* 247 */
279 + {0xa8, 0xa8, 0xa8}, /* 248 */
280 + {0xb2, 0xb2, 0xb2}, /* 249 */
281 + {0xbc, 0xbc, 0xbc}, /* 250 */
282 + {0xc6, 0xc6, 0xc6}, /* 251 */
283 + {0xd0, 0xd0, 0xd0}, /* 252 */
284 + {0xda, 0xda, 0xda}, /* 253 */
285 + {0xe4, 0xe4, 0xe4}, /* 254 */
286 + {0xee, 0xee, 0xee}, /* 255 */
290 u16 VTerm::init_history_lines()
291 diff -Nru fbterm-1.2/src/fbshell.h fbterm-1.2.new/src/fbshell.h
292 --- fbterm-1.2/src/fbshell.h 2008-10-12 11:50:02.000000000 +0200
293 +++ fbterm-1.2.new/src/fbshell.h 2008-12-16 14:57:08.000000000 +0100
295 #include "instance.h"
298 -#define NR_COLORS 16
299 +#define NR_COLORS 256
302 - u8 blue, green, red;
303 + u8 red, green, blue;
306 class FbShell : public Shell {
307 diff -Nru fbterm-1.2/src/lib/vterm_action.cpp fbterm-1.2.new/src/lib/vterm_action.cpp
308 --- fbterm-1.2/src/lib/vterm_action.cpp 2008-10-12 11:50:02.000000000 +0200
309 +++ fbterm-1.2.new/src/lib/vterm_action.cpp 2008-12-16 14:28:19.000000000 +0100
315 void VTerm::set_display_attr()
319 + MODE_256_WAS_FOREGROUND_38,
320 + MODE_256_WAS_FOREGROUND_5,
321 + MODE_256_WAS_BACKGROUND_48,
322 + MODE_256_WAS_BACKGROUND_5
324 + mode_256 mode = MODE_256_NORMAL;
325 + bool tmp_underline;
328 for (s32 n = 0; n <= npar; n++) {
329 + if (mode == MODE_256_WAS_FOREGROUND_5) {
330 + char_attr.fcolor = param[n];
331 + mode = MODE_256_NORMAL;
334 + if (mode == MODE_256_WAS_BACKGROUND_5) {
335 + char_attr.bcolor = param[n];
336 + mode = MODE_256_NORMAL;
339 + if (param[n] == 5 && mode != MODE_256_NORMAL) {
340 + if (mode == MODE_256_WAS_FOREGROUND_38) {
341 + char_attr.fcolor = tmp_fcolor;
342 + char_attr.underline = tmp_underline;
343 + mode = MODE_256_WAS_FOREGROUND_5;
344 + } else if (mode == MODE_256_WAS_BACKGROUND_48) {
345 + mode = MODE_256_WAS_BACKGROUND_5;
349 + mode = MODE_256_NORMAL;
353 char_attr = default_char_attr;
355 char_attr.fcolor = param[n] % 10;
358 + tmp_fcolor = char_attr.fcolor;
359 + tmp_underline = char_attr.underline;
360 char_attr.fcolor = default_fcolor;
361 char_attr.underline = true;
362 + mode = MODE_256_WAS_FOREGROUND_38;
365 char_attr.fcolor = default_fcolor;
368 char_attr.bcolor = param[n] % 10;
371 + mode = MODE_256_WAS_BACKGROUND_48;
374 char_attr.bcolor = default_bcolor;
376 diff -Nru fbterm-1.2/src/lib/vterm.h fbterm-1.2.new/src/lib/vterm.h
377 --- fbterm-1.2/src/lib/vterm.h 2008-10-12 11:50:02.000000000 +0200
378 +++ fbterm-1.2.new/src/lib/vterm.h 2008-12-16 14:23:50.000000000 +0100
380 || italic != a.italic || underline != a.underline || blink != a.blink || reverse != a.reverse;
383 - s32 fcolor : 5; // -1 = default
384 - s32 bcolor : 5; // -1 = default
385 + s32 fcolor : 9; // -1 = default
386 + s32 bcolor : 9; // -1 = default
387 u32 intensity : 2; // 0 = half-bright, 1 = normal, 2 = bold