Skip to content

Commit 7129bf2

Browse files
committed
Release 0.9.5 "Everlasting" - Power management, offline graphics
This release brings two major new features: vastly reduced power drain, and off-line persistent graphics. New features ============ * Off-line graphics are the ability to draw images in memory instead of directly on screen. Like on HP calculators, this works by storing a graphic object in `PICT`. Unlike HP calculators, `PICT` is an actual variable in the current directory, meaning that you can have multiple `PICT`, although bitmaps use a lot of memory. For example, running `500 300 BLANK 'PICT' STO` will create a 500x300 pixels off-line image in `PICT`, and all graphic commands after that will draw in that off-line image instead of on screen. Off-line graphics are not immediately shown on screen, but are displayed before returning to the command line in a way similar to the `Show` command (i.e. centererd if smaller than the screen, and with scrolling if larger). They are also persistent, meaning that you need to explicitly `ClLCD` to erase them. * Add `Blank`, `BlankGrob`, `BlankBitmap` and `BlankPixmap` commands to create a blank image with default format, in HP GROB format, in DB48x bitmap (Black and white) format and in DB50x pixmap format (color RPL only). * Add `→HPGrob`, `→Bitmap`, `→Pixmap` commands which can be used to generate an HP-compatible GROB format, a bitmap or a pixmap (color RPL only) from an object. If the object is already a graphic, perform conversion. Note that on color RPL, conversions between color and monochrome formats are supported. Colors are converted to monochrome using grayscale patterns. * Add `→LCD` and `LCD→` commands to send an object to the current graphics, or to create a graphic object from the current screen content. * The `Off` command can now be used in a program and will preserve what is on screen. You can resume execution of the program by using the `ON` key. Add `PowerOffWithImage` command to show off-images even from programs. Bug fixes ========= * Fix display of object `Info` in the interactive stack * Clear system timers before entering system menu, so that the self test menu entry does not run a fast-paced loop. * Fix off-by-one error in result of `LastBitSet` (number bits starting at 0) * Correctly render color pixmaps when on the stack (color RPL only) Improvements ============ * Reduce power usage dramatically by disabling timers when going to sleep. This manifests as a higher battery voltage being shown, which is closer to what the DM42 firmware or integrated self-test would show. This will most likely improve battery life for interactive uses of DB48x. * Reorganize the `MemoryMenu` to make both GC and runtime statistics available * Reorganize the `GraphicsMenu` by topics to accomodate the new commands * Add image checks in the test infrastructure for RPL code examples * Add tests for RGB colors * Repair `make compare` which was trying to build a binary from `compare.cc` * Make `Sub` a compatibility spelling for `Extract`, not the default one * Adjust low battery indications to avoid premature warnings * Make `debug_printf` use lower-level routines that can run earlier after boot * Add `make INSTALL_PGM_ONLY=y install` option for faster install * Generate DB48x bitmaps by default instead of HP-compatible GROBs. Bitmaps use less memory when the width is not a multiple of 8. * Make test of pixel functions more reliable by increasing their timeout * Add help for `ModesMenu`, `SymbolicResults` and `NumericalResults` Signed-off-by: Christophe de Dinechin <[email protected]>
1 parent 718aadf commit 7129bf2

File tree

5 files changed

+182
-2
lines changed

5 files changed

+182
-2
lines changed

doc/5-ReleaseNotes.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,65 @@
11
# Release notes
22

