Wednesday, December 12, 2007

Palm Simulators

Just a few notes regarding Palm PDA Simulators...

A simulator is a great way to develop for a test a device. While I don't intend (or have the time) to do any major development on the Palm platform in the near future, I had looked at it in the past, and went looking for it again when my physical Palm Treo started having some software issues.

Advantages:

  • Rather than experimenting and troubleshooting on the physical device, I can first check to see if I can reproduce the issue on the simulator.
  • I can save and restore multiple images/states to make the process faster and easier.
  • There are several versions of the Treo simulators available, e.g. one for a model distributed by each of Verizon, Sprint, Cingular, and unlocked GSM. If an issue occurs on my physical Treo and maybe only one but not the rest of the simulators, I can the test as a compelling argument that my wireless provider is responsible for fixing the problem (and working with Palm to do so as needed).

Getting the Palm Simulators

Finding the Palm simulators is not as easy as it could be. For one, for whatever reason, be sure to search for simulators, not emulators. For the moment:

  1. Clicking here should take you to member login page on the Palm Developer Network (unless you are already signed in).
    • If you aren't already a member, registration is free and <15 questions.
  2. Choose the device type you're looking for from the drop-down list in the orange box on the bottom half of the page.
  3. Look for the "Simulators" link in the "Quick Links" section on the right side of the page.

Running the Palm Simulators

Fairly comprehensive instructions are included with the download. Look for a PDF in the "Doc" folder. Here are a few things that appear to require some attention beyond the documentation:

The simulator appears to hang forever if "storageprotection" (as used on the command line and in the .ini file) or "Memory/Storage is Write-Protected" (as shown in the menu) is enabled. I recommend disabling the setting. (Left enabled, the emulator does usually start after 30+ seconds, but then remains quite sluggish for further use.)

HotSync

Getting HotSync to work was a little challenging. The included PDF documentation lists two options:

  • Configure the emulator to bind the virtual cradle port to TCP/IP, configure the HotSync application in the emulator to connect to "localhost", and configure the HotSync manager to Network.
    • I repeatedly ran into issues with the HotSync failing due to a "Connection is lost (6410)" failure, especially during longer syncs. Using the serial-type connection described next seems like a more stable option.
  • Use a null-modem-type cable between two serial ports. Configure the emulator to bind the virtual cradle port to one serial port, and configure the HotSync manager to Local/Serial and bind to the other.
    • This works, but requires having a computer with two, available serial ports. Most computers no longer come with any serial ports, especially laptops. Even if they are available, using both for one application may be a rather large sacrifice. See my next post for an improved solution.

No comments: