Spotlight: Commodore P50
Quick Facts
Model: P50
Company: Commodore
Timeline: 1978
Type: Scientific, Programming
Memory: 24 Steps
Order of Operations? No
Battery: 1 x 9-volt battery
Memory Registers: 1
Screen: 8 digits, red LED lights
Manual: www.wass.net/manuals/Commodore%20P50.pdf
From Kate Wasserman, Ph. D.’s website: https://www.wass.net/
This is my first Commodore calculator. The purchase included the calculator a manual, which is available from Kate Wasserman’s website above.
Calculating With the P50
Even though the P50 is a larger sized calculator, the calculator feels light weight. The keys are a pleasure to press.
The set of the P50’s functions is a set of basic of scientific calculators:
* Arithmetic functions
* 1/x, x^2, √x. The power function is missing.
* Logarithmic and exponential functions: log, 10^x, ln, e^x
* Trigonometric Functions: sin, cos, tan, arcsin, arccos, arctan, π key.
* Factorial of positive integer: [ n! ]
* Integer part: [ INT ]
* Memory keys: store, recall, product, sum, exchange. We only get one memory register on the P50.
Every function is a primary key except the inverse the inverse trigonometric functions, which are accessed by the [ arc ] key first.
The P50 operates in Chain mode. That is, operations happen in the order of the keys pressed, without regard to the order of operations.
Example:
9 [ × ] 7 [ + ] 8 [ = ] returns 71.
8 [ + ] 9 [ × ] 7 [ = ] returns 119.
There are no parenthesis keys, hence for more complex calculations, the use of the memory key is needed.
Powers and Roots
The P50 is missing the power function. The manual suggests that powers are calculated by the following keystroke sequence:
y^x: y [ ln ] [ × ] x [ = ] [ e^x ]
y^(1/x): y [ ln ] [ × ] x [ 1/x ] [ = ] [ e^x ]
Alternatively:
y^x: y [ log ] [ × ] x [ = ] [ 10^x ]
y^(1/x): y [ log ] [ × ] x [ 1/x ] [ = ] [ 10^x ]
Example:
5^8: 5 [ ln ] [ × ] 8 [ = ] [ e^x ]; returns 390,625
5^(1/8): 5 [ ln ] [ × ] 8 [ 1/x ] [ = ] [ e^x ] returns 1.2228445.
Other function sequences:
Absolute Value, abs(x): [ x^2 ] [ √x ]
4th Power, x^4: [ x^2 ] [ x^2 ]
Cube, x^3: [ STO ] [ x^2 ] [ x^2 ] [ ÷ ] [ RCL ] [ = ] (memory is used)
Sign Function, x ≠ 0, sgn(x): [ STO ] [ x^2 ] [ √x ] [ ÷ ] [ RCL [ = ] (memory is used)
Fraction Part, frac(x): [ STO ] [ - ] [ RCL ] [ INT ] [ = ] (memory is used)
Programming
The P50 has a 24-step capacity. There are no merged keystrokes with exceptions:
* The arcsin, arccos, and arctan key sequences ( [ arc ] [ sin ], [ arc ] [ cos ], [ arc ] [ tan ]) are merged.
* The [ GOTO ] key is followed by a two digit address. In this case any steps 0 through 9 are preceded by a zero (00 -09).
The low amount of programming steps and the one memory register to work with, the P50 programming module is good for short, quick repeated calculations. The programming keys available are:
[ lrn ]: Learn/(Run) Mode Toggle. In run mode you are only shown the step number and nothing else.
[ R/S ]: Run/Stop
[ SSTP ]: Single Step key. However, it only works in run mode, executing program steps one step at a time. This is the most annoying quirk of the P50, almost making it programming in the blind calculator. There are no key codes with each step, and they really should be.
[ GOTO ] ##: Directs the P50 to go to step 00-23. The two digit number after a GOTO counts as one step.
There are three skip functions. If the test is true, the program either:
* Skips the next step or
* Skips the next two steps if the step that follows the test is a GOTO.
[ SKZ ]: Skip if the number in the display is zero. (skip if x = 0)
[ SKN ]: Skip if the number in the display is negative. (skip if x < 0)
[ SKP ]: Skip if the number in the display is positive or zero. (skip if x ≥ 0)
In order for the program to stop and display results and reset for the next calculation, we need the following sequence of steps:
R/S
GTO 00
Otherwise, the program could run unintentionally forever.
There is no clear program button, but programs are not kept when the P50 is turned off.
P50: Sample Programs
Round to the nearest hundredths (2 decimal places)
× 1 0 0 + . 5 INT ÷ |
1 0 0 = R/S GTO 00 |
|
Examples:
36.728 → 36.73
54.616 → 54.62
40.303 → 40.30 (display shows 40.3)
Permutation
nPr = n! / (n – r)!
STO - R/S n! 1/x |
× RCL n! = R/S |
GTO 00 |
To Run: (GTO 00): n R/S r R/S nPr
Examples:
n = 20, p = 8: 5.0791104 E09 (5,079,110,400)
n = 12, p = 6: 665,280
n = 13, p = 7: 8,648,640
Volume of a Sphere
V = 4 * π * r^3 / 3
STO x^2 x^2 ÷ RCL |
× π × 4 ÷ |
3 = R/S GTO 00 |
Examples:
r = 11.1: 5,728.7193
r = 6: 904.77868
r = 10: 4,188.7902
Pseudo Random Number Generator
#_i = frac( (π + #_i) ^ 5) = M – int (M) (where M = e^( 5 * ln (#_i + π))
+ π = ln × |
5 = e^x - INT |
= R/S GTO 00 |
To run: seed R/S, R/S, R/S, ….
Examples:
0.552 → 0.4561281 → 0.7501096 → 0.6846062
0.838 → 0.1437699 → 0.7511575 → 0.8871519
Modulus of Positive Numbers
a > 0, b > 0, a mod b = a – int(a / b) * b
÷ R/S STO = - |
INT × RCL = R/S |
GTO 00 |
To run: a R/S b R/S result
Examples:
19 mod 7 = 5
288 mod 17 = 16
Eddie
All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.