The ROM file is in the same directory as VBA, yet when I run it in VBA, no "Loaded battery" text shows up, and when I get past the game's main menu, the game acts as if I've never played even though there is a save file in the directory.
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.
Pokemon Fire Red Save File .sav
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.
The save data structure for Generation III is stored in the cartridge's flash memory chip (Flash-RAM),[1] which does not lose data when power is lost. This is different from previous generations of Pokémon, which used battery-backed memory (SRAM). The structure consists of 128 KB of data, though not every byte is used. When emulated, this data is generally placed in a separate file (".sav" is a common extension). These should not be confused with save state files, which might have similar file extensions. Emulators may append additional data for the purposes of maintaining real-time clock operations or any number of uses, which can complicate the creation of editing tools.
Each game save is represented by 14 sections. The game alternates which region of the save file it writes to each time the game is saved. For example, if the most recent save was save A, then the next time the game is saved, it will be written to save B.
Each section contains 4 bytes in between the Checksum and Save Index. This serves as a file signature that holds the magic number 0x08012025 in little-endian format (i.e. bytes 0x25 0x20 0x01 0x08). If the signature holds a different value, the section, and, by extension, the save block, is treated as invalid.
The second byte (0x14) contains the settings for Text Speed and Frame. The lowest three bits designate the Text Speed and the remaining bits the index of the chosen Frame style. The options for Text speed result in these values in the save file: 2ff7e9595c
Comments