Releases: c3d/db48x
v0.2.4 - Dynamic number spacing while editing
Bug fixes:
- CHS removes negative sign instead of putting a + sign
 - Fix crash when applying decimal functions to negative values (#101)
 - Use default formatting when saving calculator state
 - Repair rendering of FIX, SCI and ENG on the stack (#100)
 - Fixes the selection of the editor's displayed rows and columns (#98, #99)
 - Remove premature "too many digits" error message for decimal128 (#97)
 - Do not terminate editing for self-inserting menus such as 
#(#96) - Show B cursor for all base-36 digits (#95)
 - Defensive coding against malformed UTF8 text rendering (#101)
 
Features:
- Show thousand separators while editing numnbers
 - Render based numbers with a numerical postfix base indicator (#95)
 - Parse numbers in arbitrary base, e.g. 
3#212(#95) 
Full Changelog: v0.2.3...v0.2.4
Release 0.2.3 - For loops
Bug fixes:
- Memory corruption in division of large numbers (#70)
 - Parsing 
'X⁻¹+(Y²+Z³)'resulting in syntax error (#76) - Parsing 
-80/60resulting in4/3(sign lost) (#78) - Large numbers written to state file had separators (#83)
 - Render names on stack as 
'ABC'instead of 'ABC' (#84) - Evaluate names as 
'ABC'and notABC(#86) - Directory corruption following 
purge(#87) - Local blocks now always execute (#90)
 - Correct spacing of control structures on stack
 
Features:
Other:
- Solidified the test suite further, added many tests
 - Added reference to FOSDEM talk to README.md
 - Added Freedom Covenant to the repository
 
Signed-off-by: Christophe de Dinechin [email protected]
v0.2.2 - Optimisations and stabilisation
Bugs fixed since v0.2.1:
- 
Fixed the
whileloop
The test for thewhileloop was inverted
The location of theendandrepeatkeywords was swapped - 
Fixed bug in detection of multiplication overflow
The computation of the factorial of 23 and up is now correct. - 
Fixed bug mistakenly converting some fractions to integers
For example,2/17 INVwould return17instead of17/2 - 
Add spacing to large numbers
A number that did not fit on 64-bit would not respect spacing settings - 
Repaired the test suite
Tests were setting-dependent, and would fail with default settings because
they did not take number spacing into account. 
Features implemented since v0.2.1:
- 
Implemented local variables, e.g.
<< -> A B C << A B - C * >> >>
Local variables are a very fast way to reference data. Internally, they are
represented by an offset to a known location, which makes them practically as
fast as stack accesses, and much faster than global variable lookups. - 
Implement the
samefunction
Thesamefunction detects if two objects are identical.
Like the HP48, there are multiple "equality" variants:samedetects if two objects are binary-identical==does the same, but dereference names=is a mathematical equality (does not exist in HP48 RPL)
 - 
Add feature to import ASCII versions of
«,»and→
In .48S files, you can use<<,>>and->instead. - 
Implement
→List(stack to list)
This was the last missing command to be able to execute the
HP calculator's N-queens benchmark 
- 
Better truncation of very large numbers when shown on stack
A very large number, like the factorial of 64, would show up truncated
at 80 digits, so the first digits shown were wrong. - 
Various optimizations to make things a bit snappier, notably on battery power
- 
Refactored the object model to use a simpler lookup mechanism
 - 
Implemented a C++ interface for arithmetic and functions, which will be
useful when implementing complex number and matrix operations, and already
simplified the code for operations such asabsorcubed. - 
Sime fine-tuning of LEB128 handling for types
 - 
Execution time for
NQueensmeasured, reduced from about 980ms down
to about 530ms. 
 - 
 
Full Changelog: v0.2.1...v0.2.2
Version 0.2.1 - Add VERSION command
Add a VERSION command, and git-derived version string in the PGM file
Full Changelog: v0.2...v0.2.1
v0.2 - Fix problem when running on battery power
The primary reason for a v0.2 is that this solves #12, a hang on battery power. There are also major bug fixes on integer arithmetic, and a new formatting of numbers.
Full Changelog: v0.1...v0.2
v0.1
First preview of the firmware with pre-built binaries
To install:
- Put your DM42 in USB disk mode
 - Expand the contents of the release at the base of the disk. You should have four files, 
DB48X.pgm,DB48X_qspi.bin,help/DB48X.mdandSTATE/test.48S - Using the calculator's setup menu, flash QSPI image from USB disk. This will load 
DB48X_qspi.binand erase it from the disk. - Using the calculator's setup menu, load the 
DB48X.pgm. 
Note: Normally, the QSPI binary is "compatible" with the original DM42 program, so that you can switch back and forth. There may be limitations if the symbols in that file are not at the right address. If your DM42 program misbehaves after installing this QSPI, restore the original QSPI image from SwissMicros.