Perpendox Logo

  PHEM: Palm Hardware Emulator M68k
Quick Start Using PHEM Card Storage FAQs
Palm Basics Skins Handera & TRG Source Code

Palm Concepts And Survival Guide

Okay, you've set up PHEM, and you have a fresh emulated Palm PDA. What now?

Probably you're a nostalgic geek who's already familiar with Palms, but need a quick refresher. Possibly you're just curious about what all those old farts are talking about, and never saw a Palm PDA before. The tips here won't make you an expert, but might at least get you on the right path.

BTW, you can download a circa-1997 Palm manual in PDF format from HP, the people who evenutally bought Palm. It covers pretty much all of what a total Palm newbie would need to know.

Basic Palm Concepts

A modern phone or tablet is a remarkable device - a jack-of-all-trades, and a master of some. For many people, it's all the computer they need; desktop PCs are a smaller and smaller share of the computing market, because searching the web or sending messages or even light word processing can be done with Android or iOS devices.

Palms were from a different era. Portable hardware was limited. The Palm PDAs ran on a Motorola 68K processor running at 16MHz (modern CPUs, even in phones, are literally hundreds of times faster), and had - at most - 8MB of RAM. Most had only 2MB, and the first Palm PDA had 128KB of RAM - one eighth of a megabyte.

Since a Palm couldn't be 'all the computer anyone needed', it didn't try to be. It was designed as an extension of a desktop PC - a way to carry important information around, do some data entry wherever you were, then sync up with the PC when you got back. Jeff Hawkins, founder of Palm, actually called Palm PDAs a "tentacle" of the PC.

So Palms were designed to do a limited set of things, but do them well. A calendar, an address book, a to-do list, and so forth. Later geeks managed to squeeze amazing things out of the limited Palm hardware, but they aren't the same things as an Android or iPhone, and you can't expect them to be.

Here's a long, multi-part article about Palms and what made them great for the time. In particular, check out page 4, especially the section titled "The Zen of Palm".


First came the Newton, and it was... okay. A lot of the basic tech was cool, and the software was mostly neat, but the handwriting recognition became a punchline. Then this one company came up with a simple touchscreen alphabet, and called it "Graffiti"...

Newtons (and Palm PDAs) were among the first consumer electronics to have a touchscreen, but these were early touchscreens. They didn't respond to the gentle touch of a human finger, they needed to be prodded with a hard stylus. They also didn't have the budget for a nice QWERTY keyboard. So they used this system to input text. You would write in the "Graffiti Area", the rectangular area at the bottom of the screen:

Graffiti Area

Letters on the left side, numbers on the right. The main trick was that you wrote one letter at a time, on top of each other. Each letter or number was a single stroke; you didn't have to put a dot over a lowercase "i", for example. This was simple enough to be reliable, and relatively fast, especially on the hardware of the time. No one will ever write the Great Americal Novel using Graffiti, but for short- or medium-length text entry, it's actually pretty good. (In fact, if you like, you can install Graffiti for Android and try it out...)

For a cheat sheet of Graffiti strokes, there's a built-in gesture: stroke from the bottom of the screen to the top. The first page looks like:

Graffiti Help

You can scroll down through a few pages of help. Some quick tips:

Note: If you open up "Preferences", and use the menu in the upper right to bring up the "Buttons" prefs, you can change which apps the hardware buttons bring up. And if you click the "Pen" button, you can change the "up-stroke" from "Graffiti Help" to a few other functions. One of them is an on-screen keyboard, if you just can't get the hang of Graffiti. (Also, you can cut-and-paste between Android and PHEM, and if your device has a hardware keyboard, you can just type on that.)

The Buttons By the Graffiti Area

To bring up the Palm home screen, the "Launcher", hit the "Applications" button at the top left of the Graffiti area.

The button to the bottom left is the "Menu" button, which brings up application menus.

At the top right is the "Calculator" button.

Finally, at the bottom right is the "Find" button, which searches for text in the various apps and records on the Palm.


