Adding Java applications to Qualcomm Samsung phones

This is intended to be a step-by-step guide on how to put Java ME apps on Qualcomm-powered Samsung feature phones.

= Prerequisites =

A computer running Windows 7 or above

Generic Qualcomm USB drivers (usually shows up as Qualcomm CDMA Technologies MSM when connected. Do note that no signed 64-bit Windows drivers exist, so you may run into problems on Windows 10)

A data cable for the phone

A way to create JAD files (e.g. JADMaker)

BitPim (RevSkills will also work for EFS read and write access)

= Setup = These phones have been tested and been confirmed to work correctly for this guide:
 * Samsung SGH-A707
 * Samsung SGH-A777

Changing USB Mode
In order to get access to the phone's EFS, the USB mode must be switched from the default "Samsung" value to "Qualcomm", making the phone show up as a diagnostic port as would any other Qualcomm feature phone.

The easiest way to do this is to type *#782872#. Once entered, it will automatically switch to Qualcomm USB mode.

Once you're done making modifications to the phone, type *#726872# to change the USB mode back to the default value.

Changing USB Mode (Alternate method)
First, type *#0523#. This should open a debug menu.

You may need to press the # key a few times for the screen to refresh. Eventually, the text below should appear on the phone:

[1] Debug Screen [2] Version Information [3] RF Test [4] UMTS rf nv [5] Read gsm rf nv [6] Write gsm rf nv [7] Band Base [8] Audio [9] Common

Press the 9 key in order to select [9] Common.

This will change the screen contents to read the following:

[1] Batt, Temp [2] FTM NV read [3] FTM NV set [4] FTM NV unset [5] Version Info [6] USB Configuration [7] DIAG Configuration [8] Power on info [9] Camera Tuning

Press the 6 key to select [6] USB Configuration.

The next screen should read the text below:

[1] Samsung USB [] [2] Qualcom USB [] [3] PictBridge USB []

Press the 2 key to change the USB mode to Qualcomm.

At this point, you can leave the phone idle on this screen.

BitPim (EFS access)
Open BitPim, go to View, and enable both "View protocol logging" and "View filesystem".

Once that's done, go to Edit, Settings, and then put in the COM port of your phone. The A707 has no official BitPim support, but the Samsung SPH-A740 option seems to work with the phone. After that, click OK.

Click the "Filesystem" icon, and then click the + next to the blue folder icon. It will say "Retrieving..." for a bit, but if all goes well, it will show files and folders from your phone's EFS.

Next, go to Exe -> Java. This is the folder that holds all of the Java ME apps, and you can delete the demo apps if you wish.

On the device itself, go to the following folder: "/Media/Games"

Create a new directory for each game. in "/Media/Games"

Copy your *.jar and *.jad files into that newly created directory. Any game you want to add will need its own folder, .jad, and .jar file.

Navigate to the "phonedb.00" file (located in "/DB2/phonedb/backupDB") and delete it.

After you deleted the file "phonedb.00", disconnect the phone from your computer and restart it.

If you do not want to delete phonedb.00 from the phone, there is another way to reload the Java app database on the phone.

Type *#6984125*# to access the admin setting menu, select "Internals", and once prompted to, type one of the master keys below. After that, select "Storage Settings" from the "Internals" menu, and select the "Update Java DB" option.

If you see the game(s) you added on the phone, that means it worked!

Master Keys

 * A707: *#3818790*#
 * A777: *#9072641*#