File Name
README.md





RSX BASIC - MICHAEL REESE VERSION

AUTHORS: L. Simpson, F. Borger, Michael Reese Medical
Center, Chicago, IL

Operating IAS, RSX-11D, RSX-11M, VMS (compatibility mode)

Source Language: MACRO-11

Special hardware: Floating point processor or FPP emulator
(supplied.)

Keywords: BASIC, Reese Basic

Abstract: Reese Basic is a highly upgraded version of what
used to be a DECUS library program for DOS.

1. Full FILES-11 I/O is supported, (fixed length random ac-
cess, shared mode, etc.)

2. String functions and user defined functions are much
more flexible than in either the original version or in
DEC's BASIC-11.

3. Multi-user implementation is supported with separate
pure and impure areas. (IAS and RSX-11D only.)

4. Since it is an interpreter, it includes the special de-
bugging commands: STEP, CON and SET TRACE.

5. Although an interpreter, significant manipulation of the
source program is done to speed up operation.

6. OVERLAY and a data preserving CHAIN are also supported.

7. A clean "break" feature is implemented via the TT
handler.

8. a number of BASIC+2-like features have been added in-
cluding: virtual arrays, integer and byte variables,
continued lines and IF-THEN-ELSE.

9. The capability of Spawning another task is supported.


MEDIA: 1200' Magtape, 1600BPI, FORMAT: BRU, VMS Backup

PAGE 2
29-AUG-86


Installation guidelines


The First BRU backup set contains the master IAS version.
The current task version runs under version 3.2 of IAS. It
is a full blown version, with a seperate shared library for
the interpreter code. The only thing one should have to do
is to install things using IASINS.cmd and move the error
message text file to LB:[1,2]. This is all contained in
backup set IAS.

The second BRU backup set contains the RSX11M or VMS ver-
sion. This is a subset built to run on our VAX in compati-
bility mode. RSX11M does not support shared code versions.
The 11m version does not support error messages in a message
file, 11m users should not bother with trying to generate a
message file. The 11M version now gives a full error mes-
sage from internal error messages. This is a full working
version of 11M basic. 11M programmers should really not
have to look at the IAS backup set. This is all contained
in RSX11M.

The third file on the tape is a BRU backup set of DAMMIT
COOKIE, MURPHY and MAY. These are included because they are
fun, but also because they are part of the final test pro-
gram, TIMSPOT.BAS. If TIMSPOT.BAS executes correctly, (on
your VT100 compatible terminal,) everything is well.

The last file on the tape is a VMS backup set of the RSX11
distribution. This gets around some BRU restrictions about
restoring to ODS2 volumns.

The following is a quick guide to the steps required to re-
build basic.

FOR IAS:

1. Print out BASPRE.MAC and decide what changes you
want to make.

2. Assemble everything using 11DASM.CMD.

3. Use BSCALL.CMD to remove all older versions, (in-
cluding the library, etc,) and install the new ver-
sion. (BSCALL.BUG will install a test version
without doing anything with the current version.)

FOR RSX11M

1. Print out BASPRE.MAC and decide what changes you
want to make. (Realize that shared code under 11M
does not work.)

2. Assemble sources using 11MASM.CMD.

PAGE 3
29-AUG-86


3. Tkb using BIGBASIC.CMD.

Some Notes


All IAS users may not be aware of BBR. This program enables
you to spy on the progress of a basic program executing on
any terminal. Its often a great help in debugging another
user's problem. It unfortunately only works for the IAS
version.

The command file BUILD.CMD is also a good way for first time
users to work their way thru re-doing the IAS version.


From: Frank R. Borger

To: Basic Users

Subject: Summary of changes to Michael Reese Basic August 1985


The following changes have been made to make basic work nicely
with lower case input:

This version of basic automatically converts all lower case char-
acters to upper case, thus Program source may be in lower case.
saving a program via the "save" command will result in an all
upper case version. Case conversion does not take place under
the following conditions:

1. During string input via a regular "INPUT" command.

2. During "INPUT LINE".

3. On source text enclosed in quotes. (This includes prompt
strings and variables, which now may be lower case.)

4. On source text in a comment field.

Note that string comparisons are still case sensitive. To enable
input of commands, etc. in lower case a new SET command has been
added, SET UPPER ON/OFF. The following is an enhanced (and cor-
rected) description of the SET command.

3.14 SET PROMPT/TRACE/PASS-ALL/ECHO/UPPER ON/OFF

This statement is used to set or clear a number of system condi-
tions. The number of conditions is likely to increase in the fu-
ture as functionality is added. Conditions now serviced include:

TRACE: Default is OFF.
SET TRACE is equivalent to the TRACE verb and should be used in
preference to it because the TRACE verb is expected to disappear
in future releases of this interpreter.

PROMPT: Default is ON.
The PROMPT condition is used to turn the INPUT and INPUT LINE
question mark prompt on or off. The OFF mode is designed for
special screen or page formatting and may be used in conjunction
with the BREAK command.

UPPER: Default is OFF.
Causes string variables read with an "INPUT" statement to be con-
verted to upper case. Useful for command parsers, specifying
file names, etc.





PASS-ALL-INPUT: Default is OFF.
Causes reads to be done with TF.RAL set. Note that ctrl-C,
ctrl-O, ctrl-Q, ctrl-S and ctrl-X will have their usual effect
from a terminal, unless the terminal is set to be BINARY. Turned
OFF when program STOPS.

PASS-ALL-PRINT: Default is OFF.
Causes writes to be done with TF.WAL set. Note that no carriage
control characters will be added to any output. Turned OFF when
program STOPS. ,fg 1 ECHO: Default is ON. If turned off,
causes terminal reads to be done with TF.RNE. No input will be
echoed. Turned OFF when program STOPS.
Example:
210 SET PROMPT OFF
220 SET TRACE ON

The following change has been made to the INPUT command. (Previo-
usly the INPUT command rejected lower case ascii data, and only
the INPUT LINE command could read lower case.


INPUT V1,V2,V3 etc.

Where N is an optional file number and V1, V2, V3 etc. are legal
string or numeric variable names. The second form follows the
rules for random access described for the PRINT statement.
Numeric data must be separated by commas or spaces, successive
string variables must be separated by a comma after the required
number of characters have been typed in. A character legality
check is performed to ensure that all characters are between oc-
tal ASCII codes 40 and 137 inclusive and 11 (tab). If a "SET
UPPER ON" command has been issued, lower case ascii will be con-
verted to upper case.

Under RSX, BAS cannot spawn itself, making life a little harder.
You can get around this by installing separate versions as ...BA1
...BA2 etc.

Under VMS, BAS can spawn anything that has a 3-character .EXE
file in the standard system account, SYS$SYSTEM.

The RSX11M and P/OS versions now have imbedded error messages. No
more looking in the back of the manual. The only thing they don't
do is report the FCS error code too.

P/OS users should be aware of the conditional assembly in BASPRE
which prevents the error 28. error on starting up. (This essenti-
ally omits the initial GMCR$ call which was commented out on the
version that seems to be floating around on a lot of bulletin bo-
ards.)


I tried to go thru both the IAS and RSX11M versions to get rid of
obsolete and confusing command files. In general both now have
been cleaned up. (Anything that was in [1,203] on any earlier ver
sions of this package are now in the VMS part.)