Skip to content

Commit 2139b98

Browse files
authored
Merge pull request #4 from bxparks/develop
merge 0.3 into master
2 parents 0d13ce9 + dae5bd9 commit 2139b98

File tree

9 files changed

+126
-122
lines changed

9 files changed

+126
-122
lines changed

CHANGELOG.md

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

33
- Unreleased
4+
- 0.3 (2023-08-13)
5+
- Move `CLRG` from F1 position to F3. Move `CLX` to F1. If the F1
6+
is accidentally hit twice when selecting the `CLR` menu group, then
7+
invoking `CLX` is a lot less destructive than invoking `CLRG`.
8+
- Move `IP,FP,...` menu strips before the `ABS,SIGN,...` menu strip. The
9+
`IP,FP` functions seem more frequently used than the `ABS,SIGN` functions.
410
- 0.2.1 (2023-08-13)
511
- Update README.md. Test minor version number with new release.
612
- No code change.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
RPN calculator app for the TI-83 Plus and TI-84 Plus inspired by the HP-42S.
44

5-
**Version**: 0.2.1 (2023-08-13)
5+
**Version**: 0.3 (2023-08-13)
66

77
**Changelog**: [CHANGELOG.md](CHANGELOG.md)
88

USER_GUIDE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
RPN calculator app for the TI-83 Plus and TI-84 Plus inspired by the HP-42S.
44

5-
**Version**: 0.2.1 (2023-08-13)
5+
**Version**: 0.3 (2023-08-13)
66

77
**Project Home**: https://github.com/bxparks/rpn83p
88

@@ -626,16 +626,16 @@ buttons just under the LCD screen. Use the `UP`, `DOWN`, `ON` (back), and `MATH`
626626
- `GCD`: greatest common divisor of `X` and `Y`
627627
- `LCM`: lowest common multiple of `X` and `Y`
628628
- `PRIM`: determine if `X` is a prime, returning 1 if prime, 0 otherwise
629-
- `ABS`: absolute value of `X`
630-
- `SIGN`: return -1, 0, 1 depending on whether `X` is less than, equal, or
631-
greater than 0, respectively
632-
- `MIN`: minimum of `X` and `Y`
633-
- `MAX`: maximum of `X` and `Y`
634629
- `IP`: integer part of `X`, truncating towards 0, preserving sign
635630
- `FP`: fractional part of `X`, preserving sign
636631
- `FLR`: the floor of `X`, the largest integer <= `X`
637632
- `CEIL`: the ceiling of `X`, the smallest integer >= `X`
638633
- `NEAR`: the nearest integer to `X`
634+
- `ABS`: absolute value of `X`
635+
- `SIGN`: return -1, 0, 1 depending on whether `X` is less than, equal, or
636+
greater than 0, respectively
637+
- `MIN`: minimum of `X` and `Y`
638+
- `MAX`: maximum of `X` and `Y`
639639
- `ROOT` > `PROB`
640640
- ![PROB MenuStrip 1](docs/rpn83p-screenshot-menu-root-prob-1.png)
641641
- `COMB`: combination `C(n,r)` = `C(Y, X)`
-4 Bytes
Loading
13 Bytes
Loading
-13 Bytes
Loading

src/menudef.asm

