FPGA enthusiast and nostalgic gamer Ben created a 1980s-style side-scrolling platformer game (think Super Mario Bros.) entirely in VHDL. Hence there is no microprocessor present. Ben’s game was originally written to run on an Altera dev board, and some other hardware.
The hardware consists of:
•A single FPGA
•Power and clock circuitry
•A controller, which is an imitation of the original NES controller
•Three resistors and a VGA connector for video output
I originally wrote this for an Altera development board which was actually a TQFP breakout board with the chip soldered onto it. This was fragile and poorly soldered so it fell apart after a while. I have now changed all the ROMs to be generic VHDL instead of LPM macros so it works with the Xilinx tools (and, presumably, any other VHDL synthesizer).
Cool project, Ben! I’m thinking it would be sweet to get this game running on the Papilio with the Arcade MegaWing. Anyone up to give it a shot? Be sure to hit up the links below to dive into the code, and check out Ben’s project page while you’re at it!
Forum user and regular contributor Alex recently dropped us a line on the forums. He was saying something about getting new arcade games running on the Papilio Pro with the Arcade MegaWing. Turns out he’s got three arcade games going (Ladybug, Dorodon, and Cosmic Avenger) and is using a PS/2 keyboard for controls. Alex says,
[The games] will fit entirely into a Papilio Pro or any Spartan 6 FPGA without needing any external RAM or ROM. Getting this ported to the Papilio was just a matter of writing a top level module to connect the ladybug machine to the various ROMs and input controls.
To make it all work, download the source then download and place the game ROMs into the appropriate ROMs folder. See the readme file in each folder for a list of the files and checksums you should be looking for, If you’re on Windows, run the make_roms batch file in the relevant game rom folder. Game ROMs will be converted to vhdl files in the build directory. If you’re on linux, there appears to be a makefile based system for creating ROMs and other files in the hex folder, seemed to work for me in MinGW, but I use Windows primarily. Once the ROM files are converted to VHDL, run the ladybug_papilio.xise project in the top directory and synthesize then upload to your board. You need a Papilio Pro with a Arcade Megawing and a PS2 keyboard in port “PS/2 B”, VGA and audio connected.
Why not try these games out for yourself? Here are some links to get you started:
Many thanks to Alex for his contribution! Feel free to add your own $0.02 in the comments. And as always, if you have anything you’re working on that you’d like to share with the community please send it our way!
Today we’ve got a great gamer project to share with you in which a dude recreated the iconic Nintendo Entertainment System (NES) on a Digilent Nexus 3 FPGA dev board. The reason? In his words,
I was a bit bored during Christmas, so I decided to construct a whole Nintendo Entertainment System (NES) in an FPGA.
Boredom? That works. Whatever the motivation for the project, Ludde has recreated the entire architecture of the NES on FPGA using Verilog, and he’s got it running NES ROMs now. The picture at the top of the post shows Ludde playing the original Mega Man on it with a SNES controller.
You should take a look at Ludde’s FPGA NES page, where he describes all the specifics of the project and how he got this thing up and running. We think it would be pretty cool to get this going on the Papilio Plus with the Arcade MegaWing. Anyone up to the task? Hit us up in the comments, and get to work!
Hey everyone, great news! The author of Mr. Do’s Nightmare, Crazy Ivan, gave us permission to include his game with the Papilio Arcade. This means that we can provide you with a bit file that already includes the ROMs! This was very generous of him and we are very thankful for his kind contribution.
We also have to thank Papilio user Macro for making all of this possible. Not only did he facilitate everything but has made galaxian multi-games in the past so he put his skills to work and put together a package that includes a ready to run bit file for the Papilio.