Daily Archives: 2023-09-20

Running PalmOS on a Raspberry Pi RP2040 #RaspberryPi #RP2040 @dmitrygr @Raspberry_Pi

Source: adafruit industries blog

Article note: Motherfucker wrote a bare-metal kernel for Cortex-M3/M4 (and now M0) class parts, an ARM-on-Thumb JIT, and all the support infrastructure to host PalmOS5 on modern Cortex-M micocontrollers. Holy shit.

Dmitry Grinberg had demonstrated a Raspberry Pi RP2040 microcontroller running unmodified PalmOS 5.2.8 (showing off world’s only ARM-to-thumb1 just in time (JIT) compiler).

How little RAM/CPU does PalmOS 5 really require? Since rePalm had support (at least in theory) for Cortex-M0, I wanted to try on real hardware, as previously the support was tested on CortexEmu only. There does happen to be one Cortex-M0 chip out there with enough ram – the RP2040 – the chip in the $4 Raspberry Pi Pico. I then sought out a display with a touchscreen that could be easily bought. There were actually not that many options, but this one seemed like a good fit. It turned out, after some investigation, that driving it properly and quickly will not be at all easy. RP2040’s special sauce – the PIO – to the rescue!

Dmitry documents the extensive history and architecture of Palm devices and their operating system, from Motorola 68000 versions to the switch to Arm devices. A masterclass in both Palm and reverse engineering.

See this post for all the details. Via X (formerly Twitter).

Posted in News | Leave a comment