2 * Copyright (c) 1999 Hellmuth Michaelis
4 * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
6 * Copyright (c) 1992, 1994 Brian Dunford-Shore.
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by
21 * Hellmuth Michaelis, Brian Dunford-Shore and Joerg Wunsch.
22 * 4. The name authors may not be used to endorse or promote products
23 * derived from this software without specific prior written permission.
25 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
26 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
27 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 /*---------------------------------------------------------------------------
39 * pcvt_conf.h VT220 driver global configuration file
40 * ------------------------------------------------------
42 * Last Edit-Date: [Mon Dec 27 14:09:58 1999]
44 * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_conf.h,v 1.9 1999/12/30 16:17:08 hm Exp $
45 * $DragonFly: src/sys/dev/video/pcvt/i386/Attic/pcvt_conf.h,v 1.2 2003/06/17 04:28:38 dillon Exp $
47 *---------------------------------------------------------------------------*/
49 /*---------------------------------------------------------------------------
51 * from: Onno van der Linden c/o frank@fwi.uva.nl
53 * Here's an idea how to automatically detect the version of NetBSD pcvt is
56 * NetBSD 0.8 : NetBSD0_8 defined in <sys/param.h>
57 * NetBSD 0.9 : NetBSD0_9 defined in <sys/param.h>
58 * NetBSD 1.0 : NetBSD1_0 defined as 1 in <sys/param.h>
59 * NetBSD 1.0A: NetBSD1_0 defined as 2 in <sys/param.h>
61 * The NetBSDx_y defines are mutual exclusive.
63 * This leads to something like this in pcvt_hdr.h (#elif is possible too):
65 *---------------------------------------------------------------------------*/
77 #define PCVT_NETBSD 199
79 #define PCVT_NETBSD 100
83 /*---------------------------------------------------------------------------
84 * Note that each of the options below should rather be overriden by the
85 * kernel config file instead of this .h file - this allows for different
86 * definitions in different kernels compiled at the same machine
88 * The convention is as follows:
90 * options "PCVT_FOO=1" - enables the option
91 * options "PCVT_FOO" - is a synonym for the above
92 * options "PCVT_FOO=0" - disables the option
94 * omitting an option defaults to what is shown below
96 * exceptions from this rule are i.e.:
98 * options "PCVT_NSCREENS=x"
99 * options "PCVT_SCANSET=x"
100 * options "PCVT_UPDATEFAST=x"
101 * options "PCVT_UPDATESLOW=x"
102 * options "PCVT_SYSBEEPF=x"
104 * which are always numeric!
105 *---------------------------------------------------------------------------*/
107 /* -------------------------------------------------------------------- */
108 /* -------------------- OPERATING SYSTEM ------------------------------ */
109 /* -------------------------------------------------------------------- */
112 * one of the following options must be set in the kernel config file:
114 *======================================================================*
116 *======================================================================*
118 * options "PCVT_NETBSD=xxx" enables support for NetBSD
121 * PCVT_NETBSD = 9 for NetBSD 0.9
122 * PCVT_NETBSD = 99 for PRE-1.0 NetBSD-current
123 * PCVT_NETBSD = 100 for NetBSD 1.0
124 * PCVT_NETBSD = 199 for PRE-2.0 NetBSD-current
127 *======================================================================*
129 *======================================================================*
131 * options "PCVT_FREEBSD=xxx" enables support for FreeBSD
134 * PCVT_FREEBSD = 102 for 1.0 release (actually 1.0.2)
135 * PCVT_FREEBSD = 110 for FreeBSD 1.1-Release
136 * PCVT_FREEBSD = 115 for FreeBSD 1.1.5.1-Release
137 * PCVT_FREEBSD = 200 for FreeBSD 2.0-Release
138 * PCVT_FREEBSD = 210 for FreeBSD 2.1-Release
142 /* -------------------------------------------------------------------- */
143 /* ---------------- USER PREFERENCE DRIVER OPTIONS -------------------- */
144 /* -------------------------------------------------------------------- */
146 /*----------------------------------------------------------------------*/
147 /* NOTE: if FAT_CURSOR is defined, a block cursor is used instead of */
148 /* the cursor shape we got from the BIOS, see pcvt_out.c */
149 /*----------------------------------------------------------------------*/
151 #if !defined PCVT_NSCREENS /* ---------- DEFAULT: 8 -------------- */
152 # define PCVT_NSCREENS 8 /* this option defines how many virtual */
153 #endif /* screens you want to have in your */
154 /* system. each screen allocates memory,*/
155 /* so you can't have an unlimited num- */
156 /* ber...; the value is intented to be */
157 /* compile-time overridable by a config */
158 /* options "PCVT_NSCREENS=x" line */
160 #if !defined PCVT_VT220KEYB /* ---------- DEFAULT: OFF ------------ */
161 # define PCVT_VT220KEYB 0 /* this compiles a more vt220-like */
162 #elif PCVT_VT220KEYB != 0 /* keyboardlayout as described in the */
163 # undef PCVT_VT220KEYB /* file Keyboard.VT220. */
164 # define PCVT_VT220KEYB 1 /* if undefined, a more HP-like */
165 #endif /* keyboardlayout is compiled */
166 /* try to find out what YOU like ! */
168 #if !defined PCVT_SCREENSAVER /* ---------- DEFAULT: ON ------------- */
169 # define PCVT_SCREENSAVER 1 /* enable screen saver feature - this */
170 #elif PCVT_SCREENSAVER != 0 /* just blanks the display screen. */
171 # undef PCVT_SCREENSAVER /* see PCVT_PRETTYSCRNS below ... */
172 # define PCVT_SCREENSAVER 1
175 #if !defined PCVT_PRETTYSCRNS /* ---------- DEFAULT: OFF ------------ */
176 # define PCVT_PRETTYSCRNS 0 /* for the cost of some microseconds of */
177 #elif PCVT_PRETTYSCRNS != 0 /* cpu time this adds a more "pretty" */
178 # undef PCVT_PRETTYSCRNS /* version to the screensaver, an "*" */
179 # define PCVT_PRETTYSCRNS 1 /* in random locations of the display. */
180 #endif /* NOTE: this should not be defined if */
181 /* you have an energy-saving monitor */
182 /* which turns off the display if its */
185 #if !defined PCVT_CTRL_ALT_DEL /* ---------- DEFAULT: OFF ------------ */
186 # define PCVT_CTRL_ALT_DEL 0 /* this enables the execution of a cpu */
187 #elif PCVT_CTRL_ALT_DEL != 0 /* reset by pressing the CTRL, ALT and */
188 # undef PCVT_CTRL_ALT_DEL /* DEL keys simultanously. Because this */
189 # define PCVT_CTRL_ALT_DEL 1 /* is a feature of an ancient simple */
190 #endif /* bootstrap loader, it does not belong */
191 /* into modern operating systems and */
192 /* was commented out by default ... */
194 #if !defined PCVT_KBD_FIFO /* ---------- DEFAULT: ON ------------- */
195 # define PCVT_KBD_FIFO 1 /* this enables Keyboad fifo so that we */
196 #elif PCVT_KBD_FIFO != 0 /* are not any longer forced to switch */
197 # undef PCVT_KBD_FIFO /* off tty interrupts while switching */
198 # define PCVT_KBD_FIFO 1 /* virtual screens - AND loosing chars */
199 #endif /* on the serial lines is gone :-) */
203 # if !defined PCVT_KBD_FIFO_SZ /* ---------- DEFAULT: 256 ------------ */
204 # define PCVT_KBD_FIFO_SZ 256 /* this specifies the size of the above */
205 # elif PCVT_KBD_FIFO_SZ < 16 /* mentioned keyboard buffer. buffer */
206 # undef PCVT_KBD_FIFO_SZ /* overflows are logged via syslog, so */
207 # define PCVT_KBD_FIFO_SZ 256 /* have a look at /var/log/messages */
210 #endif /* PCVT_KBD_FIFO */
212 #if !defined PCVT_USEKBDSEC /* ---------- DEFAULT: ON ------------- */
213 # define PCVT_USEKBDSEC 1 /* do not set the COMMAND_INHOVR bit */
214 #elif PCVT_USEKBDSEC != 0 /* (1 = override security lock inhibit) */
215 # undef PCVT_USEKBDSEC /* when initializing the keyboard, so */
216 # define PCVT_USEKBDSEC 1 /* that security locking should work */
217 #endif /* now. I guess this has to be done also*/
218 /* in the boot code to prevent single */
219 /* user startup .... */
221 #if !defined PCVT_24LINESDEF /* ---------- DEFAULT: OFF ------------ */
222 # define PCVT_24LINESDEF 0 /* use 24 lines in VT 25 lines mode and */
223 #elif PCVT_24LINESDEF != 0 /* HP 28 lines mode by default to have */
224 # undef PCVT_24LINESDEF /* the the better compatibility to the */
225 # define PCVT_24LINESDEF 1 /* real VT220 - you can switch between */
226 #endif /* the maximum possible screensizes in */
227 /* those two modes (25 lines) and true */
228 /* compatibility (24 lines) by using */
229 /* the scon utility at runtime */
231 #if !defined PCVT_EMU_MOUSE /* ---------- DEFAULT: OFF ------------ */
232 # define PCVT_EMU_MOUSE 0 /* emulate a mouse systems mouse via */
233 #elif PCVT_EMU_MOUSE != 0 /* the keypad; this is experimental */
234 # undef PCVT_EMU_MOUSE /* code intented to be used on note- */
235 # define PCVT_EMU_MOUSE 1 /* books in conjunction with XFree86; */
236 #endif /* look at the comments in pcvt_kbd.c */
237 /* if you are interested in testing it. */
239 #if !defined PCVT_META_ESC /* ---------- DEFAULT: OFF ------------ */
240 # define PCVT_META_ESC 0 /* if ON, send the sequence "ESC key" */
241 #elif PCVT_META_ESC != 0 /* for a meta-shifted key; if OFF, */
242 # undef PCVT_META_ESC /* send the normal key code with 0x80 */
243 # define PCVT_META_ESC 1 /* added. */
246 #if !defined PCVT_SW0CNOUTP /* ---------- DEFAULT: OFF ------------ */
247 # define PCVT_SW0CNOUTP 0 /* if ON, on console/kernel output the */
248 #elif PCVT_SW0CNOUTP != 0 /* current screen is switched to screen */
249 # undef PCVT_SW0CNOUTP /* 0 if not already at screen 0. */
250 # define PCVT_SW0CNOUTP 1 /* CAUTION: CURRENTLY THIS CAUSES AN X- */
251 #endif /* SESSION TO CLUTTER VIDEO MEMORY !!!! */
253 /* -------------------------------------------------------------------- */
254 /* -------------------- DRIVER DEBUGGING ------------------------------ */
255 /* -------------------------------------------------------------------- */
257 #if !defined PCVT_SHOWKEYS /* ---------- DEFAULT: OFF ------------ */
258 # define PCVT_SHOWKEYS 0 /* this replaces the system load line */
259 #elif PCVT_SHOWKEYS != 0 /* on the vt 0 in hp mode with a display*/
260 # undef PCVT_SHOWKEYS /* of the most recent keyboard scan- */
261 # define PCVT_SHOWKEYS 1 /* and status codes received from the */
262 #endif /* keyboard controller chip. */
263 /* this is just for some hardcore */
264 /* keyboarders .... */
266 /* -------------------------------------------------------------------- */
267 /* -------------------- DRIVER OPTIONS -------------------------------- */
268 /* -------------------------------------------------------------------- */
269 /* it is unlikely that anybody wants to change anything below */
271 #if !defined PCVT_NO_LED_UPDATE /* ---------- DEFAULT: OFF ------------ */
272 # define PCVT_NO_LED_UPDATE 0 /* On some (Notebook?) keyboards it is */
273 #elif PCVT_NO_LED_UPDATE != 0 /* not possible to update the LED's */
274 # undef PCVT_NO_LED_UPDATE /* without hanging the keyboard after- */
275 # define PCVT_NO_LED_UPDATE 1 /* wards. If you experience Problems */
276 #endif /* like this, try to enable this option */
278 #if !defined PCVT_PORTIO_DELAY /* ---------- DEFAULT: ON ------------- */
279 # define PCVT_PORTIO_DELAY 1 /* Defining PCVT_PORTIO_DELAY lets pcvt */
280 #elif PCVT_PORTIO_DELAY != 0 /* use multiple accesses to port 0x84 */
281 # undef PCVT_PORTIO_DELAY /* to produce a delay of 7 us needed for*/
282 # define PCVT_PORTIO_DELAY 1 /* accessing the keyboard controller, */
283 #endif /* otherwise the system delay functions */
286 #if !defined PCVT_PCBURST /* ---------- DEFAULT: 256 ------------ */
287 # define PCVT_PCBURST 256 /* NETBSD and FreeBSD >= 2.0 only: this */
288 #endif /* is the number of output characters */
289 /* handled together as a burst in */
290 /* routine pcstart(), file pcvt_drv.c */
292 #if !defined PCVT_SCANSET /* ---------- DEFAULT: 1 -------------- */
293 # define PCVT_SCANSET 1 /* define the keyboard scancode set you */
294 #endif /* want to use: */
295 /* 1 - code set 1 (supported) */
296 /* 2 - code set 2 (supported) */
297 /* 3 - code set 3 (UNsupported) */
299 #if !defined PCVT_KEYBDID /* ---------- DEFAULT: ON ------------- */
300 # define PCVT_KEYBDID 1 /* check type of keyboard connected. at */
301 #elif PCVT_KEYBDID != 0 /* least HP-keyboards send an id other */
302 # undef PCVT_KEYBDID /* than the industry standard, so it */
303 # define PCVT_KEYBDID 1 /* CAN lead to problems. if you have */
304 #endif /* problems with this, TELL ME PLEASE ! */
306 #if !defined PCVT_SIGWINCH /* ---------- DEFAULT: ON ------------- */
307 # define PCVT_SIGWINCH 1 /* this sends a SIGWINCH signal in case */
308 #elif PCVT_SIGWINCH != 0 /* the window size is changed. to try, */
309 # undef PCVT_SIGWINCH /* issue "scons -s<size>" while in elvis*/
310 # define PCVT_SIGWINCH 1 /* and you'll see the effect. */
311 #endif /* i'm not sure, whether this feature */
312 /* has to be in the driver or has to */
313 /* move as an ioctl call to scon .... */
315 #if !defined PCVT_NULLCHARS /* ---------- DEFAULT: ON ------------- */
316 # define PCVT_NULLCHARS 1 /* allow the keyboard to send null */
317 #elif PCVT_NULLCHARS != 0 /* (0x00) characters to the calling */
318 # undef PCVT_NULLCHARS /* program. this has the side effect */
319 # define PCVT_NULLCHARS 1 /* that every undefined key also sends */
320 #endif /* out nulls. take it as experimental */
321 /* code, this behaviour will change in */
322 /* a future release */
324 #if !defined PCVT_BACKUP_FONTS /* ---------- DEFAULT: ON ------------- */
325 # define PCVT_BACKUP_FONTS 1 /* fonts are always kept memory-backed; */
326 #elif PCVT_BACKUP_FONTS != 0 /* otherwise copies are only made if */
327 # undef PCVT_BACKUP_FONTS /* they are needed. */
328 # define PCVT_BACKUP_FONTS 1
331 #ifndef PCVT_UPDATEFAST /* this is the rate at which the cursor */
332 # define PCVT_UPDATEFAST (hz/10) /* gets updated with its new position */
333 #endif /* see: async_update() in pcvt_sup.c */
335 #ifndef PCVT_UPDATESLOW /* this is the rate at which the cursor */
336 # define PCVT_UPDATESLOW 3 /* position display and the system load */
337 #endif /* (or the keyboard scancode display) */
338 /* is updated. the relation is: */
339 /* PCVT_UPDATEFAST/PCVT_UPDATESLOW */
341 #ifndef PCVT_SYSBEEPF /* timer chip value to be used for the */
342 # define PCVT_SYSBEEPF 1193182 /* sysbeep frequency value. */
343 #endif /* this should really go somewhere else,*/
344 /* e.g. in isa.h; but it used to be in */
345 /* each driver, sometimes even with */
346 /* different values (:-) */
348 #if !defined PCVT_SETCOLOR /* ---------- DEFAULT: OFF ------------ */
349 # define PCVT_SETCOLOR 0 /* enable making colors settable. this */
350 #elif PCVT_SETCOLOR != 0 /* introduces a new escape sequence */
351 # undef PCVT_SETCOLOR /* <ESC d> which is (i think) not */
352 # define PCVT_SETCOLOR 1 /* standardized, so this is an option */
353 #endif /* (Birthday present for Bruce ! :-) */
355 #if !defined PCVT_132GENERIC /* ---------- DEFAULT: OFF ------------ */
356 # define PCVT_132GENERIC 0 /* if you #define this, you enable */
357 #elif PCVT_132GENERIC != 0 /* EXPERIMENTAL (!!!!!!!!!!!!) */
358 # undef PCVT_132GENERIC /* USE-AT-YOUR-OWN-RISK, */
359 # define PCVT_132GENERIC 1 /* MAY-DAMAGE-YOUR-MONITOR */
360 #endif /* code to switch generic VGA boards/ */
361 /* chipsets to 132 column mode. Since */
362 /* i could not verify this option, i */
363 /* prefer to NOT generally enable this, */
364 /* if you want to play, look at the */
365 /* hints and the code in pcvt_sup.c and */
366 /* get in contact with Joerg Wunsch, who*/
367 /* submitted this code. Be careful !!! */
369 #if !defined PCVT_PALFLICKER /* ---------- DEFAULT: OFF ------------ */
370 # define PCVT_PALFLICKER 0 /* this option turns off the screen */
371 #elif PCVT_PALFLICKER != 0 /* during accesses to the VGA DAC */
372 # undef PCVT_PALFLICKER /* registers. why: on one fo the tested */
373 # define PCVT_PALFLICKER 1 /* pc's (WD-chipset), accesses to the */
374 #endif /* vga dac registers caused distortions */
375 /* on the screen. Ferraro says, one has */
376 /* to blank the screen. the method used */
377 /* to accomplish this stopped the noise */
378 /* but introduced another flicker, so */
379 /* this is for you to experiment ..... */
380 /* - see also PCVT_WAITRETRACE below -- */
382 #if !defined PCVT_WAITRETRACE /* ---------- DEFAULT: OFF ------------ */
383 # define PCVT_WAITRETRACE 0 /* this option waits for being in a */
384 #elif PCVT_WAITRETRACE != 0 /* retrace window prior to accessing */
385 # undef PCVT_WAITRETRACE /* the VGA DAC registers. */
386 # define PCVT_WAITRETRACE 1 /* this is the other method Ferraro */
387 #endif /* mentioned in his book. this option */
388 /* did eleminate the flicker noticably */
389 /* but not completely. besides that, it */
390 /* is implemented as a busy-wait loop */
391 /* which is a no-no-no in environments */
392 /* like this - VERY BAD PRACTICE !!!!! */
393 /* the other method implementing it is */
394 /* using the vertical retrace irq, but */
395 /* we get short of irq-lines on pc's. */
396 /* this is for you to experiment ..... */
397 /* -- see also PCVT_PALFLICKER above -- */
399 #if !defined PCVT_INHIBIT_NUMLOCK /* --------- DEFAULT: OFF ----------- */
400 # define PCVT_INHIBIT_NUMLOCK 0 /* A notebook hack: since i am getting */
401 #elif PCVT_INHIBIT_NUMLOCK != 0 /* tired of the numlock LED always */
402 # undef PCVT_INHIBIT_NUMLOCK /* being turned on - which causes the */
403 # define PCVT_INHIBIT_NUMLOCK 1 /* right half of my keyboard being */
404 #endif /* interpreted as a numeric keypad and */
405 /* thus going unusable - i want to */
406 /* have a better control over it. If */
407 /* this option is enabled, only the */
408 /* numlock key itself and the related */
409 /* ioctls will modify the numlock */
410 /* LED. (The ioctl is needed for the */
411 /* ServerNumLock feature of XFree86.) */
412 /* The default state is changed to */
413 /* numlock off, and the escape */
414 /* sequences to switch between numeric */
415 /* and application mode keypad are */
416 /* silently ignored. */
418 #if !defined PCVT_NOFASTSCROLL /* ---------- DEFAULT: OFF ------------ */
419 # define PCVT_NOFASTSCROLL 0 /* If off, enables code for fast scroll.*/
420 #elif PCVT_NOFASTSCROLL != 0 /* This is done by changing the CRTC */
421 # undef PCVT_NOFASTSCROLL /* screen start address for scrolling */
422 # define PCVT_NOFASTSCROLL 1 /* and using 2 times the screen size as */
423 #endif /* buffer. The fastscroll code works */
424 /* ONLY for VGA/EGA/CGA because it uses */
425 /* the crtc for hardware scrolling and */
426 /* therefore needs more than the one */
427 /* page video memory MDA and most */
428 /* Hercules boards support. */
429 /* If you run pcvt ONLY on MDA/Hercules */
430 /* you should disable fastscroll to save*/
431 /* the time to decide which board you */
432 /* are running pcvt on at runtime. */
433 /* [see roll_up() and roll_down().] */
435 #if !defined PCVT_SLOW_INTERRUPT/* ---------- DEFAULT: OFF ------------ */
436 # define PCVT_SLOW_INTERRUPT 0 /* If off, protecting critical regions */
437 #elif PCVT_SLOW_INTERRUPT != 0 /* in the keyboard fifo code is done by */
438 # undef PCVT_SLOW_INTERRUPT /* disabling the processor irq's, if on */
439 # define PCVT_SLOW_INTERRUPT 1 /* this is done by spl()/splx() calls. */
444 #if !defined PCVT_USL_VT_COMPAT /* ---------- DEFAULT: ON ------------- */
445 # define PCVT_USL_VT_COMPAT 1 /* this option enables multiple virtual */
446 #elif PCVT_USL_VT_COMPAT != 0 /* screen support for XFree86. If set */
447 # undef PCVT_USL_VT_COMPAT /* to off, support for a "classic" */
448 # define PCVT_USL_VT_COMPAT 1 /* single screen only X server is */
449 #endif /* compiled in. If enabled, most of the */
450 /* ioctl's from SYSV/USL are supported */
451 /* to run multiple X servers and/or */
452 /* character terminal sessions. */
456 /*---------------------------------------------------------------------------*
457 * Kernel messages attribute definitions
458 * These define the foreground and background attributes used to
459 * emphasize messages from the kernel on color and mono displays.
460 *---------------------------------------------------------------------------*/
462 #if !defined COLOR_KERNEL_FG /* color displays */
463 #define COLOR_KERNEL_FG FG_LIGHTGREY /* kernel messages, foreground */
465 #if !defined COLOR_KERNEL_BG
466 #define COLOR_KERNEL_BG BG_RED /* kernel messages, background */
469 #if !defined MONO_KERNEL_FG /* monochrome displays */
470 #define MONO_KERNEL_FG FG_UNDERLINE /* kernel messages, foreground */
472 #if !defined MONO_KERNEL_BG
473 #define MONO_KERNEL_BG BG_BLACK /* kernel messages, background */
476 /*---------------------------------- E O F ----------------------------------*/