Wednesday, May 2, 2012

Save States for older game consoles?

Question

Is it at all possible to save a state in a game for older consoles? I'm talking about old school game consoles like NES, SNES and Sega MegaDrive.

I know it's not built in, so maybe somebody knows of some kind of add-box, or something to put between the cartridge and the console to record the game progress or something like that..?

It would really help me finish certain older games.

Asked by dreagan

Answer

There's not a hardware device that would sit between a console and it's cartridge to record the game's state, and that's because it wouldn't be able to do this task.

The cartridges hold the game's code, commonly burned into memory chips called ROMs. Cheat devices like the Game Genie or Action Replay sit between the console and these chips, and replace or patch the code on the chip as the console requests it. Therefore, it's possible to change the way the game executes in real time.

For example, when you get hit in The Legend of Zelda, there's a bit of code that executes which takes your current life (stored in a memory cell) and subtracts one from it. Instead of subtracting one heart, the cheat device might change the code so that the "subtract one from life" instruction is never executed. This would make you effectively invincible.

Saving state is done by copying the current contents of memory/registers into a file, and then loading that file again later. The console's memory is not part of the cartridge. Therefore, this can't be done by capturing the data coming off the cartridge - you'd have to open the case, and solder down something that is capable of reading the contents of the console's memory, and allow it to be restored later. This is a complicated process, and would likely be hard to get right.

Saving state is a common feature of emulators, however. Emulators set up an environment inside your PC where the entire CPU, memory, audio/video chips, etc are all simulated. Since they're simulated, capturing data at any point in the process is fairly simple. Older generation consoles had a tiny amount of memory compared to your PC, so saving and loading many different iterations of the current game state is simple and not very taxing.

Answered by agent86

No comments:

Post a Comment