ProCalc
Scientific Calculator
by John K. Brochu
for Advanced Software
Copyright 1991 Atari Corp.
Version 1.26
October 12, 1991
---------------------------------------
ABOUT PROCALC
ProCalc is a full-featured Scientific Calculator with log, exponential, power, root, and trigonometric calculations in degrees and radians, as well as a Computer Math Calculator with calculations and display in any common base (2/8/10/16), selectable number sign and size (signed/unsigned, byte/word/long), and full bitwise operators with CPU condition codes display. There is also a time display mode for fast hour/minute/second calculations, a 10+1 number memory, an automatic constant, and 50-levels of nested parenthesis.
ProCalc can also be configured as a basic 4-function calculator if that's all you need. Press the window 'fuller' button at the upper right of the ProCalc window to toggle between basic and expanded configurations.
The current configuration can be saved by pressing the [PREF] (preferences) button at the bottom right of the calculator. This saves the current mode (SCI/BIN/OCT/DEC/HEX/HMS) and configuration (basic/expanded) so that ProCalc always comes up with your preferred settings. The configuration file is saved to the root directory of the boot drive under the name "PROCALC.INF".
Note that when ProCalc is in the basic configuration, it automatically switches to SCIentific mode.
KEYCAPS
All buttons can be activated with either the mouse or keyboard. For key assignments, press the [?] button on the upper right of the calculator, or press the '?' key. This will temporarily change the labels on each of the buttons to their keyboard equivalents. Shifted keys are shown with a lower-case 's' before the key, while control keys have a caret ('^') before the key (ie. ^S means Control-S, sF1 means Shift-F1). The keypad, of course, works as you would expect, with the 'Enter' key, as well as the 'Return' key, equivalent to the [=] button on the calculator.
Some of the buttons also have a secondary function that can be activated by holding down either a keyboard 'Shift' key or the right mouse button while pressing the button. Such keys are the degree/radian [D/R] button, the percent [%] button, all the memory buttons, and the [SIZE] button in computer math modes. All functions are explained below.
NUMERIC DISPLAY AND ENTRY
The display in Scientific mode has a 10-digit mantissa with 2-digit exponent. The Computer Math mode display is 16 digits maximum, or no larger than necessary to display a number in the current word size. In BINary mode, if the number is larger than 16 digits, you can view half the number at a time, and flip the display left or right using the arrow button just under the left side of the display. A small arrow will show at the bottom left or right of the display to indicate a display overflow.
During number entry, you can do some simple editting using the 'Backspace' key or button under the right side of the display. This erases the last digit entered.
The [CEC] (Clear Entry/Clear) button can be used to clear the current display if numeric entry is in progress, or to clear the calculator if a calculation has been completed.
At any time, the currently displayed entry can be copied to the system clipboard by pressing the [COPY] button just under the display, for later pasting into another application.
In all modes, there are 50 levels of nested parenthesis available, with the current nesting level shown at the bottom center of the display area.
ERROR STATUS INDICATOR
There are several possible error conditions that can occur. Each of the following error conditions are shown in the display towards the upper right...
DIV0 Attempted division by zero
NUM¯ Abs(result) > 9.999999999E99
NUM® Abs(result) < 1E-99
OVFLW Floating point overflow
UNFLW Floating point underflow
INT¯ Result too large to fit in
current word size
The last error occurs only in the integer math modes, and is a warning only. You can still continue with the calculation, but be warned that the result may not be accurate. For all other errors you must press the CEC key to clear the error condition.
PHOTOGRAPHIC MEMORY
ProCalc has five memory functions available. These are MC (Memory Clear, store a 0 in memory), MX (Memory eXchange, exchange display contents with memory), MR (Memory Recall, show memory contents in display), MS (Memory Store, store display contents in memory), and Mñ (add display contents to memory).
In addition to the obvious single-number memory, ProCalc also has an additional 10-number memory available. These are accessed by holding down the 'Shift' key, or right mouse button, while pressing one of the memory buttons. The memory button will then 'lock' (stay highlighted), and you may then press a number key [0]-[9] to access one of the memories. If you shift-select the number key, the memory button will remain locked, so that you can perform the same memory function on several memories at a time. If you shift-select a memory button while it is locked, instead of a number button, you can perform the function on ALL supplemental memories at once (the MX and MR buttons do not apply here, since, of course, you cannot display more than one number at a time). Pressing any other button while a memory button is locked will have no effect on the intended function.
There are 11 memory status indicators (M for the main memory, and 0-9 for the supplemental memories) in the upper left of the display area that light when a memory has non-zero contents.
AUTOMATIC CONSTANT
The automatic constant allows you to do repetive calculations with a common number and operator. The constant is set whenever a two-number operation is completed with the [=] button. When the equals button is pressed after such an operation, the operator and the last entered number or result are stored as the automatic constant. You can then enter a new number and press the equals button, and the calculator will automatically complete the operation with the stored operator and constant. You can also repeatedly execute the automatic constant on the current display by simply pressing the equals button. The automatic constant is cleared when the [CEC] button is pressed, or the calculation mode is changed.
MULTIPLE PERSONALITIES
ProCalc can be operated in one of three modes, scientific, computer math, or time calculation. The top row of buttons above the calculator display is used to change modes. As you change between modes, the calculator buttons also change to indicate the different functions available. The number in the display is retained between modes, so that you can easily do mixed calculations, as well as number conversions between bases. Values stored in the memories are also retained, and will always be displayed in the proper format.
SCIENTIFIC MODE
Scientific calculations are available only when in SCI mode, and are as follows...
ln natural log
eü inverse natural log
log base 10 log
10ü inverse base 10 log
ný square
ûn square root
Yü universal power
1/n inverse
% percent, delta percent
The percent function works with the +, -, x, and ö keys, or by itself, to perform the following functions...
X+Y%= Mark-up (X plus Y% of X)
X-Y%= Discount (X minus Y% of X)
XxY%= Percentage (Y% of X)
XöY%= Ratio (X is what % of Y)
X% Percent to decimal conversion
X%Y= Delta percent ((X/Y-1)x100%)
The delta percent function is activated by shift-selecting the percent button, and calculates the change in percentage that occurs between two values as a percentage of the second value.
The group of six buttons above the numeric keys are the trig functions. The [HYP] and [ARC] buttons are 'locking' buttons used to invoke the HYPerbolic and ARC (inverse) trig functions. For instance, if you want the hyperbolic arcsin of a number in the display, depress the [HYP] and [ARC] buttons before pressing the [sin] button. These buttons work only in conjunction with the [sin], [cos] and [tan] buttons. Pressing any other button while [HYP] or [ARC] are locked will have no effect.
You can enter, display, and convert angles to and from degrees and radians by using the [D/R] button under the left side of the display. There is also an indicator in the display just above the button. All trig calculations, both inputs and results, use the current angle mode as shown in the display. To change the angle mode without affecting the displayed number, hold down the shift key or right mouse button while pressing the [D/R] button.
Numbers can be entered in scientific notation by entering the mantissa first, pressing the [EE] (Enter Exponent) button, then the exponent (-99...99). ProCalc has a very smart display processor. Scientific notation will be used to display calculation results only if it results in better display accuracy. If a result fits in the display in decimal notation with no loss of accuracy, that is how it will be displayed.
COMPUTER MATH MODES
In any of the Computer Math modes, the number type (signed or unsigned) can be changed using the [SIGN] button, and the word size (byte - 8 bits, word - 16 bits, or long - 32 bits) can be changed using the [SIZE] button. The size changes from B->W->L as you press the [SIZE] button, or from L->W->B if you hold down the shift key while pressing [SIZE]. The current word size and sign is shown in the display to the lower left. A displayed number may be truncated or sign-extended, depending on the sign and size. If it is truncated, an error message will appear in the top of the display, but you can still continue with the calculation if you wish.
Computer math functions are available in BIN/OCT/DEC/HEX modes only and are as follows...
ROL Rotate Left
ROR Rotate Right
ASL/LSL Arithmetic/Logical Shift Left
ASR/LSR Arithmetic/Logical Shift Right
NOT One's complement
NEG Two's complement
AND Bitwise AND
OR Bitwise OR
XOR Bitwise Exclusive OR
MOD Modulus (division remainder)
Note that the ASL/ASR operations are available only in signed arithmetic mode, and LSL/LSR only in unsigned arithmetic mode.
All operations in this mode (except as noted below) execute the corresponding CPU instruction directly and then check the CPU condition codes and display the codes in the display to the upper right. For multiplication, division, and modulus operations, the operation is carried out using floating point arithmetic, then the result is moved into a data register, and the condition codes checked and displayed. The condition codes displayed are...
C Carry
V oVerflow (result overflow)
Z Zero (result is zero)
N Negative (high-order bit is set)
TIME FOR A BREAK
Ever make a tape of some of your favorite songs, and need to know the total playing time of all the songs? ProCalc to the rescue! Simply select the [HMS] mode button, and enter the playing time of each song in minutes & seconds (MM:SS). ProCalc automatically calculates the result and displays it in the same format. You can enter the times in any format you wish, just separate hours, minutes, and seconds by a colon or period. For instance, entering "185:" is interpreted as "185 minutes, 0 seconds", or 3:05:00. The time is stored internally in seconds, so switching to another mode, such as SCIentific, will display the value in seconds.