This yet unnamed project is an attempt to recreate the PalmOS environment on top of a modern operating system. In short, it is a collection of libraries providing basic functions needed by PalmOS, like dynamic heap management, storage memory management, bitmap manipulation, window handling, preferences, features, timers, etc. PalmOS SDK 5r3 was taken as a base, and its API was implemented using that libraries. Additionally, some functions not present in PalmOS were implemented, like multi-threading support.
The end result is that you can take the source code of an original PalmOS application and compile it on Linux, for example. Instead of using m68k-palmos-gcc, you use standard gcc on x86 architecture. The application “thinks” it is running on a PalmOS device, but instead it is running natively on Linux.
The libraries mentioned above are only part of the story, though. Beneath this architecture, it uses something called “pit”. Pit is a framework and set of support libraries providing a lot of functionality and abstracting the code base from the underlying OS.
I intend to release both this PalmOS implementation and pit in the near future. It is still a proof-of-concept project. It needs some clean-up before progressing to alpha quality.
You may be asking now: why all this effort? What is it good for? Isn’t PalmOS obsolete and shouldn’t it R.I.P? Probably, but some people still find it interesting enough to deserve a second look.
9 thoughts on “Reviving PalmOS”
It sure can!
Awesome project !!!! Possible the same idea can be taken for other legacy OSes like OS/2.
For running abandoned software available only in binary form there are other options, like POSE and Mu (https://github.com/meepingsnesroms/Mu). Having said that, in theory it should be possible to add a 68K emulation layer on top of the current code, so that system traps get translated to native PalmOS calls, much like the Cobalt simulator that Palm offered. It brings its own challenges, but may be considered in the future.
Shame it’ll require the source code to port and run applications. Considering the vast amount of abandon ware and old freeware available for native Palm OS
Still awesome to see something like this. Who knows, could potentially lead to more compatibility one day.
Nice to see that there are more and more people taking care of the old Palm OS. I’m very excited about what’s still coming from you – your little demo video looked very promising in any case!