*COMDECK HISTORYL406     ***
L410     ***
L414     ***
 BAS0001 - SET ASCII BITS FOR NOS/BE INTERACTIVE I/O IN ASCII MODE
              FIX NODUMP ON CONTROL CARD ABORT
              HANDLE CHARACTER COUNT CORRECTLY IN NOS/BE ASCII MODE 
              MOVE INT MSG FLAG WORD TO LOWER ROUTINE 
              FIX LOADER CALL WITHOUT RECALL
 - BAS0002 -  TO FIX SET, WRITE, READ SEQUENCE BUG
  - BAS0003 -  ABORTED AFTER -NOT ENOUGH DATA- OR 
               -TOO MUCH DATA- DIAGNOSTIC ON MAT INPUT
   - BAS0004 -   DIAGNOSE ZERO STARTING POSITION FOR SUBSTR 
  - BAS0005 -   DO NOT REWIND NUETRAL FILE ON NODATA CHECK
 - S3143B3 -  TO USE OS.ID MICRO INSTEAD OF OS.NAME AND OS.VER
              FOR LOADER TABLE
 *L420*    *********************************************************************
 BAS*76 - COPYRIGHT NOTICE FOR 1976 
 CP168 - BASIC 3.1 FEATURES 
          - DEBUG OPTION - TRACE AND EXECUTE REGARDLESS 
          - MEMORY MANAGEMENT - AUTO FL INCREASE
          - CHAIN STATEMENT 
          - FILE ORDINAL ZERO = J OR K FILE 
          - USER NUMBER FUNCTION
          - COMMENTS ON SOURCE LINES USING APOSTROPHE 
          - POSITIONING AFTER BAD DATA
       - OTHER FIXES
          - IGNORE REWIND ON INTERACTIVE FILE 
          - ALWAYS DATA ON INTERACTIVE FILE 
          - MOVE DECK MATH TO FOLLOW DECK INPUT 
 BAS0006 - FIX ERROR WHEN PRESET IS NGINDEF 
 BAS0007 - FIX PRINT USING ROUNDING ERROR 
 BAS0008 - FIX RANDOM I/O LAST PRU NOT REWRITTEN
 *L428*    ************************************************************* *L428* 
 BAS0009  FIX ABORT ON LONG INPUT STRING OF GRAVE ACCENTS                BAS0009
          GRD    17 FEB 76   OUTPUT, INPUT                               BAS0009
 BAS0011  FIX GRAVE ACCENT IN CHANGE STMT                                BAS0011
          GRD    17 FEB 76   STRNG                                       BAS0011
 BAS0014  INCREASE FL FOR COMPILER IF REQUIRED                           BAS0014
          GRD    17 FEB 76   BASCARD,ERROR,BASCOMP,BASOPTS               BAS0014
 BAS0015  RESTORE RECOVERY AFTER CALL EXTERNAL                           BAS0015
          TURN OFF RECOVERY BEFORE CHAIN                                 BAS0015
          GRD    17 FEB 76   OUTPUT,ERROR,MISC                           BAS0015
 BAS0016  FIX POSITIONING AFTER BAD DATA                                 BAS0016
          GRD    17 FEB 76   INPUT                                       BAS0016
 BAS0018  MAKE TAB ILLEGAL EXCEPT IN PRINT STMT                          BAS0018
          GRD    17 FEB 76   BASCOMP                                     BAS0018
 *L433*    ************************************************************* *L433* 
 BAS0020  FIX PRINT USING REGISTER MISUSE                                BAS0020
          GRD    7 MAY 76          BASCOMP                               BAS0020
 BAS0021  FIX CHAIN INITIALIZATION OF ASCII PARAM                        BAS0021
          GRD    7 MAY 76          MISC                                  BAS0021
 BAS0022  FIX PRINT USING TO WORK WITH TRACE                             BAS0022
          GRD    21 MAY 76         BASCOMP                               BAS0022
 BAS0023  REMOVE EXTRANEOUS LINE FROM REWOUND APPENDED FILE              BAS0023
          GRD    4 JUN 76          INPUT                                 BAS0023
 *L439*    ************************************************************* *L439* 
 BAS0026  FIX TO CORRECT OVERFLOW MOVES ONE                              BAS0026
          TOO MANY WORDS                                                 BAS0026
          RR NOV 08 76       BASOPTS                                     BAS0026
 BAS0027  FIX BAD POINTER TO CONSTANT TABLE ENTRY                        BAS0027
          FIX LABTEMP NOT BEING ADJUSTED FOR STORAGE MOVE.               BAS0027
          FIX MINSPACE IN SHUFFLE TOO SMALL FOR ASCII IMAGE              BAS0027
          RR    NOV 04 76    BASCOMP                                     BAS0027
 *L446*    *************************************************************
 BAS*77   COPYRIGHT NOTICE FOR 1977 
          RR 2 DEC 76        BAS*76 
 BAS0025  FIX SPURIOUS CHARACTERS IN CP EXECUTION 
          TIME MESSAGE.  ALSO ADD DOCUMENTATION RE
          BASOCON ROUTINE WHICH CONVERTS FP NUMBERS 
          TO DISPLAY FORMAT.
          RR 1 DEC 76        OUTPUT 
                             ERROR
 *L452*    *************************************************************
 BAS0024  FIX JOB ORIGIN CODE NOT PROPERLY RECOGNIZED.
          ADD LOGIC EFFECTIVE WHEN B OR J OPTION ON CONTROL CARD
          TO PROVIDE ADEQUATE BUFFER SIZE FOR 
          INPUT AND J FILES. (ENSURES LOOPING DOES NOT OCCUR
          BECAUSE INSUFFICIENT BUFFER SPACE AVAILABLE TO BRING IN 
          NEXT PRU OF DATA.)
          RR 7 FEB 77        BASCARD
                             BASCOMP
 BAS0028  FIX LOGIC DOES NOT HANDLE PAGE DENSITY
          OPTION CORRECTLY WHEN THE KEYWORD PD IS USED ON 
          CONTROL CARD WITHOUT AN = SIGN. 
          RR 4 FEB 77       BASCARD 
 BAS0029  FIX RESTORE DOES NOT FLUSH BUFFER WHEN SEQUENCE 
          IS SET,WRITE,SET,READ,RESTORE.
          FIX APPEND DOES NOT FLUSH BUFFER FOR PRECEDING SET,WRITE. 
          FIX CLOSE DOES NOT FLUSH BUFFER FOR SEQUENCE SET,WRITE,SET,CLO
          RR 13 DEC 76       INPUT
 BAS0034  FIX TO CORRECT PROBLEM INCORRECT POSITIONING
          OF FIRST ASCII PRINT LINE OUTPUT FROM EXECUTION OF A
          COMPILE AND GO PROGRAM; CAUSED BY ERRONEOUS NUMFLG VALUE. 
          RR 7 JAN 77        OUTPUT 
                             ERROR
 BAS0035  FIX MODE1 ERROR IN MOVE OF REL-ID-LABEL 
          TABLE. ERROR CAUSED BY INCORRECT
          POINTER TO NEXT AVAILABLE INSTRUCTION WORD
          COMBINED WITH LOOSE CODE IN OVERFLW.
          RR 18 DEC 76       BASCOMP
                             BASOPTS
                             CP168
 BAS0039  FIX TO CORRECT ERRONEOUS ILLEGAL ARGUMENT 
          DIAGNOSTIC MESSAGE OCCURING DURING COMPILATION OF 
          STATEMENT USING ASC(:) FUNCTION. PROBLEM CAUSED 
          BY ASCII FLAG NOT BEING INITIALIZED TO ZERO.
          RR 17 JAN 77       ERROR
 *L460*    *********************************************************************
 *L470*    *************************************************************
 BAS*78   COPYRIGHT NOTICE FOR 1978 
          JKE    16/SEP/77   BAS*77 
 FEAT194A FEATURE CODE TO ADD IF-THEN-ELSE
          RR     77/05/01    BASCOMP
 FEAT194B FEATURE CODE TO ADD DYNAMIC, VARIABLE LENGTH
          STRINGS TO THE COMPILER.
          RR     77/09/15    BASCOMP
 FEAT194C FEATURE CODE TO ADD DYNAMIC, VARIABLE LENGTH
          STRINGS TO RUNTIME ROUTINES.
          JKE    77/09/15    OUTPUT,ERROR,INPUT,STRNG,PRUSNG
                             MISC,MATRIX
          RR     77/09/15    OUTPUT,INPUT 
 STRMGR   STRING MANAGER FOR DYNAMIC, VARIABLE LENGTH 
          STRINGS.  PART OF FEATURE 194.
          JKE    77/07/29    STRMGR 
 BASA011  FIX RUNTIME MODE 0 ERROR CAUSED BY COMPILER 
          MEMORY SHUFFEL DURING LABEL DEFINITION. 
          JKE/RRR   77/10/17    BASCOMP 
 BASA015  CHANGE ASCII CONVERSION TABLES TO CORRESPOND
          TO NOS R3 CODE CHANGES.  CODE FOR GRAVE CHANGES FORM
          7600 TO 7407.  7405 AND 7406 ARE ALTERNATE FORMS OF 
          DC1 AND DC3.  7600 IS RETAINED AS AN ALTERNATE FORM OF
          GRAVE FOR COMPATABILITY.   NOS WILL NO LONGER GENERATE 7600 
          ON INPUT BUT IT WILL STILL TREAT 7600 AS A GRAVE ON 
          OUTPUT. 
  
          JKE    15 OCT 77   STRNG,OUTPUT 
 BASA017  FIX TO RESTORE B2 AND B4 REGS FOR CASE
          ON ERROR GOTO AND INTERACTIVE MODE EFFECTIVE; 
          AND -RJ BASEGEN- EXECUTED  .
          RR     14 NOV 77   ERROR
 BAS0043  CORRECT BASAEXP TO NORMALIZE DIVISOR
          TO PREVENT MODE 4 ERROR OCCURING OCCASIONALLY.
          RR     4  NOV 77   MATH 
 BAS0045  CORRECT BASCHAN (CHAIN ROUTINE) TO ATTEMPT TO 
          ATTACH WITH READ PERMISSION RATHER THAN WRITE PERMISSION
          JKE    77/10/31    MISC 
 BASA020   FIXES FOR FEAT194A - 
          1.  CORRECT WRONG USAGE OF RUN/TIME ERROR DIAG ER119
          2.  REVISE CODE TO REMOVE UNNEEDED LOGICAL RESULT FROM
              ANDSTACK.  REMOVE CODE THAT WAS REQUIRED BECAUSE
              LOGICAL RESULT WAS LEFT ON ANDSTACK.
          3.  REVISE CODE TO PERMIT LEFT PAREN OF SUBSCRIPTED 
              VARIABLE OR SUBSTR( TO UNSTACK -THEN- AND -ELSE-. 
          4.  ADD CODE TO ENSURE 2ND WORD OF ANDSTACK IS CLEARED
              WHEN STACKING USER FUNCTION. (GARBAGE WAS BEING 
              DETECTED BY IF THEN ELSE STMT.) 
          5.  ADD CODE TO ENSURE -SUBSTR- ON LEFT OF ASSIGNMENT 
              OPERATOR IS PROPERLY RECOGNIZED WHEN FOLLOWING
              -THEN- OR -ELSE-.  (WAS INTERPRETED AS RIGHT HAND SUBSTR.)
          6.  ADD CODE TO RESTORE B7 READ BUFFER POINTER AFTER
              DETECTING -ILLEGAL STMT WITHIN IF- CONDITION. 
              (WAS GOING MODE 01) 
          RR     77/12/21        BASCOMP
 BASA021   FIXES FOR FEAT194C 
          1.  STRING AREA SQUEEZE ROUTINE WAS NOT UPDATING
              -PREVIOUS- CELL WHEN STRING-GARBAGE-STRING
              CONTENT OF STRING AREA. 
          2.  FIX RUNTIME MODE 1 ERROR CAUSED BY REGISTER 
              CONFLICT IN DAT$/CLK$ FUNCTIONS.
          3.  FIX NOS/BE ASCII OUTPUT OF STRING 
          4.  FIX CMM INTERFACE - UPDATE FIELD LENGTH 
          5.  PUT COMP/EXEC TIMES IN SYSTEM/USER DAYFILES 
          6.  ADJUST STRING POINTERS PRIOR TO CALL EXT SUBROUTINE 
          BH     78/01/10    BASEGEN,BASOGEN,BASCOMP
          RR     77/12/21    BASEGEN
          JKE/BH 77/12/14    BASEGEN,BASOGEN
 *L477*    **************************************************** 
 BASCOMP  CHANGE LINE LENGTH IN OUTPUT FET TO COVER 150 CHARACTER LINES 
          AND 130 CHARACTER PAGE HEADERS. BASOCHK IN BASOGEN WAS FAILING
          TO PRINT BUFFER BECAUSE THERE SEEMED TO BE ROOM FOR ONE LINE. 
          WR     78/04/17    BASCOMP
 BASA038   LOST CONSTANT DUE TO SHUFFLE FORGETTING THE FREE ENTRY ON THE
           DATA STACK WHEN CALCULATING THE NUMBER OF ENTRIES TO RELOCATE
           FROM THE OLD DATA AND CONSTANTS STACK AREAS TO THE NEW POST- 
           SHUFFLE DATA AND CONSTANTS STACK AREAS.
 BH       06/26/78                 BASCOMP/SHUFFLE
 BAS0047  IGNORE SYSTEM APPENDED BLANKS ON IF MORE/NODATA 
          CHECKING. BAS0047 WILL SCAN FORWARD UPTO 640
          CONSECUTIVE BLANKS. 
          BH      78/02/07     BASINOD
 BAS0054   IGNORE SYSTEM APPENDED BLANKS ON INPUT LINE
           BH     78/02/07     BASIEND
 BASA022  MISSING SENTINAL WORD IN BASEGEN FOR RETURN STRING BASRSTR
          CAUSED AN UNSATISFIED EXTERNAL REFERENCE DURING GENERATION
          OF RELOCATABLE BINARIES IN OUTINS 
          BH     03/08/78    BASEGEN
 BASA026  CHANGE BASASTR TO SET SOURCE POINTER EQUAL TO TARGET ON EXIT, 
          SO MULTIPLE ASSIGNMENT WILL CHAIN ALL THE IDENTICAL STRINGS.
          WR     78/03/21    BASTRNG
 BASA027  FIXES SUBSTR FUNCTION BASXSBS TO COUNT ESCAPE CODE CHARACTER
          OF FIRST ASCII CHARACTER FOUND IN COUNT OF 6 BIT CHARACTERS 
          IN NEW TEMPORARY STRING 
          BH     78/03/06        BASTRNG
 BASA030  RESTORE REGISTERS IN BASASTR TO AVOID CPU ERROR 00 ON NEXT
          RETURN. HAPPENED ON MULTIPLE ASSIGNMENT OF NULL STRING. 
          WR     78/03/21    BASTRNG
 BASA033 PROCEDURE TO ENTER CONSTANT INTO CONSTANT STACK
         WAS SETTING CONSPTR TO THE LAST ENTRY IN LABEL 
         TABLE AREA WHEN IT DETERMINED THAT IT NEEDED TO
         BUMP THE LABEL AND CONSTANTS STACKS. FIX IS TO 
         NOT UPDATE CONSPTR UNTIL AFTER THE SHUFFLE TO BUMP 
         THE LABEL AND CONSTANTS STACKS HAS BEEN COMPLETED. 
         REMEMBER... FOR CONSTANTS CONSPTR ALWAYS POINTS TO 
         THE NEXT AVAILABLE LOCATION IN THE CONSTANTS STACK.
 BH       78/04/11     BASCOMP(BENTCONS)
 BAS0057  APOSTROPHES ARE TREATED AS AN EOS (END-OF-STMT) SO
          THAT WHEN LACTFL1 CHECKED TO SEE WHO CAUSED RESTORE TO BE 
          UNSTACKED, HE WROTE AN EOS (101B) OVER THE APOSTROPHE. THIS 
          CAUSED BASCOMP TO TREAT THE REMAINDER OF THE INPUT LINE AS
          ANOTHER BASIC STATEMENT WHICH WOULD RESULT IN A SUBSEQUENT
          ILLEGAL STATEMENT DIAGNOSTIC BEING ISSUED. FIX IS TO HAVE 
          LACTFL1 CHECK TO SEE IF THE UNSTACKING ACTION WAS CAUSED BY AN
          APOSTROPHE AND IF SO SCAN DOWN THE CHAR UNPACK BUFFER UNTIL IT
          FINDS THE REAL EOS. 
 BH       04/21/78                 BASCOMP(LACTFL1) 
 BAS0061  IMPROPER USE OF 18 BIT RESULT INSTRUCTIONS CAUSED 
          AN ARTIFICAL LIMIT OF 131072D FOR SET AND LOC 
          FUNCTIONS. (131072D IS LARGEST NUMBER THAT CAN BE 
          REPRESENTED IN 18 BITS).
 BH       78/03/30     BASFSET,BASILOC
 BAS0064  APOSTROPHE ON END STATEMENT WAS BEING INTERPERTED AS AN EOS 
          (END-OF-STATEMENT) AND AS SUCH CAUSED AN "END NOT LAST AT LN" 
          ERROR. FIX IS TO HAVE BASCOMP PROCEDURE BENDACT (END ACTION)
          SPECIAL CASE APOSTROPHE SO THAT IT SKIPS OVER APOSTROPHE UNTIL
          IT REACHS THE REAL EOS IN THE CHAR UNPACK BUFFER. 
          THIS WILL ALLOW REMARKS TO BE PLACED ON END STATEMENTS. 
 BH       78/04/21                 BASCOMP(BENDACT) 
 *L600*    *****************************************************
 BASA036  FL GROWS TOO MUCH WHEN IN  REDUCE,-  MODE.  MEMUP ROUTINE 
          WAS USING THE SAME LOGIC FOR FAILURES OF MEMUP AND MEMDOWN. 
          WR     78/05/31    BASEGEN
 BAS0068  PROBLEM - CHAINING FROM A LARGE, PREVIOUSLY COMPILED BASIC
          PROGRAM MAY CAUSE AN ABORT. THE SYMPTOM WOULD BE A *MEM*      000280
          REQUEST WHOSE PARAMETER WORD RESIDES OUTSIDE THE REQUESTED    000290
          FIELD LENGTH. THE REQUESTED FIELD LENGTH WOULD BE 35000B.     000300
          SOLUTION - THE ACTION OF CHAINING MUST INSURE THAT THE        000310
          FIELD LENGTH IS AT LEAST 35000B FOR THE RE-LOADING OF THE     000320
          COMPILER, OR FOR THE LOADING OF AN OBJECT BINARY. THE CODE    000330
          USED TO SET FL TO 35000B. THIS MOD WILL SET FL TO 35000B      000340
          ONLY IF THE CURRENT FL IS .LT. 35000B.                        000350
          CFR    78/06/12    MISC                                       000360
 F2210D   IMPLEMENT THE RPT$ FUNCTION 
          JT     28 APR 78         STRNG/BASCOMP
 F2210A   FEATURE CODE TO IMPLEMENT TERMINAL INTERRUPT PROCESSING VIA 
          ON ATTENTION THEN/GOTO LN AND ON ATTENTION. ALSO IMPLEMENT THE
          ON ATTENTION LINE NUMBER FUNTION ASL(X).
          BH        15 MAY 1978       BASCOMP/BASEGEN 
 COMBEXT  ADD COMMON DECK FOR THE -BSFUNTBL- STRUCTURE WHICH PROVIDES 
          EXTERNAL LINKAGES FOR THE BASIC COMPILER AND ITS LIBRARY. 
          BASIC  30 JUN 78   COMBEXT
 F2210B   IMPLEMENT BASIC 3.3 SIZE REDUCTION FEATURE, F2210B. 
          BASIC  01 JUN 78   BASCARD,OUTPUT,ERROR,INPUT 
                             STRNG,BASCOMP,BASOPTS
 BASERRS  ADD DECK -BASERRS- FOR FEATURE F2210B TO RESTRUCTURE
          EXECUTION CONTROL FOR BASIC 3.3.
          BASIC  01 JUN 78   BASERRS
 BSFUNTL  ADD DECK -BSFUNTL- FOR BASIC 3.3 F2210 FEATURES TO
          PROVIDE A TABLE OF EXTERNAL REFERENCE LINKAGES FOR THE BASIC
          COMPILER AND ITS LIBRARY. 
          BASIC  01 JUN 78   BSFUNTL
 BASRTS   ADD DECK -BASRTS- CONTAINING BASIC 3.3 COMMON PROCEDURES
          AND ROUTINES FOR FEATURE F2210B.  USES XTEXT. 
          BASIC  01 JUN 78   BASRTS 
 F2210C   IMPLEMENT BASIC 3.3 FEATURE F2210C TO PROVIDE BINARY
          CODE GENERATION AND OBJECT LIST IMPROVEMENTS. 
          BASIC  30 JUN 78   OUTPUT,ERROR,MATRIX,BASCOMP,BASOPTS
 F2210E   CORRECTIONS TO FEATURES F2210B AND F2210C FOR BASIC 3.3.
          BASIC  15 AUG 78   BASCOMP,BASOPTS,BASRTS 
 F2210D   IMPLEMENT THE RPT$ FUNCTION, FEATURE F2210D, FOR BASIC 3.3. 
          BASIC  28 APR 78   ERMNUM,STRNG,BASCOMP 
 F2210A   FEATURE CODE TO IMPLEMENT TERMINAL INTERRUPT PROCESSING VIA 
          ON ATTENTION THEN/GOTO LN AND ON ATTENTION. ALSO IMPLEMENT
          THE ON ATTENTION LINE NUMBER FUNCTION, ASL(X).
          BASIC  15 MAY 78   BASEGEN,BASCOMP,ERMNUM 
 F2210F   CORRECTIONS TO BASIC 3.3 FEATURE F2210. 
          BASIC  20 AUG 78
 F2210G   CORRECTIONS TO BASIC 3.3 FEATURE F2210. 
          BASIC  20 AUG 78   BASCOMP
 F2210H   CORRECTIONS TO BASIC 3.3 FEATURE F2210. 
          BASIC  21 AUG 78   BASCOMP
 F2210I   CORRECTIONS TO BASIC 3.3 FEATURE F2210. 
          BASIC  21 AUG 78   BASCOMP,BASOPTS
 F2210J   CORRECTIONS TO BASIC 3.3 FEATURE F2210. 
          BASIC  22 AUG 78   BASCOMP
 F2210K    ADD DECK -BUILD- TO BUILD A DUMMY STRUCTURE OF BASIC 3.3 
          PROGRAMS AND OVERLAYS FOR FEATURE F2210. THIS STRUCTURE IS
          USED DURING INSTALLATION/BUILD OF BASIC.
          ALSO, ELIMINATE UNNECESSARY CWEOR-S AND REARRANGE THE BASIC PL
          DECK STRUCTURE. 
          BASIC  24 AUG 78   BASRTS,BASCOMP,BUILD 
 F2210L   MORE FIXES TO BASIC 3.3 NEW FEATURE, F2210. 
          ALSO, ADD HISTORY INFORMATION FOR BASIC 3.3 F2210 NEW 
          FEATURES AND FEATURE FIXES. 
          BASIC  31 AUG 78   BASCOMP,HISTORY
 *L485*    *****************************************************
 BASA039  THIS CHANGE WILL CAUSE THE TIME MESSAGES TO BE PLACED IN THE
          DAY FILES WHEN THE MESSAG OPTION IS TURNED OFF. IT ALSO WILL
          CAUSE EXECUTION ERROR MESSAGES TO BE PLACED IN THE DAY FILES. 
          IN ADDITION AN EXECUTION TIME MESSAGE WILL PRINT FOR PROGRAMS 
          WITH CHAIN STATEMENTS.
          LMB 19 OCT 78  BASERRS,BASEGEN,BASCOMP,BASCHAN,BASCARD,BASOPTS
 BASA040  PROBLEMS (MODE ERRORS AND OTHERS) ONLY WHEN OPTIONS ARE USED. 
          SPECIFICALLY, PROGRAMS COMPILED WITH THE B OPTION 
          CALL THE WRONG EXTERNAL ROUTINES IN SOME CASES.  DETERMINED 
          TO BE CAUSED BY TABLE OF EXTERNAL NAMES (BSFUNTBL) PARTIALLY
          OVERLAYING ITSELF OR PART OF THE OPTION PROCESSING CODE.
          SOLUTION WAS TO TRANSFER BSFUNTBL BOTTOM UP WHEN NECESSARY. 
          LMB    21 SEP 78  BASOPTS 
 BASA041  RESOLVE ENTRY POINT NAME CONFLICT BETWEEN THE NOS 
          VERSION AND THE COMMON COMMON DECKS VERSION OF THE
          SHELL SORT BY USING SST= AS THE ENTRY POINT NAME IN 
          THE SHELL SORT CALL FOR BOTH NOS/BE AND NOS.
          *NOTE* THIS CORRECTION IS DEPENDENT ON THE PRESENCE 
          OF IDENT F4720D ON THE COMPASS PL, WHEN CREATING XTEXT
          FOR BASIC, TO ALLOW USE OF EITHER SST OR SST= AS
          THE ENTRY POINT NAME FOR THE COMMON COMMON DECK VERSION 
          OF THE SHELL SORT.
          JTT    07 SEP 78  BASOPTS 
 BASA043  CHAIN STATEMENTS TO NEW SOURCE PROGRAMS FAIL IF THERE IS A
          LOAD FAULT, SINCE NO TEST WAS MADE OF THE FOL STATUS RETURN 
          IN B7.  BASIC SHOULD ABORT ON LOAD FAULT TO AID DIAGNOSIS.
          WR     25 SEP 78   BASCOMP,BASRTS 
 BASA044  LIST,NONE OPTION WAS NOT SUPPRESSING LO=O LINES AND MISALIGNED
          MARGINS. PROBLEM WAS THAT A LIST,NONE AS THE FIRST STATEMENT
          RESET ALL FET POINTERS. ALSO THE LO=O WAS NEVER ACCOUNTED FOR 
          DUE TO CHANGE IN THE COMPILER. ERRONEOUS CODE WAS REMOVED AND 
          A TEST WAS ADDED AT THE POINT OF LO OUTPUT. 
          LMB 9 OCT 78 BASCOMP,BASOPTS
 BASA045     EXTRA COLONS APPEARED AT END OF PRINT LINES. CHANGE MADE 
             FOR THE SPECIAL CASE OF AN UNQUOTED STRING WITH ONLY BLANKS
             IN THE LAST WORD OF THE STRING, WHEN BASCOMP HAD ZEROED OUT
             THESE BLANKS ( TRAILING BLANKS ARE NOT ALLOWED IN UNQUOTED 
             STRINGS) IT DID NOT SAVE THE NEWLY ZEROED OUT WORD. THIS 
             RESULTED IN AN UNQUOTED STRING OF THE FOLLOWING FORMAT:  
                 <STRING EXPRESSION><ZERO BYTE><BLANKS> 
             WHICH RESULTED IN THE ZERO BYTE BEING INTEPERTED AS A
             COLON. FIX IS TO SAVE THIS WORD BEFORE CONTINUING. 
             BH   10/26/78    BASCOMP 
 BASA047  FIX PROBLEM OF GARBAGE IN OUTPUT CAUSED BY BASIRED
          STORING INTO WORDS THAT ARE NOT WITHIN ITS PROCEDURE. 
          IN COMPILE-TO-CORE MODE WHEN THE PROCEDURE WAS FOLLOWED BY
          EXECUTION TIME BUFFERS, THIS RESULTED IN STORES OF
          GARBAGE INTO THE OUTPUT BUFFER. 
          JTT    78/09/25          INPUT
BASA049   FORCED EXECUTION OF A PROGRAM WITH COMPILATION ERRORS 
          RESULTED IN AN INFINITE LOOP.  PROBLEM WAS THAT THE BLTLINK 
          ROUTINE WAS TO PLACE A EQ ER119 IN CODE BUT DID NOT DO TO 
          F2210C CHANGE.
          LMB   28 SEP 78   BASCOMP 
 BASA053  FIXES ERRONEOUS DIAGNOSTICS FOR FUNCTION DEFS.
          WR     21 SEP 78  BASCOMP 
 BASA055  PROBLEM WAS THAT ON AN EXTERNAL CALL THE REFERENCE WAS
          NOT BEING PLACED IN THE BIN FILE OR ON AN LO=O LISTING. 
          SOLUTION REQUIRED REORGANIZING AND CORRECTING CODE TO STORE 
          AND RETRIEVE THE EXTERNAL NAME. 
          LMB    25 SEP 78   BASCOMP
 BASA057  GET FIXED LENGTH SYMBOL TABLE (IDS) OUT OF DYNAMIC
          AREA IN AN EFFORT TO IMPROVE CP TIME DEGRADATION
          DURING COMPILATION. 
          BH     10 OCT 78         BASCOMP,BASOPTS
BASA058   DIAGNOSTICS FOR JUMPS INTO AND OUT OF DEFS WERE NOT BEING 
          PRODUCED CORRECTLY BECAUSE THE FIRST CHAIN IN THE LABEL 
          TABLE WAS NOT BEING ACCESSED. CORRECTION WAS MADE.. 
          LMB 9 OCT 78 BASCOMP
BASA059   PROGRAMS WITH CALL STATEMENTS WERE MODING OUT DUE TO ERRONEOUS
          OBJECT GENERATION. THIS WAS CAUSED BY TRYING TO MARK THE
          EXTERNAL NAME IN THE BSFUNTBL. SOLUTION WAS TO ELIMINATE
          MARKING WHEN THE B OPTION IS USED.
          LMB 9 OCT 78 BASCOMP
 BASA063  CHAIN STATEMENT RESULTS IN MODE ERRORS DUE TO LOAD
          FAULT.  PROBLEM WAS THAT FILE NAME ON SYSTEM LOADS OF THE 
          COMPILER WAS BASIC, WHEN IT SHOULD HAVE BEEN NUCLEUS. FIX 
          IS TO USE NUCLEUS IN THAT CASE, AND SET THE LIBRARY BIT IN
          RA+65B. IN BASCOMP, THE FILE NAME WAS ALWAYS RESET, EVEN FOR
          COMPILE-TO-MEMORY AND EXECUTE, SO THIS WAS CHANGED TO 
          LOAD-AND-GO ONLY.  ON FILE "BASIC" CALLS, A SEPARATE FAULT
          EXISTED WHERE A BIN EXECUTION RETURNED THE BIN FILE, WHEN 
          IT SHOULD JUST CLOSED WITH REWIND. *** PART OF THAT FIX IS IN 
          LOADER PSR-S LDRA296/LDBA011, WHICH ADDS A REWIND IN FOL. 
          WR     78/11/08  MISC,BASCOMP (AND LOADER - SEE ABOVE)
 BASA065    INSURE THAT RPV ERROR MASK AND ASSOCIATED RPV FIELDS
            ARE CLEARED PRIOR TO DISABLING RPV MODE WHEN ATTEMPTING 
            TO CHAIN TO ANOTHER BASIC PROGRAM TO CORRECT THE PPU
 BH         20 NOV 1978          BASCHAN
 BASA066    THIS PSR ADDRESSES SEVERAL PERFORMANCE PROBLEMS 
            ENCOUNTERED DURING IBL BENCHMARK TESTING. ISSUES
            ADDRESSED ARE:  
             A) REARRANGE RUNTIME ROUTINES TO INSURE THAT THE 
                DYNAMIC STRING AREA MANAGEMENT ROUTINES (BASSMMM, 
                BASSMSQ,BASGSTR,BASRSTR,BASTSTR,BASESTR AND CHKDLMT) ARE
                ALWAYS AVAILABLE BUT THAT THE EXECUTION FIELD LENGTH IS 
                ABOUT THE SAME AS BASIC V3.2
             B) INCREASE COMPILE TIME INPUT BUFFER SO THAT THE
                NUMBER OF READS TO THE INPUT FILE IS REDUCED
             C) PRE-ALLOCATE COMPILE TIME MANAGED CODE,CONSTANTS
                AND LABEL TABLES TO TRY AND REDUCE THE NUMBER OF
                TABLE SHUFFLES DURING COMPILATION 
             D) ORIGIN THE BSFUNTBL OVERLAY (BASIC,2,1) SO THAT IT
                CAN BE LOADED AT INSTALLATION TIME BY PROGRAM MERGE.
             E) INTRODUCE PROGRAM MERGE INTO THE BASIC PL TO COPY THE 
                BSFUNTBL OVERLAY (BASIC,2,1) ONTO THE MAIN (0,0)
                OVERLAY TO REDUCE THE NUMBER OF OVERLAY LOADS NEEDED
                DURING COMPILATION FROM THREE (3) TO TWO (2)
 BASA076   THIS UPDATE PROTECTS THE (0,0) AND THE GENERATED 
           CODE FROM BEING CLOBBERED WHEN THE (2,0) RUN TIME
           LIBRARY IS LOADED. THIS IS OF PRIMARY CONCERN WHEN 
           THE RUN TIME LIBRARY LENGTH EXCEEDS THAT OF THE MAIN 
           (0,0) OVL. THIS FIX CAUSES THE LOW MEMORY ADDRESS (LM) 
            TO BE ADJUSTED TO ACCOMADATE THE RUN TIME LIBRARY.
            BH       14 DECEMBER 1978          BASCOMP/BASOPTS
 *L495*    ************************************************ 
 BAS*79   UPDATE COPYRIGHT INFORMATION FOR 1979 RELEASE.
          JTT    20 SEP 78  COPYRITE
 BASA042  ADD CODE TO NOTIFY DEBUG OF OVERLAY LOADS WHEN
          DEBUGGING THE COMPILER. 
          BH     15 SEP 78  BASCOMP,BASRTS
 BAS0075  PROBLEM WAS THAT A FUNCTION CALL IN A PRINT USING STATEMENT 
          CAUSED A MODE 1 ERROR. THE PRINT USING TOROUT ROUTINE WAS NOT 
          CHECKING FOR A SUBSCRIPTED STRING ARRAY SAVED IN A REGISTER 
          (AINX1) WHEN CHECKING TO SEE IF REGISTERS MUST BE RELEASED. 
          LMB   11/17/78   BASCOMP
 BAS0076  ZERO LENGTH DIMS WERE NOT BEING ACCEPTED WHEN BASE WAS SET
          TO ZERO. CORRECTION WAS TO TEST FOR THIS. 
          LMB   12/6/78   BASCOMP 
