Extensions — Creating the no-holds-barred HP-67/97


With RPN-67/97 Pro's setting "Enhanced Calculator" ("Enhancements" on RPN-67 SD") set
to "Med" or "Max", a number of powerful extensions are added to the basic calculator.

The "secret" NOP command
There is one additional command that even works in vintage mode:
If – in W/PRGM mode on a real HP-67 – you press GTO.2, then keys A and D simultaneously, the code 32 24 is entered. This command doesn't do anything, but executes in a mere 7 ms. It's therefore a perfect substitution for the missing NOP command.

On RPN-67, you simply press g (i) to enter the command.
On RPN-97, you press EXT 0. The keycode is 71-61.


New Functions


Most new functions may be accessed by executing OP (RPN-67: g OP, RPN-97: EXT OP).
Some are mapped to existing keys and show up after tapping g or h (RPN-97: EXT).
Almost all extended functions are programmable.

 

New Register Features

RPN-67/97 Pro features improved register arithmetic functions and adds one hundred storage registers.

 

More Labels

With 100 additional labels at your disposal, you'll never run out of labels in your programs again.


 

Toggle Flag Commands

RPN-67/97 adds handy toggle commands to the flag operations.
All commands are invoked by the prefix key DSP.
They are available to the regular flags F0…F3, as well as to the extended flags F4…F9.
  RPN-67   RPN-97   Description
  DSP h SF   DSP f STF   Toggle flag, then test if set
  DSP h CF   DSP f CLF   Toggle flag, then test if cleared
  DSP h F?   DSP f F?   Toggle flag

 

 

 

 

 

  Constants and Conversions


To use a constant or conversion: tap it, then tap "Select".
Or simply double-tap the key.

SI units are used, except where not applicable.


Physical constants reflect CODATA internationally recommended 2014 values.

Unit conversions follow a simple rule:
Convert TO SI unit Get conversion value, then multiply.
Convert FROM SI unit Get conversion value, then divide.

Examples

Convert 5 nmi (not SI) into meters (SI): 5 CC nmi × = 9260 [m]

Convert 2.5 kg (SI) into pounds (not SI): 2.5 CC   lb   ÷ = 5.51 [lbs]

Convert 1.2 litres (not SI) into cups (not SI): 1.2 CC   L   × CC cup ÷ = 5.07 [cups]

 

SI Base Units
Base Quantity Name Symbol
Length meter m
Mass kilogram kg
Time second s
Electric current ampere A
Thermodynamic temperature kelvin K
Amount of substance mole mol
Luminous intensity Candela cd

 

 
 

 

  Operations

To use an operation: tap it, then tap "Select". Or simply double-tap the operation.

All operations, with the exception of NUM CPRS, are programmable.


If "Cplx" appears in the top-right corner, the function can handle complex arguments.

00 NOP No operation. Useful in testing and debugging programs. For an alternative, see note at the top about the "secret" NOP command.
01 CPLX? Returns 0 if complex mode is off, 1 otherwise.  
02 BEEP Sounds a short tone.  
03 ERROR Stops program and displays "Error" message.  
04 MAX STEPS Sets maximum number of programs steps according to x: 1 = 224, 2 = 448, 3 = 999.
Returns current setting for any other value of x, e.g. 0.
Same as "Number of Program Steps" in settings.
05 CSGN Generalized sign of x (-1 if x < 0, 0 if x = 0, 1 if x > 0). SIGN(5.3) = 1, SIGN(-4) = -1, SIGN(0) = 0
06 DECR Decrements x by 1. Useful when testing flags and conditions. DECR(0) = -1
07 INCR Increments x by 1. Useful when testing flags and conditions. INCR(5.3) = 6.3
08 CHG MAG Change magnitude of y by x: if y is positive, then add x, otherwise subtract x. y = 5, x = 3: CHG MAG = 8
y = -5, x = 3: CHG MAG = -8
09 ODD Returns 1 if integer part of x is odd, 0 otherwise. ODD(2) = 0, ODD(-5.3) = 1
10 FLOOR Returns the greatest integer less than or equal to x. FLOOR(5.3) = 5, FLOOR(-5.3) = -6
11 CEIL Returns the smallest integer larger than or equal to x. CEIL(5.3) = 6, CEIL(-5.3) = -5
12 MIN Returns the lesser of x and y in X, the greater in Y.
In complex mode, compares absolute values of x+jy and z+jt.
x = 7, y = 2. MIN: x = 2, y = 7
13 MAX Returns the greater of x and y in X, the lesser in Y.
In complex mode, compares absolute values of x+jy and z+jt.
x = 7, y = 2. MAX: x = 7, y = 2
14 CLIP Returns x clipped (limited) to between y and z. x = -3, y = 10: CLIP(-20) = -3, CLIP(20) = 10, CLIP(3.14) = 3.14
15 CHOP Returns 0 if absolute value of x is less than 5E-10. Useful for eliminating floating-point representation errors.
For example: 7.005 + 1 - 8.005 = -1.78E-15 instead of 0.
CHOP(1/12!) = 2.09E-9, CHOP(1/13!) = 0
16 RESCALE Returns x rescaled to run from 0 to 1 over the range y to z. y = 6, z = 22: RESCALE(6) = 0, RESCALE(22) = 1, RESCALE(14) = 0.5
17 EXP/MANT Returns in X the exponent, in Y the mantissa of x. EXP/MANT(325 EEX 5) = 7 (in X), 3.25 (in Y)
18 MOD Modulo function: returns the remainder of y divided by x.
The result always has the same sign as x.
MOD(5.6,1.2) = 0.8, MOD(-5.6,1.2) = 0.4
19 GCD Greatest common divisor of positive integers x and y. GCD(164,88) = 4, GCD(328,3567) = 41
20 LCM Least common multiplier of positive integers x and y. LCM(24,124) = 744
21 DIV For two numbers x and y, returns the integer part of y/x in x, the remainder in y. DIV( 5.6, 1.2) = ( 4, 0.8)
DIV(-5.6, 1.2) = (-5, 0.4)
DIV( 5.6,-1.2) = (-5,-0.4)
DIV(-5.6,-1.2) = ( 4,-0.8)
22 %TOT Returns the % of y that is represented by x. y = 7, x = 7: %TOT = 100, y = 15, x = 12: %TOT = 80
23 ATAN2 Calculates atan(y/x), with the quadrant of point (x,y) preserved y = 1, x = 1: ATAN2 = 45°, y = -1, x = -1: ATAN2 = -135°
24 RATIO Convert x to a close rational y/x, with numerator and denominator limited to y (1E6 if y = 0 or non-integer). y = 1000, x = π: RATIO = 355/113
25 CB ROOT Returns the cube root of x. 27 = 3, ∛ = -1.46
26 CONJUG Returns the conjugate of complex number x + iy.
May be used to change the sign of y directly.
 
