Frequently Asked Questions, Page 1

Last updated on June the 8th, 2001.


Frequently Asked Questions:

1 - So, what's all this about?

2 - Where are the schematics and/or the PCB layout files?

3 - Do I need to do that hardware thing?

4 - It doesn't work on my system! (or) Can I use my video board with this?

5 - Does it work under Windows?

6 - I need a new version NOW! This one is crappy on my PC.

7 - So, how does this whole thing work, anyway?

8 - I'm really interested in all this. How can I contribute to your driver? (not that I ever got more than a couple of these...)

9 - I want to do a similar driver for me/operating system X/video board Y. Would you help me? Can you send me the source code?

10 - When will you upgrade the driver?

11 - This is a very interesting subject. Could you explain how one goes on about doing a new video mode, how similar is a TV and how difficult it is to get a video card to comply with it's timings?

12 - 640x400x256 colors? 768x432x16 colors? Wow! But...how?

13 - I'd like to know if you can build and sell me one of those converters. How much would that cost?

14 - I'm running the driver on a laptop and it doesn't work. Why?

Frequently Replied Answers:

1 - So, what's all this about?

VGATV is a resident DOS program, that will reprogram your video board after an application sets a new video mode, so that the refresh rates are compatible with the user's TV system, be it PAL or NTSC.
This project exists because at the time there were no VGA boards with TV-Out, and today's boards have lousy quality when compared to what this approach can get you. A picture that is *exactly* what your board produces. No digital processing, no filtering, no scan conversion. Just pure VGA picture.

The need for this program appeared because the drivers at the time (1996-1997) were not sufficiently compatible with SVGA, and me being an adventureous guy, decided to have a go at it. At the time, the main mentor was Tomi Engdahl, who had a driver, but as the others, very limited, like his time for development (much like me). His conversion hardware was also RGB based, and both my VCR and TV didn't had SCART (RGB), only RCA inputs. I needed another way.

So, based on some datasheets, an Amstrad MP1 modulator schematic I got on the net, by Bruce Abbott, I did a RGB->composite video adapter based around Motorola's MC1377P chip. This was done in November 1997.

It worked first time (!) but was only black and white. I was beginning to think the hardware was bad, when I found the problem wasn't the hardware, but the software driver being used, SCART.EXE. Another reason to do my own driver. All other drivers did the same, though they would work fine using a SCART.

So, I began doing my driver. After some experiences on VGA2PAL, a test program I made, I got these working video modes: 640x480x16, 640x400x256 colors (on a standard VGA board!), 768x432 (16:9 leterbox), a text mode and a compressed 16:9 mode, which I recently tested on my Sony WEGA 16:9: doesn't appear with the correct aspect ratio :-)

After that, I made VGATV 1.0 in 2 days (Thursday and Friday of a week and year I forgot). This driver supported all standard VGA modes, and no SVGA mode. It also supported mode-fixing on-the-fly. VGATV 2.x+ still hasn't this. It consisted on (re)reprogramming a video mode, should an application reprogram it by itself. Demos and certain games did this (320x400 or 320x480 modes come to mind).

Then I noticed that many similar modes had the same setup values, so I thought that using a table I could setup any mode regardless of being VGA or SVGA, from a supported chipset or not. Thus, VGATV 2.0 was born.

It was harder than I thought, because besides interlacing, I needed to also setup some other specific registers on the chipsets, making things a bit more harder. This was around the end of Jan'97, beginning of Feb'97. VGATV 2a3 (alpha 3) was pretty good, despite the fact that some features were not working and chipset support was limited to Oak really, and that's why I say it was good, because it worked perfectly on my Oak-087 at the time :-)

After that other projects popped up, notably my teletext decoder, and then a commercial database program, and in Nov'97 I began working 300Km away from home. At this time, having free Internet access, I built my web page on Jan, 8th, 1998.

At that time, I worked a bit on the driver, but after a month, I decided to build another converter, since the one I had was in a bit of bad shape (being the first version and all). Problem was I only built the new one more than a year later. Was worth the wait, though.


2 - Where are the schematics and/or the PCB layout files?

You can find the schematics in VGATV's hardware page. The schematics are in 3 formats: native Tango-Schematic 1.20, Postscript format and as GIF bitmap. For the Postscript file, you can download GhostView/GhostScript from the URL given.

As for the PCB, I originally used Tango-PCB, but the file didn't had any mention of component values or types, only drilling holes and component shapes. It also was made to fit my unusual box I had at the time (non-rectangular). And some components end up getting on top of each other, so you better wait a little longer for the proper PCB file (in Tango-PCB).


3 - Do I need to do that hardware thing?

Not really. You have 2 (well 3) options:

- You can use a regular 15Khz monitor (those from Amigas, Ataris, probably old VGA monitors as well) that takes a VGA input;
- You can just use a simpler RGB->SCART cable, simplifying the whole process a lot. Quality will also be better, though you won't be able to record on VCR. And composite isn't *that* bad... You can find alternative schematics on these pages:

http://www.hut.fi/Misc/Electronics/circuits/vga2tv/, Tomi Engdahl's site;
http://www.platino.it/guests/dario/vga.htm, or
http://www.yi.com/home/GiulianiClaudio/progett1.htm.

