This chapter explains how to install the software.
FreeWPC is mainly a toolkit, and thus is provided in source code format. However, periodically binary ROMs are compiled and published as well. If you are not a developer, but would like to experiment with FreeWPC, you can just download the binary packages and install them in your machine or in your emulator.
If you are a developer and want to write your own game code, for one of the existing games that FreeWPC has been ported to or for a brand new game, you need a source code package.
If you just want to browse the source code, you can view it online at the GitHub repository.
Binary packages are available as .zip files, which contain .rom files. These ROMs replace the game ROM only (the U6 chip on the CPU board). If you want to test in a real machine, you need to burn a real EPROM from this file.
If you want to test under PinMAME, you need to copy the ROM file into your PinMAME roms directory; where this is depends on how you installed PinMAME. These directories typically contain .zip files of both the game ROM and sound ROMs together. You'll need to unzip the original file, replace the game ROM, then zip it back. Make sure to save your original game ROM file for when you want to revert back to the Williams code.
The following is a partial list of other programs which are used during the build process: gcc6809, dd, bc, zip, unzip, bash, Perl.
The FreeWPC source code tree is organized into the following directories:
On hardware which requires bank switching (like WPC), these functions are kept
in the fixed region of ROM that can be called at any time.
They are mostly software-related APIs for common features that pinball machines have,
like replay, match, and dot-matrix effects.