Skip to content
eadmaster edited this page Aug 21, 2025 · 20 revisions

Why savestates are bad for keeping my hiscores?

Because they are not portable across different emulators and may even break between different versions of the same emulator.

What is good about .hi hiscore files?

  • they are emulator-agnostic (and often region-agnostic too);
  • they take less space than savestates;
  • they are easier to support and more reliable than savestates in most cases;
  • in addition to hiscores, they can save extra stuff like settings, unlocked extras, game progress, etc.
  • you can type in your old records with an hex editor (as a digital backup for photos and paper)

What is bad about .hi hiscore files?

  • they need the correct RAM address(es) to be found for each game and stored in the datfile;
  • they do not have any header and integrity check, so correct file naming must be kept for them to work properly.
  • they could still break if the corresponding codes in the datfile are changed.

To address the last 2 issues see my proposal for a new hiscore file format.

Aren't SRAM patches better, since they works without any extra piece of software?

Yes, but they need more time and effort to be created.

You can find some of them here:

Can you track hiscores for all the games?

In theory yes, but actually there are 4 kind of games:

  1. games with builtin hiscores buffering and save support (usually via SRAM, like SNES F-Zero) -> no need to hack these
  2. games with hiscores buffering, but no builtin save support (so the hiscores are lost once the machine is powered off, like NES Super Mario Bros and the others in this list) -> these are the only ones supported currently
  3. games with no hiscores buffering, which only keep the score of the current session (like NES Super Mario Bros 3) -> not supported currently, but check this issue
  4. games with no scoring system at all -> not trivial to support

What about MAME support?

There is a script compatible only with old MAME versions.

What about flashcarts support?

Probably doable on flashcarts that have system RAM access like the sd2snes/FXPAK PRO and the Mega Everdrive.