3+
## Release 0.9.5 "Everlasting" - Power management, offline graphics
4+
5+
This release brings two major new features: vastly reduced power drain, and
6+
off-line persistent graphics.
7+
8+
### New features
9+
10+
* Off-line graphics are the ability to draw images in memory instead of directly
11+
on screen. Like on HP calculators, this works by storing a graphic object in
12+
`PICT`. Unlike HP calculators, `PICT` is an actual variable in the current
13+
directory, meaning that you can have multiple `PICT`, although bitmaps use a
14+
lot of memory. For example, running `500 300 BLANK 'PICT' STO` will create a
15+
500x300 pixels off-line image in `PICT`, and all graphic commands after that
16+
will draw in that off-line image instead of on screen. Off-line graphics are
17+
not immediately shown on screen, but are displayed before returning to the
18+
command line in a way similar to the `Show` command (i.e. centererd if smaller
19+
than the screen, and with scrolling if larger). They are also persistent,
20+
meaning that you need to explicitly `ClLCD` to erase them.
21+
* Add `Blank`, `BlankGrob`, `BlankBitmap` and `BlankPixmap` commands to create a
22+
blank image with default format, in HP GROB format, in DB48x bitmap (Black and
23+
white) format and in DB50x pixmap format (color RPL only).
24+
* Add `→HPGrob`, `→Bitmap`, `→Pixmap` commands which can be used to generate an
25+
HP-compatible GROB format, a bitmap or a pixmap (color RPL only) from an
26+
object. If the object is already a graphic, perform conversion. Note that
27+
on color RPL, conversions between color and monochrome formats are supported.
28+
Colors are converted to monochrome using grayscale patterns.
29+
* Add `→LCD` and `LCD→` commands to send an object to the current graphics, or
30+
to create a graphic object from the current screen content.
31+
* The `Off` command can now be used in a program and will preserve what is on
32+
screen. You can resume execution of the program by using the `ON` key.
33+
Add `PowerOffWithImage` command to show off-images even from programs.
34+
35+
### Bug fixes
36+
37+
* Fix display of object `Info` in the interactive stack
38+
* Clear system timers before entering system menu, so that the self test menu
39+
entry does not run a fast-paced loop.
40+
* Fix off-by-one error in result of `LastBitSet` (number bits starting at 0)
41+
* Correctly render color pixmaps when on the stack (color RPL only)
42+
43+
### Improvements
44+
45+
* Reduce power usage dramatically by disabling timers when going to sleep.
46+
This manifests as a higher battery voltage being shown, which is closer to
47+
what the DM42 firmware or integrated self-test would show. This will most
48+
likely improve battery life for interactive uses of DB48x.
49+
* Reorganize the `MemoryMenu` to make both GC and runtime statistics available
50+
* Reorganize the `GraphicsMenu` by topics to accomodate the new commands
51+
* Add image checks in the test infrastructure for RPL code examples
52+
* Add tests for RGB colors
53+
* Repair `make compare` which was trying to build a binary from `compare.cc`
54+
* Make `Sub` a compatibility spelling for `Extract`, not the default one
55+
* Adjust low battery indications to avoid premature warnings
56+
* Make `debug_printf` use lower-level routines that can run earlier after boot
57+
* Add `make INSTALL_PGM_ONLY=y install` option for faster install
58+
* Generate DB48x bitmaps by default instead of HP-compatible GROBs. Bitmaps use
59+
less memory when the width is not a multiple of 8.
60+
* Make test of pixel functions more reliable by increasing their timeout
61+
* Add help for `ModesMenu`, `SymbolicResults` and `NumericalResults`
62+
363
## Release 0.9.4 "Face, meet palms" - Pixmaps, bug fixes
464

565
This release fixes embarassing numerical bugs introduced in 0.9.3 and introduces

help/db48x.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3679,6 +3679,66 @@ To enter `IFTE` in a program, select the `TestsMenu` (🟦 _3_) and then
36793679
the _IFTE_ command (🟨 _F6_).
36803680
# Release notes
36813681

