megabytefisher/dragonfruit — explained in plain English
Analysis updated 2026-05-18
Boot a real Palm IIIx ROM all the way to the Palm OS launcher on M5Paper ESP32 hardware.
Run the same emulator core on a PC for development, testing, and headless PNG screenshots.
Use the built in JIT compiler to run Palm OS at usable speed directly on the microcontroller.
Study a from scratch 68000 CPU interpreter and peripheral models for retro hardware emulation.
| megabytefisher/dragonfruit | 0xblackash/cve-2026-46333 | atomiczsec/noradrenaline | |
|---|---|---|---|
| Stars | 17 | 17 | 17 |
| Language | C | C | C |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | developer | researcher | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires M5Paper ESP32 hardware and a Palm IIIx ROM image obtained from a device you own.
Dragonfruit is an emulator that brings late-1990s Palm handheld computers back to life on modern ESP32 microcontroller hardware. Palm devices from that era ran a chip called the Motorola DragonBall, a compact processor descended from the Motorola 68000 family that powered many personal computers in the 1980s. This project recreates that chip and the surrounding hardware components in software, accurately enough that you can load a real Palm IIIx ROM (the firmware that originally shipped in the device) and have it boot all the way to the Palm OS launcher, run the first-time setup wizard, and accept stylus input including Graffiti handwriting recognition. The reference hardware target is the M5Paper, an ESP32 board built around an e-ink display and a capacitive touchscreen. The result is a Palm IIIx running on a small modern board with a paper-like screen, including the classic silkscreen button area below the display. The emulator handles sleep and wake cycles, a real-time clock, SD card file installation, and database backups to the card. The Palm OS itself is copyrighted and not included, you must supply a ROM image obtained from a device you own. The project is written entirely in portable C with no dependencies tied to any particular board or operating system. The same core emulator code that runs on ESP32 hardware also compiles on a regular PC for development and testing, where it runs headlessly and writes the screen output as PNG files. An optional interactive window mode is available for desktop use via SDL. On the ESP32 side, the emulator includes a JIT compiler that translates 68000 instructions into native code on the fly, which is necessary to run Palm OS at a usable speed on the microcontroller. This JIT is designed behind a backend interface so it can be adapted to different ESP32 chip variants. The repository is organized into clearly separated components: the 68000 interpreter, peripheral models, display driver, touch input handling, SD card installer, and a PC build toolchain. It is a from-scratch engineering project aimed at people interested in hardware emulation, retro computing, or ESP32 development.
Dragonfruit is a from scratch emulator that runs real Palm OS ROMs on ESP32 hardware by recreating the original Motorola DragonBall chip in software.
Mainly C. The stack also includes C, ESP32, SDL.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.