Since Palms were intended to be an extension of the desktop computer, keeping data in sync was a priority. Palm invented the "HotSync" protocol, and you'd use a serial cable (or cradle) to exchange data and apps with the desktop. (Indeed, the first Palm email clients would compose mail offline, and then actually use the PC to send it when you did a HotSync.) With PHEM, you don't really need to use the HotSync app anymore. You can install files directly from the storage on your phone.

That said, you can set up a Network HotSync and enjoy (?) the glory of a HotSync using PHEM if you really want to. I have successfully synced PHEM sessions with Linux using the following setup:

  1. Open the "HotSync" app in the emulated Palm.
  2. Select "Modem Sync Prefs" from the HotSync "Options" menu. (Use the "Menu" button.)
  3. Select the "Network" option. Tap "OK".
  4. Select "LANSync Prefs" from the HotSync "Options" menu.
  5. Select the "Local HotSync" option. Tap "OK".
  6. Select "Primary PC Setup" from the HotSync "Options" menu.
  7. Enter the information about the desktop you're syncing with. The key info is the IP address, and the "Subnet Mask". (99% of the time, on a home network, the netmask will be "".) Put the desktop's hostname in the "Primary PC Name" field.
  8. On the main HotSync screen, choose the "Modem" option. Underneath the central HotSync icon, you'll see "Select service". Choose this and select anything from "Service" popup. It doesn't matter what you select here. Don't worry about usernames or passwords either. Click "Done".

Once that's done, make sure your desktop is ready to listen for Hotsync connections. On Windows, right click the HotSync icon in your PC’s system tray and ensure that the "Network" option is checked. (If the "Nework" option doesn't appear, you may need to do the Registry mod described here.) On Linux, I used the "pilot-link" tools. I ran "pilot-csd" with the same data as in the "Primary PC Setup" above, and then ran "pilot-xfer" with the option "-p net:[my PC's IP address]".

Once all that's done, hit the central HotSync icon in the app, and hopefully you'll be syncing. Note that during the HotSync the emulated Palm is pretty well locked up, so don't expect responsiveness until the sync is over. Indeed, if you're syncing large amounts of data, avoid touching the screen, but also avoid the Android device going to sleep. Both of these can cause the HotSync process to fail (see Known Issues).

Note: Some Palm devices did not have the ability to perform a Network Hotsync. This includes the very oldest Palm Pilots (Pilot 1000 and 5000 (Palm OS 1.0), PalmPilot Personal and Professional (Palm OS 2.0), and a few of the later 'budget' Palms - namely, the m100, m125, and m130.

In the case of the m100, m125, and m130, it's possible to hack them to re-enable Network Hotsync - see here for details.

As of PHEM v1.2.5, it should now be possible to do an actual serial HotSync. However, this will require an Android device that supports USB peripherals, and the correct cabling (definitely a USB-to-RS232 converter, possibly a USB-OTG cable, almost certainly a serial null modem, a PC with a serial port (or another USB-to-RS232 converter), etc.)


The Palm OS is a pretty old-school operating system. It has some very simple memory protection, but it doesn't have the kind of security framework that iOS or Android do. Since they were single-user, (mostly) single-tasking devices, this wasn't a big limitation. And it allowed clever software developers to actually dig into the operating system and change the way the Palm behaved in lots of interesting ways.

Indeed, this became so common that a de-facto standard for "Hacks" was developed; a few "Hack managers" were developed, that would load, monitor, and configure hacks. For example, "MiddleCapsHack" would allow you to skip the "shift" up-stroke to write capital letters; all you had to do was start the Graffiti stroke in the letter area and end in the number area. This could save a significant amount of time. Another useful hack was "Swipe", which would let you trigger actions or launch apps by doing strokes in various directions on the screen. And then there was "FontHack", which drastically increased the number of fonts avaialable on the Palm.

Getting Apps

What's the point of a Palm if you don't have apps to load onto it? Please see the Palm Software page for suggestions on sites to visit, and apps you might find interesting.

Copyright © 2014 Perpendox Software LLC