BASA078   MODE 1 WHEN LO=O OPTION USED.  A COUNT FOR NUMBER 
          OF MANAGED TABLES WAS COMPUTED INCORRECTLY. 
          BH     3 JAN 79          BASOPTS, BASCOMP 
 BAS0078  IF MORE MODED OUT AFTER A PRINT USING STATEMENT, BECAUSE THE
          CODED EOR TEST WAS USED ON BINARY FILES.
          WR     20 DEC 78         INPUT
BASA062   MODE ERRORS IN STRING PROCESSING. MEMORY REQUESTING ROUTINE 
          DID NOT ACCOUNT FOR THE ROUNDING UP THAT IS ONLY REFLECTED IN 
          REQUESTS FOR AVAILABLE FL, CAUSING MODE ON STRING SPACE 
          REQUEST.
          PROGRAMS WITH MULTIPLE SUBSTR ON LEFT WERE EXITING MODE 1.
          BASXSBT WAS SETTING PREVIOUS TEMPORARY STRING POINTER TO ZERO 
          INSTEAD OF CALLING STRING RETURN, AND BASSMSQ CALCULATED THE
          NEW LAST ENTRY USING AN ERRONEOUS NUMBER OF GARBAGE WORDS.
          PROBLEM WAS CORRECTED BY CALLING BASRSTR INSTEAD OF ZEROING 
          THE STRING POINTER, AND BY USING THE ACTUAL LAST ENTRY ADDR.
          LMB,WR   17 JAN 79       ERROR,BASSINT,STRNG
 F1065BAS  INTRODUCES THE BASIC/CID INTERFACE INTO THE
           BASIC V3.3 SYSTEM. THIS VERSION WILL GENERATE
           SYMBOL AND LINE NUMBER TABLES AND CID STYLIZED 
           CODE TO ALLOW THE BASIC USER TO DEBUG HIS/HER
           PROGRAM USING CID WITH BID/KID COMMANDS. 
 F1065BAS     BH              SEPTEMBER 1978
 F2211F   CORRECTION TO BASCHAN SO THAT A BASIC PROGRAM RUNNING 
          IN CID MODE WILL ISSUE AN ENDRUN INSTEAD OF AN LDV
          TO LOAD THE CHAINED PROGRAM. THIS UPDATE CAUSES 
          BASCHAN TO MAKE THE CHAINED FILE THE PRIMARY FILE 
          PRIOR TO ISSUING THE ENDRUN.
 F2211F       BH         16 JAN 1979      BASEGEN/BASERRS 
 F2211A   IMPLEMENT THE RUNTIME ROUTINES FOR ANSI SUBSTRING 
          ADDRESSING AND OPERATIONS FOR BASIC 3.4 NEW FEATURE F2211.
          JTT    JUNE 1978         COMBEXT,STRNG
 F2211B   IMPLEMENT ANSI SUBSTRING COMPILATION FOR BASIC 3.4 NEW
          FEATURE F2211.
          LMB    DECEMBER 1978     BASCOMP
 F2211C   MODIFY -BUILD- DECK FOR NEW MODULES ADDED FOR BASIC 3.4 
          NEW FEATURE F2211.
          LMB    DECEMBER 1978     BUILD
 F2211D   CORRECTION TO BASIC 3.4 FEATURE F2211 - ANSI
          SUBSTRING COMPILATION.
          LMB    21 JAN 79         BASCOMP
 F2211G   IMPLEMENT ANSI STRING FUNCTIONS FOR BASIC 3.4 NEW 
          FEATURE F2211.  FUNCTIONS INCLUDE LPAD$,LTRM$,LWRC$,ORD,POS,
          RPAD$,RTRM$,UPRC$.  NEW DECKS ADDED ARE BASSFGS,BASPOS, 
          BASSRE,BASSPA,BASCASE,BASPOS2,AND BASSRE2.
          JTT,LMB,NOVEMBER 1978    BASCOMP,STRNG,BASOPTS, 
                                   STRMGR,BSFUNTL,BASRTS,ERMNUM,BASCARD 
 F2211H   ADD HISTORY INFORMATION FOR BASIC 3.4 FEATURE F2211.
          UPDATE PAGE HEADING AND GENERATED BINARY DECK PREFIX TO 
          INDICATE BASIC 3.4. 
          JTT    22 JAN 79         BASOPTS,HISTORY
 F2211I   CORRECTION TO BASIC 3.4 FEATURE F2211. FIX TRC OPTION.
          JTT    22 JAN 79         BASOPTS
 F2211N    FEATURE IDENT TO HAVE REM STATEMENTS GENERATE
           CODE (SA0  LN/RJ =XDBUG.LN) WHEN CID ACTIVE
 F2211N    BH           23 JAN 1979           BASCOMP 
 BASA082    BASCOMP PROCEDURE BADLMT WAS USING THE ADDRESS OF THE 
            ILLEGAL STATEMENT LTOROUT ACTION (LSILLEG) RATHER THAN
            THE ELEMENT DESCRIPTOR (LILLEG) FOR THE LTOROUT ACTION
            WHENEVER A BAD DELIMIT STATEMENT WAS ENCOUNTERED. 
 BASA082    BH           25 JAN 1979                       BASCOMP
 BAS0081  WHENEVER A CLOSE IS REQUESTED FOR A READ ONLY FILE
          WHICH HAS NEVER BEEN OPENED (IMPLICITLY), BASOCLO 
          NEVER CLEARS THE WRITE LOCKOUT BIT WHEN IT RELEASES 
          THE FET.
 BAS0081  LMB/BH 24 JAN 1979       INPUT/BASOCLO
 BAS2211J 
          IMPROVE BASIC'S REAL-TIME 
          PERFORMANCE ON IBL BY REORDERING
          DECKS IN THE (2,0) OVERLAY. 
          ARRANGE THAT BASIINP IS THE 
          LAST DECK, AND REARRANGE IT INTERNALLY SO THAT
          BATIINP IS AS SMALL AS POSSIBLE.
          IVG    79/1/18     BASIINP,BUILD
  
 *L498*    ************************************************ 
 F2211Q 
          SPLIT (2,0) OVERLAY INTO TWO
          OVERLAYS , TO ALLOW A FAST LOAD FOR JOBS NOT USING
          ESOTERIC OPTIONS IN BASIC.
          IVG    79/2/16     BASRTS,BUILD,BASCOMP,COMBEXT 
  
 BASA083  A CALL STATEMENT WITHOUT ARGUMENTS AFTER A THEN OR ELSE CAUSES
          A "FOR WITHOUT NEXT AT 0" BECAUSE THE EOS IS LOST. IF CALL IS 
          UNSTACKED BY EOS LET IT CONTINUE UNSTACKING.
          LMB   2/6/79   BASCOMP
 BASA084  LPAD$,RPAD$,LTRM$,RTRM$,LWRC$, AND UPRC$ WERE CAUSING MODE
          ERRORS AND GIVING BAD RESULTS. REASON WAS THAT SOURCE STRING
          POINTER WAS NOT BEING UPDATED AFTER BASSMGS CALL. ALSO IT WAS 
          DISCOVERED THAT BASOPRT WAS NOT CORRECTLY DETECTING END-OF- 
          STRING. 
          LMB   2/7/79   BASCASE,BASSPA,OUTPUT
 BASA085  A LONG ASCII INPUT LINE WAS CAUSING THE BUFFER TO WRAP AROUND 
          BECAUSE THE MAX LENGTH IN THE FET WAS 17B (150 DISPLAY CHARS) 
          SOLUTION WAS TO MULTPLY MAX LENGTH BY TWO WHEN ASOPTION IS
          SET TO ACCOMODATE THE 12 BIT CHARS. 
          LMB    2/20/79    BASCOMP 
 BASA086  A SYSTEM FUNCTION IN THE MIDDLE OF A MULTIPLE ASSIGNMENT
          WAS NOT BEING FLAGGED AS IN ERROR.  SOLUTION WAS TO ADD 
          ANOTHER STACK ENTRY THAT CANNOT BE UNSTACKED BY EQUAL SIGN
          LMB    2/17/79    BASCOMP 
 BASA087  AN ANSI SUBSTRING TO THE LEFT OF A < OR > IN AN IF STATEMENT
          CAUSED A COMPILATION ERROR. LTSUB WAS NOT BEING UNSTACKED BY
          RELATIONAL OPERATORS. 
          LMB   2/12/79   BASCOMP 
 BASA088  INSTALLATION CHANGES.  SPECIFYING THE "DB" OPTION SHOULD NOT
          TURN ON CID BY DEFAULT AND THERE MUST BE NO EXTERNAL REFERENCE
          TO DBUG.LN TO AVOID A CID DEPENDANCY AT BUILD TIME
          LMB    2/12/79  COMBEXT(BASCOMP;BSFUNTL;BASOPTS),BASCARD,ERROR
 BASA090  REMOVES SREP$ FROM THE COMPILER AND THE DECK BUILD. 
          THE CODE REMAINS IN THE PL. 
          LMB    2/27/79    BUILD,COMBEXT(BASCOMP,BSFUNTL,BASOPTS)
 BASA092  CID MODE SYMBOL TABLE GENERATOR DID NOT ACCOUNT FOR ANY 
          POSSIBLE MANAGED TABLE SHUFFLES.  FIX IS TO INSURE THAT 
          CID MODE SYMBOL TABLE ALWAYS ACCOUNT FOR THIS WHEN BUILDING 
          THE SYMBOL TABLE. 
          BH    20 FEB 1979    BASOPTS
 BASA093  BASICON, WHICH BUILDS NUMERIC CONSTANTS, WAS NOT RECOGNIZING
          LOWER CASE "E" IN A REAL CONSTANT. SOLUTION WAS TO EXTRACT
          ONLY THE LAST SIX BITS FOR THE TEST.
          LMB    2/26/79    BASRTS/BASICON
 BASA095  ASCII LINES OF 150 CHARACTERS WERE CAUSING MESSAGE "LINE
          TRUNCATED". BASIUNP WAS CHECKING FOR END OF BUFFER BEFORE 
          CHECKING FOR EOL ON EVEN WORD BOUNDRY.
          LMB    2/27/79    BASRTS
 BASA098  FIXES AND REFINEMENTS FOR THE *TRC* OPTION. 
          CORRECT PRINTING OF GARBAGE FOR THE OPERATOR
          INPUT (TORIN) ACTION ADDRESS WHEN USING THE 
          INTERNAL *TRC* OPTION.
          JTT    07 FEB 79         BASOPTS,BASCOMP
 BASA099  FIX TO ALLOW ASCII CONVERSION PROCESS TO
          CORRECTLY HANDLE ASCII CONTROL CHARACTER
          DC4 (7664B) DURING ORD PROCESSING 
          LMB    03/15/79    BASCOMP
 BASA100  CHANGE NAME OF DBUG.FN RECOVERY PROCEDURE IN BASIC
          FROM *ERRPROC* TO *BASERR.* TO AVOID PROBLEM
          OF DUPLICATE ENTRY POINT NAMES WHEN A BASIC PROGRAM 
          IS LOADED WITH THE CRM/FTN INTERFACE ERROR PROCESSOR
          FROM *BASMLIB* WHICH IS ALSO NAMED *ERRPROC*.  THE
          PROBLEM OCCURRED WHEN A BASIC PROGRAM CALLED A FORTRAN
          PROGRAM WHICH DID CRM I/O.
          JTT    03/06/79          ERROR,BASERRS
 BASA101  FIX TO CHAIN TO ALLOW FOR LIST-OF-FILES WHEN
          BASIC IS USED IN CID MODE.
          LMB    3/15/79     MISC/BASCHAN 
 BASA104  ANSI SUBSTRING INSERTION (LEFT OF =) FIALS WHEN EQUAL 
          SIGN IS FOLLOWED BY BLANKS. SOLUTION IS TO TEST LAST NON-BLANK
          CHARACTER INSTEAD OF LAST CHARACTER WHEN LACTSUB IS UNSTACKED.
          LMB    4/18/79    BASCOMP 
 BASA105  COS(0) IS RETURNING .99999... INSTEAD OF 1.0. 
          LMB/IVG    4/16/79    MATH
 BASA108     FIX TO BASSRE2 AND BASPOS2 TO CORRECT FOR
             CDC 63 CHARACTER SET INSTALLATIONS.
             BH          03/29/79       BASSRE2/BASPOS2 
 BASA112  ERRORS FROM TERMINAL INPUT ARE CAUSING EXECUTION TO TERMINATE 
          DUE TO FAULTY CHANGE IN F1065BAS. 
          LMB    4/9/79    BASIINP,INPUT
 BASA113  ORD FUNCTION FAILED ON LARGE STRINGS BECAUSE ADDRESS OF 
          STRING POINTER INSTEAD OF LENGTH. 
          LMB    4/16/79    BASCASE 
 BASA114  ORD FUNCTION NOT WORKING FOR LOWER CASE LETTERS.
          SINGLE LOWER CASE LETTERS WERE NOT HANDLED CORRECTLY DUE
          TO MISSING SHIFT INSTRUCTION. 
          LMB    4/16/79    STRNG 
 BAS0077   FIX SPURIOUS ERROR MESSAGES WHEN ILLEGAL *END* STATEMENT 
          IS USED.
          JTT    07 FEB 79         BASCOMP
          REWRITE OF CMM MANAGER FOR BASIC. FIX IS TO ALLOW THE ALLOCATION
          OF NEW,LARGER CMM BLOCK FOR BASIC STRING AREA, THEN COPYING EXISTING
          STRINGS FORM OLD CMM BLOCK TO NEWLY ALLOCATED CMM BLOCK PRIOR 
          TO RELEASING THE OLD CMM BLOCK. 
          NOTE: CHANGES IN BASIC LINE IDENTIFIERS FOR BASIC 3.2 LEVEL 477 
          BH     3/12/79           BASSINT/BASSMMM
 BAS0084  MULTIPLE ASSIGNMENT OF SUBSCRIPTED STRINGS FAILED WHEN MORE 
          THAN FOUR ASSIGNMENTS WERE MADE BECAUSE CLASS AINX1 WERE NOT
          BEING SAVED BY RESERVE. 
          LMB   2/13/79   BASCOMP 
 BAS0093  FIX TO ELIMINATE THE POSSIBILITY OF A STRING AREA SQUEEZE 
          DURING APLIST GENERATION FOR CALLS TO EXTERNAL SUBROUTINES
          BH     24 MARCH 1979         BASOGEN/BASCALL
 BASA0096 PRINTING A NULL SUBSTR RESULTS IN THE PREVIOUS SUBSTR 
          EXTRACTION BEING PRINTED. SOLUTION IS TO CLEAR RESULT STRING. 
          LMB/JSH    4/18/79    STRNG 
 *L505*    ************************************************ 
 BASA118  BASCOMP PROCEDURE TRANS04 WAS NOT PROPERLY DETECTING
          A FIELD LENGTH THAT EXCEEDED MACHINE CAPACITY.
 BASA119  MODE ERROR CAUSED BY A JUMP TO BERR5 (FL TOO SMALL FOR
          COMPILATION) INSTEAD OF AN RJ TO RJERROR WITH BERR5 IN
          X0. FIX IS TO USE CALLERR MACRO.
          BH              27 JUNE 1979                  BASCOMP 
 BASA120  ON ATTENTION NOT PROPERLY CHECKED WHEN IN ASCII MODE. 
          BH             27 JUNE 1979                 BASCOMP 
 BAS0097
          THE PARTIAL UNDERFLOW MACHINE FORM
          CAUSED BASIC'S CONSTANT CONVERSION
          ROUTINE TO LOOP.   THE FIX CONSISTS 
          OF CODE TO CHECK FOR THE PARTIAL UNDERFLOW
          FORM, AND TO TREAT THIS DATUM AS ZERO.
          IVG    79/4/20     BASRTS 
  
 BAS0098  ADD MISSING INSTRUCTION IN CODE GENERATION
          FOR -READ STRING- TO ALLOW PROPER CHECKING FOR
          -BAD DATA- FORMAT (NUMERIC WHEN STRING EXPECTED). 
          JTT    05/30/79          BASCOMP
 *L508*    ************************************************ 
 BASA115
          PREVENT CHARACTER RETRIEVAL FROM WALKING PAST THE 
          *IN* LOCATION IN THE *CIO* BUFFER.   THE *IN* 
          LOCATION IS CHECKED FOR, AND AN ATTEMPT TO GO PAST
          WILL RESULT IN A REQUEST FOR ANOTHER *READ* TO BE 
          PASSED TO *BASICHK*.
          IVG    79/8/3      BASRTS, INPUT
 BASA122  BASESRT WAS NOT PROPERLY SETTING UP THE CODESRT 
          VARIABLE WHICH IS USED BY BASEJMP TO ORIGIN 
          ITS SEARCH FOR LINE NUMBER (VIA SA0 LINE NUMBER). 
          BH            7/9/79                  BASERRS 
 BASA123  ERRORFL WAS BEING SET FOR WARNING MESSAGES, INHIBITING THE
          CREATION OF THE BIN FILE. 
          LMB    8/2/79    BASCOMP
 BASA124 BASOPTS PROCEDURE TO GENERATE 5700B TABLE FOR CID WAS
         NOT PROPERLY DETECTING THE SPECIAL END CASE WHERE THE
         NUMBER OF PROGRAM DEFINED SYMBOLS (20) JUST FILLED 
         THE SYMBOL BUFFER. THIS RESULTED IN A BAD 5700B TABLE
         HEADER WORD BEING GENERATED. 
         BH          1 AUGUST 1979          BASOPTS 
 BASA126  LPAD, AND RPAD DO NOT WORK WITH LOWER CASE ASCII
          STRINGS. FIX WAS TO GET LENGTH WITH BASXLEN INSTEAD 
          OF FROM STRING POINTER WORD.
          LMB    7/27/79    BASSPA
 BASA127
          BASIC I/O REJECTED FOR CONNECTED FILES. 
          PROBLEM CAUSED BY DEVICE CODE IN BITS 59-48 
          BEING PASSED TO A SIGN TEST IN BASOFFT FROM 
          *FET*+1 FROM FNDSPAR IN BASIINP.
          SIGNALLING IS CORRECTED.
          IVG    79/8/13     INPUT