Lines changed: 103 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ mClearId equ 12
136136
.db mRootId ; parentId
137137
.db mClearNameId ; nameId
138138
.db 1 ; numStrips
139-
.db mClearRegsId ; stripBeginId
139+
.db mClearXId ; stripBeginId
140140
.dw mGroupHandler ; handler (predefined)
141141
mBlank013:
142142
mBlank013Id equ 13
@@ -296,87 +296,87 @@ mPrimeId equ 31
296296
.db 0 ; stripBeginId
297297
.dw mPrimeHandler ; handler (to be implemented)
298298
; MenuGroup NUM: children: strip 1
299-
mAbs:
300-
mAbsId equ 32
301-
.db mAbsId ; id
302-
.db mNumId ; parentId
303-
.db mAbsNameId ; nameId
304-
.db 0 ; numStrips
305-
.db 0 ; stripBeginId
306-
.dw mAbsHandler ; handler (to be implemented)
307-
mSign:
308-
mSignId equ 33
309-
.db mSignId ; id
310-
.db mNumId ; parentId
311-
.db mSignNameId ; nameId
312-
.db 0 ; numStrips
313-
.db 0 ; stripBeginId
314-
.dw mSignHandler ; handler (to be implemented)
315-
mMod:
316-
mModId equ 34
317-
.db mModId ; id
318-
.db mNumId ; parentId
319-
.db mModNameId ; nameId
320-
.db 0 ; numStrips
321-
.db 0 ; stripBeginId
322-
.dw mModHandler ; handler (to be implemented)
323-
mMin:
324-
mMinId equ 35
325-
.db mMinId ; id
326-
.db mNumId ; parentId
327-
.db mMinNameId ; nameId
328-
.db 0 ; numStrips
329-
.db 0 ; stripBeginId
330-
.dw mMinHandler ; handler (to be implemented)
331-
mMax:
332-
mMaxId equ 36
333-
.db mMaxId ; id
334-
.db mNumId ; parentId
335-
.db mMaxNameId ; nameId
336-
.db 0 ; numStrips
337-
.db 0 ; stripBeginId
338-
.dw mMaxHandler ; handler (to be implemented)
339-
; MenuGroup NUM: children: strip 2
340299
mIntPart:
341-
mIntPartId equ 37
300+
mIntPartId equ 32
342301
.db mIntPartId ; id
343302
.db mNumId ; parentId
344303
.db mIntPartNameId ; nameId
345304
.db 0 ; numStrips
346305
.db 0 ; stripBeginId
347306
.dw mIntPartHandler ; handler (to be implemented)
348307
mFracPart:
349-
mFracPartId equ 38
308+
mFracPartId equ 33
350309
.db mFracPartId ; id
351310
.db mNumId ; parentId
352311
.db mFracPartNameId ; nameId
353312
.db 0 ; numStrips
354313
.db 0 ; stripBeginId
355314
.dw mFracPartHandler ; handler (to be implemented)
356315
mFloor:
357-
mFloorId equ 39
316+
mFloorId equ 34
358317
.db mFloorId ; id
359318
.db mNumId ; parentId
360319
.db mFloorNameId ; nameId
361320
.db 0 ; numStrips
362321
.db 0 ; stripBeginId
363322
.dw mFloorHandler ; handler (to be implemented)
364323
mCeil:
365-
mCeilId equ 40
324+
mCeilId equ 35
366325
.db mCeilId ; id
367326
.db mNumId ; parentId
368327
.db mCeilNameId ; nameId
369328
.db 0 ; numStrips
370329
.db 0 ; stripBeginId
371330
.dw mCeilHandler ; handler (to be implemented)
372331
mNear:
373-
mNearId equ 41
332+
mNearId equ 36
374333
.db mNearId ; id
375334
.db mNumId ; parentId
376335
.db mNearNameId ; nameId
377336
.db 0 ; numStrips
378337
.db 0 ; stripBeginId
379338
.dw mNearHandler ; handler (to be implemented)
339+
; MenuGroup NUM: children: strip 2
340+
mAbs:
341+
mAbsId equ 37
342+
.db mAbsId ; id
343+
.db mNumId ; parentId
344+
.db mAbsNameId ; nameId
345+
.db 0 ; numStrips
346+
.db 0 ; stripBeginId
347+
.dw mAbsHandler ; handler (to be implemented)
348+
mSign:
349+
mSignId equ 38
350+
.db mSignId ; id
351+
.db mNumId ; parentId
352+
.db mSignNameId ; nameId
353+
.db 0 ; numStrips
354+
.db 0 ; stripBeginId
355+
.dw mSignHandler ; handler (to be implemented)
356+
mMod:
357+
mModId equ 39
358+
.db mModId ; id
359+
.db mNumId ; parentId
360+
.db mModNameId ; nameId
361+
.db 0 ; numStrips
362+
.db 0 ; stripBeginId
363+
.dw mModHandler ; handler (to be implemented)
364+
mMin:
365+
mMinId equ 40
366+
.db mMinId ; id
367+
.db mNumId ; parentId
368+
.db mMinNameId ; nameId
369+
.db 0 ; numStrips
370+
.db 0 ; stripBeginId
371+
.dw mMinHandler ; handler (to be implemented)
372+
mMax:
373+
mMaxId equ 41
374+
.db mMaxId ; id
375+
.db mNumId ; parentId
376+
.db mMaxNameId ; nameId
377+
.db 0 ; numStrips
378+
.db 0 ; stripBeginId
379+
.dw mMaxHandler ; handler (to be implemented)
380380
; MenuGroup PROB: children
381381
; MenuGroup PROB: children: strip 0
382382
mComb:
@@ -1001,46 +1001,46 @@ mBlank116Id equ 116
10011001
.dw mNullHandler ; handler (predefined)
10021002
; MenuGroup CLR: children
10031003
; MenuGroup CLR: children: strip 0
1004+
mClearX:
1005+
mClearXId equ 117
1006+
.db mClearXId ; id
1007+
.db mClearId ; parentId
1008+
.db mClearXNameId ; nameId
1009+
.db 0 ; numStrips
1010+
.db 0 ; stripBeginId
1011+
.dw mClearXHandler ; handler (to be implemented)
1012+
mClearStack:
1013+
mClearStackId equ 118
1014+
.db mClearStackId ; id
1015+
.db mClearId ; parentId
1016+
.db mClearStackNameId ; nameId
1017+
.db 0 ; numStrips
1018+
.db 0 ; stripBeginId
1019+
.dw mClearStackHandler ; handler (to be implemented)
10041020
mClearRegs:
1005-
mClearRegsId equ 117
1021+
mClearRegsId equ 119
10061022
.db mClearRegsId ; id
10071023
.db mClearId ; parentId
10081024
.db mClearRegsNameId ; nameId
10091025
.db 0 ; numStrips
10101026
.db 0 ; stripBeginId
10111027
.dw mClearRegsHandler ; handler (to be implemented)
1012-
mBlank118:
1013-
mBlank118Id equ 118
1014-
.db mBlank118Id ; id
1028+
mBlank120:
1029+
mBlank120Id equ 120
1030+
.db mBlank120Id ; id
10151031
.db mClearId ; parentId
10161032
.db mNullNameId ; nameId
10171033
.db 0 ; numStrips
10181034
.db 0 ; stripBeginId
10191035
.dw mNullHandler ; handler (predefined)
1020-
mBlank119:
1021-
mBlank119Id equ 119
1022-
.db mBlank119Id ; id
1036+
mBlank121:
1037+
mBlank121Id equ 121
1038+
.db mBlank121Id ; id
10231039
.db mClearId ; parentId
10241040
.db mNullNameId ; nameId
10251041
.db 0 ; numStrips
10261042
.db 0 ; stripBeginId
10271043
.dw mNullHandler ; handler (predefined)
1028-
mClearStack:
1029-
mClearStackId equ 120
1030-
.db mClearStackId ; id
1031-
.db mClearId ; parentId
1032-
.db mClearStackNameId ; nameId
1033-
.db 0 ; numStrips
1034-
.db 0 ; stripBeginId
1035-
.dw mClearStackHandler ; handler (to be implemented)
1036-
mClearX:
1037-
mClearXId equ 121
1038-
.db mClearXId ; id
1039-
.db mClearId ; parentId
1040-
.db mClearXNameId ; nameId
1041-
.db 0 ; numStrips
1042-
.db 0 ; stripBeginId
1043-
.dw mClearXHandler ; handler (to be implemented)
10441044

