Contents of the README.DOC file
SURPAS SUPPLEMENTARY DOCUMENTATION
for SURPAS-86 V1.00 (MS-DOS)
Copyright (C) 1987 by
Tixaku Pty Ltd
1. Distribution and licencing.
This package is NOT Public Domain nor is it FREEWARE, although
its distribution is similar to that of "freeware".
The basic difference between the license for SURPAS and that
of software that is freeware is that the use of SURPAS beyond a
free trial period, is subject to a low mandatory usage royalty
payment instead of a voluntary contribution. Unlike most commer-
cial software vendors, we believe that you are entitled to a test
drive with our software. On the other hand, like many commercial
software vendors, we feel that if you continue using our software
you should pay us for the privilege. The price you pay should
still be fair, but it should not be free.
Use of SURPAS (or SPAS87) beyond ten days of first use of the
program, the "free trial period", is subject to a mandatory usage
royalty payment of $20.00 (twenty dollars) per computer console
(CRT) on which it may be used simultaneously.
This usage royalty payment must be forwarded directly to Tixaku
Pty. Ltd. at the address indicated at the end of this document.
The free trial period is intended to allow you to try the program
before paying for it. If at the end of the free trial period, you
decide you do not want to pay the usage royalty, this may be done
provided all copies of the program which are or will be in your
possession are never used by you again. Even in this case they
may be further distributed.
Obviously, even though payment is legally mandatory, we are rely-
ing on your honesty, because in most cases, we do not have much
capability to enforce it. Remember that your payment will help us
to afford to develop other fine programs that you may also be in-
terested in using.
The program SURPAS and its documentation is copyrighted by Tixaku
Pty. Ltd. We give restricted permission to make unlimited copies
for your personal use. We also give restricted permission to make
unlimited number of copies of the entire package for distribution
to others. This includes making the package available for others
to download from non-commercial electronic bulletin boards.
Distributed copies of this package must not be modified in any
way, except for dividing it up into several files that must be
made available at the same time, and all copies must contain all
the files included in the list below.
No charge whatsoever, except for a nominal copying fee and the
cost of the media (diskette etc.), may be demanded or received
for such distribution.
1. Distribution package overview
You will find the following files in your package:
README.DOC The file you are currently reading.
SURPAS.COM This file is the actual SURPAS Pascal system. It
contains the editor, the compiler and the run-time
SURPAS.HLP The help message file. This file contains the help
messages displayed by the HELP command.
SURPAS.ERM The error message file. This file contains the
error messages displayed by the compiler when it
locates an error.
SPAS87.COM The 8087 version of SURPAS. If your computer is
equipped with the 8087 chip you will probably want
to use this version of SURPAS instead of the standard
version,since it offers significant execution speed
improvements on floating point operations (from
10 to 100 times faster), as well as better precision
and exponent range (15 significant digits, 1E-300
to 1E+300). The 8087 version is fully source code
compatible with the standard version.
INSTALL.COM The INSTALL program. If you have got an "uncon-
figured" copy of SURPAS, i.e. a copy which is not
set up for any specific terminal or computer sys-
tem, then before you can use it, you must install
it using this program. If you try to run an uncon-
figured copy, you will simply get an error message.
The INSTALL program is fully self-explaining, but
to answer the questions asked by it you will proba-
bly have to consult your system documentation. Note
that the 8087 version is always shipped as an
unconfigured copy, and thus it cannot be used be-
fore you have installed it. If you wish, you may
also use the INSTALL program to customize an alrea-
dy installed copy to suit your individual needs.
INSTALL.TRM Datafiles used by INSTALL. These files contain
INSTALL.DAT configuration data for up to 50 different terminals
and computers. Note that INSTALL will not run if
these files are missing.
CALC.PAS Demonstration program source text. This program
acts as a calculator. It allows you to enter nume-
ric expressions and have them evaluated.
HEXDUMP.PAS Demonstration program source text. HEXDUMP will
output a hex listing of any file to any other file
or the printer.
PRIMES.PAS Demonstration program source text. A short program
which computes all prime numbers between 1 and
QSORT.PAS Demonstration program source text. QSORT generates
a list of random numbers and then sorts them using
the quicksort algorithm.
CROSSREF.PAS Demonstration program source text. CROSSREF outputs
a listing and a cross-reference map of any SURPAS
MSLIB.PAS MS-DOS function call support routines. This include
file contains a number of subroutines which may be
used to access various MS-DOS functions not direct-
ly supported by SURPAS.
Before using SURPAS, we strongly advice that you make a backup
copy of this disk. To generate a SURPAS work disk, copy SUR-
PAS.COM, SURPAS.HLP and SURPAS.ERM onto a blank disk along with
any other system programs you may require (e.g. COMMAND.COM,
FORMAT.COM and CHKDSK.COM). If you are stressed for disk space,
you may omit SURPAS.HLP and SURPAS.ERM, but then the HELP command
will not work and the compiler will only output error numbers.
2. SURPAS-86 V1.00 highlights
SURPAS V1.00 will automatically detect constants used as array
indices and optimize the code accordingly. For instance, the
assignment "a:=data[b]" will generate less code if b is a con-
stant than if b is a variable. Furthermore, if b is a constant
which is out of range, an out of range error will be reported
during compilation, not during execution.
When compiling to a disk file (PROGRAM and OBJECT commands),
SURPAS V1.00 uses all available memory as a code buffer, thus
keeping time consuming disk access at a minimum. The PROGRAM and
OBJECT commands will therefore "feel" much like the COMPILE and
RUN commands, except that the entire program code is dumped into
the code file in one go when the compilation is completed. For
large programs this will effectively double the compilation
SURPAS V1.00 allows programs with overlays to be executed in
"direct mode", i.e. from a RUN command. When a program with
overlays is compiled in direct mode, the name(s) of the overlay
file(s) will be the current file name with its type changed to
000, 001, etc. If no current file name is established, the names
will be WORK.000, WORK.001, etc. The current file name is set by
the LOAD and NAME commands.
The software floating point routines in SURPAS V1.00 have been
optimized to use CPU registers extensively.
SURPAS does its software number crunching faster and with more
significant digits than all other Pascals.
3. Comments and suggestions
If you have any comments to the SURPAS package and/or its docu-
mentation, e.g. improvements you would like to see, or bugs you
may have spotted, please don't hesitate to contact us. Our ad-
Tixaku Pty Ltd or phone our BBS on
P.O. Box 373 2-631-8603 24 hours
NSW 2145 (v21, v22, v23 and v22bis)