How to generate a 320x200 VGA signal?

May 25, 2004 3 Replies

Hi. I'd like to build an 80s-style display controller, but I want to output the image to a VGA monitor.



I've seen references to a 320x200 "doublescan" mode, and an XFree86 config file that specifies the timings as:


15.75MHz horizontal, 37.9kHz vertical. 85.3Hz. H: 320 336 368 416 / V: 200 200 202 222

I believe the numbers mean: 320 pixel Video. (336 - 320) = 16 pixel R.Border + F.Porch. (368 - 336) = 32 pixel H.Sync. (416 - 368) = 48 pixel B.Porch + L.Border.



200 line Video. (200 - 200) = 0 line B.Border + F.Porch. (202 - 200) = 2 line V.Sync. (222 - 202) = 20 line B.Porch + T.Border


I have a couple of questions:


  1. 416 x 202 x 85.3 = 1/2 15.75MHz specified, so I'd like to know how the doublescan mode works.

Is it an interlace mode? If so how do you wiggle the VGA connector pins to signal odd/even frames?



Or is it really a 320x400 mode, with every line output twice?


  1. The vertical timing suggets a zero Bottom Border and Front Porch. Is that right? Does the V.Sync come immediately after the last video line?


  1. Ideally what I would like is 320x200 @ 60Hz (or 320x400 @ 60Hz if that's how doublescan works). Can anyone suggest the video timings for that?



Thanks, Paul.


[SNIP]

Take a look at the VGA controller at

formatting link

Regards, rudi ======================================================== ASICS.ws ::: Solutions for your ASIC/FPGA needs ::: ..............::: FPGAs * Full Custom ICs * IP Cores ::: FREE IP Cores ->

formatting link

Here's a design using 640x480 VGA.

formatting link

Here are a couple of interesting options:

formatting link

formatting link

The second link is to a page in Japanese, so you'll need to hunt around for the links on it to the actual source files. The cool thing about it is that it appears to be a recreation of the TI TMS9918A video display controller that was used in a number of 80's computers and videogames.

Ed

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required