Light Replaces Electrons for Giant Vector-Graphics Asteroids Game

For all its simplicity, the arcade classic Asteroids was engaging in the extreme, with the ping of the laser, the rumble of the rocket, the crash of crumbling space rocks, and that crazy warble when the damn flying saucers made an appearance. Atari estimates that the game has earned operators in excess of $500 million since it was released in 1979. That’s two billion quarters, and we’ll guess a fair percentage of those coins came from the pockets of Hackaday’s readers and staff alike.

One iconic part of Asteroids was the vector display. Each item on the field was drawn as a unit by the CRT’s electron beam dancing across the phosphor rather than raster-scanned like TV was at the time. The simple graphics were actually pretty hard to create, and with that in mind, [standupmaths] decided to take a close look at the vector display of Asteroids and try to recreate it using a laser.

To be fair, [Seb Lee-Delisle] does all the heavy lifting here, with [standupmaths] providing context on the history and mathematics of the original vector display. [Seb] is a digital artist by trade, and has at the ready a 4-watt RGB laser projector for light shows and displays. Using the laser as a replacement for the CRT’s electron beam, [Seb] was able to code a reasonably playable vector-graphic version of Asteroids on a large projections screen. Even the audio is faithful to the original. The real treat comes when the laser is slowed and a little smoke added to show us how each item is traced out in order.

All [Seb]’s code is posted on GitHub, so if you have a laser projector handy, by all means go for it. Or just whip up a custom vector display for your own tabletop version of Asteroids.

Continue reading “Light Replaces Electrons for Giant Vector-Graphics Asteroids Game”

Raindrops On An Oscilloscope

Something very beautiful appeared in our feed this evening, something that has to be shared. [Duncan Malashock] has created an animation of raindrops creating ripples. Very pretty, you might say, but where’s the hack? The answer is, he’s done it as a piece of vector display work on an oscilloscope.

He’s using [Trammell Hudson’s] Teensy-powered vector graphics board. We’ve featured this board before, but then it was playing vector games rather than today’s piece of artwork. The ‘scope in question is slightly unusual, a Leader LBO-51, a device optimized for vector work rather than the general purpose ‘scopes we might be used to. The artwork is written using Processing, and all the code is available in a GitHub repository.

So sit back and enjoy the artwork unfolding in the video. We look forward to more work featuring this hardware.

Continue reading “Raindrops On An Oscilloscope”

32C3: Vector Video Games

There are a few classic video games that rely on vector graphics and special monitors. Asteroids is incomplete if you’re not playing it in its original arcade format. The same goes with Tempest, Lunar Lander, and the 1983 Star Wars arcade game. Emulation of these games is possible, even with MAME, but the display – like every display you can buy today – is still rasterized. The solution to this problem is to create a vector display output for MAME that works in conjunction with adapter boards and DACs connected to a monitor.

For this year’s Chaos Computer Congress, that’s exactly what [Trammell Hudson] and [Adelle Lin] did. They’ve created an open source vector gaming system that connects MAME to XY monitors and oscilloscopes.

The build uses a custom board equipped with a Teensy 3.1 microcontroller and a 12-bit DAC to convert XY coordinates sent by MAME to vectors that can be displayed on any XY monitor. This, of course, requires a patch to MAME, which the maintainers rejected as being an, “unacceptably hacky way to achieve the intended result.” It does achieve the intended result, though: allowing dozens of vector games playable on whatever monitor supports vector graphics.

So far, [Trammell] and [Adelle] have gotten their system working on Vectrex consoles, analog oscilloscopes set to XY mode, and vectorscopes that litter every broadcast station and surplus shop. Check out [Trammell] and [Adelle]’s talk, and if you want to build the vector display driver, the board is available from OSHPark.

Building a Vector Monitor Controller