- You can try finding an alternate chip, besides the MC1377. The MC1377 is about 16 years old, and newer alternatives such as Analog Devices AD725/724/722 are much better suited, having a much less passive component count, probably better quality, simultaneous composite and SVHS output etc. You can find their links on the main page. This means you must be doing the layout and schematic. If you want, you can have it posted here as well, fully credited of course.


4 - It doesn't work on my system! (or) Can I use my video board with this?

Because video chipsets aren't all alike, this means certain required features are very hardware dependent. Since my source of information isn't unlimited, the boards I have don't cover everything under the Sun, and my time problem, you may have to wait for a future version.
If video boards were fully compatible with standard VGA, a much higher success rate would be possible.
This happens when you get beyond standard VGA modes as well. Also remember that 3D boards only AREN'T supported. The main 2D video chip is responsible for display timings, so the 3D chip just takes care of the 3D part of video. Don't ask about Voodoo support, therefore...


5 - Does it work under Windows?

Yep. The Windows version can work under Windows 95/98/NT4/2000 and more than likely Millenium.

  It probably doesn't work under Windows 3.x, but the DOS version might, depending on the video driver. If the driver uses BIOS to set a mode, most likely it will work as well as in DOS on the same machine. If not, well, it doesn't! Usually it does, though.


6 - I need a new version NOW! This one looks crappy on my PeeCee.

Not on your life, pal. Have some manners first, and remember people aren't here to serve you, only because they like to help others. Be glad with what you have.


7 - So, how does this whole thing work, anyway?

For an even more elaborate answer, read about reply #11.

When your application switches video modes, it does so usually by calling a function on your video BIOS. This function will program some specialized registers (much like variables) on the video chipset, which in turn, based on the values loaded there, will read the video memory at a certain rate, in a certain manner, and build an image which is then sent to the board's video DAC (Digital to Analog Converter), which will create an image compatible with a VGA monitor, in component (RGB, Red Green Blue) colour.

VGATV interrupts this process at the point where the application asks for a new video mode. VGATV will intercept the call, issue it by itself, but will take control of the machine before returning it to the original calling application.

After the video mode is set by BIOS, VGATV will start analyzing the current video mode and, depending on it's definition, will then readjust those registers I talk above so that the image is sent down to the DAC at a slower rate, so that the final image timing is compatible with that of TV.
This is because TV works at a different scan rate (number of complete images per second) than regular VGA, usually slower than VGA.
TV is also interlaced. Original electronics to drive the first TVs weren't fast enough to cope with the video rate, so people thought of a way to send a complete image at a slower rate, thus allowing those slow TVs to show a complete picture. The same happens on old (and not so old) VGA monitors, when they can't handle a too high resolution and/or a too high refresh rate (frames per second).
Interlacing consists of sending first the odd lines of an image (1,3,5...), top to bottom, left to right, and when the TV's electron beam reaches the screen's bottom, it returns to the top of the image and will now fill in the blank lines with the even numbered lines (2,4,6,...). So, instead of displaying a full image in a go (525 lines if NTSC, 625 lines if PAL and I think 819 lines SECAM), the TV only has to draw half of them each time, thus reducing by half the performance needed for displaying.
On the other hand, VGA is usually progressive scanned, in which the whole image is drawn top to bottom, without interruptions, reducing flicker (image tremulation). As I said above, however, when the monitor can't keep up (like those old TVs), users also have the option of turning interlace on to compensate.

After all is done, VGATV returns control to the calling application, which will use the screen just like nothing has happened. Problems may happen, though, when the application reprograms the video mode expecting it on a certain state, which it isn't anymore, thus causing the picture to become unstable, unreadable both by TV or a VGA monitor. However, these situations are rare, and only demos (multimedia DOS demonstrations ;-) and some DOS games usually do it.

Now, at this point the image is being sent down to the VGA output, completely inside TV specs. However, there are very few TVs with VGA inputs. We need to have a way to convert the component signal (RGB) into a way the TV accepts. Normally, these are composite video, where the whole signal travels together (worse quality), S-VHS or Y/C signal, where the luminance signal(Y) travels separated from the chroma/colour(C) signal, thus attaining a quality similar to RGB, and finally component/RGB video itself, for the best quality possible.
SCART/Euro-AV is a standard type of plug that accepts both RGB or composite video, or Y/C and composite video, depending on the TV (there are usually 2). This is the preferred way of connecting the VGA to TV, if recording is not intended, and the best quality is what is required. It's also very easy to interface it to the VGA card as the only electronics needed are for mixing the synchronization signals together (and I've heard you can just join the wires together and it will work, though I haven't tested it).
If you want to record your videos, animations, presentations, etc, onto video tape, you must either use composite video or Y/C (SVHS) video. As said, the SCART has a provision for Y/C, and since Y/C is about the same quality level as RGB, you may have both the good quality and the option of VCR recording. Note that getting Y/C from RGB is as hard as getting composite video, so be prepared.
Composite video is the most compatible and universal way of connecting a video equipment. It's also the hardest to get in terms of video interfacing between VGA and the TV/VCR. This is because the signal that travels completely seperated (RGB+Sync) must be mixed together into one signal only. This also introduces some artifacts, lowering the signal quality, which isn't so bad, considering that TV broadcast is done using composite video...

Hope this has been simple enough to understand.