10451045
; Table of 2-byte pointers to names in the pool of strings below.
10461046
mMenuNameTable:
@@ -1092,26 +1092,26 @@ mLcmNameId equ 22
10921092
.dw mLcmName
10931093
mPrimeNameId equ 23
10941094
.dw mPrimeName
1095-
mAbsNameId equ 24
1096-
.dw mAbsName
1097-
mSignNameId equ 25
1098-
.dw mSignName
1099-
mModNameId equ 26
1100-
.dw mModName
1101-
mMinNameId equ 27
1102-
.dw mMinName
1103-
mMaxNameId equ 28
1104-
.dw mMaxName
1105-
mIntPartNameId equ 29
1095+
mIntPartNameId equ 24
11061096
.dw mIntPartName
1107-
mFracPartNameId equ 30
1097+
mFracPartNameId equ 25
11081098
.dw mFracPartName
1109-
mFloorNameId equ 31
1099+
mFloorNameId equ 26
11101100
.dw mFloorName
1111-
mCeilNameId equ 32
1101+
mCeilNameId equ 27
11121102
.dw mCeilName
1113-
mNearNameId equ 33
1103+
mNearNameId equ 28
11141104
.dw mNearName
1105+
mAbsNameId equ 29
1106+
.dw mAbsName
1107+
mSignNameId equ 30
1108+
.dw mSignName
1109+
mModNameId equ 31
1110+
.dw mModName
1111+
mMinNameId equ 32
1112+
.dw mMinName
1113+
mMaxNameId equ 33
1114+
.dw mMaxName
11151115
mCombNameId equ 34
11161116
.dw mCombName
11171117
mPermNameId equ 35
@@ -1228,12 +1228,12 @@ mStackRotDownNameId equ 90
12281228
.dw mStackRotDownName
12291229
mStackExchangeXYNameId equ 91
12301230
.dw mStackExchangeXYName
1231-
mClearRegsNameId equ 92
1232-
.dw mClearRegsName
1231+
mClearXNameId equ 92
1232+
.dw mClearXName
12331233
mClearStackNameId equ 93
12341234
.dw mClearStackName
1235-
mClearXNameId equ 94
1236-
.dw mClearXName
1235+
mClearRegsNameId equ 94
1236+
.dw mClearRegsName
12371237

