Re: vectorbeam hardware

From: Zonn <zonn_at_zonn.com>
Date: Sat Nov 27 1999 - 18:06:15 EST

On Fri, 26 Nov 1999 17:39:45 -0800 (PST), Adam Wiggins <adam@angel.com> wrote:

>
>Thanks everyone for your replies. I am now much more enlightened about
>this stuff.
>
>On Fri, 26 Nov 1999, Zonn wrote:
>> [generating vector slopes with digital hardware]
>> The disadvantages are the very fast sample rate needed to run these DACs. I
>> believe I calculated this out to be a 3mhz sample rate. (maybe it was 1.5mhz).
>
>Understood. Obviously modern processors have no trouble at all generating
>values at this rate, but you need a DAC which has a settling time of 334
>nanoseconds (assuming 3mHz) or 667 nanoseconds (assuming 1.5 mHz).
>Most analog out boards for the PC are in the range of 2 to 70 microseconds,
>which is way too slow in either case. I did locate one that has a settling
>time of 35 nanoseconds, but it ain't cheap.
>
>
>So, what you seem to be saying is that an effective digital vector generator
>is theoretically possible, but has never actually been done.

No, actually, as stated earlier, Atari pulled it off for Asteroids, and by
"osmosis" so did Bally in Omega Race. I believe the Sega systems also uses a
Digital Vector Generator.

>In this case
>I'd be inclined to go the tried-and-true method, since it seems to be
>perfectly effective and is proven. :)
>> The hardware for doing this is much simpler than the digital solution. And
>> since the line moves at the same speed regardless of direction, there is no
>> intensity problems.
>>
>> But since they are both open loop analog solutions, the CPU is never quite
>> sure where the beam is, and programming is all done on faith -- depending
>> upon a hardware tech (in our case the owners) to adjust the analog sections
>> so they work properly with the CPU. In practice it works pretty well, but
>> even on the best aligned systems it is impossible to get all the test
>> patterns on a Tempest or Star Castle to line up EXACTLY right.
>
>Understood, but honestly looking at Battlezone and Star Castle (the two
>working vector games that I currently own) they look just fine.
>Better yet, using the analog solution means I don't have to pump data to the
>DAC manually at such a high speed, and I can stick to a low-speed output
>on the PC (such as serial or parallel, although they are both only 8 bit).

An 8 bit DAC only allows you to split the screen into a 256x256 matrix of
starting points. This works ok for the small Vectrex screen, but will be rather
jumpy on a 19" monitor. For reference the Cinematronics screen is divided into
a 1024x768 display and if you watch carefully you can see the space ships in
Space War jump from point to point as they slowly drift around the screen.
>
>So I guess I want to steal the vector generation hardware from somewhere.
>I think I'd like to duplicate the hardware that is actually on the Cinematronix
>monitors; the only problem is that it is tangled up with the monitor deflection
>hardware. Looking at the schematic, it's not immediately obvious to me
>where I could "cut" the circuit in order to end up with a basic +-5V (or
>whatever) suitable for a Vectrex monitor input.

Well, with very accurate timings you could use the Cinematronics vector
generator already built into the Cinematronics monitor, since all but the timers
are built onto the monitor.

The PC would have to setup the X and Y DACs with the starting position, wait the
proper amount of time for the trace to get there. Set the X and Y DACs to a
pre-calculated position that is *way* off the screen, wait a very short, and
precise, amount of time, turn on the Beam, wait a very precise amount of time
while the vector draws, turn off the beam and reset your DACs before the trace
goes flying off the edge of the screen and tries to take out a couple of drive
transistors with it. This is just what the Cinematronics CPU does, and it does
it all digitally so it's a good place to tap into.

I've always thought that the easiest way to connect a PC to a vector monitor
would be to use a Cinematronics monitor connected to an AVR (or a PIC or a high
speed 8051, etc) which would be used to control all the timing needed by the
monitor. All that would be needed would be some type of high speed interface
between the PC and the AVR. My gut feeling is that an IEEE parallel interface
could probably handle the speed.

And if that hurdle was ever solved, then re-creating the Cinematronics analog
section would be relatively easy. Cinematronics is the simplest of the
different hardware systems. And it has the advantage of being able to jump
directly to any starting point, allowing it to emulate any of the other vector
hardwares. It can follow the direct jumps allowed in the Atari DVG (Digital
Vector Generator), and of course can do anything the AVG (Analog Vector
Generator) and Vectrex, can do, assuming all zooming (and other special effects)
are handled by the emulation software -- which could possibly be off loaded onto
the AVR CPU.

Now if we only had a decent source of X/Y monitors, a new X/Y gaming platform
would be very feasible. (And with the proper software could accurately emulate
all the old games!)

>Another possibility would be to "tap into" an existing vector game board,
>say Battlezone. Of course, I wouldn't want to damage the board, so I'd want
>to do something like removing a socketed chip (say, the CPU) and then plugging
>in a ribbon cable that comes from the digital output on my PC. Of course, this
>would also require me to stick a huge PCB in between my computer and my
>Vectrex; obviously I'd get over it, but it does seem a bit silly. :)
>
>If you guys have any recommendations I'd love to hear them.

Well, you could learn 6502 assembly language and program a Battlezone directly!
Or dare I suggest learning the Cinematronics instruction set?

-Zonn
Received on Sat Nov 27 17:01:47 1999

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:32:29 EDT