
2.5 – Dec 17, 2020
 New:
 • Execute Extra Functions in RUN mode
 • Changed: doubletap display for Extra Functions; tripletap for Settings
 • VIEW instruction to watch any memory or stack register while program is running
 • CLD (Clear Display) restores normal display after VIEW
 • DSMSTO and DSMRCL (Display Mode Store and Recall) store or restore display settings
 • REGSET sets any range of registers to a given value
 • REGSORT sorts any range of registers
 • xi≷yi: swap registers defined in X and Y
 • Date instructions:
DATE: current date (month, day, year)
DATE+: add number of days in X to the date in Y
∆DAYS: number of days between the dates in X and Y
DOW: day of the week, day number, week number
MDY➞YMD, YMD➞DMY, DMY➞MDY, etc.: date format conversions
 • 100 flags (up from 10), with states visible in extended register view.
 • Additional flag instructions:
FC? nn: tests if flag nn is cleared
FC?S nn: tests if flag nn is cleared, then sets it
FS?C nn: tests if flag nn is set, then clears it
TOGF nn: toggle flag nn
 • F? renamed to FS?
 • Flags 24 and 25 for error handling
 • Flag 41 for HP41 compatibility
 • STFLAGS, RCFLAGS to store/recall groups of 32 flags
 • CFInd, SFInd clear/set indirection mode for flags
 • Additional comparison instructions:
x<NN, x≤NN, x=NN, x≠NN, x≥NN, x>NN: compares x with Rnn defined in Y
x<nn, x=nn, x>nn: compares x with Rnn
 • FILL RAN# now accepts a userdefined range
 • Mathematical and physical constants (CODATA 2018compliant)
 • No change of program counter when ISG/DSE is executed on the keyboard
 • Indirect register addressing ignores sign and fractional part of the argument
 • In vintage mode, ISG, DSE, RND, RAND, and CLEAR ∑ are not shown and dont' work.
 • Sample programs:
 "41Extrema"
 "41Parabolic Interpolation"
 "41Infinite Nested Radicals"
 "41Large Factorials"
 "41Multi and Hyperfactorials"
 "41Factorial Digits"
 "41Kaprekar Series"
 "41Golomb Sequence"
 "41Euler Numbers 1"
 "41Euler Numbers 2"
 "41Harmonic Numbers"
 "41Pell's Equation"
 "41Kepler's Equation"
 "41Easter Date"
 "41Equilateral Triangle Puzzle"
 "41Multivariate Gamma, Digamma"
 "41Loxodromics"
 "41Geodesic Distance"
 "41Square Root modulo m"
 "41Unrestricted Partitions"
 "41Permutations"
 "Amortization" (update)
 "TVM – Time Value of Money" (update)
 Bug Fixes:
 • ISG/DSE commands were susceptible to internal rounding effects
 • Deleting a block of steps could result in wrong branch targets
2.0 – Nov 8, 2020
 New:
 • 100 registers (up from 20)
 • New register view showing all 100 registers
 • Print program listing or program description, or email them as PDF file
 • Store/recall arithmetic between X and any stack register
 • Define register arguments directly in the Extra Functions list
 • New Extra Functions:
STO<op>nn, RCL<op>nn: direct register arithmetic between x and register nn (0..99)
STi<op>nn, RCi<op>nn: indirect register arithmetic between x and register nn (0..99)
xi≷ nn: swap x with register defined in register nn (0..99)
STO<op>N, RCL<op>N: direct stack arithmetic between x and stack register N
STi<op>N, RCi<op>N: register arithmetic between x and register nn (0..99) defined in stack register N
x≷ N: swap x with any stack register N
xi≷ N: swap x with any register nn (0..99) defined in stack register N
x<Rnn, x=Rnn, x>Rnn: compare x with any register nn (0..99)
ISG nn, DSE nn: increment/decrement register nn (0..99) and skip if condition met
ISG N, DSE N: increment/decrement stack register N and skip if condition met
ISGi N, DSEi N: increment/decrement register nn (0..99) defined in stack register N and skip if condition met
SND nn: play sound defined by value (0..99) in register nn (0..99)
CLR ALL: clear all registers (R00..R99)
CLR EXT: clear all extended registers (R20..R99)
CLRGX: clear a block of registers with optional skipping
REGCOPY: copy a block of registers
REGSWAP: swap two blocks of registers
REGS ALL: show all registers (R00..R99)
SIGN: return 1, 0, or +1 if x is negative, positive, or zero
PRIME?: set flag 0 if x is a prime number (x ≤ 4,294,967,295)
ERF/ERFC: Gauss error function and complementary error function
Bernoulli: returns xth Bernoulli number
BesselJ: Bessel function of the 1st kind of order y of x
BesselY: Bessel function of the 2nd kind of order y of x
Zeta: return the Riemann zeta function ζ(x)
ERROR nn: replaces the previous functions ERROR 1 and ERROR 2
 • Optional vintage features
Send 19390104 to register 0 to toggle some features on and off:
 New program step replaces the next step instead of being inserted
 ISG, RND and CLEAR ∑ labels are hidden (but still functional)
 • A program running longer than one minute will emit a short beep when executing the final GTO 00 command
 • Tap f or g, then the PRGM/RUN switch to see a 12 or 24hour clock
 • Improved accuracy in extreme cases of y^{x} with positive, integer x.
For example: 1.0000001^2^{27} = 674530.4707, not 674530.4760
 • Doubletapping "Continuous Memory" doesn't show the Info screen anymore.
Use the info button instead.
 • Call up "What's New" anytime from the Info screen
 • New sample programs:
 "Amortization"
 "Bell Numbers Advanced"
 "Decimals of e"
 "Decimals of Pi"
 "Multi Curve Fitting"
 "NPV and IRR"
 "Square Roots & Integer Power
 "TVM – Time Value of Money"
 Bug Fixes:
 • Fixed display issues when using the iPhone in "Zoomed" mode
 • The RND function didn't work correctly in regions using a comma as decimal point
 • Double or tripletapping the empty program listing could cause a crash
 • Setting the haptic feedback level didn't check sufficiently for the correct code
 • CLR ALL from RPN32 was translated incorrectly
 • Compatibility with iPhone 12
1.5 – Sep 24, 2020
 New:
 • More than 80 new functions added
 • Much simplified inserting of Extra Functions:
1. Tripletap display in PRGM mode
2. Doubletap desired function
 Bug Fix:
 • The thousand's separator setting was lost after restarting the app
1.0 – Sep 2, 2020
