Tutorial  Updated

Backup a GBA Pokemon bootleg save file

GBA Pokemon bootlegs save file are located in the rom itself.
In order to transfer to another official catridge or into any emulator we need to do some work.

What do we need:

- NDS Fat or NDS Lite (needs a working Slot-2)
- NDS FlashCart that can run Homebrew (R4 is the one used here)
- Pokemon bootleg game (Fire Red and Emerald are used here)
- GBA Backup Tool
- This software : GBA_Pokemon_bootleg_save_extractor.exe

Step 1
Extract the archive and copy the content of the GBA_Backup_Tool folder at the root of your NDS Flashcart.

(Optional)

If you want to reduce the size of the dump you can edit the GBA_Backup_Tool.ini file.
This example reduce the size of the dump to 16 MB, wich is the original size. This can help you save place if you want to do multiple backup.
Code:
# GBA_Backup_Tool.ini

FileDir       /GBA_Backup   ! Directory

SaveFile   128       ! 0:auto, nnn:Save File Size(KB)

RomSize       16       ! 0:auto, nn:Rom Backup Size(MB)

#Trim               ! Use Trim

ATTENTION !
The roms tested store the save twice. One time in the first half part of the rom and another time in the second half. In this case we can reduce the size of the rom by half.
Other cartridges may store save data at the end of the rom. Be carefull, you may end up skipping the save data part and be unable to extract it.
So reduce the size only if you know what you are doing.

Step 2
Insert your Flashcart and your GBA game into your NDS.
Power it on and launch GBA Backup Tool.

Press (A) to confirm that the gba cartridge is inserted.
Then press (R) two times to switch to Rom Backup.
Press (B) to start the backup, then (A) again to confirm.
Wait until the end. You can press (Start) to shut down your device once it's finished.

Step 3 (Updated)
The extraction of the save file is now simplified. You just need to use the given software.
Just click on the Load Rom button then specify the path to the ROM.
The software creates a save file with the same name of the given ROM and its path is written.


You can now use your save file where you want.
Have fun training your pokemon !
 
Last edited by Arekkuwu,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Any change we can get some PCB shots -- there are multiple types of bootleg pokemon cart out there (everything from old school 3 in 1 carts twisted to work as such to slightly modded versions of said same, really old gen flash carts and really old takes on homebrew carts right through to the epoxy blob stuff of today, and while right now I imagine you have the current one in a year it could be different.
 

Arekkuwu

Member
OP
Newcomer
Joined
Jan 2, 2020
Messages
9
Trophies
0
Age
25
XP
593
Country
France
I found the reference online. So here is a picture of the PCB.

M29W128.jpg

This model uses SRAM instead of Flash.
I will work soon on the same PCB that contain the Emerald version.

(I don't own the right for the image)
 
  • Like
Reactions: guisadop

Arekkuwu

Member
OP
Newcomer
Joined
Jan 2, 2020
Messages
9
Trophies
0
Age
25
XP
593
Country
France
So after some research I found out this:
The best way I found to locate the save file in the rom is to search 4 specific bytes.

The first byte will be located at the adress: 0x****18
So we need to find the unknown *.

For that the software start searching at the last adress of the rom plus 0x18. Then it checks if the 4 next bytes are the one needed: 0x25 0x20 0x01 0x08.
If they not match it decreases by 0x20 the next first byte's adress to test.
When the last adress of the save file is located. It extracts the save file depending on the number of byte of the save file of the game.

It's also important to add stuffing bytes to respect the save file format and length.
It works without stuffing bytes in a save editor but emulator may tell the save is corrupted or give a black screen.

This is what I found for bootlegs I know. It mays be diffrents in others.

If someone wants to try it feel free to give me feedbacks.
 
Last edited by Arekkuwu,

WideAwakeGamer

New Member
Newbie
Joined
Jan 10, 2021
Messages
1
Trophies
0
Age
21
XP
37
Country
United Kingdom
So after some research I found out this:
The best way I found to locate the save file in the rom is to search 4 specific bytes.

The first byte will be located at the adress: 0x****18
So we need to find the unknown *.

For that the software start searching at the last adress of the rom plus 0x18. Then it checks if the 4 next bytes are the one needed: 0x25 0x20 0x01 0x08.
If they not match it decreases by 0x20 the next first byte's adress to test.
When the last adress of the save file is located. It extracts the save file depending on the number of byte of the save file of the game.

It's also important to add stuffing bytes to respect the save file format and length.
It works without stuffing bytes in a save editor but emulator may tell the save is corrupted or give a black screen.

This is what I found for bootlegs I know. It mays be diffrents in others.

If someone wants to try it feel free to give me feedbacks.

The Software worked. I got my save data it was Pokemon Fire Red Thank you. I was wondering If there is anyway to save a normal offical .sav game to .gba then write it to the Game via the backup tool because i saw an update button in the tool and was just wondering.
 
Last edited by WideAwakeGamer,

KMSteter_88

New Member
Newbie
Joined
Dec 18, 2019
Messages
3
Trophies
0
Age
36
XP
80
Country
Brazil
About this subject, anyone know if it possible to flash back the rom using GBA Backup Tool on a bootleg cartridge? I'm asking because I want to do some events distributions injections in my pokemon save.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Also the wood ui for twl menu is back... +2