Skip to content

Commit 2082da5

Browse files
authored
Merge pull request #10 from bxparks/develop
merge 0.5.0 into master
2 parents 87ae603 + 35bfdb0 commit 2082da5

File tree

67 files changed

+4106
-1431
lines changed

Some content is hidden

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

67 files changed

+4106
-1431
lines changed

CHANGELOG.md

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,68 @@
11
# Changelog
22

33
- Unreleased
4+
- 0.5.0 (2023-08-31)
5+
- `USER_GUIDE.md`, `README.md`
6+
- Update "Menu Indicator Arrows" section with latest screenshots which
7+
changed the menu arrows.
8+
- rename 'Menu Strip' to 'Menu Row' for consistency with HP-42S
9+
terminology.
10+
- `BASE`
11+
- display just a bare `-` for negatives numbers in `BASE` modes (instead
12+
of `...` which is now reserved for valid numbers which overflows the
13+
number of digits supported by the display)
14+
- validate that the `X` and `Y` values are in the range of `[0, 2^32)`
15+
when performing bitwise operations (e.g. `B+`, `AND`, `XOR`, etc).
16+
Floating point numbers are truncated to `u32` integers before the
17+
bitwise operations are performed.
18+
- Add menu selector dots
19+
- Replicate HP-42S menu selector dots, where a menu item can be both an
20+
action (e.g. select `DEG`) and a selection indicator.
21+
- display modes: `FIX`, `SCI`, `ENG`
22+
- trig modes: `RAD`, `DEG`
23+
- base modes: `DEC`, `HEX`, `OCT`, `BIN`
24+
- Improve menu name centering algorithm.
25+
- No change for strings which are even-number of pixels wide.
26+
- Strings which are odd-number of pixels wide are now centered
27+
perfectly, instead of being off-centered by one-px to the left.
28+
- Allows strings which are 17px wide to be rendered properly.
29+
- Add `STAT` menu items
30+
- 1 or 2 variable statistics
31+
- `Sigma+` (add data point), `Sigma-` (remove data point)
32+
- `SUM`, `MEAN`, `WMN` (weighted mean)
33+
- `SDEV` (sample standard deviation), `SCOV` (sample covariance)
34+
- `PDEV` (population standard deviation), `PCOV` (population covariance)
35+
- Add `CFIT` curve fit menu items
36+
- `Y>X` (forcast X from Y)
37+
- `X>Y` (forcast Y from X)
38+
- `SLOP` (least square fit slope)
39+
- `YINT` (least square fit y-intercept)
40+
- `CORR` (correlation coefficient)
41+
- `LINF` (linear curve fit model)
42+
- `LOGF` (logarithmic curve fit model)
43+
- `EXPF` (exponential curve fit model)
44+
- `PWRF` (power curve fit model)
45+
- `BEST` (choose best curve fit model)
46+
- Fix RPN stack lift logic for pending input
47+
- Simplify stack lift logic to handle empty and non-empty pending input
48+
consistently.
49+
- If the input buffer is empty (showing just a `_` cursor), then any
50+
subsequent keystroke that generates a single value (e.g. `PI` or
51+
`STAT:N`) replaces the empty `X` register.
52+
- If the input buffer is pending but not empty (i.e. has digits with a
53+
trailing `_` cursor), then subsequent keystrokes causes a stack lift,
54+
preserving the pending input into the `Y` register.
55+
- If the subsequent keystroke is a function that consumes an `X`
56+
register, then the empty input buffer is assumed to be a `0` value.
57+
- Allow data transfer between RPN83P and TI-OS through the `ANS` variable.
58+
- When the RPN83P app starts, the TI-OS `ANS` variable (if Real) is
59+
available as the `LastX` register.
60+
- When the RPN83P app exits, the most recent `X` register becomes
61+
avaiable in TI-OS as the `ANS` variable.
62+
- Add `X Root Y` menu item under `MATH`
463
- 0.4.0 (2023-08-16)
564
- More `BASE` menu functions:
6-
- `SL` (shift left), `SR` (shift right)`, `RL` (rotate left circular),
65+
- `SL` (shift left), `SR` (shift right), `RL` (rotate left circular),
766
`RR` (rotate right circular).
867
- `B+`, `B-`, `B*`, `B/`
968
- `BDIV` (division with remainder)
@@ -19,7 +78,7 @@
1978
- preserve the original `X`, and push it up to `Y`
2079
- allows the `/` button to be chained with additional `PRIM` to
2180
calculate all prime factors
22-
- see [Prime Factors](#USER_GUIDE.md#prime-factors]) for details
81+
- see [Prime Factors](USER_GUIDE.md#prime-factors) for details
2382
- improve speed by 7X using u32 integer routines instead of floating
2483
point routines
2584
- 0.3.3 (2023-08-14)
@@ -36,7 +95,7 @@
3695
- Move `CLRG` from F1 position to F3. Move `CLX` to F1. If the F1
3796
is accidentally hit twice when selecting the `CLR` menu group, then
3897
invoking `CLX` is a lot less destructive than invoking `CLRG`.
39-
- Move `IP,FP,...` menu strips before the `ABS,SIGN,...` menu strip. The
98+
- Move `IP,FP,...` menu rows before the `ABS,SIGN,...` menu row. The
4099
`IP,FP` functions seem more frequently used than the `ABS,SIGN` functions.
41100
- 0.2.1 (2023-08-13)
42101
- Update README.md. Test minor version number with new release.

README.md

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ calculator app for the [TI-83 Plus](https://en.wikipedia.org/wiki/TI-83_series)
88
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
11-
of some older HP calculators like the
11+
of older HP calculators like the
1212
[HP-12C](https://en.wikipedia.org/wiki/HP-12C) and the
1313
[HP-15C](https://en.wikipedia.org/wiki/HP-15C).
1414

@@ -17,39 +17,54 @@ memory. Since it is stored in flash, it is preserved if the RAM is cleared. It
1717
consumes a small amount of TI-OS RAM: 2 list variables named `REGS` and `STK`
1818
which are 240 bytes and 59 bytes respectively.
1919

20-
Here the quick summary of its features:
20+
Here is a quick summary of its features:
2121

2222
- traditional 4-level RPN stack (`X`, `Y`, `Z`, `T` registers)
2323
- support for `lastX` register
24+
- 8-line display showing all stack registers
2425
- 25 storage registers (`STO 00`, `RCL 00`, ..., `STO 24`, `RCL 24`)
2526
- hierarchical menu system, inspired by the HP-42S
2627
- support for all math functions with dedicated buttons on the TI-83 Plus and
2728
TI-84 Plus
2829
- arithmetic: `/`, `*`, `-`, `+`
2930
- trigonometric: `SIN`, `COS`, `TAN`, etc.
30-
- `1/X`, `X^2`, `2ND SQRT`
31+
- `1/X`, `X^2`, `SQRT`
3132
- `^` (i.e. `Y^X`),
3233
- `LOG`, `10^X`, `LN`, `e^X`
3334
- constants: `pi` and `e`
3435
- additional menu functions:
36+
- `X^3`, `CBRT`, `XRootY`, `ATN2`, `2^X`, `LOG2`, `LOGB`
3537
- `%`, `%CH`, `GCD`, `LCM`, `PRIM` (is prime)
3638
- `IP` (integer part), `FP` (fractional part), `FLR` (floor), `CEIL`
37-
- `ABS`, `SIGN`, `MOD`, `MIN`, `MAX`
3839
(ceiling), `NEAR` (nearest integer)
40+
- `ABS`, `SIGN`, `MOD`, `MIN`, `MAX`
3941
- probability: `PERM`, `COMB`, `N!`, `RAND`, `SEED`
4042
- hyperbolic: `SINH`, `COSH`, `TANH`, etc.
4143
- angle conversions: `>DEG`, `>RAD`, `>HR`, `>HMS`, `P>R`, `R>P`
4244
- unit conversions: `>C`, `>F`, `>km`, `>mi`, etc
4345
- base conversions: `DEC`, `HEX`, `OCT`, `BIN`
4446
- bitwise operations: `AND`, `OR`, `XOR`, `NOT`, `NEG`, `SL`, `SR`, `RL`,
4547
`RR`, `B+`, `B-`, `B*`, `B/`, `BDIV`
48+
- statistics: `Sigma+`, `Sigma-`, `SUM`, `MEAN`, `WMN` (weighted mean),
49+
`SDEV` (sample standard deviation), `SCOV` (sample covariance),
50+
`PDEV` (population standard deviation), `PCOV` (population covariance)
51+
- curve fitting: `Y>X`, `X>Y`, `SLOP` (slope), `YINT` (y intercept), `CORR`
52+
(correlation coefficent)
53+
- curve fit models: `LINF` (linear)`, `LOGF` (logarithmic), `EXPF`
54+
(exponential), `PWRF` (power)
4655
- various display modes
4756
- `RAD`, `DEG`
4857
- `FIX` (fixed point 0-9 digits)
4958
- `SCI` (scientific 0-9 digits)
5059
- `ENG` (engineering 0-9 digits)
5160

