Hacking Flash2Advance and save files

muckers

Well-Known Member
OP
Member
Joined
Sep 30, 2006
Messages
247
Trophies
0
Location
Warwickshire, UK
XP
187
Country
Ok, so I got some queries.

I've had this Flash2Advance 256mbit cart + USB cable for about 3 or 4 years and it's never failed me - until now.

I've got a legit copy of Pokemon Diamond for my DS and I'm wanting to transfer Pokemon across from my Pokemon sapphire. Thing is, I sold my legit copy of Sapphire after getting the F2A (shoot me down, I was younger, needed some money) but backed up my save file.

My save file works fine, but it got saved in a 64kbit format. I was told that Pokemon Sapphire uses 128kbit saving so I opened up a ROM, loaded that save file, set the save type in VBA to 128kbit and saved in game a few times.

When I loaded the ROM again, success! I got no 'This save file is corrupt' message, as apparently it was the right size.

However, when I wrote Pokemon Sapphire (and just sapphire - no loader at all) to my F2A and wrote the save file (chosing 128kbit as the type), when I went to load the game I still got the 'This Save file is corrupt' message, even though it was a 128kbit save file.

My question is...what's causing this? Is it the writing software or is it the cartridge?

Is it the software/writer that can't deal with 128kbit save files (despite the option for them, and 512kbit saves) and is then converting them to 64kbit?

Or is it the cartridge, unable to write a 128kbit save file so coverts it and stores it in its 64kbit bank?

I'm perfectly up for buying a legit copy of Pokemon Sapphire; that's fine. But I want to be able to throw that save file onto the legit cartridge, I don't really want to loose my 88 hours of gameplay that got racked up since I bought the game on launch in America.

If it's the F2A cart then it won't be a problem with the legit cart, but if it's the software then I won't waste my money, tbf.

Anyone able to shed some light on this?
 

enarky

owls?
Member
Joined
Jul 31, 2003
Messages
1,239
Trophies
2
XP
2,334
Country
Afghanistan
Pokémon Fire Red and Sapphire both use 1 MBit (= 128 kByte) save files, according to GBATemp and Pocketheaven release lists, which aren't directly supported by F2A carts. There were savefix patches for a few foreign versions of both games, I'm pretty sure these games can also be patched with GBATA (which supports the used FLASH1M_v103, according to readme.txt).
 

enarky

owls?
Member
Joined
Jul 31, 2003
Messages
1,239
Trophies
2
XP
2,334
Country
Afghanistan
That won't work. The savetype isn't supported by the F2A Software. It won't know how to access that specific Flash ROM used for savegames on the cart. Doesn't the SRAM patched ROM Image work with your save files?

[EDIT]
I remember that the SRAM patched Super Mario Advance 4, which used FLASH1M_V102, saved over two (or four?) complete SRAM Slots with my F2A cartridge (thus destroying all Pogoshell settings and saves, which resided in banks 2-4) - most likely it's the same for Pokémons, so you'll most likely have to split your save files? I'd search for the original GBATemp release threats, I'm sure there are some hints for F2A users burried there.

0898 - Pokemon Sapphire
1636 - Pokemon - Fire Red Version (U)
[/EDIT]
 

muckers

Well-Known Member
OP
Member
Joined
Sep 30, 2006
Messages
247
Trophies
0
Location
Warwickshire, UK
XP
187
Country
Ok, I have got the save at 1mbit/128kbyte now, thanks to VisualBoy Advance.

In the emulator, there is no save error but when I play it on the F2A cart there is.

I'm not bothered about the F2A cart; the save error would make no difference if I was wanting to play it as it still loads the file and saves fine.

BUT...Pokemon Diamond will not recognise the save file as it is reading as 'corrupt'.

I want to know that if I take my 1mbit/128kbyte save file that I have on the PC that I'll be able to transfer it over to an ORIGINAL cartridge. Apparently not; the software can't access those parts of memory?

Thanks for all your help, Big Weiner.
smile.gif


I found a patch for US Sapphire; not sure if it's an SRAM patch or just a 'crack' patch (judging by the thread, there was trouble getting it working upon dumping).

I have various GBA ROM programs, I'm sure one of those will do an SRAM patch for me, right?
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
Diamond will not be able to read the save from the F2A, even if you get it working on that cart. The legit copy of Diamond will never be able to read the save from a flashcart. There is a patch for the Diamond rom to get it to read saves from an EZ-Flash 3-in-1, but it probably won't work with the F2A.

There is a GBA program called cart_save (available here, under "GBA Game Save Backup Utility") that can transfer saves to and from retail GBA games. It uses DLDI, so you won't be able to get saves off of retail carts with the F2A, but you may be able to transfer saves to a retail cart by using the flashcart SRAM DLDI driver.
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
After a few tries, I was successful in sending a save from my 3-in-1 to a retail GBA game with cart_save and the FCSR (Flashcart SRAM) DLDI driver. It should work exactly the same way with the F2A.

The FCSR driver works by creating a file system image and appending it to a .nds or .gba file, then allowing homebrew to access the files in the file system image with the standard DLDI interface. It is read only, so this will only work for putting saves on a retail cart, you can't get the saves off of retail carts this way.

I used DLDIrc (DLDI right click patcher). It has the FCSR driver and FCSR image genertion built in.

To generate the file with DLDIrc, you need to create a folder with the same name (minus extension) as the file you want to patch, in the same folder as that file. In this case the file is cart_save.gba, so you need to create a folder called cart_save. The files that you want the homebrew to have access to go in that folder. For some reason, it doesn't seem to work with just one file in that folder, so if your file(s) don't show up when you run the program, add some junk files to the folder and try again.

