Advanced Features — For the Pros


Source Code Editing

You are not restricted to punching keys to enter programs into RPN-65 Pro. Apart from loading cards presented on this website, you may also paste program listings into the simulator, either in the program listing (in RUN mode) or in the display (in PRGM mode). You may also type in programs directly in the program listing field.

Program listings may contain keycodes, but they don't have to. If keycodes are present, they will be used and other text will be ignored.

If keycodes are not provided, the emulators will look for command symbols (mnemonics), like LBL A or DSP 9. You may use the HP-65 paper tape symbols, but you are not required to strictly follow the syntax.
For example, arc sine may be entered as SIN⁻¹, SIN^-1, SIN-1, SIN1, SIN^1, ASIN, or f1 SIN, in either upper or lower or mixed case.



Example

The entire text below may be pasted into
• the listing area (in RUN mode), or
• the calculator's display (in W/PRGM mode)



		lbl A     // Start
		Enter
		1x
		atan
		sto5
		gto 1
		return
		
		rem       Calculate first value
		lbl 1
		rcl 5
		sto 9
		xy
		yx
		stop
		down
		sqr
		gto2
		ret
		
		label 2  'Second value
		57
		fac
		*
		0.314
		+
		DSP.2
		ret
		
• In PRGM mode, go to the step where you want to insert the new code, then tap and hold the display and paste.

• In RUN mode, open the card manager and paste the code into the listing.

• In the program listing (in RUN mode), edit any line by typing in the desired keycode or command name. Make sure to also delete the current keycode, as keycodes take precedence over command mnemonics.



Error Checking

Unrecognized commands are identified in the listing as shown below:



Simply tap the red message to scroll the next error into view.



Mnemonics

Command names recognized by RPN-65 Pro are shown below. Input is case-insensitive, except where it matters, e.g. LBL a vs. LBL A.
Mmnemonics in italic are available in Plus mode only.

Hints:
• Enter commands as shown below, without prefix keys f, f⁻¹ or g
• Commands like LBL 3, GTO 5, DSP.2 may be entered on a single line, with or without blanks
• A positive multi-digit value may be entered on a single line, e.g. 1.732

A convenient way to create a program is to use the instructions area for entering and editing the source text, including comments. Simply copy the text to the listing area for automatic translation.

Comments
delimiters
#  ;  //  REM  '
Row 2 DSP
DISP
GTO
GOTO
GTO+
GOTO+
GSB
GSB+
GS+
LBL
LABEL
LBL+
LABEL+
RTN
RET
RETN
RETURN
Row 2 shifted
(also applicable to comparisons with 0)
x≠y
x#y
x<>y
x!=y
x=/=y
xNEy
xNEQy
x≤y
x<=y
xLEy
xLTEy
x=y
x==y
xEQy
x>y
xGTy
Row 3     STO
ST
STO.
ST.
STOi
STi
RCL
RC
RCL.
RC.
RCLi
RCi
Row 4 ENTER
ENT↑
ENT
E^
     
Row 4 f-shifted
(CLEAR functions)
PREFIX STK
CSTK
CLSTK
REG
CREG
CLREG
CLXT
CLEXT
Row 4 f⁻¹-shifted
(PRINT functions)
  PSTK PREG PPGM
Row 4 g-shifted DEG
DEGREES
RAD
RADIANS
GRD
GRAD
GRADS
 
Row 5 f-shifted SF 1
SF1
LN LOG √x
SQRT
SQRTX
ROOT
Row 5 f⁻¹-shifted CF 1
CF1

e^x
EXP
EX
10ˣ
10^x
10x

x^2
x2
SQR
SQUARE
Row 5 g-shifted   x≷y
x<->y
x<-->y
xy
R↓
Rv
RD
RDN
RDOWN
DOWN
R↑
R^
RU
RUP
UP
Row 6 f-shifted TF 1
TF1
SIN COS TAN
Row 6 f⁻¹-shifted TFN 1
TFN1
TNF 1
TNF1
SIN⁻¹
ASIN
SIN-1
SIN1
SIN^-1
SIN^1
COS⁻¹
ACOS
COS-1
COS1
COS^-1
COS^1
TAN⁻¹
ATAN
TAN-1
TAN1
TAN^-1
TAN^1
Row 6 g-shifted   1/x
1x
xy

y^x
yx
ABS
Row 7  ×
 x
 *
     
