This is a high score save for Time Pilot '84, the sequel to Time Pilot.
This upgrade exploits the "test chip" feature of the board, just like I've done for Time Pilot and others.
You don't replace any of the main program ROMs, you just put a new ROM in the existing extra socket on the board.
For this score save, however, you'll also have to replace one ROM that holds the code for a slave CPU.
And, of course, you'll need to replace one RAM chip with a non-volatile RAM to hold your scores safe.
The RAM chip you need to replace is unlikely to be socketed, so you'll have to remove the RAM and install
a socket for the new NVRAM. If you don't have the soldering skills to do this, please find someone who does
to do it for you. An experienced tech can do the job in under 10 minutes. You perform these modifications
AT YOUR OWN RISK!!!
The first thing this game does when it boots up is look to see if a test chip is installed,
and if so, run that code. So I've taken advantage of this and re-written the boot routines to run in
that space. The new routines protect the high score RAM from being initialized and overwritten with
defaults. I've also skipped the exhaustive RAM and ROM tests that this game normally does, so it will
boot faster after this upgrade. This score save turned out to be a bit more difficult than the previous
ones I've done since the RAM that holds the scores on this game is shared by two CPUs, and they take turns
testing their ability to read and write the entire contents of that RAM. So I was forced to modify the
code of the slave CPU (which handles the foreground graphics) so that it skips its RAM testing.
I added the ability to reset the high scores by dipswitch selection. Like Time Pilot, this game doesn't
have any extra switches so I chose an unlikely combo to do the reset; all SW2 switches ON except for switch 3
(cocktail mode). I didn't add a corruption check, so you should us this dipswitch reset if something goes awry.
Here is what the table looks like when reset:
1) The 2K static RAM at location 9F on the CPU board needs to be replaced with a non-volatile memory. If that chip happens to be socketed then this step will be a breeze; just pop out the RAM and plug in the NVRAM. If not, then you'll have to remove the chip and install a socket. For the NVRAM you could use a battery-backed SRAM like the Dallas DS1220 or the ST M48Z02. I've chosen to use a newer technology that doesn't rely on batteries, the Simtek 25C48. It has a 100+ year data retention, so you'll never have to replace it!
Once you've got the new chip installed I suggest you test the board at this point to verify that your socket installation is good. The game should play normal. This step will also put good data in the high score table, so you won't have to use the dipswitch reset for initialization.
2) The new high score save ROM (a 2764 EPROM) installs in the socket at location 6J. The existing main program ROMs (7J, 8J, 9J, and 10J) are left intact.
3) The new ROM for the slave CPU (another 2764 EPROM) installs at location 10D. Remove the existing EPROM and pop the new one in.
4) This step is optional. You may want to add an electrolytic capacitor near the Simtek NVRAM to
give it more time to complete its autostore on power down. It's probably not needed here (it depends primarily
on the characteristics of your power supply), but I add it just to be safe. If the power supply cuts out too fast
on power down the NVRAM may not have enough time to complete its autostore operation and save your scores.
A 100uF to 220uF cap (rated 16V or higher) should do the trick. On this board there is a convenient spot just
below the RAM where you can put the cap. Make sure you get the polarity right (negative is to the left in this picture).
Price is $28 each, plus $4 shipping (any number of kits, in the US only, by USPS Priority Mail).
For the do-it-yourself'er. If you've got your own programmer you can just download the ROM images
and burn your own EPROMs. Please consider offering a donation. Developing and testing these score
saves takes a considerable amount of time and resources. If you've got some boards, RAM, EPROMs, etc.
that you'd like to donate to the cause, please contact me.
And of course, cash is always appreciated!