- Functional graphical simulator for the DMCP platform
- Test suite on simulator
- Main calculator loop, on/off, accessing DMCP Setup menu
- RPL-style command-line text editor
- Key processing
- DM42-adapted shift logic
- Virtual annunciators
- Alpha mode and lowercases
- Garbage collector
- Low-memory stress testing
- Built-in commands lookup and parsing
- Soft menus navigation
- Global variables
- Local variables
- Home directory and subdirectories
- Variables menu accessible with RCL key
- Complete interactive catalog of available functions
- RPL program evaluattion
- RPL program single-stepping / debugging
- Stack undo / redo
- Accelerated blitter code with 8x8 patterns
- Unicode-capable text drawing replacement
- Unicode / UTF-8 support
- Unicode fonts (e.g. derived from WP43S project)
- Larger font for editor (old geezer mode)
- Objects in USB-accessible flash storage
- Calculator state load/save
- Global help from generated markdown file
- Per-function help from markdown files
- Character menu / table
- Brezenham lines, circles and ellipses
- Polygon fill
- RPL-controlled soft-menu system
- Domain-specific features / customizaton from files on USB disk
- Single-key object format cycling
- Units and conversion customization from
units.csv
file
- Object system with compact storage and dynamic dispatch
- Stack management
- Convenient allocation, initialization and recycling of temporaries
- Object evaluation
- Object parsing
- Object text rendering
- Object graphical rendering
- Object graphical editor
- Errors and error display
- Error trapping / handling, e.g
DOERR
.
- Built-in commands (e.g.
Neg
) - Integer data type, e.g.
123
- Hexadecimal (
#123h
), decimal (#123d
), octal (#123o
) and binary (#1001b
) based numbers - Based integers (arbitrary base between 2 and 36, e.g.
13#10231AC
) - Arbitrary-size integers e.g.
123456789012345678901234567890
- Fractions, e.g.
1/7
- [x[ Fraction formats, e.g.
22/7
vs3 1/7
vs.3,1428571429
- Decimal floating-point with fixed size (32, 64 and 128 bits)
- Decimal floating-point with arbitrary size
- Binary floating-point with arbitrary size
- Hardware-accelerated 32-bit binary floating-point
- Text / strings, e.g.
"ABC"
- Name / symbols, e.g.
ABC
- Complex numbers in rectangular form, e.g.
2 + 3i
- Complex numbers in polar form, e.g.
2 ∡ 30°
- Quaternions
- Intervals / ranges, e.g.
1..5
- Angles, e.g.
∡30°
- Lists, e.g.
{ A 1 "Hello" }
- Arrays, vectors, matrices and tensors, e.g.
[ [ 1 2 3] [ 4 5 6] ]
- Program objects, e.g
« IF 1 = THEN "Equal to one" END »
- Algebraic programs, e.g.
'if x = 1 then "Equal to one"
based on XL-style parser - Bitmaps, e.g.
GROB 8 8 00000000000000FF
- Fonts, e.g.
FONT 000000
- Vector graphics
- Tagged objects
- Algebraic expressions
- Unit objects
- Directories
- Software libraries
- Keymaps
- Softkey menus
- Full-screen menus
- Forms
- Object handler (can replace eval, parse, render, graphical editor)
- HP41/HP42-style key-entry program
- ARM PIC code
- Integer arithmetic
- Floating-point arithmetic
- Detection of precise vs. imprecise results, like newRPL
- Automatic integer to floating-point promotion
- Automatic selection of entered floating-point size based on user input
- Automatic selection of computed floating-point size based on
Precision
- Fraction arithmetic
- Automatic fraction promotion
- Correct rounding (a la crlibm)
- Range arithmetic
- Floating-point arithmetic
- Circular functions, e.g.
sin
,cos
,atan
, ... - Exponentials and logarithms, e.g.
exp
,ln
, ... - Hyperbolic functions, e.g.
sinh
,atanh
, ... - Probabilities functions, like
Factorial
,Combinations
, etc. - Statistics functions, like
Σ+
,Mean
orMedian
- Special functions, like
Bessel
,FastFourierTransforma
, etc - Constant tables with arbitrary precision from files on USB disk
- Equation tables with explanatory graphics from files on USB disk
- Unit conversions
- Complex arithmetic
- Circular functions, e.g.
sin
,cos
,atan
, ... - Exponentials and logarithms, e.g.
exp
,ln
, ... - Hyperbolic functions, e.g.
sinh
,atanh
, ... - Probabilities functions, like
Factorial
,Combinations
, etc. - Statistics functions, like
Σ+
,Mean
orMedian
- Special functions, like
Bessel
,FastFourierTransforma
, etc - Equation tables with explanatory graphics from files on USB disk
- Arithmetic
- Circular functions, e.g.
sin
,cos
,atan
, ... - Exponentials and logarithms, e.g.
exp
,ln
, ... - Hyperbolic functions, e.g.
sinh
,atanh
, ... - Probabilities functions, like
Factorial
,Combinations
, etc. - Statistics functions, like
Σ+
,Mean
orMedian
- Special functions, like
Bessel
,FastFourierTransforma
, etc - Equation tables with explanatory graphics from files on USB disk
- Arithmetic
- Determinant, inverse, transpose
- Eigenvalues
- Tables with special matrices, e.g. Pauli matrices, General Relativity
- Rendering of symbolic expressions
- Parsing of symbolic expressions
- Symbolic operations
- Integrate existing CAS like GIAC
- Rules engine
- Symbolic differentiation
- Symbolic integration
- Integration
- Root finding
- Real-time clock
- Alarms
- File system access
- Printing
- Plotting
- Equation writer
- Matrix writer