Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1380 lines
80 KiB

/******************************Module*Header*******************************\
*
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !! !!
* !! WARNING: NOT DDK SAMPLE CODE !!
* !! !!
* !! This source code is provided for completeness only and should not be !!
* !! used as sample code for display driver development. Only those sources !!
* !! marked as sample code for a given driver component should be used for !!
* !! development purposes. !!
* !! !!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*
* Module Name: glintreg.h
*
* Content:
*
* Copyright (c) 1994-1999 3Dlabs Inc. Ltd. All rights reserved.
* Copyright (c) 1995-2003 Microsoft Corporation. All rights reserved.
\*****************************************************************************/
/*
* GLINT register window definition
*/
#define DWFILL unsigned long :32
#define WFILL unsigned short :16
typedef unsigned long DWORD;
typedef struct GlintReg {
/* 0h */
volatile DWORD ResetStatus ; DWFILL; // 0x0000
volatile DWORD IntEnable ; DWFILL; // 0x0008
volatile DWORD IntFlags ; DWFILL; // 0x0010
volatile DWORD InFIFOSpace ; DWFILL; // 0x0018
volatile DWORD OutFIFOWords ; DWFILL; // 0x0020
volatile DWORD DMAAddress ; DWFILL; // 0x0028
volatile DWORD DMACount ; DWFILL; // 0x0030
volatile DWORD ErrorFlags ; DWFILL; // 0x0038
volatile DWORD VClkCtl ; DWFILL; // 0x0040
volatile DWORD TestRegister ; DWFILL; // 0x0048
union {
volatile DWORD Aperture0 ; // SX/TX control register
volatile DWORD ApertureOne ; // Permedia control register
}; DWFILL; // 0x0050
union {
volatile DWORD Aperture1 ; // SX/TX control register
volatile DWORD ApertureTwo ; // Permedia control register
}; DWFILL; // 0x0058
union {
volatile DWORD DMAControl ; // 0x0060 P2
volatile DWORD ControlDMAControl ; // 0x0060 P3 version of same register
}; DWFILL;
volatile DWORD FIFODiscon ; DWFILL; // 0x0068 SX Rev 2, TX and Permedia
volatile DWORD ChipConfig ; DWFILL; // 0x0070 Permedia
volatile DWORD AGPControl ; DWFILL; // 0x0078 P3 R3
volatile DWORD OutDMAAddress ; DWFILL; // 0x0080 Output DMA controller address
union {
volatile DWORD OutDMACount ; // 0x0088 P2 Output DMA controller count
volatile DWORD PCIFeedbackCount ; // 0x0088 P3R3
}; DWFILL;
union {
volatile DWORD AGPTexBaseAddress ; // 0x0090 P2
volatile DWORD PCIAbortStatus ; // 0x0090 P3R3
}; DWFILL;
volatile DWORD PCIAbortAddress ; DWFILL; // 0x0098 P3R3
/* Bypass DMA Registers P2 */
volatile DWORD ByDMAAddress; DWFILL; // 0x00A0 Bypass DMA host address
DWFILL; DWFILL; // 0x00A8 Not used.
DWFILL; DWFILL; // 0x00B0 Not used.
volatile DWORD ByDMAStride; DWFILL; // 0x00B8 Host stride in bytes.
volatile DWORD ByDMAMemAddr; DWFILL; // 0x00C0 Chip base address in texels.
volatile DWORD ByDMASize; DWFILL; // 0x00C8 Height and width in texels.
volatile DWORD ByDMAByteMask; DWFILL; // 0x00D0 Right and left byte masks.
volatile DWORD ByDMAControl; DWFILL; // 0x00D8 General bypass DMA control.
DWFILL; DWFILL; // 0x00E0 Not used.
volatile DWORD ByDMAComplete; DWFILL; // 0x00E8 Manual GP restart.
volatile DWORD PCIPLLstatus; DWFILL; // 0x00F0 P3R3
DWFILL; DWFILL; // 0x00F8 Not Used
volatile DWORD HostTextureAddress; DWFILL; // 0x0100 P3R3
volatile DWORD TextureDownloadControl; DWFILL; // 0x0108 P3R3
volatile DWORD TextureOperation; DWFILL; // 0x0110 P3R3
volatile DWORD LogicalTexturePage; DWFILL; // 0x0118 P3R3
volatile DWORD TexDMAAddress; DWFILL; // 0x0120 P3R3
volatile DWORD TexFifoSpace; DWFILL; // 0x0128 P3R3
volatile DWORD Fill0a[0x200/4 - 0x130/4];
volatile DWORD TestInputControl; DWFILL; // 0x0200 P3R3
volatile DWORD TestInputRdy; DWFILL; // 0x0208 P3R3
volatile DWORD TestOutputControl; DWFILL; // 0x0210 P3R3
volatile DWORD TestOutputRdy; DWFILL; // 0x0218 P3R3
volatile DWORD TestWriteSelect; DWFILL; // 0x0220 P3R3
volatile DWORD TestWriteData; DWFILL; // 0x0228 P3R3
volatile DWORD TestReadSelect; DWFILL; // 0x0230 P3R3
volatile DWORD TestReadData; DWFILL; // 0x0238 P3R3
volatile DWORD PClkInvertA0; DWFILL; // 0x0240 P3R3
volatile DWORD PClkInvertB0; DWFILL; // 0x0248 P3R3
volatile DWORD PClkProfMaskA0; DWFILL; // 0x0250 P3R3
volatile DWORD PClkProfMaskB0; DWFILL; // 0x0258 P3R3
volatile DWORD PClkProfCount0; DWFILL; // 0x0260 P3R3
volatile DWORD PClkInvertA1; DWFILL; // 0x0268 P3R3
volatile DWORD PClkInvertB1; DWFILL; // 0x0270 P3R3
volatile DWORD PClkProfMaskA1; DWFILL; // 0x0278 P3R3
volatile DWORD PClkProfMaskB1; DWFILL; // 0x0280 P3R3
volatile DWORD PClkProfCount1; DWFILL; // 0x0288 P3R3
volatile DWORD Fill0b[0x300/4 - 0x290/4];
// P3 R3 Bypass register configuration
volatile DWORD ByAperture1Mode; DWFILL; // 0x0300
volatile DWORD ByAperture1Stride; DWFILL; // 0x0308
volatile DWORD ByAperture1YStart; DWFILL; // 0x0310
volatile DWORD ByAperture1UStart; DWFILL; // 0x0318
volatile DWORD ByAperture1VStart; DWFILL; // 0x0320
volatile DWORD ByAperture2Mode; DWFILL; // 0x0328
volatile DWORD ByAperture2Stride; DWFILL; // 0x0330
volatile DWORD ByAperture2YStart; DWFILL; // 0x0338
volatile DWORD ByAperture2UStart; DWFILL; // 0x0340
volatile DWORD ByAperture2VStart; DWFILL; // 0x0348
volatile DWORD ByDMAReadMode; DWFILL; // 0x0350
volatile DWORD ByDMAReadStride; DWFILL; // 0x0358
volatile DWORD ByDMAReadYStart; DWFILL; // 0x0360
volatile DWORD ByDMAReadUStart; DWFILL; // 0x0368
volatile DWORD ByDMAReadVStart; DWFILL; // 0x0370
volatile DWORD ByDMAReadCommandBase; DWFILL; // 0x0378
volatile DWORD ByDMAReadCommandCount;DWFILL; // 0x0380
volatile DWORD ByDMAWriteMode; DWFILL; // 0x0388
volatile DWORD ByDMAWriteStride; DWFILL; // 0x0390
volatile DWORD ByDMAWriteYStart; DWFILL; // 0x0398
volatile DWORD ByDMAWriteUStart; DWFILL; // 0x03A0
volatile DWORD ByDMAWriteVStart; DWFILL; // 0x03A8
volatile DWORD ByDMAWriteCommandBase;DWFILL; // 0x03B0
volatile DWORD ByDMAWriteCommandCount;DWFILL; // 0x03B8
volatile DWORD Fill0c[0x800/4 - 0x3C0/4];
/* Delta Registers */
volatile DWORD DeltaReset; DWFILL;
volatile DWORD DeltaIntEnable; DWFILL;
volatile DWORD DeltaIntFlags; DWFILL;
volatile DWORD DeltaInFIFOSpace; DWFILL;
volatile DWORD DeltaOutFIFOWords; DWFILL;
volatile DWORD DeltaDMAAddress; DWFILL;
volatile DWORD DeltaDMACount; DWFILL;
volatile DWORD DeltaErrorFlags; DWFILL;
volatile DWORD DeltaVClkCtl; DWFILL;
volatile DWORD DeltaTestRegister; DWFILL;
volatile DWORD DeltaAperture0; DWFILL;
volatile DWORD DeltaAperture1; DWFILL;
volatile DWORD DeltaDMAControl; DWFILL;
volatile DWORD DeltaDisconnectControl;DWFILL;
/* Localbuffer Registers */
volatile DWORD Fill1[0xC40/4 - 0x870/4];
volatile DWORD CommandMode; DWFILL; // 0xC40
volatile DWORD CommandIntEnable; DWFILL; // 0xC48
volatile DWORD CommandIntFlags; DWFILL; // 0xC50
volatile DWORD CommandErrorFlags; DWFILL; // 0xC58
volatile DWORD CommandStatus; DWFILL; // 0xC60
volatile DWORD CommandFaultingAddr; DWFILL; // 0xC68
volatile DWORD VertexFaultingAddr; DWFILL; // 0xC70
DWFILL; DWFILL; // 0xC78
DWFILL; DWFILL; // 0xC80
volatile DWORD WriteFaultingAddr; DWFILL; // 0xC88
DWFILL; DWFILL; // 0xC90
volatile DWORD FeedbackSelectCount; DWFILL; // 0xC98
DWFILL; DWFILL; // 0xCA0
DWFILL; DWFILL; // 0xCA8
DWFILL; DWFILL; // 0xCB0
volatile DWORD GammaProcessorMode; DWFILL; // 0xCB8
volatile DWORD Fill1a[0x1000/4 - 0xCC0/4];
/* 1000h */
union {
volatile DWORD LBMemoryCtl ; // SX/TX
volatile DWORD Reboot ; // Permedia SGRAM control register
volatile DWORD MemCounter ; // P3R3
}; DWFILL; // 0x1000
union {
volatile DWORD LBMemoryEDO ; // SX/TX
volatile DWORD MemBypassWriteMask; // P3R3
}; DWFILL; // 0x1008
volatile DWORD MemScratch ; DWFILL; // 0x1010 P3R3
volatile DWORD LocalMemCaps ; DWFILL; // 0x1018 P3R3
volatile DWORD LocalMemTiming ; DWFILL; // 0x1020 P3R3
volatile DWORD LocalMemControl ; DWFILL; // 0x1028 P3R3
volatile DWORD LocalMemRefresh ; DWFILL; // 0x1030 P3R3
volatile DWORD LocalMemPowerdown ; DWFILL; // 0x1038 P3R3
volatile DWORD MemControl ; DWFILL; // 0x1040 Permedia
DWFILL; DWFILL; // 0x1048
DWFILL; DWFILL; // 0x1050
DWFILL; DWFILL; // 0x1058
DWFILL; DWFILL; // 0x1060
DWFILL; DWFILL; // 0x1068
DWFILL; DWFILL; // 0x1070
DWFILL; DWFILL; // 0x1078
volatile DWORD BootAddress ; DWFILL; // 0x1080 Permedia
DWFILL; DWFILL; // 0x1088
DWFILL; DWFILL; // 0x1090
DWFILL; DWFILL; // 0x1098
DWFILL; DWFILL; // 0x10a0
DWFILL; DWFILL; // 0x10a8
DWFILL; DWFILL; // 0x10b0
DWFILL; DWFILL; // 0x10b8
volatile DWORD MemConfig ; DWFILL; // 0x10c0 Permedia
DWFILL; DWFILL; // 0x10c8
DWFILL; DWFILL; // 0x10d0
DWFILL; DWFILL; // 0x10d8
DWFILL; DWFILL; // 0x10e0
DWFILL; DWFILL; // 0x10e8
DWFILL; DWFILL; // 0x10f0
DWFILL; DWFILL; // 0x10f8
union {
volatile DWORD BypassWriteMask ; // Permedia
volatile DWORD RemoteMemControl ; // P3R3
}; DWFILL; // 0x1100
DWFILL; DWFILL; // 0x1108
DWFILL; DWFILL; // 0x1110
DWFILL; DWFILL; // 0x1118
DWFILL; DWFILL; // 0x1120
DWFILL; DWFILL; // 0x1128
DWFILL; DWFILL; // 0x1130
DWFILL; DWFILL; // 0x1138
volatile DWORD FramebufferWriteMask; DWFILL; // 0x1140 Permedia
DWFILL; DWFILL; // 0x1148
DWFILL; DWFILL; // 0x1150
DWFILL; DWFILL; // 0x1158
DWFILL; DWFILL; // 0x1160
DWFILL; DWFILL; // 0x1168
DWFILL; DWFILL; // 0x1170
DWFILL; DWFILL; // 0x1178
volatile DWORD MClkCount ; DWFILL; // 0x1180 Permedia
/* Framebuffer Registers */
volatile DWORD Fill2[0x1800/4 - 0x1188/4];
/* 1800h */
volatile DWORD FBMemoryCtl ; DWFILL;
volatile DWORD FBModeSel ; DWFILL;
volatile DWORD FBGPWrMask ; DWFILL;
volatile DWORD FBGPColorMask ; DWFILL;
/* GP Fifo Interface */
volatile DWORD Fill3[0x2000/4 - 0x1820/4];
/* 2000h */
volatile DWORD GPFifo[1024];
/* Internal Video Registers */
/* 3000h */
union {
volatile DWORD VTGHLimit ; // 0x3000 SX/TX VTG Register
volatile DWORD ScreenBase ; // 0x3000 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGHSyncStart ; // 0x3008 SX/TX VTG Register
volatile DWORD ScreenStride ; // 0x3008 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGHSyncEnd ; // 0x3010 SX/TX VTG Register
volatile DWORD HTotal ; // 0x3010 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGHBlankEnd ; // 0x3018 SX/TX VTG Register
volatile DWORD HgEnd ; // 0x3018 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVLimit ; // 0x3020 SX/TX VTG Register
volatile DWORD HbEnd ; // 0x3020 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVSyncStart ; // 0x3028 SX/TX VTG Register
volatile DWORD HsStart ; // 0x3028 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVSyncEnd ; // 0x3030 SX/TX VTG Register
volatile DWORD HsEnd ; // 0x3030 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVBlankEnd ; // 0x3038 SX/TX VTG Register
volatile DWORD VTotal ; // 0x3038 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGHGateStart ; // 0x3040 SX/TX VTG Register
volatile DWORD VbEnd ; // 0x3040 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGHGateEnd ; // 0x3048 SX/TX VTG Register
volatile DWORD VsStart ; // 0x3048 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVGateStart ; // 0x3050 SX/TX VTG Register
volatile DWORD VsEnd ; // 0x3050 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGVGateEnd ; // 0x3058 SX/TX VTG Register
volatile DWORD VideoControl ; // 0x3058 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGPolarity ; // 0x3060 SX/TX VTG Register
volatile DWORD InterruptLine ; // 0x3060 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGFrameRowAddr ; // 0x3068 SX/TX VTG Register
volatile DWORD DDCData ; // 0x3068 Permedia VTG Register
volatile DWORD DisplayData ; // 0x3068 P2 VTG Register
}; DWFILL;
union {
volatile DWORD VTGVLineNumber ; // 0x3070 SX/TX VTG Register
volatile DWORD LineCount ; // 0x3070 Permedia VTG Register
}; DWFILL;
union {
volatile DWORD VTGSerialClk ; // 0x3078 SX/TX VTG Register
volatile DWORD FifoControl ; // 0x3078 P2 VTG Register
}; DWFILL;
volatile DWORD ScreenBaseRight ; DWFILL; // 0x3080 P2 VTG Register
volatile DWORD MiscControl ; DWFILL; // 0x3088 P3R3 VTG Register
/* Video Overlay Control */
volatile DWORD Fill3a[0x3100/4 - 0x3090/4];
/* 3100h */
volatile DWORD VideoOverlayUpdate ; DWFILL; // 0x3100
volatile DWORD VideoOverlayMode ; DWFILL; // 0x3108
volatile DWORD VideoOverlayFifoControl ; DWFILL; // 0x3110
volatile DWORD VideoOverlayIndex ; DWFILL; // 0x3118
volatile DWORD VideoOverlayBase0 ; DWFILL; // 0x3120
volatile DWORD VideoOverlayBase1 ; DWFILL; // 0x3128
volatile DWORD VideoOverlayBase2 ; DWFILL; // 0x3130
volatile DWORD VideoOverlayStride ; DWFILL; // 0x3138
volatile DWORD VideoOverlayWidth ; DWFILL; // 0x3140
volatile DWORD VideoOverlayHeight ; DWFILL; // 0x3148
volatile DWORD VideoOverlayOrigin ; DWFILL; // 0x3150
volatile DWORD VideoOverlayShrinkXDelta ; DWFILL; // 0x3158
volatile DWORD VideoOverlayZoomXDelta ; DWFILL; // 0x3160
volatile DWORD VideoOverlayYDelta ; DWFILL; // 0x3168
volatile DWORD VideoOverlayFieldOffset ; DWFILL; // 0x3170
volatile DWORD VideoOverlayStatus ; DWFILL; // 0x3178
/* External Video Control */
volatile DWORD Fill4[0x4000/4 - 0x3180/4];
/* 4000h */
volatile DWORD ExtVCReg ; DWFILL; // Dac registers
volatile DWORD Fill5[0x5000/4 - 0x4008/4];
union {
volatile DWORD RacerProDWAndStatus ; // 0x5000 Racer Pro Config
volatile DWORD P2ExtVCReg ; // 0x5000 P2 External Dac
}; DWFILL;
volatile DWORD Fill5a[0x5800/4 - 0x5008/4];
/* 5800h (Video Streams Interface) */
volatile DWORD VSConfiguration ; DWFILL; // 0x5800 PM VidStream Register
volatile DWORD VSStatus ; DWFILL; // 0x5808 PM VidStream Register
volatile DWORD VSSerialBusControl ; DWFILL; // 0x5810 PM I2C Register
volatile DWORD Fill6[0x5900/4 - 0x5818/4];
// Video Stream A Video Data
volatile DWORD VSAControl ; DWFILL; // 0x5900 PM VidStream A Register
volatile DWORD VSAInterruptLine ; DWFILL; // 0x5908 PM VidStream A Register
volatile DWORD VSACurrentLine ; DWFILL; // 0x5910 PM VidStream A Register
volatile DWORD VSAVideoAddressHost ; DWFILL; // 0x5918 PM VidStream A Register
volatile DWORD VSAVideoAddressIndex ; DWFILL; // 0x5920 PM VidStream A Register
volatile DWORD VSAVideoAddress0 ; DWFILL; // 0x5928 PM VidStream A Register
volatile DWORD VSAVideoAddress1 ; DWFILL; // 0x5930 PM VidStream A Register
volatile DWORD VSAVideoAddress2 ; DWFILL; // 0x5938 PM VidStream A Register
volatile DWORD VSAVideoStride ; DWFILL; // 0x5940 PM VidStream A Register
volatile DWORD VSAVideoStartLine ; DWFILL; // 0x5948 PM VidStream A Register
volatile DWORD VSAVideoEndLine ; DWFILL; // 0x5950 PM VidStream A Register
volatile DWORD VSAVideoStartData ; DWFILL; // 0x5958 PM VidStream A Register
volatile DWORD VSAVideoEndData ; DWFILL; // 0x5960 PM VidStream A Register
// Video Stream A VBI Data
volatile DWORD VSAVBIAddressHost ; DWFILL; // 0x5968 PM VidStream A Register
volatile DWORD VSAVBIAddressIndex ; DWFILL; // 0x5970 PM VidStream A Register
volatile DWORD VSAVBIAddress0 ; DWFILL; // 0x5978 PM VidStream A Register
volatile DWORD VSAVBIAddress1 ; DWFILL; // 0x5980 PM VidStream A Register
volatile DWORD VSAVBIAddress2 ; DWFILL; // 0x5988 PM VidStream A Register
volatile DWORD VSAVBIStride ; DWFILL; // 0x5990 PM VidStream A Register
volatile DWORD VSAVBIStartLine ; DWFILL; // 0x5998 PM VidStream A Register
volatile DWORD VSAVBIEndLine ; DWFILL; // 0x59A0 PM VidStream A Register
volatile DWORD VSAVBIStartData ; DWFILL; // 0x59A8 PM VidStream A Register
volatile DWORD VSAVBIEndData ; DWFILL; // 0x59B0 PM VidStream A Register
volatile DWORD VSAFIFOControl ; DWFILL; // 0x59B8 PM VidStream A Register
// P3 R3 specific VSA registers
volatile DWORD VSATimeStamp0 ; DWFILL; // 0x59C0 P3R3 PM VidStream A Register
volatile DWORD VSATimeStamp1 ; DWFILL; // 0x59C8 P3R3 PM VidStream A Register
volatile DWORD VSATimeStamp2 ; DWFILL; // 0x59D0 P3R3 PM VidStream A Register
volatile DWORD VSADroppedFrames ; DWFILL; // 0x59D8 P3R3 PM VidStream A Register
volatile DWORD Fill7[0x5A00/4 - 0x59E0/4];
// Video Stream B Video Data
volatile DWORD VSBControl ; DWFILL; // 0x5A00 PM VidStream B Register
volatile DWORD VSBInterruptLine ; DWFILL; // 0x5A08 PM VidStream B Register
volatile DWORD VSBCurrentLine ; DWFILL; // 0x5A10 PM VidStream B Register
volatile DWORD VSBVideoAddressHost ; DWFILL; // 0x5A18 PM VidStream B Register
volatile DWORD VSBVideoAddressIndex ; DWFILL; // 0x5A20 PM VidStream B Register
volatile DWORD VSBVideoAddress0 ; DWFILL; // 0x5A28 PM VidStream B Register
volatile DWORD VSBVideoAddress1 ; DWFILL; // 0x5A30 PM VidStream B Register
volatile DWORD VSBVideoAddress2 ; DWFILL; // 0x5A38 PM VidStream B Register
volatile DWORD VSBVideoStride ; DWFILL; // 0x5A40 PM VidStream B Register
volatile DWORD VSBVideoStartLine ; DWFILL; // 0x5A48 PM VidStream B Register
volatile DWORD VSBVideoEndLine ; DWFILL; // 0x5A50 PM VidStream B Register
volatile DWORD VSBVideoStartData ; DWFILL; // 0x5A58 PM VidStream B Register
volatile DWORD VSBVideoEndData ; DWFILL; // 0x5A60 PM VidStream B Register
volatile DWORD VSBVBIAddressHost ; DWFILL; // 0x5A68 PM VidStream B Register
volatile DWORD VSBVBIAddressIndex ; DWFILL; // 0x5A70 PM VidStream B Register
volatile DWORD VSBVBIAddress0 ; DWFILL; // 0x5A78 PM VidStream B Register
volatile DWORD VSBVBIAddress1 ; DWFILL; // 0x5A80 PM VidStream B Register
volatile DWORD VSBVBIAddress2 ; DWFILL; // 0x5A88 PM VidStream B Register
volatile DWORD VSBVBIStride ; DWFILL; // 0x5A90 PM VidStream B Register
volatile DWORD VSBVBIStartLine ; DWFILL; // 0x5A98 PM VidStream B Register
volatile DWORD VSBVBIEndLine ; DWFILL; // 0x5AA0 PM VidStream B Register
volatile DWORD VSBVBIStartData ; DWFILL; // 0x5AA8 PM VidStream B Register
volatile DWORD VSBVBIEndData ; DWFILL; // 0x5AB0 PM VidStream B Register
volatile DWORD VSBFIFOControl ; DWFILL; // 0x5AB8 PM VidStream B Register
// P3 R3 specific VS registers
volatile DWORD VSDMAMode ; DWFILL; // 0x5AC0 P3R3 PM VidStream A Register
volatile DWORD VSDMACommandBase ; DWFILL; // 0x5AC8 P3R3 PM VidStream A Register
volatile DWORD VSDMACommandCount ; DWFILL; // 0x5AD0 P3R3 PM VidStream A Register
volatile DWORD Fill8[0x6000/4 - 0x5AD8/4];
/* 6000h */
volatile DWORD ExtBrdReg ; DWFILL;
volatile DWORD VRAMBankSwitch ; DWFILL;
volatile DWORD Fill9[0x63C0/4 - 0x6010/4] ;
WFILL; // 0x63c0
volatile BYTE WriteMiscOutputReg ; // 0x63c2
volatile BYTE Fill9a ; // 0x63c3
union {
volatile WORD VGASequencerReg ; // 0x63c4
struct {
volatile BYTE VGASequencerIndexReg ; // 0x63c4
volatile BYTE VGASequencerDataReg ; // 0x63c5
};
};
WFILL; // 0x63c6
DWFILL; // 0x63c8
volatile BYTE ReadMiscOutputReg ; // 0x63cc
volatile BYTE Fill9b ; WFILL; // 0x63cd
volatile DWORD Fill10[0x7000/4 - 0x63D0/4] ;
volatile DWORD RacerProUBufB ; DWFILL; // 0x7000 Racer Pro config
volatile DWORD Fill10a[0x8000/4 - 0x7008/4];
/* Graphics Processor */
/* 8000h */
volatile DWORD StartXDom ; DWFILL; /* 0 */
volatile DWORD dXDom ; DWFILL; /* 1 */
volatile DWORD StartXSub ; DWFILL; /* 2 */
volatile DWORD dXSub ; DWFILL; /* 3 */
volatile DWORD StartY ; DWFILL; /* 4 */
volatile DWORD dY ; DWFILL; /* 5 */
volatile DWORD Count ; DWFILL; /* 6 */
volatile DWORD Render ; DWFILL; /* 7 */
volatile DWORD ContinueNewLine ; DWFILL; /* 8 */
volatile DWORD ContinueNewDom ; DWFILL; /* 9 */
volatile DWORD ContinueNewSub ; DWFILL; /* A */
volatile DWORD Continue ; DWFILL; /* B */
volatile DWORD FlushSpan ; DWFILL; /* C */
volatile DWORD BitMaskPattern ; DWFILL; /* D */
DWFILL; DWFILL; DWFILL; DWFILL; /* e-f */
/* 8000h+16*8 */
volatile DWORD PointTable0 ; DWFILL; /* 10 */
volatile DWORD PointTable1 ; DWFILL; /* 11 */
volatile DWORD PointTable2 ; DWFILL; /* 12 */
volatile DWORD PointTable3 ; DWFILL; /* 13 */
volatile DWORD RasterizerMode ; DWFILL; /* 14 */
volatile DWORD YLimits ; DWFILL; /* 15 */
volatile DWORD ScanlineOwnership ; DWFILL; /* 16 */
volatile DWORD WaitForCompletion ; DWFILL; /* 17 */
volatile DWORD PixelSize ; DWFILL; /* 18 */
volatile DWORD XLimits ; DWFILL; /* 19 */
volatile DWORD RectangleOrigin ; DWFILL; /* 1a */
volatile DWORD RectangleSize ; DWFILL; /* 1b */
volatile DWORD Fill11[4*2]; /* 1c-1f */
/* 8000h+32*8 */
volatile DWORD CoverageValue ; DWFILL; /* 20 */
volatile DWORD PrepareToRender ; DWFILL; /* 21 */
volatile DWORD ActiveStepX ; DWFILL; /* 22 */
volatile DWORD PassiveStepX ; DWFILL; /* 23 */
volatile DWORD ActiveStepYDomEdge ; DWFILL; /* 24 */
volatile DWORD PassiveStepYDomEdge ; DWFILL; /* 25 */
volatile DWORD FastBlockLimits ; DWFILL; /* 26 */
volatile DWORD FastBlockFill ; DWFILL; /* 27 */
volatile DWORD SubPixelCorrection ; DWFILL; /* 28 */
volatile DWORD ForceBackgroundColor ; DWFILL; /* 29 */
volatile DWORD PackedDataLimits ; DWFILL; /* 2a */
volatile DWORD SpanStepX ; DWFILL; /* 2b */
volatile DWORD SpanStepYDomEdge ; DWFILL; /* 2c */
volatile DWORD SpanMask ; DWFILL; /* 2d */
volatile DWORD SuspendReads ; DWFILL; /* 2e */
volatile DWORD Fill12[1*2]; /* 2f */
/* 8000h+48*8 */
volatile DWORD ScissorMode ; DWFILL; /* 30 */
volatile DWORD ScissorMinXY ; DWFILL; /* 31 */
volatile DWORD ScissorMaxXY ; DWFILL; /* 32 */
volatile DWORD ScreenSize ; DWFILL; /* 33 */
volatile DWORD AreaStippleMode ; DWFILL; /* 34 */
volatile DWORD LineStippleMode ; DWFILL; /* 35 */
volatile DWORD LoadLineStippleCounters ; DWFILL; /* 36 */
volatile DWORD UpdateLineStippleCounters ; DWFILL; /* 37 */
volatile DWORD SaveLineStippleCounters ; DWFILL; /* 38 */
volatile DWORD WindowOrigin ; DWFILL; /* 39 */
volatile DWORD Fill13[6*2]; /* 3a-3f */
/* 8000h+64*8 */
volatile DWORD AreaStipplePattern0 ; DWFILL; /* 40 */
volatile DWORD AreaStipplePattern1 ; DWFILL; /* 41 */
volatile DWORD AreaStipplePattern2 ; DWFILL; /* 42 */
volatile DWORD AreaStipplePattern3 ; DWFILL; /* 43 */
volatile DWORD AreaStipplePattern4 ; DWFILL; /* 44 */
volatile DWORD AreaStipplePattern5 ; DWFILL; /* 45 */
volatile DWORD AreaStipplePattern6 ; DWFILL; /* 46 */
volatile DWORD AreaStipplePattern7 ; DWFILL; /* 47 */
volatile DWORD AreaStipplePattern8 ; DWFILL; /* 48 */
volatile DWORD AreaStipplePattern9 ; DWFILL; /* 49 */
volatile DWORD AreaStipplePattern10 ; DWFILL; /* 4a */
volatile DWORD AreaStipplePattern11 ; DWFILL; /* 4b */
volatile DWORD AreaStipplePattern12 ; DWFILL; /* 4c */
volatile DWORD AreaStipplePattern13 ; DWFILL; /* 4d */
volatile DWORD AreaStipplePattern14 ; DWFILL; /* 4e */
volatile DWORD AreaStipplePattern15 ; DWFILL; /* 4f */
volatile DWORD AreaStipplePattern16 ; DWFILL; /* 50 */
volatile DWORD AreaStipplePattern17 ; DWFILL; /* 51 */
volatile DWORD AreaStipplePattern18 ; DWFILL; /* 52 */
volatile DWORD AreaStipplePattern19 ; DWFILL; /* 53 */
volatile DWORD AreaStipplePattern20 ; DWFILL; /* 54 */
volatile DWORD AreaStipplePattern21 ; DWFILL; /* 55 */
volatile DWORD AreaStipplePattern22 ; DWFILL; /* 56 */
volatile DWORD AreaStipplePattern23 ; DWFILL; /* 57 */
volatile DWORD AreaStipplePattern24 ; DWFILL; /* 58 */
volatile DWORD AreaStipplePattern25 ; DWFILL; /* 59 */
volatile DWORD AreaStipplePattern26 ; DWFILL; /* 5a */
volatile DWORD AreaStipplePattern27 ; DWFILL; /* 5b */
volatile DWORD AreaStipplePattern28 ; DWFILL; /* 5c */
volatile DWORD AreaStipplePattern29 ; DWFILL; /* 5d */
volatile DWORD AreaStipplePattern30 ; DWFILL; /* 5e */
volatile DWORD AreaStipplePattern31 ; DWFILL; /* 5f */
volatile DWORD Fill14[16*2]; /* 60-6f */
volatile DWORD TextureAddressMode ; DWFILL; /* 70 */
volatile DWORD SStart ; DWFILL; /* 71 */
volatile DWORD dSdx ; DWFILL; /* 72 */
volatile DWORD dSdyDom ; DWFILL; /* 73 */
volatile DWORD TStart ; DWFILL; /* 74 */
volatile DWORD dTdx ; DWFILL; /* 75 */
volatile DWORD dTdyDom ; DWFILL; /* 76 */
volatile DWORD QStart ; DWFILL; /* 77 */
volatile DWORD dQdx ; DWFILL; /* 78 */
volatile DWORD dQdyDom ; DWFILL; /* 79 */
volatile DWORD LOD ; DWFILL; /* 7a */
volatile DWORD dSdy ; DWFILL; /* 7b */
volatile DWORD dTdy ; DWFILL; /* 7c */
volatile DWORD dQdy ; DWFILL; /* 7d */
volatile DWORD Fill15[2*2]; /* 7e-7f */
union {
volatile DWORD TextureAddress ;
volatile DWORD S1Start ;
}; DWFILL; /* 80 */
union {
volatile DWORD TexelCoordUV ;
volatile DWORD dS1dx ;
}; DWFILL; /* 81 */
union {
volatile DWORD TexelCoordU ;
volatile DWORD dS1dyDom ;
}; DWFILL; /* 82 */
union {
volatile DWORD TexelCoordV ;
volatile DWORD T1Start ;
}; DWFILL; /* 83 */
volatile DWORD dT1dx ; DWFILL; // [0x084]
volatile DWORD dT1dyDom ; DWFILL; // [0x085]
volatile DWORD Q1Start ; DWFILL; // [0x086]
volatile DWORD dQ1dx ; DWFILL; // [0x087]
volatile DWORD dQ1dyDom ; DWFILL; // [0x088]
volatile DWORD LOD1 ; DWFILL; // [0x089]
volatile DWORD TextureLODBiasS ; DWFILL; // [0x08A]
volatile DWORD TextureLODBiasT ; DWFILL; // [0x08B]
volatile DWORD Fill16[4*2]; /* 8b-8f */
volatile DWORD TxTextureReadMode ; DWFILL; /* 90 */
volatile DWORD TextureFormat ; DWFILL; /* 91 */
volatile DWORD TextureCacheControl ; DWFILL; /* 92 */
volatile DWORD TexelData0 ; DWFILL; /* 93 */
volatile DWORD TexelData1 ; DWFILL; /* 94 */
volatile DWORD BorderColor ; DWFILL; /* 95 */
volatile DWORD LUTData ; DWFILL; /* 96 */
volatile DWORD LUTDataDirect ; DWFILL; /* 97 */
volatile DWORD TexelLUTIndex ; DWFILL; /* 98 */
volatile DWORD TexelLUTData ; DWFILL; /* 99 */
volatile DWORD TexelLUTAddress ; DWFILL; /* 9a */
volatile DWORD TexelLUTTransfer ; DWFILL; /* 9b */
volatile DWORD TextureFilterMode ; DWFILL; /* 9c */
volatile DWORD TextureChromaUpper ; DWFILL; /* 9d */
volatile DWORD TextureChromaLower ; DWFILL; /* 9e */
volatile DWORD BorderColor1 ; DWFILL; /* 9f */
volatile DWORD TxBaseAddr0 ; DWFILL; /* a0 */
volatile DWORD TxBaseAddr1 ; DWFILL; /* a1 */
volatile DWORD TxBaseAddr2 ; DWFILL; /* a2 */
volatile DWORD TxBaseAddr3 ; DWFILL; /* a3 */
volatile DWORD TxBaseAddr4 ; DWFILL; /* a4 */
volatile DWORD TxBaseAddr5 ; DWFILL; /* a5 */
volatile DWORD TxBaseAddr6 ; DWFILL; /* a6 */
volatile DWORD TxBaseAddr7 ; DWFILL; /* a7 */
volatile DWORD TxBaseAddr8 ; DWFILL; /* a8 */
volatile DWORD TxBaseAddr9 ; DWFILL; /* a9 */
volatile DWORD TxBaseAddr10 ; DWFILL; /* aa */
volatile DWORD TxBaseAddr11 ; DWFILL; /* ab */
volatile DWORD TxBaseAddr12 ; DWFILL; /* ac */
volatile DWORD TxBaseAddr13 ; DWFILL; /* ad */
volatile DWORD TxBaseAddr14 ; DWFILL; /* ae */
volatile DWORD TxBaseAddr15 ; DWFILL; /* af */
// volatile DWORD Fill17[4*2]; /* ac-af */
volatile DWORD TextureBaseAddress ; DWFILL; /* b0 Permedia */
volatile DWORD TextureMapFormat ; DWFILL; /* b1 Permedia */
volatile DWORD TextureDataFormat ; DWFILL; /* b2 Permedia */
volatile DWORD TextureMapWidth3 ; DWFILL; // [0x0B3]
volatile DWORD TextureMapWidth4 ; DWFILL; // [0x0B4]
volatile DWORD TextureReadPad ; DWFILL; /* b5 Permedia */
volatile DWORD TextureMapWidth6 ; DWFILL; // [0x0B6]
volatile DWORD TextureMapWidth7 ; DWFILL; // [0x0B7]
volatile DWORD TextureMapWidth8 ; DWFILL; // [0x0B8]
volatile DWORD TextureMapWidth9 ; DWFILL; // [0x0B9]
volatile DWORD TextureMapWidth10 ; DWFILL; // [0x0BA]
volatile DWORD TextureMapWidth11 ; DWFILL; // [0x0BB]
volatile DWORD TextureMapWidth12 ; DWFILL; // [0x0BC]
volatile DWORD TextureMapWidth13 ; DWFILL; // [0x0BD]
volatile DWORD TextureMapWidth14 ; DWFILL; // [0x0BE]
volatile DWORD TextureMapWidth15 ; DWFILL; // [0x0BF]
/* 8000+192*8 */
union {
volatile DWORD Texel0 ;
volatile DWORD TextureChromaUpper1 ;
}; DWFILL; /* c0 */
union {
volatile DWORD Texel1 ;
volatile DWORD TextureChromaLower1 ;
}; DWFILL; /* c1 */
volatile DWORD Texel2 ; DWFILL; /* c2 */
volatile DWORD Texel3 ; DWFILL; /* c3 */
volatile DWORD Texel4 ; DWFILL; /* c4 */
volatile DWORD Texel5 ; DWFILL; /* c5 */
volatile DWORD Texel6 ; DWFILL; /* c6 */
volatile DWORD Texel7 ; DWFILL; /* c7 */
volatile DWORD Interp0 ; DWFILL; /* c8 */
volatile DWORD Interp1 ; DWFILL; /* c9 */
volatile DWORD Interp2 ; DWFILL; /* ca */
volatile DWORD Interp3 ; DWFILL; /* cb */
volatile DWORD Interp4 ; DWFILL; /* cc */
volatile DWORD TextureFilter ; DWFILL; /* cd */
volatile DWORD FxTextureReadMode ; DWFILL; /* ce */
volatile DWORD TextureLUTMode ; DWFILL; /* cf */
/* 8000h+208*8 */
volatile DWORD TextureColorMode ; DWFILL; /* d0 */
volatile DWORD TextureEnvColor ; DWFILL; /* d1 */
volatile DWORD FogMode ; DWFILL; /* d2 */
volatile DWORD FogColor ; DWFILL; /* d3 */
volatile DWORD FStart ; DWFILL; /* d4 */
volatile DWORD dFdx ; DWFILL; /* d5 */
volatile DWORD dFdyDom ; DWFILL; /* d6 */
union {
volatile DWORD TextureKd ;
volatile DWORD ZFogBias ;
}; DWFILL; /* d7 */
volatile DWORD TextureKs ; DWFILL; /* d8 */
volatile DWORD KsStart ; DWFILL; /* d9 */
volatile DWORD dKsdx ; DWFILL; /* da */
volatile DWORD dKsdyDom ; DWFILL; /* db */
volatile DWORD KdStart ; DWFILL; /* dc */
volatile DWORD dKddx ; DWFILL; /* dd */
volatile DWORD dKddyDom ; DWFILL; /* de */
DWFILL; DWFILL; /* df */
volatile DWORD Fill20[16*2]; /* e0-ef */
/* 8000h+240*8 */
volatile DWORD RStart ; DWFILL; /* f0 */
volatile DWORD dRdx ; DWFILL; /* f1 */
volatile DWORD dRdyDom ; DWFILL; /* f2 */
volatile DWORD GStart ; DWFILL; /* f3 */
volatile DWORD dGdx ; DWFILL; /* f4 */
volatile DWORD dGdyDom ; DWFILL; /* f5 */
volatile DWORD BStart ; DWFILL; /* f6 */
volatile DWORD dBdx ; DWFILL; /* f7 */
volatile DWORD dBdyDom ; DWFILL; /* f8 */
volatile DWORD AStart ; DWFILL; /* f9 */
volatile DWORD dAdx ; DWFILL; /* fa */
volatile DWORD dAdyDom ; DWFILL; /* fb */
volatile DWORD ColorDDAMode ; DWFILL; /* fc */
volatile DWORD ConstantColor ; DWFILL; /* fd */
volatile DWORD Color ; DWFILL; /* fe */
DWFILL; DWFILL; /* ff */
/* 8000h+256*8 */
volatile DWORD AlphaTestMode ; DWFILL; /* 100 */
volatile DWORD AntialiasMode ; DWFILL; /* 101 */
volatile DWORD AlphaBlendMode ; DWFILL; /* 102 */
volatile DWORD DitherMode ; DWFILL; /* 103 */
volatile DWORD FBSoftwareWriteMask ; DWFILL; /* 104 */
volatile DWORD LogicalOpMode ; DWFILL; /* 105 */
volatile DWORD FBWriteData ; DWFILL; /* 105 */
volatile DWORD FBCancelWrite ; DWFILL; /* 107 */
union {
volatile DWORD ActiveColorStepX ; /* 108 */
volatile DWORD RouterMode ; /* 108 */
}; DWFILL;
volatile DWORD ActiveColorStepYDomEdge ; DWFILL; /* 109 */
volatile DWORD Fill21[6*2]; /* 10a-10f */
/* 8000h+272*8 */
volatile DWORD LBReadMode ; DWFILL; /* 110 */
volatile DWORD LBReadFormat ; DWFILL; /* 111 */
volatile DWORD LBSourceOffset ; DWFILL; /* 112 */
volatile DWORD LBData ; DWFILL; /* 113 */
volatile DWORD LBSourceData ; DWFILL; /* 114 */
volatile DWORD LBStencil ; DWFILL; /* 115 */
volatile DWORD LBDepth ; DWFILL; /* 116 */
volatile DWORD LBWindowBase ; DWFILL; /* 117 */
volatile DWORD LBWriteMode ; DWFILL; /* 118 */
volatile DWORD LBWriteFormat ; DWFILL; /* 119 */
volatile DWORD LBWriteBase ; DWFILL; /* 11a */
volatile DWORD LBWriteConfig ; DWFILL; /* 11b */
volatile DWORD LBReadPad ; DWFILL; /* 11c */
volatile DWORD TextureData ; DWFILL; /* 11d */
volatile DWORD TextureDownloadOffset ; DWFILL; /* 11e */
volatile DWORD LBWindowOffset ; DWFILL; /* 11f */
volatile DWORD HostInID ; DWFILL; /* 120 */
volatile DWORD Security ; DWFILL; /* 121 */
volatile DWORD FlushWriteCombining ; DWFILL; /* 122 */
volatile DWORD HostInState ; DWFILL; /* 123 */
volatile DWORD HostInIndex0 ; DWFILL; /* 124 */
volatile DWORD HostInIndex1 ; DWFILL; /* 125 */
volatile DWORD HostInIndex2 ; DWFILL; /* 126 */
volatile DWORD HostInDMAAddress ; DWFILL; /* 127 */
volatile DWORD HostInState2 ; DWFILL; /* 128 */
volatile DWORD Fill22[7*2]; /* 129-12f */
/* 8000h+304*8 */
volatile DWORD Window ; DWFILL; /* 130 */
volatile DWORD StencilMode ; DWFILL; /* 131 */
volatile DWORD StencilData ; DWFILL; /* 132 */
volatile DWORD Stencil ; DWFILL; /* 133 */
volatile DWORD DepthMode ; DWFILL; /* 134 */
volatile DWORD Depth ; DWFILL; /* 135 */
volatile DWORD ZStartU ; DWFILL; /* 136 */
volatile DWORD ZStartL ; DWFILL; /* 137 */
volatile DWORD dZdxU ; DWFILL; /* 138 */
volatile DWORD dZdxL ; DWFILL; /* 139 */
volatile DWORD dZdyDomU ; DWFILL; /* 13a */
volatile DWORD dZdyDomL ; DWFILL; /* 13b */
volatile DWORD FastClearDepth ; DWFILL; /* 13c */
volatile DWORD LBCancelWrite ; DWFILL; /* 13d */
volatile DWORD LBWriteData ; DWFILL; /* 13e */
DWFILL; DWFILL; /* 13f */
volatile DWORD Fill23[16*2]; /* 140-14f */
/* 8000h+336*8 */
volatile DWORD FBReadMode ; DWFILL; /* 150 */
volatile DWORD FBSourceOffset ; DWFILL; /* 151 */
volatile DWORD FBPixelOffset ; DWFILL; /* 152 */
volatile DWORD FBColor ; DWFILL; /* 153 */
volatile DWORD FBData ; DWFILL; /* 154 */
volatile DWORD FBSourceData ; DWFILL; /* 155 */
volatile DWORD FBWindowBase ; DWFILL; /* 156 */
volatile DWORD FBWriteMode ; DWFILL; /* 157 */
volatile DWORD FBHardwareWriteMask ; DWFILL; /* 158 */
volatile DWORD FBBlockColor ; DWFILL; /* 159 */
volatile DWORD FBReadPixel ; DWFILL; /* 15a */
volatile DWORD FBWritePixel ; DWFILL; /* 15b */
volatile DWORD FBWriteBase ; DWFILL; /* 15c */
volatile DWORD FBWriteConfig ; DWFILL; /* 15d */
volatile DWORD FBReadPad ; DWFILL; /* 15e */
volatile DWORD PatternRAMMode ; DWFILL; /* 15f */
volatile DWORD PatternRamData0 ; DWFILL; /* 160 */
volatile DWORD PatternRamData1 ; DWFILL; /* 161 */
volatile DWORD PatternRamData2 ; DWFILL; /* 162 */
volatile DWORD PatternRamData3 ; DWFILL; /* 163 */
volatile DWORD PatternRamData4 ; DWFILL; /* 164 */
volatile DWORD PatternRamData5 ; DWFILL; /* 165 */
volatile DWORD PatternRamData6 ; DWFILL; /* 166 */
volatile DWORD PatternRamData7 ; DWFILL; /* 167 */
volatile DWORD PatternRamData8 ; DWFILL; /* 168 */
volatile DWORD PatternRamData9 ; DWFILL; /* 169 */
volatile DWORD PatternRamData10 ; DWFILL; /* 16a */
volatile DWORD PatternRamData11 ; DWFILL; /* 16b */
volatile DWORD PatternRamData12 ; DWFILL; /* 16c */
volatile DWORD PatternRamData13 ; DWFILL; /* 16d */
volatile DWORD PatternRamData14 ; DWFILL; /* 16e */
volatile DWORD PatternRamData15 ; DWFILL; /* 16f */
volatile DWORD PatternRamData16 ; DWFILL; /* 170 */
volatile DWORD PatternRamData17 ; DWFILL; /* 171 */
volatile DWORD PatternRamData18 ; DWFILL; /* 172 */
volatile DWORD PatternRamData19 ; DWFILL; /* 173 */
volatile DWORD PatternRamData20 ; DWFILL; /* 174 */
volatile DWORD PatternRamData21 ; DWFILL; /* 175 */
volatile DWORD PatternRamData22 ; DWFILL; /* 176 */
volatile DWORD PatternRamData23 ; DWFILL; /* 177 */
volatile DWORD PatternRamData24 ; DWFILL; /* 178 */
volatile DWORD PatternRamData25 ; DWFILL; /* 179 */
volatile DWORD PatternRamData26 ; DWFILL; /* 17a */
volatile DWORD PatternRamData27 ; DWFILL; /* 17b */
volatile DWORD PatternRamData28 ; DWFILL; /* 17c */
volatile DWORD PatternRamData29 ; DWFILL; /* 17d */
volatile DWORD PatternRamData30 ; DWFILL; /* 17e */
volatile DWORD PatternRamData31 ; DWFILL; /* 17f */
/* 8000h+384*8 */
volatile DWORD FilterMode ; DWFILL; /* 180 */
volatile DWORD StatisticMode ; DWFILL; /* 181 */
volatile DWORD MinRegion ; DWFILL; /* 182 */
volatile DWORD MaxRegion ; DWFILL; /* 183 */
volatile DWORD ResetPickResult ; DWFILL; /* 184 */
volatile DWORD MinHitRegion ; DWFILL; /* 185 */
volatile DWORD MaxHitRegion ; DWFILL; /* 186 */
volatile DWORD PickResult ; DWFILL; /* 187 */
volatile DWORD Sync ; DWFILL; /* 188 */
volatile DWORD RLEMask ; DWFILL; // [0x189]
DWFILL; DWFILL; /* 18a */
volatile DWORD FBBlockColorBackU ; DWFILL; // [0x18B]
volatile DWORD FBBlockColorBackL ; DWFILL; // [0x18C]
volatile DWORD FBBlockColorUpper ; DWFILL; /* 18d */
volatile DWORD FBBlockColorLower ; DWFILL; /* 18e */
volatile DWORD SuspendUntilFrameBlank ; DWFILL; /* 18f */
volatile DWORD KsRStart ; DWFILL; /* 190 */
volatile DWORD dKsRdx ; DWFILL; /* 191 */
volatile DWORD dKsRdyDom ; DWFILL; /* 192 */
volatile DWORD KsGStart ; DWFILL; /* 193 */
volatile DWORD dKsGdx ; DWFILL; /* 194 */
volatile DWORD dKsGdyDom ; DWFILL; /* 195 */
volatile DWORD KsBStart ; DWFILL; /* 196 */
volatile DWORD dKsBdx ; DWFILL; /* 197 */
volatile DWORD dKsBdyDom ; DWFILL; /* 198 */
volatile DWORD Fill24[7*2]; /* 199-19f */
volatile DWORD KdRStart ; DWFILL; /* 1a0 */
volatile DWORD dKdRdx ; DWFILL; /* 1a1 */
volatile DWORD dKdRdyDom ; DWFILL; /* 1a2 */
volatile DWORD KdGStart ; DWFILL; /* 1a3 */
volatile DWORD dKdGdx ; DWFILL; /* 1a4 */
volatile DWORD dKdGdyDom ; DWFILL; /* 1a5 */
volatile DWORD KdBStart ; DWFILL; /* 1a6 */
volatile DWORD dKdBdx ; DWFILL; /* 1a7 */
volatile DWORD dKdBdyDom ; DWFILL; /* 1a8 */
volatile DWORD Fill25[15*2]; /* 1a9-1b7 */
volatile DWORD ContextDump ; DWFILL; // 0x1b8
volatile DWORD ContextRestore ; DWFILL; // 0x1b9
volatile DWORD ContextData ; DWFILL; // 0x1ba
volatile DWORD Fill25a[21*2]; /* 1bb-1cf */
volatile DWORD TexelLUT0 ; DWFILL; /* 1d0 */
volatile DWORD TexelLUT1 ; DWFILL; /* 1d1 */
volatile DWORD TexelLUT2 ; DWFILL; /* 1d2 */
volatile DWORD TexelLUT3 ; DWFILL; /* 1d3 */
volatile DWORD TexelLUT4 ; DWFILL; /* 1d4 */
volatile DWORD TexelLUT5 ; DWFILL; /* 1d5 */
volatile DWORD TexelLUT6 ; DWFILL; /* 1d6 */
volatile DWORD TexelLUT7 ; DWFILL; /* 1d7 */
volatile DWORD TexelLUT8 ; DWFILL; /* 1d8 */
volatile DWORD TexelLUT9 ; DWFILL; /* 1d9 */
volatile DWORD TexelLUT10 ; DWFILL; /* 1da */
volatile DWORD TexelLUT11 ; DWFILL; /* 1db */
volatile DWORD TexelLUT12 ; DWFILL; /* 1dc */
volatile DWORD TexelLUT13 ; DWFILL; /* 1dd */
volatile DWORD TexelLUT14 ; DWFILL; /* 1de */
volatile DWORD TexelLUT15 ; DWFILL; /* 1df */
volatile DWORD YUVMode ; DWFILL; /* 1e0 */
volatile DWORD ChromaUpperBound ; DWFILL; /* 1e1 */
volatile DWORD ChromaLowerBound ; DWFILL; /* 1e2 */
volatile DWORD ChromaTestMode ; DWFILL; /* 1e3 */
volatile DWORD Fill26[28*2]; /* 1e4-1ff */
/* 8000h+512*8 DELTA specific */
union {
volatile DWORD V0Fixed0 ; // Glint Delta
volatile DWORD V0FloatS1 ; }; // Permedia3 Delta
DWFILL; /* 0x200 */
union {
volatile DWORD V0Fixed1 ;
volatile DWORD V0FloatT1 ; };
DWFILL; /* 0x201 */
union {
volatile DWORD V0Fixed2 ;
volatile DWORD V0FloatQ1 ; };
DWFILL; /* 0x202 */
volatile DWORD V0Fixed3 ; DWFILL; /* 0x203 */
volatile DWORD V0Fixed4 ; DWFILL; /* 0x204 */
volatile DWORD V0Fixed5 ; DWFILL; /* 0x205 */
volatile DWORD V0Fixed6 ; DWFILL; /* 0x206 */
volatile DWORD V0Fixed7 ; DWFILL; /* 0x207 */
volatile DWORD V0Fixed8 ; DWFILL; /* 0x208 */
volatile DWORD V0Fixed9 ; DWFILL; /* 0x209 */
union {
volatile DWORD V0FixedA ; // Glint Delta
volatile DWORD V0FloatKsR ; }; // Permedia3 Delta
DWFILL; /* 0x20A */
union {
volatile DWORD V0FixedB ; // Glint Delta
volatile DWORD V0FloatKsG ; }; // Permedia3 Delta
DWFILL; /* 0x20B */
union {
volatile DWORD V0FixedC ; // Glint Delta
volatile DWORD V0FloatKsB ; }; // Permedia3 Delta
DWFILL; /* 0x20C */
volatile DWORD V0FloatKdR ; DWFILL; // [0x20D]
volatile DWORD V0FloatKdG ; DWFILL; // [0x20E]
volatile DWORD V0FloatKdB ; DWFILL; // [0x20F]
// volatile DWORD Fill27[3*2];
union {
volatile DWORD V1Fixed0 ;
volatile DWORD V1FloatS1 ; };
DWFILL; /* 0x210 */
union {
volatile DWORD V1Fixed1 ;
volatile DWORD V1FloatT1 ; };
DWFILL; /* 0x211 */
union {
volatile DWORD V1Fixed2 ;
volatile DWORD V1FloatQ1 ; };
DWFILL; /* 0x212 */
volatile DWORD V1Fixed3 ; DWFILL; /* 0x213 */
volatile DWORD V1Fixed4 ; DWFILL; /* 0x214 */
volatile DWORD V1Fixed5 ; DWFILL; /* 0x215 */
volatile DWORD V1Fixed6 ; DWFILL; /* 0x216 */
volatile DWORD V1Fixed7 ; DWFILL; /* 0x217 */
volatile DWORD V1Fixed8 ; DWFILL; /* 0x218 */
volatile DWORD V1Fixed9 ; DWFILL; /* 0x219 */
union {
volatile DWORD V1FixedA ; // Glint Delta
volatile DWORD V1FloatKsR ; }; // Permedia3 Delta
DWFILL; /* 0x21A */
union {
volatile DWORD V1FixedB ; // Glint Delta
volatile DWORD V1FloatKsG ; }; // Permedia3 Delta
DWFILL; /* 0x21B */
union {
volatile DWORD V1FixedC ; // Glint Delta
volatile DWORD V1FloatKsB ; }; // Permedia3 Delta
DWFILL; /* 0x21C */
volatile DWORD V1FloatKdR ; DWFILL; // [0x21D]
volatile DWORD V1FloatKdG ; DWFILL; // [0x21E]
volatile DWORD V1FloatKdB ; DWFILL; // [0x21F]
// volatile DWORD Fill28[3*2];
union {
volatile DWORD V2Fixed0 ;
volatile DWORD V2FloatS1 ; };
DWFILL; /* 0x220 */
union {
volatile DWORD V2Fixed1 ;
volatile DWORD V2FloatT1 ; };
DWFILL; /* 0x221 */
union {
volatile DWORD V2Fixed2 ;
volatile DWORD V2FloatQ1 ; };
DWFILL; /* 0x222 */
volatile DWORD V2Fixed3 ; DWFILL; /* 0x223 */
volatile DWORD V2Fixed4 ; DWFILL; /* 0x224 */
volatile DWORD V2Fixed5 ; DWFILL; /* 0x225 */
volatile DWORD V2Fixed6 ; DWFILL; /* 0x226 */
volatile DWORD V2Fixed7 ; DWFILL; /* 0x227 */
volatile DWORD V2Fixed8 ; DWFILL; /* 0x228 */
volatile DWORD V2Fixed9 ; DWFILL; /* 0x229 */
union {
volatile DWORD V2FixedA ; // Glint Delta
volatile DWORD V2FloatKsR ; }; // Permedia3 Delta
DWFILL; /* 0x22A */
union {
volatile DWORD V2FixedB ; // Glint Delta
volatile DWORD V2FloatKsG ; }; // Permedia3 Delta
DWFILL; /* 0x22B */
union {
volatile DWORD V2FixedC ; // Glint Delta
volatile DWORD V2FloatKsB ; }; // Permedia3 Delta
DWFILL; /* 0x22C */
volatile DWORD V2FloatKdR ; DWFILL; // [0x22D]
volatile DWORD V2FloatKdG ; DWFILL; // [0x22E]
volatile DWORD V2FloatKdB ; DWFILL; // [0x22F]
// volatile DWORD Fill29[3*2];
union {
volatile DWORD V0Float0 ; // Glint Delta
volatile DWORD V0FloatS ; }; // Permedia3 Delta
DWFILL; /* 0x230 */
union {
volatile DWORD V0Float1 ; // Glint Delta
volatile DWORD V0FloatT ; }; // Permedia3 Delta
DWFILL; /* 0x231 */
union {
volatile DWORD V0Float2 ; // Glint Delta
volatile DWORD V0FloatQ ; }; // Permedia3 Delta
DWFILL; /* 0x232 */
volatile DWORD V0Float3 ; DWFILL; /* 0x233 */
volatile DWORD V0Float4 ; DWFILL; /* 0x234 */
union {
volatile DWORD V0Float5 ;
volatile DWORD V0FloatR ; };
DWFILL; /* 0x235 */
union {
volatile DWORD V0Float6 ;
volatile DWORD V0FloatG ; };
DWFILL; /* 0x236 */
union {
volatile DWORD V0Float7 ;
volatile DWORD V0FloatBlue ; };
DWFILL; /* 0x237 */
union {
volatile DWORD V0Float8 ;
volatile DWORD V0FloatAlpha ; };
DWFILL; /* 0x238 */
union {
volatile DWORD V0Float9 ;
volatile DWORD V0FloatF ; };
DWFILL; /* 0x239 */
union {
volatile DWORD V0FloatA ;
volatile DWORD V0FloatX ; };
DWFILL; /* 0x23a */
union {
volatile DWORD V0FloatB ;
volatile DWORD V0FloatY ; };
DWFILL; /* 0x23b */
union {
volatile DWORD V0FloatC ;
volatile DWORD V0FloatZ ; };
DWFILL; /* 0x23c */
volatile DWORD V0FloatW ; DWFILL; // [0x23D]
volatile DWORD V0FloatPackedColour ; DWFILL; // [0x23E]
volatile DWORD V0FloatPackedSpecularFog ; DWFILL; // [0x23F]
// volatile DWORD Fill30[3*2];
union {
volatile DWORD V1Float0 ; // Glint Delta
volatile DWORD V1FloatS ; }; // Permedia3 Delta
DWFILL; /* 0x240 */
union {
volatile DWORD V1Float1 ; // Glint Delta
volatile DWORD V1FloatT ; }; // Permedia3 Delta
DWFILL; /* 0x241 */
union {
volatile DWORD V1Float2 ; // Glint Delta
volatile DWORD V1FloatQ ; }; // Permedia3 Delta
DWFILL; /* 0x242 */
volatile DWORD V1Float3 ; DWFILL; /* 0x243 */
volatile DWORD V1Float4 ; DWFILL; /* 0x244 */
union {
volatile DWORD V1Float5 ;
volatile DWORD V1FloatR ; };
DWFILL; /* 0x245 */
union {
volatile DWORD V1Float6 ;
volatile DWORD V1FloatG ; };
DWFILL; /* 0x246 */
union {
volatile DWORD V1Float7 ;
volatile DWORD V1FloatBlue ; };
DWFILL; /* 0x247 */
union {
volatile DWORD V1Float8 ;
volatile DWORD V1FloatAlpha ; };
DWFILL; /* 0x248 */
union {
volatile DWORD V1Float9 ;
volatile DWORD V1FloatF ; };
DWFILL; /* 0x249 */
union {
volatile DWORD V1FloatA ;
volatile DWORD V1FloatX ; };
DWFILL; /* 0x24a */
union {
volatile DWORD V1FloatB ;
volatile DWORD V1FloatY ; };
DWFILL; /* 0x24b */
union {
volatile DWORD V1FloatC ;
volatile DWORD V1FloatZ ; };
DWFILL; /* 0x24c */
volatile DWORD V1FloatW ; DWFILL; // [0x24D]
volatile DWORD V1FloatPackedColour ; DWFILL; // [0x24E]
volatile DWORD V1FloatPackedSpecularFog ; DWFILL; // [0x24F]
// volatile DWORD Fill31[3*2];
union {
volatile DWORD V2Float0 ; // Glint Delta
volatile DWORD V2FloatS ; }; // Permedia3 Delta
DWFILL; /* 0x250 */
union {
volatile DWORD V2Float1 ; // Glint Delta
volatile DWORD V2FloatT ; }; // Permedia3 Delta
DWFILL; /* 0x251 */
union {
volatile DWORD V2Float2 ; // Glint Delta
volatile DWORD V2FloatQ ; }; // Permedia3 Delta
DWFILL; /* 0x252 */
volatile DWORD V2Float3 ; DWFILL; /* 0x253 */
volatile DWORD V2Float4 ; DWFILL; /* 0x254 */
union {
volatile DWORD V2Float5 ;
volatile DWORD V2FloatR ; };
DWFILL; /* 0x255 */
union {
volatile DWORD V2Float6 ;
volatile DWORD V2FloatG ; };
DWFILL; /* 0x256 */
union {
volatile DWORD V2Float7 ;
volatile DWORD V2FloatBlue ; };
DWFILL; /* 0x257 */
union {
volatile DWORD V2Float8 ;
volatile DWORD V2FloatAlpha ; };
DWFILL; /* 0x258 */
union {
volatile DWORD V2Float9 ;
volatile DWORD V2FloatF ; };
DWFILL; /* 0x259 */
union {
volatile DWORD V2FloatA ;
volatile DWORD V2FloatX ; };
DWFILL; /* 0x25a */
union {
volatile DWORD V2FloatB ;
volatile DWORD V2FloatY ; };
DWFILL; /* 0x25b */
union {
volatile DWORD V2FloatC ;
volatile DWORD V2FloatZ ; };
DWFILL; /* 0x25c */
volatile DWORD V2FloatW ; DWFILL; // [0x25D]
volatile DWORD V2FloatPackedColour ; DWFILL; // [0x25E]
volatile DWORD V2FloatPackedSpecularFog ; DWFILL; // [0x25F]
// volatile DWORD Fill32[3*2];
volatile DWORD DeltaMode ; DWFILL; /* 0x260 */
volatile DWORD DrawTriangle ; DWFILL; /* 0x261 */
volatile DWORD RepeatTriangle ; DWFILL; /* 0x262 */
volatile DWORD DrawLine01 ; DWFILL; /* 0x263 */
volatile DWORD DrawLine10 ; DWFILL; /* 0x264 */
volatile DWORD RepeatLine ; DWFILL; /* 0x265 */
DWFILL; DWFILL; // 0x266
volatile DWORD ProvokingVertex ; DWFILL; // [0x267]
volatile DWORD TextureLODScale ; DWFILL; // [0x268]
volatile DWORD TextureLODScale1 ; DWFILL; // [0x269]
volatile DWORD DeltaControl ; DWFILL; // [0x26A]
volatile DWORD ProvokingVertexMask ; DWFILL; // [0x26B]
volatile DWORD Fill33[3*2];
volatile DWORD BroadcastMask ; DWFILL; /* 0x26F */
volatile DWORD Fill34[(0x530-0x270)*2];
volatile DWORD QDMAAddress ; DWFILL; /* 0x530 */
volatile DWORD QDMACount ; DWFILL; /* 0x531 */
volatile DWORD Fill35[(0x53f-0x532)*2];
volatile DWORD QDMAContinue ; DWFILL; /* 0x53f */
// PERMEDIA 3 Registers - Added Jan99 Mark Cresswell
volatile DWORD Fill36[(0x5d0-0x540)*2];
volatile DWORD FBDestReadBufferAddr0 ; DWFILL; // [0x5D0]
volatile DWORD FBDestReadBufferAddr1 ; DWFILL; // [0x5D1]
volatile DWORD FBDestReadBufferAddr2 ; DWFILL; // [0x5D2]
volatile DWORD FBDestReadBufferAddr3 ; DWFILL; // [0x5D3]
volatile DWORD FBDestReadBufferOffset0 ; DWFILL; // [0x5D4]
volatile DWORD FBDestReadBufferOffset1 ; DWFILL; // [0x5D5]
volatile DWORD FBDestReadBufferOffset2 ; DWFILL; // [0x5D6]
volatile DWORD FBDestReadBufferOffset3 ; DWFILL; // [0x5D7]
volatile DWORD FBDestReadBufferWidth0 ; DWFILL; // [0x5D8]
volatile DWORD FBDestReadBufferWidth1 ; DWFILL; // [0x5D9]
volatile DWORD FBDestReadBufferWidth2 ; DWFILL; // [0x5DA]
volatile DWORD FBDestReadBufferWidth3 ; DWFILL; // [0x5DB]
volatile DWORD FBDestReadMode ; DWFILL; // [0x5DC]
volatile DWORD FBDestReadEnables ; DWFILL; // [0x5DD]
volatile DWORD Fill37[(0x5e0-0x5de)*2];
volatile DWORD FBSourceReadMode ; DWFILL; // [0x5E0]
volatile DWORD FBSourceReadBufferAddr ; DWFILL; // [0x5E1]
volatile DWORD FBSourceReadBufferOffset ; DWFILL; // [0x5E2]
volatile DWORD FBSourceReadBufferWidth ; DWFILL; // [0x5E3]
volatile DWORD Fill38[(0x5e8-0x5e4)*2];
volatile DWORD PCIWindowBase0 ; DWFILL; // [0x5E8]
volatile DWORD PCIWindowBase1 ; DWFILL; // [0x5E9]
volatile DWORD PCIWindowBase2 ; DWFILL; // [0x5EA]
volatile DWORD PCIWindowBase3 ; DWFILL; // [0x5EB]
volatile DWORD PCIWindowBase4 ; DWFILL; // [0x5EC]
volatile DWORD PCIWindowBase5 ; DWFILL; // [0x5ED]
volatile DWORD PCIWindowBase6 ; DWFILL; // [0x5EE]
volatile DWORD PCIWindowBase7 ; DWFILL; // [0x5EF]
volatile DWORD AlphaSourceColor ; DWFILL; // [0x5F0]
volatile DWORD AlphaDestColor ; DWFILL; // [0x5F1]
volatile DWORD ChromaPassColor ; DWFILL; // [0x5F2]
volatile DWORD ChromaFailColor ; DWFILL; // [0x5F3]
volatile DWORD AlphaBlendColorMode ; DWFILL; // [0x5F4]
volatile DWORD AlphaBlendAlphaMode ; DWFILL; // [0x5F5]
volatile DWORD Fill39[(0x600-0x5f6)*2];
volatile DWORD FBWriteBufferAddr0 ; DWFILL; // [0x600]
volatile DWORD FBWriteBufferAddr1 ; DWFILL; // [0x601]
volatile DWORD FBWriteBufferAddr2 ; DWFILL; // [0x602]
volatile DWORD FBWriteBufferAddr3 ; DWFILL; // [0x603]
volatile DWORD FBWriteBufferOffset0 ; DWFILL; // [0x604]
volatile DWORD FBWriteBufferOffset1 ; DWFILL; // [0x605]
volatile DWORD FBWriteBufferOffset2 ; DWFILL; // [0x606]
volatile DWORD FBWriteBufferOffset3 ; DWFILL; // [0x607]
volatile DWORD FBWriteBufferWidth0 ; DWFILL; // [0x608]
volatile DWORD FBWriteBufferWidth1 ; DWFILL; // [0x609]
volatile DWORD FBWriteBufferWidth2 ; DWFILL; // [0x60A]
volatile DWORD FBWriteBufferWidth3 ; DWFILL; // [0x60B]
volatile DWORD Fill40[(0x614-0x60c)*2];
volatile DWORD FBBlockColorBack ; DWFILL; // [0x614]
volatile DWORD Fill41[(0x660-0x615)*2];
volatile DWORD TextureCompositeMode ; DWFILL; // [0x660]
volatile DWORD TextureCompositeColorMode0 ; DWFILL; // [0x661]
volatile DWORD TextureCompositeAlphaMode0 ; DWFILL; // [0x662]
volatile DWORD TextureCompositeColorMode1 ; DWFILL; // [0x663]
volatile DWORD TextureCompositeAlphaMode1 ; DWFILL; // [0x664]
volatile DWORD TextureCompositeFactor0 ; DWFILL; // [0x665]
volatile DWORD TextureCompositeFactor1 ; DWFILL; // [0x666]
volatile DWORD TextureIndexMode0 ; DWFILL; // [0x667]
volatile DWORD TextureIndexMode1 ; DWFILL; // [0x668]
volatile DWORD LodRange0 ; DWFILL; // [0x669]
volatile DWORD LodRange1 ; DWFILL; // [0x66A]
volatile DWORD Fill42[(0x66f-0x66b)*2];
volatile DWORD LUTMode ; DWFILL; // [0x66F]
volatile DWORD Fill43[(0x680-0x670)*2];
volatile DWORD TextureReadMode0 ; DWFILL; // [0x680]
volatile DWORD TextureReadMode1 ; DWFILL; // [0x681]
volatile DWORD Fill44[(0x685-0x682)*2];
volatile DWORD TextureMapSize ; DWFILL; // [0x685]
volatile DWORD Fill45[(0x690-0x686)*2];
volatile DWORD HeadPhysicalPageAllocation0; DWFILL; // [0x690]
volatile DWORD HeadPhysicalPageAllocation1; DWFILL; // [0x691]
volatile DWORD HeadPhysicalPageAllocation2; DWFILL; // [0x692]
volatile DWORD HeadPhysicalPageAllocation3; DWFILL; // [0x693]
volatile DWORD TailPhysicalPageAllocation0; DWFILL; // [0x694]
volatile DWORD TailPhysicalPageAllocation1; DWFILL; // [0x695]
volatile DWORD TailPhysicalPageAllocation2; DWFILL; // [0x696]
volatile DWORD TailPhysicalPageAllocation3; DWFILL; // [0x697]
volatile DWORD PhysicalPageAllocationTableAddr; DWFILL; // [0x698]
volatile DWORD BasePageOfWorkingSet; DWFILL; // [0x699]
volatile DWORD LogicalTexturePageTableAddr; DWFILL; // [0x69a]
volatile DWORD LogicalTexturePageTableLength; DWFILL; // [0x69b]
volatile DWORD BasePageOfWorkingSetHost; DWFILL; // [0x69c]
volatile DWORD Fill46[(0x6A0-0x69d)*2];
volatile DWORD LBDestReadMode ; DWFILL; // [0x6A0]
volatile DWORD LBDestReadEnables ; DWFILL; // [0x6A1]
volatile DWORD LBDestReadBufferAddr ; DWFILL; // [0x6A2]
volatile DWORD LBDestReadBufferOffset ; DWFILL; // [0x6A3]
volatile DWORD LBSourceReadMode ; DWFILL; // [0x6A4]
volatile DWORD LBSourceReadBufferAddr ; DWFILL; // [0x6A5]
volatile DWORD LBSourceReadBufferOffset ; DWFILL; // [0x6A6]
volatile DWORD GIDMode ; DWFILL; // [0x6A7]
volatile DWORD LBWriteBufferAddr ; DWFILL; // [0x6A8]
volatile DWORD LBWriteBufferOffset ; DWFILL; // [0x6A9]
volatile DWORD LBClearDataL ; DWFILL; // [0x6AA]
volatile DWORD LBClearDataU ; DWFILL; // [0x6AB]
volatile DWORD Fill47[(0x6c0-0x6ac)*2];
volatile DWORD RectanglePosition ; DWFILL; // [0x6C0]
volatile DWORD Fill48[(0x6c2-0x6c1)*2];
volatile DWORD RenderPatchOffset ; DWFILL; // [0x6C2]
volatile DWORD Fill49[(0x6ca-0x6c3)*2];
volatile DWORD DownloadTarget ; DWFILL; // [0x6CA]
volatile DWORD Fill50[(0x6F0-0x6CB)*2];
volatile DWORD QDMAMemoryControl ; DWFILL; // [0x6F0]
} GLREG, *PGLREG, far *FPGLREG;