27 LOGy Returns the base y logarithm of x. LOG2(256) = 8; LOGπ(√3) = 0.47986
Complex: LOG(1+i)(1.49+4.13i) = 2.00-1.00i
28 QUAD EQ Solves the quadratic equation ax² + bx + c = 0. Arguments: a in Z, b in Y, c in X. Solve x² - 2x + 2 = 0: x = 1 ± 1i (CPLX indicator appears)
29 CUBE EQ Solves the cubic equation ax³ + bx² + cx + d = 0.
Arguments: a in T, b in Z, c in Y, d in X.
On return: t = type of roots (1: one real, two complex; 2: three real, at least two equal; 3: three real and distinct; 0: not a cubic equation)
Solve x³ - 4x² + 8x - 8 = 0:
x₁ = 2, x₂ = 1 + √3i, x₃ = 1 - √3i,
root type is 1 (CPLX indicator appears)
30 LIN EQ 2 Solve linear equation in two unknowns:
ax + by = c
dx + ey = f
Inputs:
a,b,c = R4,R5,R6
d,e,f = R1,R2,R3
 
31 LIN EQ 3 Solve linear equation in three unknowns:
a11x+a12y+a13z = b1
a21x+a22y+a23z = b2
a31x+a32y+a33z = b3
Inputs:
a11,a12,a13 = R7,R8,R9
a21,a22,a23 = R4,R5,R6
a31,a32,a33 = R1,R2,R3
b1,b2,b3 = RA,RB,RC
 
32 GAMMA Returns the value of the Gamma function Γ(x). Works in complex mode. Γ(10) = 362880 (= 9!). Γ(-2.33) = -1.32.
Γ(3+1.2i) = 0.622 + 1.386i
33 EULER Φ Returns number of positive integers not exceeding x that have no common divisors with x. Φ(100) = 40, Φ(101) = 100
34 FIBONACCI Returns generalized Fibonacci numbers Fib(x) for x integer, real or complex. Fib(10) = 55, Fib(-π) = 1.9293
Fib(480.16) = 9.95 × 1099
Fib(3+1.2i) = 3.507 - 0.216i
35 HARM NUM Returns the xth Harmonic number for any real and positive x. H(0) = 0, H(3) = 11/6 = 1.8333, H(π) = 1.8727
36 BesselJ Calculates the Bessel function of the first kind Jy(x). Order y = positive integer. J2(1) = 0.1149, J5(π) = 0.05214
37 BesselY Calculates the Bessel function of the second kind Yy(x). Order y = positive integer; x > 0. Y2(1) = -1.6507, Y5(π) = -1.6235
38 Py,x Permutations of y objects taken x at a time. P7,5 = 2520, P500,37 = 1.8569 × 1099
39 Cy,x Combinations of y objects taken x at at time (Binomial Coefficient) P7,5 = 21, C500,37 = 1.3491 × 1056
40 LIN REG Calculates the linear regression y = ax + b. x,y pairs are entered using the ∑+ key.
Results: x = a, y = b, z = correlation coefficient, t = covariance.
Use OP CLR ∑ to clear statistics registers
41 ŷ,r LIN REG: return in X the linear estimate for y, given an x value in X.
Returns correlation coefficient in Y.
 
42 x̂,r LIN REG: return in X the linear estimate for x, given a y value in X.
Returns correlation coefficient in Y.
 
