How VGA Works

preview_player
Показать описание
As I lift my head up from a project that took far more time than I intended it's time to take a look at it. But we really need to understand VGA as an interface before we start on that. So here is how VGA works and what some of the challenges are with it.

The next video will be all about capture VGA and really needeed this to be covered as a primer for it to make sense. Putting both in one video would have been way too much information and this project is probably going to be broken out into 3-5 videos as it is anyway because it was so complicated. I've actually been working on this since April but made a push this last month to finish it so I could just have it done. Based on how complicated this series is going to get, I think you'll understand why it took so long.

Other Links
Рекомендации по теме
Комментарии
Автор

I like that VGA's analogue nature means the max resolution is hypothetically infinite.

LloydLynx
Автор

the wobbly table is giving me anxiety. great video though, learned a lot.

dixie_rekd
Автор

Oh god I could rant about TVs which force overscan on HDMI input for an hour ...

IsaacKuo
Автор

7:50 OH MY GOD! I have a dial on my car dashboard that turns the brightness of the dash lights up and down. Every time I've used the dial over the past 5 years I got some really strong nostalgia and couldn't figure out why. It wasn't until now that I realize it's the same texture and feel of the dials on the bottom of my old family CRT that my dad would always get mad at me for messing with as a kid 😂

ZachHixsonTutorials
Автор

A relatively interesting fact is that even though HDMI is a digital video standard, its video signalling a direct descendant of DVI, and DVI retains the synchronization pattern from VGA with HSYNC and VSYNC surviving as two control bits. DVI keeps the front and back porches alive and HDMI even makes use of them by optionally encoding audio and auxiliary data signals into blanking intervals. (The funniest part of the spec is the sentence that goes roughly like "each data packet is 32 pixels long")

I suspect that DVI was designed to be implemented by replacing the DAC with a high-speed serial transmitter and leaving the rest of the video chip intact (knowing the hardware people, I don't think it's too far from the truth) and the spec is explicitly permissive of pixel timings, so we're lucky that modern displays work at all with all that legacy.

sync_loss
Автор

One day I connected a 32 inch LCD TV to an old PC (Pentium I or III, don't remember which) with an S3 video card through a VGA cable, started some DOS-based hardware identification software (hwinfo maybe) and it showed information about the TV (maker, type, size, a few things). I hope you will talk about this identification protocol, I did not know about it.

Flashy
Автор

I feel so inadequate watching this highly excellent technical video on the old VGA standard... Please continue making these videos where I can feel small and learn stuff...

jacobdrj
Автор

I was born watching 4:3 CRTs,
Molded by them,
I didn't own a Widescreen LCD TV until I was a man!

ObiTrev
Автор

Notice the VGA's 31KHz horizontal sync rate is almost exactly double the 15KHz NTSC horizontal sync rate, and the original CGA/EGA 200-line modes were 15KHz NTSC compatible modes.

TheGreatCodeholio
Автор

I'm perplexed about the last bit. Sure the high frequency signals needed for high-res/high-refresh modes certainly needed good quality cables, but what do you mean you don't know if it's worth it? Not only was it worth it, but it was absolutely necessary. Good quality CRT monitors with low-persistence phosphors at 60hz (and at high resolutions) are headache inducing after a few minutes, nobody I know would ever run a CRT at anything lower than 75hz, and for me 85 and up was extremely desirable. And given good quality cables and connectors, the picture quality is excellent, no degradation at all. I have no idea how they managed that, it seems like black magic to me, but they absolutely did.

jtsiomb
Автор

9:55 "and why HDMI Overscan is stupid"
I have the same emotions...

Peluchinan
Автор

Technology Connections youtube channel said so many times that there's no defined resolution for analog signal. It's just artificially divided into lines.
VGA adapter has just two modes 400 and 480 lines. Many cards don't even display 350 line mode, but use 400 line mode drawing 50 lines black.
Even though VGA adapter is complicated hardware mess with tons of registers that can set a lot of different modes, almost all of them use 400 or 480 lines. VGA has unique 'double scanlines' in low-res 200 and 240 lines modes, because hardware displays each line twice.
Base VGA cards are also able to display 600 line modes in 56 Hz. Windows 3.x SVGA 800x600 16-color driver will work on any VGA card, but monitor capable of 600 line modes might be required.
VGA cards can display various modes at 200, 240, 300, 400, 480 and 600 lines. Some games also support 224 and 256 line modes, but my (S)VGA cards synchronize display to higher line counts. Horizontal resolution can be really anything. It's just analog signal. It can be as low as 240 and as high as 800. I've encountered software that used: 240, 256, 296, 320, 360, 400 horizontal resolution. DOS Quake shows this really well offering horizontal resolution of 320 and 360 pixels at 200, 240, 350, 400 and 480 vertical lines. These are all basic VGA modes. Highest 256-color VGA mode is 400x600.

Ironically VESA modes aren't that flexible, but VESA is just simpler and better. VGA is limited to 20-bit memory addressing of x86 real mode. Which maps only 64 KB window of video memory above base 640 KB. VESA compatible cards have newer 32-bit memory address mode, where linear frame buffer is located at the end of 4 GB address space.
However when VESA was finally getting popular it was killed by Windows 95 and graphics drivers. VESA never had a chance to evolve into dedicated low-level graphics API with increasingly more advanced features, maybe OpenGL or hardware 3D support in general being added. All GPUs are still VGA/VESA compatible, but just as a way for OSes to display GUI on every GPU without specific drivers.

Leeki
Автор

So VGA is Video Graphics Array.
Then SVGA is Super Video Graphics Array.
Then XGA is *Xtreme* Graphics Array?
jk

MegaDeath
Автор

High refresh is one of the only reasons I'd keep a CRT PC monitor in my room lol

hi_tech_reptiles
Автор

The concise script and clear explanation is REALLY appreciated. Thorough yet still entertainaing content.

mailong.botega
Автор

A really great explanation of a very confusing topic, although I kept get distracted by the wrong color and color changing color bars on the monitors.

jessicam.
Автор

This is a great presentation, Shelby! The quality content just keeps getting better and better on this channel :)

mushroomsamba
Автор

Love the beard. It makes you look like a Musketeer .

MontieMongoose
Автор

I made a device for a visually-impaired friend, a matrix switchbox. A charge pump to turn the +5V available off the VGA port into +-5V, which drove a high-frequency three-channel fixed-gain amplifier (AD8075), then a set of three 1P4T switches with 75Ω resistors. Pass all the sensing pins and sync straight through. A handy little box with three switches that let you manipulate the three color channels in VGA - swap them around, remove one, duplicate one onto two or three.

Have trouble on games because you are red-green color blind? Swap the green and blue channels, and those red/green meters turn into red/blue meters you can see more easily.

Doing the same on HDMI would require far, far greater electronics skill - you'd need to program an FPGA. But on analog I could not only do all that on analog processing, I did it almost entirely on stripboard too - the only SMD part I needed was a tiny carrier board for the amplifier. Did have to keep all the wires as short as I could though, at that sort of frequency. I was really surprised that there was no visible loss of quality, even at the highest resolution my monitor could handle.

vylbird
Автор

Looking forward to the next installment!

compu