Row 7 f-shifted SF 2
SF2
R→P
R–>P
R>P
–>P
>P
D.MS+
DMS+
√x
SQRT
SQRTX
ROOT
Row 7 f⁻¹-shifted CF 2
CF2
P→R
P–>R
P>R
–>R
>R
D.MS-
DMS-

x^2
x2
SQR
SQUARE
Row 7 g-shifted   NOP π
Pi
n!
FAC
FACT
Row 8  ÷
 /
    R/S
RS
STOP
HALT
Row 8 f-shifted TF 2
TF2
→OCT
–>OCT
>OCT
OCT
INT
INTGR
IP
TAN
Row 8 f⁻¹-shifted TFN 2
TFN2
TNF 2
TNF2
OCT→
OCT–>
OCT>
DEC
FRAC
FRC
FP
TAN⁻¹
ATAN
TAN-1
TAN1
TAN^-1
TAN^1
Row 8 g-shifted   LSTx
LASTx
Lx
DSZ W/DATA
WDATA
DATA
WD
 

It will be instantly converted into this:


     *LBL A:
001:  23        LBL   
002:  11        A     
003:  41        ENT↑  
004:  35        g     
005:  04        1/x   
006:  32        f⁻¹   
007:  06        TAN⁻¹ 
008:  33 05     STO 5 
009:  22        GTO      [012]
010:  01        1     
011:  24        RTN   

      LBL 1:
012:  23        LBL   
013:  01        1     
014:  34 05     RCL 5 
015:  33        STO   
016:  09        9     
017:  35 07     g x≷y 
018:  35        g     
019:  05        yˣ    
020:  84        R/S   
021:  35 08     g R↓  
022:  32        f⁻¹   
023:  09        x²    
024:  22        GTO      [027]
025:  02        2     
026:  24        RTN   

      LBL 2:
027:  23        LBL   
028:  02        2     
029:  05        5     
030:  07        7     
031:  35        g     
032:  03        n!    
033:  71        ×     
034:  83        .     
035:  03        3     
036:  01        1     
037:  04        4     
038:  61        +     
039:  61        DSP     
040:  83        .     
041:  02        2     
042:  24        RTN   

(NOTE: STO 9 translates into a merged command in Plus mode)
 

 

Data Cards


Unlike the HP-65, RPN-65 Pro can handle data cards. Data cards store register contents which may be retrieved by simply reading the card. This is very useful for presetting registers with constants without wasting many program steps (one per digit of each value.)

Data cards may be loaded in all modes, but only modes UI and Plus can also write data cards.


To write a data card:






RPN-65 Pro also imports data cards created by RPN-67 and RPN-97 (see right).

g W/DATA is programmable. If the running program encounters this command, it will stop and show the message "Crd". You can then proceed as shown above.
After returning from the card manager, the program will continue automatically.
You can also dismiss the "Crd" prompt by tapping any key. Then tap R/S to continue program execution.
 

     
RPN-67/97 RPN-65
R0...R9   R0...R9
RA...RE   RA...RE
RS0...RS4   Ra...Re
R.00...R.99   R.00...R.99
     
Register mapping of imported data cards
 

 

Plus Cards


Both program and data cards created or duplicated in Plus mode are marked as "Plus Cards" (see pictures at right.)


Plus cards support the additional features of RPN-65 Pro in Plus mode, such as:







A regular card can be converted by duplicating it in Plus mode.
A Plus card can be converted into a regular card by duplicating it in any non-Plus mode.

Loading a Plus program card automatically puts RPN-65 Pro into Plus mode.

 

 

 

"Magic 99"


In Plus mode, address 99 is used for extra features.


Auto-Executing Subroutine 99

If a subroutine identified by LBL 99 exists, it will be executed automatically after the program card has been loaded from the card manager.

Applications of this feature include setting up the calculator by storing values in the registers without requiring the user to press any key.

Cards containing an auto-executing subroutine are identified like this:
 

Tap the green text to scroll LBL 99 into view in the listing.




Register 99 Functions

If register 99 contains a certain pre-defined value, recalling this value will execute a function instead of returning the value. Special values are defined as ±nE99, where n = 1..9. See the table at right for available functions.

Example:
9  EEX  99  STO.99  stores the value for function 9 in register 99.
Executing RCL.99 will then produce the sound BEEP 1.

