Command line interface scientific calculator, version 1.01.



Abstract:
---------

A scientific calculator, with a line editor style interface, accepting
equations and commands, with equations being of arbitrary complexity.

A range of scientific, financial and statistical functions are provided.
Some of these functions have multiple arguments, with syntax extended to
accommodate this by requiring that multiple parameters be bracketed with
comma separators, while others will accept a variable number of
parameters. The statistics functions take no arguments, using values
accumulated in the registers R4..R9.

A total of 10 memories are provided, R0 to R9. By default R0 holds the
result of the last successful calculation. The memories, along with
various configuration information, are loaded on startup and saved on
shutdown.



Program/Distribution Status:
----------------------------
Shareware, registration required after a reasonable evaluation period.
May be freely distributed provided all parts of the original archive
remain intact. Registration fee is NZ$10 (approximately US$5).



Files in Archive:
-----------------

CALC101  EXE       scientific calculator, includes coprocessor emulation

CALCMAN  EXE       user manual (requires 80x25 screen)
CALCMAN  TXT       list of commands

MATH     PAS       source code for math unit
FDIV     PAS       source code for Pentium bug detection unit

WIN40X8  EXE       set 40x8 window and run (ie 'win40x8 calc101')
FILLWIN  EXE       switch to 40x25 mode and set yellow on blue
CALC     BAT       runs fillwin and calc101 from within Windows
README   TXT

Executable files compressed with aPACK v0.98b (by Joergen Ibsen)

The batch file CALC.BAT is intended to be used to launch calc101
from within Windows. It first calls fillwin, which switches to a
40 column video mode and sets colours to yellow writing on a
blue background.



Revision History:
-----------------

1.00  - Initial release.


1.01  - Removed margin of error allowed in functions that take integer
        parameters. The test was unreliable. If needed use the 'rnd'
        function to round non-integer values.

      - Fixed power operator (X^Y) so that with both negative X and Y
        returns with the correct sign. Added extra code to improve
        accuracy when Y is an integer (fp(Y)=0).

      - Fixed modulo operator (X%Y) so that results are now always
        between 0 and Y, and the operator implements true 'clock'
        arithmatic rather than simply returning a remainder.

      - Fixed statistics data entry so that R0-R3 are not corrupted.

      - Fixed 'fix', 'sci', 'eng', so that 0 is a valid argument.

      - Deleted i8087 and 6-byte real versions. The real version had
        various accuracy problems that could not easily be solved, while
        the i8087 version seemed to offer no advantage over the 87EMU
        version. The remaining (87EMU) version uses a coprocessor if
        detected, or otherwise an internal emulator.

      - Changed from 'stat' toggles stat mode, to 'stat' and 'calc'
        switching between modes.

      - Changed square root function from 'sqr' to 'sqrt'.

      - Increased displayable digits from 15 to 18. The 15 digit limit
        was due to a 'feature' of Turbo Pascal, that with no explicit
        field width the compiler defaults to 15 digits. By specifying
        a wider field the remaining digits magically appeared!

      - Added 'ru' function. Rounds up ( ie 1.5 -> 2 , -33.3 -> -34 )

      - Added 'cterm', 'term', and 'rate' financial functions.

      - Added 'calendar' command to display a 1-month calendar.

      - Source code for the math unit now included with distribution.

      - Added check for a defective Pentium processor. If found (and
        assuming the check works - I do not have access to a defective
        processor to test it) a warning will be printed.



R.Roze
P.O. Box 25-232
Christchurch
New Zealand
rozee@mail.com

17 March 2000
