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.2 (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 |
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/
)