Note that you can store 99 in register 8 and then use indirect STi and RCi (g STO and g RCL) to access register 99.

 
1 SWAP REGS Exchange registers 0..9 with registers A..e.  
-1 STO REGS Copy registers 0..9 to registers A..e.  
2 STO EXT Copy registers 0..9 and A..e to extended registers 00..19.  
-2 RCL EXT Copy extended registers 00..19 to registers 0..9 and A..e.  
3 CHOP Returns 0 if absolute value of x is less than 5E-10. CHOP(1/12!) = 2.09E-9
CHOP(1/13!) = 0
-3 EXP/MANT Returns in X the exponent, in Y the mantissa of x. EXP/MANT(325E5):
x = 7, y = 3.25
4 RANDOM Returns in X a random number in the range 0 ≤ x < 1.  
-4 Gamma Γ Returns in X and Y the complete Gamma function (for any real or complex number x+yi). Set y = 0 for real numbers.
Note that x! = Γ(x+1)
Γ(10) = 362880 (= 9!)
Γ(-2.33) = -1.32
Γ(3+1.2i) = 0.622 + 1.386i
5 VEC NORM Normalizes the vector [R1 R2 R3]. NORM([3 1 2]) = [0.802 0.267 0.535]
-5 VEC ANGLE Returns in X the angle between vectors [R1 R2 R3] and [R4 R5 R6]. ANGLE([2 -3 4],[5 2 1]) = 74.26°
6 VEC DOT Returns in X the dot product of vectors [R1 R2 R3] and [R4 R5 R6]. DOT([2 -3 4],[5 2 1]) = 8
-6 VEC CROSS Returns in X,Y,Z the cross product of vectors [R1 R2 R3] and [R4 R5 R6]. CROSS([2 -3 4],[5 2 1]) = [11 -18 -19]
7 MAT DET Returns the determinant of the 3x3 matrix [R1...R9].
Row1: R1...R3, row2: R4...R6, row3: R7...R9
Area of triangle with vertices (0,0),(4,0),(4,3):
DET({0,0,1},{4,0,1},{4,3,1}) / 2 = 6.00
-7 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.)
8 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.
Row1: R1...R3, row2: R4...R6, row3: R7...R9
EIG({3,4,5},{4,5,6},{5,6,7}) = {15.3899,-0.3899,0}
-8 DATE, TIME Returns the current date in X, the current time in Y.
Formats: mm.ddyyyy and hh.mmss (24-hrs, plus fraction of sec).
A negative date indicates a leap year.
 
9 BEEP 1 Sounds a single-tone beep.  
-9 BEEP 2 Sounds a two-tone beep..  
 

 

Program Cards with Registers


In addition to regular data cards, you can save the contents of all internal and extended registers on program cards.

This is convenient for programs involving frequently updated data, like managing
an inventory, a stock portfolio, or doing checkbook-balancing.

  • To save registers to the selected program card
  • • In RUN mode, open the Card Manager
  • • Select the desired program card
  • • Set the switch "With Regs" to ON
  • • Tap "Write Card" to resave the program along with all registers

  • To load registers from the selected program card
  • • In RUN mode, open the Card Manager
  • • Select the desired program card
  • • If the switch "With Regs" shows a dark outline, the card contains registers
  • • Set the switch to ON
  • • Tap "Load Card" to load the program along with all stored registers

  • To remove registers from a program card
  • • In RUN mode, open the Card Manager
  • • Select the desired program card
  • • Make sure the switch "With Regs" is OFF
  • • Tap "+" and select "Duplicate" to make a copy of the card without registers

Tips:
By storing the stack in registers R.00..R04 (using STO ENTER), you can easily restore the stack on loading the program. Just execute RCL ENTER, possibly as an auto-executing subroutine (see "Magic 99" above.)

To save program changes, don't turn "With Regs" on, unless you want to update the register data. Registers stored on a card are not affected by resaving the program.





Card contains no registers





Registers will be written to
or loaded from card





Card contains registers

 
 

 

Using Touch ID / Face ID


On devices with activated Touch ID or Face ID, you may protect the register data stored on program cards.

  • To protect registers with Touch ID or Face ID
  • • Store the value 89 89 89 89 89 (without the blanks) in register R.89

From now on, whenever registers are about to be stored or retrieved from the
associated program card, you'll be prompted to identify yourself.

If authorization fails, registers will be simply ignored.

Fallback to a passcode is not supported.


  • To remove Touch ID protection from a card
  • • Change the value in register R.89 to a value different from 89 89 89 89 89
  • Resave the card, including registers



Note:
Activating "With Regs", then double-tapping the Touch ID-protected card in the card list will take you back to the card details. Use "Load" to load card.

 
 

Copyright © 2023. All rights reserved.