diff --git a/datasheets/28c010.pdf b/datasheets/28c010.pdf new file mode 100644 index 0000000..7da071d Binary files /dev/null and b/datasheets/28c010.pdf differ diff --git a/datasheets/71256.pdf b/datasheets/71256.pdf new file mode 100644 index 0000000..7dc14b2 Binary files /dev/null and b/datasheets/71256.pdf differ diff --git a/datasheets/AS6C4008.pdf b/datasheets/AS6C4008.pdf new file mode 100644 index 0000000..db5ff5e Binary files /dev/null and b/datasheets/AS6C4008.pdf differ diff --git a/datasheets/Clock_Dividers_Made_Easy.pdf b/datasheets/Clock_Dividers_Made_Easy.pdf new file mode 100644 index 0000000..d9801fd Binary files /dev/null and b/datasheets/Clock_Dividers_Made_Easy.pdf differ diff --git a/datasheets/UPD72020.pdf b/datasheets/UPD72020.pdf new file mode 100644 index 0000000..16682ce Binary files /dev/null and b/datasheets/UPD72020.pdf differ diff --git a/docs/links.txt b/docs/links.txt new file mode 100644 index 0000000..8006b04 --- /dev/null +++ b/docs/links.txt @@ -0,0 +1 @@ +https://hackaday.io/project/164728/logs diff --git a/docs/timing.html b/docs/timing.html new file mode 100644 index 0000000..409b22a --- /dev/null +++ b/docs/timing.html @@ -0,0 +1,1309 @@ +
+The following table lists timing values for several popular resolutions.
+ +Format | +Pixel Clock (MHz) |
+ Horizontal (in Pixels) | +Vertical (in Lines) | +||||||
---|---|---|---|---|---|---|---|---|---|
Active Video |
+ Front Porch |
+ Sync Pulse |
+ Back Porch |
+ Active Video |
+ Front Porch |
+ Sync Pulse |
+ Back Porch |
+||
640x480, 60Hz | +25.175 | +640 | 16 | 96 | 48 | +480 | 11 | 2 | 31 | +
640x480, 72Hz | +31.500 | +640 | 24 | 40 | 128 | +480 | 9 | 3 | 28 | +
640x480, 75Hz | +31.500 | +640 | 16 | 96 | 48 | +480 | 11 | 2 | 32 | +
640x480, 85Hz | +36.000 | +640 | 32 | 48 | 112 | +480 | 1 | 3 | 25 | +
800x600, 56Hz | +38.100 | +800 | 32 | 128 | 128 | +600 | 1 | 4 | 14 | +
800x600, 60Hz | +40.000 | +800 | 40 | 128 | 88 | +600 | 1 | 4 | 23 | +
800x600, 72Hz | +50.000 | +800 | 56 | 120 | 64 | +600 | 37 | 6 | 23 | +
800x600, 75Hz | +49.500 | +800 | 16 | 80 | 160 | +600 | 1 | 2 | 21 | +
800x600, 85Hz | +56.250 | +800 | 32 | 64 | 152 | +600 | 1 | 3 | 27 | +
1024x768, 60Hz | +65.000 | +1024 | 24 | 136 | 160 | +768 | 3 | 6 | 29 | +
1024x768, 70Hz | +75.000 | +1024 | 24 | 136 | 144 | +768 | 3 | 6 | 29 | +
1024x768, 75Hz | +78.750 | +1024 | 16 | 96 | 176 | +768 | 1 | 3 | 28 | +
1024x768, 85Hz | +94.500 | +1024 | 48 | 96 | 208 | +768 | 1 | 3 | 36 | +
+ Mode |
+
+ Type |
+
+
+ Res. |
+
+ Colors |
+
+ Vert. |
+
+
+ Horz. |
+
+ Pix Clk |
+
+ SM and SXGA MODES |
+
+ ||||||
+ 0, 1 |
+
+ A/N |
+
+ 320 x 200 |
+
+
+ 16 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+
+ 25.175 MHz |
+
+ 2, 3 |
+
+ A/N |
+
+
+ 640 x 200 |
+
+ 16 |
+
+ 70 Hz |
+
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ 0*, 1* |
+
+
+ A/N |
+
+ 320 x 350 |
+
+ 16 |
+
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ 2*, 3* |
+
+ A/N |
+
+ 640 x 350 |
+
+
+ 16 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+
+ 0+, 1+ |
+
+ A/N |
+
+ 320 x 350 |
+
+
+ 16 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+
+ 28.322 MHz |
+
+ 2+, 3+ |
+
+ A/N |
+
+
+ 640 x 350 |
+
+ 16 |
+
+ 70 Hz |
+
+
+ 31.778 KHz |
+
+ 28.322 MHz |
+
+ 4, 5 |
+
+
+ APA |
+
+ 320 x 200 |
+
+ 4 |
+
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ 6 |
+
+ APA |
+
+ 640 x 200 |
+
+
+ 2 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+
+ 7 |
+
+ A/N |
+
+ 720 x 350 |
+
+
+ Mono |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+
+ 28.322 MHz |
+
+ 7+ |
+
+ A/N |
+
+
+ 720 x 400 |
+
+ Mono |
+
+ 70 Hz |
+
+
+ 31.778 KHz |
+
+ 28.322 MHz |
+
+ D |
+
+
+ APA |
+
+ 320 x 200 |
+
+ 16 |
+
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ E |
+
+ APA |
+
+ 640 x 200 |
+
+
+ 16 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+
+ F |
+
+ APA |
+
+ 640 x 350 |
+
+
+ Mono |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+
+ 25.175 MHz |
+
+ 10 |
+
+ APA |
+
+
+ 640 x 350 |
+
+ 16 |
+
+ 70 Hz |
+
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ 11 |
+
+
+ APA |
+
+ 640 x 480 |
+
+ 2 |
+
+
+ 60Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+ 12 |
+
+ APA |
+
+ 640 x 480 |
+
+
+ 16 |
+
+ 60Hz |
+
+ 31.778 KHz |
+
+ 25.175 MHz |
+
+
+ 13 |
+
+ APA |
+
+ 320 x 200 |
+
+
+ 256 |
+
+ 70 Hz |
+
+ 31.778 KHz |
+
+
+ 25.175 MHz |
+
+ SXGA MODES |
+ ||||||
+
+ 101 |
+
+ APA |
+
+ 640x480 |
+
+ 256 |
+
+
+ 85 Hz |
+
+ 43.3 KHz |
+
+ 36.00 MHz |
+
+ 102 |
+
+ APA |
+
+ 800 x 600 |
+
+
+ 16 |
+
+ 85 Hz |
+
+ 53.7 KHz |
+
+
+ 56.25 MHz |
+
+ 103 |
+
+ APA |
+
+
+ 800 x 600 |
+
+ 256 |
+
+ 85 Hz |
+
+
+ 53.7 KHz |
+
+ 56.25 MHz |
+
+ 104 |
+
+
+ + + APA |
+
+ 1024 x 768 |
+
+ 16 |
+
+
+ 85 Hz |
+
+ 68.7 KHz |
+
+ 94.5 MHz |
+
+ 105 |
+
+ + + APA |
+
+
+ 1024 x 768 |
+
+ 256 |
+
+ 85 Hz |
+
+ 68.7 KHz |
+
+
+ 94.5 MHz |
+
+ 106 |
+
+ + + + APA |
+
+ 1280 x 1024 |
+
+ 16 |
+
+
+ 85 Hz |
+
+ 91.1 KHz |
+
+ 157.5 MHz |
+
+ 107 |
+
+ + + APA |
+
+ 1280 x 1024 |
+
+
+ 256 |
+
+ 85 Hz |
+
+ 91.1 KHz |
+
+
+ 157.5 MHz |
+
+ 114 |
+
+ + + + APA |
+
+ 800 x 600 |
+
+ 64K |
+
+ 85 Hz |
+
+
+ 53.7 KHz |
+
+ 56.25 MHz |
+
+ 115 |
+
+
+ + + APA |
+
+ 800 x 600 |
+
+ 16.8 M |
+
+
+ 85 Hz |
+
+ 53.7 KHz |
+
+ 56.25 MHz |
+
+ 117 |
+
+ + + APA |
+
+
+ 1024 x 768 |
+
+ 64K |
+
+ 85 Hz |
+
+ 68.7 KHz |
+
+
+ 94.5 MHz |
+
+ 118 |
+
+ + + + APA |
+
+ 1024 x 768 |
+
+ 16.8 M |
+
+
+ 85 Hz |
+
+ 68.7 KHz |
+
+ 94.5 MHz |
+
+ 11A |
+
+ + + APA |
+
+ 1280 x 1024 |
+
+
+ 64K |
+
+ 85 Hz |
+
+ 91.1 KHz |
+
+
+ 157.5 MHz |
+
+ 11B |
+
+ + + + APA |
+
+ 1280 x 1024 |
+
+ 16.8 M |
+
+ 85 Hz |
+
+
+ 91.1 KHz |
+
+ 157.5 MHz |
+
+ + Note: SM + Modes 0-13 only +
+ +
As with RS-232, the standard for VGA video is that there are +lots of standards. Every manufacturer seems to list different timings in + the manuals for their monitors. The values given in the table above are + not particularly critical. On a CRT monitor, the lengths of the front +and back porches control the position of the image on the display. If +the image appears offset to the right or left, or up or down, try +adjusting the front and back porch values for the corresponding +direction (or use the image position adjustments on the monitor, which +accomplish the same thing).
+ +Mode name | +Pixel | +syn | +c | +back a | +ctive | +front | +whole line | +Lines | +line | +sync | +sync | +back | +active | +active | +front | +front | +whole frame | +whole frame | +|
clock | +pul | +se | +porch | +time | +porch | +period | +Total | +width | +pulse | +pulse | +porch | +time | +time | +porch | +porch | +period | +period | +||
(MHz) | +(us) | +(pix) | +(pix) | +(pix) | +(pix) | +(pix) | +(us) | +(us) | +(lin) | +(us)(lin) | +(us) | +(lin) | +(us) | +(lin) | +(us) | +(lin) | +|||
VGA 640x480 | +60Hz | +25.175 | +3.81 | +96 | +45 | +646 | +13 | +800 | +525 | +31.78 | +63 | +2 | +953 30 | +15382 | +484 | +285 | +9 | +16683 | +525 | +
VGA 640x480 | +72Hz | +31.5 | +1.27 | +40 | +125 | +646 | +21 | +832 | +520 | +26.41 | +79 | +3 | +686 26 | +12782 | +484 | +184 | +7 | +13735 | +520 | +
VGA 720x400 | +70Hz | +28.322 | +3.81 | +108 | +51 | +726 | +15 | +900 | +449 | +31.78 | +63 | +2 | +1016 32 | +12839 | +404 | +349 | +11 | +14268 | +449 | +
VGA 720x350 | +70Hz | +28.322 | +3.81 | +108 | +51 | +726 | +15 | +900 | +449 | +31.78 | +63 | +2 | +1811 57 | +11250 | +354 | +1144 | +36 | +14268 | +449 | +
VGA 800x600 | +56Hz | +36.000 | +2 | +72 | +125 | +806 | +21 | +1024 | +625 | +28.44 | +56 | +1 | +568 20 | +17177 | +604 | +-1* | +17775 | +625 | +|
VGA 800x600 | +60Hz | +40 | +3.2 | +128 | +85 | +806 | +37 | +1056 | +628 | +26.40 | +106 | +4 | +554 21 | +15945 | +604 | +-1* | +16579 | +628 | +|
VGA 800x600 | +72Hz | +50.000 | +2.4 | +120 | +61 | +806 | +53 | +1040 | +666 | +20.80 | +125 | +6 | +436 21 | +12563 | +604 | +728 | +35 | +13853 | +666 | +
IBM 640x480 | +75Hz | +31.05 | +3.05 | +96 | +45 | +646 | +13 | +800 | +525 | +25.397 | +51 | +2 | +761 30 | +12292 | +484 | +228 | +9 | +13333 | +525 | +
MAC 640x480 | +66Hz | +30.240 | +2.11 | +64 | +93 | +646 | +61 | +864 | +525 | +28.57 | +86 | +3 | +1057 37 | +13827 | +484 | +28 | +1 | +14999 | +525 | +
640x480@60 | 25.2 640 656 752 800 480 490 492 525 | -vsync | -hsync + | |
800x600@56 | 36.0 800 824 896 1024 600 601 603 625 | +hsync | +vsync + | |
800x600@60 | 40.0 800 840 968 1056 600 601 605 628 | +hsync | +vsync + | |
1024x768@60 | 65.0 1024 1048 1184 1344 768 771 777 806 | -vsync | -hsync + | |
1280x960@60 | 102.1 1280 1360 1496 1712 960 961 964 994 | -hsync | +vsync + | |
1280x1024@60 | 108.0 1280 1328 1440 1688 1024 1025 1028 1066 | +hsync | +vsync + | |
1400x1050@60 | 122.61 1400 1488 1640 1880 1050 1051 1054 1087 | -hsync | +vsync + | |
1600x1200@60 | 162.0 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + | |
640x350 @ 85Hz (VESA) hsync: 37.9kHz + | 640x350 | 31.5 640 672 736 832 350 382 385 445 | +hsync | -vsync + |
640x400 @ 85Hz (VESA) hsync: 37.9kHz + | 640x400 | 31.5 640 672 736 832 400 401 404 445 | -hsync | +vsync + |
720x400 @ 85Hz (VESA) hsync: 37.9kHz + | 720x400 | 35.5 720 756 828 936 400 401 404 446 | -hsync | +vsync + |
640x480 @ 60Hz (Industry standard) hsync: 31.5kHz + | 640x480 | 25.2 640 656 752 800 480 490 492 525 | -hsync | -vsync + |
640x480 @ 72Hz (VESA) hsync: 37.9kHz + | 640x480 | 31.5 640 664 704 832 480 489 491 520 | -hsync | -vsync + |
640x480 @ 75Hz (VESA) hsync: 37.5kHz + | 640x480 | 31.5 640 656 720 840 480 481 484 500 | -hsync | -vsync + |
640x480 @ 85Hz (VESA) hsync: 43.3kHz + | 640x480 | 36.0 640 696 752 832 480 481 484 509 | -hsync | -vsync + |
800x600 @ 56Hz (VESA) hsync: 35.2kHz + | 800x600 | 36.0 800 824 896 1024 600 601 603 625 | +hsync | +vsync + |
800x600 @ 60Hz (VESA) hsync: 37.9kHz + | 800x600 | 40.0 800 840 968 1056 600 601 605 628 | +hsync | +vsync + |
800x600 @ 72Hz (VESA) hsync: 48.1kHz + | 800x600 | 50.0 800 856 976 1040 600 637 643 666 | +hsync | +vsync + |
800x600 @ 75Hz (VESA) hsync: 46.9kHz + | 800x600 | 49.5 800 816 896 1056 600 601 604 625 | +hsync | +vsync + |
800x600 @ 85Hz (VESA) hsync: 53.7kHz + | 800x600 | 56.3 800 832 896 1048 600 601 604 631 | +hsync | +vsync + |
1024x768i @ 43Hz (industry standard) hsync: 35.5kHz + | 1024x768 | 44.9 1024 1032 1208 1264 768 768 776 817 | +hsync | +vsync Interlace + |
1024x768 @ 60Hz (VESA) hsync: 48.4kHz + | 1024x768 | 65.0 1024 1048 1184 1344 768 771 777 806 | -hsync | -vsync + |
1024x768 @ 70Hz (VESA) hsync: 56.5kHz + | 1024x768 | 75.0 1024 1048 1184 1328 768 771 777 806 | -hsync | -vsync + |
1024x768 @ 75Hz (VESA) hsync: 60.0kHz + | 1024x768 | 78.8 1024 1040 1136 1312 768 769 772 800 | +hsync | +vsync + |
1024x768 @ 85Hz (VESA) hsync: 68.7kHz + | 1024x768 | 94.5 1024 1072 1168 1376 768 769 772 808 | +hsync | +vsync + |
1152x864 @ 75Hz (VESA) hsync: 67.5kHz + | 1152x864 | 108.0 1152 1216 1344 1600 864 865 868 900 | +hsync | +vsync + |
1280x960 @ 60Hz (VESA) hsync: 60.0kHz + | 1280x960 | 108.0 1280 1376 1488 1800 960 961 964 1000 | +hsync | +vsync + |
1280x960 @ 85Hz (VESA) hsync: 85.9kHz + | 1280x960 | 148.5 1280 1344 1504 1728 960 961 964 1011 | +hsync | +vsync + |
1280x1024 @ 60Hz (VESA) hsync: 64.0kHz + | 1280x1024 | 108.0 1280 1328 1440 1688 1024 1025 1028 1066 | +hsync | +vsync + |
1280x1024 @ 75Hz (VESA) hsync: 80.0kHz + | 1280x1024 | 135.0 1280 1296 1440 1688 1024 1025 1028 1066 | +hsync | +vsync + |
1280x1024 @ 85Hz (VESA) hsync: 91.1kHz + | 1280x1024 | 157.5 1280 1344 1504 1728 1024 1025 1028 1072 | +hsync | +vsync + |
1600x1200 @ 60Hz (VESA) hsync: 75.0kHz + | 1600x1200 | 162.0 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + |
1600x1200 @ 65Hz (VESA) hsync: 81.3kHz + | 1600x1200 | 175.5 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + |
1600x1200 @ 70Hz (VESA) hsync: 87.5kHz + | 1600x1200 | 189.0 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + |
1600x1200 @ 75Hz (VESA) hsync: 93.8kHz + | 1600x1200 | 202.5 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + |
1600x1200 @ 85Hz (VESA) hsync: 106.3kHz + | 1600x1200 | 229.5 1600 1664 1856 2160 1200 1201 1204 1250 | +hsync | +vsync + |
1792x1344 @ 60Hz (VESA) hsync: 83.6kHz + | 1792x1344 | 204.8 1792 1920 2120 2448 1344 1345 1348 1394 | -hsync | +vsync + |
1792x1344 @ 75Hz (VESA) hsync: 106.3kHz + | 1792x1344 | 261.0 1792 1888 2104 2456 1344 1345 1348 1417 | -hsync | +vsync + |
1856x1392 @ 60Hz (VESA) hsync: 86.3kHz + | 1856x1392 | 218.3 1856 1952 2176 2528 1392 1393 1396 1439 | -hsync | +vsync + |
1856x1392 @ 75Hz (VESA) hsync: 112.5kHz + | 1856x1392 | 288.0 1856 1984 2208 2560 1392 1393 1396 1500 | -hsync | +vsync + |
1920x1440 @ 60Hz (VESA) hsync: 90.0kHz + | 1920x1440 | 234.0 1920 2048 2256 2600 1440 1441 1444 1500 | -hsync | +vsync + |
1920x1440 @ 75Hz (VESA) hsync: 112.5kHz + | 1920x1440 | 297.0 1920 2064 2288 2640 1440 1441 1444 1500 | -hsync | +vsync + |
1800x1440 | 230 1800 1896 2088 2392 1440 1441 1444 1490 | +HSync | +VSync + | |
1800x1440 | 250 1800 1896 2088 2392 1440 1441 1444 1490 | +HSync | +VSync + | |
640x480 @ 100.00 Hz (GTF) hsync: 50.90 kHz; pclk: 43.16 MHz + | 640x480 | 43.16 640 680 744 848 480 481 484 509 | -HSync | +Vsync + |
768x576 @ 60.00 Hz (GTF) hsync: 35.82 kHz; pclk: 34.96 MHz + | 768x576 | 34.96 768 792 872 976 576 577 580 597 | -HSync | +Vsync + |
768x576 @ 72.00 Hz (GTF) hsync: 43.27 kHz; pclk: 42.93 MHz + | 768x576 | 42.93 768 800 880 992 576 577 580 601 | -HSync | +Vsync + |
768x576 @ 75.00 Hz (GTF) hsync: 45.15 kHz; pclk: 45.51 MHz + | 768x576 | 45.51 768 808 888 1008 576 577 580 602 | -HSync | +Vsync + |
768x576 @ 85.00 Hz (GTF) hsync: 51.42 kHz; pclk: 51.84 MHz + | 768x576 | 51.84 768 808 888 1008 576 577 580 605 | -HSync | +Vsync + |
768x576 @ 100.00 Hz (GTF) hsync: 61.10 kHz; pclk: 62.57 MHz + | 768x576 | 62.57 768 816 896 1024 576 577 580 611 | -HSync | +Vsync + |
800x600 @ 100.00 Hz (GTF) hsync: 63.60 kHz; pclk: 68.18 MHz + | 800x600 | 68.18 800 848 936 1072 600 601 604 636 | -HSync | +Vsync + |
1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz + | 1024x768 | 113.31 1024 1096 1208 1392 768 769 772 814 | -HSync | +Vsync + |
1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz + | 1152x864 | 81.62 1152 1216 1336 1520 864 865 868 895 | -HSync | +Vsync + |
1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz + | 1152x864 | 119.65 1152 1224 1352 1552 864 865 868 907 | -HSync | +Vsync + |
1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz + | 1152x864 | 143.47 1152 1232 1360 1568 864 865 868 915 | -HSync | +Vsync + |
1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz + | 1280x800 | 83.46 1280 1344 1480 1680 800 801 804 828 | -HSync | +Vsync + |
1280x960 @ 72.00 Hz (GTF) hsync: 72.07 kHz; pclk: 124.54 MHz + | 1280x960 | 124.54 1280 1368 1504 1728 960 961 964 1001 | -HSync | +Vsync + |
1280x960 @ 75.00 Hz (GTF) hsync: 75.15 kHz; pclk: 129.86 MHz + | 1280x960 | 129.86 1280 1368 1504 1728 960 961 964 1002 | -HSync | +Vsync + |
1280x960 @ 100.00 Hz (GTF) hsync: 101.70 kHz; pclk: 178.99 MHz + | 1280x960 | 178.99 1280 1376 1520 1760 960 961 964 1017 | -HSync | +Vsync + |
1280x1024 @ 100.00 Hz (GTF) hsync: 108.50 kHz; pclk: 190.96 MHz + | 1280x1024 | 190.96 1280 1376 1520 1760 1024 1025 1028 1085 | -HSync | +Vsync + |
1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz + | 1368x768 | 85.86 1368 1440 1584 1800 768 769 772 795 | -HSync | +Vsync + |
1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz + | 1400x1050 | 122.61 1400 1488 1640 1880 1050 1051 1054 1087 | -HSync | +Vsync + |
1400x1050 @ 72.00 Hz (GTF) hsync: 78.77 kHz; pclk: 149.34 MHz + | 1400x1050 | 149.34 1400 1496 1648 1896 1050 1051 1054 1094 | -HSync | +Vsync + |
1400x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 155.85 MHz + | 1400x1050 | 155.85 1400 1496 1648 1896 1050 1051 1054 1096 | -HSync | +Vsync + |
1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz + | 1400x1050 | 179.26 1400 1504 1656 1912 1050 1051 1054 1103 | -HSync | +Vsync + |
1400x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 214.39 MHz + | 1400x1050 | 214.39 1400 1512 1664 1928 1050 1051 1054 1112 | -HSync | +Vsync + |
1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz + | 1440x900 | 106.47 1440 1520 1672 1904 900 901 904 932 | -HSync | +Vsync + |
1600x1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 280.64 MHz + | 1600x1200 | 280.64 1600 1728 1904 2208 1200 1201 1204 1271 | -HSync | +Vsync + |
1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz + | 1680x1050 | 147.14 1680 1784 1968 2256 1050 1051 1054 1087 | -HSync | +Vsync + |
1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz + | 1920x1200 | 193.16 1920 2048 2256 2592 1200 1201 1204 1242 | -HSync | +Vsync + |
+This documents tries to collect together information about +standard VGA card timing details. +
+
+
Horizonal Dots 640 640 640 +Vertical Scan Lines 350 400 480 +Horiz. Sync Polarity POS NEG NEG +A (us) 31.77 31.77 31.77 Scanline time +B (us) 3.77 3.77 3.77 Sync pulse lenght +C (us) 1.89 1.89 1.89 Back porch +D (us) 25.17 25.17 25.17 Active video time +E (us) 0.94 0.94 0.94 Front porch ++
______________________ ________ +________| VIDEO |________| VIDEO (next line) + |-C-|----------D-----------|-E-| +__ ______________________________ ___________ + |_| |_| + |B| + |---------------A----------------| ++ +
Horizonal Dots 640 640 640 +Vertical Scan Lines 350 400 480 +Vert. Sync Polarity NEG POS NEG +Vertical Frequency 70Hz 70Hz 60Hz +O (ms) 14.27 14.27 16.68 Total frame time +P (ms) 0.06 0.06 0.06 Sync length +Q (ms) 1.88 1.08 1.02 Back porch +R (ms) 11.13 12.72 15.25 Active video time +S (ms) 1.2 0.41 0.35 Front porch ++
______________________ ________ +________| VIDEO |________| VIDEO (next frame) + |-Q-|----------R-----------|-S-| +__ ______________________________ ___________ + |_| |_| + |P| + |---------------O----------------| ++ + +
+There are the 3 "standard" VGA modes that each VGA card is supposed +to be able to do: +
+Their line frequency is exactly twice that of the NTSC television system, +or almost twice that of the PAL television system. This makes it fairly +easy to implement a VGA input on a television set that uses line +doubling for the television signals so the line deflection already runs on 31 +kHz. +
+The following timings come from a list of 82 different computer timings, +and by now there will be even more. Some video cards even have variable +timing (allowing the user to set width, height and shift...). +The only standard is that there is no standard ! +
+
"640 x 350 (EGA on VGA)" "640 x 400 VGA text" "VGA industry standard" +Clock frequency 25.175 MHz Clock frequency 25.175 MHz Clock frequency 25.175 MHz +Line frequency 31469 Hz Line frequency 31469 Hz Line frequency 31469 Hz +Field frequency 70.086 Hz Field frequency 70.086 Hz Field frequency 59.94 Hz + +One line: One line: One line: + 8 pixels front porch 8 pixels front porch 8 pixels front porch + 96 pixels horizontal sync 96 pixels horizontal sync 96 pixels horizontal sync + 40 pixels back porch 40 pixels back porch 40 pixels back porch + 8 pixels left border 8 pixels left border 8 pixels left border +640 pixels video 640 pixels video 640 pixels video + 8 pixels right border 8 pixels right border 8 pixels right border +--- --- --- +800 pixels total per line 800 pixels total per line 800 pixels total per line ++
One field: One field: One field: + 31 lines front porch 5 lines front porch 2 lines front porch + 2 lines vertical sync 2 lines vertical sync 2 lines vertical sync + 54 lines back porch 28 lines back porch 25 lines back porch + 6 lines top border 7 lines top border 8 lines top border +350 lines video 400 lines video 480 lines video + 6 lines bottom border 7 lines bottom border 8 lines bottom border +--- --- --- +449 lines total per field 449 lines total per field 525 lines total +per field ++
Sync polarity: H positive, Sync polarity: H negative, Sync polarity: H negative, + V negative V positive V negative +Scan type: non interlaced. Scan type: non interlaced. Scan type: non interlaced. ++
Horizontal : + ______________ _____________ + | | | +_______________| VIDEO |_______________| VIDEO (next line) + +___________ _____________________ ______________________ + |_| |_| + B C <------D-----><-E-> + <----------A----------> + + +Vertical : + ______________ _____________ + | | | +_______________| VIDEO |_______________| VIDEO (next frame) + +___________ _____________________ ______________________ + |_| |_| + P Q <------R-----><-S-> + <----------O----------> ++
Fh (kHz) :37.88 +A (us) :26.4 +B (us) :3.2 +C (us) :2.2 +D (us) :20.0 +E (us) :1.0 + +Fv (Hz) :60.32 +O (ms) :16.579 +P (ms) :0.106 +Q (ms) :0.607 +R (ms) :15.84 +S (ms) :0.026 ++
+The following timings are used in VTG-KIT VGA monitor tester kit +sold my Data Sync Engineering. +
+
Mode Horiz Vertical Horiz Vert Horiz HSYNC Vertical VSYNC + Dots Lines KHz Hz Sync Pol Sync Pol + +VGA-480 640 480 31.5 60 3.8 us - 64 us - +VGA-400 640 400 31.5 70 3.8 us - 64 us + +SVGA I 800 600 35.2 56 2.0 us - 57 us - +SVGA II 800 600 37.8 60 3.2 us + 106 us + +SVGA III 800 600 48.0 72 2.4 us + 125 us + +XGA 1024 768 48.5 60 2.0 us - 124 us - ++ \ No newline at end of file diff --git a/docs/vga_ram.txt b/docs/vga_ram.txt new file mode 100644 index 0000000..0b14243 --- /dev/null +++ b/docs/vga_ram.txt @@ -0,0 +1,27 @@ +max 256k for upd7220 +mak 2mb for upd72020 +800x600 is *barely* possible with +32k sram is the largest available in dip with the speed neccesary +blanking area *may* be possible on chip. if not the chip produces the neccesary signals. some external logic +800x600 requires dividing pixel clk by 5 to get 8mhz signal clk +this all assumes 4 bit using memory pages + +128k + 32k = 160k +5x 32k sram - a lot of ram +160k is enough for 4 bit color at 640x480 +160k is enough for 2 bit color at 800x600 +simplest to implement, both are standard vga resolutions + +32k + 8k = 40k +1x 32k sram + 1x 8k sram - two diff chips +40k is enough for 1 bit color at 640x480 +40k is enough for 4 bit color at 320x240 or 320x200 +needs linedoubling for 320x240 +needs linedoubling and blank area for 320x200 + +32k +1x 32k sram - simplest, 1 chip +32k is enough for 1 bit color at 640x400 +32k is enough for 4 bit color at 320x200 +needs blank area for 640x400 +needs linedoubling and blank area for 320x200