Making saves from other emulators work
Somebody using Delta told me their save would not come across. I thought it was the format, but import was only accepting the file N-EMU makes.
Somebody who had been using Delta tried N-EMU and told me. They wanted to bring a Nintendo DS save across and could not.
At first it looked like a format problem. Delta uses a core called DeSmuME and N-EMU uses melonDS. Even the file extension is different.
But looking into it, the problem sat further in. There was nowhere at all to put a save another app had written. Import only accepted the backup file N-EMU makes, and saves live in the app's own storage under a different name for each game, so there was no moving one by hand either. That was true of every system, not only the Nintendo DS.
The format difference turned out to be smaller than it looked. Open the two files and the front is identical; DeSmuME simply appends forty bytes. Take those forty bytes off and it reads as it is.
So I did not build a converter. Instead of telling people to convert first, import looks at the file and decides for itself. If the footer is there it comes off; if it is not, the file goes in as it is.
It does not take just anything, though. A save comes in fixed sizes, and anything else is refused. Pick a game file or a photo by mistake and it stops there. The Super Famicom and the PSP keep their saves in several files, and one file cannot say which one it is, so those are not accepted yet.
Someone who was using another emulator can move to N-EMU, bring their saves over as they are, and carry on from where they left off. Thanks to the person who told me, I found a problem I had not thought of and could fix it. Thank you.
Related development stories
- Development storiesv0.9.5Alpha testing
Moving saves without an account
One file can carry saves and settings for several games, with a review before existing data changes.
- Development storiesv0.5.1Early development
Keep save data as files
Export saves for safekeeping or move them to another device without connecting Google Drive.