bsnes-emu / bsnes

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Other
1.68k stars 156 forks source link

Savestates possible broken (October 31 2021 build) #238

Open RokkumanX opened 2 years ago

RokkumanX commented 2 years ago

Hello!

Been quite some time I actually sat down to play and enjoy something rather then just test things out.

I have stumbled upon this issue regarding savestates and I have no idea when it started (just using latest downloadable build) The problem I have is that for some reason savestates rarely functions the way they should, producing black screens or garbled graphics when loaded.

I'm currently re-playing Super Mario - Yossy Island (CRC32 F1063FAD) and having a blast but for those times I want to use savestates they are almost always broken.

However, and this is a pretty big however, when I a couple of weeks ago re-played Super Metroid the problems with savestates were non existent.

So maybe my issue is just game specific but my copy of Super Mario - Yossy Island is a known good dump and have not been causing issues in the past. But I can easily reproduce the issue with this game.

I only have so limited time these days to play or do anything else and I have no idea where to begin looking for errors.

orbea commented 2 years ago

There is some instability with savestates at least for some games.

The problem should be resolved in the jgemu fork.

https://gitlab.com/jgemu/bsnes

The problem has to do with fast vs strict states and how coprocessors get synced. The code is here.

https://gitlab.com/jgemu/bsnes/-/blob/3227e0102f1453b8ff2e9217c7a826d7fb38874a/src/system.cpp#L243

RokkumanX commented 2 years ago

Thanks for chiming in, I really appreciate it and sorry for my late reply.

I solved the problem using the last released version of the higan Accuracy core for RetroArch, haven't had a issue since.

However I can't find the time or joy anymore to actually play anything but that's another issue which can't be solved here.

orbea commented 2 years ago

@RokkumanX

Since the issue is not fixed in this repo perhaps its better to leave the issue open still? That said maybe it will never be fixed here...

The libretro higan Accuracy core might be older then the save state regression in the upstream repo hence why its unaffected.