52-
**Version**: 0.4.0 (2023-08-16)
61+
Here are some missing features which may be added in the future:
62+
63+
- vectors and matrices
64+
- complex numbers
65+
- keystroke programming
66+
67+
**Version**: 0.5.0 (2023-08-31)
5368

5469
**Changelog**: [CHANGELOG.md](CHANGELOG.md)
5570

@@ -68,7 +83,7 @@ Here the quick summary of its features:
6883
- [Compiling from Source](#compiling-from-source)
6984
- [Tools and Resources](#tools-and-resources)
7085
- [License](#license)
71-
- [Feedback](#feedback)
86+
- [Feedback and Support](#feedback-and-support)
7287
- [Author](#author)
7388

7489
## Installation
@@ -152,23 +167,27 @@ and `65`, then see the result as an octal number, a binary (base-2) number, then
152167
finally as a decimal number:
153168

154169
- Navigate the menu with the DOWN arrow to get to
155-
![ROOT MenuStrip 2](docs/rpn83p-screenshot-menu-root-2.png)
170+
![ROOT MenuRow 2](docs/rpn83p-screenshot-menu-root-2.png)
156171
- Press `BASE` menu to get to
157-
![BASE MenuStrip 1](docs/rpn83p-screenshot-menu-root-base-1.png)
158-
- Press `HEX` menu.
172+
![BASE Menu DEC](docs/rpn83p-menu-base-dec.png)
173+
- Press `HEX` menu to get to
174+
![BASE Menu HEX](docs/rpn83p-menu-base-hex.png)
159175
- Press `ALPHA` `B` buttons
160176
- Press `6` button
161177
- Press `ENTER` button
162178
- Press `6` button
163179
- Press `5` button
164180
- Press DOWN arrow to get to
165-
![BASE MenuStrip 2](docs/rpn83p-screenshot-menu-root-base-2.png)
181+
![BASE MenuRow 2](docs/rpn83p-screenshot-menu-root-base-2.png)
166182
- Press `AND` menu, the `X` register should show `00000024`
167183
- Press UP arrow to go back to
168-
![BASE MenuStrip 1](docs/rpn83p-screenshot-menu-root-base-1.png)
169-
- Press `OCT` menu, the `X` register should show `00000000044`
170-
- Press `BIN` menu, the `X` register should show `00000000100100`
171-
- Press `DEC` menu, the `X` register should show `36`
184+
![BASE Menu HEX](docs/rpn83p-menu-base-hex.png)
185+
- Press `OCT` menu, the `X` register should show `00000000044` with the menu
186+
showing ![BASE Menu OCT](docs/rpn83p-menu-base-oct.png)
187+
- Press `BIN` menu, the `X` register should show `00000000100100` with the menu
188+
showing ![BASE Menu BIN](docs/rpn83p-menu-base-bin.png)
189+
- Press `DEC` menu, the `X` register should show `36` with the menu showing
190+
![BASE Menu DEC](docs/rpn83p-menu-base-dec.png)
172191

173192
Here is the animated GIF that shows this calculation:
174193

@@ -179,7 +198,7 @@ Press:
179198
- `ON` button (`ESC/EXIT`) multiple times to back to the home menu, or
180199
- `MATH` button (`HOME`) to go back directly.
181200

182-
> ![ROOT MenuStrip 1](docs/rpn83p-screenshot-menu-root-1.png)
201+
> ![ROOT MenuRow 1](docs/rpn83p-screenshot-menu-root-1.png)
183202
184203
## User Guide
185204

@@ -205,7 +224,7 @@ been verified only on my dev machine.
205224

206225
## Tools and Resources
207226

208-
Here is the tools and resources that I use for development on Ubuntu Linux
227+
Here are the tools and resources that I used for development on Ubuntu Linux
209228
22.04:
210229

211230
- spasm-ng Z80 assembler

0 commit comments

Comments
 (0)