3682+
## Release 0.9.5 "Everlasting" - Power management, offline graphics
3683+
3684+
This release brings two major new features: vastly reduced power drain, and
3685+
off-line persistent graphics.
3686+
3687+
### New features
3688+
3689+
* Off-line graphics are the ability to draw images in memory instead of directly
3690+
on screen. Like on HP calculators, this works by storing a graphic object in
3691+
`PICT`. Unlike HP calculators, `PICT` is an actual variable in the current
3692+
directory, meaning that you can have multiple `PICT`, although bitmaps use a
3693+
lot of memory. For example, running `500 300 BLANK 'PICT' STO` will create a
3694+
500x300 pixels off-line image in `PICT`, and all graphic commands after that
3695+
will draw in that off-line image instead of on screen. Off-line graphics are
3696+
not immediately shown on screen, but are displayed before returning to the
3697+
command line in a way similar to the `Show` command (i.e. centererd if smaller
3698+
than the screen, and with scrolling if larger). They are also persistent,
3699+
meaning that you need to explicitly `ClLCD` to erase them.
3700+
* Add `Blank`, `BlankGrob`, `BlankBitmap` and `BlankPixmap` commands to create a
3701+
blank image with default format, in HP GROB format, in DB48x bitmap (Black and
3702+
white) format and in DB50x pixmap format (color RPL only).
3703+
* Add `→HPGrob`, `→Bitmap`, `→Pixmap` commands which can be used to generate an
3704+
HP-compatible GROB format, a bitmap or a pixmap (color RPL only) from an
3705+
object. If the object is already a graphic, perform conversion. Note that
3706+
on color RPL, conversions between color and monochrome formats are supported.
3707+
Colors are converted to monochrome using grayscale patterns.
3708+
* Add `→LCD` and `LCD→` commands to send an object to the current graphics, or
3709+
to create a graphic object from the current screen content.
3710+
* The `Off` command can now be used in a program and will preserve what is on
3711+
screen. You can resume execution of the program by using the `ON` key.
3712+
Add `PowerOffWithImage` command to show off-images even from programs.
3713+
3714+
### Bug fixes
3715+
3716+
* Fix display of object `Info` in the interactive stack
3717+
* Clear system timers before entering system menu, so that the self test menu
3718+
entry does not run a fast-paced loop.
3719+
* Fix off-by-one error in result of `LastBitSet` (number bits starting at 0)
3720+
* Correctly render color pixmaps when on the stack (color RPL only)
3721+
3722+
### Improvements
3723+
3724+
* Reduce power usage dramatically by disabling timers when going to sleep.
3725+
This manifests as a higher battery voltage being shown, which is closer to
3726+
what the DM42 firmware or integrated self-test would show. This will most
3727+
likely improve battery life for interactive uses of DB48x.
3728+
* Reorganize the `MemoryMenu` to make both GC and runtime statistics available
3729+
* Reorganize the `GraphicsMenu` by topics to accomodate the new commands
3730+
* Add image checks in the test infrastructure for RPL code examples
3731+
* Add tests for RGB colors
3732+
* Repair `make compare` which was trying to build a binary from `compare.cc`
3733+
* Make `Sub` a compatibility spelling for `Extract`, not the default one
3734+
* Adjust low battery indications to avoid premature warnings
3735+
* Make `debug_printf` use lower-level routines that can run earlier after boot
3736+
* Add `make INSTALL_PGM_ONLY=y install` option for faster install
3737+
* Generate DB48x bitmaps by default instead of HP-compatible GROBs. Bitmaps use
3738+
less memory when the width is not a multiple of 8.
3739+
* Make test of pixel functions more reliable by increasing their timeout
3740+
* Add help for `ModesMenu`, `SymbolicResults` and `NumericalResults`
3741+
36823742
## Release 0.9.4 "Face, meet palms" - Pixmaps, bug fixes
36833743

36843744
This release fixes embarassing numerical bugs introduced in 0.9.3 and introduces

help/db50x.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3687,6 +3687,66 @@ To enter `IFTE` in a program, select the `TestsMenu` (🟦 _3_) and then
36873687
the _IFTE_ command (🟨 _F6_).
36883688
# Release notes
36893689

