plrguez / fuse-od

Fuse 1.6.0 for OpenDingux/RetroFW
GNU General Public License v2.0
5 stars 2 forks source link

States are saved to different folders #4

Closed geniot closed 3 years ago

geniot commented 3 years ago

Again maybe not a bug, but very confusing. Depending on the machine type states are saved to different folders. It makes sense. But it doesn't if states for the same game are saved to different folders. At some point the machine type for the game I play switched from Spectrum 128K to Spectrum 48K. I didn't change this option specifically. Can it be set automatically by the Fuse emulator?

This machine type change showed me the history of some old 48K saves. So some days ago I started to save states to 48K. Did I use zx80 file back then? Probably. Then I found that the rom is a little buggy and I found tzx rom of the same game.

Can it be that I shouldn't change names of roms? So it should be Myth48.zx80 and Myth128.tzx (some long unique names)?

So maybe the problem is that I tend to rename rom files to shorter names like Myth.zx80, Myth.tzx

plrguez commented 3 years ago

Savestates is a layer over Fuse's snapshot save functionality. I tried to do it as most simple possible to cover the most used cases.

With default configuration, SZX format and Savestates per machine model enabled, it should not change machine model loading any savestate. If that has happened to you then it is a bug and I would appreciate knowing how to reproduce it.

Savestates are stored in the path $HOME/.fuse/savestates/<Machine Model>/<Program Filename>

So if a program file is renamed after states have been saved for it, they will not be found the next time you load the program. And even it could be pointed another path previously used if have existed other filename with the new name. The paths and file names in OpenDingux/RetroFW are case sensitive.

If the option Save states by machine model is disabled the path used to store states will be path $HOME/.fuse/savestates/<Program Filename> and then what you have described could happen, that the model is changed when loading a savestate. This could happen with different files with the same name and different extension (Eg. Fairlight 2.tzx for 128k and Fairlight 2.tap for 48k) or with the same file loaded for different models (Eg. Head Over Heels.tzx loaded for 48k or 128k).

The Z80 format does not support all combinations for storing information about the media and hardware used, this include some machine models. Some examples: