While we’re sure most Hackaday readers were raised by arcade games featuring sprites, pixels, and other shiny brightly colored squares, this was not always so. Many classic arcade games – Lunar Lander, Gravitar, and Asteroids in particular – used vector displays. Instead of drawing individual pixels, these games functioned more like an oscilloscope, 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 game.
The guys made their own DAC and Amplifier board that plugs right in to a Nexys2 FPGA dev board. This was after they tested out some 3D drawing code with a gnarly handmade R2R DAC they used to draw and rotate a cube on an oscilloscope screen.
Not only did the guys build a vector video card, they also connected the FPGA’s VGA out to a monochrome monitor for an in-game HUD. Awesome work that blows away anything available in the golden days of vector arcade games. It’s a beautiful piece of engineering that certainly deserves its own cabinet.
Video of the game available below.
Continue reading “Making vector arcade games with an FPGA”
Scaled down it’s not as obvious that this image isn’t a crystal clear rendering of Mortal Kombat gameplay. But we’ve linked it to the full size version (just click on the image) so that you can get a better look. Notice the scan lines? This is the result of an effort to more accurately mimic the original hardware displays used in classic games. [Jason Scott] takes a look at the initiative by describing what he thinks is missing with the picture perfect quality of modern emulators.
One such effort is being mounted for MAME (Multiple Arcade Machine Emulator). There is a series of filters available — each with their own collection of settings — that will make your modern LCD display look like it’s a run-of-the-mill CRT. This is a novelty if you’re a casual gamer who dusts off the coin-op favorites twice a year. But if you’re building a standalone game cabinet this may be a suitable alternative to sourcing a working display that’s already decades old.
Unlike the CRTs found in big old televisions, vector displays are a bit of a historical oddity. Instead of sweeping an electron beam across the screen from left to right and top to bottom, a vector display draws lines between two points on a screen. Once used in arcade games such as Asteroids, Tempest, and old FAA displays, vector monitors have fallen out of favor due to either the complexity or difficulty in acquiring the needed CRT. The folks over at NYC Resistor put up a great tutorial for getting a vector display up and running, and even managed to put a clock on an oscilloscope.
The key component of getting a vector display to work is the digital to analog converter. This DAC takes voltages from eight pins on a Teensy 2.0 dev board and converts them to a voltage anywhere in between 0 and 5 Volts. After connecting the output of this DAC to an input on an oscilloscope, the microcontroller can draw a line between any two points on an axis.
In the video after the break, you can see two of these DACs connected to an oscilloscope displaying a clock. It’s a very cool piece of work, and something that finally gives a purpose to the ancient CRT oscilloscope you might have lying around.
Continue reading “An introduction to vector displays”
[Sprite_TM] wanted to challenge his VHDL skills, and there’s no more satisfying way of doing this than making something that will be playable when you’re done. He decided to try his hand at creating a vector-based CRT arcade. The distinction here is that vector-based games take control of the magnetic ring that guides the electron path toward the screen. This technique allows point-to-point graphic generation rather than the pixel-based scanning that CRT televisions use.
He had a small color CRT on hand and decided to grab a VHDL version of asteroids from the Internet to see if he could get it to work. But upon further inspection of the source he found that it had a chunk of code which rasterized the vectors for use with a scanning monitor. After removing that chunk, and giving it a spin he had enough confidence that he knew what he was doing to start implementing his own game. The choice of what title really came down to the hardware the original arcade cabinets used. He was not interested in implementing a soft-process for the math chips used in games like Star Wars and Tempest. In the end he got a version of Black Widow up and running, and even built a miniature cabinet for the thing. Check out some of the gameplay in the clip after the break.
Continue reading “CRT vector graphics arcade game built from an FPGA board”
[Windell] developed an Inkscape extension called Hershey Text that helps you process fonts into vector representations. If you’ve tried to 3D print, plot, or mill text in the past you may have run across the problem of generating vector paths that deal with the outline and fill of the text appropriately. The problem stems from how fonts are defined; either by the area that they enclose, or by the path that is used to draw the outline. Check out [Windell’s] tutorial for this extension where he explains each of these issues and shows how to overcome them.
The image above illustrates the stroke options, which allow you to vector multiple paths to best fill in the correct parts of each character using path-based hardware. The package includes a wide variety of interesting font sets that are in the public domain, and includes tools such as a glyph map generator that make it very user friendly.
[Jarrod] sent us a link to this home-built laser projector after seeing a different projector that we featured yesterday. This system is fundamentally different. [ChaN], who finished the project several years ago, didn’t use a loudspeaker to move the mirrors, but instead build his own closed-loop Galvanometers. Two of these are controlled by an ATmega64 to produce incredibly clean and accurate vector images. It’s not just the images that are impressive, his hardware is laid-out with skill and forethought that make hiding it in a case a sacrilege.
[Hubert] sent in his experiments using HDDs, CDROMs, speakers, and other components to make an XY laser plotter. Those carefully reading will note, its not all three to make one plotter, but rather three plotters each using a separate system. The setups have their advantages and disadvantages, and [Hubert] is sure to point them out; including circuit diagrams and pictures to help you on your own trials.
There is a little difficulty in reading English not so good, but considering we’ve never seen a single-laser vector plotter done before (spirographs come close, and no one wants to wait 85 seconds) it’s still very impressive.