Adding Java applications to Qualcomm Samsung phones

From Legacy Portable Computing Wiki

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. Signed 64-bit drivers that are known to work on Windows 10 can be found here)
  • 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:

Sidenote: For certain phones, the games folder is located in /Media/Games/ instead of /Exe/Java/. Besides that, follow the steps in the same way.

(Phones this difference applies to: Samsung SGH-A737, Samsung SGH-T639)

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 (not the modem port) of your phone. Even if the phone has no official BitPim support, the Samsung SPH-A740 option should to work with the phone of your choice. 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 certain phones.

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.

Sidenote: the SGH-T639 does not have this menu. Deleting phonedb.00 causes it to be rebuilt upon restart, though

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

Master Keys

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