mirror of https://github.com/lianthony/NT4.0
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
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
|
|
};
|