Technico PSR-98

Datasheet legend
Ab/c: Fractions calculation
AC: Alternating current
BaseN: Number base calculations
Card: Magnetic card storage
Cmem: Continuous memory
Cond: Conditional execution
Const: Scientific constants
Cplx: Complex number arithmetic
DC: Direct current
Eqlib: Equation library
Exp: Exponential/logarithmic functions
Fin: Financial functions
Grph: Graphing capability
Hyp: Hyperbolic functions
Ind: Indirect addressing
Intg: Numerical integration
Jump: Unconditional jump (GOTO)
Lbl: Program labels
LCD: Liquid Crystal Display
LED: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable statistics)
Solv: Equation solver
Subr: Subroutine call capability
Symb: Symbolic computing
Tape: Magnetic tape storage
Trig: Trigonometric functions
Units: Unit conversions
VAC: Volts AC
VDC: Volts DC
Years of production:   Display type: Numeric display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 5½"×3"×½" Display size: 10(8+2) digits
Weight: 2 oz    
    Entry method: Algebraic with precedence 
Batteries: 2×"V386" button cell Advanced functions: Trig Exp Hyp Lreg Cmem BaseN Units 
External power:   Memory functions:
I/O:      
    Programming model: Partially merged keystroke 
Precision: 11 digits Program functions: Jump Cond  
Memories: 7 numbers Program display:  
Program memory: 45 program steps Program editing:  
Chipset: Canon   Forensic result: 9.0000278593  

psr98.jpg (30131 bytes)This Taiwanese programmable calculator (remember when so many electronic gizmos used to be made in Taiwan? Not anymore; most are made in China nowadays) is yet another OEM machine containing the same chipset as the Citizen SR-59. What chipset it is, I have yet to find out; the machines I was able to open up had unmarked chips inside. Probably Toshiba.

Although the PSR-98 has conditional and unconditional branch instructions, its programming model is nevertheless somewhat simplistic. The most significant limitation is that jump destinations are limited to within nine steps of the current program location. There's also no ability to view or edit programs, making the programming process more cumbersome than it ought to be.

The programming example I wrote for this machine doesn't use branch instructions, however. It is a straightforward implementation of the logarithm of the Gamma function using the Lanczos-approximation. In addition to using 43 of the machine's 45 program steps, it also requires that you enter four constants into the calculator's memory registers; what you get in return is an algorithm that computes the result to 8+ digits of precision:

STO 3: 2.5066284644
STO 4: 41.41740453
STO 5: -27.063892494
STO 6: 2.2393179633

MS
+/-
-
3
.
1
5
+
+/-
ln
×
(
MR
-
.
5
)
+
(
RCL
3
+
RCL
4
÷
MR
+
RCL
5
÷
1
M+
MR
+
RCL
6
÷
1
M+
MR
)
ln
=