Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Unrecognized nes state file



  • I recently updated a bunch of libraries on my rpi4.3, everything stock, the only custom configuration I'm running is my roms/saves on on a samba share on my network.

    I was 30 hours into Final Fantasy 1 on nes with fceumm and after an update the save state file was no longer recognized.

    Here's what I've tried:
    Putting the state file on the sdcard
    Loading the state file on my linux pc in fceux (which works fine) and resaving from fceux and try loading that file on the pi (which still doesn't) work.
    Saving a new state file from fceux on my pc (the pi still won't load it)

    So obviously fceux and fceumm must not be the same emulator, but I can't find any information on the fceumm build or how it's forked from fceux. I'm guessing there's an incompatibility between the two emulator versions.

    Does anyone know of any developer tools to convert state file formats to another format or how to just get fceux to run on the pi so I can load this state file properly?


  • Global Moderator

    @KaibutsuX said in Unrecognized nes state file:

    So obviously fceux and fceumm must not be the same emulator,

    The core emulator is the same, but this doesn't necessarily mean the save states are compatible between them. Are they the same version ? A bunch of libretro based emulators - and I assume also fceumm - got updated to support RetroArch run-ahead optimizations and in the process they had to modify the save state format.
    If you still want to use your save file, I'd load an older release of RetroPie and use the fceumm version from that release.



  • How do I determine which version of fceumm my pi is running? It doesn't appear in apt list --installed

    My pc however is running fceux 2.2.3-1. I wonder if there is an fceumm related tool to convert state files between versions.


  • Global Moderator

    @KaibutsuX While in-game, press Select + X(or Hotkey + X if you selected another button as Hotkey) and you'll see the version of the libretro Fceumm core used.



  • Thank you so much, apparently I'm on 1.7.5. I ran a git-bisect on the lr-fceumm source and after the first bisect the emulator was able to open the old state file, so I'm going to bisect fully and find the "regression" at least for my own curiosity.



  • Just my findings:

    commit 0343e3dbd8a22f64698e824e30b08e0887d77b6b
    Author: retro-wertz retro-wertz@users.noreply.github.com
    Date: Sun Mar 4 21:47:52 2018 +0800

    Add missing variable to save state
    

    This is the commit that breaks the loading of existing state files from old pi's.

    And for anyone's future reference: here is the github issue regarding it: https://github.com/libretro/libretro-fceumm/issues/215



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.