How to get ringtones, screen savers (pictures), games, and apps onto your phone,
without the Sprint PCS Vision service. Backup your phone book too!
jump to section: what you need bitpim the amsregistry file what to do comments
jump to page: sample files further tips
collect the following items (versions I've used in parenthesis):
BitPim is a great piece of open source software that you can use for sending and receiving stuff to/from your phone. As of this writing, the Samsung SPH-A660 is not one of its supported phones. This means you should not use the Wallpaper, Ringers, and Calendar tabs (actually I haven't played with the Calendar feature).
You can connect to the phone anyway and do pretty much anything to it using the "view filesystem" option. First install the Samsung USB driver, and when you open BitPim choose "Edit -> Settings" and select the Samsung SPH-A620. This way you will at least be able to transfer your phone book.
To test out your connection, click "Data -> Get Phone Data" and select the PhoneBook and click ok. In a few seconds you should get all of your phone entries. To get to the filesystem of the A660, click "View -> View filesystem" (should be checked). Now you will get a filesystem tab that will let you follow the steps below...
BitPim homepage: http://bitpim.sourceforge.net/
BitPim download: http://sourceforge.net/project/showfiles.php?group_id=75211
Screenshot of filesystem: (screenshot)
When you connect your phone with the USB cable, it does not show up as a new
drive like a flash card, but rather as a new COM port (or serial device). BitPim
will connect to the phone and issue commands for manipulating the phone's filesystem
via this COM port. All of the ringtones, pictures, games, and applications that
you "download" to the phone are stored in the /ams/ directory:
All of the files in these directories do not retain their normal filenames, for example a picture named "my_cat.png" will become "cnts1" on the phone. Instead of reading each filename the phone relies on ".gcd" files for describing each media file and ".jad" files for describing games and apps. It stores a list of all of your installed files in an index file named amsregistry. This file is in a binary format, and on some discussion boards people talk about hacking the amsregistry file format -- while that would be nice to know how it works, it turns out you don't need any special editor or knowledge of the file to get stuff onto your phone. If you delete the amsregsitry file, the phone will simply rebuild it for you!
Sometimes the amsregistry file is locked by the phone and you will be unable to delete it. (In bitpim 0.722, you get a big exception screen.) In that case, turn off the phone. Turn it back on, and do not go into any of the menus. Connect it again and fire up bitpim, then you should be able to delete amsregistry.
Ringtones can be MIDI or CMX song files, and are stored in the /ams/Ringers directory with the sequential filenames cnts1, cnts2, cnts3, etc. Each file needs a corresponding GCD file to describe it. You can make these files by hand or using GCDCreator. Don't make any directories within Ringers, or you'll confuse the phone and it won't show anything at all.
Pictures on the A660 are called "Screen Savers". You can set them as your phone's wallpaper (or background) or for display when certain phonebook entries are calling you. This phone can handle JPG or PNG images, with a size of 128x112. Just like the ringtones, pictures are stored with the sequential filenames cnts1, cnts2, cnts3, ... cntsN for N pictures, and each needs a .gcd file.
The games and applications you put on your phone are stored each with their own subdirectory in /ams/Games and /ams/Applications, repectively. They are really little Java midlets stored inside JAR files. A jar file is zip file containing all of the necessary Java .class files, data files, and whatnot. The jar file gets the filename _jar, and requires a corresponding _jad file to describe it.
and this is the "Manifest.mf" file that the above _jad is derived from:MIDlet-1: The Weather Channel, weather_j2me.png, m.WeatherMidlet MIDlet-Description: MIDlet-Jar-Size: 64077 MIDlet-Jar-URL: http://ra.pcslab.com/diane/java/Applications/weather-pre.jar MIDlet-Name: The Weather Channel MIDlet-Vendor: Sun Microsystems MIDlet-Version: 1.0 VendingURL: http://vm.sprintpcs.com/redirect?product=PCSGamej2meweather
As you can see, the fields MIDlet-1, MIDlet-Description, MIDlet-Name, MIDlet-Vendor, and MIDlet-Version are preserved, MIDlet-Jar-Size is the number of bytes occupied by the _jar file, and the URLs are not too important.Manifest-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MIDlet-Description: MIDlet-Version: 1.0 Created-By: 1.3.1_04 (Sun Microsystems Inc.) MIDlet-Vendor: Sun Microsystems MicroEdition-Profile: MIDP-1.0 MIDlet-1: The Weather Channel, weather_j2me.png, m.WeatherMidlet MIDlet-Name: The Weather Channel
With the current version of BitPim, I've only been able to read the A660's phone book and not send modified entries back to the phone. If you choose the Samsung SPH-A620 under Edit->Settings, then you can retrieve your phone book entries (I suppose for backup purposes) using the "Get Phone Data..." menu item. Under "Send Phone Data..." unfortunately the phone book option is disabled.