Sprite_tm is a big FPGA fan and he was always looking for a nice project to polish his VHDL skills with.
Luckily the company he’s working for decided to clean up storage and throw away some broken PCBs and that’s how he got some old FPGA hardware.
“…To control all that, there was a XC2V1000; a somewhat aged but quite large Xilinx Virtex2 FPGA. Because most of its IO ended up on the various headers, this board could be easily re-used as an FPGA development board.”
He discovered a site called FPGA Arcade which offers a few recreations of old consoles and arcade games in VHDL and Verilog and he started hacking some arcade games then he decided to try his hand at creating a vector-based CRT arcade.
Sprite_tm has always liked the arcade games that used a vector monitor:
” instead of just displaying the playfield as pixels on a TV-like monitor, these games actually took control of the electron beam position and used that to draw crisp lines without the pixellation that was so apparent on raster games at the time.”
And this FPGA Arcade site had an excellent vector game online “Asteroids” but the version on FPGA Arcade used a rasterizer to convert the pretty vectors back into pixels so they could be shown on a VGA monitor, even worse the rasterizer used external memory, something the board he had didn’t have.
So here comes his idea to chop off the rasterizer code and wire the FPGA to directly drive a CRT!
After removing the rasterizer code, and giving it a spin he had enough confidence that he knew what he was doing to start implementing his own game.In the end he got a version of Black Widow up and running, and even built a miniature cabinet for the thing.
Sprite_tm also wrote an article that goes into all kinds of nitty gritty details about getting vector graphics games working and then recorded a video to show some of the gameplay.
Click here for the full article, enjoy!
Read the article to watch the video of the gameplay and read the text from the youtube video page. Continue reading “CRT vector graphics arcade game built from an FPGA board”