San Francisco Rush 2049 (Arcade)/Upgrading

From San Francisco Rush Wiki

TL;DR

  • Program a 27C4001 with the boot ROM
  • Program a PIC16F57 with the security data with oscillator type set to XT
  • Extract the CHD and write the HDD image to a IDE HDD or CF card
  • Confirm that the proper resolution DIP switches are set

Detailed Instructions

To upgrade San Francisco Rush 2049 to Tournament Edition or Special Edition, the upgrade kit consists of the following parts:

  • Security PIC (PIC16C57/PIC16F57-I/P or equivalent PIC) DigiKey link
  • Boot ROM (27C4001/27C040/27C401 or equivalent EPROM; Originals are 100ns, slower may not work)
  • IDE Hard drive or CF card with IDE adapter (the SE image in MAME is almost 20GB, but the game image is smaller, so as small as 4GB will work)
    • SATA devices with an IDE adapter will not work. IDE DOMs should work, but I was unable to get one to boot. The test menu disk test saw it as a device, but the game did not mount the partitions.
    • One of the few CF cards that the game accepts

The BRAM database will be wiped if a new version of the game is installed, so game settings, date and time, and play statistics should be recorded before upgrading.

Writing the security PIC

A universal programmer such as the TL866A can program both the security PIC and boot ROM. Other programmer support will vary, especially for the PIC. The GQ-4X and GQ-4X4 can write the boot ROM, but not the PIC.

  • PIC16F57 config bits from the datasheet
    FOSC0 will need to be set to 01 (XT oscillator) in the programmer settings, otherwise the game will not work. Depending on the programmer, this may require setting bits, or just selecting XT in the configuration menu.
  • The USER ID0-3 may need to be shortened to only 4 digits, as having more may cause verification to fail. "0FFF" is a value that works for all of the IDs.
  • Programming the Special Edition security data may require an extra step of deleting the extraneous 7 bytes from the buffer. Otherwise, the device might not program correctly.

If the seven-segment LED flashes I O A S I C, then the security PIC needs to be programmed again.

Writing the boot ROM

This is straightforward to program. If it fails to verify against the file data, then it should be erased in a UV EPROM eraser for 15-20 minutes and programmed again. If it keeps failing, then try another chip.

Writing the hard drive/CF card

The CHD image cannot be written to a hard drive as-is; it must be decompressed first. The chdman tool included with MAME can do this. It is possible to decompress the image directly to a physical device, but it is easier to do it in multiple steps.

The proper command to run is chdman extractraw -i sf2049se.chd -o sf2049se.raw, where sf2049se.chd is the input file path to your CHD, and sf2049se.raw is the output file path for the new decompressed image. A program such as Win32DiskImager on Windows or dd for Linux can then write this file to your physical medium.

Setting the resolution DIP switches

The DIP switch definitions for the game's video resolution changes between original 2049 and TE/SE, so it is important to confirm that the resolution is set properly before starting the game for the first time. For example, the default setting of On, Off, is VGA resolution in original 2049, but becomes medium resolution for SE. Some of the stock CRTs in Rush 2049 machines are not tri-sync, and may cause damage to them with an out of bounds sync frequency. The game will run at the other resolutions, but it will look odd on some screens, such as the Phantom Photon and Team Rush static images.

For most cases, set DIPs 1 and 2 to on. This will select VGA for all 3 versions of the game.