: 
 BASA128  VARIABLE PARAMETER FUNCTIONS WITH MORE THAN FOUR EXPRESSIONS
          AS PARAMETERS WERE NOT COMPILING BECAUSE LACTVPF COULD NOT
          HANDLE OPERANDS OF TYPE VINXS.
          LMB    8/20/79    BASCOMP 
 BASA129  STATEMENTS IF R THEN X=.1 ELSE 100 ARE NOT COMPILING BECAUSE
          THE E IN ELSE IS SEEN AS A SUBTEN. SOLUTION CHECKS FOR
          AN L AFTER AN ILLEGAL NUMBER
          LMB    9/11/79    BASRTS
 BAS0102 BASCALL WAS NOT PROTECTED AGAINST A STRING AREA SHUFFLE
         WHEN AN EQUATED, FORMAL STRING PARAMETER WAS BEING 
         PROCESSED. THE FIX IS TO ALWAYS USE THE EQUATED STRING 
         POINTER WORD TO LOCATE THE STRING PRIOR TO MOVING IT 
         INTO THE NEW STRING AREA POINTED TO BY THE FORMAL
         PARAMETER STRING POINTER WORD. 
         BH         8 AUGUST 1979             BASOGEN/BASCALL 
 BAS0104 REMOVE THE 0.9 MULTIPLICATION FACTOR FROM EXECUTION
         TIME CALCULATION BECAUSE IT ERRORONOUSLY RESULTS IN
         10 PERCENT REDUCTION IN REPORTED BASIC EXECUTION TIME. 
         LMB/BH           3 AUGUST 1979     BASEGEN/ELAPTIM 
 *L516*    ************************************************ 
 BAS*80 ADD 1980 COPYRIGHT INFO TO BASIC PL.
        BH         17 OCT 1979     COPYRITE 
 SIE7964   LACTRE2(READ) WAS NOT RELEASING THE REGISTER USED TO STORE A 
           STRING CAUSING INCONSISTANT ASSIGNMENT OF VARIABLES
           LMB    10/22/79    BASCOMP 
 BASA116  BASEGEN WAS NOT OUTPUTTING THE CC CHARACTER AT THE BEGINNING
          OF THE ERROR LINE.
          LMB    8/8/79    ERROR
 BASA125
          THE ROUTINE *BASPOS2*, WHICH COMPUTES THE *POS* 
          FUNCTION, WAS NOT DESIGNED TO ACCEPT STRINGS OF 
          CHARACTERS FROM THE 6/12 CHARACTER SET.  THE
          ALGORITHM EMPLOYED ASSUMED THAT ALL CHARACTERS
          WERE OF FIXED LENGTH. 
          THIS ROUTINE IS REPLACED BY THIS MOD.   THE 
          NORMAL CHARACTER SET IS TREATED AS A SPECIAL
          CASE OF THE 6/12 CHARACTER SET. 
          IVG    79/10/3     BASPOS2
