Skip to content

Commit 1090b19

Browse files
authored
Merge pull request #11 from bxparks/develop
merge 0.6.0 into master
2 parents 2082da5 + 3716214 commit 1090b19

File tree

87 files changed

+2770
-1099
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+2770
-1099
lines changed

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,43 @@
11
# Changelog
22

33
- Unreleased
4+
- 0.6.0 (2023-09-22)
5+
- save application state
6+
- preserve app state into an appvar named `RPN83SAV` upon exit
7+
- reconstruct the app state upon restart
8+
- save `X` register to TI-OS `ANS` only on `2ND QUIT` or `2ND OFF`
9+
- previously saved to `ANS` every time `X` was changed
10+
- no user-visible change, but is more efficient internally
11+
- rename `P>R` to `>REC`, and `R>P` to `>POL`
12+
- for consistency with other conversion functions, and for consistency
13+
with HP-42S
14+
- I prefer the `P>R` and `R>P` but the difference is not worth breaking
15+
consistency
16+
- support custom MenuGroup handlers
17+
- absorb `changeMenuGroup()` functionality into the `dispatchMenuNode()`
18+
- add onExit events into `changeMenuGroup()`
19+
- add custom `mBaseHandler` for `BASE` menu to activate or deactivate
20+
the `baseNumber` upon entering or leaving the `BASE` menu hierarchy
21+
- `BASE` mode
22+
- make all `BASE` operations use `u32` integers, even `DEC` mode
23+
- add Carry Flag which is updated for arithmetic, shifting, rotating
24+
operations
25+
- add `SCF` (set carry flag),`CCF` (clear carry flag), `CF?` (get
26+
carry flag)
27+
- add `C` or `-` display indicator
28+
- remove base number indicator (`DEC`, `HEX`, `OCT`, `BIN`) from the
29+
status line (top line)
30+
- no longer needed since those menu items show a "dot" when selected
31+
- the base number is only relevant within the `BASE` menu hierarchy
32+
- add `ASL` (arithmetic shift left), `RLC` (rotate left through carry
33+
flag), `RRC` (rotate right through carry flag)
34+
- add `SLn`, `SRn`, `RLn`, `RRn`, `RLCn`, `RRCn` (shift or rotate `Y`
35+
for `X` times)
36+
- add `CB` (clear bit), `SB` (set bit), `B?` (get bit)
37+
- add `REVB` (reverse bits), `CNTB` (count bits)
38+
- add additional HELP pages
39+
- CFIT Models
40+
- BASE Ops
441
- 0.5.0 (2023-08-31)
542
- `USER_GUIDE.md`, `README.md`
643
- Update "Menu Indicator Arrows" section with latest screenshots which