43 NORM DIST Normal Distribution (Gaussian Probability Function) with mean µ = 0 and standard deviation σ = 1. Returns probability density function φ(x) in X, cumulative distribution function Φ(x) in Y. φ(2.22) = 0.03394, Φ(2.22) = 0.98679
44 BIN DIST Binomial Distribution f(x).
Inputs: z = n (number of trials), y = p (success probability in each trial), x = argument.
Galton box with 8 layers (n = 8, p = 50%, nine bins numbered 0..8). Probability that ball ends in central bin (x = 4): f(4) = 70/256 = 0.27344
45 NBIN DIST Negative Binomial Distribution.
Inputs: z = p (success probability in each experiment), y = r (number of failures until experiment is stopped).
To verify the example "Selling candy" at the bottom of this Wiki page, enter p = 0.4, r = 5, x = n-5.
46 BVAR DIST Bivariate Normal Distribution f(x,y).
Inputs: µ1 ➞ R.91, µ2 ➞ R.92, σ1 ➞ R.93, σ2 ➞ R.94, ρ ➞ R.95
µ1 = -1, µ2 = 1, σ1 = 1.5, σ2 = 0.5, ρ = 1.7
f(1,2) = 0.04004
47 POISSON Poisson Distribution f(x).
Inputs: y = λ (expected value of x; must be larger than 0). x = positive integer.
λ = 2.8: f(7) = 0.01628
48 CHI-SQ Evaluates χ² for a range of data pairs for goodness of fit. Input values:
R.y through R.z = range of observed frequencies, R.x = start of corresponding range of expected frequencies
Oi: 9.6, 46.75, 51.85, 54.4, 8.25, 9.15
Ei: 8, 50, 47, 56, 5, 14
χ² = 4.8444
49 TPAIRED T Statistics: returns t for paired observations. Data pairs are entered using the ∑+ key. Use OP CLR ∑ to clear statistics registers
50 MEAN GRP Calculates weighted mean (in X) and standard deviation s (in Y) of grouped data.
Input: Use ∑+ with value in X, weight in Y.
Use OP CLR ∑ to clear statistics registers
51 SKW/KURT Skewness γ1, Excess Kurtosis γ2 and Moments mi for grouped and ungrouped data.
Input: Use ∑+ with value in X, weight in Y (set to 1 if ungrouped data).
Returns: X = γ1, Y = γ2, Z = m1 (mean), T = m2, RA = m3, RB = m4
Use OP CLR ∑ to clear statistics registers
52 ERF,ERFC Returns the value of the error function erf(x) in X, the value of the complementary error function erfc(x) in Y.
Note that Φ(x) = ½ + ½ erf(x/√2) [see cumulative distribution function PROB].
erf(3) = 0.99998
erfc(3) = 2.20905E-5 = 1 - erf(3)
53 NORM Normalizes the vector [R1 R2 R3]. NORM([3 1 2]) = [0.802 0.267 0.535]
54 ANGLE Returns the angle between vectors [R1 R2 R3] and [R4 R5 R6]. ANGLE([2 -3 4],[5 2 1]) = 74.26°
55 DOT Returns the dot product of vectors [R1 R2 R3] and [R4 R5 R6]. DOT([2 -3 4],[5 2 1]) = 8
56 CROSS Returns the cross product of vectors [R1 R2 R3] and [R4 R5 R6] in [X Y Z]. CROSS([2 -3 4],[5 2 1]) = [11 -18 -19]
57 STO REGS Store primary registers R0...R9 in extended registers starting at R.x (x = 0...99).  
58 RCL REGS Load primary registers R0...R9 from extended registers starting at R.x (x = 0...99).  
59 XCH REGS Exchange primary registers R0...R9 with extended registers starting at R.x (x = 0...99).  
60 MAT SET Set all elements of 3x3 matrix [R1..R9] to x. Use with MAT ADD to add a value to all elements of matrix [R.91...R.99].
61 MAT + Add x to all elements of 3x3 matrix [R1..R9].  
62 MAT × Multiply all elements of 3x3 matrix [R1..R9] by x.  
63 MAT ADD Adds 3x3 matrix [R.91..R.99] to [R1..R9].  
64 MAT SUB Subtracts 3x3 matrix [R.91..R.99] from [R1..R9].  
65 MAT MUL Replaces 3x3 matrix [R1...R9] with [R1...R9] • [R.91...R.99]. ({3,4,5},{4,5,6},{5,6,7}) •
({3,4,5},{4,5,6},{5,6,7}) =
({50,62,74},{62,77,92},{74,92,110})
66 MAT T Transposes the 3x3 matrix [R1...R9].
Row1: R1...R3, row2: R4...R6, row3: R7...R9
T({3,4,5},{4,5,6},{5,6,7}) = {3,4,5},{4,5,6},{5,6,7}
67 MAT DET Returns the determinant of the 3x3 matrix [R1...R9].
Row1: R1...R3, row2: R4...R6, row3: R7...R9
DET({3,4,5},{4,5,6},{5,6,7}) = 0
Area of triangle with vertices (0,0),(4,0),(4,3):
DET({0,0,1},{4,0,1},{4,3,1}) / 2 = 6.00
68 MAT INV Inverts the 3x3 matrix [R1...R9].
Row1: R1...R3, row2: R4...R6, row3: R7...R9
INV({3,4,5},{4,5,6},{5,6,7}) = Error
(Matrix is singular.)
69 MAT EIG Returns in x,y,z the Eigenvalues of the 3x3 matrix [R1...R9].
If t = 1, two Eigenvalues are complex: y + iz, y - iz.
CHOP is applied automatically to the results.
Row1: R1...R3, row2: R4...R6, row3: R7...R9
EIG({3,4,5},{4,5,6},{5,6,7}) = {15.3899,-0.3899,0}
70 MAT STO Stores the 3x3 matrix [R1...R9] at extended registers [R.91...R.99].  
71 MAT RCL Retrieves the 3x3 matrix [R1...R9] from extended registers [R.91...R.99].  
72 x̂,s EXT Returns in X the mean and in Y the standard deviation of all numbers in extended registers R.x..R.y.  
73 CHOP EXT Change absolute values less than 5E-10 in extended registers R.x..R.y to 0.  
74 COPY EXT Copies extended registers range R.y...R.z to R.x.  
75 FILL EXT Fills extended registers range R.y...R.z with x.  
76 FIND EXT If flag 9 is cleared:
Returns in x the first register number containing x in extended registers range R.y...R.z (-1 if not found). Returns in y the number of occurrences of x in the range.
If flag 9 is set:
Returns in x the first register number not containing x in extended registers range R.y...R.z (-1 if all registers contain x). Returns in y the number of occurrences of values different from x in the range.
Check if registers 40..59 contain only zeros:
40 ENTER 59 ENTER 0 SF 9 FIND EXT
x = -1, y = 0: answer is YES
x = 44, y = 3: answer is NO
(first diff. value at R.44, 2 more in range)
77 MIN EXT Returns in x the smallest value in extended registers range R.x...R.y, returns in y the register number.  
78 MAX EXT Returns in x the largest value in extended registers range R.x...R.y, returns in y the register number.  
79 PRT EXT Prints the values in extended registers range R.x...R.y on paper tape.  
80 RAN# EXT Fills extended registers range R.x...R.y with random numbers between 0 and 1.  
81 RDUP EXT Removes duplicate values in extended registers range R.x...R.y. Returns in x,y the range containing all unique values.  
82 REV EXT Reverses the order of values in extended registers range R.x...R.y.  
83 SORT EXT Sorts the values in extended register range R.x...R.y in ascending order. If z = -1, sorts in descending order.  
84 SUM EXT Returns the sum of all values in extended registers range R.x...R.y.  
85 PLOT Prints a "+" at position x on paper tape (x = 0...20). Prints empty line if x is out of range.  
86 PLOTC Prints up to four characters on paper tape, starting at position x (x = 0...20). Characters are stored as decimal ASCII codes (reduced by 32) in the fractional part of x.
To easily create the argument value, use the built-in TEXT Helper (see below).
Print "Plot" at position 9: x = 9.48767984
("P" = ASCII 80, minus 32 = 48, "l" = ASCII 108, minus 32 = 76, etc.)
87 TEXT Print up to 21 characters stored in extended registers R.x...R.x+6. Format: d.aaabbbccc, 0.aaabbbccc, 0.aaabbbccc etc., where aaa, bbb, ccc = decimal ASCII codes (0 ends string). Text alignment: left if d < 0, center if d = 0, right if d > 0. d must be single-digit.
To easily create the required values, use the built-in TEXT Helper (see below).
To print "RPN-67 for iPad" centered, store these values in registers 90...95: 0.082080078, 0.045054055, 0.032102111, 0.114032105, 0.080097100, 0. Set x = 90, execute TEXT. Change the integer part of R.90 for different alignments.
88 PRT FRAC Prints the fractional part of x as an integer. The number of digits is defined by the DSP setting. Leading zeros are added if necessary. The sign of x is preserved.
Ignored if display mode is not FIX, or if the absoulute value of x is 1E10 or larger. Setting DSP 0 results in an empty line.
PRT FRAC(3.1416) = 1416 (DSP 4)
PRT FRAC(445566.789) = 007890 (DSP 6)
PRT FRAC(445566.789) = 8 (DSP 1)
PRT FRAC(-0.000236) = -00024 (DSP 5)
89 PRT PWR Turns printer power OFF or ON according to x.
 0: turn power OFF
 1: turn power ON
