SkillAgentSearch skills...

Rpn83p

RPN calculator app for TI-83 Plus and TI-84 Plus inspired by HP-42S

Install / Use

/learn @bxparks/Rpn83p
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

RPN83P

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

RPN83P is an RPN calculator app for the TI-83 Plus series and the TI-84 Plus series calculators. The app is inspired mostly by the HP-42S calculator, with some significant features borrowed from the HP-12C, the HP-16C, the HP-19BII, and the TI-85 calculators. RPN83P hopes to be the easiest and cheapest gateway app that introduces new users to the beauty and power of RPN calculators.

Your calculator will look like this when using RPN83P:

RPN83P Teaser

RPN83P is a flash application written in Z80 assembly language that consumes 4 pages (64 kiB) of flash memory. Since it is stored in flash, it is preserved if the RAM is cleared. It consumes about 1044 to 2545 bytes of TI-OS RAM through 4 AppVars, depending on the number of storage registers: RPN83REG (500 to 1925 bytes), RPN83SAV (152 byte), RPN83STA (272 bytes), and RPN83STK (120 to 196 bytes).

Summary of features:

  • traditional RPN stack (X, Y, Z, T), with LASTX register
    • configurable stack levels between 4 and 8: SSIZ, SSZ?
  • input edit line with scrollable cursor using arrow keys
    • LEFT, RIGHT, 2ND LEFT, 2ND RIGHT
  • 8-line display showing 4 stack registers
  • hierarchical menu system similar to HP-42S
  • quick reference HELP menu
  • auto-start capability using the Start-Up app
  • storage registers and variables
    • store and recall:STO nn, RCL nn
    • storage arithmetics: STO+ nn, STO- nn, STO* nn, STO/ nn, RCL+ nn, RCL- nn, RCL* nn, RCL/ nn
    • up to 100 numerical storage registers (nn = 00..99, default 25)
    • 27 single-letter variables (nn = A..Z,Theta)
    • configurable number of storage registers: RSIZ, RSZ?
  • all math functions with dedicated buttons on the TI-83 Plus and TI-84 Plus
    • arithmetic: /, *, -, +
    • algebraic: 1/X, X^2, SQRT, ^ (i.e. Y^X)
    • transcendental: LOG, 10^X, LN, e^X
    • trigonometric: SIN, COS, TAN, ASIN, ACOS, ATAN
    • constants: PI and E
  • additional menu functions
    • arithmetic: %, %CH, GCD, LCM, PRIM (prime factor), IP (integer part), FP (fractional part), FLR (floor), CEIL (ceiling), NEAR (nearest integer), ABS, SIGN, MOD, MIN, MAX
    • rounding: RNDF, RNDN, RNDG
    • algebraic: X^3, 3ROOTX
    • transcendental: XROOTY,2^X, LOG2, LOGB, E^X- (e^x-1), LN1+ (log(1+x))
    • trigonometric: ATN2
    • hyperbolic: SINH, COSH, TANH, ASNH, ACSH, ATNH
    • probability: PERM, COMB, N!, RAND, SEED
    • angle conversions: >DEG, >RAD, >REC, >POL, >HR, >HMS, HMS+, HMS-
  • statistics and curve fitting, inspired by HP-42S
    • statistics: Σ+, Σ-, SUM, MEAN, WMN (weighted mean), SDEV (sample standard deviation), SCOV (sample covariance), PDEV (population standard deviation), PCOV (population covariance)
    • curve fitting: Y>X, X>Y, SLOP (slope), YINT (y intercept), CORR (correlation coefficient)
    • curve fit models: LINF (linear), LOGF (logarithmic), EXPF (exponential), PWRF (power)
  • base conversion and bitwise operations, inspired by HP-16C and HP-42S
    • base conversions: DEC, HEX, OCT, BIN
    • logical: AND, OR, XOR, NOT, NEG
    • rotate and shift: SL, SR, ASR, RL, RR, RLC, RRC, SLn, SRn, RLn, RRn, RLCn, RRCn
    • bit operations: CB, SB, B?, REVB (reverse bits), CNTB (count bits)
    • arithmetic functions: BAS+, BAS-, BAS*, BAS/, BDIV (divide with remainder)
    • carry flag: CCF, SCF, CF?
    • word sizes: WSIZ, WSZ?: 8, 16, 24, 32 bits
  • time value of money (TVM), inspired by HP-12C, HP-17B, and HP-30b
    • N, I%YR, PV, PMT, FV
    • P/YR, C/YR, BEG, END, CLTV (clear TVM)
  • complex numbers, inspired by HP-42S and HP-35s
    • stored in RPN stack registers (X, Y, Z, T, LASTX) and storage registers R00-R99
    • result modes: RRES (real results), CRES (complex results)
    • display modes: RECT, PRAD (polar radians), PDEG (polar degrees)
    • linking/unlinking: 2ND LINK (convert 2 reals to 1 complex, same as COMPLEX on HP-42S)
    • number entry: 2ND i (rectangular), 2ND ANGLE (polar degrees), 2ND ANGLE 2ND ANGLE (polar radians)
    • extended regular functions: +, -, *, /, 1/X, X^2, SQRT, Y^X, X^3, 3ROOTX, XROOTY, LOG, LN, 10^X, E^X, 2^X, LOG2, LOGB
    • complex specific functions: REAL, IMAG, CONJ, CABS, CANG
    • unsupported: trigonometric and hyperbolic functions (not supported by TI-OS)
  • unit conversions, inspired by HP-19BII and TI-85
    • ~170 units across 12 unit types (LENG, AREA, VOL, TEMP, MASS, FORC, PRES, ENER, PWR, TIME, SPD, FUEL)
    • includes all 63 units on the HP-19BII and all 90 units on the TI-85
  • date functions
    • date, time, datetime, timezone, and hardware clock
    • proleptic Gregorian calendar from year 0001 to 9999
    • add or subtract dates, times, datetimes
    • convert datetime to different timezones
    • convert between datetime and epochseconds
    • support alternative Epoch dates (Unix, NTP, GPS, TIOS, Y2K, custom)
    • set and retrieve datetime from the hardware clock (84+/84+SE only)
    • display time and date objects in RFC 3339 (ISO 8601) format
  • various modes (MODE)
    • floating display: FIX, SCI, ENG
    • trigonometric: RAD, DEG
    • complex result modes: RRES, CRES
    • complex display modes: RECT, PRAD, PDEG
    • SHOW (2ND ENTRY): display all 14 internal digits

