Skip to content

Saving High Scores

JOTEGO edited this page Aug 26, 2024 · 1 revision

Storing High Scores

High scores are stored in the RAM memory of arcade systems. When you plug the power cable or reset the system, the high scores are lost. A handful of arcade games had non-volatile RAM memories (NVRAM). Particularly SEGA used capacitors to keep all or some of the RAM associated with the game CPU alive for about some days. This was used to keep usage information (number of coins, games played, etc.) and some games also kept high scores this way.

But the vast majority of arcade games do not keep high score tables even when they have NVRAM chips.

High Scores in FPGA Cores

As the FPGA core replicates the arcade hardware, keeping the high scores involves a lot of hacking around:

  1. Locate where in the RAM the scores are saved
  2. Let the user manually save this information (add support for saving data to the core)
  3. Read this information during the core boot up
  4. Apply this information once the game has passed the RAM/ROM check

Step 1 means that this is a per-game task, adding a lot of extra effort to core development. Steps 2 and 4 are quite a hack as they require adding multiplexers to the CPU RAM, and determining a time after boot up at which the game RAM can be messed with in a safe way.

Although there is some provision of the elements needed to implement this in JT cores, the ammount of extra work per game and the fact that we are messing with the original architecture has tilted the balance towards not implementing this feature so far.

Clone this wiki locally