[fredkono] has a few vintage Atari arcade boards sitting around, and without the rest of the arcade machine – especially the XY CRT – these boards would continue to gather dust. The solution to this terrible shortage of vintage video games was to build a vector monitor from scratch. No, that doesn’t mean building a new CRT, but it does mean rewiring the yoke and building a CRT controller board for tubes salvaged from small, old TVs.

Nearly all the CRTs you’ll find at your local goodwill or surplus shop are raster displays. The CRTs used in the old Atari games were vector displays and extremely similar to the tubes found in old oscilloscopes. [fred] turned the CRT found in an old 9″ color TV into a vector monitor by rewinding the yoke.

With the tube rewired, it was only a matter of connecting the custom deflection circuit boards and getting the old arcade boards running. The images drawn with the new yoke deflector board are great and produce fine, crisp lines of some of the most famous video games in history.

The Open Hardware Driver For CRTs

driverCRTs are the king of displays for any homebrew project. They have everything – high voltages, high vacuums, X-rays, and the potential for a vector display – that makes a project exude cool. Getting an old CRT up and running, though, that’s another story. Never rear, because now there’s an Open Hardware eletrostatic CRT driver for your next display.

[Eric] designed a driver circuit that should be able to send a picture to most 2″, 3″ and some 5″ electrostatic CRTs, the kind found in ancient TVs and oscilloscopes. The 1kV power supply uses a transformer usually found in a CCFL bulb, and is able to produce several milliamps. You’ll want to keep one hand behind your back when working on this.

The driver circuit takes a 0-3.3V analog signal for deflecting the beam along the X and Y axis. The amplifier has enough bandwidth to handle NTSC video, so displaying video along with vector letters and shapes is also a possibility with this circuit. Most of the files are available on the git, with three boards available to be ordered from OSHPark.
Thanks [Mike] for the tip.

Vector Graphic Flappy Bird Harder Than It Should Be

The dark room at Maker Faire was loud,  after all it’s where Arc Attack was set up plus several other displays that had music. But if you braved the audio, and managed not to experience a seizure or migraine from all the blinking you were greeted with these sharply glowing vector displays on exhibit at the TubeTime booth. We did the best we could with the camera work, but the sharpness of the lines, and contrast of the phosphorescent images against the black screen still seems to pop more if viewed in person.

This isn’t [Eric’s] first attempt at driving high-voltage tube displays. We previously covered his dekatron kitchen timer. But we’d say he certainly stepped things up several notches in the years between then and now. He blogged about Asteroids, which is running on the same hardware as the Flappy Bird demo from our video above. An STM32F4 Discovery board is running a 6502 emulator to push the game to [Eric’s] CRT vector driver hardware.

Just before we were done at the booth, [Eric] turned to us with a twinkle in his eye. He confessed his delight in purposely leaving out any button debounce from the Flappy Bird demo. As if it wasn’t hard enough it tends to glitch after passing just a few of the pipe gates. Muhuhahaha!

Vector Display Output on an Oscilliscope


What can we say, we’re a sucker for projects featuring our logo. That being said, this one is seriously awesome. [CNLohr] has figured out how to create a vector display output on an oscilloscope… from a VGA port.

He was inspired by a game called Trace Vector, which is done in the same style as some of the old classics like Asteroids. This got [Charles] thinking, and he decided to see what it would take to make his own vector capable display. An oscilloscope is perfect for this, as it already works by controlling the position of the beam (like a vector), as opposed to standard LCDs and CRTs that use rasterizing (horizontal scanning). This means to get the oscilloscope to display a graphic, all you need to do is to vary the voltages going into the X and Y channels — well, at a high speed!

But where are you going to find such a high speed digital to analog converter? Oh yeah, your computer’s VGA port! For a few dollars [Charles] threw together a VGA adapter with a few resistors using just the red and blue outputs (source code). A bit of programming later, and he’s created his own vector display!

Stick around to see our lovely skull and cross-wrenches rotate on his oscilloscope! Oh, and for a more in depth explanation and more impressive vector video demonstration.

Continue reading “Vector Display Output on an Oscilliscope”