Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

529 lines
13 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
jaginit.h
Abstract:
Header file for Jaguar screen mode data
Author:
Mark Enstrom
Environment:
--*/
//
// Define Jaguar register values to properly set up each mode.
//
//
// 1280 x 1024 x 8, 60 Hz (Bt485 only)
//
JAGUAR_REG_INIT v1280_1024_8_60[] = {
0x18, // Clock Selector
1, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
102, // Horizontal Blank
11, // Horizontal Begin Sync
57, // Horizontal End Sync
422, // Horizontal Total
32, // Vertical Blank
3, // Vertical Begin Sync
6, // Vertical End Sync
1056, // Vertical Total
0x200,// XFER LENGTH
4, // Vertival Interrupt Line
1280 // Screen X
};
//
// 1280 x 1024 x 8, 72 Hz (Bt485 only) (set to 70 until Bt485 bug fixed)
//
JAGUAR_REG_INIT v1280_1024_8_72[] = {
0x1a, // Clock Selector
1, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
102, // Horizontal Blank
11, // Horizontal Begin Sync
57, // Horizontal End Sync
422, // Horizontal Total
32, // Vertical Blank
3, // Vertical Begin Sync
6, // Vertical End Sync
1056, // Vertical Total
0x200,// XFER LENGTH
4, // Vertival Interrupt Line
1280 // Screen X
};
//
// 1152 x 900 x 8, 72 Hz
//
JAGUAR_REG_INIT v1152_900_8_72[] = {
0x17, // Clock Selector
1, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
84, // Horizontal Blank
7, // Horizontal Begin Sync
44, // Horizontal End Sync
372, // Horizontal Total
48, // Vertical Blank
1, // Vertical Begin Sync
5, // Vertical End Sync
948, // Vertical Total
0x200,// XFER LENGTH
4, // Vertival Interrupt Line
1152 // Screen X
};
//
// 1152 x 900 x 8, 60 Hz
//
JAGUAR_REG_INIT v1152_900_8_60[] = {
0x1e, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
84, // Horizontal Blank
7, // Horizontal Begin Sync
30, // Horizontal End Sync
372, // Horizontal Total
40, // Vertical Blank
1, // Vertical Begin Sync
5, // Vertical End Sync
940, // Vertical Total
0x200,// XFER LENGTH
4, // Vertival Interrupt Line
1152 // Screen X
};
//
// 1152 x 900 x 16, 60 Hz
//
JAGUAR_REG_INIT v1152_900_16_60[] = {
0x1e, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control
0, // TopOfScreen
168, // Horizontal Blank
14, // Horizontal Begin Sync
60, // Horizontal End Sync
744, // Horizontal Total
40, // Vertical Blank
1, // Vertical Begin Sync
5, // Vertical End Sync
940, // Vertical Total
0x200,// XFER LENGTH
4, // Vertival Interrupt Line
2304 // Screen X
};
//
// 1024 x 768 x 16, 72 Hz
//
JAGUAR_REG_INIT v1024_768_16_72[] = {
0x1e, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control
0, // TopOfScreen
166, // Horizontal Blank
22, // Horizontal Begin Sync
92, // Horizontal End Sync
678, // Horizontal Total
38, // Vertical Blank
3, // Vertical Begin Sync
9, // Vertical End Sync
806, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
2048 // Screen X
};
//
// 1024 x 768 x 8, 72 Hz
//
JAGUAR_REG_INIT v1024_768_8_72[] = {
0x1e, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
83, // Horizontal Blank
11, // Horizontal Begin Sync
46, // Horizontal End Sync
339, // Horizontal Total
38, // Vertical Blank
3, // Vertical Begin Sync
9, // Vertical End Sync
806, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1024 // Screen X
};
//
// 1024 x 768 x 16, 60 Hz
//
JAGUAR_REG_INIT v1024_768_16_60[] = {
0x1b, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control
0, // TopOfScreen
144, // Horizontal Blank
32, // Horizontal Begin Sync
80, // Horizontal End Sync
656, // Horizontal Total
45, // Vertical Blank
3, // Vertical Begin Sync
6, // Vertical End Sync
813, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
2048 // Screen X
};
//
// 1024 x 768 x 8, 60 Hz
//
JAGUAR_REG_INIT v1024_768_8_60[] = {
0x1b, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
72, // Horizontal Blank
16, // Horizontal Begin Sync
40, // Horizontal End Sync
328, // Horizontal Total
45, // Vertical Blank
3, // Vertical Begin Sync
6, // Vertical End Sync
813, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1024 // Screen X
};
//
// 800 x 600 x 8, 60 Hz
//
JAGUAR_REG_INIT v800_600_8_60[] = {
0x11, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
52, // Horizontal Blank
4, // Horizontal Begin Sync
16, // Horizontal End Sync
252, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
800 // Screen X
};
//
// 800 x 600 x 8, 72 Hz
//
JAGUAR_REG_INIT v800_600_8_72[] = {
0x13, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
52, // Horizontal Blank
4, // Horizontal Begin Sync
16, // Horizontal End Sync
252, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
800 // Screen X
};
//
// 800 x 600 x 16, 60 Hz
//
JAGUAR_REG_INIT v800_600_16_60[] = {
0x11, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control (16 bpp)
0, // TopOfScreen
104, // Horizontal Blank
8, // Horizontal Begin Sync
32, // Horizontal End Sync
504, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1600 // Screen X
};
//
// 800 x 600 x 16, 72 Hz
//
JAGUAR_REG_INIT v800_600_16_72[] = {
0x13, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control (16 bpp)
0, // TopOfScreen
104, // Horizontal Blank
8, // Horizontal Begin Sync
32, // Horizontal End Sync
504, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1600 // Screen X
};
//
// 800 x 600 x 32, 60 Hz
//
JAGUAR_REG_INIT v800_600_32_60[] = {
0x11, // Clock Selector
0, // Bt485 clock 2x multiply
5, // BitBlt Control (16 bpp)
0, // TopOfScreen
208, // Horizontal Blank
16, // Horizontal Begin Sync
64, // Horizontal End Sync
1008, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
3200 // Screen X
};
//
// 800 x 600 x 32, 72 Hz
//
JAGUAR_REG_INIT v800_600_32_72[] = {
0x13, // Clock Selector
0, // Bt485 clock 2x multiply
5, // BitBlt Control (16 bpp)
0, // TopOfScreen
208, // Horizontal Blank
16, // Horizontal Begin Sync
64, // Horizontal End Sync
1008, // Horizontal Total
28, // Vertical Blank
4, // Vertical Begin Sync
8, // Vertical End Sync
628, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
3200 // Screen X
};
//
// 640 x 480 x 8, 60 Hz
//
JAGUAR_REG_INIT v640_480_8_60[] = {
0xc, // Clock Selector
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
41, // Horizontal Blank
4, // Horizontal Begin Sync
29, // Horizontal End Sync
201, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
640 // Screen X
};
//
// 640 x 480 x 8, 72 Hz
//
JAGUAR_REG_INIT v640_480_8_72[] = {
0xe, // Clock Selectr
0, // Bt485 clock 2x multiply
1, // BitBlt Control
0, // TopOfScreen
41, // Horizontal Blank
4, // Horizontal Begin Sync
29, // Horizontal End Sync
201, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
640 // Screen X
};
//
// 640 x 480 x 16, 60 Hz
//
JAGUAR_REG_INIT v640_480_16_60[] = {
0xc, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control
0, // TopOfScreen
82, // Horizontal Blank
8, // Horizontal Begin Sync
58, // Horizontal End Sync
402, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1280 // Screen X
};
//
// 640 x 480 x 16, 72 Hz
//
JAGUAR_REG_INIT v640_480_16_72[] = {
0xe, // Clock Selector
0, // Bt485 clock 2x multiply
3, // BitBlt Control
0, // TopOfScreen
82, // Horizontal Blank
8, // Horizontal Begin Sync
58, // Horizontal End Sync
402, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
1280 // Screen X
};
//
// 640 x 480 x 32, 60 Hz
//
JAGUAR_REG_INIT v640_480_32_60[] = {
0xc, // Clock Selector
0, // Bt485 clock 2x multiply
5, // BitBlt Control
0, // TopOfScreen
164, // Horizontal Blank
17, // Horizontal Begin Sync
116, // Horizontal End Sync
804, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
2560 // Screen X
};
//
// 640 x 480 x 32, 72 Hz
//
JAGUAR_REG_INIT v640_480_32_72[] = {
0xe, // Clock Selector
0, // Bt485 clock 2x multiply
5, // BitBlt Control
0, // TopOfScreen
164, // Horizontal Blank
17, // Horizontal Begin Sync
116, // Horizontal End Sync
804, // Horizontal Total
45, // Vertical Blank
11, // Vertical Begin Sync
13, // Vertical End Sync
525, // Vertical Total
0x200, // XFER LENGTH
4, // Vertival Interrupt Line
2560 // Screen X
};
//
// Gamma correction table
//
UCHAR Gamma[] = {
// 1.5 2.2 linear
0, // 0, 0 , 0
8, // 26, 54, 1
16, // 41, 73, 2
24, // 53, 88, 3
32, // 65, 101, 4
40, // 75, 111, 5
48, // 85, 121, 6
56, // 94, 130, 7
64, // 103, 138, 8
72, // 111, 145, 9
80, // 119, 152, 0
88, // 127, 159, 1
96, // 135, 166, 2
104,// 142, 172, 3
112,// 149, 178, 4
120,// 156, 183, 5
128,// 163, 189, 6
136,// 170, 194, 7
144,// 177, 199, 8
152,// 183, 205, 9
160,// 189, 209, 0
168,// 196, 214, 1
176,// 202, 218, 2
184,// 208, 223, 3
192,// 214, 227, 4
200,// 220, 231, 5
208,// 226, 235, 6
216,// 231, 239, 7
224,// 237, 243, 8
232,// 243, 247, 9
240,// 248, 251, 0
248,// 255 255 1
};