ekeeke / Genesis-Plus-GX

An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
Other
697 stars 198 forks source link

Savestate Inconsistencies #517

Closed nbarkhina closed 1 year ago

nbarkhina commented 1 year ago

Hey there,

thanks so much for this project! I had a question, is there a reason why a Savestate on Android and a Savestate on Vita would be incompatible? I'm trying to compile your core for both platforms and have a need to have the savestates compatible with eachother but when loading the savestate from a different platform it's crashing. Same core version and settings as far as I can tell - HAVE_CD, HAVE_CHD, etc...

I'm looking through the code of state.c and the only thing that varies is the sound code which looks for LIB_VORBIS and some other libraries but other than that it should be the same. Both platforms have same LSB endian. Is there anything else you can think of that I'm missing?

appreciate any insight you might have

thanks!

ekeeke commented 1 year ago

It could be that one is a 32-bit platform and another is a 64-bit platform, in which case there is a known incompatibity between savestates in this case, see https://github.com/ekeeke/Genesis-Plus-GX/issues/311

Otherwise, the best way to know is to make a state file in the same game at the exact same spot on the two platforms and look at which offset they start to differ.