|Palm OS Simulator: run x86 Palm OS on Windows|
|By Thom Holwerda on 2014-06-03 18:24:40|
My love and appreciation for Palm OS is somewhat obvious around these parts, culminating in the detailed Palm OS retrospective I wrote a little over a year ago. I consider Palm OS to be the shoulders on which all subsequent mobile operating systems are built, and I believe it would do the current technology press and users a world of good if they acquainted themselves with this prescient masterpiece.
That being said, with Palm OS being old and dead, the only way to experience it is to get your hands on a real device on eBay or its local equivalent in your country of residence. If you go down this route - which I strongly advise everyone to at least look into - try and go for the ultimate Palm device, the Palm T|X. It's the most advanced PDA Palm ever built, and you can pry mine from my cold, dead hands.
Sadly, not everyone has the disposable income, time, will, desire, or any combination thereof, to go out and buy real hardware just to play with a dead operating system and all the hardships that come with it. Since I still want to spread the word of Palm OS, I've been looking into an alternative - namely, the Palm OS Simulator.
The Palm OS Simulator is the Palm OS recompiled for x86, so it runs natively inside Windows. It contains a device abstraction layer (DAL), the core Palm OS, libraries, and the Palm Application Compatibility Environment (PACE, for running Palm OS 4.x 68k applications as-is). PACE is also a core component of ARM Palm OS 5.x to allow for backwards compatibility with earlier Palm OS applications.
This simulator was available for registered Palm OS developers back when Palm OS still mattered, but it proved to be hard to find for me. In addition, finding the simulator would only be one half of the solution, since a device ROM is also needed. Finally, earlier today, I struck gold: PDAExpert.net offers several instances of the simulator for download, preconfigured with a ROM (you can opt for the LifeDrive, several Tungsten devices, the Zire, the Z22, and the T|X). Its manual is also available.
Illegal? Honestly, I don't really know. I doubt they have permission to distribute the simulator, but considering I do own the T|X and several of the other listed devices, I personally may be good in the ROM part of it all.
Getting the simulator up and running is easy. I opted for the T|X package, and all you need to do is download it, unzip it, set PalmSim.exe to run in compatibility mode for Windows XP SP2, double-click, and you're ready to go. You'll be greeted by the Palm OS time and date setup.
Once that's taken care of, you'll end up inside the Palm OS settings applications Prefs, where you can mess around with the settings if you want. Open the Palm OS' virtual input panel (the bottom-right icon with the arrow) and click the home button to go to the homescreen (you can also simply press F1).
While the most convenient text input method is your computer's keyboard, the Palm OS input panel supports Graffiti II by mouse input, but also the virtual keyboard by clicking on the 'abc' (this virtual keyboard is built-in into real Palm OS devices too). You can change the screen orientation by clicking the button left of the input panel button, or enable screen-wide Graffiti by pressing the squiggly line button.
An important pointer for newcomers to Palm OS: every application has a Mac-like menubar. You open it by clicking on the tab in the top-left, or on the menu button at the bottom, next to the search button.
Networking works just fine too, and is incredibly easy to set up. Right-click anywhere inside the simulator's window to access the simulator menu, and go to Settings > Communication and enable 'Redirect NetLib Calls to Host TCP/IP'. After a hard reset, the simulated Palm OS will have full network access, so you can browse the web through Blazer or get mail via VersaMail.
Sadly, the simulator has one major drawback. As a consequence of the simulator essentially being x86 Palm OS, you cannot run Palm OS 5.x ARM applications inside the emulator as-is. For Palm OS applications that contain native ARM code, you will have to recompile that ARM code into a Windows DLL and place it inside the simulator's directory. Because one, you most likely do not have the source code, and two, because you probably don't know how to do that even if you did, you won't be able to run most Palm OS 5.x applications.
Note, though, that this restriction does not apply to Palm OS 4.x 68k applications thanks to the inclusion of PACE. Installing applications on the simulator is easy, by the way: just drag and drop (or right-click and select Install > Database).
Despite the massive asterisk of not being be able to install any ARM-native applications, the simulator is still a very easy and fun way to get acquainted with the basics of Palm OS. Whether it's in the simulator or on a real device, Palm OS is still fast and easy to use, and part of that appeal stems from its total lack of frivolity or pretentiousness - two terms that simply do not fit Zen of Palm.
There's also a version of the simulator for Palm OS 5.4.9's ill-fated successor - Palm OS 6.x Cobalt - from ACCESS. It's the same simulator, but running Palm OS 6. Cobalt never shipped on any device, though, so it was, in the end, a wasted effort.
I'm very glad I managed to get my hands on several versions of the Simulator, even if I own like 10 real Palm OS devices. It's a crucial piece of history, secured for the ages - legality be damned.