Adding content to Sprint phones (Samsung, PCS Vision)

From Legacy Portable Computing Wiki

This is intended to be a step-by-step guide on how to put your own content on low-end Samsung Sprint PCS Vision phones.

Sprint phones store downloadable content in a folder called "ams", where everything is separated into their respective subfolders. For low-end phones that don't have the "ams" folder, a method on that hasn't been covered yet.

Prerequisites

  • A computer running Windows 7 or above
  • A data cable for the phone you are trying to patch
  • A text editor (e.g. Notepad++)
  • A way to create JAD files (e.g. JADMaker)
  • Bitpim or RevSkills

Currently compatible phones

These phones have been tested and been confirmed to work correctly for this guide:

Sidenote: For certain phones, you have to delete EndTransaction instead of AmsRegistry, as AmsRegistry is locked on certain models. Besides that, follow the steps in the same way.

(Phones this difference applies to: Samsung SPH-A580, Samsung SPH-A620, Samsung SPH-A660, Samsung SPH-A680, Samsung SPH-A860)

Bitpim

Setup

Connect the phone to your computer and power it on. On older models, a dialog box should pop up informing you that the device is in "PDA mode".

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. For this example, "COM14" would be typed into the "Com Port" text box. If your phone has official Bitpim support in the "Phone type" menu, select that too. 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.

Open the "ams" folder by clicking the + to the left of the folder icon. This may look different depending on your phone, but you should see folders for games, apps, screen savers, and ringtones.

Since the steps are different depending on what you want to add, they'll be broken up into sections.

Adding Java Games

Before adding files to the phone, you'll want to have both a .jar and .jad for your game. You can make a .jad file using JADmaker or by extracting MANIFEST.MF out of the .jar file and renaming it.

Open the "Games" folder. There should be subfolders starting with "cnts" and a number at the end.

Right click the "Games" folder and click "Make subdirectory ...". Name the folder the same as the others, adding +1 to the number at the end. For example, if the last folder on the phone is cnts6, create a folder named cnts7.

Find where you put the .jar and .jad file. You'll need to rename the .jar to _jar, and the .jad file to _jad.

Open up _jad in a text editor and add Content-Folder: Games to another line. It doesn't seem to matter where it goes, but it needs to be present in the JAD file so the phone knows it goes in the Games section.

If there's any mention of Nokia in the JAD file, remove those lines, as the phone won't recognize those and potentially hide the game because of them.

Go back to Bitpim and select the empty "cnts#" folder (# is the number you put).

Right click in the empty space and press "New file ...". Send both _jad and _jar.

Once the files are on the phone, go back to the "ams" folder and delete AmsRegistry.

After deleting AmsRegistry, disconnect the phone from your computer and restart it.

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

Adding Ringtones

Before adding files to the phone, you'll want to make sure the phone supports the audio file type you are trying to add. The majority of Qualcomm phones support MID, MMF, PMD, and QCP, but early 2000s models may not support MP3.

Open the "Ringers" folder. This will either be empty, or have files named "cnts" with a number, and .gcd files with the same names.

Find where you put the ringtone. You'll need to rename it to cnts#, where # is +1 the number at the end. For example, if the last file on the phone is cnts1, rename the ringtone you want to add to be cnts2. If your phone doesn't have any downloaded ringtones on it, rename the ringtone to cnts1.

Create a blank file named cnts#.gcd (where # is the same as the cnts# you made earlier), and then open it in a text editor.

Copy and paste the example below into your newly created GCD file. Content-Size should be how many bytes your ringtone takes up. If it's a 69304 byte QCP file, put 69304 after "Content-Size:". If your file is not a QCP file, change the "Content-Type:" to match your file type.

Content-Type: audio/vnd.qcelp

Content-Name: Put your own name here

Content-Version: 1.0

Content-Vendor: Sprint

Content-ID: audio

Content-URL: http://example.com/myringtone.qcp

Content-Size: (size of file in bytes)

Content-Folder: Ringers

"Content-Type" examples

  • audio/amr for AMR
  • audio/mp4a-latm for M4A
  • audio/midi for MID
  • audio/mp3 or audio/mpeg for MP3
  • audio/vnd.qcelp for QCP

Putting the files on the phone

Save the .gcd file and go back to Bitpim.

Right click in the empty space and press "New file ...". Send both cnts#' and cnts#.gcd.

Once the files are on the phone, go back to the "ams" folder and delete AmsRegistry.

After deleting AmsRegistry, disconnect the phone from your computer and restart it.

If you see the ringtone you added on the phone, that means it worked!

Adding Screen Savers

The way to add Screen Savers (or wallpapers) works almost the exact same way as adding ringtones, except with some minor changes to the GCD file.

Open the "Screen Savers" folder. This will either be empty, or have files named "cnts" with a number, and .gcd files with the same names.

Find where you put the wallpaper. You'll need to rename it to cnts#, where # is +1 the number at the end. For example, if the last file on the phone is cnts1, rename the wallpaper you want to add to be cnts2. If your phone doesn't have any downloaded wallpapers / screen savers on it, rename it to cnts1.

Create a blank file named cnts#.gcd (where # is the same as the cnts# you made earlier), and then open it in a text editor.

Copy and paste the example below into your newly created GCD file. Content-Size should be how many bytes your wallpaper takes up. If it's a 72004 byte JPG file, put 72004 after "Content-Size:". If your file is not a JPG image, change the "Content-Type:" to match your file type.

Content-Type: image/jpeg

Content-Name: My Screensaver

Content-Version: 1.0

Content-Vendor: Sprint

Content-ID: image

Content-URL: http://example.com/myscreensaver.jpg

Content-Size: (size of file in bytes)

"Content-Type" examples

  • image/bmp for BMP
  • image/gif for GIF
  • image/jpeg for JPG
  • application/x-pmd for PMD
  • image/png for PNG

Sidenote: Ringtones in PMD format with animations can work as screensavers, they just won't play any audio.

Putting the files on the phone

Save the .gcd file and go back to Bitpim.

Right click in the empty space and press "New file ...". Send both cnts#' and cnts#.gcd.

Once the files are on the phone, go back to the "ams" folder and delete AmsRegistry.

After deleting AmsRegistry, disconnect the phone from your computer and restart it.

If you see the wallpaper you added on the phone, that means it worked!