## Texas Instruments SR-50 Calculator Simulator

This is a simulator of the Texas Instruments SR-50 calculator (vintage 1974). It attempts to mimic the operation of the SR-50.

I was always looking for a good scientific calculator to use while on a PC. Of course there are built-in ones on smart phones and among a PC's tools. However the SR-50 holds a special place in my past - my first scientific calculator. It is also Texas Instruments' first scientific calculator.

It should work on smart phones as well.

Here is the simulator - click link below.

## Simulator Differences

The design goal of the simulator was to be keystroke-accurate to the look and feel of the real SR-50 calculator. This has been achieved as far as normal operating procedure. The simulator performs the original instruction booklet's text and examples as stated.

There are several idiosyncrasies that the SR-50 exhibits during unusual key sequences. These have not been precisely duplicated. It was felt that attempting to mimic all obscure cases would add much code and yet be rarely if ever exercised.

As this calculator was meant for real use I added some more functions.

This simulator remains backward-compatible with the real SR-50 because new functions do not impair the simulator's mimicry when they are not used.

Below is a list of additional functions that the simulator supports.
• [hyp] [D/R] - dd.mmss --> dd.xxxxxxxx
• [hyp] [arc] [D/R] - dd.xxxxxxxx --> dd.mmss
• [hyp] [log] - log base 2
• [hyp] [arc] [log] - 2 ^ x
• [arc] [log] - 10 ^ x
• [hyp] [x^2] - x ^ 3 (cube)
• [hyp] [√x] - 3√x (cube root)
• [hyp] [1/x] - percent
• [hyp] [x!] - gamma function Γ(x+1); For whole numbers this coincides with factorial x.
• [arc] [x!] - inverse factorial or inverse Γ(x+1)
• [hyp] [x√y] - combinations nCr (binomial coefficient); Accepts positive and negative non-integers.
• [hyp] [y^x] - permutations nPr; Accepts positive and negative non-integers.
• [hyp] [RCL] - exchange x with memory
• [hyp] [∑] - product into memory
• [hyp] [x↔y] - rectangular --> polar coordinates. Enter Y, X; result is distance, angle.
• [hyp] [arc] [x↔y] - polar --> rectangular coordinates. Enter distance, angle; result is Y, X
• [hyp] [Pi] - prime factorization. Number must be an integer greater than 1 and less than 1e10. Blinking indicates number is improper. Enter number, press [hyp][Pi] to display first prime factor. Number will be the same if it is a prime number. Press [Pi] repeatedly for subsequent prime factors. Last factor when display shows a decimal point. A zero indicates all factors have been displayed after which the [Pi] key reverts to normal function.
• [hyp] [÷] - GCD (greatest common divisor)
• [hyp] [×] - LCM (least common multiple)
• [hyp] [-] - L(n) Lucas number; Accepts positive and negative non-integers.
• [hyp] [arc] [-] - inverse Lucas number; finds index of
• [hyp] [+] - F(n) Fibonacci number; Accepts positive and negative non-integers.
• [hyp] [arc] [+] - inverse Fibonacci number; finds index of
• [arc] [EE] - cancel scientific notation
• [hyp] [EE] - set engineering notation
• [hyp] [arc] [EE] - cancel engineering notation
• 'esc' key - delete digit during entry

## Simulator provides optional key labels

The 'arc' and 'hyp' keys provide additional functions as in the original SR-50. Because the simulator has even more functions that also rely on these keys it was felt that key labels can be helpful. These will show up above the keys.

However if you do not wish to see them they can be disabled by turning off the checkbox at the bottom of the page.

## Keyboard Input

While using the mouse and clicking buttons on the screen most resembles the feel of the physical calculator, some laptops do not use a mouse. Instead they use a touchpad. This makes key presses uncomfortable. For such situations the simulator also accepts entry via the keyboard.

Each of the calculator's on-screen keys can be pressed by using the PC keyboard's letters, punctuation, and numeric digits. To know how the keyboard is used press the space bar to make legends appear.

The numeric digits zero to nine have obvious equivalents. The basic arithmetic operators: "addition", "subtraction", "multiplication", "division", and "power of" are invoked buy using +, -, *, /, and ^ respectively.

## Calculator Precision

The simulator carries out calculations with more precision than the real SR-50's 13 digits. The higher precision numbers are available in a text box at the bottom of the screen.

Note that the high-precision result is the raw number - it is not subject to special number formatting such as engineering notation or forced scientific notation when there is no need for it.

Numbers may be copied from or pasted to this text box. This enables subsequent use of calculator's results or numeric entry from other sources.