]> 4ch.mooo.com Git - 16.git/blob - 16/tauron30/C_SRC/TAURON.H
f14f3120e8ec5685588ae3733ed515c540ef90f1
[16.git] / 16 / tauron30 / C_SRC / TAURON.H
1 //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
2 //=-                                                                         -=\r
3 //=-                   Tauron VGA Utilities Version 3.0                      -=\r
4 //=-                      Released September 20, 1998                        -=\r
5 //=-                                                                         -=\r
6 //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
7 //=- Copyright (c) 1997, 1998 by Jeff Morgan  =-= This code is FREE provided -=\r
8 //=- All Rights Reserved.                     =-= that you put my name some- -=\r
9 //=-                                          =-= where in your credits.     -=\r
10 //=- DISCLAIMER:                              =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
11 //=- I assume no responsibility whatsoever for any effect that this package, -=\r
12 //=- the information contained therein or the use thereof has on you, your   -=\r
13 //=- sanity, computer, spouse, children, pets or anything else related to    -=\r
14 //=- you or your existance. No warranty is provided nor implied with this    -=\r
15 //=- source code.                                                            -=\r
16 //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
17 #ifndef __TAURON_H__\r
18 #define __TAURON_H__\r
19 \r
20 // VGA register port addresses\r
21 #define ATTRCON_ADDR                                    0x03C0\r
22 #define MISC_ADDR                0x03C2\r
23 #define VGAENABLE_ADDR           0x03C3\r
24 #define SEQ_ADDR                 0x03C4\r
25 #define GRACON_ADDR              0x03CE\r
26 #define CRTC_ADDR                0x03D4\r
27 #define STATUS_ADDR              0x03DA\r
28 \r
29 // Video mode numbers\r
30 #define MODE00H                                         0x00\r
31 #define MODE01H                                         0x00\r
32 #define MODE02H                                         0x03\r
33 #define MODE03H                                         0x03\r
34 #define MODE04H                                         0x04\r
35 #define MODE05H                                         0x05\r
36 #define MODE06H                                         0x06\r
37 #define MODE07H                                         0x07\r
38 #define MODE0DH                                         0x0D\r
39 #define MODE0EH                                         0x0E\r
40 #define MODE0FH                                         0x0F\r
41 #define MODE10H                                         0x10\r
42 #define MODE11H                                         0x11\r
43 #define MODE12H                                         0x12\r
44 #define MODE13H                                         0x13\r
45 #define CHAIN4                                                  0x14\r
46 #define MODE_X                                                  0x15\r
47 #define MODE_A                                                  0x16\r
48 #define MODE_B                                                  0x17\r
49 #define MODE_C                                                  0x18\r
50 #define MODE_D                                                  0x19\r
51 #define MODE_E                                                  0x1A\r
52 #define MODE_F                                                  0x1B\r
53 #define MODE_G                                                  0x1C\r
54 #define MODE_H                                                  0x1D\r
55 #define MODE_I                                                  0x1E\r
56 #define MODE_J                                                  0x1F\r
57 #define MODE_K                                                  0x20\r
58 #define MODE_L                                                  0x21\r
59 #define MODE_M                                                  0x22\r
60 \r
61 // Keypresses\r
62 #define Escape                                                  0x001b\r
63 \r
64 // Videomode attributes\r
65 #define TVU_TEXT                                                0x0001\r
66 #define TVU_GRAPHICS                                    0x0002\r
67 #define TVU_MONOCHROME                          0x0004\r
68 #define TVU_PLANAR                                      0x0008\r
69 #define TVU_UNCHAINED                           0x0010\r
70 \r
71 // Videomode Info Structure\r
72 struct Vmode {\r
73    int mode;                      // Videomode Number\r
74    int width;                     // Width in pixels\r
75    int height;                    // Height in pixels\r
76    unsigned int width_bytes;      // Number of bytes per screen\r
77    int colors;                    // Number of colors\r
78    int attrib;                    // Videomode attributes\r
79 };\r
80 \r
81 extern Vmode Mode;\r
82 \r
83 // MODES.CPP Function Prototypes\r
84 void SetVideoMode(int mode);\r
85 void ReadBIOSfont(int fontnum, int bytesperchar);\r
86 void SetMode(unsigned int regs);\r
87 void setpal(int color, char r, char g, char b);\r
88 \r
89 // CLEAR.CPP Function Prototypes\r
90 void TextClear(char attrib);\r
91 void PlanarClear(char Color);\r
92 void UnchainedClear(char Color);\r
93 void Clear13H(char color);\r
94 void Clear04H();\r
95 void Clear06H();\r
96 void Clear0DH(char color);\r
97 \r
98 // TESTS.CPP Function Prototypes\r
99 void ModeTest();\r
100 void TextTest();\r
101 \r
102 // DUAL.CPP Function Prototypes\r
103 void DualTest();\r
104 \r
105 #endif