Find a file
Christophe de Dinechin 5aff1dc8db array: Implement idn command (IdentityMatrix)
This returns a diagonal matrix with 1 on the diagonal and 0 elsewhere.

Fixes: #1154

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2024-09-02 01:58:19 +02:00
color-images font: Fix v glyph vertical placement, add dot and cross glyphs 2024-08-31 17:19:56 +02:00
config config: Use config files only for user configuration 2024-07-27 17:34:02 +02:00
DB48X-DB50X-Overlay-Source Added updated SVG file and associated PNG files 2024-04-14 20:56:16 -04:00
DB48X-Keys menus: Place ListMenu as a keyboard-accesisble menu 2024-03-28 23:51:08 +01:00
dmcp@4befe9b376 Update dmcp commit 2023-08-08 15:21:39 +02:00
dmcp5@91cb47248c license: Change to GPL v3, disconnect from DMCP 2023-08-07 23:58:27 +02:00
doc array: Implement con (ConstantArray) command 2024-09-02 01:53:32 +02:00
emsdk@4b9e83d629 wasm: Implement WASM support 2024-06-24 21:12:16 +02:00
fonts font: Fix v glyph vertical placement, add dot and cross glyphs 2024-08-31 17:19:56 +02:00
help array: Implement idn command (IdentityMatrix) 2024-09-02 01:58:19 +02:00
images font: Fix v glyph vertical placement, add dot and cross glyphs 2024-08-31 17:19:56 +02:00
keymap_utils dm32: Add DB48-specific keymap 2024-08-30 15:51:19 +02:00
recorder@8b0b079b54 Release 0.6.4 "Healing": Testing and fixes 2024-02-05 01:12:46 +01:00
sim tests: Add keyboard shortcuts to launch the demos 2024-08-19 14:19:15 +02:00
src array: Implement idn command (IdentityMatrix) 2024-09-02 01:58:19 +02:00
state solver: Add support for multiple equation solving 2024-07-28 16:31:57 +02:00
tools ttf2font: Add additional verbose info about source data 2024-08-31 12:47:12 +02:00
wasm 48calc.org: Fix mouse click position 2024-08-02 01:32:52 +02:00
.clang-format Add .clang-format file 2023-08-08 15:44:45 +02:00
.clangd Find includes two level up (necessary e.g. for target.h) 2023-06-20 18:47:55 +02:00
.gitignore Update .gitignore 2024-07-30 11:43:05 +02:00
.gitmodules simulator: Use https as a protocol for git submodules 2024-06-27 17:56:15 +02:00
AUTHORS wasm: Implement WASM support 2024-06-24 21:12:16 +02:00
BUILD.md build: Remove any leftover references to Intel decimal library 2024-05-13 19:17:34 +02:00
FREEDOM_COVENANT.txt Add freedom covenant to that repository 2023-07-07 21:23:43 +02:00
Keyboard-Cutout.png menus: Place ListMenu as a keyboard-accesisble menu 2024-03-28 23:51:08 +01:00
Keyboard-Layout.png menus: Place ListMenu as a keyboard-accesisble menu 2024-03-28 23:51:08 +01:00
keymap.bin dm32: Add DB48-specific keymap 2024-08-30 15:51:19 +02:00
LICENSE.txt license: Change to GPL v3, disconnect from DMCP 2023-08-07 23:58:27 +02:00
Makefile dm32: Add DB48-specific keymap 2024-08-30 15:51:19 +02:00
README.md wasm: Add link to deployed WASM simulator in the README 2024-06-28 01:33:03 +02:00
STATUS.md doc: Update status 2024-08-31 23:14:50 +02:00

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 and DM32 calculators. It leverages their 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

FOSDEM 2024 video

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

This is currently UNSTABLE and INCOMPLETE software. Please only consider installing this if you are a developer and interested in contributing. Or else, have a paperclip at hand just in case you need to reset your calculator.

The detailed current status is described in the STATUS file.

Self-test in the simulator

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.