DLDIrc renames the .gba file to .nds when you do this, so you will need to change the extension back to .gba.

Once you have the cart_save.gba file with the save file in it and the FCSR driver applied to it, you just flash it to the F2A, run it as a GBA game, then follow the instructions it gives you.
 

belmont

Well-Known Member
Member
Joined
Nov 7, 2002
Messages
186
Trophies
2
Age
40
Location
Athens,Greece
XP
2,048
Country
Greece
Destructobot thank you very much!!!

I got what you were talking about and worked. I also have an M3 and used it.However the problem is that the F2A pokemon save I have is 64kbyte SRAM and the actual cart uses 1024 Flash. Is there a way to convert it?
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
The only thing I can think of is to load the save in VBA and save it as 128KB like muckers did.

Just a note, if you have a slot 2 flashcart with DLDI support, you don't seed to mess with all that FCSR crap. Just patch cart_save.gba with the appropriate DLDI driver, put it and the save you want to transefer on your flashcart, and run it as a GBA game.
 

muckers

Well-Known Member
OP
Member
Joined
Sep 30, 2006
Messages
247
Trophies
0
Location
Warwickshire, UK
XP
187
Country
Thanks Destructobot! My retail Sapphire cart should arrive in a couple of days, I'll do the stuff now, get it all ready, and give it a try when it arrives.
smile.gif


EDIT: Just so I'm sure I'm doing this right....here's how I've got it set up.

There's the cart_save.gba file that I'm going to patch using the G6 Lite driver. There's the cart_save folder. Inside that is a few random files, just junk really, plus the save file I want to copy to my retail cart. (That's named POKEMON SAPP.sav)

saves.PNG


Then I just stick the cart_save.gba file onto my G6 Lite and run it, and it'll be obvious what to do from there?
smile.gif
 

belmont

Well-Known Member
Member
Joined
Nov 7, 2002
Messages
186
Trophies
2
Age
40
Location
Athens,Greece
XP
2,048
Country
Greece
It will be obvious since you just have to press some buttons and change the flash card with the original cart.

However I just get an annoying "the save has been deleted" message although the program tells me that the save was written.
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
EDIT: Just so I'm sure I'm doing this right....here's how I've got it set up.
...
Then I just stick the cart_save.gba file onto my G6 Lite and run it, and it'll be obvious what to do from there?
smile.gif
If you're using the G6 Lite you don't need to do all that stuff I was talking about earlier, that was just for using a cart like tha F2A. For the G6, just patch cart_save.gba with the G6 DLDI driver, then put it and the save file on the G6 and run cart_save in GBA mode. It will tell you what to do from there.

p.s. You should just add a new post for something like that, if you just edit your post the thread still shows as read. I didn't see your update until someone else posted.


Belmont: You have a corrupt save file. The game is reading it, not liking what it sees, and deleting the save.
 

belmont

Well-Known Member
Member
Joined
Nov 7, 2002
Messages
186
Trophies
2
Age
40
Location
Athens,Greece
XP
2,048
Country
Greece
Yes my save file is corrupt.

I have a working 64KB save file.

How do I use VBA to create an 128KB one? I used to do it but I can't remember.

Pikachu025 I used flash manager in the past and didn't work with me. Can you tell me a little bit more about the proccess?
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
I have a working 64KB save file. How do I use VBA to create an 128KB one?
I just tried this with a 64KB save from Leaf Green and it worked. I can only assume it will also work for Fire Red.

1) Open VBA, go into the save type options, and make sure "automatic" and "flash 128K" are selected. Close VBA.

2) Create a 128KB file that contains 2 copies of the 64KB save you want to convert, one after the other (make sure you keep a backup of the original 64KB file).
  • You can do this in a hex editor by opening the 64KB file, selecting the whole thing, copying it, and pasting it onto the end of the file.

    You can also use the "copy" command from a windows command prompt like so:CODEcopy /b "pokemon - fire red.sav"+"pokemon - fire red.sav" "pokemon - fire red 128KB.sav"
3) Put the new 128KB save file in the same folder as the pokemon rom, and rename it to match the .gba file (e.g. "pokemon - fire red.gba" and "pokemon - fire red.sav").

4) Run VBA and load the game. It should say that the save is corrupt and it's using the backup. It should load the save at this point.

5) Save the game.

You should now have a working 128KB save file.
 

belmont

Well-Known Member
Member
Joined
Nov 7, 2002
Messages
186
Trophies
2
Age
40
Location
Athens,Greece
XP
2,048
Country
Greece
Destructobot thank you very much!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I did it. I created a 128 save file from DOS and wrote it to my original cart using cartsave!!

Finally I can move all the 386 pokemon I gathered in the GBA games in Pokemon Diamond.

Again thank you very much!
 

muckers

Well-Known Member
OP
Member
Joined
Sep 30, 2006
Messages
247
Trophies
0
Location
Warwickshire, UK
XP
187
Country
Thanks so much for your help!
smile.gif


My legit Sapphire came through the post today, and I used cart_save.gba to write the save file and it worked perfectly! Now I'm migrating over all my Pokemon that I've had backed up from my first copy of Sapphire way back in 2003.

If I knew you, I'd buy you a pint, Destructobot.
wink.gif
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: Also nice. Never really watched Fallout on Prime, but sounds like a good show. +1