ares-emulator / ares

ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
https://ares-emu.net
Other
871 stars 107 forks source link

Game Pak support #845

Closed greyor123 closed 1 year ago

greyor123 commented 1 year ago

Describe the solution you'd like I would love to be able to use bsnes/higan-style Game Paks (I tried to find the original article but it was on byuu.org and is thus down) with ares. Currently I'm using vanilla bsnes, and this is the only thing keeping me from switching to ares. I have all my SNES games, in particular, in Game Pak format and don't really want to go back to .sfc/.smc files with save RAM and save states scattered everywhere. I would like to switch to ares as it appears to be receiving regular updates.

Is it possible to add this feature (back?)? I was looking through the code and don't see it anywhere, and I'm not sure how difficult it would be to add it. By no means am I able to do that kind of coding, but I thought I would ask, and actually created a GH account just to post this request.

Thanks so much for your consideration and hard work!

FitzRoyX commented 1 year ago

There are several reasons I can see that this didn't survive higan, besides only a handful of people using it:

  1. Operating systems don't see folders as files, so it requires a custom load window to be made.
  2. Of the games Ares emulates spanning 30 systems, 99% don't have anything more than program.rom.
  3. Coprocessor roms are not unique, there is no reason to store 40 dsp1 rom files for 40 dsp1 rom games.
  4. Putting ram files in containers makes it harder to clean them out and return the "cartridge" to its original state. Ram files aren't just generated when you save ingame, they're generated anytime you load a game that has battery sram. In fact, we're forced to do it for all games sometimes (game gear) due to the lack of a boards database.
  5. The Neo Geo Pocket didn't put its games on ROMs, it used Flash ram. So the same chip that stores the static rom data also had a rewritable section for savedata. This means all emulators are forced to create copies of the game itself for saves so that the rom being passed around has an actual, singular hash and not other people's save data on it. At no point does putting either of these inside a folder bring you closer to representing a cartridge.
LukeUsher commented 1 year ago

Honestly this is most likely never going to happen in ares; the majority of users did not like them, and one of the design goals of ares was to be more traditional to aid ease-of-use.