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.