Re: Anyone tried VectorVGA?

From: Zonn <mlists_at_zonn.com>
Date: Fri Jul 24 2009 - 01:01:46 EDT

I always thought of MAME as the perfect vector to VGA converter...

litterbox99@mchsi.com wrote:
> Looks interesting, but I thought the color vector system had
> an equivalent resolution of 1024 x 768. VectorVGA is 800 x 600,
> so I wonder what is lost in the conversion. It would be fun to
> play with on a LCD monitor, but you can't simulate the POV
> you get with a CRT.
The DVG's (Digital Vector Generators) had a resolution of 1024x768.
Their endpoints started on 1024x768 boundaries and then stepped the DACs
through a 1024x768 grid, making them pretty much equivalent to a
1024x768 raster monitor in resolution (however the vector's brightness
is a whole different story).

The DVG games were Asteriods, Lunar Lander, the Sega games, and Omega
Race (I might have missed a couple).

The AVGs (Analog Vector Generators), had no resolution, or rather their
resolution was based on how accurate they could control a timer. They
began in the center, and then used a couple of integrators to move the
trace at a constant speed. Since the speed was constant, they could keep
track of the trace's position by keeping track of how long it'd been
moving. The more accurate the timer, the more accurate your knowledge of
where the trace is currently located. Once the trace was where they
wanted it to be, they'd turn on the Z-axis (the electron beam), and
start moving the trace in the direction of the vector being drawn, then
turn off the beam, move to the next vector, turn it back on etc. There
was a drift problem, capacitors leak, and eventually you'd have to jump
back to the center to re-calibrate your position. During the vector
draw, the resolution was essentially infinite, and determine only by the
pixelation of the phosphor, and the width of the beam.

The CVG (Cinematronics Vector Generator), was a mixture of the two.
Like the DVG, it had 1024x768 starting points. It could jump directly
to a starting point, and from there turn on the beam and start the trace
moving, in a continuous, infinite resolution manner, similar to an AVG.
Since it was re-calibrated at the start of each vector, it had no drift
issues. It's problem was that the trace did not move at a constant rate,
but slowed down over time. The length of the trace was determined by
time how long it had been moving, making the timing a bit more complex
since it didn't move at a constant rate. The ZVG uses this type of
generator since it can emulate both AVGs and DVGs. The advancement in
microprocessors allowed me to have a very advanced timer (compared to
the original Cine'games), I can measure the length of a vector within a
single pulse of an 8MHz clock, giving me excellent accuracy in drawing
vectors.

That being said, I had looked at building a Vector to Raster converter
at one time and decided against it, for a couple of reasons:

1) Vectors rock! And a raster monitor will never have the intensity of
a vector display (try putting a piece of Tempest smoked glass in front
of a raster monitor and you'll see what I mean).

2) There was always going to be an issue with aliasing. The Atari vector
screens had a variable refresh rate that depended upon the number of
vectors being drawn. The Sega games had a 40Hz refresh, and the
Cinematronic games had a 38Hz refresh. A standard raster monitor has a
typical 60Hz refresh rate.

The first reason is why I chose not to build one. I have a vector
monitors, and being the arrogant bastard I am, I wasn't interested in
spending anytime on helping those less fortunate than me. Go ahead, hate
me. ;-).

But the second reason is a real issue, but may not make any difference
in reality. As you capture vector screens at a 60Hz rate, you will not
be able capture them on a full frame by frame basis. The majority of the
time your 60Hz capture will start in the middle of a frame, and end in
the middle of a frame, many times ending in the middle of a vector.
You'll end up capturing partial vectors from one frame, and unless the
next frame has the same vector you may miss the rest of it, chopping up
the vectors. I grabbed a couple of snapshots from their demo video to
show you what I mean:

   http://www.zektor.com/misc/vlcsnap-279610.png

Notice the partially drawn vectors, especially the vectors that change
intensity midway. None of the vector generators can change color or
intensities on the fly. These are caused by capturing part of a vector,
in one frame and the whole vector in another. Here's another shot:

   http://www.zektor.com/misc/vlcsnap-281895.png

The inside vectors may be part of the Tempest demo draw, and might be
purposely drawn that way. It's the banding and the intensity changes on
the outside vectors that I'm talking about.

A problem with making my point using this demo is that there are two
aliasing problems here. The first is the vector to raster capture, and
the second is the camera capture of an unsync'd raster monitor. The
aliasing problems associated with a video camera capturing a raster
monitor are well known and always lead to horizontal banding. (You see
it occasionally in a movie. Every horror movie seems to have a scene in
a cheap hotel with a cheap TV playing in the background with an aliasing
band running through it -- and a bloody hand hanging over the edge of
the bed, etc.)

Since the banding in this video is diagonal, I'm pretty certain, that in
this case, it's being caused by vector to raster aliasing.

Of course the question is: "Does anybody really care?"

While the resolution of the vector generators were 1024x768 or better,
the low resolution CRTs used by the WG6101, and Sega games, makes that
point moot. You might notice a difference on a Amplifone, but I doubt
it. Chances are the Amplifone brought the WG6101 "TV" resolution up to
something close to 800x600, making it similar in resolution to the
VectorVGA.

And the games are not a bunch of still captures, but are constantly
changing. The vector captures are being done faster than the vector
refreshes, so you should be able to capture all vectors that are present
for at least two frames, and if there *is* a vector there for only one
frame, you probably wouldn't notice it anyway.

But one thing you will notice is a blank screen on a vector monitor that
has gone kaput! Rasters are easier to find than vectors. And for game
play, a working raster monitor wins over a non-working vector monitor,
every time.

-Zonn

Notice the dia

>
> Todd
>
>
> -------------- Original message from Tim Soderstrom
> <tim@moocowproductions.org>: --------------
>
>
> > Has anyone tried one of these guys out?
> >
> > http://www.vectorvga.com/index.htm
> >
> > I ran into them while hopelessly Googling for something along these
> > lines. It sounds similar to a previous thread on Vectorlist about
> > making an FGPA to translate the vector signals into a rasterized
> > format. Seems to work pretty well and I was thinking of getting it
> > just because my monitor seems to have gone kaput and I don't have a
> > great way to repair it.
> >
> > Thoughts?
> >
> > Tim
> >
> ---------------------------------------------------------------------------
>
> > ** Unsubscribe, subscribe, or view the archives at
> http://www.vectorlist.org
> > ** Please direct other questions, comments, or problems to
> chris@westnet.com
>

---------------------------------------------------------------------------
** Unsubscribe, subscribe, or view the archives at http://www.vectorlist.org
** Please direct other questions, comments, or problems to chris@westnet.com
Received on Fri Jul 24 01:01:46 2009

This archive was generated by hypermail 2.1.8 : Fri Jul 24 2009 - 22:50:00 EDT