Palm OS: Reincarnate

Pumpkin OS running on x86

[pmig96] loves PalmOS and has set about on the arduous task of reimplementing PalmOS from scratch, dubbing it Pumpkin OS. Pumpkin OS can run on x86 and ARM at native speed as it is not an emulator. System calls are trapped and intercepted by Pumpkin OS. Because it doesn’t emulate, Palm apps currently need to be recompiled for x86, though it’s hoped to support apps that use ARMlets soon. Since there are over 800 different system traps in PalmOS, he hasn’t implemented them all yet.

Generally speaking, his saving grace is that 80% of the apps only use 20% of the API. His starting point was a script that took the headers from the PalmOS SDK and converted them into functions with just a debug message letting him know that it isn’t implemented yet and a default return value. Additionally, [pmig96] is taking away some of the restrictions on the old PalmOS, such as being limited to only one running app at a time.

As if an x86 desktop version wasn’t enough, [pmig96] recompiled Pumpkin OS to a Raspberry Pi 4 with a ubiquitous 3.5″ 320×480 TFT SPI touch screen. Linux maps the TFT screen to a frame buffer (dev/fb0 or dev/fb1). He added a quick optimization to only draw areas that have changed so that the SPI writes could be kept small to keep the frame rate performance.

[pmig96] isn’t the only one trying to breathe some new life into PalmOS, and we hope to see more progress on PumpkinOS in the future.

26 thoughts on “Palm OS: Reincarnate

  1. I like the “not implemented yet” technique – I’m certain he didn’t invent it, but for a project like this it keeps him from wasting time implementing calls that will never be used.

          1. Hey Dmitry! I’m slowly looking at re-implementing the glory days via the mu emulator. Won’t be able to deploy most of the TX stuff you did, but I’ll be trying to re-implement a generic environment that echoes what we hacked on back in the day.

            It’s kinda neat being able to demo my old Palm setups under iOS 17 :D Hopefully we’ll one day see a TX emulator and I can unleash more of your tools.

            Until then, I’ll see if Pumpkin OS matures to the point where it’ll run in a browser on an ARM device, or possibly gets a libretro port so it can run natively on all ARM hosts.

  2. Dumb question maybe, but wasn’t the Palm T2 an ARM device? Wouldn’t that emulate more easily?
    I must admit I have a soft spot for the Dragonball CPU devices since they’re 68K-related.
    I dug out my collection recently and was surprised to see the rechargeables still worked after sitting on the dock for a bit. It’s hard to imagine at one time people carried around an disconnected “organizer” but it was handy for looking up contact info and for keeping track of a calendar and reminders on the go.

  3. I think the current owner of PalmOS has moved to a linux based VM platform. What are the legalities of porting their API? I would be careful here because there have been tons of lawsuits regarding “look and feel” kind of patents around the Palm platform. Some heavyweights like Palm, RIM, and Xerox have come to blows over this stuff. I would be especially worried that about the only economic value left in the Palm OS is the lawsuits that could be generated over its infringement.

      1. Did HP sell off Palm after buying it then killing it in a few months? The history of Palm should be a whole lesson plan in how to not run a company.

  4. Hm…I was a huge fan of PalmOS, too. But advantage of it was that you had a small computer in your pocket with a battery live of 1-2 weeks and also some of the cool programs. (for example Thoughmill) None of this you can use if you need the source to recompile everything. So the only cool think from the good old time that last forever is the grafitty keyboard driver on my android phone. .-)

    Olaf

    1. Thanks for sharing! I was also a big fan. Still have fond memories of my Handspring Visor! Back in the late 90s/early 2000s, I was using a PalmOS emulator on my Win98SE machine and discovered so many fun applications for PalmOS along the way. I’ve also written a Pokédex for it, even. Development made so much fun. There also was a MacOS 8/9 version of the Palm software, afaik. And a GameBoy emulator named ‘Phoenix’, afaik. ^^

      1. I think the advantage of this time was that programer use there time&skill to wrote a program that solved a problem. They did not use there skills to send your data to every other computer in the world, show you comercials and didn’t use 100 fat libaries in the program so solve problems that user did not have.
        And of course it was helpful that PalmOS is a little bit easier than the complete Android-world. So a programmer know much more about the complete computer he wrote software than today.
        Sometimes I think everthing went south when people start to call a program an app. :-D

        Olaf

  5. Brings back old memories of my “EZQuote Estimator” app I built for Palm OS. My target device was a Palm TX and the app was written in a language called “Handheld Basic”. Here it is on TreoCentral. Look at that price! :) Unfortunately, this was nearing the end of the PDA heyday and I only sold a couple dozen copies. Those were the days you could think of an original idea for an app and not have to compete with 100 others.. Good times!

    https://www.treocentral.com/content/Stories/2344-1.htm

    1. Some people might still find your app useful. I knew a guy who worked for the Oregon Department of Transportation into the 2000’s and used an HP 41CX with a surveying program cartridge. Measuring stuff for construction doesn’t change.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.