PALM PROGRAMMING: The Emulator
The illustration is of the binary
'pose'. It emulates the
palm model of your choice, and runs any number of
resource files that you choose to put on that
In theory, an
emulator is not necessary, you could, in theory, simply load and run
on the palm.
In reality, loading resource files to palms is
The steps below will get your pose emulator
created. It is the first step in this SxS, because it's
important to get something functional, early.
- slow and tedious
You must already be in a position to load apps into your palm.
Use jpilot, kpilot, or even console app pilot-xxx. Windoze
loaders are no use to you here. You must already have
established communicaton with /dev/pilot in Linux. Back out of
these steps and do so.
Step One: FLTK Widget set.
pose uses fltk as it's gui
widget set. Not not gtk+, not xforms, fltk.
fltk is not part of general distros, not redhat, not suse. You
must download and comple fltk from source.
go to www.fltk.org
The file you want is NOT the
latest 'n greatest.
You need fltk-1.0.11-source.tar.gz
If you attempt to compile ftk-1.1.xxx, it wont. It doesn't
work in Linux (without a patch)
If you attempt to compile ftk-2-CVS, it won't, it is windoze
centric with crlf's
download and unpack
make install # as
Step two: The emulator and skins
download the source (emulator_src_33.tar.gz)
download the skins (emulator-skins-18.tar.gz)
unpack and change to the ~/Emulator directory, then
Unusually, there is no make install associated with this
build. A binary called pose is
created in the ~/BuildUnix folder. Since there are other
items in this tarball tree of use, I prefer to do the following
to execute pose
ln -s <location of emulator
In otherwords, I am leaving everything exactly as-is, and
providing a convenient symlink
You are not ready to use pose
Step Three: Skins
similarly unpack the skins tarball.
There is NO compilation or configuring required. You are
Skins are simply widget emulations of all models, all
variants, of palm and relatia. You have no control directly,
over which skin is used. pose discovers that for you.
pose will look in the $home directory for it's /Skins. As a
ln -s ~/Skins_v1.8
IE. put a symlink to wherever you unpacked the skins
Step Four: The Target Rom prc file
pose being an emulator, emulates a palm device. The
best device to emulate, is yours.
You need the rom contents of your palmtop. Later on,
you can branch out and get any number of rom contents from any
model from the PalmOS site. The most important ones being the
debug versions. But right now, yours is best.
Fire up your preferred pilot program (Kpilot, Jpilot etc),
select the following prc to load into the palm, and, of course,
Step Five: Getting the target rom
After succesful transfer, you should see a rom transfer icon
on the palm.
Completley remove any hotsync daemon. Do not allow Kpilot (for
instance) to activate, monitor, or take over /dev/pilot.
Fire up pose for the first time and right click.
Select rom transfer and follow the instuctions.
(Basically hit the palm icon for same, and click next)
Save the file appropriately, in my case I chose the name ~/BuildUnix/m100.rom
Note Bene: pose looks for it's rom
emulations in it's startup folder, NOT, $home
Step Six: Select your rom
right click on pose and select new
it will ask you for a location of a rom, select yours.
Step Seven: Ready Set Go.
From now on, firing up pose will automatically invoke the
correct skin with a base set of prc files for that model. You
can add prc's simply by right click->adding.
Once added, you can test them to your heart's content. You
could, initially, add some of the files you have saved away
during (jpilot) backup, or, you could use a series of example
prc's in the ~/Emulator tree.
Step Eight: Heavy Bedtime Reading
more info. This is an excellently written blurb on how to use
pose and what it can do for you. It is packed with erroneous
windoze/mac examples, but the Linux ones get equal billing.
Worth a read.
Next -> The SDK