summaryrefslogtreecommitdiffstats
path: root/ddcprobe
diff options
context:
space:
mode:
Diffstat (limited to 'ddcprobe')
-rw-r--r--ddcprobe/vesamode.c145
1 files changed, 93 insertions, 52 deletions
diff --git a/ddcprobe/vesamode.c b/ddcprobe/vesamode.c
index 582a22f86..9d4c3797a 100644
--- a/ddcprobe/vesamode.c
+++ b/ddcprobe/vesamode.c
@@ -1,5 +1,3 @@
-/* Most of these come from http://www.knowplace.org/timings.html */
-
#include "vesamode.h"
#ident "$Id$"
@@ -14,11 +12,11 @@ struct vesa_mode_t known_vesa_modes[] = {
{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)"},
+ {0x108, 80, 60, 16, "80x60 (text)"},
+ {0x109, 132, 25, 16, "132x25 (text)"},
+ {0x10a, 132, 43, 16, "132x43 (text)"},
+ {0x10b, 132, 50, 16, "132x50 (text)"},
+ {0x10c, 132, 60, 16, "132x60 (text)"},
/* VESA 1.2+ */
{0x10d, 320, 200, 32768, "320x200x32k"},
{0x10e, 320, 200, 65536, "320x200x64k"},
@@ -43,49 +41,92 @@ struct vesa_mode_t known_vesa_modes[] = {
};
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},
+ /* Source: VESA Monitor Timing Specifications 1.0 rev 0.8 */
+ { 640, 350, 85, 31.500, { 640, 32, 64, 96, 350,32, 3, 60},
+ hsync_pos, vsync_neg, 37.861, 85.080},
+
+ { 640, 400, 85, 31.500, { 640, 32, 64, 96, 400, 1, 3, 41},
+ hsync_neg, vsync_pos, 37.861, 85.080},
+
+ { 720, 400, 85, 35.500, { 720, 36, 72, 108, 400, 1, 3, 42},
+ hsync_neg, vsync_pos, 37.861, 85.080},
+
+ { 640, 480, 60, 25.175, { 640, 8, 96, 40, 480, 2, 2, 25},
+ hsync_neg, vsync_neg, 31.469, 59.940},
+ { 640, 480, 72, 31.500, { 640, 16, 40, 120, 480, 1, 3, 20},
+ hsync_neg, vsync_neg, 37.861, 72.809},
+ { 640, 480, 75, 31.500, { 640, 16, 64, 120, 480, 1, 3, 16},
+ hsync_neg, vsync_neg, 37.500, 75.000},
+ { 640, 480, 85, 36.000, { 640, 56, 56, 80, 480, 1, 3, 25},
+ hsync_neg, vsync_neg, 43.269, 85.008},
+
+ { 800, 600, 56, 36.000, { 800, 24, 72, 128, 600, 1, 2, 22},
+ hsync_pos, vsync_pos, 35.156, 56.250},
+ { 800, 600, 60, 40.000, { 800, 40, 128, 88, 600, 1, 4, 23},
+ hsync_pos, vsync_pos, 37.879, 60.317},
+ { 800, 600, 72, 50.000, { 800, 56, 120, 64, 600,37, 6, 23},
+ hsync_pos, vsync_pos, 48.077, 72.188},
+ { 800, 600, 75, 49.500, { 800, 16, 80, 160, 600, 1, 3, 21},
+ hsync_pos, vsync_pos, 46.875, 75.000},
+ { 800, 600, 85, 56.250, { 800, 32, 64, 152, 600, 1, 3, 27},
+ hsync_pos, vsync_pos, 53.674, 85.061},
+
+ {1024, 768, 43, 44.900, {1024, 8, 176, 56, 768, 0, 4, 20},
+ hsync_pos, vsync_pos, 35.522, 86.957},
+ {1024, 768, 60, 65.000, {1024, 24, 136, 160, 768, 3, 6, 29},
+ hsync_neg, vsync_neg, 48.363, 60.004},
+ {1024, 768, 70, 75.000, {1024, 24, 136, 144, 768, 3, 6, 29},
+ hsync_neg, vsync_neg, 56.476, 70.069},
+ {1024, 768, 75, 78.750, {1024, 16, 96, 176, 768, 1, 3, 28},
+ hsync_pos, vsync_pos, 60.023, 75.029},
+ {1024, 768, 85, 94.500, {1024, 48, 96, 208, 768, 1, 3, 36},
+ hsync_pos, vsync_pos, 68.677, 84.997},
+
+ {1152, 864, 70, 94.200, {1152, 32, 96, 192, 864, 1, 3, 46},
+ hsync_pos, vsync_pos, 0.000, 0.000},
+ {1152, 864, 75, 108.000, {1152, 64, 128, 256, 864, 1, 3, 32},
+ hsync_pos, vsync_pos, 67.500, 75.000},
+ {1152, 864, 85, 121.500, {1152, 64, 128, 224, 864, 1, 3, 43},
+ hsync_pos, vsync_pos, 0.000, 0.000},
+
+ {1280, 960, 60, 108.000, {1280, 96, 112, 312, 960, 1, 3, 36},
+ hsync_pos, vsync_pos, 60.000, 60.000},
+ {1280, 960, 85, 148.500, {1280, 64, 160, 224, 960, 1, 3, 47},
+ hsync_pos, vsync_pos, 85.398, 85.002},
+
+ {1280, 1024, 60, 108.000, {1280, 48, 112, 248, 1024, 1, 3, 38},
+ hsync_pos, vsync_pos, 63.981, 60.020},
+ {1280, 1024, 75, 135.000, {1280, 16, 144, 248, 1024, 1, 3, 38},
+ hsync_pos, vsync_pos, 79.976, 75.025},
+ {1280, 1024, 85, 157.500, {1280, 64, 160, 224, 1024, 1, 3, 44},
+ hsync_pos, vsync_pos, 91.146, 85.024},
+
+ {1600, 1200, 60, 162.000, {1600, 64, 192, 304, 1200, 1, 3, 46},
+ hsync_pos, vsync_pos, 75.000, 60.000},
+ {1600, 1200, 65, 175.500, {1600, 64, 192, 304, 1200, 1, 3, 46},
+ hsync_pos, vsync_pos, 81.250, 65.000},
+ {1600, 1200, 70, 189.000, {1600, 64, 192, 304, 1200, 1, 3, 46},
+ hsync_pos, vsync_pos, 87.500, 70.000},
+ {1600, 1200, 75, 202.500, {1600, 64, 192, 304, 1200, 1, 3, 46},
+ hsync_pos, vsync_pos, 93.750, 75.000},
+ {1600, 1200, 85, 229.500, {1600, 64, 192, 304, 1200, 1, 3, 46},
+ hsync_pos, vsync_pos, 106.250, 85.000},
+
+ {1792, 1344, 60, 204.750, {1792,128, 200, 328, 1344, 1, 3, 46},
+ hsync_neg, vsync_pos, 83.640, 60.000},
+ {1792, 1344, 75, 261.000, {1792, 96, 216, 352, 1344, 1, 3, 69},
+ hsync_neg, vsync_pos, 106.270, 74.997},
+
+ {1856, 1392, 60, 218.250, {1856, 96, 224, 352, 1392, 1, 3, 43},
+ hsync_neg, vsync_pos, 86.333, 59.995},
+ {1856, 1392, 75, 288.000, {1856,128, 224, 352, 1392, 1, 3,104},
+ hsync_neg, vsync_pos, 112.500, 75.000},
+
+ {1920, 1440, 60, 234.000, {1920,128, 208, 344, 1440, 1, 3, 56},
+ hsync_neg, vsync_pos, 90.000, 60.000},
+ {1920, 1440, 75, 297.000, {1920,144, 224, 352, 1440, 1, 3, 56},
+ hsync_neg, vsync_pos, 112.500, 75.000},
+
+ { 0, 0, 0, 0.000, { 0, 0, 0, 0, 0, 0, 0, 0},
+ 000000000, 000000000, 0.000, 0.000},
};