PUBG Mobile on GameLoop Beta: All Issues FixedThe latest EmuDesk Smart Tool update fixes all compatibility issues with GameLoop Beta including camera stuttering and delivers fully functional keymaps, including at 1080p and 2K.Get EmuDesk Smart Tool

Pokémon Save Not Working on Emulator — Fix for GBA and NDS Games

Medium4 solutions

My Pokémon game isn't saving on the emulator — either it says "The save file is corrupted" when I load it, or my progress doesn't carry over after I close the emulator, or I get a "No save file found" error when starting. How do I fix Pokémon saves in mGBA (GBA games) and melonDS or DeSmuME (DS games)?

Last updated 8 weeks ago0 users reported this issue121
Sign in to interact

Solutions

Solution 1

mgba-save-type-fix-gba-games (sortOrder=1, isMostHelpful)

The most common cause of broken saves in Pokémon GBA games (FireRed, LeafGreen, Emerald, Ruby, Sapphire) is an incorrect save type setting in mGBA. Each Pokémon game uses a specific save chip (Flash 512k, Flash 1M, or SRAM) and mGBA must be configured to match. If the wrong type is detected automatically, saves appear to work but the data isn't written correctly.

Fix per game — set the correct save type in mGBA:

  1. In mGBA: File → Game Overrides (or right-click the game in the library → Game Overrides).
  2. Under Save Type, set the correct value for your game:
    • Pokémon FireRed / LeafGreen: Flash 1M (128 kB)
    • Pokémon Emerald: Flash 1M (128 kB)
    • Pokémon Ruby / Sapphire: Flash 512k (64 kB)
    • Pokémon HeartGold / SoulSilver (NDS): these are DS games — see S2 instead.
  3. Also confirm RTC (Real-Time Clock) override is enabled for Emerald, Ruby, and Sapphire — without RTC, events like berry growth and timed in-game mechanics break, but saves still work.
  4. Close mGBA and re-open the ROM. The existing .sav file may be corrupted from the wrong type — delete it (find it in the same folder as the ROM, named YourGame.sav) and start a fresh save with the correct type.

Using the mGBA BIOS for more accurate behavior: Game-corner saves in FireRed/LeafGreen can still fail even with the right save type if you're using mGBA without a real GBA BIOS file. The GBA BIOS (gba_bios.bin, 16384 bytes) gives mGBA more accurate behavior with edge-case save routines. Place it in mGBA's BIOS folder (Settings → BIOS → GBA BIOS path) and restart. It's optional but fixes rare save edge cases.

Always save via the in-game save menu, not just save states: mGBA's save states (F1/F2) are a separate mechanism from the actual .sav file. A save state captures RAM and lets you resume from exactly that point, but if something corrupts the state (mGBA crash, version mismatch), you lose everything. In-game saves write to the .sav file, which is more durable. Use both: save in-game regularly, and use save states for quick "I might die here" moments.

Solution 2

melonds-nds-pokemon-save-fix (sortOrder=2)

Pokémon DS games (Diamond, Pearl, Platinum, HeartGold, SoulSilver, Black, White, Black 2, White 2) run in melonDS. Save issues here usually come from missing BIOS files or from confusing in-game saves with save states.

melonDS requires specific BIOS files for correct save behavior in some NDS games:

  • melonDS can run in HLE (High-Level Emulation) mode without BIOS — boots most games but some save routines behave incorrectly.
  • For most Pokémon NDS games, HLE is fine. If saves aren't persisting, try adding real NDS BIOS files: bios7.bin (16384 bytes), bios9.bin (4096 bytes), firmware.bin (variable, 131072 or 262144 bytes). Place them in melonDS's BIOS directory (Config → Emu Settings → DS-mode BIOS files).
  • With real BIOS, enable Boot to firmware first — melonDS goes through the NDS startup sequence, which gives more accurate save file initialization.

In-game save vs. melonDS save state (important distinction):

  • melonDS save states (Shift+F1 to save, F1 to load) work the same as mGBA — they're RAM snapshots, not actual game saves.
  • Real save data lives in a .sav file (same folder as the ROM). The game writes to this file when you use the in-game SAVE function from the menu.
  • If you close melonDS without saving in-game first, any progress after the last in-game save is lost — save states don't help if they weren't created after the last in-game save.

DeSmuME users (older emulator): DeSmuME uses a slightly different .dsv format for save files. If you want to move a DeSmuME save to melonDS: in DeSmuME, go to File → Export Backup Memory and export as .sav. melonDS reads .sav files natively.

Solution 3

corrupted-save-recovery (sortOrder=3)

If Pokémon detects a corrupted save and shows "The save file is corrupted. The previous save file will be loaded," it means the primary save slot is damaged. Most Pokémon games keep a backup save — here's how to recover:

For GBA games (FireRed, Emerald, Ruby, etc.):

  1. On the title screen, hold ↑ + SELECT + B simultaneously before pressing A/Start. This loads the game's backup save slot. (Some games use different combos — check a FAQ for your specific game.)
  2. If the backup save is also corrupted or absent: the data loss is permanent. This is the main reason to use in-game saves frequently alongside save states.
  3. The most common cause of a corrupt .sav file is an mGBA crash or force-quit while the game was writing to the save. Set up Auto-Save in mGBA (Config → Emulation → Save every N frames) to reduce the risk.

For NDS games (Diamond, Platinum, Black, etc.):

  • NDS Pokémon games also keep a backup save. Hold Up + Select + B on the title screen to load it.
  • If melonDS won't start the ROM at all after a corrupted save, try deleting the .sav file entirely and starting fresh — melonDS will create a new blank save file.

Save file location in mGBA and melonDS: By default, save files are in the same folder as the ROM, with the same base filename but a .sav extension. You can change this in mGBA → Settings → Paths → Save File Location. Keeping all saves in one dedicated folder makes them easier to back up.

Solution 4

save-state-vs-real-save-best-practices (sortOrder=4)

A lot of Pokémon save problems come from misunderstanding the difference between save states and real saves. Understanding both prevents data loss.

Real (in-game) saves:

  • Triggered by using the in-game SAVE option from the menu.
  • Written to a .sav file on disk.
  • Portable: you can copy the .sav file, back it up, even transfer it to a real GBA/DS with a flash cart.
  • Survive emulator crashes, version upgrades, and moving the ROM to a different computer.
  • Pokémon games limit you to one save slot per cartridge (and per .sav file), so overwriting it is final.

Save states (emulator-only):

  • Triggered by pressing the emulator's save-state key (Shift+F1 in mGBA/melonDS).
  • Capture the entire RAM state — you resume exactly where you were, in the middle of any scene.
  • Tied to the emulator version: a save state made in mGBA 0.9 may not load correctly in mGBA 0.10.
  • Best practice: use save states frequently as a safety net, but always do an in-game save before closing the emulator. If a save state fails, the in-game save is your fallback.

If you're grinding and don't want to lose progress: In a long grind session, use in-game SAVE every 20-30 minutes AND create a save state (they complement each other). Some players do: in-game save before a boss → save state right before the fight → retry from save state if they fail, without touching the in-game save.

Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page