mrehkopf / sd2snes

SD card based multi-purpose cartridge for the SNES
http://sd2snes.de
GNU General Public License v2.0
582 stars 114 forks source link

Support for multiple SRAM files per ROM #22

Open mrehkopf opened 12 years ago

mrehkopf commented 12 years ago

Implement a function to select one of multiple SRAM slots when loading a game.

TheShadowRunner commented 12 years ago

Have been thinking about a potential UI for this one, what do you guys think, Max? I believe a good way to implement the feature could be: Press Y or X on highlighted rom, a small rectangle selection menu shows up. By default it displays:

OR

Then, in case there are multiple sram files present on SD, below the default entry would appear:

The user then selects the one he wishes to use. Pressing A over highlighted to confirm or pressing B to cancel the operation. The menu closes. Sounds good? ^^;

KiddoCabbusses commented 12 years ago

As an addition and a bit of an inverse to this, how about SRAM sharing?

This would especially be useful for Satellaview games, especially considering they were originally designed to all be in the BS-X's SRAM. It'd also be good for the BS Zelda AST ROM hacks.

mrehkopf commented 12 years ago

I'm thinking about using the Y button to open a context menu with options relevant to the type of the selected file. On ROM files a sub menu for SRAM selection could be displayed (along with e.g. cheat options), while on folders an option like "share a single SRAM file for this folder" would be possible.

KiddoCabbusses commented 12 years ago

There's potential for a substantial amount of things that could go well in a Y-button menu, such as cheat codes, ROM info menus, or tileviewing.

For Satellaview games in particular an clock adjustment for each ROM would be good. :)

mrehkopf commented 7 years ago

For the record I received another request for this today:

Hey Ikari,

There's a couple of rom hacks of games that allows you to save state (just like a Nakitek Game Saver but much more stable). Examples of this is the Super Metroid and the ALTTP save hack.

As of now, you could have a save state for practically every room. which is very useful in speed running. However, every save requires it's own rom file, so you end up having hundreds of MBs of the same rom file.

I suggest the ability to be able to load games from their save file or perhaps some kind of symbolic link. This way, you could have a folder with just one rom file and just put all the save files you want in there.

This isn't that big of a deal but it would save a lot of hassle and space on the SD card.

mrehkopf commented 7 years ago

My current proposal with the centralized saves folder now in place:

sd2snes/saves currently contains <romname>.srm. By flagging any ROM file as "multiple save files" a folder will be created instead with the ROM basename as folder name, containing numbered .srm files like this: sd2snes/saves/<romname>/00001.srm, sd2snes/saves/<romname>/00002.srm, etc.

Optionally a new numbered save file could be created each time a) the game is run from the menu, or b) the progress is saved in-game.

A ROM context menu in the file browser might have to be added to flag/unflag a game as "multiple saves" and set the mode of new save file creation for that particular game. However such a context menu is already a prerequisite for the upcoming cheat menu so it will be implemented anyway.

Game specific settings will be saved in a game specific configuration file, such as sd2snes/config/<romname>.yml or similar.