Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TG16CD Saved games missing #115

Open
undeadindustries opened this issue Apr 22, 2019 · 2 comments
Open

TG16CD Saved games missing #115

undeadindustries opened this issue Apr 22, 2019 · 2 comments

Comments

@undeadindustries
Copy link

I found a strange repeatable bug.
Found in Ys games. Easiest one to replicate it in is YSIV english translate.
Libretro/retroarch: all latest cores etc. Nothing beta.
System: Win10pro 64bit, latest updates
Only weird things about this system: it has a projector instead of screen. my roms are on a "storage pool", which I think is RAID5?

To replicate:
Play the game for a bit. Save it a few times in different slots.
Exit the game/libretro.
Load the game back up, you will see your saved games.
Play the game more. Save in some other slots or over your current slots.
Turn your monitor off. and/or let the computer go to sleep (I did not do the later). However, the platter hard drive (non SSD) did sit long enough to stop spinning?
Come back to your game, it will be frozen.
You will be forced to stop the application.
After you load it back up, your original saved games will be there. But your new saved games won't be.

I'm wondering if they don't immediately get saved to disk and were still memory resident only?

@ghost
Copy link

ghost commented Apr 27, 2019

use Settings > Saving and set SaveRAM Autosave Interval so any updates to save ram with be written to disk, instead of waiting for core to be closed (properly and not a crash) before changes are written.
(this is suppose to be already set to 10 seconds by default in later commits...)

@i30817
Copy link

i30817 commented Jul 3, 2019

Some emulators (dolphin used to, fs-uae does etc) and maybe retroarch too only write out saves on a interval or when they exit without error.

This is for performance reasons.

So your error is is unrelated to saving, it's really the crash/the fact you had to stop the unresponsive application you should be concerned about.

TBF, this is not surprising. Hibernate code is a complete bitch in linux, which has the advantage of open drivers for most things, i don't even want to imagine how nightmareish it is on windows on a NFS mount or whatever you were doing.

Disclaimer: i don't know how these apis work, this is just my armchair designing:

One thing you could try to request from libretro is to recognize when a hibernate request is starting and hold it up until it saves, if possible. This may make the problem worse if the OS goes 'lol don't care' and tries to interrupt RA mid save or something. There is also the possibility that it's indeed RA's fault getting livelocked like this but that would need debugging most can't do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants