WPC Lamp Matrix ROM Patcher


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 here

Please read the License File

It is advisable to verify any rom updated by this program using pinmame.
You can get pinmame here.


Syntax

syntax: 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-4
A new version should be assigned to distinguish the new
rom 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-25

Enter VERSION>

Williams used serveral different formats for their ROM versioning.
The user can update these versions as follows:

Revisions
6/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.