1

I have an emulator on my phone (Redmi), and I was playing Pokemon Fire Red. However, I now want to transfer my progress over to the 'My Boy!' emulator.

Is this possible? As far as I can tell, the other emulator does not use the same save file format as My Boy!. Is there any way to make this work?

2
  • 3
    What is the name of the other emulator?
    – Robotnik
    Jun 27, 2021 at 13:45
  • One of the other answers I found here may be able to help. I've also updated my answer with a synopsis of the answers on the aforementioned question. Jun 30, 2021 at 17:39

1 Answer 1

4

The short answer is that what you're trying to do is not very likely to work at all, no matter how hard you try.

After further research however, there is one thing you can try.


What can you try with MyBoy?

With the MyBoy emulator, save files are stored in the same folder as the ROM itself, and under the same name. For example, if you have a ROM named PokemonFireRed.gba, your save file must be named PokemonFireRed.sav.

NOTE: This is NOT guaranteed to work with save files from every emulator when coming to MyBoy.


Why won't it work for every emulator?

The problem is that when applications are developed, their developers choose how to serialize data for later deserialization (save/load) in their application. While I may use binary serialization in my application, you may choose to simply create a text file to store JSON data in.

What happens, is when you try to load a file in an application, it has a pre-defined algorithm that tells it how to interpret the data within it. If the file you're trying to load wasn't created in a way that enables that algorithm to interpret it, then it will fail to load.

Let's visualize why this is a problem with a simple example.


Let's say I've told you that when you save data you need to count from 1 to 10, and to load your data, you count from 10 to 1. You can think of this as your predefined set of instructions for saving and loading data. When I tell you to save your data, you count from 1 to 10:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

When I tell you to load your data, you count from 10 to 1.

10, 9, 8, 7, 6, 5, 4, 3, 2, 1

Now, let's say my set of instructions for saving and loading data is to count from 50 to 100 and from 100 to 50 respectively, while only counting even numbers. You can see that when I load your data, I'm not counting the same way you are:

50, 52, 54, 56, 58, 60, ...
100, 98, 96, 94, 92, 90, ...

With that in mind, your data isn't written out the same way as mine, therefore I cannot possibly load your data with my algorithm.


Hope this helps!

5
  • I've never used these emulators, but isn't there a possibility to save them in a "universal" format that might be readable from both sides? (maybe a Gameboy save file format?)
    – Zoma
    Jun 28, 2021 at 14:54
  • 1
    @Zoma there's not really a universal format, even the physical games themselves saved data in their own ways. Some emulators are written by the same developers and as a result they might be capable of loading save files across them, but for the most part it's up to each developer. Someone more well versed in the emulation scene would have to tell us if there's some form of standard way to save the data out, but not every emulator has to follow that standard. Jun 28, 2021 at 15:47
  • Oh, though GameBoy itself would have some kind of continuity with games files for saves and all, now that I think about it there was nothing saved on the console back then, so no reason to follow a universal format '-' Might have a chance to work with JSON using in-game const to name items but it's pretty random.
    – Zoma
    Jun 28, 2021 at 16:07
  • My understanding is that most GameBoy/DS emulators just do a naive hex dump of the contents of memory into a file and then tack on a file extension. I guess endianess would come into play, and another factor is how large the memory is, but in general you could find success with just making the file extensions match up through renaming.
    – Kyle Pollard
    Jul 20, 2021 at 4:41
  • @KylePollard could, but not a guaranteed way to do it unfortunately. Jul 20, 2021 at 14:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .