Synthesizing Pac-Man from Source Code

The Papilio Arcade project includes pre-synthesized bit files with the Pac-Man hardware running a homebrew pong game. When the user is ready to run the Pac-Man ROMs the end user must have a legal version of the Pac-Man game and must synthesize the Pac-Man ROMs into the Pac-Man hardware design. The following describes the process for the Pac-Man hardware and is very much the same for the other Arcade hardware types.

Download Source

Start out by downloading the VHDL source package that describes the Pac-Man hardware (and many other classic games) from the Gadget Factory Papilio Arcade project page. Unzip the source into any desired directory.

Provide ROMs

Locate the roms directory and copy legal versions of the ROM files that have been obtained from a Pac-Man arcade game. For Pac-Man there are 4 different games that will run on the hardware. Look at the information provided further down in this guide or at the “scripts/build_roms_*.bat” files to determine the ROM files that are needed by each game. Place the necessary ROM files in the directory that corresponds with the game that is going to be synthesized into the Pac-Man Hardware. The available games are:

  • Pac-Man
  • Crush Roller
  • Gorkans
  • Lizard Wizard

Navigate to the scripts directory and run the “build_roms_*.bat” file that corresponds to the game that you are synthesizing in. This will convert the supplied ROM files into the VHDL files needed to synthesize the game into the Pac-Man Hardware.

Change Settings

There are several settings that can be controlled at the time of synthesis. To see more information about the settings that can be changed refer to the Papilio Arcade User Guide


Once the ROM files are generated and all the desired settings are set then it is time to synthesize the design. It can take quite some time to synthesize the design so be prepared to wait a while.

  • Open the ISE project file from the following path. There are multiple ISE projects, choose the project that corresponds to the hardware you have. For example, if you are using the Arcade MegaWing with the P1 500K then you would select:
    • build\pacman_p1_500k_MegaWing.xise
  • Make sure the top level Pacman module is selected and then double click on “Generate Programming File”.

Load Bit File

Once the design is synthesized there will be a pacman.bit file generated in the build directory. Ensure you have the Papilio Loader installed and associated with *.bit files. Follow the Papilio One Quickstart Guide to set this up.

  • Double click on the newly synthesized build/pacman.bit file.

Share |