Dragonfruit es un proyecto de código abierto que recrea en hardware moderno el sistema-en-chip Motorola MC68EZ328 (DragonBall EZ), el corazón 68000 de las PDAs Palm de finales de los noventa. Escrito íntegramente en C portátil, el emulador combina un intérprete de 68000 con modelos de los periféricos integrados del DragonBall (controlador de interrupciones, temporizador, RTC, GPIO, SPI, UART y controlador LCD), suficientes para arrancar Palm OS 3.x desde una ROM original y ejecutar el sistema con stylus, incluyendo el reconocimiento de escritura Graffiti.
El núcleo no depende de una plataforma concreta: puede correr sin periféricos en un PC para desarrollar y, ya en producción, sobre un ESP32. El dispositivo de referencia es el M5Paper, una placa ESP32 con pantalla de tinta electrónica y táctil capacitivo que el emulador convierte en un Palm IIIx funcional: completa el asistente de primer arranque, la calibración del digitalizador y la configuración regional, y gestiona el modo de bajo consumo con唤醒 por la tecla de encendido.
La arquitectura se divide deliberadamente en tres capas: un núcleo portable, un backend de rendimiento por ISA (con un JIT en ráfagas para el ESP32 Xtensa clásico y soporte en desarrollo para el ESP32-P4 RISC-V) y los drivers de placa. Los requisitos en el lado ESP32 son PSRAM externa y doble núcleo, lo que excluye chips como el ESP32-C3.
La ROM de Palm OS no se distribuye por derechos de autor; debe obtenerse desde un dispositivo propio mediante la herramienta de transferencia del emulador clásico de Palm OS. El proyecto también permite instalar aplicaciones .prc/.pdb/.pqa desde una tarjeta SD, realizar copias de seguridad de las bases de datos y personalizar la disposición en pantalla (rotación, ampliación o recolocación del área de silkscreen) mediante un archivo de configuración.
