vga.h Source File

Back to the index.

vga.h
Go to the documentation of this file.
1 #ifndef GXEMUL_VGA_H
2 #define GXEMUL_VGA_H
3 
4 /*
5  * Copyright (C) 2005-2018 Anders Gavare. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * 3. The name of the author may not be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28  * SUCH DAMAGE.
29  *
30  *
31  * VGA register definitions, used by src/devices/dev_vga.c.
32  */
33 
34 /*
35  * Registers (offset from 0x3C0):
36  */
37 
38 #define VGA_ATTRIBUTE_ADDR 0 /* R/W */
39 #define VGA_ATTRIBUTE_DATA_WRITE 0 /* W */
40 
41 #define VGA_ATTRIBUTE_DATA_READ 1 /* R */
42 
43 #define VGA_INPUT_STATUS_0 2 /* R */
44 
45 #define VGA_MISC_OUTPUT_W 2 /* W */
46 #define VGA_MISC_OUTPUT_CS360 0x04
47 #define VGA_MISC_OUTPUT_REN 0x02
48 #define VGA_MISC_OUTPUT_IOAS 0x01
49 
50 #define VGA_SEQUENCER_ADDR 4 /* R/W */
51 #define VGA_SEQUENCER_DATA 5 /* R/W */
52 #define VGA_SEQ_RESET 0
53 #define VGA_SEQ_CLOCKING_MODE 1
54 #define VGA_SEQ_MAP_MASK 2
55 #define VGA_SEQ_CHARACTER_MAP_SELECT 3
56 #define VGA_SEQ_SEQUENCER_MEMORY_MODE 4
57 
58 #define VGA_DAC_STATE 7 /* R */
59 #define VGA_DAC_ADDR_READ 7 /* W */
60 #define VGA_DAC_ADDR_WRITE 8 /* W */
61 #define VGA_DAC_DATA 9 /* R/W */
62 
63 #define VGA_FEATURE_CONTROL 0xA /* R/W? */
64 
65 #define VGA_MISC_OUTPUT_R 0xC /* R */
66 
67 #define VGA_GRAPHCONTR_ADDR 0xE /* R/W */
68 #define VGA_GRAPHCONTR_DATA 0xF /* R/W */
69 #define VGA_GRAPHCONTR_SETRESET 0
70 #define VGA_GRAPHCONTR_ENABLE 1
71 #define VGA_GRAPHCONTR_COLORCMP 2
72 #define VGA_GRAPHCONTR_DATAROTATE 3
73 #define VGA_GRAPHCONTR_READMAPSELECT 4
74 #define VGA_GRAPHCONTR_GRAPHICSMODE 5
75 #define VGA_GRAPHCONTR_MISC 6
76 #define VGA_GRAPHCONTR_COLORDONTCARE 7
77 #define VGA_GRAPHCONTR_MASK 8
78 
79 #define VGA_CRTC_ADDR 0x14 /* R/W */
80 #define VGA_CRTC_DATA 0x15 /* R/W */
81 #define VGA_CRTC_CURSOR_SCANLINE_START 0x0a
82 #define VGA_CRTC_CURSOR_SCANLINE_END 0x0b
83 #define VGA_CRTC_START_ADDR_HIGH 0x0c
84 #define VGA_CRTC_START_ADDR_LOW 0x0d
85 #define VGA_CRTC_CURSOR_LOCATION_HIGH 0x0e
86 #define VGA_CRTC_CURSOR_LOCATION_LOW 0x0f
87 
88 #define VGA_INPUT_STATUS_1 0x1A /* R */
89 #define VGA_IS1_DISPLAY_VRETRACE 0x08
90 #define VGA_IS1_DISPLAY_DISPLAY_DISABLE 0x01
91 
92 #endif /* GXEMUL_VGA_H */

Generated on Tue Mar 24 2020 14:04:48 for GXemul by doxygen 1.8.17