4 /************************************************************************/
15 /************************************************************************/
17 #define SETTINGSNAMEMAXCHARS 30
18 #define BOARDNAMEMAXCHARS 30
22 UBYTE Name[32]; // Name des Monitortyps, z.B. "NEC P750"
24 ULONG HSyncMin; // Minimal unterstützte Horizontalfrequenz in Hz
25 ULONG HSyncMax; // Maximal unterstützte Horizontalfrequenz in Hz
27 UWORD VSyncMin; // Minimal unterstützte Vertikalfrequenz in Hz
28 UWORD VSyncMax; // Maximal unterstützte Vertikalfrequenz in Hz
30 ULONG Flags; // Siehe unten
33 #define MIB_DPMS_StandBy (0) // Monitor unterstützt DPMS-Level "stand-by".
34 // Dieses Feature ist optional, nicht jeder
35 // DPMS-fähige Monitor muß es unterstützen.
36 // Aktivierung: hsync aus, vsync an
38 #define MIB_DPMS_Suspend (1) // Monitor unterstützt DPMS-Level "suspend".
39 // Dieses Feature ist Pflicht, jeder
40 // DPMS-fähige Monitor muß es unterstützen.
41 // Aktivierung: hsync an, vsync aus
43 #define MIB_DPMS_ActiveOff (2) // Monitor unterstützt DPMS-Level "active off".
44 // Dieses Feature ist Pflicht, jeder
45 // DPMS-fähige Monitor muß es unterstützen.
46 // Aktivierung: hsync aus, vsync aus
48 #define MIF_DPMS_StandBy (1UL << MIB_DPMS_StandBy)
49 #define MIF_DPMS_Suspend (1UL << MIB_DPMS_Suspend)
50 #define MIF_DPMS_ActiveOff (1UL << MIB_DPMS_ActiveOff)
54 struct MinList Resolutions;
56 // a value discribing assignment to nth board local to boardtype
57 // to be used for reassignment when boards are added or removed.
60 char NameField[SETTINGSNAMEMAXCHARS];
62 struct P96MonitorInfo *MonitorInfo;
65 #define MAXRESOLUTIONNAMELENGTH 22
67 /********************************
68 * only used within rtg.library *
69 ********************************/
73 char Name[MAXRESOLUTIONNAMELENGTH];
78 struct ModeInfo *Modes[MAXMODES];
79 struct BoardInfo *BoardInfo;
80 struct LibResolution *HashChain;
83 /*****************************
84 * only used within MoniTool *
85 *****************************/
88 struct MinList ModeInfos;
95 char Name[MAXRESOLUTIONNAMELENGTH];
98 #define P96B_FAMILY 0 // obsolete (Resolution is an entire family)
99 #define P96B_PUBLIC 1 // Resolution should be added to the public
100 #define P96B_MONITOOL 2
102 #define P96B_CHECKME 15 // Resolution has been attached to another board
103 // by AttachSettings without being checked against
106 #define P96F_FAMILY (1<<P96B_FAMILY) // obsolete
107 #define P96F_PUBLIC (1<<P96B_PUBLIC)
108 #define P96F_MONITOOL (1<<P96B_MONITOOL)
109 #define P96F_CHECKME (1<<P96B_CHECKME)
113 DBLLORES_FLAGS, // 0000 320x200
114 DBLHIRES_FLAGS, // 8000 640x200
115 DBLSHIRES_FLAGS, // 8020 1280x200
116 LORES_FLAGS, // 0004 320x400
117 HIRES_FLAGS, // 8004 640x400
118 SHIRES_FLAGS, // 8024 1280x400
119 LORESLACE_FLAGS, // 0005 320x800
120 HIRESLACE_FLAGS, // 8005 640x800
121 SHIRESLACE_FLAGS, // 8025 1280x800
126 /*****************************
127 * this one describes a mode *
128 *****************************/
130 struct Node Node; // used for linking ModeInfos e.g. within MoniTool
138 UWORD HorTotal; // wichtig für aufziehen (beeinflußt Timings)
139 UWORD HorBlankSize; // Rahmengröße
140 UWORD HorSyncStart; // bestimmt Bildlage
141 UWORD HorSyncSize; // muß Spezifikation für Sync-Lücke erfüllen
143 UBYTE HorSyncSkew; // im Moment obsolet
144 UBYTE HorEnableSkew; //
146 UWORD VerTotal; // analog zu horizontalen Werten
152 UBYTE Clock; // Tseng: Nummer der Hardwareclock
153 UBYTE Numerator; // Cirrus: Mumerator für PLL
156 UBYTE ClockDivide; // Tseng: Clockteiler
157 UBYTE Denominator; // Cirrus: Denominator für PLL
159 ULONG PixelClock; // PixelClock in Hz
162 /***********************************
165 #define GMB_DOUBLECLOCK 0
166 #define GMB_INTERLACE 1
167 #define GMB_DOUBLESCAN 2
168 #define GMB_HPOLARITY 3
169 #define GMB_VPOLARITY 4
170 #define GMB_COMPATVIDEO 5
171 #define GMB_DOUBLEVERTICAL 6
172 #define GMB_ALWAYSBORDER 7 // only used by MoniTool-EditScreen
174 #define GMF_DOUBLECLOCK (1L<<GMB_DOUBLECLOCK)
175 #define GMF_INTERLACE (1L<<GMB_INTERLACE)
176 #define GMF_DOUBLESCAN (1L<<GMB_DOUBLESCAN)
177 #define GMF_HPOLARITY (1L<<GMB_HPOLARITY)
178 #define GMF_VPOLARITY (1L<<GMB_VPOLARITY)
179 #define GMF_COMPATVIDEO (1L<<GMB_COMPATVIDEO)
180 #define GMF_DOUBLEVERTICAL (1L<<GMB_DOUBLEVERTICAL)
181 #define GMF_ALWAYSBORDER (1L<<GMB_ALWAYSBORDER)
183 /************************************************************************/