As some of you may undoubtedly know, I’m a bit of a sucker for Palm OS. These past few years, I’ve been busy collecting ROMs for the Palm OS emulator and simulator, making sure I have all the major Palm OS releases covered. There’s really not much of a reason to do this – I have working devices which are a much better option than the emulators/simulators in most cases – other than to have a complete collection I can keep around forever.
From top left to bottom right, you’re looking at Palm OS 1.0, 2.0, 3.0, 3.5, 4.0, 5.3 (a Palm Zire ROM), 5.4.9 (the last released version of Palm OS available on real devices), and Palm OS 6.1.0 Cobalt (the last version of Palm OS; no 6.x device has ever been released). This is a pretty complete collection, and while it doesn’t contain every released version of Palm OS, it covers the most important ones, and provides a great overview of the development of the operating system.
One important version is actually missing from this screenshot: Palm OS 5.5, whose official name is actually Garnet OS 5.5. Garnet OS 5.5 was developed by ACCESS (current owner of Palm OS and the associated IP), but was never released on or for devices – its sole function was to serve as the operating system running inside the Garnet VM. Garnet VM was a virtual machine developed to allow Palm OS applications to run on the ACCESS Linux Platform, a Linux-based mobile operating system that never gained any traction; no ALP devices were ever released.
As some of you may remember, Garnet VM was also released for Nokia’s Maemo. I have a Nokia N900 (maybe even two) that can run Garnet VM, and while it’s no longer available from ACCESS itself, it’s easy to find all around the web if you know where to look. I’m not sure if my N900 is properly set up (I think it is), but it would be trivial for me to install Garnet VM on it and play with it.
So, between my Palm/CLIÉ devices and all these emulators/simulators, every major Palm OS version seems covered, right? Well, no – not entirely. There’s quite a few exotic devices, such as the AlphaSmart Dana, the TapWave Zodiac, or the Fossil Palm OS smartwatch, but those are disproportionately hard to come by. Setting those aside, I thought I had all my bases covered.
Turns out – as is so often the case – I was wrong. On Twitter, q3hardcore asked “do you have this?”
As it turns out, and entirely unbeknownst to me, ACCESS actually released the Garnet VM for Linux and Windows. After coming to the conclusion that this piece of software was entirely impossible to find online (try it), q3hardcore came to the rescue once again, and uploaded his or her copy of the package online. Questionable legality aside, I didn’t have to think twice.
The purpose of the Garnet VM for Linux and Windows was to allow Palm OS application developers to test their Palm OS applications to see if they would run on the Garnet VM included in the ACCESS Linux Platform, and make changes if needed.
This Garnet VM is an amazing piece of technology. It’s the Palm OS userland – version 5.5.0 – running on a Linux kernel running on an ARM emulator running on Windows or Linux. The ARM emulator in question is called Janeiro, and it emulates a Zylonite (PXA320) development board, revision B1. As it boots up, there’s zero indication that it’s running a Linux kernel – the X ‘cross’ appears briefly (at least, it looks like the X cross), but that’s it.
The major difference between the Garnet VM and the Palm OS 5.x and 6.x simulators is that while the simulators run x86 Palm OS, Garnet VM runs an ARM Palm OS userland atop an ARM Linux kernel. This means – at least, in theory – that ARM Palm OS applications should run decently well on Garnet VM, something you can’t do with the Palm OS simulator, because they would need to be recompiled to x86. I say ‘in theory’, because the Garnet VM documentation notes that not all Palm OS libraries and components are present, and that only “well-behaved” applications are compatible.
I’ve only had access to the Garnet VM for Windows for a short while, and I haven’t yet had the time to really dive into it. For instance, I’ve yet to figure out how to get applications to run inside the VM, since the usual methods don’t seem to want to cooperate. I’ll spend some more of my free time on playing with it over the coming weeks to better figure out how it all works.
In any event, the Garnet VM for Windows and Linux is a unique piece of computing history, and I am absolutely delighted to be able to add it to my collection of Palm OS memorabilia. I’ve briefly considered zipping up all the emulators, simulators, and ROMs I have into a nice preconfigured, documented package for people to play with, but that’s not something I can do for obvious copyright, trademark, and patent reasons. Most of this stuff isn’t particularly hard to find, but it does require a bit of Palm experience to put it all together and document it. I don’t think I’ll ever get permission from ACCESS, so that’s the end of that idea.
Still, I think it’s important that I continue to collect these Palm OS ROMs and emulators/simulators, because as the years go by, more and more Palm devices will start to break down or get lost, leaving us without to ability to experience this amazingly lovable operating system.
It’s definitely the X11 (Xorg) “X” cursor, so this is at the very least running a stripped down X with either a fbdev or vesa driver (I’m guessing).
Still kicking myself for selling my Treo 650 and Clie NX-70v. Other than the N900, they were the best mobile devices I’ve ever owned.
I thought it was great that they had this emulator ON the N900. I loved that phone, wish Nokia had kept developing Maemo instead of the path they went (though I do like the Maemo/MeeGo mix on the N9 from the perspective of the UI is fantastic to use, but I still liked the ‘Linux machine in my pocket’ feel of the N900.
Please contact for example https://twitter.com/textfiles if you are serious about preserving this properly. He can probably tell you where to submit it so it’s properly kept at the Internet Archive.
Great Idea.
I think a future worthwhile article could be to explore the Palm’s of the technology history. Items that were ahead of their time, and in a flash behind the times. Too soon and also too late, but dominated an industry in its infancy.
I guess you could thrown Blackberry and Nokia in that same category, and maybe Pebble?
I actually started work on an article on Psion/Symbian in the same style as the long Palm retrospective, but since I’m not nearly as familiar with them as I am with Palm, the amount of work is so large it’s just impossible to combine with work and normal life etc. I have tons of writing done somewhere in a file, but I just don’t have long stretches of time available where I can work on it non-stop – and writing such long articles in short bursts interrupted by weeks of non-activity is really, really hard.
So, yeah.
Thom – you should look at the VTech Helio. It was a PDA with a MIPS processor at a similar time as Palm. It was pretty interesting. The API and OS was more or less a complete clone of PalmOS. But it had a completely up-gradable ROM, so it was possible to compile the OS from scratch and put your own version on to it. Very interesting. I have about 3 working units and a couple of cradles. It’s in the “I must get round to it” pile. But there’s an SDK with an emulator, so I feel that might appeal to you..
Legacy review (with a picture of the device/OS):
http://www.reviewsonline.com/vtech2.htm
Link to the devtools, SDK’s etc:
http://www.capitalware.com/helio_dev_win.html
Direct link to the emulator:
http://www.capitalware.com/dl/helio_dev_apps/emulator10006.zip
Edited 2017-01-16 10:47 UTC
I’m on the opther side of the fence. I have 2 mothballed Palm devices, but I never used ’em. I was a Psion guy from the Organizer LZ to the 5mx, and then Symbian, and I still miss them. I often wonder if Palm might have lived if it had adopted EPOC32/Symbian as its basis, as nearly happened, instead of the kludge of running the 68K PalmOS under an emulator on ARM while it was being ported. (AIUI — please correct me if I’m wrong. I believe the approach was very similar to Classic 68K MacOS on PowerPC.)
This is the definitive history of Psion and EPOC32, IMHO:
http://www.theregister.co.uk/2007/06/26/psion_special/
I would buy (and use) a modern PalmOS-style device right now. I used my Palm and Handspring devices happily for years, only stopping when the batteries failed. It was “smart” enough for my needs – there were enough apps of all kinds, and I could enter text quickly using Graffiti, so it was a productive (and fun) environment.
In the early years, I was excited about the possibilities of Android, especially being relatively open (and open source). But, for me, Android phones have never been as productive or pleasant to use as Palm OS. (I blame this partly on finger vs. stylus.)
Now, so-called smartphones are too “smart” (read: intrusive and obnoxious) for my tastes. I just want a simple device, with enough programmability to get things done and kill a little time in a game. An updated Palm-style device with more storage, better screen, etc. (in other words, what Garnet was supposed to be) would work fine for me.
(FWIW, I hold out some hope for projects like Plasma, where hopefully we can tailor the ROM to create the experience we want. Getting open hardware is the hard part, but I’m not married to the “smartphone” idea – the PDA worked fine for me.)
I have a lifedrive with 128gb storage latest palmOS rom and it can run x264. I bought it in 2005 i think and upgraded the microdrive to a CF card. I used the lifedrive for everyrthing. I had one of those foldable keyboards that fits in the pocket as well, so i could typ as if it was a laptop via quickdocs.
My first tablet was a Tungsten T5. The OS seemed relatively stable (with only occasional out of memory errors) and felt quite snappy.
In hind sight I would have preferred it if the T5 had a capacitive touch screen instead of a resistive touch screen.
I don’t understand this part. There is Janeiro, and then there is Garnet VM. They are different things.
What @q3hardcore distributed is Garnet VM. There is no emulator (other than the usual 68k one) and no Linux kernel.
Edited 2017-01-15 15:37 UTC
There’s Garnet VM, and then there’s Garnet VM for Windows. Garnet VM is what runs on ALP or Maemo.
Garnet VM for Windows uses an ARM emulator, on top of which runs an ARM Linux kernel, which in turn runs the Palm OS userland.
As for Garnet VM for Linux (which is also included) – I don’t know.