summaryrefslogtreecommitdiffstats
path: root/ddcprobe/vesamode.c
blob: 582a22f864178ba03fca2a3d61605c5a06a4b523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* Most of these come from http://www.knowplace.org/timings.html */

#include "vesamode.h"
#ident "$Id$"

/* Known standard VESA modes. */
struct vesa_mode_t known_vesa_modes[] = {
	/* VESA 1.0/1.1 ? */
	{0x100,	640, 400, 256,	"640x400x256"},
	{0x101,	640, 480, 256,	"640x480x256"},
	{0x102,	800, 600, 16,	"800x600x16"},
	{0x103,	800, 600, 256,	"800x600x256"},
	{0x104,	1024, 768, 16,	"1024x768x16"},
	{0x105,	1024, 768, 256,	"1024x768x256"},
	{0x106,	1280, 1024, 16,	"1280x1024x16"},
	{0x107,	1280, 1024, 256,"1280x1024x256"},
	{0x108,	80, 60, 0,	"80x60 (text)"},
	{0x109,	132, 25, 0,	"132x25 (text)"},
	{0x10a,	132, 43, 0,	"132x43 (text)"},
	{0x10b,	132, 50, 0,	"132x50 (text)"},
	{0x10c,	132, 60, 0,	"132x60 (text)"},
	/* VESA 1.2+ */
	{0x10d,	320, 200, 32768,	"320x200x32k"},
	{0x10e,	320, 200, 65536,	"320x200x64k"},
	{0x10f,	320, 200, 16777216,	"320x200x16m"},
	{0x110,	640, 480, 32768,	"640x480x32k"},
	{0x111,	640, 480, 65536,	"640x480x64k"},
	{0x112,	640, 480, 16777216,	"640x480x16m"},
	{0x113,	800, 600, 32768,	"800x600x32k"},
	{0x114,	800, 600, 65536,	"800x600x64k"},
	{0x115,	800, 600, 16777216,	"800x600x16m"},
	{0x116,	1024, 768, 32768,	"1024x768x32k"},
	{0x117,	1024, 768, 65536,	"1024x768x64k"},
	{0x118,	1024, 768, 16777216,	"1024x768x16m"},
	{0x119,	1280, 1024, 32768,	"1280x1024x32k"},
	{0x11a,	1280, 1024, 65536,	"1280x1024x64k"},
	{0x11b,	1280, 1024, 16777216,	"1280x1024x16m"},
	/* VESA 2.0+ */
	{0x120,	1600, 1200, 256,	"1600x1200x256"},
	{0x121,	1600, 1200, 32768,	"1600x1200x32k"},
	{0x122,	1600, 1200, 65536,	"1600x1200x64k"},
	{    0,    0,    0, 0,		""},
};

struct vesa_timing_t known_vesa_timings[] = {
	 { 640,  480, 60,  25.175,{ 640, 16,  96,  48,  480,10, 2, 33},
	  hsync_neg, vsync_neg}, /* ? */
	 { 640,  480, 72,  31.50, { 640, 16,  64, 120,  480, 1, 3, 16},
	  hsync_neg, vsync_pos}, /* knowplace */
	 { 640,  480, 75,  31.50, { 640, 16,  64, 120,  480, 1, 3, 16},
	  hsync_neg, vsync_pos}, /* knowplace */
	 { 640,  480, 85,  36.00, { 640, 56,  56,  80,  480, 1, 3, 25},
	  hsync_neg, vsync_pos}, /* knowplace */
	 { 800,  600, 60,  40.00, { 800, 40, 128,  88,  600, 1, 4, 23},
	  hsync_pos, vsync_pos}, /* ? */
	 { 800,  600, 75,  49.50, { 800, 16,  80, 160,  600, 1, 3, 21},
	  hsync_pos, vsync_pos}, /* knowplace */
	 { 800,  600, 85,  56.25, { 800, 32,  64, 132,  600, 1, 3, 27},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1024,  768, 60,  65.00, {1024, 24, 136, 160,  768, 3, 6, 29},
	  hsync_neg, vsync_neg}, /* ? */
	 {1024,  768, 75,  78.75, {1024, 16,  96, 176,  768, 1, 3, 28},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1024,  768, 85,  94.50, {1024, 48,  96, 208,  768, 1, 3, 36},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1024,  768, 60,  65.00, {1024, 24, 136, 160,  768, 3, 6, 29},
	  hsync_neg, vsync_neg}, /* ? */
	 {1152,  864, 70,  94.20, {1152, 32,  96, 192,  864, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* ? */
	 {1152,  864, 75, 108.00, {1152, 64, 128, 256,  864, 1, 3, 32},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1152,  864, 85, 121.50, {1152, 64, 128, 224,  864, 1, 3, 43},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1280, 1024, 60, 108.00, {1280, 48, 112, 248, 1024, 1, 3, 38},
	  hsync_pos, vsync_pos}, /* ? */
	 {1280, 1024, 75, 135.00, {1280, 16, 144, 248, 1024, 1, 3, 38},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1280, 1024, 85, 157.50, {1280, 64, 160, 224, 1024, 1, 3, 44},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1600, 1200, 60, 162.00, {1600, 64, 192, 304, 1200, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* ? */
	 {1600, 1200, 65, 175.50, {1600, 64, 192, 304, 1200, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* ? */
	 {1600, 1200, 70, 189.00, {1600, 64, 192, 304, 1200, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* ? */
	 {1600, 1200, 75, 202.50, {1600, 64, 192, 304, 1200, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {1600, 1200, 85, 229.50, {1600, 64, 192, 304, 1200, 1, 3, 46},
	  hsync_pos, vsync_pos}, /* knowplace */
	 {   0,    0,  0,   0.00, {   0,  0,   0,   0,    0, 0, 0,  0}, 0, 0},
};