home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / msdos / desqview / calcdv.arc / CALCDV.DOC < prev    next >
Text File  |  1988-01-28  |  11KB  |  282 lines

  1.  
  2.  
  3.       CALCDV - A POP-UP CALCULATOR FOR USE WITH DESQVIEW
  4.  
  5.  
  6.  
  7.       Written By: Phillip A. Kaufman                     January, 1988
  8.  
  9.       Copyright 1987,1988 Phillip A. Kaufman. All rights, except those
  10.       specifically granted herein are reserved by the author. The right
  11.       to copy and distribute this material is granted without fee for
  12.       any and all non-commercial use. This material specifically may
  13.       not be distributed or sold for a fee nor incorporated in whole or
  14.       in part into any other product that is distributed or sold for a
  15.       fee without specific permission of the author. To obtain special
  16.       permission or to report any difficulties with this material
  17.       contact:
  18.                         Phillip A. Kaufman
  19.                         19987 Moran Lane
  20.                         Saratoga, CA 95070
  21.  
  22.       THIS MATERIAL IS DISTRIBUTED "as is" WITHOUT ANY EXPRESSED OR
  23.       IMPLIED WARRANTY OR LIABILITY FOR DIRECT, INDIRECT OR
  24.       CONSEQUENTIAL DAMAGES.
  25.  
  26.  
  27.       OVERVIEW
  28.  
  29.       CALCDV is a general purpose pop-up calculator for use with
  30.       Desqview. It will run only within Desqview. In general, CALCDV is
  31.       a super set of the functionality of the calculator function of
  32.       Sidekick (tm).
  33.  
  34.       Installation of CALCDV is covered in a separate section of this
  35.       document.
  36.  
  37.       CALCDV has the following features (keys are shown in parenthesis):
  38.  
  39.         Arithmetic Operations;
  40.                 Addition (+), Subtraction(-), Multiplication(*),
  41.                 Division (/)
  42.  
  43.         Logical (bitwise) Operations;
  44.                 And (A), Or (O), Exclusive Or(O)
  45.  
  46.         Memory;
  47.                 Memory Clear (MC), Memory Recall (MR),
  48.                 Add to Memory (M+), Subtract from Memory (M-)
  49.  
  50.         Modes;
  51.                 Decimal (D), Hexadecimal (H), Binary (B)
  52.  
  53.         Miscellaneous Commands and Keys;
  54.                 Equals (=), Clear (C), Change Sign (#),
  55.                 Decimal Point (.),
  56.                 Hex digits: A(F5), B(F6), C(F7), D(F8), E(F9), F(F10)
  57.                 BackSpace or DELete deletes the last digit entered.
  58.  
  59.         Precision and Display;
  60.                 Internal numeric representation is IEEE Floating Point
  61.                         which generally has 53 bit precision.
  62.                 Accumulator and memory are displayed simultaneously in
  63.                         13 position fields including sign and decimal
  64.                         point.
  65.                 Decimal mode results use a floating decimal point and
  66.                         allows 11 digits.
  67.                 Hex mode precision and display is 8 hex digits (integer
  68.                         only). Maximum number is 7FFFFFFF.
  69.                 Binary precision and display is 12 digits (integer
  70.                         only).
  71.  
  72.         Other Features;
  73.                 Full chained arithmetic is provided along with short
  74.                         form squaring and reciprocals (see Arithmetic
  75.                         Operations, below).
  76.                 Errors are shown on screen and automatically clear in
  77.                         most circumstances
  78.  
  79.  
  80.       ARITHMETIC OPERATIONS
  81.  
  82.       Arithmetic Operators operate in the normal algebraic fashion with
  83.       the addition of a full chained operation feature.
  84.  
  85.       The numeric entry following an arithmetic operator is saved and
  86.       used as the second entry whenever an operation is performed that
  87.       does not include two entries. Except that on multiply the entry
  88.       prior to * is saved (Don't ask why, this is how most real
  89.       calculators do it!)
  90.  
  91.       Note that an equal (=) terminates entry and Clear is not required
  92.       to begin a new computation following an equal.
  93.  
  94.       Sequential entry of operators discards the prior operator and can
  95.       be used to correct an operator entry.
  96.  
  97.       *= produces the square of the number in the display, /=
  98.       divides one by the number (reciprocal). += and -= operate on
  99.       the nuber and the prior result.
  100.  
  101.       A negative number may be entered using the change sign key (#).
  102.       (The sign won't change though until an operation is performed.)
  103.       [The minus key (-) is an operator not the sign of the value
  104.       entered!]
  105.  
  106.       A decimal point (.) may be entered at any position during entry
  107.       of a number in Decimal mode only.
  108.  
  109.       Examples (parenthesis show intermediate display in a sequence of
  110.         keystrokes):
  111.  
  112.         Normal operations;
  113.                 1(1) +(1) 2(2) = (3)  5(5) +(5) 6(6) = (11)
  114.                 1(1) +(1) 2(2) +(3) 4(4) = (7)
  115.  
  116.         Chained operations;
  117.                 1(1) +(1) 2(2) = (3)  4(4) =(6)  0(0) = (2)
  118.                 4(4) *(4) 5(5) = (20) 6(6) =(24)
  119.  
  120.         Corrected operator entry;
  121.                 4(4) +(4) -(4) 1(1) = (3)
  122.  
  123.         Square and reciprocal;
  124.                 3(3) *(3) = (9)
  125.                 4(4) /(4) = (.25)
  126.  
  127.       LOGICAL OPERATIONS
  128.  
  129.       The operators And, Or, and eXclusive-or operate bitwise on the
  130.       variables. These operators are allowed only in Hex and Binary
  131.       modes. Operation is similar to that of the Arithmetic Operators
  132.       except that there is no chaining.
  133.  
  134.  
  135.       MEMORY OPERATIONS
  136.  
  137.       There is a single memory location. Memory may be cleared (MC)
  138.       independent of the accumulator. Memory is not cleared by the
  139.       Clear key. Memory may be recalled to the accumulator display (MR)
  140.       (prior accumulator contents are lost). The accumulator may be
  141.       added to memory (M+) and subtracted from memory (M-).
  142.  
  143.       M+ and M- act as an equal on the accumulator if there is a
  144.       pending unexecuted operation. For example,
  145.         1(1) +(1) 2(2) M+(3)
  146.         [accumulator is set to result of prior operation (3) and
  147.          memory is set to prior contents of memory plus 3].
  148.  
  149.  
  150.       MODES
  151.  
  152.       The display may be in one of three modes, Decimal, Hexadecimal,
  153.       or Binary. Hex and Binary are integer only modes. Any fractional
  154.       part of the accumulator and memory is lost when changing to Hex or
  155.       Binary from Decimal.
  156.  
  157.       Logical operations are allowed only in Hex and Binary modes. Only
  158.       the appropriate digits are allowed for entry in each mode. Hex
  159.       'A' through 'F' are represented by function keys F5 thru F10.
  160.  
  161.       CLEARING
  162.  
  163.       The memory is cleared by MC and is uneffected by the Clear key.
  164.  
  165.       The Clear key clears only the entry if a numeric entry was in
  166.       process, the prior result and saved chaining value are preserved.
  167.       Hitting Clear a second time or after an operator clears the prior
  168.       result and chain value.
  169.  
  170.       A backspace or DELete during a numeric entry may be used to
  171.       delete the last digit entered. For example,
  172.         5(5) +(5) 1(1) 2(12) 3(123) BS(12) 4(124) = (129)
  173.  
  174.  
  175.       ERRORS
  176.  
  177.       Errors are displayed as they occur. An error clears when the next
  178.       key is struck. There is no need to use the Clear key following an
  179.       error.
  180.  
  181.       There are several types of errors possible;
  182.  
  183.         Entry errors such as an illegal key or a key that is illegal in
  184.                 the current mode produce the error "ILLEGAL KEY". All
  185.                 results and values are preserved, the key is simply
  186.                 ignored.
  187.  
  188.         Format errors such as attempting to enter two decimal points in
  189.                 a number produce the "FORMAT ERR" error and the key is
  190.                 ignored.
  191.  
  192.         An attempt to divide by zero produces the "DIVIDE BY 0" and the
  193.                 accumulator is cleared.
  194.  
  195.         If a result has too many significant digits to display the
  196.                 "# TOO BIG" error is displayed along with those
  197.                 significant digits that fit on the display. The right
  198.                 most display position has a ">" indicating that there
  199.                 are more significant digits. Note that the undisplayed
  200.                 digits are preserved and will be used in any subsequent
  201.                 operation. You can see these digits by dividing the
  202.                 result by some large power of 10.
  203.  
  204.         On entry, if too many digits are entered, the error "# TOO LONG"
  205.                 is displayed and the extra digits are ignored.
  206.  
  207.         If a result is too large for the internal representation an
  208.                 "OVERFLOW" will be produced and the result set to zero.
  209.  
  210.  
  211.       PROGRAM INFORMATION
  212.  
  213.       CALCDV is written in C for the Microsoft C Compiler Version 4.0.
  214.       If it is recompiled you should use the small model for minimum
  215.       size. The default Microsoft stack is 2K. This should be reduced to
  216.       400 using the STACK argument or EXEMOD. The program will then fit
  217.       into a 26k Desqview memory allocation.
  218.  
  219.       There are some user options that can be changed at compile time
  220.       to suit your preferences. These are primarily the colors used in
  221.       the display. (I have not tested the program on a monochrome
  222.       monitor so the compiled colors may look a little weird in
  223.       monochrome).
  224.  
  225.       The EXE file supplied was compiled using the standard floating
  226.       point library, and does not require the 8087 coprocessor.
  227.  
  228.       INSTALLATION
  229.  
  230.       Install as with any other Desqview application program. A PIF
  231.       file, for DV 2.0, is included to make it easy. A copy is attached.
  232.       With appropriate chamges to the PIF it should work on older versions
  233.       of Desqview also.
  234.  
  235.       It is important that the screen size not be changed or a garbage
  236.       dislay will result (the program writes directly to the DV display
  237.       buffer). The display size (both normal and start-up) should be
  238.       17 rows and 30 columns.
  239.  
  240.  
  241.       COPY OF CHANGE A PROGRAM SCREENS
  242.  
  243.                                Change a Program
  244.  
  245.  Program Name............: Calculator
  246.  
  247.  Keys to Use on Open Menu: CA                         Memory Size (in K):  26
  248.  
  249.  Program...: calcdv.exe
  250.  
  251.  Parameters:
  252.  
  253.  Directory.: c:\dv
  254.  
  255.  Options:
  256.                      Writes directly to screen......: [N]
  257.                      Displays graphics information..: [N]
  258.                      Can be swapped out of memory...: [Y]
  259.                      Requires floppy diskette.......: [N]
  260.  
  261.                       Change a Program Advanced Options
  262.  
  263.  System Memory (in K).......:   0   Maximum Program Memory Size (in K)..:
  264.  
  265.  Script Buffer Size.......:     0   Maximum Expanded Memory Size (in K):
  266.  
  267.  Text Pages: 1  Graphics Pages: 0   Initial Mode:        Interrupts: 00 to FF
  268.  
  269.  Window Position:
  270.     Maximum Height:  17       Starting Height:  17       Starting Row...:   1
  271.     Maximum Width.:  30       Starting Width.:  30       Starting Column:  79
  272.  
  273.                                 Shared Program
  274.  Pathname..:
  275.  
  276.  Data......:
  277.  
  278.  Options:
  279.     Close on exit to DOS.........: [Y]      Uses its own colors.........: [Y]
  280.     Allow Close Window command...: [Y]      Runs only in foreground.....: [Y]
  281.     Uses math coprocessor........: [N]      Keyboard conflict (0-4).....: [0]
  282.