* 
 BASA132 A NULL USER NUMBER RETURNED BY CPM CAUSED BASUSRN TO GO
         INTO AN INFINITE LOOP. THE FIX IS TO HAVE BASUSRN DETECT 
         A NULL USER NUMBER AND SUPPLY THE STRING *USERNUM*.
         BH          25 OCT 1979                  BASUSRN/BASERRS 
 BASA134  INTERACTIVE INPUT ERRORS WERE BEING TRANSFERRED TO CID. THIS
          SHOULD NOT HAVE BEEN DONE AND WILL NOT AFTER THIS FIX.
          LMB    11/9/79    INPUT 
 BASA140 PURGE BAS0090 BECAUSE IT CONTAINS A PURGE OF BAS0080.
         BAS0080 AND BAS0090 WILL BE RETRANSMITTED. 
         BH           12/10/79             INPUT
 BAS0080  THE LAST PRU WAS NOT BEING REWRITTEN CORRECTLY ON AN APPEND 
          BECAUSE THE CIO RANDOM BIT WAS NOT BEING SET AND THE FET LENGTH 
          WAS NOT BEING INCREASED BY 2 WORDS TO INCLUDE THE RANDOM INDEX. 
          LMB    6/20/79    BASRTS
 BAS0090  CORRECT FAILURE TO WRITE TO A BINARY FILE THAT
          HAD BEEN -SET- TO THE -LOC- POSITION AFTER A
          SERIES OF READS HAD BEEN PERFORMED. REWIND FAILED 
          TO REWRITE TO THE RANDOM FILE WHEN THE BUFFER 
          CONTAINED LESS THAN ONE PRU.  THE CORRECTION
          CAUSES A REWRITER TO BE PERFORMED INSTEAD OF A
          REWRITE IF THE LAST READ HIT EOF OR EOI.
          JTT    07/06/79    INPUT
 BAS0101  CORRECT LABEL USAGE PROCESSING SO THAT THE
          RELATIVE ADDRESS OF THE IMAGE -STATEMENT- ITSELF IS 
          STORED INTO THE GENERATED INSTRUCTION FOR AN IMAGE
          -STATEMENT- REFERENCE, SUCH AS A -GOTO- OR A -GOSUB-
          REFERENCE TO AN IMAGE STATEMENT.  THE OFFSET (REL ADDR) 
          OF THE IMAGE -FORMAT- WITHIN THE CONSTANTS AREA IS
          STORED INTO A GENERATED INSTRUCTION WHICH REFERENCES
          THE IMAGE -FORMAT-, SUCH AS A -PRINT USING- STATEMENT.
          JTT    10/17/79          BASCOMP,BASOPTS
 BAS0115 SUBSTR FUNCTION BASXSBT DID NOT PROPERLY EQUATE TARGET 
         STRING IN SUBSTR(STRING,P1,P2)=STRING CONSTRUCTS. THE
         PWADR FIELD IN THE GARBAGE TRAILER WORD WAS SET TO 
         POINT BACK TO THE TEMPORARY STRING CREATED BY BASXSBT
         AND NOT THE TARGET STRING. WHEN A STRING SHUFFLE 
         OCCURED, THE TARGET STRING WAS LOST DUE TO THE WRONG 
         PWADR ADDRESS. 
         BH            18 OCT 1979            STRNG/BASXSBT 
BAS0117  REFETCH WAS NOT RESERVING A REGISTER WHEN REFETCHING 
         LMB    10/25/79     BASCOMP
 BAS0122 THE OLD CHAINING PROGRAM WAS NOT RETURNED IF DIFFERENT 
         FROM NEW FILE AND NOT INPUT. ADD RETURN ACTION TO
         CLOSE FILE REQUEST IN BASCHAN. 
         BH           13 NOV 1979            BASCHAN
 BAS0118  STATEMENT B=2 GOTO 100 NOT BEING FLAGGED AS AN ERROR BECAUSE
          GOTO UNSTACK PROCESS WAS NOT CHECKING FOR AN EMPTY STACK. 
          LMB    11/20/79    BASCOMP
 BAS0119  NO CHECK WAS BEING MADE FOR A FILENAME CONFLICT ON THE CONTROL
          CARD. A CHECK WAS ADDED TO BASCARD. 
          LMB    11/30/79    BASCARD
 BAS0124 BASOPTS WAS NOT DETECTING A LOADER TABLE OVERFLOW WHEN 
         WRITING TO B FILE. FIX IS TO HAVE BASOPTS WRITE ITS
         LOADER TABLES WITH A MAXIMUM LENGTH OF 4095 ENTRIES. 
         BH                20 NOV 1979        BASOPTS/WLK4
 BAS0125 THE ASCTBL CHARACTER CONVERSION TABLE IN BASTRNG 
         HAD THE WRONG VALUES FOR +,-,*,/,(,),$. THE FIX
         IS TO MERELY CORRECT THESE PARTICULAR ENTRIES. 
         BH            11/29/79       BASTRNG/ASCTBL
 BASA110  ORD WOULD NOT ACCEPT KEYWORDS TO ORD WITH LOWER CASE LETTERS. 
          SOLUTION IS TO STRIP OFF THE ESCAPE CODE. 
          LMB    11/20/79    STRNG
 BASA135  WHEN CHECKING FOR DOUBLE QUOTE ON INPUT IF THE INPUT BUFFER 
          RAN OUT BETWEEN QUOTES IT LOOKED LIKE A SINGLE QUOTE. 
          LMB    10/31/79    BASIINP
 BASA136  BASOPTS WAS NOT STORING THE TRACE BYTE IN PRTBT19.
          LMB    11/15/79    BASOPTS
 BASA137  BASCOMP WAS INCORRECTLY PICKING UP THE STATE FOR THE FIRST COMMA
          IN A PRINT STATEMENT. 
          LMB    11/16/79    BASCOMP
 BASA138  MULTIPLE BASE STATEMENTS WERE NOT BEING FLAGGED AS ERRORS.
          SOLUTION WAS TO SET A FLAG TO INDICATE A PREVIOUS BASE STATEMENT. 
          LMB    11/20/79    BASCOMP
 F2215A BASIC 3.5 INITIALIZATION. THIS MOD CREATES THE BASIC 3.5
        ENTRY POINT BAAESRT AND SETS THE COLLATE FLAG, THE VERSION
        FLAG, AND SAVES THE INPUT CONVERSION BUFFER ADDRESS.
        LMB/BH            12 NOV 1979         BASERRS/BASOPTS 
 F2215B   THIS FEATURE CODE ADDS ANSI CONFORMANCE TO THE INPUT STATEMENT, 
          CHANGES THE WAY INPUT ERRORS ARE HANDLED, AND CHANGES THE FORMAT
          USED TO INPUT A MATRIX WITH THE MAT INPUT STATEMENT.
          THE FEATURE CHANGE FOR ANSI CONFORMANCE CAUSES THE ENTIRE INPUT 
          LINE TO BE VALIDATED FOR NUMBER AND TYPE BEFORE ANY ASSIGNMENTS 
          TO VARIABLES ARE MADE.  IN ADDITION AN ERROR FOR NOT ENOUGH 
          DATA MUST ALLOW THE ENTIRE INPUT RESPONSE FOR BE REENTERED. 
          TO HANDLE THIS, IF AN THERE IS NOT ENOUGH DATA AN ERROR MESSAGE 
          WILL BE ISSUED.  IF THE RESPONSE STARTS WITH A DELIMITER THEN 
          THE LINE WILL BE TAKEN AS A CONTINUATION OF THE PREVIOUS INPUT
          LINE OTHERWISE THE LINE WILL BE TREATED A TOTALLY NEW RESPONSE. 
          IF A LINE ENDS WITH A DELIMITER THEN IF THERE ARE NOT ENOUGH ITEMS
          THE NEXT LINE WILL BE TAKEN AS A CONTINUATION OF THE PREVIOUS ONE.
          THIS IS PARTICULARLY USEFUL FOR THE NEW MATRIX FORMAT, WHICH IS 
          TO ENTER THE ENTIRE ARRAY IN ONE RESPONSE RATHER THAN A COLUMN
          AT A TIME.  ALL THE ABOVE CHANGES EXCEPT THE INPUT VALIDATION 
          WILL APPLY TO BASIC 3.4 AND EARLIER BINARIES. 
          LMB    11/13/79 
 F2215C   THIS FEATURE CODE CHANGES DATA STATEMENTS TO ALLOW UNQUOTED STRINGS 
          TO BEGIN WITH ANY CHARACTER AND TO TRIM THE TRAILING BLANKS OFF OF
          ALL UNQUOTED STRINGS.  THESE CHANGES ARE REQUIRED TO MEET THE ANSI
          STANDARD. 
          LMB    11/14/79 
 F2215E   THIS FEATURE CODE IS TO ADD THE ANSI OPTION STATEMENT AND CHANGE
          THE RUNTIME FEATURES TO REFLECT THE OPTION COLLATE. 
          LMB    11/14/79 
 F2215F   IMPLEMENT CHANGES TO TAB FUNCTION PROCESSINS WHEN IN ANSI 
          MODE. 
          1. THE NEXT CHARACTER PRINTED AFTER A TAB(X) APPEARS IN 
             COLUMN X IN ANSI MODE AND IN COLUMN X+1 IN BASIC 3.4 MODE. 
          2. THE VALUE FOR X IN TAB(X) IS ROUNDED IN ANSI MODE AND
             TRUNCATED IN BASIC 3.4 MODE. 
          3. A ROUNDED VALUE FOR X IN TAB(X) THAT IS LESS THAN ONE
             CAUSES A NONFATAL EXCEPTION IN ANSI MODE.
          4. A VALUE OF X IN TAB(X) THAT IS LESS THAN THE CURRENT 
             POSITION ON THE LINE AFTER BEING REDUCED TO A MODULO OF
             THE MARGIN CAUSES THE CURRENT LINE TO END AND A TAB TO 
             THAT POSITION ON THE NEXT LINE WHEN IN ANSI MODE.  IN
             BASIC 3.4 MODE, SUCH A TAB IS IGNORED. 
          JTT    12/05/79          BASRTS,BASERRS 
 F2215G   IMPLEMENT ANSI STANDARD FOR DEFAULT OUTPUT FORMATTING OF
          INTEGERS AND HANDLING OF COMMA TABBING FOR BASIC 3.5. IF NO 
          -SETDIGITS- HAS BEEN SPECIFIED, THEN OUTPUT FORMATTING WILL 
          BE HANDLED AS IF THERE WAS A SETDIGITS 6 WHEN IN BASIC 3.5
          MODE (ANSI FLAG ON) OR WILL PRINT INTEGERS OF UP TO 9 DIGITS
          WHEN IN BASIC 3.4 MODE.  FOR -COMMA SPACING-, BASIC 3.5 WILL
          SKIP THE NEXT PRINT ZONE WHEN A STRING OR NUMBER ENDS AT THE
          END OF THE PREVIOUS ONE. BASIC 3.4 WILL CONTINUE PRINTING 
          WITHOUT SKIPPING SO NO SPACE IS LEFT BETWEEN PRINT FIELDS IN
          THIS CASE.
          JTT    11/27/79          BASRTS,BASERRS 
 F2215H   IMPLEMENT THE -RANDOMIZE- STATEMENT AND THE USE OF THE -RND-
          FUNCTION WITHOUT PARAMETERS FOR BASIC 3.5.
          JTT    11/12/79          BASCOMP
 LTRND    VFD    12/2000B,30/7740764200B,18/LACTRND     RND 
 F2215I   THIS FEATURE CODE ALLOWS USER DEFINED FUNCTIONS WITHOUT 
          PARAMETERS. 
          LMB    11/14/79 
 F2215K 
          ANSI LEVEL 1 FEATURE. 
          ALLOW *DET* TO TAKE AN OPTIONAL SQUARE NUMERIC
          MATRIX AS PARAMETER.
          SINGULAR MATRICES NO LONGER RETURN
          A FATAL ERROR ON INVERSION. 
          INVERSION IN PLACE IS NOW ALLOWED 
          IN THE LANGUAGE.
          *TORIN*, *TOROUT*, AND OTHER COMPILER 
          TABLES ARE ALTERED TO ALLOW THE SYNTAX DET(<MATRIX>). 
          THE COMPILER CHECK FOR INVERSION IN PLACE IS ELIMINATED.
          USE OF *DET* WITHOUT A PARAMETER OR PRIOR INVERSION 
          IS NOW ILLEGAL.   A NEW ENTRY POINT IS SUPPLIED FOR 
          *DET* WITH PARAMETER, AND THE COMPILER OPTIONALLY 
          SWITCHES THE CALL TO THIS NEW ENTRY POINT.   ERROR 162
          IS ALTERED TO REFER TO USE OF *DET* WITHOUT AN
          INVERSION.
          IVG    79/11/5     BASCOMP,COMBEXT,ERMNUM,MATRIX
                             BASOPTS
* 
 F2215L 
          ALLOW ALL MATRIX OPERATIONS AND FUNCTIONS TO PERFORM
          REDIMENSIONING. 
          REPLACE INITIAL CHECKS ON DIMENSIONS WITH RESULT
          DIMENSION ASSIGNMENT IN BASMOPR.
          IVG    79/10/31    MATRIX 
* 
 F2215M 
          ANSI LEVEL 1 FEATURE. 
          ALLOW MATRIX TRANSPOSITION IN PLACE AND MATRIX
          MULTIPLY IN PLACE.
          THE COMPILER CHECKS THAT OPERANDS AND THE RESULT
          ARE DIFFERENT ARE REMOVED.
          THE RUN-TIME ENTRY POINTS FOR TRANSPOSITION AND 
          MULTIPLY CHECK TO SEE IF RESULT AND OPERAND(S)
          CLASH.   IF THEY DO, THE RESULT IS COMPUTED 
          INTO A TEMPORARY STRING, THEN IS MOVED BACK TO
          THE RESULT AREA.
          IVG    79/11/8     BASCOMP, MATRIX
