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.)