Transferring a PalmPilot 1MB ROM Image

Overview

Purpose

In order to run the Copilot emulator with the new PalmOS 2.0, you need to provide an image of the PalmPilot ROMs. Such an image can't be provided with Copilot, due to copyright restrictions. It is possible, however, for individual users to decide whether their license allows them to copy their PalmPilot's ROM from the device to a file in the same directory as Copilot.

This page contains instructions for those who wish to download a ROM image.


History

Before the days of the PalmPilot, Pilot ROMs were 512kB images. Copilot, written by Greg Hewgill, included a utility for downloading those ROM images onto a Win32 machine. That utility was called "Getrom".

Unfortunately, the Getrom source wasn't provided, and the author didn't release a new version of it. Users who wanted images of their 1MB PalmPilot ROMs could only get the first half of them.


Approach

Rather than rewriting Getrom, I hoped to reuse as much of it as possible. A quick disassembly revealed that it seemed to work by looping over the address range of 0x10c0000-0x10c7ffff, as one might expect. That address range enumerates the first 512kB of a Pilot's ROM.

Changing the range to encompass 1MB would have required changing getrom.exe, which runs on the host PC. The source code wasn't available for that, either, so I wanted a different solution. What I hit upon was modifying Getrom to loop over the second 512kB half of the ROM. Then, I could use two downloads and peice the ROM file together by hand. Thus, I used a hex editor to modify Getrom to loop over 0x10c80000-0x10c8ffff.


Procedure

  1. Carefully read the License Agreement(s) that came with your Pilot or PalmPilot. If you feel that you are not allowed to copy an image of your PalmPilot ROM, do not do so.
  2. Make a backup of the pilot.rom on your PC. The rest of this procedure would overwrite the disk file, otherwise.
  3. Put the Pilot in the cradle, and install the getrom.prc and getrom2.prc packages on it.
  4. Disable the HotSync manager. Newer HotSync managers don't display a window, and are hard to shutdown. One approach is to reboot, and hold down the "Shift" key while Windows 95 (or NT) is starting. This will prevent anything from the Startup group from running.
  5. Open a DOS (NT: cmd) window.
  6. Run getrom.exe on the PC. You must specify the COM port that your PalmPilot is hooked up to. (e.g., "getrom COM1")
  7. Start "GetRom" on the PalmPilot.
  8. It may take several attempts to succesfully download the first half of the ROM. Keep trying.
  9. Issue the following commands on the PC side:
    copy /B pilot.rom tmp.rom
    del pilot.rom
  10. Run getrom.exe on the PC again.
  11. Start "GetRom2" on the PalmPilot. This downloads the second half of the ROM.
  12. When you have a succesful download, issue the following commands:
    copy /B tmp.rom + pilot.rom palm.rom
    del tmp.rom pilot.rom
  13. That's all there is to it - you now have a valid 1MB ROM image in the file "palm.rom". Copilot should now be able to start in PalmPilot mode.

Required Downloads

All the files you need are in one archive for your convenience:
HTTPFTPSize
getrom.zip getrom.zip 4,072 bytes

Contacting the Author

Your first resort is to send me email.

If that fails, more information on contacting me might help.


Copyright © 1997, Heath Hunnicutt