Heart of the DM50!
Heart of the DM50
The software is the heart and soul of any calculator, and its development demands meticulous attention to achieve maximum efficiency and quality.
I envision creating a foundation that inspires enthusiasts of calculators and other devices alike.
To foster rapid development and encourage contributions from everyone, regardless of whether they have a physical calculator, I propose developing desktop and mobile applications using the same core. This will accelerate the development and improvement of the calculator’s software, making it accessible to a wider audience.
Architecture
The philosophy is simple: the software will be divided into three parts:
- Operating System: This will handle user interactions, such as key presses, sound, and screen management (initialization, clearing, drawing lines and points), as well as file management. It will provide a header file (.h) linking to system functions for program development. Two system versions will exist:
- (1) Desktop and mobile application: These will require an additional graphical user interface layer to display the screen, keyboard, etc.
- (2) Firmware version (with STM32 MCU): This will be a binary portion without a presentation layer.
- (3) Programs: The first program will be the calculator itself, which will rely on the operating system for execution, linked through the aforementioned header files.
Platforms
Ultimately, the goal is to have the DM50 calculator available on the following platforms:
- DM50 hardware calculator
- Windows application
- macOS application
- Linux application
- iOS application (iPhone, iPad)
- Android application
I’ve noticed a growing interest among calculator enthusiasts, and we share the disappointment of seeing major manufacturers discontinue high-end calculators. However, I believe we can fill this void with open-source projects like this one. I encourage everyone to participate and enjoy the process.
You can see the evolution at the following URL: https://github.com/xavierbasc/dmos
The initial compiled and executable versions for diverse platforms will soon be available for download.
Best regards.