Privileg PR-56D-NC

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: Green  
    Display technology: Vacuum fluorescent display 
Size: 5½"×3½"×1" Display size: 8+2 digits
Weight: 8 oz    
    Entry method: Algebraic 
Batteries: 3×"AA" alkaline Advanced functions: Trig Exp 
External power: 6VDC   Memory functions: +/-/×/÷ 
I/O:      
    Programming model: Partially merged keystroke 
Precision: 10 digits Program functions: Jump Cond  
Memories: 10 numbers Program display: Keycode display  
Program memory: 72 program steps Program editing: Overwrite capability  
Chipset:   Forensic result: 9.147056792  

pr56d.jpg (30036 bytes)As popular a "store brand" in Germany as Radio Shack is in the United States, Privileg released many OEM calculators during the seventies. Some of these, the PR56D-NC among them, were programmable. Its programming model is a telltale version common to calculators that use MOS chipsets, and similar to the classic Commodore PR-100. (Another calculator with the same chipset that's used in the PR56D-NC is the Sanyo CZ-0911PG.)

Despite their obvious limitations, I remain curiously attached to calculators of this type. No doubt it is due to the fact that the first programmable I ever owned, a Hungarian version of the PR-100, had the same programming model. Although the PR-100 has more functions, the PR56D-NC has a huge advantage when it comes to programming: its programming model is partially merged, meanings that the ARC/F (second function) key does not count as an extra keystroke. This subtle difference can mean a huge savings in program steps, making it possible to implement algorithms that just wouldn't fit into the 72-step unmerged program space of the PR-100.

Case in question: my favorite programming example, the Gamma function. Just today I received an e-mail from Robert H. Windschitl who showed that Stirling's formula can, in fact, be used to derive another approximation, particularly efficient because it requires no constants that consume either precious register space or an inordinate number of programming steps. His approximation requires the hyperbolic sine function; although not present on the PR56D-NC's keyboard, it can be computed easily enough (sinh x=(ex-e-x)/2). Even with a correction factor and an iterative loop for arguments less than 3, the program conveniently fits into the calculator's 72-step program memory:

00	55	STO
01	101	1
02	55	STO
03	100	0
04	11	-
05	105	3
06	10	+
07	96	SKIP
08	93	GOTO
09	101	1
10	108	8
11	106	4
12	80	=
13	52	M×
14	101	1
15	93	GOTO
16	100	0
17	102	2
18	105	3
19	80	=
20	17	1/x
21	42	ex
22	11	-
23	64	x-y
24	17	1/x
25	13	÷
26	102	2
27	12	×
28	56	RCL
29	100	0
30	10	+
31	81	(
32	56	RCL
33	100	0
34	18	x2
35	18	x2
36	17	1/x
37	13	÷
38	56	RCL
39	100	0
40	18	x2
41	13	÷
42	108	8
43	101	1
44	100	0
45	80	=
46	19	√
47	12	×
48	56	RCL
49	100	0
50	13	÷
51	101	1
52	42	ex
53	14	yx
54	56	RCL
55	100	0
56	12	×
57	81	(
58	102	2
59	12	×
60	65	π
61	12	×
62	56	RCL
63	100	0
64	82	)
65	19	√
66	13	÷
67	56	RCL
68	101	1
69	80	=