Developer Home  

Palm OS Emulator

    Download  |   ROM Images  |   Source Code   |   Release Notes  |   Archive

The Palm OS® Emulator is software that emulates the hardware of the various models of Palm Powered handhelds. It is extremely valuable for writing, testing and debugging applications. Create "virtual" handhelds by running the Emulator on Windows, Mac OS, or Unix computers.

Emulated devices can be loaded with new ROMs, so you can test your application with virtual devices, including different devices than you own, foreign language ROMs, and debug-enabled ROMs for extra error checking and debugging features.

It was based on "Copilot", written by several different developers, principally Greg Hewgill. Palm enhanced it with new features, debugging support, and support for more recent ROMs. The source code is still available.

The Emulator software does not include ROM images. It is like a computer without an operating system.

To emulate any specific device you will need to obtain a ROM image that is compatible with that device. Typically, the ROM and device must match in processor type, display color depth. In order to use some device-specific capabilities, specific libraries and/or applications may need to be present. For example, in order to simulate Palm VII with a wireless connection you need the Web Clipping components (usually provided as part of the ROM). As new versions of the OS come out, we release new ROM images that are set up to emulate older devices that have been updated to the new OS. When you pick a ROM image, the Emulator will give you the option to pick the device you want to emulate from the devices that could use that ROM.

There are three sources of ROM images: ROM image files downloaded from the Resource Pavilion, licensee ROM images obtained via the licensee's developer program, and ROM images downloaded from an actual device.

One last note on device emulation is that in order to make the Emulator cosmetically look like the device you are emulating, you will need to download and install the appropriate "skins". It is not necessary to use any specific skin in order to accurately emulate that device.

There are also two types of ROM image files: debug and non-debug versions. ROMs transferred from a device (and non-debug ROM image files) are designed to cover up errors. While appropriate to convince users that applications work, they interfere with developing truly reliable software. Debug ROMs are instrumented to reveal programming errors and techniques that may not work in future versions of Palm OS. Developers are therefore strongly recommended to use debug ROMs to develop trouble-free software. Note that when a developer sees a problem using a debug ROM but not a device transferred ROM, this is nearly always a sign that the extra instrumentation in the debug ROM is working. This is not a sign of a defect with the debug ROM! Developers should find their code which triggers the reports and make the appropriate changes. This also applies to the debug checks that can be turned on and off from the Emulator preferences. In general, you should test with all debug checks on and test anything that is flagged as an error. Turning off the debug check to make the error go away is not the correct answer.

If you don't have access to the ROMs yet and you'd like to start debugging right away, you can upload a ROM from most Palm Powered handhelds into the Emulator. Transferring the ROM requires a serial connection rather than a USB connection and requires that nothing is installed on the device that has altered the ROM, such as TRG Flashpro. Do not upload device ROMs as a substitute for signing up for the Palm OS Developer Program and Development Seeding Program and download the ROMs from the Resource Pavilion. You'll lose out on the advantages of testing your applications on a wide variety of devices, and you won't be able to take advantage of full testing capabilities without debug ROMs from the Resource Pavilion. Also, regardless of whether the development tool you choose comes with the Emulator, you should always download and use the latest version from this page. It is constantly updated and improved, and the latest device ROMs will often only run on the latest versions of the Emulator. (Tip: you can bookmark the Core Tools Update page to see if you have the latest tools.)

We recommend first-time users read the UserGuide.pdf file that comes with the Emulator.


Download the Emulator

Emulator Application 3.5 for...

Windows    Mac OS    Unix**

Emulator Skins* 1.8 for...

Windows   Mac OS   Unix

* You need the Emulator Skins to see device-specific pictures.
** The Unix version is available only in source code format, available below.

You may also browse release notes for the Emulator and the Emulator Skins.

Archives of older versions of the Palm OS Emulator are available here.


Obtain ROM Image Files

For legal reasons, you must sign an agreement with Palm Inc. to download ROM images. To obtain the agreement, you must be a member of the Palm OS Developer Program. After joining that program, we recommend that you also join the Developer Seeding Program, which requires that you return a signed agreement to us. This allows you to access pre-release ROM images and other valuable tools. If you are based in the USA, you may also obtain images using a "clickwrap" agreement that does not require a signed agreement.

     Join the Palm OS Developer Program. You can join now or get more information. You'll get a username and password via email immediately.
    

You will need to wait for Palm Inc. to review your application, usually less than one business day. When this is complete, enter the Resource Pavilion.

    

If your company is located in the USA and you do not want to join the Development Seeding Program, you'll find the "ROM Image Clickwrap Area" link active in the Pavilion. Follow that link and follow the instructions to download ROMs. (You are done.)

To join the Development Seeding Program, look under "Apply for Programs", and click on "Development Seeding Program".

     Submit the on-line form on that page.
     Download the Acrobat format agreement, print it, sign it, and send the license to Palm Inc. as indicated on that page.
     When received and processed, you'll get email announcing new Pavilion access.
     After you get this notification, enter the Resource Pavilion. Under "Member Areas", click on "Development Seeding Area" then "ROM Image Files".


Source Code

To build the Palm OS Emulator under Mac OS, you will need CodeWarrior Pro 7.0.

To build the Palm OS Emulator under Windows, you will need Visual C++ 6.0. The Emulator runs under Windows 95, Windows 98, Window ME, Windows NT 4.0, Window 2000, and Windows XP, so you should be able to build under those environments, too.

  Emulator Sources 3.5 for...

Windows

  

Mac OS

   Unix

Archives of older versions of the Palm OS Emulator are available here.



Other Emulator Resources
 

Technical support
We strongly recommend that you join the Emulator Forum to answer your questions.

Documentation
We recommend first-time users read the UserGuide.pdf file that comes with the Emulator. Also, there is an older article "Using the Palm OS Emulator" that some people find useful.

HostFS for Palm OS 4.0 (DR5)
HostFS is an implementation of a file system on Palm OS that works in conjunction with the Emulator's "Host Control API" to mount a local directory on the desktop as a volume/card in Palm OS. Requires a ROM with expansion manager, which includes all 4.0 ROM images labeled "full". Download for Windows or Mac OS.

You will need to use a slightly different version of HostFS on the Palm OS 5 Simulator. Download here for Windows.

"Palm Reporter" Trace Utility
Palm Reporter is a trace utility used with the Emulator. Applications running inside the Emulator send information in real-time to Reporter. This can pinpoint problems that are hard to troubleshoot with breakpoints or executing code step-by-step. Run your application and Reporter at the same time to see traces. Download for Windows or Mac OS.

The following were developed by third parties and are not supported by Palm:

Debuffer
Debuffer is an fully-scriptable assembly-level debugger for the Emulator that runs under Windows 95/NT and Mac OS. It is free for any use and full sources are available.

EZAsm & Debug
A Palm OS Emulator-specific assembly debugger in Java. Command-line based.

southDebugger
A Palm OS Emulator-specific assembly debugger in Java. GUI based.

Posenet
The posenet utility fixes application category placement in emulated Palm VII sessions. Install the PoseNet.prc file and tap its icon.

Posedbexport
posedbexport saves databases within the Emulator to your disk.

KProf
KProf parses and displays profiling results generated by profilers on Unix, including files generated by the Emulator.

Proview
Proview is a simple java-based viewer for the profiling data created by POSE. It turns the contents of the profiler output into a collapsable tree-view. Requires a Java Runtime Environment (JRE).






©2002 Palm, Inc.  |  Company  |  Support  |  Legal  |  Privacy Policy  |  Contact Us  |  Palm.com