-1: turn power ON and show printer (RPN-67 Pro and SD)

Returns current status if x is not 0 or ±1.
x =  0: turn printer power OFF
x = -1: turn printer ON and show it
90 PRT MODE Sets printer mode according to x = m.csdf:
m: 1 = MAN, 2 = TRACE, 3 = NORM.
    If m is negative, negative results are printed in red.
c: 0..9 = color (see command SYS/INFO below)
s: printer refresh control: (ignored on RPN-67 SD)
    0 = normal
    1 = no printer updates until program has stopped running
d: don't print decimal point if last in string
    0 = normal
    1 = trailing decimal point is suppressed
f: dot-matrix font in vintage mode
    0 = off
    1 = on

Returns current mode for illegal values of m.csdf, e.g. 0.
Set printer to MAN mode, print in blue, negative results in red:
-1.2    PRT MODE

To toggle negative-red printing:
0    PRT MODE    CHS    PRT MODE

To turn on DP suppression (if off):
0    PRT MODE    0.001    CHG MAG    PRT MODE

To turn off DP suppression (if on):
0    PRT MODE    -0.001    CHG MAG    PRT MODE

To turn vintage mode dot-matrix font on (if off):
0    PRT MODE    0.0001    CHG MAG    PRT MODE
91 DSP MODE Sets display mode according to x = m.ds:
m: 1 = FIX, 2 = SCI, 3 = ENG. If m = -1, don't show thousands separators.
d: number of digits
s: integer/fractional part separating character:
    0 = auto (according to region defined for the device)
    1 = "." (separator changed to "," if necessary)
    2 = "," (separator changed to "." if necessary)

Returns current mode for illegal values of m.cs, e.g. 0.
To toggle thousands separators display:
FIX    0    DSP MODE    CHS    DSP MODE
92 TRIG MODE Sets trigonometric mode according to x: 1 = DEG, 2 = RAD, 3 = GRD.
Returns current trigonometric mode for any other value of x, e.g. 0.
 
93 CLR F4-9 Clears flags 4 through 9.  
94 CLR ∑ Clears the statistics registers.  
95 CLR TAPE Inserts a new roll of paper..  
96 SOLAR Returns sunrise (in X), sunset (in Y), sun transit (noon) (in Z), and altitude of the sun (in T) for a given location, date and time.
Inputs:
R0 = year (-2000 to 6000), R1 = month, R2 = day,
R3 = hour (24hr-format), R4 = minutes, R5 = seconds, (for altitude)
R6 = time zone (negative if west),
R7 = longitude (decimal degrees), R8 = latitude (decimal degrees)

Note: SOLAR accepts additional parameters and returns much more information - see box below.

Get sun position data for Salem, OR, on Nov 30, 2013, 12 a.m.
Longitude is 123° 2' W, latitude is 44° 56' N,. Time zone is UTC minus 8.
f CLREG  2013  STO 0  11  STO 1  30  STO 2
12  STO 3 -8  STO 6  -123.02  →H  STO 7
44.56  →H  STO 8  OP SOLAR

x = 7.4855 = 7:29:08 (sunrise)
y = 16.5489 = 16:32:56 (sunset)
z = 12.0161 = 12:00:58 (noon)
t = 23.3026° = 23°18'09" (altitude at 12 a.m.)

97 SYS/INFO

Sets or returns system settings, depending on the value x. Accepted values are:
-1: Get current printer color
0...9: Set printer color to x
10: Prints the locations of all labels in the current program, as well as the status of flags F0...F9. Returns in x the number of unused labels.
11: Same as 10 with printout suppressed.
20: Prints breakpoints information. Returns in x the number of stored breakpoints.
21: Same as 20 with printout suppressed.
30: Prints and returns in x the number of free program steps.
31: Same as 30 with printout suppressed.
40: Turn large digits off. (RPN-67 SD: Normal display mode)
41: Turn large digits on. (RPN-67 SD: High-contrast display mode)
80: Returns location data. X: latitude, Y: longitude, Z: altitude (in meters), T: current system time zone (in days, including DST)
90: Prints and returns in x the battery level (in %).
91: Same as 90 with printout suppressed.
98: Prints and returns in x the version number of RPN-67/97. The exponent shows the calculator type (67 or 97.) Tip: use EXP/MANT to separate the values.
99: Same as 98 with printout suppressed.
100: Turn turbo mode off.
101: Turn turbo mode 1 on. This will suppress display and register updates while the program is running. Very useful for expediting time-consuming calculations.
A red flash symbol in the display indicates that turbo mode is enabled. It turns green while the program is running. Output is not suppressed for printing or while pausing. Turbo mode ends automatically when program execution is stopped.
102: Turn turbo mode 2 on. Same as mode 1, but turbo mode does not end automatically when program execution is stopped. It must be turned off by issuing SYS/INFO command 100, or by tapping RTN when the program is not running (i.e. the flash symbol is shown in red.)
(Note that turbo mode is ignored on RPN-67 SD, as it serves no purpose on the iPhone.)


Printer colors:
0 = black,  1 = gray
2 = blue,   3 = light blue
4 = green,  5 = light green
6 = red,    7 = light red
8 = purple, 9 = light purple
98 NUM CPRS x = 0: Uncompress memory by storing numbers in one step per digit.
x = 1: Compress program memory by storing numbers in a single step.
This command is not programmable.
 
