Romhacking => ROM Hacking Discussion => Topic started by: supersaiyancurry on December 21, 2017, 12:18:16 pm

Title: How do you give an NES game SRAM?
Post by: supersaiyancurry on December 21, 2017, 12:18:16 pm
Hey all. I've been wanting to play some NES games but I REALLY prefer to have them SRAM then having to mess around with save states. I, personally, believe save states are a sin. Anyways, I saw and tried out this hack that gave Ninja Gaiden SRAM and it's AWESOME! I wanna know if it can be done for other NES games- particularly Batman, Ninja Gaiden II, and Vice: Project Doom. Thanks!
Title: Re: How do you give an NES game SRAM?
Post by: KingMike on December 21, 2017, 09:21:32 pm
Learn 6502 ASM.
That's really the only way, especially when you are trying to add on a save function to a game that didn't have it.

You'd have to find the code where it decides what level to load and change it to load the one you wanted. (as well as any other variables you wanted to keep like lives, score, etc.)
And if you wanted a menu or something then that's something else you'd have to write.
It's really a different procedure for each game.

Honestly I don't see the difference between using savestates and hacking a game without a save function (or a password feature) to include one. Except that the later requires a significantly larger effort.
Title: Re: How do you give an NES game SRAM?
Post by: nesrocks on December 21, 2017, 10:11:20 pm
Yeah, if you want to make a sram hack just for you to play then it's kind of strange. Not to mention that batman and ninja gaiden 2 are easy and can be finished in just over 20 minutes, so if you sit down to play those games they're over before you can spell "SAVESTATES".
Title: Re: How do you give an NES game SRAM?
Post by: Mugi on December 21, 2017, 10:23:33 pm
only use i'd imagine would be to use the SRAM roms with a flashcart instead of using an emulator.

i dont like savestates myself either, i never use them so i see where he's coming from but yeah, going through the trouble of adding SRAM saving to a rom if it's simply used with an emulator that's savestate capable, i dunno, sounds a bit overkill.
Title: Re: How do you give an NES game SRAM?
Post by: Psyklax on December 22, 2017, 03:58:31 am
I'm gonna echo the others here: save states are great and if you use them with discipline they're perfectly fine. I just use them in place of leaving the console on, so if a game has infinite continues and you have other stuff to do, just quit and come back later. If you don't have the discipline to use them properly then that's your own problem. ;)

And furthermore I cannot for the life of me understand the love for SRAM. If a game has passwords or a level skip cheat, you can continue your game on a real cartridge, a flashcart, an emulator, whatever you want, but once you've saved your game to SRAM, that's it, you're stuck.

SRAM is only useful when the amount of data saved would make passwords impractical, such as an RPG. Do you need to go through the effort of hacking a game so that you can save a single solitary byte containing the level number? Come on. :D
Title: Re: How do you give an NES game SRAM?
Post by: supersaiyancurry on December 24, 2017, 12:13:54 pm
I get what you all are saying, it's cool. The reason behind my logic is because I've actually been getting into making emulation consoles (like with Raspberry Pis and stuff) and to make it as legit as possible, I wanted to disable the save state feature. The only console this would really effect is NES as every other console I'm including in my ideal emulation console has the ability to save, so I've been trying to figure out a work around for this.
Title: Re: How do you give an NES game SRAM?
Post by: on December 29, 2017, 06:38:06 pm
I've been adding SRAM Saving to quite a few games but I still consider myself an amateur. Plus I've been doing it to games that already have a password function in place so they're not that difficult. Like others have mentioned already, adding SRAM Saving to a game that doesn't even have a password system could be quite a task as there's a whole bunch of things you'd need to all the coding.

But if you have anything specific, I'd be more than glad to try to help!

Cheers! :beer:

8-bit fan