summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/include/crt.h
blob: dc960da80ab09db5803df5027d5b28a8abc5c88d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*
 * crt.h  - This file contains definitions for constants related to PC console.
 *          More information can be found at
 *	<http://millenium.atcg.com/~taco/helppc/tables.html>
 *
 * Copyright (C) 1998  valette@crf.canon.fr
 *
 * Canon Centre Recherche France.
 *
 * This code is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This code is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * $Header$
 */

#ifndef _CRT_H
#define _CRT_H

/*
 * Bitmap video origins in text mode.
 */

	/* In monochrome */
#define V_MONO	0xb0000	
	/* In color	 */
#define V_COLOR	0xb8000


/*
 * Video Option Byte location. It must be maintained
 * by the BIOS.
 */
#define VIDEO_MODE_ADDR          	0x449
/*
 * Video controller base IO address location in
 * BIOS data area
 */
#define DISPLAY_CRT_BASE_IO_ADDR  	0x463
/*
 * Number of collums and lines locations for the
 * actual video Configuration
 */
#define NB_MAX_COL_ADDR			0x44a
#define NB_MAX_ROW_ADDR			0x484

    /*
     * Miscellaneous information set by the BIOS in offset video_mode,
     */

#   define VGAMODE7	0x7	/* VGA mode 7 */

    /* Color codes in text mode for background and foreground. */
#define BLACK		0x0
#define BLUE		0x1
#define GREEN		0x2
#define CYAN		0x3
#define RED	   	0x4
#define MAGENTA		0x5
#define BROWN		0x6
#define WHITE		0x7

#define GRAY		0x8
#define LT_BLUE		0x9
#define LT_GREEN	0xa
#define LT_CYAN		0xb
#define LT_RED		0xc
#define LT_MAGENTA	0xd
#define YELLOW		0xe
#define LT_WHITE	0xf

#define BLINK           0x8	/* Mask used to determine blinking */
#define OFF             0
#define ON              1


/* 
 * CRT Controller register offset definitions
 */

#   define CC_CURSSTART	0x0a	/* Cursor start scan line */
#   define CC_CURSEND	0x0b	/* Cursor end scan line */
#   define CC_STARTADDRHI 0x0c	/* start video ram addr msb */
#   define CC_STARTADDRLO 0x0d	/* start video ram lsb */
#   define CC_CURSHIGH	0x0e	/* Cursor high location (8 msb)	*/
#   define CC_CURSLOW	0x0f	/* Cursor low location (8 msb) */
#   define CC_VRETSTART	0x10	/* vertical synchro start lsb */
#   define CC_VRETEND	0x11	/* vertical syn end (also it control) */
#   define CC_VDISPEND	0x12	/* vertical display end lsb register */

#endif /* _CRT_H */