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
- 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.
- Make a backup of the pilot.rom on your PC. The rest of this procedure
would overwrite the disk file, otherwise.
- Put the Pilot in the cradle, and install the getrom.prc and
getrom2.prc packages on it.
- 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.
- Open a DOS (NT: cmd) window.
- Run getrom.exe on the PC. You must specify the COM port that
your PalmPilot is hooked up to. (e.g., "getrom COM1")
- Start "GetRom" on the PalmPilot.
- It may take several attempts to succesfully download the first
half of the ROM. Keep trying.
- Issue the following commands on the PC side:
copy /B pilot.rom tmp.rom
del pilot.rom
- Run getrom.exe on the PC again.
- Start "GetRom2" on the PalmPilot. This downloads the second
half of the ROM.
- When you have a succesful download, issue the following commands:
copy /B tmp.rom + pilot.rom palm.rom
del tmp.rom pilot.rom
- 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:
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