Posts Tagged ‘Arcade MegaWing’

FPGA Platformer Game Written Entirely In VHDL

Friday, July 19th, 2013


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!

(via CircuitBen)

Video: David Crane On Designing Pitfall For Atari 2600

Monday, June 10th, 2013


We found a great vid of Pitfall designer David Crane giving a talk about designing and writing the Activision-published game for the Atari 2600 all the way back in the early 1980s. This video is from the 2011 GDC (Game Developers Conference). In it, David gives a great deconstruction of the development process for writing games within the suffocating constraints of retro hardware. It’s a bit long, but if you have the time to watch it’s worth it.

From the related article over at Hackaday:

This was a developer’s panel so you can bet the video… digs deep into coding challenges. Frame buffer? No way! The 2600 could only pump out 160 pixels at once; a single TV scan line. The programs were hopelessly synced with the TV refresh rate, and were even limited on how many things could be drawn within a single scan line. For us the most interesting part is near the end when [David] describes how the set of game screens are nothing more than a pseudo-random number generator with a carefully chosen seed. But then again, the recollection of hand optimizating the code to fit a 6k game on a 4k ROM is equally compelling.

So, this all brings to mind something that Papilio users can have some fun with on the Arcade MegaWing – we have Atari 2600 code ready and waiting for you to dive into! Papilio user Retromaster has got some 2600 code up and running – please note that it is experimental code and has not been published, but it should be a good starting point nonetheless.

You can find the Atari 2600 code at the link below.  This is Retromaster’s A2601 HDL code that re-creates an Atari 2600 that Pitfall can be run on. Don’t be shy, give it a whirl! It’s always a nice, nostalgic trip down memory lane every time I load up one of these retro classics!

(via Hackaday, and thanks again to Retromaster)

NES Game Console Recreated On FPGA

Friday, January 25th, 2013

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!

Happy hacking.

(via Ludde’s FPGA NES)