Designed for the UIL Texas Calculator Applications competition, where the raw speed of Reverse Polish Notation combined with the familiarity of a Ti-84+CE can provide a significant competitive advantage.
Arjun's RPN Calculator v2.3 (ASM) - git.io/ti84rpn
The first version of this program was RPN.8xp, written in TI-BASIC.
Unfortunately, it had too much input lag to be usable in a competition setting.
I decided that I wanted to write an improved version of it for the 2021
UIL/TMSCA season, and planned to work on it over my spring break before the
TMSCA State Meet.
Naturally, I waited until the night before the exam to start working on this program. Considering that I put the finishing touches on it minutes before starting the exam itself, the program worked incredibly well—I saw no crashes, freezes, or any other discernible bugs!
source env.sh
make # Compiles .8xp file
make install # Transfers to calculator (using TiLP)Real Arithmetic Functions |
Scientific Notation |
|---|---|
Constants |
Degrees/Radians Trigonometry |
- Infinite stack
- Easy line editing
- Extensible code
- and many more
| Key | Action |
|---|---|
| 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ., - | Enter digits |
| enter | Push current value to stack (Resets stack if it grows to over 99 elements) |
| clear | Clear current value, resetting it to zero |
| 🡰 | Backspace (If entering decimals, clears to integer part) |
| 🡱 | Pop and discard entry from stack |
| +, -, ×, ÷, ^ | Binary arithmetic operations Either pops one entry and uses current value, or pops two entries if current value is empty |
| , (or 2nd, aka EE for muscle memory) |
Scientific notation binary operator, i.e. x10^E.g. 1.23enter6, places 1.23E6 on the stack. |
| log, ln, sin, cos, tan, x², x⁻¹ | Unary arithmetic operations Applies either to current value, or top stack entry if current value is empty |
| sto🡲 | Stores current value, or top stack entry if current value is empty, in OS variable X |
| del | New problem Clears current entry, stack; other settings remain |
| mode | Switch between 3-sigfig-scientific-notation and standard view |
2nd^ (π), 2nd÷ (e) |
Enter the constants pi or e into the current value Continuing to type digits has strange effects here |
2ndlog (10^), 2ndln (e^),2ndsin ( sin⁻¹), 2ndcos (cos⁻¹),2ndtan ( tan⁻¹), 2ndx² (√) |
More unary arithmetic operations |
| 2ndsto🡲 (rcl) | Recalls the value of OS variable X into the current value |
| 2ndapps (angle) | Switch between degrees and radians for trigonometric functions See hint in top right corner of screen |
| 2nd2nd | Leave "2nd mode" |
| y= | About screen |
| window | Help screen |
| graph, 2ndquit | Exit RPN program |
| prgm | Swap the last to values in the stack |
Note: Most binary operations above are commutative or easy to reverse, except
exponentiation. To compute b^a when a is before b on the stack, press
ln, ×, 2ndln.
- CE-Programming/toolchain
(
.toolchain/) - tgrysztar/fasmg (
.fasmg/)