arjvik / RPN-Ti84

Advanced Reverse Polish Notation entry program for the Ti-84+CE calculators

Home Page:https://git.io/ti84rpn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RPN-Ti84

Advanced Reverse Polish Notation entry program for the Ti-84+CE calculators

Demo GIF

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

Story

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!

Building and Installing

source env.sh
make # Compiles .8xp file
make install # Transfers to calculator (using TiLP)

Features

Real Arithmetic Functions

Scientific Notation

Constants

Degrees/Radians Trigonometry

  • Infinite stack
  • Easy line editing
  • Extensible code
  • and many more

Keys

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⁻¹ 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⁻¹), 2nd ()
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.

Credits

About

Advanced Reverse Polish Notation entry program for the Ti-84+CE calculators

https://git.io/ti84rpn

License:GNU General Public License v3.0


Languages

Language:C 89.8%Language:C++ 6.7%Language:Makefile 3.5%Language:Shell 0.1%