Games and highscores

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Games and highscores
by on (#94251)
I guess 99% of all games doesn't have batterybackup and doesn't save their highscores. Anyone else but me that's disturbed by this? :-)

I was thinking if there's a way of implementing this in a clever way in "our" emulators instead of hacking the game to use battery-RAM?

by on (#94252)
UberNES does this: http://www.ubernes.com/leaderboards.html

by on (#94270)
Interesting, but some kind of "standard" would be cool.

by on (#94275)
Make a simple to read file format that would describe for each game what memory to save and restore to maintain high scores. You might need to not just have the memory location but also a timing point (maybe an executed address) to trigger loading the saved data since games will initialize the high score at some unknown point otherwise.

But no high score saving never bothered me.

by on (#94277)
You can savestate before quitting. Some emulators might be willing to auto save/load state per-ROM whenever you quit or re-open.

The UberNES leaderboard thing is pretty cool though.

by on (#94288)
There is not only the hi-scores, but many games also features you to enter a 3-letter name and they keep the top-5 in memeory.

I always found this completely pointless for a console game, but their goal was to make it feel like arcade games as much as possible, and in this regard it worked amazingly well.

by on (#94289)
Excitebike also comes to mind, the leveldesigner neved saved the userdesigned track..

by on (#94301)
The Famicom version of Excitebike had a device you could get to save levels to tape, I believe. (It seems the Family BASIC keyboard had a cassette tape interface.)

by on (#94412)
Just did a patch for "Mario Bros Classic" if anyone's interested. :)
Highscore is now saved using battery RAM.

http://dl.dropbox.com/u/2590713/Nintend ... D-v1.2.zip

EDIT: This was annoying. It doesn't work with PowerPak for some reason. Does PowerPak has any limitations with mapper0 games and battery RAM? It looks like the battery RAM doesn't get modified as it should.

EDIT2: Just confirmed this. Mapper 0 and SRAM obviously doesn't work with PowerPak. :-(

EDIT3: Updated the mapper to MMC1. Now works on PowerPak.

by on (#94416)
I think you need to hack it to be MMC1.

by on (#94423)
Are there any hardware limitations preventing battery RAM to work with mapper 0 carts?

EDIT: Hacking it to MMC1 did the trick. Thanks.

by on (#94428)
oRBIT2002 wrote:
Are there any hardware limitations preventing battery RAM to work with mapper 0 carts?

The only licensed mapper 0 cart with battery RAM is Family BASIC, and that's a Famicom exclusive. PowerPak is an NES exclusive.

by on (#94446)
Since when is the PowerPak restricted to officially licenced games, let alone games released in the Western areas ?
Does it block TNROM for this reason ?

Of course not, the PowerPak is a development tool and should support as much configurations as possible. If it doesn't support NROM + Battery backed SRAM then it's definitely a bug.

by on (#94450)
Nestopia also doesn't allow WRAM for mapper #0. This doesn't indicate a bug, it indicates an intentional design decision. I don't like the decision. I think the NES 2.0 header should indicate if there is no WRAM.

by on (#94455)
I hacked Galaga and Tetris to save the highscores. I could post patches when I get home if anyone is interested.

by on (#94467)
@never-obsolete: Please. :)

I've emailed retrousb to check this out. I don't have any high hopes for an answer but anyway.. :)
I suspect these "problems" would also appear with mapper 2 & 3.

by on (#94528)
oRBIT2002 wrote:
Are there any hardware limitations preventing battery RAM to work with mapper 0 carts?


Sort-of yeah, mapper 0 implies no mapper. So how is the WRAM mapped in? :) I guess that's why some emus don't like it, it's decided to be an impossible cartridge. But in practice of course, blocking this only creates headaches for developers.

Highscore save hacks would be kinda cool, I had thought about trying to put that into a server program that the NES would communicate with over the controller port.

by on (#94530)
I am less than a newbie concerning the hardware, but I just thought the WRAM was connected straight to the NES hardware itself through the cartridge-oonnector, with no MMC's required, but obviously I was wrong then. :)

by on (#94535)
Memblers wrote:
mapper 0 implies no mapper. So how is the WRAM mapped in? :)

74LS20. It's quite a basic decoding circuit.

Memblers wrote:
I guess that's why some emus don't like it

That or they don't implement the keyboard and therefore can't run the only mapper 0 game that uses PRG RAM.

by on (#95573)
Sorta forgot to post these:

Galaga[sram].zip
Tetris[sram].zip

I've only played one player with the Galaga patch, so player two may not work. Also, here's one for Contra that lets you carry two weapons like Contra 3:

Contra[dualweapon].zip

The select button toggles back and forth.