ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/include/video_defs.h
Revision: 1.7
Committed: 2001-06-28T21:20:01Z (23 years, 2 months ago) by cebix
Content type: text/plain
Branch: MAIN
Changes since 1.6: +31 -7 lines
Log Message:
video_x.cpp supports resolution switching in windowed mode: the available
resolutions are 512x384, 640x480, 800x600, 1024x768 and 1280x1024 (the prefs
editor has to be updated to reflect this). The resolution selected in the
prefs editor is used as the default, but it can be changed in the Monitors
control panel. So far only tested with direct addressing.

File Contents

# User Rev Content
1 cebix 1.1 /*
2     * video_defs.h - Definitions for MacOS video drivers
3     *
4 cebix 1.5 * Basilisk II (C) 1997-2001 Christian Bauer
5 cebix 1.1 *
6     * This program is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU General Public License as published by
8     * the Free Software Foundation; either version 2 of the License, or
9     * (at your option) any later version.
10     *
11     * This program is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with this program; if not, write to the Free Software
18     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19     */
20    
21     #ifndef VIDEO_DEFS_H
22     #define VIDEO_DEFS_H
23    
24     // Video driver control codes
25     enum {
26 cebix 1.4 cscSetMode = 2,
27     cscSetEntries = 3,
28     cscSetGamma = 4,
29     cscGrayPage = 5,
30     cscSetGray = 6,
31     cscSetInterrupt = 7,
32     cscDirectSetEntries = 8,
33     cscSetDefaultMode = 9,
34     cscSwitchMode = 10,
35     cscSetSync = 11,
36     cscSavePreferredConfiguration = 16,
37     cscSetHardwareCursor = 22,
38     cscDrawHardwareCursor = 23,
39     cscSetConvolution = 24,
40     cscSetPowerState = 25,
41     cscPrivateControlCall = 26,
42     cscSetMultiConnect = 27,
43 cebix 1.7 cscSetClutBehavior = 28
44 cebix 1.1 };
45    
46     // Video driver status codes
47     enum {
48 cebix 1.4 cscGetMode = 2,
49     cscGetEntries = 3,
50 cebix 1.7 cscGetPages = 4,
51     cscGetBaseAddress = 5,
52 cebix 1.4 cscGetGray = 6,
53     cscGetInterrupt = 7,
54     cscGetGamma = 8,
55     cscGetDefaultMode = 9,
56 cebix 1.7 cscGetCurrentMode = 10,
57 cebix 1.4 cscGetSync = 11,
58     cscGetConnection = 12,
59     cscGetModeTiming = 13,
60     cscGetModeBaseAddress = 14,
61     cscGetScanProc = 15,
62     cscGetPreferredConfiguration = 16,
63     cscGetNextResolution = 17,
64     cscGetVideoParameters = 18,
65     cscGetGammaInfoList = 20,
66     cscRetrieveGammaTable = 21,
67     cscSupportsHardwareCursor = 22,
68     cscGetHardwareCursorDrawState = 23,
69     cscGetConvolution = 24,
70     cscGetPowerState = 25,
71     cscPrivateStatusCall = 26,
72     cscGetDDCBlock = 27,
73     cscGetMultiConnect = 28,
74     cscGetClutBehavior = 29
75 cebix 1.1 };
76    
77     enum { // VDSwitchInfo struct
78     csMode = 0,
79     csData = 2,
80     csPage = 6,
81     csBaseAddr = 8,
82     csReserved = 12
83     };
84    
85     enum { // VDSetEntry struct
86     csTable = 0,
87     csStart = 4,
88     csCount = 6
89     };
90    
91     enum { // VDDisplayConnectInfo struct
92     csDisplayType = 0,
93     csConnectTaggedType = 2,
94     csConnectTaggedData = 3,
95     csConnectFlags = 4,
96     csDisplayComponent = 8,
97     csConnectReserved = 12
98     };
99    
100     enum { // VDTimingInfo struct
101     csTimingMode = 0,
102     csTimingReserved = 4,
103     csTimingFormat = 8,
104     csTimingData = 12,
105     csTimingFlags = 16
106     };
107    
108 cebix 1.6 enum { // VDResolutionInfo struct
109     csPreviousDisplayModeID = 0,
110     csRIDisplayModeID = 4,
111     csHorizontalPixels = 8,
112     csVerticalLines = 12,
113     csRefreshRate = 16,
114     csMaxDepthMode = 20,
115     csResolutionFlags = 22
116     };
117 jlachmann 1.3
118 cebix 1.6 enum { // VDVideoParametersInfo struct
119     csDisplayModeID = 0,
120     csDepthMode = 4,
121     csVPBlockPtr = 6,
122     csPageCount = 10,
123     csDeviceType = 14
124     };
125    
126     enum { // VPBlock struct
127     vpBaseOffset = 0,
128     vpRowBytes = 4,
129     vpBounds = 6,
130     vpVersion = 14,
131     vpPackType = 16,
132     vpPackSize = 18,
133     vpHRes = 22,
134     vpVRes = 26,
135     vpPixelType = 30,
136     vpPixelSize = 32,
137     vpCmpCount = 34,
138     vpCmpSize = 36,
139     vpPlaneBytes = 38
140 cebix 1.7 };
141    
142     enum { // SPBlock struct
143     spResult = 0,
144     spPointer = 4,
145     spSize = 8,
146     spOffsetData = 12,
147     spIOFileName = 16,
148     spExecPBlk = 20,
149     spParamData = 24,
150     spMisc = 28,
151     spReserved = 32,
152     spIOReserved = 36,
153     spRefNum = 38,
154     spCategory = 40,
155     spCType = 42,
156     spDrvrSW = 44,
157     spDrvrHW = 46,
158     spTBMask = 48,
159     spSlot = 49,
160     spID = 50,
161     spExtDev = 51,
162     spHwDev = 52,
163     spByteLanes = 53,
164     spFlags = 54,
165     spKey = 55,
166     SIZEOF_SPBlock = 56
167 jlachmann 1.3 };
168    
169 cebix 1.1 #endif