Skip to content

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

License

Notifications You must be signed in to change notification settings

arjvik/RPN-Ti84

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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