99 EXEC FN Execute currently defined function.
Long-press to see available functions.
See description below.
To execute function #300:
300 STO FN
OP EXEC FN
 
 

 

  Execute Extended Function


Extended functions are accessed indirectly by storing their function number first, then executing EXEC FN.

To store the function number: STO FN (= STO EEX)

The function number may be retrieved anytime: RCL FN

Non-existent functions are ignored.

Long-press the key EXEC FN to see the available functions:
  Tap the info button to get additional information about a function.
To dismiss the info, tap the info text, or any function.

Double-tap a function (or tap "Select" after single-tapping it) to:
• Immediately execute the function (in RUN mode)
OR
Store the function in program memory (in W/PRGM mode)

The function is stored as three steps. For example:
001         ---     (Compressed function number)
002       33 43     STO FN
003    32 44 99     EXEC FN

Since the function number is never cleared automatically, EXEC FN
does not have to immediately follow STO FN.

Tap "Cancel" to return to the Operations screen without changes.


List of Functions

NOTE: Examples assume that the function number has already been stored using STO FN.
To execute a function in interactive mode, long-press the EXEC FN key, then double-tap the function.
If the desired function number is already stored (as shown in the top-left corner of the Operations screen),
there's no need to open the list of functions. Simply double-tap the EXEC FN key.
FN Utilities Examples
1 Sound
Plays a short alert sound, defined by x (0..19).
Values outside this range will produce the standard beep sound.
x = 3 produces a series of three beeps.
x = 15 creates a pleasing sequence of piano tones.
2 CLR EXT
Sets extended registers R.00..R.99 to 0.
 
3 CLR STK
Sets stack registers X, Y, Z, T to 0.
 
4 CLR A..E
Sets registers A, B, C, D, E to 0.
 
5 PUSH A..E
Puts registers A..E on an internal 4-level stack.
If the stack is full, the oldest register set is lost.
 
–5 POP A..E
Retrieves registers A..E from the internal 4-level stack.
If the stack is empty, registers A..E are cleared.
 
6 REV STK
Reverses the order of stack registers X, Y, Z, T.
 
7 P ⇢ S
Copies primary registers to secondary registers (R0..R9 ➞ RS0..RS9).
 
–7 P ⇠ S
Copies secondary to primary registers (RS0..RS9 ➞ R0..R9).
 
8 Separate x
Separates x into integer and fractional part.
On return: x = fractional part, y = integer part
x = 3.141592654
EXEC FN ➞ x = 0.141592654, y = 3
10 RCL Extended ∑ Registers
Recalls extended statistical registers used internally for weighted mean,
T-statistics, skewness, and kurtosis.
x = ∑x2 ,  y = ∑(x-y)2y ,  z = ∑x3y ,  t = ∑x4
96 Auto-exec Sound
Turns sound on loading auto-executing program card off or on.
x = 0: turn sound off
x ≠ 0: turn sound on
 
97 Get Pause
Retrieves the currently set pause length (in secs).
 
–97 Set Pause
Sets the pause length.
x = 1, 2, or 5 (seconds). Other values are ignored.
 
98 Get Volume
Retrieves the currently set sound volume (any value between 0 and 1).
 
–98 Set Volume
Sets the sound volume.
x = any value between 0 and 1. Values outside this range are ignored.
 
99 Save Calculator Settings
Stores the current display mode, trig mode, DP character, and group separator.
 
–99 Restore Calculator Settings
Restores the saved display mode, trig mode, DP char, and group separator.
Ignored if no settings have been saved beforehand.
 
  Math  
100 Numerical Integration
Finds value of integrating a function f(x) over a given range.

The function f(x) may expect the stack to be filled with x.

x = label where function f(x)is stored
y = upper limit, z = lower limit

Label can be:
LBL 0 – 9: 0 – 9
LBL A – E: 11 – 15
LBL a – e: 11.1 – 15.1
LBL 00 – 99: 0 – 99 (append .2 for 00 – 09 and 11 – 15
1) Show that

Store the function as LBL.67 (in W/PRGM mode):
LBL + 67  x2  1  +  4  ÷  1/x  RTN
Switch back to RUN mode.
Enter range and label:
0 ENTER 1 ENTER 67 EXEC FN → 3.141592654

2) Integrate f(x) = xx between 0 and 1
Use LBL A to store the function (in W/PRGM mode):
LBL A  yx  RTN
Switch back to RUN mode.
Enter range and label:
0 ENTER 1 ENTER 11 EXEC FN → 0.7834305107