3690+
## Release 0.9.5 "Everlasting" - Power management, offline graphics
3691+
3692+
This release brings two major new features: vastly reduced power drain, and
3693+
off-line persistent graphics.
3694+
3695+
### New features
3696+
3697+
* Off-line graphics are the ability to draw images in memory instead of directly
3698+
on screen. Like on HP calculators, this works by storing a graphic object in
3699+
`PICT`. Unlike HP calculators, `PICT` is an actual variable in the current
3700+
directory, meaning that you can have multiple `PICT`, although bitmaps use a
3701+
lot of memory. For example, running `500 300 BLANK 'PICT' STO` will create a
3702+
500x300 pixels off-line image in `PICT`, and all graphic commands after that
3703+
will draw in that off-line image instead of on screen. Off-line graphics are
3704+
not immediately shown on screen, but are displayed before returning to the
3705+
command line in a way similar to the `Show` command (i.e. centererd if smaller
3706+
than the screen, and with scrolling if larger). They are also persistent,
3707+
meaning that you need to explicitly `ClLCD` to erase them.
3708+
* Add `Blank`, `BlankGrob`, `BlankBitmap` and `BlankPixmap` commands to create a
3709+
blank image with default format, in HP GROB format, in DB48x bitmap (Black and
3710+
white) format and in DB50x pixmap format (color RPL only).
3711+
* Add `→HPGrob`, `→Bitmap`, `→Pixmap` commands which can be used to generate an
3712+
HP-compatible GROB format, a bitmap or a pixmap (color RPL only) from an
3713+
object. If the object is already a graphic, perform conversion. Note that
3714+
on color RPL, conversions between color and monochrome formats are supported.
3715+
Colors are converted to monochrome using grayscale patterns.
3716+
* Add `→LCD` and `LCD→` commands to send an object to the current graphics, or
3717+
to create a graphic object from the current screen content.
3718+
* The `Off` command can now be used in a program and will preserve what is on
3719+
screen. You can resume execution of the program by using the `ON` key.
3720+
Add `PowerOffWithImage` command to show off-images even from programs.
3721+
3722+
### Bug fixes
3723+
3724+
* Fix display of object `Info` in the interactive stack
3725+
* Clear system timers before entering system menu, so that the self test menu
3726+
entry does not run a fast-paced loop.
3727+
* Fix off-by-one error in result of `LastBitSet` (number bits starting at 0)
3728+
* Correctly render color pixmaps when on the stack (color RPL only)
3729+
3730+
### Improvements
3731+
3732+
* Reduce power usage dramatically by disabling timers when going to sleep.
3733+
This manifests as a higher battery voltage being shown, which is closer to
3734+
what the DM32 firmware or integrated self-test would show. This will most
3735+
likely improve battery life for interactive uses of DB48x.
3736+
* Reorganize the `MemoryMenu` to make both GC and runtime statistics available
3737+
* Reorganize the `GraphicsMenu` by topics to accomodate the new commands
3738+
* Add image checks in the test infrastructure for RPL code examples
3739+
* Add tests for RGB colors
3740+
* Repair `make compare` which was trying to build a binary from `compare.cc`
3741+
* Make `Sub` a compatibility spelling for `Extract`, not the default one
3742+
* Adjust low battery indications to avoid premature warnings
3743+
* Make `debug_printf` use lower-level routines that can run earlier after boot
3744+
* Add `make INSTALL_PGM_ONLY=y install` option for faster install
3745+
* Generate DB48x bitmaps by default instead of HP-compatible GROBs. Bitmaps use
3746+
less memory when the width is not a multiple of 8.
3747+
* Make test of pixel functions more reliable by increasing their timeout
3748+
* Add help for `ModesMenu`, `SymbolicResults` and `NumericalResults`
3749+
36903750
## Release 0.9.4 "Face, meet palms" - Pixmaps, bug fixes
36913751

36923752
This release fixes embarassing numerical bugs introduced in 0.9.3 and introduces

src/dm32/qspi_crc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

2-
#define QSPI_DATA_SIZE 284460
2+
#define QSPI_DATA_SIZE 284996
33
#define QSPI_DATA_CRC 0x000cfed6
44

src/dm42/qspi_crc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

2-
#define QSPI_DATA_SIZE 280508
2+
#define QSPI_DATA_SIZE 281028
33
#define QSPI_DATA_CRC 0x000cfed6
44

0 commit comments

Comments
 (0)