If you got here from a direct link you probably want to go
here to get a better understanding of what this program does.
The zip file contains source code, a win32 executable which can be run from the command prompt, license file & readme file.
Get the WPC Lamp Matrix ROM Patcher version 1.1
herePlease read the
License FileIt is advisable to verify any rom updated by this program using pinmame.
You can get pinmame
here.
Syntaxsyntax: wpclp [-f] [-e] [-n] <input rom filename> <patched rom filename>
'-f' Optional 'force' parameter to continue even if original rom checksum
is wrong.
'-n' Optional 'no-patch' parameter to skip the patching phase.
Can be used to just update rom version and checksum without patching
the driver.
'-e' Optional 'extra-delay' parameter.
Without this option a 30uS delay will occur between clearing the
matrix row/column and writing for the next period.
(30uS is the delay inserted by the newer Williams driver code.)
Specifying this option causes an extra 26 to 33uS delay to be inserted
instead of 26uS. The extra delay might help with problem boards.
-f: force option
This option is useful of the ROM has been manually modified and the
checksum is not valid.
An example is manually modifying the rom with a hex editor to
change strings, etc...
-n: no-patch option
The '-n' option can be used with the '-f' to update the checksum
and version number for a manually modified rom without attempting
to install the lamp driver patch.
-e: extra-delay
Adds an additional 30uS of delay between clearing the row/column
and writing the new row/column values.
It may help with problem boards that still exhibit ghosting even
with the updated driver.
Entering the new ROM version
After starting the program it will prompt the user to enter a new ROM version.
What
is being prompted for here is the ROM revision that will be displayed
when the game is powered on and when entering the service menu.
Example prompt for an L-4 ROM:
The original ROM Version is: REV. L-4A new version should be assigned to distinguish the newrom from the original rom.The format entered should be: <letter>-<number> <letter> can be A to Z except P <number> can be 1 to 99 example: VERSION>M-25Enter VERSION>
Williams used serveral different formats for their ROM versioning.
- P-n Prototype eg: P-2
- L-n Production eg: L-4
- L(x)-n Another form of production or ?home use? eg: LH-1, LX-2
- major# . minor# Production eg: 1.06, 9.04
The user can update these versions as follows:
- P-n: The number portion can be updated. The letter P can not. eg: update P-2 to P-3
- L-n
or L(x)-n: The letter L can be changed to any letter other than P. The
number can be updated. The second letter '(x)' portion can not be
changed.
- major# . minor#: The major number and the minor number can be changed.
Revisions6/15/2010
1.0: Initial Release
6/21/2010
1.1 -Fix little endian x86 macro check for linux 64-bit OS's.
Code wasn't properly defining hton(x) / ntoh(x) macros for 64-bit os.
-Fix command line -e option parsing.
-Add support for early driver code.
This appears to apply to ROMs whose last update was in the 1st half of 1992
or earlier. Code refers to these driver variants as 1A, 1B, & 1C.
Games with this early driver code include HD L-3, Hurricane L-2, PZ F-4, BoP L-6.