* 
 F2215N   IMPLEMENT CLEAN-UP OF -ON ATTENTION- PROCESSING FOR BASIC 3.5 
          SO UPON DETECTION OF A TERMINAL INTERRUPT OR THE EXECUTION OF 
          A NULL -ON ATTENTION-, BASIC 3.5 WILL CLEAR RPV RECOVERY FROM 
          TERMINAL INTERRUPTS AS WELL AS CLEARING USER RECOVERY FROM
          TERMINAL INTERRUPTS.
          JTT    11/20/79          ERROR,BASERRS
 F2215P   IMPLEMENT ANSI-MINIMAL COMPATIBILITY FOR -NEXT- STATEMENT 
          PROCESSING BY SETTING THE VALUE OF THE LOOP CONTROL VARIABLE
          TO THE FIRST VALUE NOT USED UPON EXIT FROM A FOR-NEXT BLOCK 
          VIA THE -NEXT- STATEMENT. 
          JTT    11/06/79          BASCOMP
 F2215Q REPLACES THE FAST OVERLAY LOADER (FOL) WITH THE REGULAR 
        OVERLAY LOAD REQUEST LDR. FOL IS SUITABLE FOR SYSTEMS 
        WITH A LARGE NUMBER OF OVERLAYS BUT FOR SYSTEMS LIKE
        BASIC 3.5 WHICH ONLY LOADS A MAXIMUM OF 2 OVERLAYS
        PER RUN, THE OVERHEAD INVOLVED WITH FOL IS NOT
        WARRENTED.
        BH         13 NOV 1979         BASCOMP,BASRTS 
 F2215R   THIS FEATURE ADDS WARNING MESSAGES FOR CONSTRUCTS WHICH ARE NOT 
          TO BE SUPPORTED IN THE FUTURE AND CORRECTS THE COLLATE FEATURE FOR
          THE CHANGE STATEMENT. 
          LMB    11/29/79 
 BASA139  THE CHECK PROTECT FEATURE OF PRINT USING IS NOT PERFORMING THE
          PROPER CHECK PROTECT FUNCTION.
          LMB    12/05/79    PRUSNG 
 BASA142  CHAINING TO A FILE CONNECTED(ASSIGNED) TO A TERMINAL WAS CREATING 
          A PP CALL ERROR. THIS CHANGE MAKES IT ILLEGAL TO CHAIN TO A CONNECTED 
          FILE. 
          LMB    1/16/80    MISC,BASRTS 
 BASA143  BAS0096 WAS NOT CORRECTLY CLEARING THE RESULT REGISTER. 
          LMB    1/2/80    STRNG
 BASA144  FEATURE CODE F2215J FOR BASIC 3.5 IS NOT PRODUCING CORRECT
          SUBSCRIPT CALCULATION CODE. EACH SUBSCRIPT MUST BE TRUNCATED
          AFTER THE ROUNDING FACTOR IS ADDED IF IT IS GOING TO BE 
          MULTIPLIED BY THE SUBSEQUENT UPPER BOUND. 
          LMB    1/10/80    BASCOMP 
 BASA145  BASMDTX WAS CLOBBERING REG B5 YIELDING ILLEGAL OUTPUT ON FILE.
          LMB    1/21/80    MATRIX
 BASA146  IN ASCII MODE ON NOS, 150 CHARACTER LINES WERE BEING TRUNCATED
          IMPROPERLY. 
          AHK   1/21/80   BASRTS
 BASA147  THIS CODE FIXES FEATURE F2215J WHICH WAS CLOOBBERING X2.
          LMB    1/17/80    STRNG 
 BASA148  FEATURE F2215Q WAS NOT CORRECTLY LOADING OVERLAYS ON NOS/BE OR
          FROM THE SYSTEM ON NOS. 
          LMB    1/18/80    BASRTS,BASCOMP
 BASA150  FILE CONSTANTS WERE BEING TRUNCATED TO INTEGER BY THE COMPILER
          SOLUTION WAS TO ROUND IN THIS SITUATION.
          LMB    1/21/80    BASCOMP 
 BASA151  ROUNDING FOR TAB WAS FAILING FOR VERY LARGE NEGATIVE NUMBERS
          DUE TO ISE OF 18 BIT ARITHMETIC.
          LMB    1/24/80    BASRTS
 BASA152  DET(X) WAS DESTROYING THE DET VALUE FROM THE LAST INVERSION.
          SOLUTION WAS TO SAVE THE PREVIOUS DET VALUE IN BASMDTX BEFORE 
          CALLING BASMINV.
          LMB    1/25/80    MATRIX
 BASA154  FILE ORDINAL OF 2**18-1 FAILS BECAUSE AN SX IS USED TO TRUNCATE 
          THE FILE ORDINAL SO THAT SIGN EXTENSION GIVES THE WRONG VALUE.
          LMB    1/28/80    INPUT 
 BASA155  THIS CODE ADDS ROUNDING TO NXL, MARGIN, ROF, SET, AND SETDIGITS 
          WHICH WERE NOT HANDLED BY FEATURE CODE F2215J.
          LMB    1/29/80    OUTPUT, INPUT, MATH, BASERRS
 BASA157  CORRECT THE VERSION TO BASIC 3.5 IN THE LOADER PREFIX 
          TABLE OF BINARY CODE GENERATED BY BASIC 3.5.
          JTT    01/30/80          BASOPTS
 BASA158  PROGRAMS WITH MARGINS < 10 WERE DUPLICATING THE M THRU 10TH 
          CHARACTERS. BASOMOV WAS ASSUMING THAT THE FIRST WORD WAS IN X5. 
          LMB    1/30/80    OUTPUT
 BAS0128  LPAD$ WAS CLOBBERING THE TRAILER WORD WHEN COPYING THE SOURCE 
          STRING. 
          LMB    1/16/80    BASSPA
 *L528*    ************************************************ 
 BASA133  THE RELOCATION INDICATOR FOR A BACKWARD LABEL REFERENCE 
          WAS LOST DURING BINARY GENERATION MODE WHEN WRITING THE 
          FLLS (FORWARD REFERENCES) TABLE IN THE CASE WHERE BOTH A
          FORWARD AND A BACKWARD LABEL REFERENCE OCCURRED IN THE
          SAME WORD OF CODE.  THIS PROBLEM IS CORRECTED BY MERGING
          THE BACKWARD LABEL REFERENCE PARCEL NUMBER AND RELATIVE 
          ADDRESS WITHIN THE LABEL TABLE INTO THE FLLS TABLE ENTRY
          ALONG WITH THE FORWARD LABEL REFERENCE INFORMATION IF THEY
          ARE IN THE SAME WORD OF CODE. 
          JTT    01/09/80          BASOPTS
 BASA141  CORRECT COMPILATION ABORTS WHEN -REM LIST,NONE- 
          OPTION WAS USED WITH A LARGE PROGRAM. THE 
          OUTPUT FET IN-POINTER WAS BEING CLOBBERED TO A VALUE
          WITHIN THE INPUT UNPACKED CHARACTER BUFFER. 
          THE PROBLEM WAS CAUSED BY ROUTINE -SBR- TRYING TO 
          SAVE 6 REGISTERS IN AN AREA RESERVED FOR ONLY 5, THUS 
          CLOBBERING THE AREA FOR SAVING THE OUTPUT FET IN-POINTER. 
          JTT    02/21/80          BASOPTS
 BASA149  IN ASCII MODE ON NOS,GARABAGE WAS GENERATED WHEN TRYING TO
          READ BACK DATA FROM THE FILE. 
          BECAUSE BASIUNP UNPACKING THE ASCII CHARACTER INTO ONE WORD 
          THIS CAUSES THE PREENDED LOCATION NOT ALWAYS FALL ON THE WORD 
          BOUNDARY.IT ALSO CAUSES THE TOTAL NUMBER OF UNPACKED WORD NOT 
          NECESSARY TO BE UNPACK BUFFER SIZE. 
          SOLUTION IS CALCULATING THE PHYSICAL CHARACTERS IN THE BUFFER 
          WHILE UPDATING THE FETOUT.
          AHK   2/4/80   BASRTS 
 BASA160     DIMENSION DID NOT HANDLE PROPERLY IN MATRIX MULTIPLICATION 
             BASMMLT IS CHANGED WITH CORRECT TESTING CODE FOR DIMENSION.
 BASA161    THE NUMERIC CONSTANT WHICH LENGTH LONGER THAN 30 COULD NOT
            BE CONVERTED CORRECTLY. PSEUDO FET IS CREATED IN BASCOMP TO 
            LET BASICON UNPACKING THE STRING .
            AHK  2/13/80   BASCOMP
 BASA162  FIX INTERMITTENT MODE OUTS DURING EXECUTION DUE TO
          GENERATION OF BAD RELOCATION INFORMATION FOR THE BINARY LOADER
          TEXT TABLES CAUSING OCCASIONAL GARBAGE WHEN THE LOADER PERFORMED
          ADDRESS MODIFICATION FOR PROGRAM RELOCATABLE ADDRESSES. BAD BINARY
          WAS CREATED WHEN A 30-BIT INSTRUCTION REQUIRING PROGRAM RELOCATION
          OCCURS WHILE PROCESSING PARCEL 3 OF THE CURRENT CODE WORD BEING 
          GENERATED.
          JTT    02/01/80          BASOPTS
 BASA163  PREPARE FOR RETRANSMITTAL OF BASIC 3.5 FEATURE F2215D 
          CODE BY PURGING THE ORIGINAL CODE WHICH WAS INSERTED AT 
          THE WRONG PLACE, THUS CAUSING ERRORS.  THE CODE WAS TO
          ELIMINATE TRAILING BLANKS IN UNQUOTED INPUT STRINGS WHEN
          IN ANSI MODE. 
          JTT    02/26/80          INPUT
 F2215D   FEATURE CODE TO REMOVE TRAILING BLANKS FROM UNQUOTED
          INPUT STRINGS WITH STANDARD DELIMITERS IN ANSI MODE.
          LMB/JTT   12/11/79       INPUT
 BASA164  MARGIN AND DELIMITERS WERE NOT BEING RESET WHEN A FILE WAS CLOSED.
          THIS IS A RE-TRANSMITTAL OF PSR BASA153.
          JTT    02/18/80          INPUT
 BASA165  FEATURE CODE F2215L WAS TESTING INCORRECTLY FOR SIZE OF TARGET
          MATRIX IN TRN(X). 
          LMB    2/19/80    MATRIX
 BASA166  BASA142 WAS NOT CORRECTLY CHECKING IF A FILE WAS LOCAL. 
          LMB    2/15/80    MISC
 BASA169  BASICON WAS REJECTING ANY NUMBER ENTERED WITH AN E VALUE LESS 
          THAN -293.  SOLUTION REMOVES THE TEST AS UNNECESSARY AND INVALID. 
          LMB    2/19/80    BASRTS
 BASA170  MODE 0 IN CID MODE FOR PARAMETERLESS USER FUNCTIONS BECAUSE 
          OPTDEF WAS BEING CALLED EVEN THOUGH THERE WERE NO PARAMETERS. 
          LMB    2/25/80    BASCOMP 
 BASA172  THIS PSR PURGES BAS0126 SO THAT IT MAY BE RETRANSMITTED.
          LMB    2/28/80
 BASA173   THE VAL FUNCTION COULDN'T HANDLE STRING WHICH LENGTH IS
           LONGER THAN 31 CHARACTERS.PSEUDO FET IS GENERATED IN BASXVAL 
           TO LET BASICON UNPACKING THE STRING. 
            AHK  3/ 3/80   STRNG
 BASA174   CODE TO NOTIFY CID (CYBER INTERACTIVE DEBUG) 
          WHEN BASIC HAS LOADED AN OVERLAY. CODE ALSO MAKES 
          HANDLING OF LOADER CALLS UNIFORM UNDER NOS AND
          NOS/BE. 
          JTT    03/03/80          BASCOMP,BASRTS 
 BASA175   CHANGE STATEMENT DOES NOT WORK WITH AT SIGN,CIRCUMFLEX,
           OR COLON. IT WAS CAUSED UNDER NORMAL MODE FOR THE REASON THAT
           AT SIGN AND CIRCUMFLEX WAS TREATED AS ASCII CODE.
           AHK   3/5/80     STRNG 
 BASA176   A CONSTANT STRING WHICH CONSISTS COLON OR COLONS ONLY WAS
           TREATED AS NULL STRING.
           AHK   3/4/80     BASCOMP 
 BASA178   PRINT USING DROPS TRAILING 0 WHEN VALUE = 1 AFTER ROUNDING 
           THIS IS CAUSED BY BASPRUS FILLED REST OF FRACTION PART 
           WITH BLANKS INSTEAD OF ZERO. 
           AHK   3/12/80   PRUSNG 
 BASA179  BASA142 WAS CHECKING THE WRONG WORD TO SEE IF BASIC IS A LOCAL
          FILE. 
          LMB    3/13/80    MISC
 BASA180  F2215R WAS CLOBBERING THE REGISTER THAT POINTED TO THE DEF IN 
          A FUNCTION REFERENCE. 
          LMB    3/19/80    BASCOMP 
 BASA181  DUE TO CHANGES FROM F2215B AND BASA149, IF END WAS BYPASSING
          THE LEADING BLANKS FOR UNQUOTED INPUT STRINGS WHEN DELIMIT=CR 
          BECAUSE INCORRECT LOGIC IN BASICON WAS SKIPPING ALL THE BLANKS. 
          LMB    3/19/80    BASRTS,INPUT
 BASA183  LTSUB WAS NOT BEING UNSTACKED BY 'TO'.
          LMB    3/27/80    BASCOMP 
 BASA185  BASMASS WAS GETTING THE TOTAL SIZE OF THE RESULT MATRIX BEFORE
          IT REDIMENSIONED IT INSTEAD OF AFTERWARD. 
          LMB    3/27/80    MATRIX
 BASA186  DET WITH PARAMETER WAS MODING OUT IN COMPILE TO CORE BECAUSE
          THE BSFUNTBL SHOWED THE END AS BATMDET WHEN BASMDTX WAS CALLING 
          BASMINV MAKING THE END ACTUALLY BATMINV.
          LMB    3/27/80    COMBEXT 
 BASA187  DET WITHOUT PARAMETER BEFORE AN INVERSION SHOULD CAUSE A FATAL
          ERROR BUT WASN'T BECAUSE MATDET HAD NOT BEEN INITIALIZED TO 
          INDEFINITE. 
          LMB    3/27/80    MATRIX
 BASA189  PRINT "OBSOLETE FORM" WARNING MESSAGE WHEN THE
          OLD "BASE N" STATEMENT IS USED INSTEAD OF THE "OPTION BASE N" 
          STATEMENT.
          JTT    04/18/80          BASCOMP
 BASA195  THE BASIC INITIALIZATION ROUTINE WAS INCORRECTLY
          USING THE SOFT EXTERNAL -BASSRT.- FOR THE ADDRESS OF
          THE BEGINNING OF CODE WHEN IN CID (DEBUG) MODE DURING 
          RUN TIME AND THE BINARY CODE HAD NOT BEEN COMPILED WITH 
          DEBUG ON SO THAT BASSRT. WAS UNDEFINED AND THUS HAD 
          A NEGATIVE VALUE.  THE FIX CAUSES BASSRT. TO BE USED
          ONLY WHEN IT IS DEFINED.
          JTT    07/11/80          BASERRS/BASESRT
 BASA198  ADD CONDITIONAL CODE TO FORCE BIT 0 OF THE FIRST
          WORD OF THE FILINFO MACRO PARAMETER BLOCK TO -1- IF ON
          NOS AND TO -0- IF ON NOS/BE. THIS CORRECTS THE PROBLEM
          OF -AUTO RECALL STATUS MISSING- ON NOS/BE.
          JTT    05/27/80          MISC/BASCHAN 
 BASA199  BASXVAL WAS SETTING THE THE COMRUNS FLAG ERRONEOUSLY. 
          LMB    6/4/80    STRNG
 BASA200  BASOMOV WAS ALWAYS SEEING COLONS AS END OF STRING IN ASCII
          MODE ON NOS/BE. 
          LMB    5/21/80    BASRTS
 BASA201  CORRECT TIME LIMIT ERROR WITH LARGE MARGIN NUMBERS
          DUE TO THE USE OF 18 BIT ARITHMETIC IN CHECK AGAINST LEGAL
          MARGIN MAXIMUM. 
          JTT    05/20/80          OUTPUT/BASOMGN 
 BASA207  STR$ WAS NOT ACCEPTING FOUR LETTER STRING FUNCTION NAMES AS 
          PARAMETERS(E.G. LWRC$) BECAUSE OF AN ERROR IN CHKSTR. 
          LMB    5/28/80    BASCOMP 
 BASA208  ORD COULD NOT ACCEPT A COLON AS AN ARGUMENT BECAUSE BASTORD 
          WAS CHECKING THE FIRST WORD OF THE STRING INSTEAD OF THE SPW
          WHEN CHECKING FOR NULL STRING.
          LMB    5/20/80    STRNG 
 BASA209  THIS CODE PROVIDES LWA AND FWA WITH THE LDV LOADER
          REQUEST CALL TO PREVENT THE GENERATED INSTRUCTION BASE CODE 
          FROM BEING CLOBBERED ON NOS/BE WHEN LOADING IN THE RUN-TIME 
          OVERLAYS IN COMPILE-TO-CORE MODE. 
          THE PROBLEM WAS THAT ON NOS/BE, WHEN FWA AND LWA WERE ZERO
          (WERE NOT SPECIFIED IN THE LDV REQUEST), THE READING OF DIREC-
          TORIES AND OVERLAY HEADERS TOOK PLACE IN AREA BETWEEN THE 
          LOCATION SPECIFIED IN BITS 17-0 OF RA+65 AND FL-3.
          WHEN THE SYSTEM LIBRARY, SYSOVL, WAS ECS RESIDENT,
          THE LOADER PRE-INITIALIZED THIS AREA WITH ALTERNATING 
          WORDS OF ZERO BEFORE READING ECS, THUS CLOBBERING THE 
          AREA CONTAINING THE CODE COMPILED BY BASIC. 
          SPECIFYING LWA AS THE START OF THE COMPILED CODE
          PREVENTS THE CODE AREA FROM BEING USED BY THE LOADER. 
          JTT    05/12/80          BASCOMP,BASRTS 
 BAS0126  SEQUENTIAL WRITES AFTER A SET LOSE THE INFORMATION BEYOND THE 
          END OF THE SECOND PRU BECAUSE THE BUFFER LIMIT DOES NOT FALL ON 
          THE PRU BOUNDRY. SOLUTION IS TO CHANGE THE LIMIT. 
          LMB    2/21/80    BASCOMP 
 BAS0131  INSERT CHECK FOR TAPE FILE AND ABORT WITH 
          NEW ERROR MESSAGE 147 *TAPE FILE IS NOT ALLOWED * 
          IF FILE JUST OPENED IS A TAPE FILE. 
          BASIC 3 WILL NOT ALLOW TAPE FILES TO BE USED. 
          JTT    3/27/80           INPUT/FNDSPAR,ERMNUM 
 BASA205  CORRECT FET STATUS  BEING STORED INTO WRONG WORD IN FET 
          BY BAS0131. 
          JTT    05/09/80          INPUT/BASIINP
 BASA213  LOG OF 1 DID NOT RETURN 0 ON THE CYBER 176.  BASALOG IS 
          CORRECTED TO GIVE LOG(1)=0 AND LGT(1)=0 ON ALL MACHINES.
          JTT    06/10/80          MATH/BASALOG 
 BASA217  INPUT A(FNA) WAS FAILING BECAUSE WHEN THE FUNCTION OPERATOR 
          WAS UNSTACKED BY A ")" IT DID NOT CONTINUE UNSTACKING BECAUSE 
          IT DID NOT KNOW IT HAD A PARAMETERLESS FUNCTION.  SOLUTION
          WAS TO SEE WHAT FUNCTION OPERATOR HAD BEEN UNSTACKED. 
          LMB    6/4/80    BASCOMP
 BASA219  COMPILER ABORTED WITH ARITHMETIC OVERFLOW ON THE CYBER 176
          DURING CREATION OF A USER SUPPLIED CONSTANT THAT WAS TOO
          LARGE.  OTHER MACHINES DID NOT ABORT UNLESS THE VALUE WAS 
          USED IN A CALCULATION SO AN -IR- (IN-RANGE) INSTRUCTION 
          COULD BE USED TO CHECK THE VALIDITY OF THE CREATED NUMBER.
          THE SOLUTION IS TO CHECK EXPONENTS BEFORE COMPLETING THE
          CALCULATION OF THE NUMBER TO SEE IF THE RESULTING EXPONENT
          WILL BE IN RANGE. 
          JTT    06/17/80          BASRTS/BASICON 
 BASA222  WHEN OPERATING UNDER CID, A TERMINAL INTERRUPT, THAT OCCURS 
          IN A BASIC PROGRAM WAITING FOR INPUT WITH -ON ATTENTION- IN 
          EFFECT, CAUSES CONTROL TO GO FIRST TO CID, THEN TO THE BASIC
          ON ATTENTION PROCEDURE, AND THEN TO THE BASIC LINE SPECIFIED
          BY THE -ON ATTENTION- STATEMENT.  SINCE THE INPUT IS NOT
          SUPPOSED TO FINISH IN THIS CASE, REGISTERS B2 AND B4 WERE 
          NOT RESTORED TO THEIR PROPER VALUES (FOR ACCESSING BASIC
          VARIABLES AND CONSTANTS) BEFORE CONTINUING EXECUTION AT THE 
          ON ATTENTION LINE.  THIS CAUSED ERRONEOUS RESULTS TO OCCUR. 
          ALSO, NO SUBSEQUENT INPUT OPERATION COULD OCCUR BECAUSE THE 
          -ININPRG- (INPUT-IN-PROGRESS) FLAG WAS STILL SET. 
             THE CORRECTION CLEARS THE -ININPRG- FLAG AND RESTORES
          REGISTERS B2 AND B4 IN -ATNPROC-, THE BASIC ON ATTENTION
          PROCEDURE WHICH IS CALLED BY CID WHEN A TERMINAL INTERRUPT
          IS TO BE PROCESSED BY BASIC.
          JTT    07/17/80          ERROR/BASEGEN
 BASA224  THIS DIAGNOSES DUPLICATE OPTIONS SPECIFIED ON 
          A BASIC CONTROL CARD AND TERMINATES COMPILATION WITH
          THE *BAD CONTROL CARD ARGUMENT-* ERROR MESSAGE. 
          JTT    07/21/80          BASCARD
 BASA226  CORRECTS CONTROL CARD ERROR DETECTION AND 
          PROCESSING TO PREVENT COMPILER ABORT ON A BAD CONTROL 
          CARD ARGUMENT.
          JTT    07/18/80          BASCARD
 BASA227  CID WAS GOING INTO INFINITE LOOP WHEN WRITING SYMBOL TABLE
          WITH MORE THAN FORTY SYMBOLS BECAUSE OF BAD TEST. 
          LMB    7/24/80    BASOPTS 
 BASA229  REPLACE THE MESSAGE *DET STILL UNDEFINED* FOR 
          ERROR 162 WITH THE MORE APPROPRIATE MESSAGE * DET 
          USED BEFORE INV *.
          JTT    06/25/80    ERMNUM,MATRIX/BASMOPR
 BASA230  THIS CODE ADDS ROUNDING TO -PRINT USING- WITH INTEGER 
          FORMAT WHICH WAS NOT HANDLED BY FEATURE CODE F2215J.
          JTT    06/25/80          PRUSNG/BASPRUS 
 BASA223  BASA178 INCORRECTLY FIXED A PROBLEM INVOLVING PRINT USING 
          ROUNDING .999 WITH IMAGE "#.##" AND GETTING "1.0" INSTEAD OF
          "1.00".  THE PROBLEM WAS THAT WHEN .999 WAS ROUNDED TO FIT IN 
          TWO FRACTIONAL SPACES IT WAS NOT BEING DETECTED THAT THE
          RESULT WAS NO LONGER ENTIRELY FRACTIONAL. 
          LMB    7/25/80     PRUSNG 
 BASA242  CORRECT CONDITIONAL CODE TO FORCE BIT 0 
          OF THE FIRST WORD OF THE FILINFO MACRO PARAMETER
          BLOCK TO -1- IF ON NOS AND TO -0- IF ON NOS/BE. THIS
          CORRECTS PROBLEM OF CHAIN HANGING IN AUTO RECALL ON NOS.
          JTT    07/24/80          MISC/BASCHAN 
 BASA243  CHANGE CHAINING CHECK FOR INDIRECT AND DIRECT FILES 
          TO CONFORM TO THE NEW PFM RETURN CODES IN 
          IN NOS R6 (CYCLE 2X). 
          JTT    07/24/80          MISC/BASCHAN 
 BAS0133 NESTED FUNCTION DEFINITIONS NOT WORKING CORRECTLY
         THIS IS CAUSED BY UPDATING TEMPORARY SPW INCORRECTLY.
         AHK   3/11/80   STRNG
 BAS0134   MATRIX FUNCTIONS ALLOW ILLEGAL DIMENSIONS
           UNSTACKING CONDITION IS ADDED TO ALLOW 2 DIMENSIONS ONLY 
           AHK/LMB    3/13/80    BASCOMP
 BAS0140  CORRECT BASA123 NOT PRINTING WARNING MESSAGES.  BASCOMP 
          WAS INCORRECTLY CHECKING -ERRORFL- TO DETERMINE WHETHER 
          TO CLOSE THE LISTING FILES.  THIS ONLY HAPPENED WHEN THE
          COMPILED PROGRAM HAD ONLY WARNING-TYPE ERRORS AND NO
          LISTING PARAMETERS WERE SPECIFIED.
          JTT    05/08/80          BASCOMP
 BAS0142  INSTALL (THE BASIC INSTALLATION HELPER) NEEDS TO
          HAVE SB1   1. 
          JTT    05/09/80          INSTALL
 BAS0144  A STRING OF TEN SEMICOLONS(77B) WAS BEING TREATED AS A STRING 
          OF ALL COLONS(00B) BY THE COMPILER BECAUSE THE WORD OF SEMICOLONS 
          IS A MINUS ZERO.
          LMB    5/21/80    BASCOMP 
 BAS0148  INITIALIZE THE TARGET POINTER WORD TO ZERO UPON 
          EACH ENTRY TO BASXRPT TO CORRECT THE PROBLEM OF 
          RPT$(S$,N) NOT RETURNING A NULL STRING WHEN IT IS 
          CALLED REPEATEDLY WITH N=0. 
          JTT    06/11/80          STRNG/BASXRPT
 *L538*    ************************************************ 
 BAS*81    ADDS 1981 COPYRIGHT TO BASIC 
          LMB    9/29/80    COPYRITE
 BASA177  CORRECT PROBLEM OF BUFFER ARGUMENT ERROR ON 
          THE ERROR LIST FILE WHEN COMPILATION ERRORS OCCUR 
          AND A -REM LIST,NONE- STATEMENT HAS BEEN USED WITH
          SEPARATE L AND E FILES SPECIFIED. 
          JTT    09/09/80          BASOPTS
 BASA221  THE NUMBER AND TYPE OF PARAMETERS WAS NOT BEING CHECKED IN A
          REFERENCE TO A PARAMETERLESS FUNCTION 
          LMB    8/8/80    BASCOMP
 BASA232  'OPTION', AS THE OBJECT OF AN 'IF-THEN' DOES NOT GENERATE AN
          ERROR BECAUSE IF WAS NEVER PLACED IN SYMTBL.
          LMB    8/8/80    BASCOMP
 BASA234  THIS CODE CAUSES A WARNING TO BE PRODUCED WHEN A DIM OCCURS 
          AFTER THE ARRAY HAS BEEN REFERENCED.
          LMB    8/8/80    BASCOMP
 BASA235  ADD MESSAGE * STATEMENT TOO COMPLEX * TO MAKE THE 
          COMPILATION TIME DIAGNOSTIC MORE SPECIFIC THAN *ILLEGAL 
          STATEMENT * FOR THE CASE WHEN THE OPERAND STACK OR THE
          OPERATOR STACK OVERFLOWS. 
          JTT    08/20/80          BASCOMP
 BASA237  THIS CORRECTS THE PROBLEM THAT AN ERROR LIST HEADER 
          AND EMPTY ERROR LIST WERE SENT TO FILE *OUTPUT* WHEN THE
          L=0 OPTION WAS USED AND THE PROGRAM DID NOT HAVE ANY ERRORS 
          IN IT.  THIS FIX MUST BE USED IN CONJUNCTION WITH PSRS
          BASA123 AND BAS0140.
          JTT    08/05/80          BASCOMP
 BASA238  THE COMPILER WAS NOT DETECTING A CHANGE IN NUMBER OF DIMENSIONS 
          IN A MATRIX ASSIGNMENT STATEMENT. 
          LMB    8/8/80    BASCOMP
 BASA241  SOLVE MODE PROBLEMS FROM MISMANAGEMENT OF GARBAGE STRINGS 
          AND CORRECT BAS0148 TO INITIALIZE THE LOCAL STRING POINTER
          WORD FOR RPT$ BY CALLING BASRSTR TO RELEASE/RETURN THE
          TEMPORARY TARGET RESULT STRING INSTEAD OF ZEROING THE 
          STRING POINTER WORD.
          JTT    08/18/80          STRNG
 BASA244  REQUEST FOR FL LARGER THAN 377777B CAUSES MONITOR ERROR 
          BECAUSE OF USE OF 18 BIT ARITH. 
          LMB    7/28/80    ERROR 
 BASA248   AN INPUT OF MORE THAN ONE ITEM WITH DELIMIT (CR) WAS IMPOSSIBLE
          BECAUSE OF A DESIGN FLAW.  CHANGE WAS MADE SO THAT INPUT OF 
          DELIMIT (CR) WILL CONTINUE TO INPUT ITEMS WITHOUT A MESSAGE UNTIL 
          THE INPUT LIST IS SATISFIED.
          LMB/JTT    8/8/80    INPUT
 BASA250  REGISTERS B2 AND B4 DO NOT HAVE THE CORRECT VALUE IF AN 
          INPUT IS INTERRUPTED BY CID.
          LMB    8/8/80    INPUT
 BASA253  DB=0 AND GO=0 WERE NOT WORKING CORRECTLY WHEN CID WAS ACTIVE
          LMB    9/3/80    BASCARD,BASCOMP
 BASA252  A PROGRAM WITH A LARGE NUMBER OF VARIABLES WOULD LOOP 
          WRITING THE SYMBOL TABLE IN COMPILATION WITH DEBUG ON 
          BECAUSE THE LOOP TEST VALUE WAS NOT ALWAYS INCREMENTED
          PROPERLY. THIS FIX WORKS IN CONJUNCTION WITH BASA227. 
          JTT    08/19/80          BASOPTS
 BAS0146  FIX PROBLEM OF LOSING LEADING BLANKS ON INPUT AFTER 
          USING AN -IF END-, -IF MORE-,  OR -NODATA- STATEMENT
          WHEN NONBLANK SPECIAL DELIMITERS HAVE BEEN SPECIFIED
          FOR A FILE, BUT THE DELIMITER INFORMATION AND SWITCH
          HAVE BEEN CHANGED BY AN INTERVENING INPUT OPERATION 
          ON ANOTHER FILE.
          ROUTINE -BASINOD- WAS NOT CHECKING THE FET TO SEE IF
          NONSTANDARD DELIMITER(S) AND THE DELIMIT SWITCH NEEDED
          TO BE SET UP BEFORE PRE-SCANNING TO SEE IF ANY DATA 
          WAS LEFT. 
          JTT    09/05/80          INPUT/BASINOD
 BAS0165  THIS CORRECTS THE PROBLEM OF THE -LOF- FUNCTION, BASILOF, 
          DETERMINING THE LENGTH OF THE FILE INCORRECTLY WHEN A SET IS
          IS PENDING AND THE -SET DONE- FLAG HAS NOT YET BEEN SET 
          BY A FILE-POSITIONING OPERATION LIKE READ OR WRITE. 
          JTT    11/04/80          INPUT/BASIINP
 *L552*    ************************************************ 
 BASA197  WHEN A STRING WAS BEING ASSIGNED TO A VARIABLE IN BAAIINS THE 
          TEMPORARY BIT WAS BEING SET BEFORE CALL TO BASASTR WHETHER
          OR NOT IT WAS A NULL STRING. THE SOLUTION WAS TO CHECK FOR
          A NULL STRING BEFORE SETTING THE BIT. 
          IDENT DEPENDENCY: BASA252 
          AHK/JTT 14JAN81    INPUT
  
 BASA249  PAGE SIZE GREATER THAN LIMIT SPECIFIED IN 
          MANUAL IS NOT DIAGNOSED. SOLUTION IS TO ADD 
          LIMIT TEST INTO BASCARD.
          AHK    14JAN81     BASCARD
  
 BASA267  ERROR OCCOURED WITH NOT ENOUGH DATA WHEN INPUTING 
          THE STRING DATA AFTER THE NUMERIC DATA. 
          THIS CODE CLEARED THE STRING INDICATOR SO THAT THE REENTERED
          NUMBERIC DATA CAN BE CONVERTED CORRECTLY. 
          IDENT DEPENDENCY: BASA250 
          AHK    13JAN81     INPUT
  
 BAS0155  THIS CODE FIXES THE LOF FUNCTION SO THAT THE PROPER 
          PRU COUNT IS CALCULATED IN THE CIO BUFFER.
          AHK    23JULY81    INPUT
  
 BAS0189  THIS CODE TURNED OFF THE DELIMETER SWITCH 
          TO ENSURE THAT THE STRING IN VAL FUNCTION BE
          CONVERTED CORRECTLY THROUGH BASICON.
          AHK    13JAN81     STRNG
  
 BAS0215  COLLATING SEQUENCE DOES NOT COMPLY WITH BASIC RM. 
          THIS CODE USING MINIMUN LENGTH OF STRINGS TO COMPARE INSTEAD
          OF USING FIXED LENGTH.
          AHK    19JUNE81    STRNG
  
 *L564*    ************************************************ 
 BAS*82    ADDS 1982 COPYRIGHT TO BASIC 
          AHK    9/11/81    COPYRITE
 BASA276  PROBLEM - BASIC STILL ISSUES DIRECT RA+1 REQUESTS TO *STS*, 
          A FUNCTION WHICH IS NOT LONG FOR THIS WORLD.
          SOLUTION - REPLACE THE CALLS TO *STS* WITH THE EQUIVALENT 
          CODE WHICH CALLS THE FILINFO MACRO INSTEAD. 
          CFR    82/02/11    INPUT (BASIINP)
  
 BAS0232  PROBLEM - WHEN UNPACKING STRINGS FROM A LONG INPUT
          FILE, GARBAGE SOMETIMES GETS INSERTED INTO THE STRING.
          ANOTHER SYMPTOM IS THE CREATION OF EXTRA, SHORT, GARBAGE
          TEXT LINES. 
  
          ANALYSIS - THE GARBAGE IN THE INPUT STRINGS WAS CAUSED BY 
          FAULTY BUFFER WRAPAROUND LOGIC IN *UNPACK* WHEN CHECKING
          IF THE BUFFER CONTAINS MORE DATA.  THE ERROR ONLY OCCURS
          WHEN THE END OF A PRU OF INPUT DATA ENDS AT LIMIT-1 (EVERY
          129 PRUS, CURRENTLY).  TYPICALLY, IT WILL PICK UP THE 
          FIRST FEW CHARACTERS FROM WORD 129 WORDS PRIOR TO THE END 
          OF THAT PRU. (E.G., WORD 20100(8) CONTAINS SOME OF 17677(8)). 
          THE EXTRA, SHORT LINES OCCURRED WHEN A 60-BIT ZERO-BYTE 
          LINE TERMINATOR COINCIDED WITH THE FIRST WORD OF A PRU. 
          REGISTER A6 WAS USED BY THE ROUTINE TO READ IN THE NEXT 
          BUFFER OF INPUT DATA, AND THE LOGIC IN *UNPACK* 
          EXPECTED THE VALUE OF A6 TO BE PRESERVED. 
  
          SOLUTION - IN *UNPACK*, AFTER SETTING OUT=FIRST, CHECK
          TO SEE IF OUT=IN.  IN *UNPAK80*, SAVE AND RESTORE (A6)
          ACROSS THE CALL TO READ MORE DATA.
          CFR     81/11/14     BASRTS 
  
 *L577*    ************************************************ 
 BAS0219  FIXES RUN AWAY *OUT* POINTER CAUSED BY
          ATEOL BUMPING IT WITHOUT CHECKING *LIMIT*.
          DEPENDENCY=F2211K 
          SCC    82/06/07    INPUT(BASIINP) 
  
 BAS0234  PROBLEM - COMPLICATED EXPRESSIONS IN A PRINT USING
          CAUSE ERRONEOUS RESULTS, RUN-TIME DIAGNOSTICS (FORMAT 
          FIELD NOT SPECIFIED), OR DONT COMPILE.
  
          ANALYSIS - REGISTERS WERE INCORRECTLY ASSIGNED FOR THE
          RUN-RIME ROUTINE FOR PRINT USING.  THE COMPLEX EXPRESSION 
          CAUSED THE REGISTERS TO GET SHUFFLED AROUND.
  
          SOLUTION - BEFORE GOING TO THE RUN-TIME ROUTINE, MAKE SURE
          THE APPROPRIATE REGISTERS CONTAIN THE PARAMETERS FOR THAT 
          CALL. 
          CFR    BASCOMP    11/30/81
  
 *L587*    ************************************************ 
 BASA273  STRING COMPARISON WAS INCORRECT IF THE SHORTER
          OF THE TWO STRINGS WAS TEN CHARACTERS LONG.  IT FAILED
          TO GET THE NEXT WORD TO FINISH THE COMPARISON. THIS 
          CODE FINISHES THE COMPARE LOOP PROPERLY FOR THIS CONDITION. 
          DEPENDENCY=BAS0215
          KJM    82/10/19    STRNG
 BASA282  CORRECT BASIC COMPARE TO CHECK FOR NULL STRING.  IF ONE 
          STRING IS NULL, THE OTHER IS UNCONDITIONALLY GREATER. 
          KJM    83/01/20    STRNG
  
 BAS0264  FET ADDRESS WAS NOT PROPERLY RESTORED INTO
          *FFCHANL* AFTER ASSIGNMENT STATMENT CALL. 
          RETRANS=6R1 
          KJM    83/01/07    STRNG
  
 BAS0265  WHEN 128(OR A MULTIPLE) WORDS WERE WRITTEN OUT THE EOR
          WAS MISSING.  CODE WILL CHECK IF THE BUFFER POINTERS IN,OUT 
          AND LIMIT-1 ARE EQUAL.  IF SO(AND LOP WAS A WRITE) THEN A 
          FULL BUFFER WAS WRITTEN WITHOUT AN EOR. 
          RETRANS=6R2 
          KJM    83/01/27    BASRTS 
  
 *L601*    ************************************************ 
 BASA285  IMPLEMENT PAGE SIZE FEATURE FOR *BASIC3*. 
          NOS 1.4 PSR LEVEL 552.
          ALSO FIXED 8LPI CODE WHICH PRINTS OUT THE PD WORD JUST
          BEFORE THE EXECUTION PRINT FILE IS CLOSED. THIS CODE IS 
          LOCATED IN BASEGEN IN THE MAIN CONTROL PORTION OF THE 
          ROUTINE.
          DEPENDENCY=F2211L,BAS0028,BAS0014,CP168 
          GPN/PSB 83/08/16   BASCARD,ERROR,BASOPTS
  
 BASA125  CHANGE THE ALGORITHM WHICH DETERMINES THE CHARACTER 
          LENGTH OF A STRING. 
          DEPENDENCY=BAS0125
          KJM    83/02/18    BASPOS2
  
 BAS0284  BASA149 ATTEMPTED TO SCAN THE STRING FOR ASCII CHARACTERS 
          (76XX) AND ADD ONE TO THE CHARACTER COUNT FOR EACH ONE FOUND. 
          IT SCANNED FROM THE UNPACK-BUFFER.   HOWEVER, IT SCANNED THE
          BUFFER BEFORE DATA WAS UNPACKED INTO IT.  THIS CAUSED BASIC 
          TO PROCESS DATA LEFT OVER FROM A PREVIOUS INPUT. CODE CHANGES 
          BASRTS TO SCAN THE DATA DIRECTLY FROM THE CIO BUFFER WHICH
          IS STILL IN PACKED FORM.
          DEPENDENCY=BASA149
          KJM    83/06/09    BASRTS 
  
 *L617*    ************************************************ 
 BASA286  PROBLEM - BASIC WAS SUPRESSING THE COLON WHEN IT WAS THE
          LAST CHARACTER OF A STRING. 
          SOLUTION: 
          1)IN THE COMPILER, BASIC WILL NOW APPEND A BLANK TO 
            THE STRING IF THE LAST CHARACTER WAS A COLON.  THIS IS SIMILAR
            TO WHAT CRM DOES. BASIC WILL ALSO SET A FLAG IN BIT 57 OF 
            THE STRING POINTER WORD.
          2)IN THE PRINT ROUTINES, THE TRAILING COLON FLAG IS READ FROM THE 
            STRING POINTER WORD(DONE IN ROUTINE BASOPRT)AND SETS OTHER
            FLAGS FOR ROUTINES BASOMOV AND BASOTAB. BASOMOV WILL BACK 
            OVER THE APPENDED BLANK IF THE STRNG CONTAINING THE COLON 
            BLANK SEQUENCE IS NOT THE LAST ITEM PRINTED ON A LINE.
          3)THE STRING MANAGER ROUTINE BASASTR WAS CHANGED SO THAT IT 
            RESETS THE CORRECT COLON-BLANK FLAG IN THE STRING POINTER WORD
          4)BASTRN (CONCATENATE) WAS CHANGED SO IT WILL NOT INCLUDE 
            INTERNALLY APPENDED BALNKS AND WILL ALSO LEAVE THE CORRECT
            FLAG IN THE RESULT POINTER WORD.
  
           NOTE: THERE MAY NEED TO BE CORRECTIONS TO LEN, RPAD AND LPAD 
                 FUNCTIONS. ALSO, FETCHAR MAY NEED TO BE UPDATED IN 
                 BASOMOV TO REFLECT *BACKING UP* OVER THE APPENDED BLANK
          PSB    83/11/29    BASCOMP,OUTPUT,BASRTS,BASIINT,STRNG
          KJM 
  
 BAS0177  CORRECT THE BASIC CONVERT SUBROUTINE TO CONVERT THE 
          PAGE NUMBERS TO DECIMAL DISPLAY CODE RATHER THAT OCTAL
          DISPLAY CODE.  ROUTINE IS SIMILAR TO *COMCCDD* COMDECK. 
          KJM    83/06/15    BASOPTS
  
 BAS0187  SAVE AND RESTORE X2 AND X3 AROUND A CALL TO *OUTWORD*.
          KJM    83/06/17    BASCOMP
  
 BAS0188  FIX RESTORATION OF USER CONTROLS FOLLOWING TRACE. 
          KJM    83/06/27    BASERRS
  
 BAS0192  WHEN MULTIPLE STRING CONCATENATIONS ARE PERFORMED IN AN 
          EXPRESSION, THE RESULTS OF PREVIOUS CONCATENATIONS CAN BE 
          LOST.  THE SOLUTION IS TO CLEAR ALL REGISTERS BEFORE
          PERFORMING A CONCATENATION. 
          DEPENDENCY=FEAT194B 
          JAC    83/09/15    BASCOMP
  
 BAS0196  CORRECTED PROCEDURE BASINOD SO WHEN IT IS CALLED IMMEDIATELY
          AFTER A RESTORE STATEMENT, IT LEAVES THE BUFFER AND THE FILE IN 
          THE PROPER STATE. 
          DEPENDENCY=F2211K 
          RETRANS=10R1
          PSB    83/30/09    INPUT
  
 BAS0202  CLEARING ALL REGISTERS PRIOR TO A CALL TO A SYSTEM FUNCTION 
          MESSES UP THE REGISTER ALLOCATION FOR PREVIOUSLY SAVED
          REGISTERS.  THE SOLUTION IS TO ENHANCE *CLEAR* TO CONVERT 
          *AINXS* TO *AINS* AND *VINXS* TO *SINS*, SO THAT THE SAVED
          VALUE CAN BE RESTORED TO ANY AVAILABLE REGISTER.
          JAC    83/09/13    BASCOMP
  
 BAS0211  WHEN THE DB=0/DL OPTION WAS SPECIFIED ALONG WITH THE L OPTION ON
          THE CONTROL CARD, REM LIST,(ALL,NONE) COMMANDS WERE IGNORED. THE
          SOLUTION IS: 1)WE SAVE THE 10 CHARS EXTRACTED FOR THE TRACE 
          CHECK; 2)WE TEST DBOPTION AGAIN TO SEE IF DL SPECIFIED(I.E. IF
          10 CHARS EXTRACTED OR NOT); 3)IF SPECIFIED, WE JUMP TO LIST 
          CHECK ROUTINE, ELSE WE EXTRACT 10 CHARS AND JUMP TO LIST CHECK. 
          DEPENDENCY=CP168,F2211N 
          PSB     83/07/13     BASCOMP
  
 BAS0249  WHEN DB OPTION WAS THE FIRST PARAMETER ON THE CONTROL CARD A
          'CONTROL CARD FILENAME CONFLICT' ERROR OCCURRED. THIS WAS DUE 
          TO TO THE USE OF REG. X7 IN THE DB OPTION CRACKING ROUTINE. 
          SOLUTION: CLEAR X7 JUST BEFORE LEAVING DB OPTION CRACKING 
          ROUTINE.
          DEPENDENCY=CP168
          PSB    83/06/29    BASCARD
  
 BAS0274  MODIFIED THE LEXICAL SCANNER TO THROW AWAY EVERYTHING 
          FOLLOWING AN APOSTROPHE, A TRAILING COMMENT.  PREVIOUSLY, 
          THE PARSER WAS RESPONSIBLE FOR HANDLING TRAILING COMMENTS,
          WITH THE RESULT THAT A TRAILING COMMENT CAN CAUSE A 
          SYNTATICAL ERROR ON CERTAIN STATEMENTS, SUCH AS AN IF-
          THEN-ELSE-LINE-NUMBER.
          DEPENDENCY=CP168
          JAC    83/09/07    BASCOMP
  
 BAS0280  THE APPEND STATEMENT DID NOT PROPERLY RESET THE FIT FOR 
          WRITE PROCESSING IF THE FILE HAD BEEN PARTIALLY READ. 
          THE SOLUTION WAS TO CLEAR *FETCHAR* ONCE THE FILE HAD 
          BEEN REPOSITIONED.
          DEPENDENCY=F2211K 
          JAC    83/09/09    INPUT
  
 BAS0288  PROBLEM.  WHEN DEBUG IS ON AND YOU HAVE FILLED YOUR DEBUG 
          SYMBOL BUFFER AND THE NEXT IDENTIFIER IS IMMEDIATELY AFTER
          THE LAST IDENTIFIER PROCESSED IN THE SYMBOL TABLE, THE NEXT 
          IDENTIFIER WOULD BE SKIPPED AND NOT SHOW UP IN THE DEBUG
          TABLES. 
          SOLUTION. THE SYMBOL TABLE INDEX WAS BEING INCREMENTED ONCE 
          TOO MANY TIMES AFTER THE DEBUG SYMBOL BUFFER WAS
          FLUSHED.
          DJJ    83/08/16    BASOPTS
  
 *L628*    ************************************************ 
 BASA218  PROBLEM: BASIC WAS APPENDING BLANKS TO ALL STRINGS IN WHICH 
                   THE LAST WORD OF THE STRING HAD AN ODD NUMBER OF 
                   CHARACTERS.
          SOLUTION: AN EVEN NUMBER OF CHARACTERS ARE NOT A REQUIREMENT
                    FOR CIO. THEREFORE, THE CODE THAT APPENDS BLANKS HAS
                    BEEN DELETED. THIS CAUSES A SPECIAL CASE WHEN THERE 
                    IS EXACTLY 9 CHARACTERS IN THE LAST WORD OF THE 
                    STRING AND A ZERO WORD IS THE NEXT ITEM TO BE MOVED 
                    TO THE BUFFER. THIS SPECIAL CASE IS HANDLED IN
                    BASOMOV.
          PSB    84/23/01    BASRTS 
  
 BASA240  PROBLEM: TIME LIMIT PRINT USING STATEMENT WITH MODE,1 IN
          EFFECT. 
          SOLUTION: PRINT USING WAS NOT DETECTING INDEFINITE OR OUT OF
          OPERANDS. THIS CODE ADDS CHECKS FOR THESE TYPES OF OPERANDS.
          THE MANUAL WILL ALSO BE CHANGED TO SHOW THE MESSAGES WHICH
          NOW BE PRINTED. 
          PSB    84/04/20    PRUSNG 
  
 BASA258  PROBLEM: WHEN AN *OPTION BASE* STATEMENT APPEARED MORE THAN 
          ONCE, THE ERROR MESSAGE WAS AMBIGUOUS.
          SOLUTION: ON THE SECOND AND SUCCEDING OCCURANCES OF AN *OPTION
          BASE* STATEMENT, THE MESSAGE WILL NOW BE--BASE STATEMENT
          OCCURS MORE THAN ONCE.
          DEPENDENCY=BASA138
          PSB    84/04/26    BASCOMP
  
 BASA261  PROBLEM: WHEN A COLON IS THE LAST CHARACTER IN AN UNQUOTED
          STRING AND THE STRING IS THE LAST ITEM IN THE DATA STATEMENT, 
          A BLANK IS APPENDED TO THIS STRING BY THE SYSTEM AND THIS 
          BLANK IS CONSIDERED AS A TRAILING BLANK.
          SOLUTION: WHEN STRIPPING TRAILING BLANKS, CHECK IF THE
          CHARACTER LEFT OF THE CURRENT CHARACTER IS A COLON.  IF SO, 
          KEEP THE BLANK AND SET THE COLON FLAG.
          DEPENDENCY=FEAT194B 
          JYY    84/04/19    BASCOMP
  
 BASA264  PROBLEM : BASIC COMPILER DID NOT HANDLE TAIL COMMENTS ON
                    CALL STATEMENTS PROPERLY. 
          SOLUTION: IN *READ* ROUTINE(IN LREAD210), AFTER THE CHECK FOR 
                    LEFT PAREN., ALSO CHECK FOR APOSTROPHE. 
          DEPENDENCY=FEAT194B 
          JYY    84/03/26    BASCOMP
  
 BASA268  PROBLEM: BASIC DID NOT ISSUE A *RANDOM ACTION BEYOND EOF* 
          WHEN A SET WAS DONE AT EXACTLY LOF + 1. 
          ALSO, BASFSET WAS PUTTING THE NEW SET VALUE INTO THE FET
          BEFORE CHECKING FOR THAT VALUE'S VALIDITY.
          SOLUTION: BASFSET SUBTRACTED 1 FROM THE SET VALUE.(BECAUSE THE
          FIRST WORD OF THE FILE IS WORD 0) WHEN THIS NEW SET VALUE WAS 
          SUBTRACTED FROM LOF, THE RESULT WAS ONLY CHECKED FOR NEGATIVE 
          (I.E. IF THE NEW SET VALUE WAS STILL GREATER THAN LOF). 
          THEREFORE, AN ADDITIONAL CHECK WAS ADDED TO SEE IF THE RESULT 
          WAS ZERO(I.E. IF THE NEW SET VALUE WAS EQUAL TO LOF). 
          SO, BASFSET NOW CHECKS CORRECTLY FOR RANDOM ACTION BEYOND EOF.
          ALSO, THE NEW SET VALE IS PUT INTO THE FET AFTER IT IS CHECKED
          FOR VALIDITY. 
          DEPENDENCY=BAS0061
          PSB    84/03/03    INPUT
  
 BASA275  PROBLEM: NO COMMENTS IN THE BASIC BINARIES INDICATING THE 
          FUNCTION OF EACH OVERLAY. 
          SOLUTION: ADDED COMMENTS TO EACH OVERLAY DESCRIBING THEIR USE.
          DEPENDENCY=F2210K,F2211Q
          PSB    84/4/2      BUILD
  
 BASA278  PROBLEM: NULL LINES (WORD OF BINARY ZEROS) WERE IGNORED BY
          BASIC INPUT STATEMENT.
          SOLUTION: WHEN A NULL LINE IS ENCOUNTERED, RETURN PSUEDO NULL 
          CHARACTER. THIS CHARACTER IS CHECKED FOR IN BOTH BASICON AND
          BASISTR. IF THE NULL CHARACTER IS FOUND, IT IS GIVEN SPECIAL
          PROCESSING. 
          DEPENDENCY=BASA149,F2215B 
          PSB    84/02/10    BASRTS,INPUT 
  
 BASA291  PROBLEM: FFREAD0 IN BASICON WAS CHECKING ONLY FOR ESCAPE CODE 
          *76* AND WAS NOT CHECKING FOR ESCAPE CODE *74* WHEN COUNTING
          THE NUMBER OF ASCII CHARATERS IN THE PREVIOUS STRING. ALSO, 
          EXTRANEOUS CHARATERS WERE BEING PRINTED.
          SOLUTION: ADDED CODE TO CHECK FOR ESCAPE CODE *74* AND TO 
          RESET THE OUT POINTER TO FIRST IF IT IS SET TO LIMIT. 
          DEPENDENCY=BAS0284
          PSB    84/04/09    BASRTS 
  
 BAS0057  PROBLEM: WHEN BASCOMP CHECKED FOR AN APOSTROPHE, IT CHECKED 
          AGAINST AN OCTAL 70B CONSTANT.
          SOLUTION: USE 1R' INSTEAD OF AN OCTAL 70B. THIS WILL WORK FOR 
          ALL CHARACTER SETS. 
          DEPENDENCY=BAS0057
          PSB    84/01/24    BASCOMP
  
 BAS0201  BAS/PROBLEM: WHEN AN ABSOLUTE OF A NON-CID RELOCATABLE BASIC
          PROGRAM IS MADE, CERTAIN WEAK EXTERNAL REFERENCES TO CID ENTRY
          POINTS REMAIN UNSATISFIED. WHEN THE ABSOLUTE IS EXECUTED AFTER
          A DEBUG,ON STATEMENT A RJ TO ONE OF THESE WEAK REFERENCES 
          RESULTS IN A MODE ERROR.
          SOLUTION: PREVENT BASIC'S DEBUG FLAG FROM BEING SET WHEN NO 
          CID MODULES ARE LOADED. 
          DEPENDENCY=F1065BAS 
          PSB    83/12/08    BASERRS
  
 BAS0212  PROBLEM: WHEN THE STATEMENT *PRINT !CORRECT! THEN LN*, WHERE
          LN = LINE NUMBER, WAS COMPILED AFTER A GOTO STATEMENT, IT 
          COMPILED CORRECTLY AND EXECUTED.
          SOLUTION: IN THE MAIN LOOP OF COMPILATION(AFTER WE HAVE 
          DETERMINED THAT THE CURRENT SYMBOL IS *THEN*) CHECK IF WE ARE 
          IN AN IF STATEMENT AND ISSUE A DIAGNOSTIC IF NOT. TO DO THIS, 
          WE CREATED A NEW FLAG (IFONFLG) AND SET IT NEGATIVE IN THE IF 
          OPERATOR OUTPUT ROUTINE. WHEN AN EOS IS ENCOUNTERED THIS FLAG 
          IS SET TO ZERO. 
          DEPENDENCY=FEAT194A 
          PSB    84/23/04    BASCOMP
  
 BAS0223  PROBLEM: BASIC DID NOT GENERATE CODE TO RESET THE CORRECT LINE
          NUMBER AFTER A USER DEFINED FUNCTION WAS INVOKED. THEREFORE,
          IF THE STATEMENT WHICH CALLED THE USER FUNCTION ALSO CONTAINED
          AN EXECUTION ERROR, BASIC WOULD INDICT THE WRONG LINE(I.E. THE
          *FNEND* LINE).
          SOLUTION: ADDED CODE TO THE COMPILER TO GENERATE CODE TO RESET
          THE LINE NUMBER AFTER THE RJ TO THE USER-DEFINED FUNCTION.
  
          NOTE ===> GENERATING THE LINE NUMBER AGAIN CAUSED THE NXL 
          FUNCTION TO GET INTO AN INFINITE LOOP IN SOME OBSCURE CASES.
          THERFORE, CODE WAS ADDED TO NXL TO MAKE IT CHECK TO SEE IF
          THE LINE NUMBER RETURNED FROM *GETNXTL* IS DIFFERENT FROM THE 
          LINE NUMBER PASSED TO NXL. IF IT IS NOT DIFFERENT, THEN 
          *GETNXTL* IS CALLED AGAIN.
          PSB    84/04/24    BASCOMP, BASERRS 
  
 BAS0225  PROBLEM: A PROGRAM WHICH INCLUDED IF THEN STATEMENTS WITH 
          RELATIONAL OPERATORS *GREATER THAN* AND *LESS THAN OR EQUAL 
          TO* WHICH OMITTED THE SECOND OPERAND (I.E. IF Z2> THEN LINE)
          WOULD CONFUSE THE COMPILER AND CAUSE IT TO PRINT NUMEROUS 
          AND ERRONEUS ERROR MESSAGES. THIS WAS DUE TO THE *GT* AND *LE*
          OPERATOR PROCESSING WHICH SWITCHED THE TOP 2 OPERANDS ON THE
          ANDSTACK. IF THE SECOND OPERAND WAS LEFT OFF OF THE STATEMENT,
          PROCESSING AFTER ERROR RECOVERY WAS ALL MESSED UP.
          SOLUTION: SET A FLAG IN RELATIONAL PROCESSING WHEN OPERANDS 
          ARE SWITCHED ON THE ANDSTACK. IF AN ERROR IS DETECTED IN THE
          *ARTHPAIR* ROUTINE AND THE SWITCH FLAG IS SET, SWITCH THE 
          OPERANDS ON THE ANDSTACK BACK TO THEIR ORIGINAL POSITIONS.
          PSB    84/05/02    BASCOMP
  
 BAS0253  PROBLEM: WHEN DELIMIT (CR) IN EFFECT, BASIC WOULD NOT 
          RECOGNIZE A BLANK AS VALID DATA (IN NODATA) AND WOULD SKIP
          OVER ALL PRECEEDING AND TRAILING BLANKS IN A NODATA STATEMENT.
          SOLUTION: IN BASINOD, CHECK IF DELIMIT (CR) IS IN EFFECT. 
          IF SO, THEN DON'T SKIP OVER BLANKS AND RETURN DATA AVAILABLE
          FLAG. 
          DEPENDENCY=F2211K 
          PSB    84/08/84    INPUT
  
 BAS0261  PROBLEM: INCONSISTENT ROUNDING WHEN USING FORMATED OUTPUT.
          SOLUTION: BASIC WAS TRUNCATING FLOATING POINT NUMBERS INSTEAD OF
          ROUNDING THEM 
          CHANGED FFORMAT TO ROUND BEFORE GOING TO BASICON TO CONVERT TO
          DECIMAL DISPLAY VALUES. 
          PSB     84/13/01    PRUSING 
  
 BAS0262  PROBLEM: PRINT USING WAS DROPPING THE TRAILING COLON IN 
          LITERALS. 
          SOLUTION: CHECK THE LAST CHARACTER OF LITERAL STRING. IF IT IS
          A COLON, APPEND A BLANK AND SET THE TRAILING COLON FLAG. THE
          PRINT USING PRINT ROUTINES CHECK THIS FLAG AND SET THE BLANK- 
          APPENDED-TO-TRAILING-COLON-BIT IN THE STRING POINTER WORD.
          PSB    83/12/20    PRUSNG 
  
 BAS0246  PROBLEM: BASIC WAS GIVING AN INCORRECT *ILLEGAL REDIMENSION*
          COMPILER ERROR ON ARITHMETIC MAT STATEMENTS WHERE THE OPERANDS
          HAD DIFFERENT DIMENSIONS (NAMELY, 2 AND 1 DIMENSIONS
          RESPECTIVELY).
          SOLUTION: SINCE --
              BASIC ASSUMES A SECOND DIMENSION OF SIZE 1 FOR 1
                  DIMENSIONAL ARRAYS, AND 
              ARRAYS MAY BE DYNAMICALLY REDIMENSIONED, AND
              ARITHMETIC MAT STATEMENTS ONLY ACCEPT ARRAYS WITH NUMBER
                  OF DIMENSIONS LESS THAN OR EQUAL TO 2, AND
              COMPATIBILITY OF ARRAY DIMENSIONS IS CHECKED AT RUN-TIME--
          THERE IS NO NEED TO CHECK NUMBER OF DIMENSIONS IN ARITHMETIC
          MAT STATEMENTS AT COMPILE TIME. 
          DEPENDENCY=BASA238
          PSB    01/05/84    BASCOMP
  
 BAS0276  NON-NUMERIC CHARACTER TERMINATING A NUMERIC FIELD WHEN THE
          NEXT FIELD IS A STRING WAS TREATED AS IF IT WAS SEPARATED 
          FROM THE NUMBER BY A LEGITIMATE DELIMITER.  THE SOLUTION
          WAS TO CHECK THE DELIMITING CHARACTER FOR LEGITIMACY. 
          ALSO ADDED DOCUMENTATION TO BASICON AND BASISCN.
          ADDED 2 LABELS AS ENTRY POINTS IN BASCALL TO FACILITATE 
          ACCESS TO SAVED VALUES FROM EXTERNAL PROGRAMS.
          DEPENDENCY=F2215B,F2210M4,BASA181,CP168,F2210C
          PSB    84/02/02    BASRTS,INPUT,BASERRS,OUTPUT
  
 BAS0289  BAS/A BACKWARDS GOSUB TO AN IMAGE STATEMENT CAUSED AN ABORT IF
          THE PROGRAM WAS COMPILED TO A BINARY FILE. THE PROBLEM DID NOT
          OCCUR IF THE PROGRAM WAS COMPILED TO CORE.
          SOLUTION: THE *LABEL* ROUTINE IN *BASOPTS* RETURNED AN INCOR- 
          RECT OFFSET FOR BACKWARDS JUMP TO AN IMAGE STRING. CHANGED THE
          ROUTINE TO RETURN THE CORRECT OFFSET. 
          DEPENDENCY=F2210C 
          PSB    83/12/02    BASOPTS,BASCOMP
  
 BAS0290  PROBLEM: WHEN AN ODD NUMBERED CHARACTER STRING APPEARS IN A 
          PRINT STATEMENTD THAT IS FOLLOWED BY A SEMI-COLON AND THEN
          AN INPUT STATEMENT, AN EXTRA BLANK IS GENERATED IN THE OUTPUT.
          SOLUTION: INSTEAD OF ADDING A BLANK TO ODD NUMBERED STRINGS 
          SHIFT THE *STOP BYTE* RIGHT 6 BITS. THE EXTRA 6 BITS OF ZERO
          ARE INTERPRETED AS PART OF THE LINE TERMINATOR AND SO DO NOT
          CAUSE A PROBLEM.
          NOTE ===> HAD TO DECLARE PRVBLCL AS AN ENTRY POINT SO BASISRT 
          COULD CLEAR IT. OTHERWISE, BASOMOV WOULD BACK-UP OVER THE 
          BLANK-APPENDED-TO-TRAILING-COLON. IF THAT OCCURS, THEN ONCE 
          AGAIN THE STOP BYTE IS NOT ON A 12 BIT BOUNDRY. 
          DEPENDENCY=BASA286
          PSB    84/01/20    INPUT
  
 BAS0291  PROBLEM: POS FUNCTION FAILS IN ASCII MODE 
          SOLUTION: ROUTINE BASPOS2 WAS INCREMENTING POINTERS 
          INCORRECTLY IN ASCII MODE. CORRECTED THIS PROCESS BY
          INCREMENTING THE POINTERS AFTER EXTRACTING THE CHARACTER AND
          NOT BEFORE. 
          DEPENDENCY=BASA125
          PSB    84/03/07    BASPOS2
  
 BAS0299  PROBLEM : THE FIRST CHARACTER OF FILE NAME MUST BE A LETTER,
          BUT THE ERROR MESSAGE IS NOT CLEAR WHEN CRACKING CONTROL CARD.
          SOLUTION :CHANGE THE ERROR MESSAGE TO REFLECT A MORE ACCURATE 
          RESPONSE. 
          DEPENDENCY=BASA039
          JYY    84/05/23    BASCARD
  
 BAS0301  PROBLEM: ORD FUNCTION RETURNS AN ILLEGAL ORD ARGUMENT FOR A 
          COLON.
          SOLUTION: ON ENTRY TO BASTORD, CHECK TO SEE IF THE
          BLANK-APPENDED-TO-RAILING-COLON FLAG IS SET IN THE STRING 
          POINTER WORD. IF IT IS, SET B3 TO -1, ELSE SET B3 TO 0. WHEN
          DETERMINING THE LENGTH OF THE STRING PASSED TO BASTORD, ADD B3
          TO IT. IF A BLANK HAS BEEN APPENDED, THE LENGTH WILL BE OFFSET
          BY -1. THIS MAKES BASTORD *THINK* IT HAS A ONE CHARACTER
          STRING. 
          DEPENDENCY=F2211G 
          PSB    84/03/23    STRNG
  
 BAS0303  PROBLEM : WHEN THE THIRD PARAMETER IS OMITTED IN *POS* FUNCTION 
          CALL AND AN *IF..OR..* STATEMENT IS PRECEDED, THE REGISTER X3 
          WHICH IS USED BY *IF..OR..* STATEMENT DOES NOT GET CLEARED FOR
          CORRECT *POS* PROCESSING. 
          SOLUTION: IN BASPOS ROUTINE, CHECK THE NUMBER OF PARAMETERS 
          PASSED FOR *POS* FUCNCTION. IF THE THIRD PARAMETER IS OMITTED,
          CLEAR THE REGISTER X3 TO SET THE STARTING POSITION CORRECTLY
          IN CASE X3 HAS EVER BEEN USED BEFORE. 
          DEPENDENCY=F2215J 
          JYY    84/06/06    BASPOS 
  
 BAS0304  PROBLEM : THE *POS* FUNCTION DOES NOT WORK CORRECTLY IN 
          ASCII MODE WHEN SEARCHING FOR LOWER CASE LETTERS, BECAUSE 
          ESCAPE CODES WERE NOT HANDLED CORRECTLY.
          SOLUTION : CORRECTED THE ROUTINE TO COMPARE STRINGS 
          BY USING THE FULL STRING LENGTH WHICH INCLUDES THE
          ESCAPE CODES FOR ASCII CHARACTERS.
          THE FUNCTION WILL RETURN ZERO WHEN THE BEGINNING
          POSITION TO SEARCH IS BEYOND THE LENGTH OF STRING1. 
          DEPENDENCY=BASA125
          JYY/REK 84/05/28    BASPOS2 
  
 BAS0305  CORRECT THE COMMENT IN THE LINE WITH IDENT BAS0232.25;
          IT SAYS "SET OUT=LIMIT" MISTAKENLY, WHEN IN FACT, IT IS 
          SETTING OUT=FIRST(REFER THE HISTORY COMMENT OF BAS0232).
          DEPENDENCY=BAS0232
          JYY    84/05/22    BASRTS 
  
 *L642*    ************************************************ 
 BASA260  PROBLEM : LWRC$ FUNCTION DID NOT CONVERT THE COLON TO ASCII 
          DISPLAY CODE. 
          SOLUTION: CONVERT THE COLON(00) TO ASCII DISPLAY CODE(7404B). 
          ALSO IF IT IS A TRAILING COLON, SKIP THE APPENDED BLANK 
          ADDED BY THE COMPILER.
          JYY    84/09/10    BASCASE
  
 BAS0313  PROBLEM : IF DELIMIT (X-) STATEMENT IS USED, IT CAUSED
          ",," (SKIP PRINT ZONE) TO BE ILLEGAL IN A "PRINT" STATEMENT,
          BECAUSE THE SYMBOL CLASS HAS BEEN ZEROED BY LEFT PARENTESIS 
          BUT NEVER RESTORED BY THE SPECIAL DELIMIT-STATEMENT ROUTINES
          (NORMALLY RESTORED BY THE RIGHT PAREN. ACTION EXCEPT DELIMIT).
          SOLUTION : RESTORE THE SYMBOL CLASS IN DELIMIT-ROUTINE SO 
          THAT THE "PRNULL" ROUTINE PICKS UP THE CORRECT SYMBOL CLASS.
          JYY    84/10/12    BASCOMP
  
 BAS0318  PROBLEM :WHEN *DET* FUNCTION WAS CALLED WITH AN ARGUMENT, 
          THE PRODUCT OF DIMENSIONS WAS USED TO CHECK FOR SIZE
          BEFORE CALLING *INV* FUNCTION.
          SOLUTION :USE FIRST DIMENSION OF ARGUMENT TO CHECK
          FOR SIZE TOO BIG AS *INV* FUNCTION DOES.
          DEPENDENCY=F2215K 
          JYY    84/12/20    MATRIX 
  
 *L650*    ************************************************ 
 BAS0322  ADJUST THE LENGTH OF STRING WITH AN APPENDED BLANK FOR
          THE TRAILING-COLON (BASA286) BY REDUCING BY ONE BEFORE
          PROCESSING *POS* FUNCTION ROUTINE (BAPOS2). 
          JYY    85/06/13    BASPOS 
  
 *L670*    ************************************************ 
 *L688*    ************************************************ 
 *L716*    ************************************************ 
 *L739*    ************************************************ 
 *L780*    ************************************************ 
 *L797*    ************************************************ 
 *L803*    ************************************************ 
 *L826*    ************************************************ 
 *L840*    ************************************************ 
 *L847*    ************************************************ 
 *L851*    ************************************************ 
 *L859*    ************************************************ 
 *L871*    ************************************************ 
BASIC 3.0 INITIAL RELEASE 