If you want to evaluate the function manually, be sure to fill the entire stack with the argument x before executing the subroutine (unless the function doesn't make use of this.)
101 Find Root
Finds roots of a function f(x) in a given range.
If no root can be found, 0 is returned and flag F9 is set. If F9 is cleared, 0 is a solution.

The function f(x) may expect the stack to be filled with x.

x = label where function f(x) is stored
y = upper guess, z = lower guess

Label can be:
LBL 0 – 9: 0 – 9
LBL A – E: 11 – 15
LBL a – e: 11.1 – 15.1
LBL 00 – 99: 0 – 99 (append .2 for 00 – 09 and 11 – 15
Solve ex2+7x-30 = 1

Use LBL 1 to store the function (in W/PRGM mode):
LBL 1  x2  x≷y  7  ×  +  30  –  ex  1  –  RTN
Switch back to RUN mode.
Try range 0..20:
0 ENTER 20 ENTER 1 EXEC FN → 3 (exactly)
Try range -20..0:
-20 ENTER 0 ENTER 1 EXEC FN → -10 (exactly)

If you want to evaluate the function manually, be sure to fill the entire stack with the argument x before executing the subroutine (unless the function doesn't make use of this.)
105 Linear Equation Solver
Solves a system of n equations in n unknowns (n = 1..9)

Store coefficients in extended registers as follows:
a11x1 + a12x2 + … = b1 in registers R.01…R.09, with b1 in R.00
a21x1 + a22x2 + … = b2 in registers R.11…R.19, with b2 in R.10
...
Set x = number of equations

On return: Solutions x1, x2, ... in registers R1, R2, ...
Solve this system of 4 equations in 4 unknowns:
 2x1 - 3x2 + 5x3 - x4 = 2
-5x1 + 7x2 + x3 + x4 = 6
 5x1 - 4x2 - 2x3 + 8x4 = 8
11x1 + 6x2 + 5x3 -8x4 = -39

2 STO.01   -3 STO.02   5 STO.03   -1 STO.04   2 STO.00
–5 STO.11   7 STO.12   1 STO.13   1 STO.14   6 STO.10
5 STO.21   -4 STO.22   -2 STO.23   8 STO.24   8 STO.20
11 STO.31   6 STO.32   5 STO.33   -8 STO.34   -39 STO.30
4 EXEC FN ➞ x1 = -2, x2 = -1, x3 = 1, x4 = 2 (in R1..R4)
106 Quartic Equation (aka Biquadratic equation)
Finds all solutions of the equation ax4 + bx3 + cx2 + dx + e = 0.
Input: a..e ➞ registers A..E.
Results may be complex and are stored as follows:
x1 = R1 + RS1i, x2 = R2 + RS2i, x3 = R3 + RS3i, x4 = R4 + RS4i
x = result type (see info field of function)
Find the roots of x4 + x - 1 = 0:
CL REG  1  STO A  STO D  CHS  STO E  
EXEC FN
Results: x = 2, i.e. two distinct real roots and two complex conjugate non-real roots:
x1 = 0.7245,   x2 = -1.2207,   x3,4 = 0.2481 ± 1.0340i
Verify solution x3:
CPLX  RCL 3  x2  x2  RCL+3  0  ENTER  1  –  ➞  0 + 0i
110

Matrix Print
Print n×n matrix stored in extended registers

Assuming the coefficients of an n×n matrix are stored in extended registers as follows:
a11x1 + a12x2 + … = b1 in registers R.01…R.09, with b1 in R.00
a21x1 + a22x2 + … = b2 in registers R.11…R.19, with b2 in R.10
...
then each row of the matrix is printed as a block of numbers.

The last number in each block is the b value.

Set x = number of rows (n)

With x = 2, output will typically look like this:
    Row 1:
 0.6709 01
 0.6463 02

 0.3150 00

    Row 2:
 0.8665 11
 0.4622 12

 0.2765 10
111 MAT –
Subtract extended registers R.91..R.99 from internal registers R1..R9
 
112 MAT XCH
Exchange extended registers R.91..R.99 with internal registers R1..R9
 
113 MAT CHS
Change sign of all values in extended registers R.91..R.99
 
115 Cholesky Decomposition
Perform Cholesky decomposition on 3x3 matrix formed by registers R1..R9
(where row 1 = R1..R3)
This operation replaces the original matrix A by a unique triangular matrix L, called the Cholesky factor, such that A = LLT (LT = transpose of L).

To verify the result, perform the following operations:
MAT T        'Transpose L
MAT STO   'Store LT in R.91..R.99
MAT T        'Transpose LT to revert to L
MAT MUL   'Multiply L by its transpose LT
R1..R9 should now contain the original matrix A.
Find L for the matrix A:
25  15  -5
15  18   0
-5   0  11
25 STO 1   15 STO 2   -5 STO 3
15 STO 4   18 STO 5   0 STO 6
-5 STO 7   0 STO 8   11 STO 9
EXEC FN →
 5   0   0
 3   3   0
-1   1   3
120 Primality Test
Tests if the integer in x is prime. The largest prime handled reliably is 2,038,074,743.
Returns x = 1 if the value is prime, 0 otherwise.
78901 is prime, 78907 is not.
130 Geometric Mean
Geometric mean of all numbers in range of extended registers.
x = begin of range in extended registers, y = end of range in extended registers.
Returns x = geometric mean
What is the geometric mean of 2, 3.4, 3.41, 7, 11, 23?
Store the numbers in consecutive registers: 33,34,..38: 2 STO.33, 3.4 STO.34,...23 STO 38
33 ENTER 38 EXEC FN ➞ 5.87
131 Harmonic Mean
Harmonic mean of all numbers in range of extended registers.
x = begin of range in extended registers, y = end of range in extended registers.
Returns x = harmonic mean
What is the harmonic mean of 2, 3.4, 3.41, 7, 11, 23?
Store the numbers in consecutive registers: 33,34,..38: 2 STO.33, 3.4 STO.34,...23 STO 38
33 ENTER 38 EXEC FN ➞ 4.40
132 Arithmetic-Geometric Mean
Arithmetic-geometric mean M(x,y), or agm(x,y).
Returns x = geometric mean
Compute Gauss's constant, defined as 1/M(1,√2):
1 ENTER 2 √x EXEC FN 1/x ➞ 0.8346268
150 Sinc(x)
Returns sin(x)/x
x may be a complex number. sinc(0) = 1.
Examples:
sinc(0.5) = 0.9589
sinc(1.49+4.13i):
CPLX 4.13 ENTER 1.49 EXEC FN → 2.93–6.45i (in x,y)
160 Lucas(x)
Returns the Lucas number of x, defined as Φx + Φ–x·cos(π·x),
where Φ = Golden Ratio

Note: The Lucas number sequence is built in the same way as the Fibonacci number sequence, except that it starts with 2,1,.. instead of 0,1,..
Examples:
Lucas(7) = 29
Lucas(-37) = -4
Lucas(π) = 4.3357
  Geometry  
250 Truncated Circular Cone
Calculates properties of the truncated circular cone. For the regular cone, set top radius to zero.
Inputs: x = base surface radius, y = top surface radius (0 for regular cone),
z = height
Returns: x = volume, y = total surface, z = lateral surface, t = center of mass (above base surface)
Calculate properties of a truncated cone with height h = 7, base radius r1 = 5 and top radius r2 = 2:
7 ENTER 2 ENTER 5 EXEC FN ➞
285.88 (volume), 258.59 (total surface), 167.48 (lateral surface), 2.56 (center of mass)
251 Spherical Segment or Cap
Calculates properties of the spherical segment. For the spherical cap, set top radius to zero.
Inputs: x = lower radius of segment, y = upper radius of segment (0 for cap),
z = height of segment
Returns: x = volume, y = total surface, z = lateral surface (or cap surface), t = radius of sphere
Calculate properties of a spherical segment with height
h = 7, base radius r1 = 5 and top radius r2 = 2:
7 ENTER 2 ENTER 5 EXEC FN ➞
498.47 (volume), 327.96 (total surface), 236.85 (lateral surface), 5.39 (radius of sphere)
  Physics  
300 Oblique Throw (meters)
Calculates the ballistic trajectory of an object thrown at a given initial angle and initial velocity.
Inputs: RA = initial angle, RB = initial velocity, x = desired horizontal distance
Returns:
x = height at distance x
y = maximum height (at half of landing point distance)
z = distance of landing point
t = time to reach highest point
A ball is thrown at at angle of 65 degrees. The initial velocity is 20 m/s.
Find the maximum height, the time to reach it, the height at horiz. distance = 7 m, and the distance of the landing point.
65 STO A 20 STO B 7 EXEC FN ➞
11.65 m (height at horiz. dist. 7 m), 16.75 m (max. height), 31.25 m (distance of landing point), 1.85 s (time to reach highest point)
–300 Oblique Throw (feet)

See description above
A ball is thrown at at angle of 65 degrees. The initial velocity is 50 ft/s.
Find the maximum height, the time to reach it, the height at horiz. distance = 20 ft, and the distance of the landing point.
65 STO A 50 STO B 20 EXEC FN ➞
28.48 ft (height at horiz. dist. 20 ft), 31.91 ft (max. height), 59.52 ft (distance of landing point), 1.41 s (time to reach highest point)
305 Satellite I
Properties of a satellite at known altitude
Input:
x = altitude above Earth surface, in m
Returns:
x = orbital time, in s
y = velocity, in m/s
z = velocity, in km/h
t = escape velocity, in m/s
    (minimum speed needed to escape from Earth's gravitational influence)
Calculate properties of a satellite 640 km above Earth.

640 EEX 3 EXEC FN ➞
5842 s ≈ 97 min (orbital time)
7541 m/s (velocity)
27147 km/h (velocity)
10664 m/s (escape velocity)
–305 Satellite II
Properties of a satellite with known orbital time
Input:
x = orbital time around Earth, in s
Returns:
x = altitude above Earth surface, in m
y = velocity, in m/s
z = velocity, in km/h
t = escape velocity, in m/s
    (minimum speed needed to escape from Earth's gravitational influence)
Calculate properties of a synchronous satellite.

Orbital time = 1 day = 86400 s

86400 EXEC FN ➞
35873006 m ≈ 35.9 km (altitude)
3072 m/s (velocity)
11059 km/h (velocity)
4345 m/s (escape velocity)
310 Hydrogen Atom I
Calculates properties of an electron in orbit number n
(n = "principal quantum number")
Input:
x = orbit no.(1,2,3,..)
Returns:
x = total energy of electron (potential and kinetic), in eV
y = radius of orbit, in m
z = velocity of electron, in m/s
t = orbital frequency (revolutions per second), in Hz
Calculate the electron properties in the third orbit.

3 EXEC FN ➞
-1.5117 eV (energy)
4.7626·10-10 m (radius)
7.2923·105 m/s (velocity)
2.4369·1014 Hz (frequency)

To convert the energy from eV into J, select the built-in constant 01 ("e", "Elementary charge") and multiply.
–310 Hydrogen Atom II
Calculates energy emitted when electron drops to lower orbit
Inputs:
x = lower orbit number, y = higher orbit no. (1,2,3,..)
Returns:
x = energy of photon emitted, in eV
y = frequency of photon emitted, in Hz
z = energy of photon emitted, in J
t = wavelength of photon emitted, in nm
Calculate wavelength and energy of photon emitted when the electron drops from orbit 6 to orbit 1.

6 ENTER 1 EXEC FN ➞
13.2278 eV (energy)
3.1985·1015 Hz (frequency)
2.1193·10-18 J (energy)
93.7303 nm (wavelength)
  Electrical Engineering  
400 Resistance
Equivalent resistance of parallel resistors stored in R.x..R.y.
x = begin of range in extended registers, y = end of range in extended registers.
Returns 0 if any value in the range is 0.
What is the resistance of 1, 2, 3, 4, 5 Ω wired in parallel?
Store 1,2,3,4,5 in registers 20,21,22,23,24: 1 STO.20, 2 STO.21,...
400 EXEC FN ➞ 0.44 Ω
401

RLC Circuit (series)
Calculates impedances and phase shift of an series RLC circuit.
Input:
R0 = frequency (in Hz), R1 = resistor (in Ω), R2 = inductor(in H)
R3 = capacitor (in F)
[To omit a component, set its value to 0.]
Returns:
x = total impedance (in Ω)
y = inductive impedance (in Ω)
z = capacitive impedance (in Ω)
t = phase shift between voltage and current (in current angular units)
R4 = resonant frequency (in Hz)

Calculate values for a series RLC circuit consisting of a resistance of 12 Ω, an inductance of 0.15 H and a capacitor of 100 µF connected to a 50 Hz power supply.
50 STO 0  12 STO 1  0.15 STO 2  100 EEX CHS 6 STO 3
EXEC FN ➞
x = 19.44 Ω (total impedance)
y = 47.12 Ω (inductive reactance)
z = 31.83 Ω (capacitive reactance)
t = 51.88 ° (phase shift in degrees)
R4 = 41.09 Hz (resonant frequency)

Set frequency to resonant frequency and observe total impedance:
RCL 4 STO 0 EXEC FN ➞ 12.00 (= resistance value)
–401

RLC Circuit (parallel)
Calculates impedances and phase shift of a parallel RLC circuit.
Input:
R0 = frequency (in Hz), R1 = resistor (in Ω), R2 = inductor(in H)
R3 = capacitor (in F)
[To omit a component, set its value to a negative number.]
Returns:
x = total impedance (in Ω)
y = inductive impedance (in Ω)
z = capacitive impedance (in Ω)
t = phase shift between voltage and current (in current angular units)
R4 = resonant frequency (in Hz)

Calculate values for a parallel RLC circuit consisting of a resistor of 50 Ω, a coil of 20 mH and a of 5 µF capacitor connected to a 100 Hz power supply.
100 STO 0  50 STO 1  20 EEX CHS 3 STO 2  5 EEX CHS 6 STO 3
EXEC FN ➞
x = 12.66 Ω (total impedance)
y = 12.57 Ω (inductive reactance)
z = 318.31 Ω (capacitive reactance)
t = -75.34 ° (phase shift in degrees)
R4 = 503.29 Hz (resonant frequency)

Set frequency to resonant frequency and observe total impedance:
RCL 4 STO 0 EXEC FN ➞ 12.00 (= resistance value)
402

Wye-Delta Transformation
Converts star configuration of three impedances into its equivalent triangle configuration.
Real impedances: input values in R1, R2, R3. Output values replace input values.
Complex impedances: input values in R1, R2, R3 (real parts) and RS1, RS2, RS3 (imaginary parts).
Output values replace input values.

Convert values 43.35 Ω, 1.57 Ω, 81.98 Ω, arranged in star configuration, into values for the equivalent triangle configuration.
43.35 STO 1  1.57 STO 2  81.98 STO 3
EXEC FN ➞ R1 = 86.52 Ω, R2 = 2388.92 Ω, R3 = 45.75 Ω
–402

Delta-Wye Transformation
Converts triangle configuration of three impedances into its equivalent star configuration.
Real impedances: input values in R1, R2, R3. Output values replace input values.
Complex impedances: input values in R1, R2, R3 (real parts) and RS1, RS2, RS3 (imaginary parts).
Output values replace input values.

Convert values 50+12i Ω, 75-3.1i Ω, 100+11i Ω, arranged in triangle configuration, into values for the equivalent star configuration.
CPLX 12 ENTER 50 STO 1  -3.1 ENTER 75 STO 2
11 ENTER 100 STO 3
EXEC FN ➞ R1 = 33.43-0.67i Ω, R2 = 22.15+5.82i Ω,
R3 = 16.99+1.81i Ω
Note that in complex mode, PrintX prints both real and imaginary parts.
  Business  
800 NOM2EFF
Converts nominal annual interest x (in %) rate to effective rate, using y periods.
Compute effective annual rate if nominal annual interest of 6.0% is compounded quarterly:
4 ENTER 6 EXEC FN ➞ 6.14% (effective annual rate)
–800 EFF2NOM
Converts effective annual interest x (in %) rate to nominal rate, using y periods.
Compute nominal annual interest if effective annual rate of 7.7%, compounded monthly, is known:
12 ENTER 7.7 EXEC FN ➞ 7.44% (effective annual rate)
801 Rule of 78's
Interest portion and interest rebate of a finance charge
x = periodic payment number, y = total periods, z = finance charge
Returns: x = interest portion of the xth payment, y = rebate
Calculate interest portion and rebate of the 25th payment of a 30-month loan having a finance charge of $180.
180 ENTER 30 ENTER 25 EXEC FN ➞ 2.32 (interest portion) x≷y ➞ 5.81 (rebate)
810 Bond Price
Given x = decimal annual coupon rate (in %), y = annual yield to maturity (in %), z = days between purchase and maturity), calculates bond price
What is the price of a 4% bond yielding 3% and maturing in 99 days?
99 ENTER 3 ENTER 4 EXEC FN ➞ 100.27
 
 

 

  Advanced Use of SOLAR


SOLAR expects parameters in all primary registers, i.e. R0...R9, and RA...RE.
Results are returned on the stack and in the secondary registers (RS0...RS9).

Parameters
must be passed according to the table at right.

Results are returned as follows:
Register Value Unit
Stack T Local altitude (atmospheric refraction corrected) [degrees]
Stack Z Local sun transit time (solar noon) [fractional hours]
Stack Y Local sunset time (± 30 seconds) [fractional hours]
Stack X Local sunrise time (± 30 seconds) [fractional hours]
RS0 Local azimuth angle (eastward from north) [degrees]
RS1 Local sun right ascension [degrees]
RS2 Local sun declination [degrees]
RS3 Sunrise hour angle [degrees]
RS4 Sunset hour angle [degrees]
RS5 Sun transit altitude [degrees]
RS6 Greenwich sidereal time [degrees]
RS7 Surface incidence angle, as determined by parameters RC and RD (see table at right) [degrees]
RS8 Equation of time (difference between solar apparent and mean time) [minutes]
RS9 Julian day number  


NOTES:
 

Parameters & Error Codes
When "Error" appears, tapping any key reveals a code # indicating the error's cause.
Asterisked parameters, if invalid, will be set to a default value.
  # Reg Value Range
  1 R0 4-digit year -2000 to 6000
  2 R1 2-digit month 1 to12
  3 R2 2-digit day 1 to 31
  4 R3 Observer local hour 0 to 24
  5 R4 Observer local minute 0 to 59
  6 R5 Observer local second 0 to 59
  8 R6 Observer time zone (negative west of Greenwich) -18 to 18 hours
  9 R7 Observer longitude (negative west of Greenwich) -180 to 180 degrees
 10 R8 Observer latitude (negative south of equator) -90 to 90 degrees
 11 R9 Observer elevation -6,500,000 or higher meters
  * RA Annual average pressure 0 to 5000 millibars
  * RB Annual average temperature -273 to 6000 °C
  * RC Surface slope (measured from the horizontal plane) -360 to 360 degrees
  * RD Surface azimuth rotation (measured from south to projection of surface normal on horizontal plane, negative west) -360 to 360 degrees
  * RE Difference between earth rotation time and terrestrial time (typically 67 seconds) -8000 to 8000 seconds
 
Legal notice:
SOLAR is based on The Solar Position Algorithm, Copyright © 2008-2011 Alliance for Sustainable Energy, LLC, and is used by permission.

 

 
 

 

  Using TEXT Helper


Printing text on paper tape involves converting the text to suitable number values and executing OP TEXT or OP PLOTC operations.

TEXT Helper is an easy-to-use tool for generating the required numbers. (Not available on RPN-67 SD.)

OP TEXT
Fetch existing text loads the text currently stored at the indicated location (if any) into the text field.

Alternatively, the generated code may be pasted into the calculator's display (in PRGM mode), or into the listing field of the Card Manager (in RUN mode.)


OP PLOTC
Using the value in the X-register, PLOTC prints up to 4 characters positioned anywhere on a paper tape line.
The integer part of the value defines the position. The alignment buttons may be used to insert the correct values for left, center or right alignment.
 


Available TEXT characters

All 3-digit numbers in the range 1 to 255 have been assigned to characters. (Note that 000 is used to denote the end of a string.)

A list of available characters and their codes may be produced anytime be running the program "Character Set for TEXT".

Alternatively, you may download the PDF version of the printer output.
 
 


Copyright © 2017. All rights reserved.