Vectors, or “My Man Inf Left A VEC and a 9 At My Crib”

So awhile back my man Andrew Reitano dragged home a vector monitor from an old Asteroids arcade cabinet.
Here’s what we’ve done with it so far:

It was a long road to get there!
For those of you born after the cold war, Asteroids was a hugely popular game by Atari which used a now-obsolete style of monitor. If you haven’t played one in an arcade you owe it to yourself to do it, because they look like nothing else. The phosphor artifacts are trippy and beautiful.

Anyway, the trick with these things is that they get driven more like an oscilloscope than like a normal TV or raster monitor. Meaning, you send them voltages and deflect an electron gun to a certain spot on the screen, rather than drawing an image out line by line like an NTSC or RGB display. This presents all kinds of problems.

First, you have to move this electron gun at an even rate, and you need to do it on a halfway stable and reasonably fast way. I think Asteroids drew at 4MHz, meaning you needed to be pushing the gun that often AND slewing a beam that fast. After blowing up a handful of output transistors in the monitor, we came up with these:

VEC9_FPGA_and_Amp_small

That’s a Xilinx Spartan-3E FPGA on a Nexys2 dev board which Andrew programmed to be our vector generator, and a DAC/Amplifier board I designed to sling the beam around at 20 MHz and 12-bit resolution. First thing we did (this was with some gnarly R2R dac) was get a cube to display on the scope (I think the monitor was still fried from earlier “tests”). It kinda sucked:

Vec_test_05_small

Encouraged, we got drunk, fixed the monitor, Andrew wrote a rasterizer and we put the patron saint of Bed Stuy on the screen. It sucked less:

Vec_test_02_small

By then we were pretty sure we had a new arcade game in the works and the heavy lifting started. Andrew tuned the hell out of the VHDL and got the FPGA tweaking all kinds of gun parameters. I fixed the amp a couple times to get it running that gun right, and both of us spent a lot of time coding in C. I’ve wanted to make video games ever since I was a kid, but somehow this was my first foray into coding 3d rotations, particles, dynamic memory, and a lot of other generally non-embedded stuff. It ruled. We got to the point where we could rudely waste 3d polygons:

VEC9_Screenshot_Jul25_small

We wrote a storyboard about the Soviet Union blowing up Chicago, threw in a bangin track by Nicholas “Windbreaker” Read and coded a chaingun. Lastly, one awesome thing is that since we’d basically made a vector “video card”, it was not too hard to generate a commlink / stores display / HUD using a monochrome VGA display, running as a secondary monitor. It looks amazing!

We’re pretty sure we’re on our way to a totally kickass arcade cabinet once we get the real game coded. If you know what we should do with this hot mess once we’re done, hit us up!
TB, August 2013

Tags: , , , , , , , , ,

13 Responses to “Vectors, or “My Man Inf Left A VEC and a 9 At My Crib””

  1. Todd Kurtzer Says:

    Вы сделали люди гордые!

  2. PTAY Says:

    http://blog.narrat1ve.com/wp-content/uploads/2013/08/Vec_test_05_small.jpg

    … money.

  3. Vectors, or “My Man Inf Left A VEC and a 9 At My Crib” VEC9 + commlink « adafruit industries blog Says:

    […] Vectors, or “My Man Inf Left A VEC and a 9 At My Crib”. […]

  4. SteveC Says:

    Try some openlase with a laser projector next…
    http://jv4779.blogspot.com/2013/03/laser-projector-playing-mame-vector.html

  5. pete teel Says:

    F those commie cubes.
    They’re finally gettin what we should have gave em back in ’45.

  6. Making vector arcade games with an FPGA Says:

    […] drawing lines. When [Todd] and [Andrew] got their hands on a monitor from an old Asteroids cabinet, they knew what they had to do: build their own vector arcade […]

  7. Xtrasmiley Says:

    Go here and have Clay Cowgil add this game to the new mulit-vector board he is making. It will be a drop in for Asteroid machines and with this game it will be more awesome!!!!

    http://forums.arcade-museum.com/showthread.php?t=245586

  8. tomh Says:

    You ever see the Star Wars vector games? One version was of course the flight down the Death Star channel to pop the reactor. Just like the movie and very cool!

  9. Community Corner: This Week in Adafruit’s Community 8/9 – 8/16 « adafruit industries blog Says:

    […] of Asteroids, “Batslyadams” shared: “Vectors, or ‘My Man Inf Left A VEC and a 9 At My Crib.’ Commlink […]

  10. Quaintized Quich Quelling | The Amp Hour Electronics Podcast | Keep Current Says:

    […] Bailey and friends worked up a badass demo showing off a vector screen and all the hardware involved in driving it at 4+ MHz for a game they invented. It reminds Dave of […]

  11. Malcolm Stumpf Says:

    This is so fuckin cool, i love Vector display graphics. I really hope you finish a cabinet, i don’t think anyone else makes homebrew vector games.

  12. AVR video synthesizer and an analog video game prototype | Bits & Pieces from the Embedded Design World Says:

    […] some of you may have known or been involved in, a couple buddies and I have been working on a new arcade game using old vector monitors to take advantage of how beautiful and alien they look.  We built an FPGA-based vector generator, […]

  13. Jason Says:

    This game looks sweet! If you’re looking to give it a home when you’re done maybe you should hit up Zespy at http://logan-hardware.com/ so I can walk down to the corner and play it all the time. Nice work!!

Leave a Reply