RTEMS 6.1-rc2
Loading...
Searching...
No Matches
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 */