Building A Classic Coin-op Game In An FPGA

This game of Bomb Jack is the same as the original arcade version. The difference is that this hardware was built in an FPGA using schematics found on the Internet.

We’re a little shocked by the complexity of such a project. We’ve been impressed before by the use of FPGAs to implement classic CRT vector graphics. But that project used a library that had already implemented the original game. For this effort, [Alex] wanted to find a game that hadn’t ever been translated to an FPGA, and used stock parts. Bomb Jack is a 1984 platformer which ran on a Z80 processor, AY-3-8192 sound generators, and common TTL logic chips. This meant he didn’t have to write the cores himself, but rather use already existing versions of the chips and code together the hardware.

You can read about his experience at the page linked at the top, or just jump after the break to see video of the final project. You can see the monitor is on its side, and the game sounds great and runs flawlessly.

Continue reading “Building A Classic Coin-op Game In An FPGA”

Moving An FPGA Project From VGA To DVI-D

It’s fairly easy to create VGA with an FPGA using a simple R/2R DAC. As [Mike] points out, this requires a lot of IO pins, and many development boards only support 8 bit VGA. Analog VGA is being replaced with DVI-D and HDMI on many devices nowadays, so it would be nice to port projects from VGA to DVI-D.

To address this, he’s come up with a simple DVI-D implementation in VHDL. The result converts RGB and sync data for VGA into DIV-D. Since DVI-D and HDMI both use the same signals for video, this can be connected to either input on a monitor or TV.

This implementation is shown displaying a test pattern on the Pipistrello development board, which features a Spartan 6 LX45 FPGA, but the project was written to be portable to other vendor’s FPGAs. With the right connector and a fast enough clock speed, this project should help move a project from 8 bit VGA to glorious 32 bit color.

MSP430 Gaming Shield Based On The Gameduino

Get your 8-bit gaming fix with this gaming shield for the TI Launchpad. It’s called the Launchpad GamingPack and was developed as part of TI’s 2012 Intern Design Contest. The team had just six weeks to complete the project.

The video after the break starts off with some fast-motion PCB layout. It is followed by footage of the board being populated, then anchored with graphics testing and some game play demonstrations. It looks like a real blast! NES controller ports were included on the board, and the device puts out 400×300 VGA, as well as audio.

As with the Gameduino, the hard work is done by the FPGA at the center of this board. It handles all of the VGA timing work, using what looks like 3-bit color. It is also responsible for generating the audio and monitoring the inputs. Since the team was under a time crunch the shield also includes a 10-pin header on the underside which was added for easy connection with a logic analyzer.

Continue reading “MSP430 Gaming Shield Based On The Gameduino”

Developing A Better Way To Control 10,000 LEDs

The SoundPuddle project drives thousands of LEDs based on audio input. The team is working on a replacing the controller for this wire-filled setup with something more robust. They took the mess seen above to the Apogaea Festival and were plagued by loose wires and unreliable communications due to noise and interference. The aim of the new system is to reliably control up to 10,000 LEDs.

The red PCB seen at the center of the rats-nest is a Papilio FPGA board. They still want to use it to drive the installation, but a new hardware interface is necessary. The solution is to design what they call a megawing (wings are to Papilio as shields are to Arduino).  The LEDs will be in RGB strip form, so one of the requirements is to supply enough connectors to drive 16 channels of SPI devices. The wing will also include the 48V power source and connectors for the condenser microphone that serves as an input for the SoundPuddle. There are also two other options for audio input, one via a Bluetooth module (which can double as a control device) and the other via MIDI.

After the break you can see a lighting demo. Be ready with the volume controls as most of the sounds used in the test are quite annoying.

Continue reading “Developing A Better Way To Control 10,000 LEDs”

Editing Your FPGA Source

[Dave] noted that in a recent poll of FPGA developers, emacs was far and away the most popular VHDL and Verilog editor. There are a few reasons for this – namely, emacs comes with packages for editing your HDL of choice. For those of us not wanting to install (and learn) the emacs operating system, [Dave] got Notepad++ to work with these packages.

Notepad++ already has VHDL and Verilog highlighting along with other advanced text editor features, but [Dave] wanted templates, automated declarations and beautification. To do this, he used the FingerText to store code as snippets and call them up at the wave of a finger.

As [Dave] writes his code, the component declarations constantly need to be updated, and with the help of a Perl script [Dave] can update them with the click of a hotkey. Beautification is a harder nut to crack, as Notepad++ doesn’t even have a VHDL or Verilog beautifier plugin. This was accomplished by installing emacs and running the beautification process as a batch script. Nobody can have it all, but we’re thinking [Dave]’s method of getting away from emacs is pretty neat.

Driving A PSP Screen With An FPGA

Here’s [FlorianH’s] setup for driving a PlayStation Portable screen with an FPGA. He’s using the DE0-Nano board to do this, and the first order of business was to establish a way to connect the two. He did a great job of etching his own breakout board, which has some traces that are less than 10 mils thick. Soldering the connectors for the screen was a bit of a challenge, and he shared several pictures of the process for your enjoyment.

With everything hooked up he fired it up with just a couple of lines of code to draw a test pattern. From there it was on to building a more intensive driver. [FlorianH] mentioned to us that he’s just starting to learn about FPGAs after having worked extensively with 8-bit microcontrollers. He’s been documenting his work on his site, and finds himself frequently referencing his own material so remember how he did things. Our vicarious enjoyment is an unintended (but welcomed) consequence of that habit.

A Game Of Skill For The North Carolina Maker Faire

The North Carolina Maker Fare was last weekend, and over the course of the festivities  [Dave] was asked for the documentation for the arcade game he built. It’s a neat build, so we’re very glad he chose to share it with us.

Anyone who has been to an arcade in the last 15 years has seen the game [Dave] was inspired by. The object of the game is to hit a button when the sequentially illuminated lights are in a particular position. [Dave] built his own version out of 90 LEDs and a very tiny FPGA dev board.

The 90 LEDs are controlled by the FPGA using charlieplexing, and are illuminated in sequence when the game starts. A heavy-duty emergency switch button modified into a momentary push button takes a hit whenever the player thinks the LED will land in the ‘jackpot zone.’  If the player wins, a buzzer sounds and much excitement is had by all.

Seeing as how the arcade version of this game is a complete rip off and is impossible to win, we really like [Dave]’s version. You can check out his demo video after the break.

Continue reading “A Game Of Skill For The North Carolina Maker Faire”