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