12381238
; Table of names as NUL terminated C strings.
12391239
mNullName:
@@ -1284,16 +1284,6 @@ mLcmName:
12841284
.db "LCM", 0
12851285
mPrimeName:
12861286
.db "PRIM", 0
1287-
mAbsName:
1288-
.db "ABS", 0
1289-
mSignName:
1290-
.db "SIGN", 0
1291-
mModName:
1292-
.db "MOD", 0
1293-
mMinName:
1294-
.db "MIN", 0
1295-
mMaxName:
1296-
.db "MAX", 0
12971287
mIntPartName:
12981288
.db "IP", 0
12991289
mFracPartName:
@@ -1304,6 +1294,16 @@ mCeilName:
13041294
.db "CEIL", 0
13051295
mNearName:
13061296
.db "NEAR", 0
1297+
mAbsName:
1298+
.db "ABS", 0
1299+
mSignName:
1300+
.db "SIGN", 0
1301+
mModName:
1302+
.db "MOD", 0
1303+
mMinName:
1304+
.db "MIN", 0
1305+
mMaxName:
1306+
.db "MAX", 0
13071307
mCombName:
13081308
.db "COMB", 0
13091309
mPermName:
@@ -1420,9 +1420,9 @@ mStackRotDownName:
14201420
.db 'R', SdownArrow, 0
14211421
mStackExchangeXYName:
14221422
.db 'X', Sleft, Sconvert, 'Y', 0
1423-
mClearRegsName:
1424-
.db "CLRG", 0
1425-
mClearStackName:
1426-
.db "CLST", 0
14271423
mClearXName:
14281424
.db "CLX", 0
1425+
mClearStackName:
1426+
.db "CLST", 0
1427+
mClearRegsName:
1428+
.db "CLRG", 0

0 commit comments

Comments
 (0)