libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
110 stars 60 forks source link

[Android] Issues with savestate feature #638

Open Vweber73 opened 8 months ago

Vweber73 commented 8 months ago

Hi,

I never played much with samnapshots ("saves") but now that I do, I have issues with them. All of this is with the F/A 18 Interceptor adf, cracked by a-ah.

First, I wonder how core options are managed with saves. I could load one old save with was done with regular A500 settings, but the status bar says "CD32", which is obviously not the case (workbench says 1MB ram). I wonder whether presets Ids have changed along the way but not for saves?

The, and more serious issue, I just can't load new saves. First I thought that was because core options of the save (A4000, no cycle exact) didn't match the default core option of the game (A500, cycle exact), and that maybe they needed to be aligned (although I would find this a pity, I think saves should have their own options and dynamically update the core options of the game - is it the case?). But the I realised that even saving and immediately trying to load the new save generates a load failure! Is this something known?

Many thanks and best regards

sonninnos commented 8 months ago

Loading states from different configs will cause problems, and there is nothing to be done about that. Also I have no problems loading states from the same config. Rewind wouldn't work otherwise, but it does.

Vweber73 commented 8 months ago

Thanks. When I save a state of Interceptor (during demo) using A4000 preset et normal for cycle-exact to slot 1, and then try to immediately reload it, I get error loading save. Maybe it is Android specific?

sonninnos commented 8 months ago

Might be a problem with the A4000 support then. Why not use the automatic defaults? Games can't use the extra features anyway, and A1200 can be "overclocked" with the settings.

Vweber73 commented 8 months ago

Because Interceptor is much faster with an A4000, but cycle-exact leads to slowdowns in music, possibly because my Z fold 3 can't take it...

sonninnos commented 8 months ago

Pretty sure Cycle-exact isn't even properly accurate with the CPU that is inside that thing.

Vweber73 commented 8 months ago

Reloading a state even fails with A1200 default config (8MB Z2 RAM), Cycle normal...

sonninnos commented 8 months ago

Then it might be an Android thing, since it works fine here. There is nothing specific in the libretro-side of state things except keeping the data in memory instead of writing directly. There is no straight Android port of WinUAE either, which means no way to narrow it down, so I guess it is what it is.

Vweber73 commented 8 months ago

I tested further. I somehiw got it to work, provided I don't deviate from standard presets. Once, I saved then reloaded, the reload succeeded, but with an Amiga software failure. Maybe that was due to me doing this during fast forward mode? I tried again at normal speed and it was fine...

i30817 commented 7 months ago

Another issue with savestates is that many games weren't exactly tested well or made by.... good programmers - they have memory leaks. If a game is supposed to run for longer than a single day on the older times, sometimes they depended on save loading to reset memory in a way that just using savestates wont, and crash if using savestates exclusively eventually.

Happens sometimes even on RPGs on the playstation on emulators, which did have more memory available to play with than any classical amiga game. Hell it happens on PC games like vampire the masquerade bloodlines.