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.
 
 
 
 
 
 

1416 lines
60 KiB

/*++
Copyright (c) 1992 Digital Equipment Corporation
Module Name:
tgadata.h
Abstract:
This module contains all global mode settings used by the tga driver.
Environment:
Kernel mode
Revision History:
12-Apr-1994 (ritub) Bit 4 in the command Register3 in the Ramdac
set to 1 for differential clock on TGA (Pass 2)
13-Apr-1994 (ritub) Post-scalar bit 12 in the PLL sequence turned
off as a result of going to the differential
clock in TGA (Pass 2).This driver will work
for Tga Pass 2 only.
07-Jun-1994 (ritub) Added Mode 0, 640 x 480 x 60Hz
27-Oct-1994 (macinnes) Add additional modes to TGAModes[].
27-Dec-1994 (macinnes) Reserve a new array for TGA2 pll data.
13-Feb-1995 (macinnes) Add pll values for the TGA2 (av9110)
14-Feb-1995 (macinnes) Remove 1280x1024 75 for now (24-plane),
Microsoft determined it doesn't work.
03-Apr-1995 (macinnes) Remove 1280x1024 75 for now (8-plane),
12-Apr-1995 (macinnes) Reserve seperate arrays for TGA2 8-plane
and 24-plane clock init data.
24-Apr-1995 (macinnes) All the TGA2 8-plane modes have been added
and tested (including 1280x1024 75).
28-Apr-1995 (macinnes) All the TGA2 24-plane modes have been added
and tested.
22-May-1995 (macinnes) Change the parameters for 1280x1024 60hz
to follow OPTION_110 in the SRM console code.
Previously it followed OPTION_108.
Also, modify the TGA 1280x1024 75hz entries
to use the latest pll values from SRM.
30-May-1995 (macinnes) Temporary change to the pll[] entry for
24-plane TGA2 pass 1B boards.
2-Jun-1995 (seitsinger) Modify entry zero in the pll[] table to
fix a cursor and overall screen visual problem
(swimmies - the screen looks like it is coated with
a thin layer of water, making everything wavy).
To fix these problems, ramdac registers 21 and 22
need to be set to C7 and 12, respectively.
--*/
//
// Video mode table - Lists the information about each individual mode
//
TGA_VIDEO_MODES TGAModes[] = {
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
640/4, // display pixels
16/4, // h front porch
96/4, // h sync
48/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
480, // v scan lines
10, // v front porch
2, // v sync
33 // v back porch
},
{ 0x10, 0x80, 0x08, 0x80, 0x24, 0x88, 0x80, 0x78 }, //25.175 Mhz (640x480 @ 60Hz)
{ 0x10100, 0x1010100, 0x1010100, 0x1000000, 0x1010000, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_640_480_60_8_1BUF_1HD, // Mode index used in setting the mode 0
640, // X Resolution, in pixels
480, // Y Resolution, in pixels
640, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
60, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
640, // Video Memory Bitmap Width
480 // Video Memory Bitmap Height
}
},
{
FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
640/4, // display pixels
28/4, // h front porch
40/4, // h sync
140/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
480, // v scan lines
9, // v front porch
3, // v sync
31 // v back porch
},
{ 0x10, 0x80, 0x08, 0x80, 0x24, 0xb0, 0x20, 0xc8 }, //31.5Mhz (640x480 @ 72Hz)
{ 0x10100, 0x1000001, 0x100, 0x1000000, 0x1010000, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_640_480_72_8_1BUF_1HD, // Mode index used in setting the mode 1
640, // X Resolution, in pixels
480, // Y Resolution, in pixels
640, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
640, // Video Memory Bitmap Width
480 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
640/4, // display pixels
16/4, // h front porch
96/4, // h sync
48/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
480, // v scan lines
10, // v front porch
2, // v sync
33 // v back porch
},
{ 0x10, 0x80, 0x08, 0x80, 0x24, 0x88, 0x80, 0x78 }, //25.175 Mhz (640x480 @ 60Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 12 }, // (for TGA2 24-plane only)
// Last entry is index into PLL_TAG array
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_640_480_60_24_1BUF_1HD, // Mode index used in setting the mode 2
640, // X Resolution, in pixels
480, // Y Resolution, in pixels
2560, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
60, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
640, // Video Memory Bitmap Width
480 // Video Memory Bitmap Height
}
},
{
FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
640/4, // display pixels
28/4, // h front porch
40/4, // h sync
140/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
480, // v scan lines
9, // v front porch
3, // v sync
31 // v back porch
},
{ 0x10, 0x80, 0x08, 0x80, 0x24, 0xb0, 0x20, 0xc8 }, //31.5Mhz (640x480 @ 72Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 11 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_640_480_72_24_1BUF_1HD, // Mode index used in setting the mode 3
640, // X Resolution, in pixels
480, // Y Resolution, in pixels
2560, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
640, // Video Memory Bitmap Width
480 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00100000,
{
800/4, // display pixels
52/4, // h front porch
120/4, // h sync
76/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
600, // v scan lines
36, // v front porch
6, // v sync
24 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x88, 0x80, 0x78 }, // 50 Mhz (800 x600 @ 72hz) ergo SVGA
{ 0x10101, 0x1000101, 0x1010101, 0x1010001, 0x1010000, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_800_600_72_8_1BUF_1HD, // 4
800,
600,
800,
1,
8,
72,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
800, // Video Memory Bitmap Width
600 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00100000,
{
800/4, // display pixels
40/4, // h front porch
128/4, // h sync
88/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
600, // v scan lines
1, // v front porch
4, // v sync
23 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x70, 0xA0, 0x84 }, // 40 Mhz ( 800 x 600 @ 60 Hz) SVGA
{ 0x1010101, 0x1010001, 0x1000000, 0x1000000, 0x1010000, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_800_600_60_8_1BUF_1HD, // 5
800,
600,
800,
1,
8,
60,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
800, // Video Memory Bitmap Width
600 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
800/4, // display pixels
52/4, // h front porch
120/4, // h sync
76/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
600, // v scan lines
36, // v front porch
6, // v sync
24 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x88, 0x80, 0x78 }, // 50 Mhz (800 x600 @ 72hz) ergo SVGA
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 9 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_800_600_72_24_1BUF_1HD, // 6
800,
600,
3200,
1,
32,
72,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
800, // Video Memory Bitmap Width
600 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
800/4, // display pixels
40/4, // h front porch
128/4, // h sync
88/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
600, // v scan lines
1, // v front porch
4, // v sync
23 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x70, 0xA0, 0x84 }, // 40 Mhz ( 800 x 600 @ 60 Hz) SVGA
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 10 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_800_600_60_24_1BUF_1HD, // 7
800,
600,
3200,
1,
32,
60,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
800, // Video Memory Bitmap Width
600 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00200000,
{
1024/4, // display pixels
16/4, // h front porch
128/4, // h sync
128/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
1, // v front porch
6, // v sync
22 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x78, 0x80, 0xc4 }, // 74MHz (1024 x768 @ 72Hz)
{ 0x1000100, 0x1000100, 0x0, 0x1010100, 0x1000100,
0x1000001, 0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_72_8_1BUF_1HD, // 8
1024,
768,
1024,
1,
8,
72,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00200000,
{
1024/4, // display pixels
24/4, // h front porch
136/4, // h sync
144/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
3, // v front porch
6, // v sync
29 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x88, 0x40, 0x28 }, // 75MHz (1024 x768 @ 70Hz)
{ 0x1010100, 0x1010100, 0x1000100, 0x1000000, 0x1000100, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_70_8_1BUF_1HD, // 9
1024,
768,
1024,
1,
8,
70,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00200000,
{
1024/4, // display pixels
56/4, // h front porch
64/4, // h sync
200/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
7, // v front porch
9, // v sync
26 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x48, 0x20, 0x98 }, // 65MHz x 4 (1024 x768 @ 60Hz)
{ 0x1010001, 0x10100, 0x10100, 0x1000000, 0x1010000, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_60_8_1BUF_1HD, // a
1024,
768,
1024,
1,
8,
60,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
1024/4, // display pixels
16/4, // h front porch
128/4, // h sync
128/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
1, // v front porch
6, // v sync
22 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x78, 0x80, 0xc4 }, // 74MHz (1024 x768 @ 72Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 6 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_72_24_1BUF_1HD, // b
1024,
768,
4096,
1,
32,
72,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
1024/4, // display pixels
56/4, // h front porch
64/4, // h sync
200/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
7, // v front porch
9, // v sync
26 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x48, 0x20, 0x98 }, // 65MHz x 4 (1024 x768 @ 60Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 8 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_60_24_1BUF_1HD, // c
1024,
768,
4096,
1,
32,
60,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00200000,
{
1024/4, // display pixels
12/4, // h front porch
116/4, // h sync
128/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
864, // v scan lines
0, // v front porch
3, // v sync
34 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0xb0, 0xc0, 0x88 }, // 74MHz x 4 (1024 x 864 @ 60Hz)
{ 0x10001, 0x1000101, 0x10001, 0x1000000, 0x1000100, 0x1000001,
0x00, 0x00 }, // (for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_864_60_8_1BUF_1HD, // d
1024,
864,
1024,
1,
8,
60,
380,
285,
8,
8,
8,
0x00000000,
0x00000000,
0x00000000,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE,
1024, // Video Memory Bitmap Width
864 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
1024/4, // display pixels
12/4, // h front porch
116/4, // h sync
128/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
864, // v scan lines
0, // v front porch
3, // v sync
34 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0xb0, 0xc0, 0x88 }, // 74MHz x 4 (1024 x 864 @ 60Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 6 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_864_60_24_1BUF_1HD, // e
1024,
864,
4096,
1,
32,
60,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
1024, // Video Memory Bitmap Width
864 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1280/4, // display pixels
32/4, // h front porch
160/4, // h sync
232/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
33 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0xA4, 0x04, 0xC0, 0xA8 }, //130.8Mhz (1280 x 1024 @ 72hz)
{ 0x00000000, 0x01010000, 0x00000101, 0x01000000,
0x01000100, 0x01000001, 0x00, 0x00 }, //( for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_72_8_1BUF_1HD, // Mode index used in setting the mode f
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
1280, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1280/4, // display pixels
32/4, // h front porch
160/4, // h sync
224/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
33 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0x24, 0x98, 0xc0, 0x48 }, // 108Mhz (1280x1024 @ 66Hz)
{ 0x1010001, 0x1000100, 0x10001, 0x1010001, 0x1000100, 0x1000001,
0x00, 0x00 }, // ( for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_66_8_1BUF_1HD, // Mode index used in setting the mode 10
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
1280, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
66, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1280/4, // display pixels
44/4, // h front porch
184/4, // h sync
200/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
26 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0x24, 0xf0, 0x20, 0x30 }, // 110Hz (1280 x1024 @ 60Hz) - uses OPTION_110 values
{ 0x0, 0x10100, 0x1000001, 0x1010001, 0x1010000, 0x1000001,
0x00, 0x00 }, //( for TGA2 8-plane only) - uses OPTION_110
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_60_8_1BUF_1HD, // Mode index used in setting the mode 11
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
1280, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
60, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1280/4, // display pixels
32/4, // h front porch
160/4, // h sync
232/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
33 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0xA4, 0x04, 0xC0, 0xA8 }, //130.8Mhz (1280 x 1024 @ 72hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 0 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_72_24_1BUF_1HD, // Mode index used in setting the mode 12
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
5120, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1280/4, // display pixels
44/4, // h front porch
184/4, // h sync
200/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
26 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0x24, 0xf0, 0x20, 0x30 }, // 110MHz (1280 x1024 @ 60Hz) - uses OPTION_110 values
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 14 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_60_24_1BUF_1HD, // Mode index used in setting the mode 13
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
5120, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
60, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1152/4, // display pixels
64/4, // h front porch
112/4, // h sync
176/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
900, // v scan lines
6, // v front porch
10, // v sync
44 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0xa8, 0x60, 0x48 }, // 104Mhz ( 1152 X 900 @ 72Hz )
{ 0x1010001, 0x1010100, 0x10101, 0x1000000, 0x1000100, 0x1000001,
0x00, 0x00 }, //( for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1152_900_72_8_1BUF_1HD, // Mode index used in setting the mode 14
1152, // X Resolution, in pixels
900, // Y Resolution, in pixels
1152, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1152, // Video Memory Bitmap Width
900 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1152/4, // display pixels
20/4, // h front porch
132/4, // h sync
200/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
900, // v scan lines
2, // v front porch
4, // v sync
31 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x30, 0x00, 0xb0 }, // 92.98 Mhz ( 1152 X 900 @ 66Hz )
{ 0x101, 0x1010100, 0x1010100, 0x1010001, 0x1010000, 0x1000001,
0x00, 0x00 }, // ( for TGA2 8-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1152_900_66_8_1BUF_1HD, // Mode index used in setting the mode 15
1152, // X Resolution, in pixels
900, // Y Resolution, in pixels
1152, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
66, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1152, // Video Memory Bitmap Width
900 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1152/4, // display pixels
64/4, // h front porch
112/4, // h sync
176/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
900, // v scan lines
6, // v front porch
10, // v sync
44 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0xa8, 0x60, 0x48 }, // 104Mhz ( 1152 X 900 @ 72Hz )
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 3 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1152_900_72_24_1BUF_1HD, // Mode index used in setting the mode 16
1152, // X Resolution, in pixels
900, // Y Resolution, in pixels
4608, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
72, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1152, // Video Memory Bitmap Width
900 // Video Memory Bitmap Height
}
},
{
FALSE,
0x00800000,
{
1024/4, // display pixels
24/4, // h front porch
136/4, // h sync
144/4, // h back porch
0, // h ignore
0 // h odd bit
},
{
768, // v scan lines
3, // v front porch
6, // v sync
29 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x88, 0x40, 0x28 }, // 75mhz (1024 x768 @ 70Hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 5 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION),
TGA_MODE_1024_768_70_24_1BUF_1HD, // b
1024,
768,
4096,
1,
32,
70,
380,
285,
8,
8,
8,
0x00ff0000,
0x0000ff00,
0x000000ff,
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS,
1024, // Video Memory Bitmap Width
768 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1280/4, // display pixels
32/4, // h front porch
160/4, // h sync
224/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
3, // v front porch
3, // v sync
33 // v back porch
},
{ 0x18, 0x80, 0x00, 0x80, 0x24, 0x98, 0xC0, 0x48 }, // 108 (1280 x 1024 @ 66hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 2 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_66_24_1BUF_1HD, // Mode index used in setting the mode 12
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
5120, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
66, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1152/4, // display pixels
20/4, // h front porch
132/4, // h sync
200/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
900, // v scan lines
2, // v front porch
4, // v sync
31 // v back porch
},
{ 0x10, 0x80, 0x00, 0x80, 0x24, 0x30, 0x00, 0xB0 }, // 92.98 mhz ( 1152 X 900 @ 66Hz )
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 4 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1152_900_66_24_1BUF_1HD, // Mode index used in setting the mode 16
1152, // X Resolution, in pixels
900, // Y Resolution, in pixels
4608, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
66, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1152, // Video Memory Bitmap Width
900 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00100000, // Required video memory for this mode
{
1280/4, // display pixels
16/4, // h front porch
144/4, // h sync
248/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
1, // v front porch
3, // v sync
38 // v back porch
},
//was { 0x18, 0x80, 0x08, 0x80, 0x24, 0x88, 0x80, 0x78 }, // 135mhz (1280 x 1024 @ 75hz)
{ 0x18, 0x80, 0x00, 0x80, 0xa4, 0x28, 0x60, 0xb0 }, // 135mhz (1280 x 1024 @ 75hz)
{ 0x100, 0x1010000, 0x101, 0x1000000, 0x1000100, 0x1000001, 0, 0 },
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_75_8_1BUF_1HD, // Mode index used in setting the mode f
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
1280, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
8, // Number of bits per plane
75, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00000000, // Mask for Red Pixels in non-palette modes
0x00000000, // Mask for Green Pixels in non-palette modes
0x00000000, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS | VIDEO_MODE_PALETTE_DRIVEN |
VIDEO_MODE_MANAGED_PALETTE, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
},
{ FALSE, // Is this mode currently supported
0x00800000, // Required video memory for this mode
{
1280/4, // display pixels
16/4, // h front porch
144/4, // h sync
248/4, // h back porch
0, // h ignore
0
},
{ // h odd bit
1024, // v scan lines
1, // v front porch
3, // v sync
38 // v back porch
},
//was { 0x18, 0x80, 0x08, 0x80, 0x24, 0x88, 0x80, 0x78 }, // 135 mhz (1280 x 1024 @ 75hz)
{ 0x18, 0x80, 0x00, 0x80, 0xa4, 0x28, 0x60, 0xb0 }, // 135mhz (1280 x 1024 @ 75hz)
{ 0x101, 0x1000000, 0x1, 0x10000, 0x1010100, 0x1000001,
0x00, 13 }, // (for TGA2 24-plane only)
{
sizeof(VIDEO_MODE_INFORMATION), // Size of the mode informtion structure
TGA_MODE_1280_1024_75_24_1BUF_1HD, // Mode index used in setting the mode 12
1280, // X Resolution, in pixels
1024, // Y Resolution, in pixels
5120, // Screen stride, in bytes (distance
// between the start point of two
// consecutive scan lines, in bytes)
1, // Number of video memory planes
32, // Number of bits per plane
75, // Screen Frequency, in Hertz
380, // Horizontal size of screen in millimeters
285, // Vertical size of screen in millimeters
8, // Number Red pixels in DAC
8, // Number Green pixels in DAC
8, // Number Blue pixels in DAC
0x00ff0000, // Mask for Red Pixels in non-palette modes
0x0000ff00, // Mask for Green Pixels in non-palette modes
0x000000ff, // Mask for Blue Pixels in non-palette modes
VIDEO_MODE_COLOR | VIDEO_MODE_GRAPHICS, // Mode description flags.
1280, // Video Memory Bitmap Width
1024 // Video Memory Bitmap Height
}
}
};
ULONG NumTgaVideoModes = sizeof(TGAModes) / sizeof(TGA_VIDEO_MODES);
// The following pair of values must be deposited in the IBM 561 RAMDAC
// for a particular resolution/refresh rate.
struct PLL_TAG {
unsigned char divVcoReg;
unsigned char refReg;
};
// This is a table of mode-specific values for the IBM 561 RAMDAC.
// A specific index into this table is stored in each mode definition.
#define LAST_OPTION 15
struct PLL_TAG pll[LAST_OPTION] = {
0xc7,0x12, //0xc8,0x8, /* 0 130 */ Entry changed for pass 1B
0xb4,0x7, /* 1 119 */
0xb8,0x8, /* 2 108 */
0xb3,0x8, /* 3 104 */
0x80,0x5, /* 4 92 */
0x93,0x8, /* 5 75 */
0x9c,0x9, /* 6 74 */
0x8c,0x8, /* 7 69 */
0x9a,0xa, /* 8 65 */
0x45,0x5, /* 9 50 */
0x42,0x6, /* 10 40 */
0x05,0x4, /* 11 32 */
0x05,0x5, /* 12 25 */
0xc1,0x7, /* 13 135 */
0xba,0x8 /* 14 110 */
};