README.md

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ Plus](https://en.wikipedia.org/wiki/TI-84_Plus_series) (including the Silver
99
Edition). The app is inspired mostly by the
1010
[HP-42S](https://en.wikipedia.org/wiki/HP-42S) calculator, with some sprinkles
1111
of older HP calculators like the
12-
[HP-12C](https://en.wikipedia.org/wiki/HP-12C) and the
13-
[HP-15C](https://en.wikipedia.org/wiki/HP-15C).
12+
[HP-12C](https://en.wikipedia.org/wiki/HP-12C), the
13+
[HP-15C](https://en.wikipedia.org/wiki/HP-15C), and the
14+
[HP-16C](https://en.wikipedia.org/wiki/HP-16C).
15+
1416

1517
The RPN83P is a flash application that consumes one page (16 kB) of flash
1618
memory. Since it is stored in flash, it is preserved if the RAM is cleared. It
17-
consumes a small amount of TI-OS RAM: 2 list variables named `REGS` and `STK`
18-
which are 240 bytes and 59 bytes respectively.
19+
consumes about 375 bytes of TI-OS RAM: 2 list variables named `REGS` and `STK`,
20+
and an appVar named `RPN83SAV`.
1921

2022
Here is a quick summary of its features:
2123

@@ -39,18 +41,23 @@ Here is a quick summary of its features:
3941
(ceiling), `NEAR` (nearest integer)
4042
- `ABS`, `SIGN`, `MOD`, `MIN`, `MAX`
4143
- probability: `PERM`, `COMB`, `N!`, `RAND`, `SEED`
42-
- hyperbolic: `SINH`, `COSH`, `TANH`, etc.
43-
- angle conversions: `>DEG`, `>RAD`, `>HR`, `>HMS`, `P>R`, `R>P`
44+
- hyperbolic: `SINH`, `COSH`, `TANH`, `ASNH`, `ACSH`, `ATNH`
45+
- angle conversions: `>DEG`, `>RAD`, `>HR`, `>HMS`, `>REC`, `>POL`
4446
- unit conversions: `>C`, `>F`, `>km`, `>mi`, etc
4547
- base conversions: `DEC`, `HEX`, `OCT`, `BIN`
46-
- bitwise operations: `AND`, `OR`, `XOR`, `NOT`, `NEG`, `SL`, `SR`, `RL`,
47-
`RR`, `B+`, `B-`, `B*`, `B/`, `BDIV`
48+
- bitwise operations: `AND`, `OR`, `XOR`, `NOT`, `NEG`, `REVB` (reverse
49+
bits), `CNTB` (count bits)
50+
- integer arithmetics: `B+`, `B-`, `B*`, `B/`, `BDIV` (divide with
51+
remainder)
52+
- shift and rotate: `SL`, `SR`, `ASR`, `RL`, `RR`, `RLC`, `RRC`,
53+
`SLn`, `SRn`, `RLn`, `RRn`, `RLCn`, `RRCn`
54+
- carry flag and bit masks: `CCF`, `SCF`, `CF?`, `CB`, `SB`, `B?`
4855
- statistics: `Sigma+`, `Sigma-`, `SUM`, `MEAN`, `WMN` (weighted mean),
4956
`SDEV` (sample standard deviation), `SCOV` (sample covariance),
5057
`PDEV` (population standard deviation), `PCOV` (population covariance)
5158
- curve fitting: `Y>X`, `X>Y`, `SLOP` (slope), `YINT` (y intercept), `CORR`
5259
(correlation coefficent)
53-
- curve fit models: `LINF` (linear)`, `LOGF` (logarithmic), `EXPF`
60+
- curve fit models: `LINF` (linear), `LOGF` (logarithmic), `EXPF`
5461
(exponential), `PWRF` (power)
5562
- various display modes
5663
- `RAD`, `DEG`
@@ -64,7 +71,7 @@ Here are some missing features which may be added in the future:
6471
- complex numbers
6572
- keystroke programming
6673

67-
**Version**: 0.5.0 (2023-08-31)
74+
**Version**: 0.6.0 (2023-09-22)
6875

6976
**Changelog**: [CHANGELOG.md](CHANGELOG.md)
7077

@@ -163,8 +170,9 @@ for this formula, but I used the `LastX` feature to demonstrate its use.)
163170
### Example 2
164171

165172
Let's calculate the bitwise-and operator between the hexadecimal numbers `B6`
166-
and `65`, then see the result as an octal number, a binary (base-2) number, then
167-
finally as a decimal number:
173+
and `65`, then see the result as an octal number (base-8), a binary number
174+
(base-2), then right shift the result 3 bits which sets the Carry Flag, then
175+
view the final result as a decimal number:
168176

169177
- Navigate the menu with the DOWN arrow to get to
170178
![ROOT MenuRow 2](docs/rpn83p-screenshot-menu-root-2.png)
@@ -177,16 +185,22 @@ finally as a decimal number:
177185
- Press `ENTER` button
178186
- Press `6` button
179187
- Press `5` button
180-
- Press DOWN arrow to get to
181-
![BASE MenuRow 2](docs/rpn83p-screenshot-menu-root-base-2.png)
188+
- Press DOWN arrow to get to the menu row with the `AND` menu item
189+
![BASE MenuRow AND](docs/rpn83p-screenshot-menu-root-base-2.png)
182190
- Press `AND` menu, the `X` register should show `00000024`
183191
- Press UP arrow to go back to
184192
![BASE Menu HEX](docs/rpn83p-menu-base-hex.png)
185193
- Press `OCT` menu, the `X` register should show `00000000044` with the menu
186194
showing ![BASE Menu OCT](docs/rpn83p-menu-base-oct.png)
187195
- Press `BIN` menu, the `X` register should show `00000000100100` with the menu
188196
showing ![BASE Menu BIN](docs/rpn83p-menu-base-bin.png)
189-
- Press `DEC` menu, the `X` register should show `36` with the menu showing
197+
- Press DOWN DOWN (twice) to the menu row with the shift right `SR` item
198+
![BASE MenuRow SR](docs/rpn83p-screenshot-menu-root-base-3.png)
199+
- Press `SR` `SR` `SR` (three times) to show `00000000000100` and the Carry Flag
200+
`C` set
201+
- Press UP UP (twice) to reach the base conversion menu row
202+
![BASE Menu BIN](docs/rpn83p-menu-base-bin.png)
203+
- Press `DEC` menu, the `X` register should show `4` with the menu showing
190204
![BASE Menu DEC](docs/rpn83p-menu-base-dec.png)
191205

192206
Here is the animated GIF that shows this calculation:

0 commit comments

Comments
 (0)