RTEMS  5.1
crt.h
Go to the documentation of this file.
1 
9 /*
10  * crt.h - This file contains definitions for constants related to PC console.
11  * More information can be found at
12  * <http://millenium.atcg.com/~taco/helppc/tables.html>
13  *
14  * Copyright (C) 1998 Eric Valette (valette@crf.canon.fr)
15  * Canon Centre Recherche France.
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef _CRT_H
23 #define _CRT_H
24 
25 /*
26  * Bitmap video origins in text mode.
27  */
28 
29  /* In monochrome */
30 #define V_MONO 0xb0000
31  /* In color */
32 #define V_COLOR 0xb8000
33 
34 /*
35  * Video Option Byte location. It must be maintained
36  * by the BIOS.
37  */
38 #define VIDEO_MODE_ADDR 0x449
39 /*
40  * Video controller base IO address location in
41  * BIOS data area
42  */
43 #define DISPLAY_CRT_BASE_IO_ADDR 0x463
44 /*
45  * Number of collums and lines locations for the
46  * actual video Configuration
47  */
48 #define NB_MAX_COL_ADDR 0x44a
49 #define NB_MAX_ROW_ADDR 0x484
50 
51  /*
52  * Miscellaneous information set by the BIOS in offset video_mode,
53  */
54 
55 # define VGAMODE7 0x7 /* VGA mode 7 */
56 
57  /* Color codes in text mode for background and foreground. */
58 #define BLACK 0x0
59 #define BLUE 0x1
60 #define GREEN 0x2
61 #define CYAN 0x3
62 #define RED 0x4
63 #define MAGENTA 0x5
64 #define BROWN 0x6
65 #define WHITE 0x7
66 
67 #define GRAY 0x8
68 #define LT_BLUE 0x9
69 #define LT_GREEN 0xa
70 #define LT_CYAN 0xb
71 #define LT_RED 0xc
72 #define LT_MAGENTA 0xd
73 #define YELLOW 0xe
74 #define LT_WHITE 0xf
75 
76 #define BLINK 0x8 /* Mask used to determine blinking */
77 #define OFF 0
78 #define ON 1
79 
80 /*
81  * CRT Controller register offset definitions
82  */
83 
84 # define CC_CURSSTART 0x0a /* Cursor start scan line */
85 # define CC_CURSEND 0x0b /* Cursor end scan line */
86 # define CC_STARTADDRHI 0x0c /* start video ram addr msb */
87 # define CC_STARTADDRLO 0x0d /* start video ram lsb */
88 # define CC_CURSHIGH 0x0e /* Cursor high location (8 msb) */
89 # define CC_CURSLOW 0x0f /* Cursor low location (8 msb) */
90 # define CC_VRETSTART 0x10 /* vertical synchro start lsb */
91 # define CC_VRETEND 0x11 /* vertical syn end (also it control) */
92 # define CC_VDISPEND 0x12 /* vertical display end lsb register */
93 
94 #endif /* _CRT_H */