]> 4ch.mooo.com Git - 16.git/blob - 16/tauron/C_SRC/MAINC.CPP
added another library ^^
[16.git] / 16 / tauron / C_SRC / MAINC.CPP
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 #include <stdlib.h>\r
18 #include <stdio.h>\r
19 #include <conio.h>\r
20 #include <dos.h>\r
21 #include "tauron.h"\r
22 \r
23 void MainScreen()\r
24 {\r
25    clrscr();\r
26    printf("Tauron VGA Utilities v3.0\n"\r
27           "Copyright (c) 1998 Jeffrey Morgan.  All Rights Reserved.\n");\r
28    textcolor(12);\r
29    cprintf("Modes with a ! are not implemented      Modes with a % are unchained\r\n");\r
30    textcolor(7);\r
31    printf("Select a video mode to test:\n"\r
32           "Key              Videomode          Key              Videomode\n"\r
33           "================================================================================"\r
34           " 0) 00H, 01H -- 40 x 25 x 16         %F) Mode D   -- 360 x 200 x 256\n"\r
35           " 1) Mode L   -- 40 x 43 x 16         %G) Mode E   -- 360 x 240 x 256\n"\r
36           " 2) Mode M   -- 40 x 50 x 16         %H) Mode F   -- 360 x 350 x 256\n"\r
37           "!3) 07H      -- 80 x 25 x 2          %I) Mode G   -- 360 x 400 x 256\n"\r
38           " 4) 02H, 03H -- 80 x 25 x 16         %J) Mode H   -- 360 x 480 x 256\n"\r
39           " 5) Mode J   -- 80 x 43 x 16          K) 06H      -- 640 x 200 x 2\n"\r
40           " 6) Mode K   -- 80 x 50 x 16         !L) 0FH      -- 640 x 350 x 2\n"\r
41           " 7) 04H, 05H -- 320 x 200 x 4         M) 11H      -- 640 x 480 x 2\n"\r
42           " 8) 0DH      -- 320 x 200 x 16        N) 0EH      -- 640 x 200 x 16\n"\r
43           " 9) 13H      -- 320 x 200 x 256       O) 10H      -- 640 x 350 x 16\n"\r
44           "%A) Chain 4  -- 320 x 200 x 256       P) Mode I   -- 640 x 400 x 16\n"\r
45           "%B) Mode X   -- 320 x 240 x 256       Q) 12H      -- 640 x 480 x 16\n"\r
46           "%C) Mode A   -- 320 x 350 x 256\n"\r
47           "%D) Mode B   -- 320 x 400 x 256       R) Dual Font Test\n"\r
48           "%E) Mode C   -- 320 x 480 x 256\n"\r
49           "===============================================================================\n"\r
50           "Hit 'ESC' to exit.  Press a key [0-9 or A-O]>");\r
51 }\r
52 \r
53 void SetMode03h()\r
54 {\r
55    asm MOV AX,0003H\r
56    asm INT 10H\r
57 }\r
58 \r
59 void main()\r
60 {\r
61    int ok, key;\r
62    ok = 1;\r
63    MainScreen();\r
64    while (ok)\r
65    {\r
66       if( (key = getch()) == 0 )\r
67          key = 256 * getch();\r
68       switch( key )\r
69       {\r
70          case Escape : ok = 0; break;\r
71 \r
72          case '0'          :\r
73             SetVideoMode(MODE00H); TextTest(); getch();\r
74             SetMode03h(); MainScreen(); break;\r
75 \r
76          case '1':\r
77             SetVideoMode(MODE_L); TextTest(); getch();\r
78             SetMode03h(); MainScreen(); break;\r
79 \r
80          case '2':\r
81             SetVideoMode(MODE_M); TextTest(); getch();\r
82             SetMode03h(); MainScreen(); break;\r
83 \r
84          case '4'          :\r
85             SetVideoMode(MODE03H); TextTest(); getch();\r
86             SetMode03h(); MainScreen(); break;\r
87 \r
88          case '5':\r
89             SetVideoMode(MODE_J); TextTest(); getch();\r
90             SetMode03h(); MainScreen(); break;\r
91 \r
92          case '6':\r
93             SetVideoMode(MODE_K); TextTest(); getch();\r
94             SetMode03h(); MainScreen(); break;\r
95 \r
96          case '7':\r
97             SetVideoMode(MODE04H); Clear04H(); getch();\r
98             SetMode03h(); MainScreen(); break;\r
99 \r
100          case '8'          :\r
101             SetVideoMode(MODE0DH); Clear0DH(12); /*ModeTest();*/ getch();\r
102             SetMode03h(); MainScreen(); break;\r
103 \r
104          case '9':\r
105             SetVideoMode(MODE13H); ModeTest(); getch();\r
106             SetMode03h(); MainScreen(); break;\r
107 \r
108          case 'a': case 'A':\r
109             SetVideoMode(CHAIN4); ModeTest(); getch();\r
110             SetMode03h(); MainScreen(); break;\r
111 \r
112          case 'b': case 'B':\r
113             SetVideoMode(MODE_X); ModeTest(); getch();\r
114             SetMode03h(); MainScreen(); break;\r
115 \r
116          case 'c': case 'C':\r
117             SetVideoMode(MODE_A); ModeTest(); getch();\r
118             SetMode03h(); MainScreen(); break;\r
119 \r
120          case 'd': case 'D':\r
121             SetVideoMode(MODE_B); ModeTest(); getch();\r
122             SetMode03h(); MainScreen(); break;\r
123 \r
124          case 'e': case 'E':\r
125             SetVideoMode(MODE_C); ModeTest(); getch();\r
126             SetMode03h(); MainScreen(); break;\r
127 \r
128          case 'f': case 'F':\r
129             SetVideoMode(MODE_D); ModeTest(); getch();\r
130             SetMode03h(); MainScreen(); break;\r
131 \r
132          case 'g': case 'G':\r
133             SetVideoMode(MODE_E); ModeTest(); getch();\r
134             SetMode03h(); MainScreen(); break;\r
135 \r
136          case 'h': case 'H':\r
137             SetVideoMode(MODE_F); ModeTest(); getch();\r
138             SetMode03h(); MainScreen(); break;\r
139 \r
140          case 'i': case 'I':\r
141             SetVideoMode(MODE_G); ModeTest(); getch();\r
142             SetMode03h(); MainScreen(); break;\r
143 \r
144          case 'j': case 'J':\r
145             SetVideoMode(MODE_H); ModeTest(); getch();\r
146             SetMode03h(); MainScreen(); break;\r
147 \r
148          case 'k': case 'K':\r
149             SetVideoMode(MODE06H); Clear06H(); getch();\r
150             SetMode03h(); MainScreen(); break;\r
151 \r
152          case 'm': case 'M':\r
153             SetVideoMode(MODE11H); ModeTest(); getch();\r
154             SetMode03h(); MainScreen(); break;\r
155 \r
156          case 'n': case 'N':\r
157             SetVideoMode(MODE0EH); ModeTest(); getch();\r
158             SetMode03h(); MainScreen(); break;\r
159 \r
160          case 'o': case 'O':\r
161             SetVideoMode(MODE10H); ModeTest(); getch();\r
162             SetMode03h(); MainScreen(); break;\r
163 \r
164          case 'p': case 'P':\r
165             SetVideoMode(MODE_I); ModeTest(); getch();\r
166             SetMode03h(); MainScreen(); break;\r
167 \r
168          case 'q': case 'Q':\r
169             SetVideoMode(MODE12H); ModeTest(); getch();\r
170             SetMode03h(); MainScreen(); break;\r
171 \r
172          case 'r': case 'R':\r
173             SetVideoMode(MODE03H); DualTest();\r
174             SetMode03h(); MainScreen(); break;\r
175 \r
176          default     : break;\r
177       }\r
178    }\r
179    asm MOV AX,0003h\r
180    asm int 10h\r
181 }\r