Quick, do you remember the first time you played Pac-Man? Chances are good that you can still remember where you were and how it made your heart pound. There is something special about classic Arcade games like Pac-Man. The bright yellow cabinet was like a beacon for kids and adults alike It wasn’t until I started working on the Papilio Arcade kit that I started reminiscing about my first experience with Pac-Man. The amazing thing is that Pac-Man and other classic arcade games are just as compelling today as they were back then. The difference is that we now have the technology to shrink all of the circuit boards that filled the Pac-Man upright cabinet into a single FPGA chip! In the process of doing so we can learn how all the pieces of an 8 bit game system fit together and at the end we get the joy of revisiting classic games such as Pac-Man. Papilio Arcade is a great way to learn VHDL, FPGA, and classic 8 bit processor design. At the end there is a fun reward.
The Papilio Arcade Kit consists of a Papilio One 500K FPGA development board and the Papilio Arcade Wings. The Papilio One is a flexible FPGA development board that allows application specific “Wings” to be easily attached. Wings can be purchased for other kits or to expand the functionality of an existing kit. It’s easy to expand the Papilio One Arcade kit with features such as a MicroSD card by adding “Wings” to the open Wing slots. Or for the ultimate flexibility the Papilio One Arcade kit can be transformed into a completely different kit by simply purchasing the “Wing” portion of a kit.
The key to this modular and flexible architecture is the FPGA core. An FPGA is like a blank CD just waiting to have a design burned to it. An FPGA puts you in complete control over what hardware is running on the chip and how that hardware connects to the outside world. There are no permanent hardware structures that lock the Papilio One board into a specific type of kit. The Papilio One can become anything you can imagine.
The Arcade Wing kit provides a VGA port, audio port, and joystick port. The VGA port provides up to 8 and can be upgraded with future Wings. The audio port provides full stereo by using a Delta-Sigma DAC and a low pass filter. Finally the joystick port allows classic Arcade, Atari 2600, Commodore, or any digital joystick to be used. In short, everything needed to recreate a classic Arcade game is provided.
There are several Arcade games that have been recreated in HDL (Hardware Description Language) that can be ported to the Papilio Arcade kit. Many of these Open Source VHDL or Verilog designs are used to define, in code, the complete motherboard of the original Arcade game. As long as the game uses less than ~40K of SRAM then it will fit on the Papilio Arcade kit. The website fpgaarcade.com has several Open Source Arcade games and classic platformers that can be ported to the Papilio Arcade kit. To get things started the classic Pac-Man arcade hardware has been ported to the Papilio Arcade kit. Full instructions on how to customize and synthesize the HDL sources is provided below.
It is important to note that these Open Source projects and the Papilio Arcade kit recreate the original hardware but they do not include the game ROMS. In most cases the original ROMs are still copyrighted. In order to legally play these games it is necessary to own a legal copy of the game being played on the Papilio One. The Papilio Arcade Kit powers up without any boot processes so it is always ready to run in a second.