GA_options
Declaration
typedef struct {
N_uint32 dwSize;
N_fix32 memoryClock;
N_fix32 defaultMemoryClock;
N_fix32 maxMemoryClock;
GA_paletteExt gammaRamp[256];
N_int32 outputDevice;
GA_TVParams TV640PALUnder;
GA_TVParams TV640NTSCUnder;
GA_TVParams TV640PALOver;
GA_TVParams TV640NTSCOver;
GA_TVParams TV800PALUnder;
GA_TVParams TV800NTSCUnder;
GA_TVParams TV800PALOver;
GA_TVParams TV800NTSCOver;
N_uint8 bRes1;
N_uint8 bRes2;
N_int32 RTCFrequency;
N_int32 RTCAdvanceTicks;
N_uint8 bRes3;
N_uint16 ioPort;
N_uint8 ioAndMask;
N_uint8 ioLeftOrMask;
N_uint8 ioRightOrMask;
N_uint8 ioOffOrMask;
N_uint8 vSyncWidthLeft;
N_uint8 vSyncWidthRight;
N_uint8 text80x43Height;
N_uint8 text80x50Height;
N_uint8 text80x60Height;
N_uint8 text100x43Height;
N_uint8 text100x50Height;
N_uint8 text100x60Height;
N_uint8 text132x43Height;
N_uint8 text132x50Height;
N_uint8 text132x60Height;
N_uint8 tripleScanLowRes;
N_uint8 doubleScan512;
N_uint8 stereoRefresh;
N_uint8 stereoRefreshInterlaced;
N_uint8 stereoMode;
N_uint8 stereoModeWindowed;
N_uint8 stereoBlankInterval;
N_uint8 stereoRefreshWindowed;
N_uint8 stereoRefreshWindowedInterlaced;
N_uint32 stereoDevice;
N_uint16 glassesType;
N_uint16 stereoBlankIntervalPercent;
N_fix32 engineClock;
N_fix32 defaultEngineClock;
N_fix32 maxEngineClock;
N_uint8 stereoControlPanelOptions;
N_uint8 stereoCursorRedraw;
N_uint8 res0[14];
N_int16 LCDPanelWidth;
N_int16 LCDPanelHeight;
N_uint8 bLCDExpand;
N_uint8 bPrefer16bpp;
N_uint8 bPrefer32bpp;
N_int16 TVMaxWidth;
N_int16 TVMaxHeight;
N_uint8 res1[95];
N_uint32 resolutions[GA_MAX_RESOLUTIONS];
N_uint8 colorDepths[GA_MAX_COLORDEPTHS];
N_uint8 maxRefresh;
N_uint8 accelType;
N_uint8 res2[159];
N_uint8 bDebugMode;
N_uint8 bGenericRefresh;
N_uint8 bDialAMode;
N_uint8 bVirtualScroll;
N_uint8 bDoubleBuffer;
N_uint8 bTripleBuffer;
N_uint8 bHardwareStereoSync;
N_uint8 bStereo;
N_uint8 bMultiDisplay;
N_uint8 bPortrait;
N_uint8 bFlipped;
N_uint8 bInvertColors;
N_uint8 bReserved1;
N_uint8 bReserved2;
N_uint8 bVirtualDisplay;
N_uint8 bAGPFastWrite;
N_uint8 bZoom;
N_uint8 bMultiHead;
N_uint8 res3[154];
N_uint8 bTVOut;
N_uint8 bTVTuner;
N_uint8 bDualHead;
N_uint8 bDPMS;
N_uint8 bDDC;
N_uint8 bDDCCI;
N_uint8 bGammaCorrect;
N_uint8 bHardwareCursor;
N_uint8 bHardwareColorCursor;
N_uint8 bHardwareVideo;
N_uint8 bHardwareAccel2D;
N_uint8 bHardwareAccel3D;
N_uint8 bMonoPattern;
N_uint8 bTransMonoPattern;
N_uint8 bColorPattern;
N_uint8 bTransColorPattern;
N_uint8 bSysMem;
N_uint8 bLinear;
N_uint8 bBusMaster;
N_uint8 bDrawScanList;
N_uint8 bDrawEllipseList;
N_uint8 bDrawFatEllipseList;
N_uint8 bDrawRect;
N_uint8 bDrawRectLin;
N_uint8 bDrawTrap;
N_uint8 bDrawLine;
N_uint8 bDrawStippleLine;
N_uint8 bPutMonoImage;
N_uint8 bClipMonoImage;
N_uint8 bBitBlt;
N_uint8 bBitBltPatt;
N_uint8 bBitBltColorPatt;
N_uint8 bSrcTransBlt;
N_uint8 bDstTransBlt;
N_uint8 bStretchBlt;
N_uint8 bConvertBlt;
N_uint8 bStretchConvertBlt;
N_uint8 bBitBltFx;
N_uint8 bGetBitmap;
N_uint8 res4[256];
GA_layout multiHeadSize;
GA_layout multiHeadRes[GA_MAX_HEADS];
GA_layout multiHeadBounds[GA_MAX_HEADS];
} GA_options
Prototype In
snap/graphics.h
Description
Structure returned by GetOptions, which contains configuration information about the options for the installed device driver. All the boolean configuration options are enabled by default and can be optionally turned off by the user via the configuration functions.
This structure also contains the configuration information for the software stereo page flipping support in SNAP Graphics.
If you select the gaGlassesIOPort type, then you need to fill in the ioPort, ioAndMask, ioLeftOrMask, ioRightOrMask and ioOffOrMask fields. These fields define the values used to toggle the specified I/O port when the glasses need to be flipped. First the existing value is read from the specified I/O port, the AND mask in applied and then the appropriate OR mask is applied depending on the state of the glasses. This value is then written back to the desired I/O port.
If you select the gaGlassesGenericVSync type, then you need to fill in the VSyncWidthLeft and VSyncWidthRight fields, which define the vertical sync width to program when the desired eye should be active.
The values in the RTCFrequency and RTCAdvanceTicks define the frequency of the stereo timer interrupt, which can be used to fine tune the overheads taken by the stereo page flip handler for maximum performance before stuttering begins (ie: lost frames). The RTCFrequency field can be any power of 2 frequency between 1024Hz and 8192H, and the RTCAdvanceTicks should be a value larger than 1. For most systems an RTCFrequency value of 2048 and an RTCAdvanceTicks of 2 will work well. SNAP Graphics will however choose good defaults for the target OS if these values are not overridden.
Note: The dwSize member is intended for future compatibility, and should be set to the size of the structure as defined in this header file. Future drivers will be compatible with older software by examiming this value.
Members
dwSize |
Set to size of structure in bytes |
memoryClock |
Currently configured memory clock |
defaultMemoryClock |
Current hardware default memory clock |
maxMemoryClock |
Maximum allowable memory clock |
gammaRamp |
Default gamma ramp for RGB display modes |
outputDevice |
Currently configured output device |
TV640PALUnder |
TV parameters for 640x480 PAL underscan modes |
TV640NTSCUnder |
TV parameters for 640x480 NTSC underscan modes |
TV640PALOver |
TV parameters for 640x480 PAL overscan modes |
TV640NTSCOver |
TV parameters for 640x480 NTSC overscan modes |
TV800PALUnder |
TV parameters for 800x600 PAL underscan modes |
TV800NTSCUnder |
TV parameters for 800x600 NTSC underscan modes |
TV800PALOver |
TV parameters for 800x600 PAL overscan modes |
TV800NTSCOver |
TV parameters for 800x600 NTSC overscan modes |
numHorzDisplay |
Number of horizontal displays |
numVertDisplay |
Number of vertical displays |
RTCFrequency |
Frequency for real time clock for software stereo |
RTCAdvanceTicks |
Number of ticks to advance for software stereo |
glassesType |
Type of stereo glasses defined by GA_glassesTypeFlags |
ioPort |
Generic I/O port for controlling glasses |
ioAndMask |
I/O port AND mask |
ioLeftOrMask |
I/O port OR mask when left eye is active |
ioRightOrMask |
I/O port OR mask when right eye is active |
ioOffOrMask |
I/O port OR mask when glasses are off |
vSyncWidthLeft |
Vertical sync width when left eye is active |
vSyncWidthRight |
Vertical sync width when right eye is active |
text80x43Height |
Character height for 80x43 text mode (8,14 or 16) |
text80x50Height |
Character height for 80x50 text mode (8,14 or 16) |
text80x60Height |
Character height for 80x60 text mode (8,14 or 16) |
text100x43Height |
Character height for 100x43 text mode (8,14 or 16) |
text100x50Height |
Character height for 100x50 text mode (8,14 or 16) |
text100x60Height |
Character height for 100x60 text mode (8,14 or 16) |
text132x43Height |
Character height for 132x43 text mode (8,14 or 16) |
text132x50Height |
Character height for 132x50 text mode (8,14 or 16) |
text132x60Height |
Character height for 132x60 text mode (8,14 or 16) |
tripleScanLowRes |
True to triple scan low res modes |
doubleScan512 |
True to double scan 512x384 modes |
stereoRefresh |
Value to use for stereo mode refresh rate |
stereoRefreshInterlaced |
Value to use for stereo mode interlaced refresh rate |
stereoMode |
Stereo mode to be used for fullscreen applications |
stereoModeWindowed |
Stereo mode to be used for windowed applications |
stereoBlankInterval |
Stereo mode blank interval for above below format |
stereoDevice |
Stereo device ID defined by stereo control panel |
engineClock |
Currently configured graphics engine clock |
defaultEngineClock |
Current hardware default graphics engine clock |
maxEngineClock |
Maximum allowable graphics engine clock |
LCDPanelWidth |
Width of attached LCD panel in pixels |
LCDPanelHeight |
Height of attached LCD panel in lines |
bLCDExpand |
Enable expansion of modes to fill LCD panel |
bDebugMode |
Enable debug log filter driver (0 is off) |
bGenericRefresh |
Enable generic refresh rate control |
bDialAMode |
Enable Dial-A-Mode generic mode interface |
bVirtualScroll |
Enable virtual scrolling functions |
bDoubleBuffer |
Enable double buffering functions |
bTripleBuffer |
Enable triple buffering functions |
bHardwareStereoSync |
Enable hardware stereo sync flag |
bStereo |
Enable stereo display mode support |
bMultiDisplay |
Enable multiple display mode support |
bPortrait |
Enable portrait display mode |
bFlipped |
Enable flipped display mode |
bInvertColors |
Enable invert color mode |
bVirtualDisplay |
Enable virtual display mode |
bAGPFastWrite |
Enable AGP fast write (only here to be licensed) |
bZoom |
Enable zoom support |
bMultiHead |
Enable multi-head support |
bTVOut |
Enable TV Output support |
bTVTuner |
Enable TV Tuner support |
bDualHead |
Enable Dual Head CRTC support |
bDPMS |
Enable DPMS Display Power Management support |
bDDC |
Enable DDC Display Data Channel functions |
bDDCCI |
Enable DDC/CI Control Interface functions |
bGammaCorrect |
Enable gamma correction |
bHardwareCursor |
Enable hardware cursor |
bHardwareVideo |
Enable hardware video |
bHardwareAccel2D |
Enable hardware 2D acceleration |
bHardwareAccel3D |
Enable hardware 2D acceleration |
bMonoPattern |
Enable 8x8 mono pattern fills |
bTransMonoPattern |
Enable 8x8 mono transparent pattern fills |
bColorPattern |
Enable 8x8 color pattern fills |
bTransColorPattern |
Enable 8x8 color transparent pattern fills |
bSysMem |
Enable system memory blits |
bLinear |
Enable linear offscreen memory blits |
bBusMaster |
Enable bus mastering functions |
bDrawScanList |
Enable DrawScanList family of functions |
bDrawEllipseList |
Enable DrawEllipseList family of functions |
bDrawFatEllipseList |
Enable DrawFatEllipseList family of functions |
bDrawRect |
Enable DrawRect family of functions |
bDrawRectLin |
Enable DrawRectLin family of functions |
bDrawTrap |
Enable DrawTrap family of functions |
bDrawLine |
Enable DrawLine function |
bDrawStippleLine |
Enable DrawStippleLine function |
bPutMonoImage |
Enable PutMonoImage family of functions |
bClipMonoImage |
Enable ClipMonoImage family of functions |
bBitBlt |
Enable BitBlt family of functions |
bBitBltPatt |
Enable BitBltPatt family of functions |
bBitBltColorPatt |
Enable BitBltColorPatt family of functions |
bSrcTransBlt |
Enable SrcTransBlt family of functions |
bDstTransBlt |
Enable DstTransBlt family of functions |
bStretchBlt |
Enable StretchBlt family of functions |
bConvertBlt |
Enable ConvertBlt family of functions |
bStretchConvertBlt |
Enable StretchConvertBlt family of functions |
bBitBltFx |
Enable BitBltFx family of functions |
bGetBitmap |
Enable GetBitmap family of functions |
multiHeadSize |
Virtual size for multi-head displays |
multiHeadRes |
Physical resolutions for multi-head displays |
multiHeadBounds |
Virtual layout for multi-head displays |
Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com