
          

                                                                      
 
 
          April 6, 1981

          Frank R. Borger

          Instrumentation Division Head

          Department of Medical Physics

          Michael Reese Medical Center

          29th Street and Ellis Avenue

          Chicago, IL 60616

 
 
          Reese BASIC Users

 
 
          Dear User,

 
          This release of REESE BASIC is mainly a maintenance  update.

          The  basic working of the system has not changed, rather the

          emphasis has been to include bug fixes and better documenta-

          tion and 11M support.  Changes include:

 
               1.  Attempting to load a program with the "/CO" switch,

                   (implying a previously compiled version was saved,)

                   when the source file was NOT complied, confused the

                   blazes out of the interpreter.  The current version

                   sets the "FORTRAN Carriage-control" bit in the file

                   header  as a check when saving compiled versions of

                   the file, and checks same when reading back in.  As

                   a  result,  previously compiled BASIC files must be

                   re-compiled.

 
               2.  Immediate mode commands in source files could often

                   blow  BASIC  out of the water.  In the current ver-

                   sion, any Immediate mode command  read  in  from  a

                   saved  program is reported as an error.  (To deter-

                   mine the location of  an  immediate  mode  command,

                   after  the  error  message, issue a "CLOSE" command

                   from the keyboard, followed by  a  "LIST"  command.

                   The  immediate  mode command causing the error fol-

                   lows the last line of the program.)

 
               3.  The manual has been significantly re-done.  The ma-

                   in  change  is a re-structuring of the format, into

                   several more chapters, with  the  various  commands

                   and functions, more logically grouped.  In addition

                   appendices B and C provide much  better  documenta-

                   tion  on  techniques for writing loadable macro su-

                   broutines.

 
               4.  Due to the problems incurred in figuring  out  what

                   DEC  changed  in  the  FORTRAN math routines, (SIN,

                   COS, etc.) from release to release and from  IV  to

                   IV-PLUS,   we   now   include   the   routines   in

                   MATHLIB.OLB.  (These are extracted from  version  2

                   of FORTRAN-IV.)

 
               5.  Better support is  provided  for  RSX11M.   Present




          

                                                                      
 
 
                   command  files  let one use all the bells and whis-

                   tles, including loadable MACRO  subroutines,  SPAWN

                   capability,  etc.   The  following points should be

                   made for 11M users:

 
                   1.  The TKB "/MU" switch is entirely  different  in

                       it's meaning between 11M and IAS.  11M TKB com-

                       mand files which happen to have this switch in-

                       cluded will jam all READ-ONLY P-SECTS up in ad-

                       dress range 160000 to 1777776, and  the  resul-

                       tant  task  will  bomb  when  it trys to access

                       those subroutines.  (As  usual,  DEC  documents

                       this  abnormality  on a single page buried deep

                       in the TKB manual,  and  doesn't  say  a  thing

                       about it on the page describing the MU switch.)

 
                   2.  We haven't yet  gotten  a  shared-code  version

                       running   under   11M,   and  would  appreciate

                       feed-back from some users.

 
                   3.  The SPAWN command can't  spawn  functions  that

                       are MCR overlays, rather than true tasks, (such

                       as TIM, SET, etc.)

 
                   4.  Under 11M, BASIC cannot spawn  another  version

                       of  himself,  (due to system restrictions which

                       do not let multiple copies of a task execute at

                       the  same  terminal.) This can be gotten around

                       by creating copies of the task image, and  ins-

                       talling them with the names "...BA1", "...BA2",

                       etc.

 
 
               6.  Loadable subroutines

                   Users acquainted with the loadable MACRO subroutine

                   capability should look at a couple of new routines,

                   including:

 
                   1.  DIRECT, a routine which enables BASIC to  issue

                       any  system directive.  The BASIC program GETTI

                       uses them to find out good  things  about  what

                       terminal one is running at.

 
                   2.  EXITST, a routine that lets basic do  an  "EXIT

                       WITH STATUS".

 
                   3.  Several BASICn.doc files, extracted  subroutine

                       descriptions  from  BASIC0  thru  BASIC4, which

                       should   make   it   easier   for   experienced

                       system/macro  programmers  to  write  their own

                       routines.

 
 
               7.  BASDOCMAK.BAS, a program to re-create the BASIC.MSG

                   file,  since FLX won't keep the fixed-length attri-




          

                                                                      
 
 
                   butes of the BASIC error message file.

 
               8.  Users who would like a demonstration of  the  capa-

                   blily  of  BASIC  using the SPAWN capability should

                   look at BASMANUAL.BAS.   In  essence,  this  master

                   program:

 
                   1.  CAUSES another version of basic to extract  the

                       RUNOFF  source  from  the  several MACRO source

                       files, (and  seperate  them  into  the  several

                       chapters.)

 
                   2.  Creates one concatenated RUNOFF source file for

                       the manual.

 
                   3.  Extracts table-of-contents information  from  a

                       first RUNOFF pass on said source file.

 
                   4.  Inserts the table-of-contents into  the  RUNOFF

                       source  using RNP, (available elsewhere on this

                       tape)

 
                   5.  Produces the final document, in two forms,  one

                       suitable  for use on normal printers, the other

                       tailored for DIABLO  type  printers,  (includes

                       proportional spacing and highlighting in RED)

 
                   6.  Optional capability to use TWOPAGE.BAS to print

                       the manual on both sides of 8&1/2 X 11 paper

 
 
                                            NOTE

 
                           The above programs use a special  REESE

                           version  of  RUNOFF,  plus the programs

                           RNP.TSK and TWOPAGE.BAS,  available  on

                           this tape under a seperate UIC.

 
 
 
 
               9.  Included in this release are some new  conditionals

                   and  a  couple  of  bug  fixes,  supplied by Daniel

                   steinberg of SRI International.  They  provide  the

                   following enhancements and bug fixes.

 
                   1.  Undefined variables correctly reported by error

                       processing

 
                   2.  Mixed mode arithmetic (A=B$) correctly reported

                       by error processing

 
                   3.  Conditional assembly parameter to automatically

                       set a new variable to zero, (rather than gener-

                       ating an error)




          

                                                                      
 
 
                   4.  Conditional assembly for RSX11M to automatical-

                       ly  extend  the  task when user storage area is

                       full.

 
                   5.  A FLOATING-POINT emulator which lets BASIC  run

                       on non-FPP machines.

 
 
 
 
          Sincerely Yours,

 
 
 
 
 
          Frank R. Borger

 
          FRB/pdp

