Skip to content

c3d/db48x

This branch is 3529 commits ahead of and 6 commits behind swissmicros/SDKdemo:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 13, 2026
64cb4ff · Apr 13, 2026

History

3,580 Commits
Mar 8, 2026
Apr 12, 2026
Dec 19, 2025
Dec 19, 2025
Apr 15, 2024
Jul 16, 2025
Mar 5, 2026
Mar 10, 2026
Aug 8, 2023
Aug 8, 2023
Apr 13, 2026
Jun 25, 2024
Feb 27, 2026
Apr 13, 2026
Mar 5, 2026
Aug 30, 2024
Mar 10, 2026
Mar 2, 2026
Apr 12, 2026
Apr 13, 2026
Apr 13, 2026
Mar 10, 2026
Apr 12, 2026
Nov 17, 2024
Aug 8, 2023
Jun 21, 2023
Mar 16, 2026
Dec 19, 2025
Jun 28, 2024
Mar 19, 2026
Mar 2, 2026
Feb 27, 2026
Dec 19, 2025
Jul 8, 2023
Dec 20, 2025
Nov 10, 2024
Jul 16, 2025
Mar 5, 2026
Aug 8, 2023
Apr 12, 2026
Mar 16, 2026
Jun 19, 2025
Mar 8, 2026
Nov 17, 2024
Dec 19, 2025
Dec 19, 2025
Nov 12, 2025
Aug 30, 2024

Repository files navigation

DB48X: A modern implementation of RPL

The DB48X project intends to rebuild and improve the user experience of the HP48 family of calculators, notably their "Reverse Polish Lisp" (RPL) language with its rich set of data types and built-in functions, and Lisp-level programming power.

The project in this repository is presently targeting the SwissMicro DM42, DM32 and DM42n calculators. You can order keyboard overlays to adjust the calculator's faceplates to DB48X. DB48X leverages SwissMicros's built-in software platform, known as DMCP. There is also a simulator that is tested on macOS or Linux, and you can even try it in your browser

In the long-term, the vision is to be able to port DB48X on a number of different physical calculator platforms, like the ARM-based HP50 and related machines (HP49, HP48Gii, etc), and the HP Prime (at least the G1, since the G2 seems a bit more locked down), maybe others. The basis for that work can be found in the DB48X project.

This project was presented at FOSDEM 2023 and FOSDEM 2024. There is a YouTube playlist featuring a number of tutorials and topical videos.

DB48X overview

Why name the project DB48X?

DB stands for "Dave and Bill", who are more commonly known as Hewlett and Packard. The order is reversed compared to HP, since they reportedly chose the order at random, and it's about time Dave Packard was given preeminence.

Part of Dave and Bill's great legacy (beyond giving birth to the Silicon Valley) is a legendary series of calculators. The HP48 remains one of my favorites, notably for its rich built-in programming language, known as Reverse Polish Lisp (RPL). This project aims at recreating a decent successor to the HP48, at least in spirit.

State of the project

DB48x is currently fairly usable, and probably one of the best scientific calculators in the world, even in its current unfinished state. It implements a large fraction of the features set of the latest HP RPL calculators (HP48SX, HP50G), with significant enhancements, such as variable-precision decimal numbers, an extensive built-in help, and an up-to-date and extended library of equations and constants.

The detailed current status is described in the STATUS file and in the list of implemented commands.

Installing the firmware

The INSTALL file details the installation procedure on SwissMicros DM32, DM42 and DM42 calculators, which is outlined in the video below:

Install v0.4.8

This video is part of a playlist that contains many other DB48x-related videos, and where you can find the evolution of the project over time, as well as demonistrations of some of the more recent features.

How to build this project

There is a separate document explaining how to build this project. The simulator includes a test suite, which you should run before submitting patches. To run these tests, pass the -T option to the simulator, or hit the F12 key in the simulator.

Built-in documentation

The calculator features an extensive built-in documentation that uses a restricted version of Markdown. You access that built-in help by holding a key down, or using the Help command

Other documentation

There is DMCP interface doc in progress see DMCP IFC doc (or you can download html zip from doc directory).

The source code of the DM42PGM program is also quite informative about the capabilities of the DMCP.

About

RPL runtime for the DM42 calculator, in the spirit of HP48/49/50

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors

No contributors

Languages

  • C++ 90.2%
  • C 7.6%
  • Python 0.6%
  • Makefile 0.5%
  • HTML 0.3%
  • Linker Script 0.3%
  • Other 0.5%