Missing features (partial list):

  • vectors and matrices
  • keystroke programming

Version: 1.1.1 (2025-11-14)
Project Home: https://github.com/bxparks/rpn83p
User Guide: USER_GUIDE.md
Changelog: CHANGELOG.md

Table of Contents

Installation

RPN83P is a flash application that is packaged as a single file named rpn83p.8xk. Detailed instructions are given in the RPN83P User Guide, but here is the quick version:

  • Download the rpn83p.8xk file from the releases page.
  • Upload the file to the TI-83 Plus or TI-84 Plus calculator. Use one of following link programs:
  • Run the program using the APPS button:
    • Press APPS
    • Scroll down to the RPN83P entry
    • Press ENTER
  • Exiting:
    • Quit app: 2ND QUIT
    • Turn off device: 2ND OFF

The RPN83P app starts directly into the calculator mode, like this:

RPN83P Initial Start Screen

Supported Hardware

This app was designed for TI calculators using the Z80 processor:

  • TI-83 Plus (6 MHz Z80, 24 kB accessible RAM, 160 kB accessible flash)
  • TI-83 Plus Silver Edition (6/15 MHz Z80, 24 kB accessible RAM, 1.5 MB accessible flash)
  • TI-84 Plus (6/15 MHz Z80, 24 kB accessible RAM, 480 kB accessible flash, hardware clock)
  • TI-84 Plus Silver Edition (6/15 MHz Z80, 24 kB accessible RAM, 1.5 MB accessible flash, hardware clock)
  • TI-Nspire with TI-84 Plus Keypad (32-bit ARM processor emulating a Z80, 24 kB accessible RAM, 1.5 MB accessible flash, hardware clock)
    • Note: When uploading the rpn83p.8xk file from the PC to the Nspire, you need to select "TI-84 Plus" as the calculator model on the PC instead of "TI-Nspire". That's because the Nspire is emulating a TI-84+ and the PC cannot tell the difference.

The app configures itself to run at 15 MHz on supported hardware, while remaining at 6 MHz on the TI-83+.

I have tested it on the following calculators that I own:

  • TI-83 Plus (OS v1.19)
  • TI-83 Plus Silver Edition (OS v1.19)
  • TI-84 Plus (OS v2.55MP)
  • TI-84 Plus Silver Edition (OS v2.55MP)
  • TI-Nspire Clickpad with TI-84 Plus Keypad (OS v2.46)
  • TI-Nspire Touchpad with TI-84 Plus Keypad (OS v2.56MP)

Community members have verified that it works on the following variants:

  • TI-84 Plus Pocket SE
  • TI-84 Pocket.fr (French version of the Pocket SE?)

The following calculators are not supported because their internal hardware and firmware are too different:

  • TI-73, 80, 81, 82, 85, 86
  • TI-83 (without Plus)
  • TI-84 Plus C Silver Edition
  • TI-84 Plus CE
  • TI-83 Premium CE (French version of the TI-84 Plus CE)
  • TI-Nspire CAS, CX, CX CAS, CX II, CX II CAS
  • TI-89, 89 Titanium, 92, 92 Plus, Voyage 200

Quick Examples

Example 1

Let's compute the volume of a sphere of radius 2.1. Recall that the volume of a sphere is (4/3) pi r^3. There are many ways to compute this in an RPN system, but I tend to start with the more complex, inner expression and work outwards. Enter the following keystrokes:

| Keys | **Disp

View on GitHub
GitHub Stars66
CategoryDevelopment
Updated1mo ago
Forks3

Languages

Assembly

Security Score

95/100

Audited on Mar 7, 2026

No findings