Commodore PR-100

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: Red  
    Display technology: Light-emitting diode 
Size: 6"×3"×1" Display size: 8+2 digits
Weight: 8 oz    
    Entry method: Algebraic 
Batteries: 3×"AA" NiCd Advanced functions: Trig Exp Hyp Lreg Units 
External power: Commodore 707 adapter (6V DC 300mA)   Memory functions: +/-/×/÷ 
I/O:      
    Programming model: Keystroke entry 
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.14705679  

pr100b.jpg (26235 bytes)In the 1970s, Commodore produced many high-end calculators. Two of them were programmable models: of these, the PR-100 offered more program storage space. This calculator, in addition to the rich array of functions one has gotten used to with Commodore's high-end models, offered storage for 72 program steps and 10 memory registers, and also had more built-in functions than the P50.

Unfortunately, program steps were not merged; each individual keystroke counted as a separate step in program memory. This included the F key (used to invoke secondary functions) and the (inv) key (used to invert trigonometric functions.) Accessing memory registers also consumed two steps, while memory arithmetic operations used three (e.g., F M+ 3.) Conditional branching was very unsophisticated, with a single branching instruction (SKIP) that skipped the next keystroke (or three keystrokes if the next keystroke was a GOTO) if the number on the display showed a negative sign. (-0 counted as a negative number, leading to interesting programming tricks.)

Despite its shortcomings, this was a very versatile calculator. Testifying to its success are the many OEM versions, including the APF Mark 90, or a Hungarian model produced by Híradástechnika (PTK-1072.) The price of this latter model allowed many Hungarian students (me among them) to own one.

The PR-100 was produced using two different housing styles. The one shown here appears to have been used exclusively by Commodore, while the other was also used for OEM versions.

Despite the calculator's limited program memory and completely unmerged programming model it is possible to implement the Gamma function if, in addition to the program that needs to be keyed in, certain constants are stored in memory. Out of curiousity, compare this with the implementation for the TI-57, which has fewer program steps but a merged programming model and more powerful functions.. Now which one is the better calculator?

When entering the program, you must also set registers 4-9 to predefined values. These registers remain unaltered by the program. To enter values with ten-digit precision, use key sequences like this one:

82784822 ÷ 1 EE 8 + 68 = M 5

.9596084 + 755 = M 6

To calculate the Gamma function of a positive real argument, enter the argument, make sure that the program counter is at 00 (type GOTO 00) and hit the R/S button. Note that memory registers 2-3 are also used by the program.

M4=√2π
M5=68.82784822
M6=755.9596084
M7=4151.488796
M8=11399.36541
M9=12520.43913

51 00	M
82 01	2
74 02	×
52 03	MR
71 04	4
84 05	+
52 06	MR
05 07	5
74 08	×
52 09	MR
82 10	2
84 11	+
52 12	MR
73 13	6
74 14	×
52 15	MR
82 16	2
84 17	+
52 18	MR
61 19	7
74 20	×
52 21	MR
82 22	2
84 23	+
52 24	MR
62 25	8
74 26	×
52 27	MR
82 28	2
84 29	+
52 30	MR
63 31	9
75 32	÷
72 33	5
51 34	M
83 35	3
52 36	MR
82 37	2
75 38	÷
64 39	(
52 40	MR
83 41	3
85 42	-
81 43	1
21 44	F
84 45	M+
82 46	2
65 47	)
15 48	SKIP
14 49	GOTO
83 50	3
71 51	4
92 52	.
72 53	5
21 54	F
85 55	M-
82 56	2
52 57	MR
82 58	2
21 59	F
32 60	ex
74 61	×
64 62	(
52 63	MR
82 64	2
85 65	-
72 66	5
34 67	yx
52 68	MR
82 69	2
55 70	x-y
95 71	=