|28th July 2014, 04:35 AM||#1|
Reaching new heights
Join Date: Sep 2012
Location: ☆ • ○ ° ☾
[Tutorial] How to Fix the 64K Save 'White-Screen' in VBA Without Save-States
☆ A Pokemon (or other probably?) ROM that normally uses 128K Flash to save in-game (Emerald, FireRed, etc.)
☆ A Hex Editor, like HxD
☆ VisualBoyAdvance 1.8.0 (or whatever version you are using if this issue is present)
This tutorial is about bypassing the extremely annoying problem with ".SAV" files in VBA that usually causes people to have to start their whole save file over from the beginning. Normally, there is another way to get passed it but you need to have Save-States. This tutorial is for if you happen to be using the games without these as saves and are using the in-game saving instead, as I do with testing my ROM hack (I usually do the actual playing on my also-hacked PSP).
Now, the 3rd Generation Pokemon games (Emerald, FireRed, etc.) are supposed to run with 128K Flash saves. People have complained that while using a 64K save, once they've gotten to a certain point like defeating the E4 Champion, the save file ends up not working anymore and they can't progress. There's also the fact that when you try to load up a 64K Flash save file in a Pokemon game using VBA 1.8.0 (and others too, maybe), it just gives you a white-screen and freezes:
STEP 1: Making Copies
Whatever you do, DON'T delete that 64K battery file if you don't want to end up having to start over anyway. Here's a picture of the .SAV that isn't working and one that will, with red and green boxes around their file-sizes respectively:
Navigate to where your ROM is (AKA where your '.sav' file should normally be, and drag that save file into another folder or copy and paste it somewhere to keep it from being overwritten by what you'll do now. Open your ROM in VBA and start a New Game, and save it in-game as soon as you get the opportunity. Label your two files accordingly (like in the image), it makes it easier to tell which .SAV is which and they can't have the same default name at the same time anyways.
STEP 2: Time to Use the Hex Editor
Exit VBA, and open both the new .SAV it just made AND your original .SAV in HxD. it should look something like this:
With your original save file open as the active tab, make sure the cursor is blinking in the big hex data field and hit CTRL+A to highlight it all. Then, right click in it and choose 'Copy'.
Now go over to the tab of the New-Game sav file, make sure the cursor is blinking at the beginning of the data, right-click there and hit 'Paste write'. Be careful not to choose 'Paste insert', or the save will end up with an invalid file-size. After it makes the changes, make sure that that same tab (the modified NewGame file) is active then go up to the File Menu and select 'Save as...'. Name it something you can identify it by, like "MyFixedSave" or something. When you save it, you'll see that its size is 128KB. Here's a pic along the lines of what you should have now:
STEP 3: Back to VBA
Open up VBA, and go here: 'Options > Emulator > Save Type'. Make sure the first option set is checked as Automatic (or whatever is working for you), and here's the most important part so you can avoid this whole problem later: Choose Flash 128K and make sure it's checked. Restart VBA and look again to make sure it's still checked just in case.
Now, all you have to do is load up your ROM in VBA. Once you've done that, go to 'File > Import > Battery file...', and select your new .SAV that you made with HxD. It should load with no problem (besides probably saying that the "save file is corrupted", but it will still load everthing just fine), and it should have your save data right where you left off with it!
Now save again in-game, and back-up the new legit 128K Flash Save it should generate for safe keeping. There you go, now you can continue with your game. You can also get rid of the first two files if you want.
My YouTube Channel
My AdventureQuest/BattleOn character
Stabilizing Pokemon Emerald (Preventing Corruption)
[Emerald] Controlling Trainer Battle Music... Without ASM.
How to Fix the 64K Save 'White-Screen' in VBA Without Save-States
Last edited by Sky0fBlades; 28th July 2014 at 03:50 PM.
Linkandzelda liked this post
|64k, fix, save, savestates, tutorial, vba, whitescreen|