Cool to see my project-in-progress here. Happy to answer questions.
there's still a lot to do until I'm ready to produce hardware, but a lot already works. The plan is to update the article as I go along, and eventually open source everything once I'm convinced it works at least well enough to be used.
I would really appreciate it if you were to release your DAL and "runner".
I would really enjoy having a workable way to emulate PalmOS on top of Linux/Android.
StyleTap is just too pricey and almost abandoned at this point (it tends to give a black screen on modern Android), and PHEM/xpilot/POSE, while open source, just emulates m68k meaning you're stuck with OS4 ROMs, no PNOlets, no high-density, difficulty integrating with host services, millions of bugs, ...
I'm curious why you didn't choose to emulate the Palm hardware itself, much like e.g. a Gameboy emulator would, and thus not need to worry about the internal structure of the software.
There were already some reimplementations of PalmOS on top of other operating systems.
e.g. PalmOS's own "Simulator" was a reimplentation of PalmOS on Windows. It would contain a x86 ROM that would "thunk out" for some ROM libraries (including the DAL) into separate .dlls that would do the equivalent Windows calls. I always though that if I ever wanted to start my own PalmOS clone I would start by looking at those.
Garnet VM by ACCESS was exactly the same thing except for Linux and Gtk+, and compiled for ARM. Namely, an original PalmOS ROM blob with some libraries implemented as external .so that would perform Gtk+ and Cairo (!!) calls.
Most probably, this was actually developed as part of the entire "PalmOS on top of Linux" project that PalmSource actually still had when they were bought by ACCESS.
StyleTap was a 3rd party commercial reimplementation. You can see it still has some drawing glitches and differences versus an actual PalmOS. It is available for both Windows (CE) and Linux (Android).
So I think Linux does make for an excellent host operating system, after all.
All of those modified the os at much higher levels. RePalm runs UNMODIFIED OS, with only DAL.prc replaced. Literally: use the T|T3 rom and you get a tungsten t3. Use a Sony TH55 rom, and clie organizer runs as on a real TH55
This work has great hack value. It's good to see people doing things like that.
Also, the Palm devices were great little machines, with some interesting technical tradeoffs for developers to push the very modest limits of the early hardware, which made sense. I did an app for an early one, and also put the API docs in more usable formats. I looked at the later Palm hardware again recently, when I was deciding where to go for Linux handheld hardware after Replicant, before I decided on PostmarketOS devices.
https://www.neilvandyke.org/t-map/https://www.neilvandyke.org/padr/https://www.neilvandyke.org/postmarketos/
Palm devices were great little machines, with some interesting technical tradeoffs for developers to push the very modest limits of the early hardware
I had a US Robotics Palm Pilot III. I did two exceptional things with it:
1. Wrote the content for my second web site (sold for six figures) on the roof of my apartment building after work using a Palm Pilot with the foldable keyboard.
2. Used the sync cradle to connect to the RS-232 port of an early GPS (around 1999-2000, I think) ripped out of a friend's Honda minivan. There was a program for the Palm that could take B&W bitmap images of maps, then scroll the map in sync with the incoming NMEA data. The hard part was that you had to tell the program the coordinates of the northwest and southeast edges of the bitmap so that it could scroll the correct amount.
- The maps couldn't be too big because of the memory limitation of the Palm.
- This was before Google maps. I think the only online map service was Terraserver, and you couldn't download images, so I took screenshots of the city overview, converted them to B&W and used those.
- You could only have one map. No stitching.
- No zooming.
Also, it took forever to lock into the GPS signal, though I think this was a problem with early GPS receivers and not a Palm issue.
Amazing hack project .... and reading thru you see took only 2 weeks to write CoretexEmu. Amazing. Seriously reading this stuff impresses the socks off me and Im in awe of someone who can manage their time for writing enterprise products like VMware, flying planes(author has 2), and hacking at this depth. Kudos unlimited!!
The secret is three-prong: I absolutely love doing this (despite this project having no practical purpose), I have a FAANG job, and I have no family of my own.
I was really convinced Palm was going to do something cool when I got my Tapwave Zodiac which had an 8M ATI video card in it, which allowed some decent 3d mobile games to run. I was way wrong, unfortunately. I till love that device though.
Wow!! I’ve been snooping around your webpage looking for updates every now and then and here it is. I am actually am starting a custom CPU project for which I might want to write an emulator and this will help me a LOT. Thanks for starting on this and sharing your progress. Appreciate it. Anybody reading this, Dmitrys c codebase is a must read for anyone even remotely associated with systems programming.
I have recently picked up a Handspring Visor from a Value Village for $5.
It has been indespensible beyond words.
When I go to pick up my iPhone to take a note, I end up seeing my notifications, scroll through Instagram for 5 minutes, until I get up and make myself a coffee and forget not only to write the note but what the original idea even was.
With my palm, I just pick up and write. These things are golden.
[+] [-] dmitrygr|7 years ago|reply
there's still a lot to do until I'm ready to produce hardware, but a lot already works. The plan is to update the article as I go along, and eventually open source everything once I'm convinced it works at least well enough to be used.
[+] [-] steve19|7 years ago|reply
[+] [-] AshamedCaptain|7 years ago|reply
I would really enjoy having a workable way to emulate PalmOS on top of Linux/Android.
StyleTap is just too pricey and almost abandoned at this point (it tends to give a black screen on modern Android), and PHEM/xpilot/POSE, while open source, just emulates m68k meaning you're stuck with OS4 ROMs, no PNOlets, no high-density, difficulty integrating with host services, millions of bugs, ...
[+] [-] userbinator|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] AshamedCaptain|7 years ago|reply
e.g. PalmOS's own "Simulator" was a reimplentation of PalmOS on Windows. It would contain a x86 ROM that would "thunk out" for some ROM libraries (including the DAL) into separate .dlls that would do the equivalent Windows calls. I always though that if I ever wanted to start my own PalmOS clone I would start by looking at those.
Garnet VM by ACCESS was exactly the same thing except for Linux and Gtk+, and compiled for ARM. Namely, an original PalmOS ROM blob with some libraries implemented as external .so that would perform Gtk+ and Cairo (!!) calls.
Most probably, this was actually developed as part of the entire "PalmOS on top of Linux" project that PalmSource actually still had when they were bought by ACCESS.
StyleTap was a 3rd party commercial reimplementation. You can see it still has some drawing glitches and differences versus an actual PalmOS. It is available for both Windows (CE) and Linux (Android).
So I think Linux does make for an excellent host operating system, after all.
[+] [-] dmitrygr|7 years ago|reply
[+] [-] neilv|7 years ago|reply
Also, the Palm devices were great little machines, with some interesting technical tradeoffs for developers to push the very modest limits of the early hardware, which made sense. I did an app for an early one, and also put the API docs in more usable formats. I looked at the later Palm hardware again recently, when I was deciding where to go for Linux handheld hardware after Replicant, before I decided on PostmarketOS devices. https://www.neilvandyke.org/t-map/ https://www.neilvandyke.org/padr/ https://www.neilvandyke.org/postmarketos/
[+] [-] reaperducer|7 years ago|reply
I had a US Robotics Palm Pilot III. I did two exceptional things with it:
1. Wrote the content for my second web site (sold for six figures) on the roof of my apartment building after work using a Palm Pilot with the foldable keyboard.
2. Used the sync cradle to connect to the RS-232 port of an early GPS (around 1999-2000, I think) ripped out of a friend's Honda minivan. There was a program for the Palm that could take B&W bitmap images of maps, then scroll the map in sync with the incoming NMEA data. The hard part was that you had to tell the program the coordinates of the northwest and southeast edges of the bitmap so that it could scroll the correct amount.
- The maps couldn't be too big because of the memory limitation of the Palm.
- This was before Google maps. I think the only online map service was Terraserver, and you couldn't download images, so I took screenshots of the city overview, converted them to B&W and used those.
- You could only have one map. No stitching.
- No zooming.
Also, it took forever to lock into the GPS signal, though I think this was a problem with early GPS receivers and not a Palm issue.
[+] [-] busterarm|7 years ago|reply
This will be a godsend to that community if it works.
[+] [-] liquid9|7 years ago|reply
[+] [-] zoom6628|7 years ago|reply
[+] [-] dmitrygr|7 years ago|reply
The secret is three-prong: I absolutely love doing this (despite this project having no practical purpose), I have a FAANG job, and I have no family of my own.
[+] [-] codezero|7 years ago|reply
[+] [-] ultrasounder|7 years ago|reply
[+] [-] DonHopkins|7 years ago|reply
https://twitter.com/xardox/status/997939444660523009
https://donhopkins.com/home/PalmJoint.prc
https://donhopkins.com/home/PalmJoint/Src/PalmJointMain.cpp
[+] [-] rhizome|7 years ago|reply
[+] [-] dsjoerg|7 years ago|reply
[+] [-] petersteinberg|7 years ago|reply
[+] [-] lostgame|7 years ago|reply
It has been indespensible beyond words.
When I go to pick up my iPhone to take a note, I end up seeing my notifications, scroll through Instagram for 5 minutes, until I get up and make myself a coffee and forget not only to write the note but what the original idea even was.
With my palm, I just pick up and write. These things are golden.
[+] [-] jplayer01|7 years ago|reply
[+] [-] xattt|7 years ago|reply