FREEWPC is a platform for developing replacement game ROMs for Bally/Williams pinball machines based on the WPC (Williams Pinball Controller) chip. It provides the foundation for building new game ROMs with custom rules and effects.

FreeWPC has evolved nicely since I started it in 2005. The software is stable enough to run in emulators such as Visual Pinmame, with the eventual goal being to use it in an actual machine. Testing on real hardware has begun -- see some videos here and here !

The primary target machine has been Twilight Zone up until recently, when I switched to World Cup Soccer. The system is also periodically verified to compile and run on Attack From Mars, and Terminator 2 to prove that the system is valid for all variations of the WPC architecture. At the left, you can find precompiled ROMs for all of these machines, but note that only TZ is somewhat playable.

FreeWPC can also be compiled in "native mode", using your ordinary system C compiler. This program runs directly without any emulator, as the hardware I/O is emulated internally within the program itself. Although the low-level components are vastly different, this mode is useful for testing the higher-level features of the system, and also allows for more traditional debugging using tools such as gdb, etc.

FreeWPC is released under the GPL and thus source code is also freely available for inspection.

Any questions? Email me at brian@oddchange.com.

Status

August 10, 2008

It's been awhile since I've given an update. Not much has happened in the last two months due to other commitments and vacations. A *lot* of new changes are queued up and under test, and I will probably hold off on doing another formal release until all of it is ready. Details to come later; it's nothing significant and mostly cleanup related to experimentation on the World Cup.

May 27, 2008

Here's a link to some video of FreeWPC running in my World Cup Soccer. View video here. The game is running a slightly modified version of version 0.17. Stay tuned for more details on what's going on here.

May 11, 2008

Version 0.17 of all ROMs posted. See the ChangeLog for more details.

May 9, 2008

The source code browser has been updated to show the latest codebase that will eventually be rolled into the upcoming 0.17 release. I'm currently testing it out and making some last-minutes changes; the binaries will be posted soon.

April 29, 2008

I haven't posted anything recently, so I thought I would give a brief update. I have been working on the next version (0.17) and there are lots of new features on the way. ROMs build faster, many ball tracking bugs are fixed, some new DMD effects are possible, much experimental code has been deleted, switch debouncing is enhanced, and many performance enhancements are just a taste of what's to come.

There's still no target date for releasing something publicly, although I realize three months between releases is a pretty long time. We'll see how it goes. In the meantime, please download version 0.16 if you haven't already, test it out in PinMAME, and let me know how it goes.

February 8, 2008

Posted a patch to make pinmame compile under X Windows.

January 25, 2008

Source code is now maintained exclusively in a git repository. Access to files in this matter is provided on a limited basis. Please contact me if you would like to be able to access the repository this way.

January 16, 2008

Version 0.16 of all ROMs posted. This is much more stable than 0.15, with a few interesting new features but mostly bug fixes across all generations of WPC. See the ChangeLog for more details.

Contribute

If you are interested in working on this project, please contact me at freewpc@oddchange.com. Developers should be familiar with basic embedded systems programming concepts and the C programming language. Familiarity with 6809 assembler is highly recommended. Knowledge of WPC pinball machines to some degree is also necessary. Also, anyone interested in just testing should just download the ROMs, fire up the emulator, and start sending bug reports.

All development is currently done under the Linux operating system. I use git for source control. Developers will also need to grab my GCC for 6809 compiler, an assembler, and a linker. See the 6809 pages for information on how to download and install the compiler.

 Copyright © 2007, 2008 by Brian Dominy.

Download ROMs

Latest version is 0.17

Documentation

Source Code

Related Pages

Other
WPC Projects