Before doing any modding or flashing with your phone, it’s a good idea to make a backup of your GDSF area of the phone just in case something goes wrong as that file could mean life or death for your phone, so if you don’t have one then do that before you doing anything else........
GDSF Operations:
GDSF Backup and Restoring the GDSF with XS++.
start up XS++ and connect your phone in the normal way (as you did when installing the USB Flash driver), XS++ should look like the screen below:

In the “configuration Menu” select GDSF and the screen should now look like this:

You’ll notice that I’ve highlighted 2 sections of XS++, Backup GDSF and Write GDSF, to make a Backup of your phones GDSF area, simply press Backup GDSF and XS++ will start making the backup and inform you when it’s safe to unplug your phone:

You’re GDSF will be placed here and will be named after your phones IMEI#, something like “K800_35170801xxxxxx_GDFS_BACKUP.bin” and will be around 60/70kbs.... keep this file VERY safe:

You can probably guess how you Restore the GDSF lol, add it to the tab and press “Write GDSF” and XS++ will restore the GDSF........ (YOU CANNOT RESTORE WITH GDSF TAKEN FROM ANY OTHER PHONE APART FROM YOURS.... IF YOU DO YOU HAVE DEAD PHONE).....
Now let’s “Read the Phone Lock Code”....
Don’t get to exited, this is not unlocking the phone lol, the phone lock code is the pin number you set to stop other people from putting the Sim Card into your phone......
Startup XS++ and navigate to the GDSF tab as you did while backing up the GDSF, and simply press “Phone Lock” (If you own a DB2020 model such as K800/W850 and so on, XS++ will reset it back to “0000” just in case for some reason your forget the code:

Success:

FIRST STEPS TO FLASHING:
There are a few things you must check before flashing.
Firstly, what kind of Firmware (Software) do we need??? I will be flashing a K800 with K810 software (killing two birds with one stone shall we say
(You cannot just flash any phones Firmware into your phone though, as not all SE’s can be converted).
Secondly what CID#/Color does our Firmware need to be??? We can check this by simply connecting to XS++ and reading the phones information like below.
Note: When you connect a DB2020 phone to XS++, if the phone has an EROM CID or 49 or 51 it will ask you if you wish to update the EROM CID to 52, it’s best to say YES and flash with CID52 files, there are 2 reasons why its recommended, firstly, all the latest DB2020 Firmware’s are for CID52 only, the second reason is if you plan on patching the phone, you will need to be CID52.
QUOTE
21:33:04| XS++ v3.1 (Darwin) Ready !
21:33:04| Executed on Microsoft Windows Vista
21:33:17|
21:33:17| Attempting to open the interface...
21:33:17|
21:33:17| TURN OFF PHONE!
21:33:17| Hold 'C' button on phone and connect phone NOW.
21:33:17| You have 30 seconds...
21:33:17|
21:33:22| Baseband ID: 9900
21:33:22| Protocol Version: 3.1
21:33:22| Warning: IMEI name does not match GDFS name (IMEI:K800 GDFS:K810)
21:33:22| ...using IMEI name
21:33:22|
21:33:22| Profiling SEMC phone...
21:33:22| Platform: DB2020
21:33:22| OTP CID: 49
21:33:22| EROM CID: 52
21:33:22| EROM Color: Red
21:33:22| IMEI: 35170801xxxxxx
21:33:22| Phone ID: K800
21:33:22| Region: EUROPE_2
21:33:22| CDA: CDA102568/200 R2A
21:33:22| Firmware Version: R8BA024
21:33:22| EROM: R3A011
21:33:22| Ready for operation!
21:33:24|
21:33:24| Sending db2020_cid01_prodid_p3j.bin...
21:33:25| Applet ID: 070129 0950 NGUCXC1250330_DB2020_PRODUCTIONIDLOADER_P3J
21:33:25| This is a PRODUCTION_ID loader
21:33:25|
21:33:25| Sending db2020_mem_patcher_cid52_r2a006.bin...
21:33:25| Applet ID: 061205 1523 HANCXC9876543210_DB2020_MEM_PATCHER_R2A006 0
21:33:25| This is a MEM_PATCHER loader
21:33:25|
21:33:25| Sending db2020_cid52red_flash_r2a005.bin...
21:33:25| Applet ID: 061201 1314 HANCXC1329129_DB2020_FLASHLOADER_R2A005
21:33:25| This is a FLASH loader
21:33:25| Sendinging shutdown signal to phone...
21:33:25| Done.. You may now connect again...
21:33:25| Shutting down...
21:33:04| Executed on Microsoft Windows Vista
21:33:17|
21:33:17| Attempting to open the interface...
21:33:17|
21:33:17| TURN OFF PHONE!
21:33:17| Hold 'C' button on phone and connect phone NOW.
21:33:17| You have 30 seconds...
21:33:17|
21:33:22| Baseband ID: 9900
21:33:22| Protocol Version: 3.1
21:33:22| Warning: IMEI name does not match GDFS name (IMEI:K800 GDFS:K810)
21:33:22| ...using IMEI name
21:33:22|
21:33:22| Profiling SEMC phone...
21:33:22| Platform: DB2020
21:33:22| OTP CID: 49
21:33:22| EROM CID: 52
21:33:22| EROM Color: Red
21:33:22| IMEI: 35170801xxxxxx
21:33:22| Phone ID: K800
21:33:22| Region: EUROPE_2
21:33:22| CDA: CDA102568/200 R2A
21:33:22| Firmware Version: R8BA024
21:33:22| EROM: R3A011
21:33:22| Ready for operation!
21:33:24|
21:33:24| Sending db2020_cid01_prodid_p3j.bin...
21:33:25| Applet ID: 070129 0950 NGUCXC1250330_DB2020_PRODUCTIONIDLOADER_P3J
21:33:25| This is a PRODUCTION_ID loader
21:33:25|
21:33:25| Sending db2020_mem_patcher_cid52_r2a006.bin...
21:33:25| Applet ID: 061205 1523 HANCXC9876543210_DB2020_MEM_PATCHER_R2A006 0
21:33:25| This is a MEM_PATCHER loader
21:33:25|
21:33:25| Sending db2020_cid52red_flash_r2a005.bin...
21:33:25| Applet ID: 061201 1314 HANCXC1329129_DB2020_FLASHLOADER_R2A005
21:33:25| This is a FLASH loader
21:33:25| Sendinging shutdown signal to phone...
21:33:25| Done.. You may now connect again...
21:33:25| Shutting down...
See how I’ve highlighted a few lines in my XS++ log file, the orange line where it says my IMEI name does not match the GDSF name, don’t worry about that... the chances are it will say that on a phone that’s just rolled out the factory
The next highlighted line states the OTP CID#, we take absolutely no notice to this one, DON’T let it confuse you...
And the next highlighted line is an important one, the EROM CID#, in my case its 52, my Firmware MUST match that number....
And the last highlighted line is also an important one, EROM Color, in my case the phones certificate color is red (will be red in most cases), my Firmware MUST also match this color...
So now we know that the Firmware we need must be K810 RED52 we need to find our files 3 in total....
We need a Main Firmware File, an FS Firmware File and a Cust Pack to Customize the phone after flashing, I’m going to choose R8BA024 Firmware as its the latest and most moddable K810 Firmware version, I also need to select a Firmware Region, I live in the UK so I will be using a “Europe 2” Firmware set, and the Main Firmware File to match that is a Main Generic, and the Cust Pack I will be using is “CDA102568_11_R8A_GENERIC_EUROPE_2” which is a K810 Generic Europe 2 Cust Pack (This should match your phone’s FS Firmware File that you will be flashing with).......
There is an easy way to determine which firmware region you already have which will help you determine which files you need, this is by tacking note or the selectable languages while writing sms (Please refer to topsony language list for more info), some phones will state the Region in the phones Service Menu (and the current CDA), from the home screen press >*<<*<* then select “Service Info then Software Info”.
So the 3 files I will be flashing with are (Notice where it says RED52 at the end of the two Firmwae Files.... EROM Color = RED..... EROM CID = 52):
Main Firmware: K810_R8BA024_MAIN_GENERIC_SM_RED52.mbn
FS Firmware: K810_R8BA024_FS_EUROPE_2_RED52.fbn
Cust Pack: CDA102568_11_R8A_GENERIC_EUROPE_2.rar
So now I know which Firmware files I will be flashing the phone with let’s get started (backup any important data as it will ALL be lost while flashing).
FLASHING:
Make sure to remove your, Sim Card and Memory Card and make sure the Battery has at least 75% charge (100% recommended).
Startup XS++ 3.1 and press the “connect” button and follow the instructions given to you by XS++ 3.1

Once you have connected to XS++ you will be presented with the Flash Menu by default, which looks like the screen below....

Now we need to set up XS++ 3.1 for the flash.
1: Mark all three Boxes marked (1)
2: Add Main Firmware file to the tab marked (2)
3: Add our FS Firmware file to the tab marked (3)
4: Now in the dropdown box marked (4)...... look to see if the phone your are flashing is in the list, if it is then select it and move to section 5 (if it’s not select “own_custpack from the menu and then proceed to step 7).
5: If your phone model is in the list then select the dropdown box marked (5) select your Cust Pack, these will be written as something like “Europe_2 (CDA102568/11)” after the firmware version and CDA string.
6: Once you have the phone model and Region (Cust Pack) in place then you can select whether or not you wish to add those wapsite links you see while browsing through the phone’s menu’s, there in places like Picture’s, Video’s, Ringtones and so on (I personally think they clutter the phone but it’s your choice to have those or not by ticking the box marked (6) (if your phone model was listed and your Cust Pack was present proceed to step 8.
7: OK so if you couldn’t see your phone model then we need to setup XS++ 3.1 to manually upload one from our hard drive and as I’m flashing with K810 Firmware I need to do this step.....
To do this we need to create a folder in the XS++ 3.1 directory and build a folder structure to “tpa/preset/custom” see the image below...
(If your manually uploading the Cust Pach and wish to remove those wapsite links from your phone, delete all files with .itm file extensions).

Ok now that were all back at the same stage XS++3.1 should look like this:

8: If we do and everything is in the correct place.... it’s time to press “flash”
The flash will go in 3 stages, first XS++ 3.1 will flash our Main Firmware File, Secondly XS++ will flash our FS Firmware File, and lastly XS++ will upload our Cust Pack.
Simply wait for XS++3.1 to finish doing those three things and then you will be told by XS++ 3.1 it’s safe to unplug our phone like so (follow any instructions given by XS++ 3.1 if any):
The process will take around 10 minutes to fully flash the phone.... When you switch your phone on for the first time after flashing, you will get a Please Wait screen with a loading bar while the phone is customizing and setting itself up to be used for the first time.... this will only happen once after every flash
(If you receive a configuration error please contact your service provider, that simply means that the Cust Pack wasn’t uploaded correctly, simply flash the phone again and correctly upload the Cust Pack to solve the problem).
DONE!!!
UPLOADING FILES:
Like I said I’m killing two birds with one stone........... If you did a normal flash then you are finished, but if like me you’re converting.
K800 into a K810 READ ON!!!
Now since I’m flashing a K800 with K810 Firmware I need to upload the K800 light effect files so that my keypad will light up correctly (well almost
You can also use this little extra as a Guide to uploading “any” files to your phones Internal FS, wether its a custom menu, new fonts, new acoustic’s or camera driver’s...........
Start XS++ up and connect your phone in the normal way as you did and in the Configuration menu select FSX:

You will then be presented with a screen that looks like this......

Press FSX and wait for XS++ 3.1 to read a list of your phones directories....
When it’s finished it will now look like this:

Now since I’m uploading the light effect fix files to finish off the K800 to K810 conversion I need to browse to “tpa/preset/system/lighteffects/systemeffects”, but as I said you can use this as a Guide to uploading files anyway, so in the window marked “File Explorer” we need to browse to the systemeffects dir... and XS++ will look like this (or where ever you need tp upload your files to):

OK we need to delete the default K810 light effects and replace them with the K800 light effects, so we need to highlight one of the files in the “Enumerated Files” window and then press delete, and do that with the rest of the files until there all gone (you don’t exactly need to delete them all one by one, when you drag the K800 light effects into XS++ 3.1, it will delete and replace any file that has the same name.... but this is a Guide and I’m showing good practice
To upload the new file’s, you simply highlight them in Windows and “Drag and Drop them into the “Enumerated Files” window as shown in the
screen shot:

Now XS++ should look like this with our newly uploaded light effect files:

Success....... Now we need to correctly shut down the FSX function, we do this by pressing the “shutdown” (lol), we will get a popup saying “FSX will shut down FS services.... OK”, select yes then XS++ should revert back to the default screen as shown below:

ADVANCED GDSF OPERATIONS:
Now let’s move onto some more advanced stuff..... This sort of stuff carries risk so make sure you have a GDSF BACKUP before you even start thinking about writing any GDSF Scripts (and I wouldn’t recommend doing any without at least some phone repair experience or unless you feel comfortable with what you’re doing) ........
For this example I’ll be resetting my phones “Flip Counter”, in other words the total life call time.....
This can be seen in the service menu >*<<*<* “service tests/total call time”.
Firstly we need our GDSF Script:
DB2020 Reset Flip Counter (tested using K800):
gdfswrite:00000099000000
gdfswrite:0000009B00000000
gdfswrite:0000009D00000000
gdfswrite:00020E000000000000000000
gdfswrite:00020DC80000000000000000
DB2012 Reset Flip Counter (NOT tested by me):
gdfswrite:00000099000000
gdfswrite:0000009B00000000
gdfswrite:0000009D00000000
gdfswrite:00020CD40000000000000000
DB2010 Reset Flip Counter (tested on both W800 and W810):
gdfswrite:00020CD40000000000000000
Copy and paste the RED text of the Script that you want into an empty text file with .txt file extension.
WARNING!!!!!!!!!!!!!! ITS YOUR CHOICE IF YOU WANT TO TRY THIS!!!!!!!!!!!!!!!
(make sure you pick the correct Script... Check and double check...... HINT: XS++ reads DB2012 as DB2010 like W200 which is DB2012 but XS++ will state that it’s a DB2010 as there so similar, GDSF Scripting is NOT something to do just for the fun of it.... IT CAN TOTAL YOUR PHONE...... SO MAKE BACKUP FIRST EVEN IF YOU KNOW YOU HAVE THE CORRECT SCRIPT).
Start up XS++ 3.1 and navigate to the GDSF tab.......

Once you have your GDSF Script in place press “Run Script” and wait for XS++ 3.1 to tell you to unplug your phone, simple.....

If all has went to plan then your phone will switch on and when you enter the service menu, the counter should now read “00:00:00”
If your phone fails to turn on, Restore GDSF, proceed with FULL flash (Main/FS/Cust Pack), and if need be write new EROM!!!
Attatched K810 Europe 2 Cust Pack plus LightEffects used in this tutorial...



