A00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 3070A/B TERMINAL UTILITIES SUBROUTINES 
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  1
  
 **KEYWORDS:
    TERMINAL        HP-IB 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THESE SUBROUTINES PROVIDE AN EASY METHOD TO PERFORM INPUT/OUTPUT
  OPERATION ON THE 3070A/B TERMINAL AND ON ANY HP-IB DEVICES ATTACHED 
  TO IT.
  
  THESE SUBROUTINES ARE FORTRAN AND BASIC CALLABLE.  THEY REQUIRE RTE II/ 
  III HARDWARE AND 9200A SUBSYSTEM OPTION 422.  ADDITIONAL 3070/B 
  TERMINALS MAY BE REQUIRED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DESCRIPTION OF FILES 3-10 
  FILE#  3: %3070B : BIN.RELOC.3070 A/B TERMINAL UTILITIES
  FILE#  4: $TEST  : BASIC TEST PROGRAM 
  FILE#  5: $TEST  : FTN4 TEST PROGRAM
  FILE#  6: &3070B : 3070 A/B TERMINAL UTILITIES
  FILE#  7: #LUN   : LIBRARY FOR 5
  FILE#  8: ERMES  : LIBRARY FOR 5
  FILE#  9: #BYTSC : LIBRARY FOR 5
  FILE# 10: $NPT78 : HP-IB DEMO 3070 AND 2240.
  FILE# 11: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTAION FILE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **MISCELLANEOUS: 
  
  
A00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DECIMAL ARITHMETIC AND MOVE/COMPARE ROUTINES
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    DECIMAL         CHARACTER       COMPARE 
    MOVE
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS 
  
 **MEMORY REQUIREMENTS: 
  1129 FOR CHARACTER MOVE/COMPARE; 999 FOR DECIMAL ARITHMETIC 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE DECIMAL ARITHMETIC ROUTINES PERFORM ADDITION, SUBTRACTION, AND
  MULTIPLICATION OF ASCII NUMERIC CHARACTER STRINGS OF UP TO 64 CHARAC- 
  TERS.  MIXING OF SIGNED, UNSIGNED, FIXED POINT AND REAL STRINGS ARE 
  ALLOWED IN THE SAME OPERATION.  LEADING, TRAILING, AND INTERSPERSED 
  NON-NUMERIC CHARACTERS ARE IGNORED, WHILE DECIMAL-POINT PLACEMENT AND 
  SIGN HANDLING ARE AUTOMATIC.
  
  THE MOVE/COMPARE ROUTINES CALL THE DECIMAL ARITHMETIC TO MOVE OR COM- 
  PARE CHARACTER STRINGS.  CHARACTERS ARE MOVED FROM LEFT TO RIGHT, AND 
  OVERLAPPING IS PERMITTED.  CHARACTERS ARE COMPARED FROM LEFT TO RIGHT,
  AND THE FIRST MISMATCH DETERMINES THE RELATION.  A CONDITION CODE IS
  RETURNED TO INDICATE THAT THE SOURCE STRING IS LESS THAN, EQUAL TO, OR
  GREATER THAN THE COMPARISON STRING, TOGETHER THESE ROUTINES ALLOW TOTAL 
  MANIPULATION OF ALPHA-NUMERIC CHARACTER STRINGS.
  
  THESE ROUTINES ARE ALGOL OR FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD INSTRUCTIONS FOR MOVE/COMPARE ROUTINES:
     STANDARD ASSEMBLE/COMPILE AND LOAD PROCEDURES
  
  LOAD INSTRUCTIONS FOR DECIMAL ARITHMETIC ROUTINES:
     1. ASSEMBLE THE DECIMAL ARITHMETIC ROUTINES. 
  
     2. PREPARE THE VERIFICATION PROGRAM(S) PROVIDED: 
        A. TO RUN IN A BCS ENVIRONMENT, ASSEMBLE THE PROGRAM "TEST."
        B. TO RUN IN A DOS ENVIRONMENT, COMPILE THE PROGRAM "VERFY."
  
     3. IF RUNNING IN A DOS ENVIRONMENT, ASSEMBLE THE ".ERRR" ROUTINE 
        SUPPLIED USING THE DOS ASSEMBLER. 
  
     4. LOAD THE TEST PROGRAM, FOLLOW THE LOADING SEQUENCE BELOW: 
           BCS
           A. "TEST"
           B. DECIMAL ARITHMETIC ROUTINES (NAM = "STLIB") 
           C. RELOCATABLE PROGRAM LIBRARY 
  
           DOS/RTE
           A. "VERFY" 
           B. "STLIB" 
           C. ".ERRR" 
           D. RELOCATABLE PROGRAM LIBRARY 
  
  
 **RUN INSTRUCTIONS:
  
  MOVE/COMPARE ROUTINES 
      AFTER COMPLETION OF LOADING ("*RUN" IS TYPED BY BCS), PRESS RUN 
      TO EXECUTE THE TEST PROGRAM.
  
      THE PROGRAM WILL REQUEST THAT THE OPERATOR TYPE A SENTENCE
      TERMINATED BY A PERIOD (.) AND A RETURN, LINEFEED.
  
      THE PROGRAM WILL DELETE ALL SPACED FROM THE SENTENCE (USING 
      SUBROUTINES "MVC" AND "ICLC") AND PRINT OUT THE REQUEST.  THE 
      PROGRAM WILL THEN REQUEST ANOTHER SENTENCE. 
  
  DECIMAL ARITHMETIC ROUTINES 
      EXECUTE THE PROGRAM:
      A. BCS - AFTER BCS TYPES "*RUN," PRESS "RUN."  SET THE SWITCH 
         REGISTER SO AS TO EXECUTE THE REQUIRED SUBROUTINE: 
             SW0 = 0          ADDITION
             SW0 = 1,SW15=1   SUBTRACTION 
             SW0 = 1,SW15=0   MULTIPLICATION
         ENTER TWO NUMBERS ON THE TTY, EACH TERMINATED BY A "RETURN"
         AND "LINEFEED."  THE RESULT WILL THEN BE PRINTED AND THE 
         PROGRAM WILL WAIT FOR ANOTHER PAIR OF NUMBERS. 
  
      B. DOS/RTE - AFTER "LOADING COMPLETE" IS PRINTED, TYPE ":RUN,VERFY".
         THE PROGRAM WILL PRINT OUT INSTRUCTIONS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  TWO TEST PROGRAMS ARE INCLUDED IN THIS PACKAGE. 
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCES FOR MVC AND ICLC ---
     MVC:  CALLING SEQUENCE (ASSEMBLY LANGUAGE) 
  
           EXT MVC
           JSB MVC
           DEF *+6              RETURN ADDRESS
           DEF ISORC            ADDRESS OF SOURCE STRING
           DEF ISOF             ADDRESS OF SOURCE STRING OFFSET 
                                  (IN CHARACTERS, 0 - 32767)
           DEF IDEST            ADDRESS OF DESTINATION STRING 
           DEF IDOF             ADDRESS OF DESTINATION STRING OFFSET
           DEF LGTH             LENGTH (NO. OF CHARACTERS TO BE MOVED)
  
           CALLING SEQUENCE     (FORTRAN) 
  
           CALL MVC             (ISORC, ISOF, IDEST, IDOF, LGTH)
  
  
     ICLC:  CALLING SEQUENCE (ASSEMBLY LANGUAGE)
  
           EXT ICLC 
           JSB ICLC 
           DEF *+6              RETURN ADDRESS
           DEF ISORC            ADDRESS OF SOURCE STRING
           DEF ISOF             ADDRESS OF SOURCE STRING OFFSET 
           DEF ICOMP            ADDRESS OF COMPARISON STRING
           DEF ICOF             ADDRESS OF COMPARISON STRING OFFSET 
           DEF LGTH             NO. CHARACTERS TO BE COMPARED 
           STA CCODE            (A)=CONDITION CODE: 
                                    A>0   SOURCE > COMPARISON 
                                    A=0   SOURCE = COMPARISON 
                                    A<0   SOURCE < COMPARISON 
  
           FORTRAN: 
  
           ICODE = ICLC (ISORC,ISOF,ICOMP,ICOF,LGTH)
  
  CALLING SEQUENCES FOR IADD,ISUB,IMULT 
     IADD - ADDITION
     ISUB - SUBTRACTION 
     IMULT- MULTIPLICATION
  
     CALLING SEQUENCE - ASSEMBLY LANGUAGE 
  
           EXT IADD        (OR ISUB OR IMULT) 
           JSB IADD        (OR ISUB OR IMULT) 
           DEF *+7
           DEF IX          ADDRESS OF 1ST ARGUMENT STRING ARRAY/RESULT
                             STRING STORED HERE 
           DEF IXOF        1ST ARGUMENT STRING OFFSET IN CHARACTERS 
                             (TWO ASCII CHARACTERS/WORD)
           DEF IXLEN       1ST ARGUMENT STRING LENGTH 
           DEF IY          ADDRESS OF 2ND ARGUMENT STRING ARRAY 
           DEF IYOF        2ND ARGUMENT STRING OFFSET IN CHARACTERS 
                             (TWO ASCII CHARACTERS/WORD)
           DEF IYLEN       2ND ARGUMENT STRING LENGTH 
           STA LRES        LENGTH OF RESULT STRING IS RETURNED IN 
                             A-REGISTER IN CHARACTERS 
  
     CALLING SEQUENCE - FORTRAN 
  
     ILRES = IADD (IX, IXOF, IXLEN, IY, IYOF, IYLEN)
     WHERE ILRES IS THE LENGTH (CHARACTERS) OF THE RESULT STRING. 
     THE RESULT STRING REPLACES THE FIRST ARGUMENT STRING (IX) IN 
     ALL CASES. 
  
     EXAMPLE:  IF ARRAY IX = 12345.9 452189.LLKO 5.6 48.213, THEN 
               IXOF=25 AND IXLEN=6. 
               ARRAY IX MUST BE DIMENSIONED AT LEAST 16 WORDS SINCE 
               THERE ARE 31 ASCII CHARACTERS IN THIS STRING.  REMEMBER
               THAT THE RESULTANT STRING IS ALSO STORED IN THIS ARRAY;
               HENCE, IF IT IS GREATER THAN 31 CHARACTERS, IX MUST BE 
               DIMENSIONED ACCORDINGLY.  SIMILARLY, IF ARRAY IY=5.6 
               48.213 32.1, THEN IYOF=11 AND IXLEN=5.  EFFECTIVELY, 
               THIS ISOLATES THE FIRST VARIABLE TO "48.213" AND THE 
               SECOND VARIABLE TO "32.1." 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ADDITIONAL EXITS FOR DECIMAL ARITHMETIC ROUTINES
       ON CERTAIN ERRORS, CALLS TO .ERRR ARE MADE:
  
       1. A NULL ARGUMENT STRING: 
  
           (A) BCS:   "E-11 NS" IS PRINTED AND THE COMPUTER HALTS.
           (B) DOS:   "11 NS" IS PRINTED AND THE PROGRAM IS TERMINATED. 
  
       2. RESULT STRING LENGTH EXCEEDS 64 CHARACTERS: 
  
           (A) ADD:         "E-11 OV" IS PRINTED
           (B) MULTIPLY:    "E-12 OV" IS PRINTED
  
  
 **MISCELLANEOUS: 
  
  THE MOVE/COMPARE ROUTINES REQUIRE ROUTINES "GETCR" AND "OUTCR"
  WHICH ARE PART OF THE "DECIMAL ARITHMETIC ROUTINES".  THESE ROUTINES
  USE COMMON STORAGE (TOTAL DECLARATION = 80 WORDS).  THUS, ANY USER
  PROGRAMS WHICH REQUIRE COMMON STORAGE MUST INCLUDE A DUMMY COMMON 
  STATEMENT OF 80 WORDS.
  
  IN THE DOS/RTE ENVIRONMENTS, A COMPATIBLE ERROR ROUTINE .ERRR IS
  PROVIDED.  THIS ROUTINE MAKES A CORRECT CALL TO THE DOS/RTE ERROR 
  ROUTINE ERR0 AND THEN TERMINATES THE PROGRAM. 
  
  SINCE THE RESULT STRING REPLACES THE FIRST ARGUMENT STRING, AMPLE 
  SPACE MUST BE PROVIDED,  THEREFORE, THE FIRST ARGUMENT STRING SHOULD
  BE PADDED ON THE RIGHT WITH BLANKS SO THAT THE TOTAL LENGTH CAN HOLD
  THE RESULT STRING.  THE LENGTH SPECIFIED IN THE CALLING SEQUENCE FOR
  THE FIRST ARGUMENT STRING SHOULD BE THE ACTUAL LENGTH, NOT INCLUDING
  THE PADDING.
  
  THE CHOICE OF 63 CHARACTERS MAXIMUM WAS ARBITRARY AND CAN BE INCREASED
  TO ANY PRACTICAL NUMBER OF CHARACTERS AS FOLLOWS: 
  
  EXAMPLE:
           TO INCREASE THE MAXIMUM NUMBER OF DIGITS TO 256, THE 
           FOLLOWING EDITS ARE NEEDED:
  
           SOURCE #1
              /CR,8,21,22 
              256 
              /E
  
           SOURCE #2
              /R,460
              SIZE EQU 256
              /E
A00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SORT
 **PROGRAM TITLE: 
  FAST CORE SORT OF INTEGERS, REALS, AND DOUBLE PRECISION NUMBERS 
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    SORT
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS 
  
 **MEMORY REQUIREMENTS: 
  12808 W/EXTERNAL SUBPROGRAMS (5080 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THERE ARE THREE SUBROUTINES IN THIS PACKAGE FOR A FAST "IN-CORE"
  SORT OF INTEGERS, REALS, AND DOUBLE PRECISION NUMBERS.  REQUIRES A
  MINIMUM OF 8K CORE, FTN4 CALLLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ENCLOSED IS A PROGRAM PROVA AND SUBROUTINE READ THAT INPUTS UP TO 
  3000 INTEGERS, LISTS THEM, SORTS THEM, LISTS THE INDEXES AND THE
  ORDERED ARRAY.
  
  THE READ SUBROUTINE ALLOWS THE USER TO CREATE TEST ARRAYS FROM THE
  TELETYPE AND THE SORT SUBROUTINE.  THE ROUTINE READS VALUES AS FOLLOWS: 
    READ(1,*) IFST,ILST,ISEQ,IVAL 
    --WHERE-- IFST = FIRST ITEM TO BE ASSIGNED
              ILST = LAST ITEM TO BE ASSIGNED 
              ISEQ = SEQUENCE DESIRED (=9 TO END) 
              IVAL = STARTING VALUE 
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINT(S)
  
       SORT(ITEM,IPOS,NIT)
        --SORTS INTEGERS
            ITEM =  BUFFER ADDRESS OF ITEMS 
                     TO BE SORTED 
            IPOS =  BUFFER ADDRESS FOR
                     INDEXES IN ASCENDING 
                     ITEMS' VALUE ORDER 
            NIT =   NUMBER OF ITEMS TO BE 
                     SORTED 
       SORT2(BITEM,IPOS,NIT)
        --SORTS REALS 
       SORT3(DITEM,IPOS,NIT)
        --SORTS DOUBLE PRECISION VALUES 
       NTENT(N) 
        --(USED BY SORT)
           DETERMINES THE NUMBER OF TRIES 
           BEFORE SEQUENTIAL SORTING
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  IPICK 
 **PROGRAM TITLE: 
  ASCII/INTEGER CONVERSION ROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    ASCII           CONVERSION      CODE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       RTE       DOS 
  
 **MEMORY REQUIREMENTS: 
  201 WITH/WITHOUT EXTERNAL SUBPROGRAMS 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FUNCTION CONVERTS A SUBSTRING OF ASCII CHARACTERS INTO AN INTEGER
  VALUE OR INTO A NAME OF FIVE CHARACTERS.  THE SOURCE STRING IS WRITTEN
  IN A1 FORMAT, TERMINATED BY A SPACE AND DIVIDED INTO SUBSTRINGS BY
  COMMAS.  THE DESTINATION, FOR INTEGER CONVERSION, IS AN INTEGER OR, FOR 
  ASCII CONVERSION, AN INTEGER ARRAY OF THREE WORDS, WHERE THE FIRST FIVE 
  CHARACTERS OF THE INPUT ARE PACKED IN THE FORMAT 2A2,A1.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  NORMAL ASSEMBLY PROCEDURES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  TO VERIFY THE CAPABILITIES OF THE FUNCTION IPICK, A PROGRAM IS EN-
  CLOSED WHICH ASKS INPUT A STRING OF UP TO 72 CHARACTERS AND THE VALUE 
  OF NUM, AND TYPES THE CONTENTS OF IDEST AND THE VALUE OF IPICK. 
  
  FURTHER ASSIGNMENTS FOR NUM ARE AVAILABLE WITHIN THE SAME STRING, AS
  LONG AS ZERO IS NOT ENTERED.  TO END PROGRAM ENTER END. 
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE - FORTRAN
  IPICK (ISOUR,NUM,IDEST) 
  
    IPICK  =  0  FOR CONVERSION COMPLETED 
    IPICK  = -1  SELECTED SUBSTRING IS EMPTY OR DOES NOT EXIST
    IPICK  =  1  NON NUMERICAL CHARACTERS, OR NUMBER EXCEEDING
                   THE RANGE -32768 TO 32767, IN SUBSTRING REFERED
                   TO WITH A NEGATIVE NUMBER. 
    ISOUR        IS THE BUFFER ADDRESS OF THE SOURCE STRING 
    NUM          INDICATES THE POSITION OF THE SELECTED SUBSTRING,
                   AND THE TYPE OF CONVERSION: POSITIVE FOR ASCII 
                   CONVERSION, NEGATIVE FOR INTEGER CONVERSION. 
    IDEST        IS THE BUFFER ADDRESS OF THE DESTINATION OF THE
                   CONVERTED SUBSTRING. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QSORT 
 **PROGRAM TITLE: 
  RTE QUICK CORE SORT 
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    SORT
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'QSORT' IS AN EXTERNAL SUBROUTINE WHICH SORTS AN ARRAY OF RECORDS 
  IN CORE.  THE SUBROUTINES USE A PARTITION-EXCHANGE SORT TECHNIQUE 
  (QUICKSORT) WHICH IS A VERY FAST METHOD OF SORTING UNORDERED ITEMS. 
  THE ARRAY IS SORTED IN PLACE INTO ASCENDING ORDER; AND IT CAN BE
  SORTED ON ONLY ONE FIELD. 
  
  THIS SUBROUTINE OPERATES IN A MINIMUM RTE ENVIRONMENT AND IS CALLABLE 
  FROM ASSEMBLY LANGUAGE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD ASSEMBLE/COMPILE PROCEDURES. 
  
  
 **RUN INSTRUCTIONS:
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
   JSB  QSORT 
   DEF  RUNAD   ADDRESS OF ARRAY IN CORE
   DEF  LRECL   RECORD LENGTH IN WORDS
   DEF  RECNO   NUMBER OF RECORDS IN ARRAY
   DEF  SRTOF   OFFSET OF SORT FIELD FROM START OF RECORD 
   DEF  SRTLN   LENGTH OF SORT FIELD IN WORDS 
   DEF  SKIP    SKIP IS EQUATED TO 1 IF SORTING IS TO BEGIN 
                 ON LOW-ORDER BYTE OF FIRST WORD; SKIP IS EQUATED 
                 TO 0 OTHERWISE.
   (RETURN) 
  
  RECORDS TO BE SORTED MUST BE CONTIGUOUS IN CORE AT THE ADDRESS
   POINTED TO BY RUNAD.  THE SUBROUTINE WILL SORT THE ARRAY IN PLACE
   INTO ASCENDING ORDER.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ASSEMBLE THE TEST PROGRAM AND SUBROUTINE. 
  LOAD TESTQ AND QSORT IN THAT ORDER. 
  READY PAPER TAPE READER WITH TAPE OF TEST DATA SUPPLIED.
     BEGIN PROGRAM WITH:
     *ON,TESTQ, LOGICAL UNIT # OF PAPER TAPE READER, LOGICAL UNIT 
     # OF LINE PRINTER. 
  IF LU # OF PAPER TAPE READER IS 4, AND LU # OF LINE PRINTER IS 6, 
     THE COMMAND WOULD BE:
     *ON,TESTQ,4,6
  
  
 **PROGRAM DESCRIPTION: 
  
  QSORT WILL SORT A MAXIMUM OF 8191 RECORDS IN CORE.  THIS NUMBER 
  MAY BE INCREASED BY EXPANDING TWO STACKS IN THE PROGRAM: LAD AND UAD. 
  THE MAXIMUM IS CALCULATED AS LOG(BASE 2)N, WHERE N IS THE LENGTH OF 
  EACH TABLE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DSORT 
 **PROGRAM TITLE: 
  RTE DISC FILE SORT
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    SORT            FILES           MERGE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'DSORT' IS AN EXTERNAL SUBROUTINE DESIGNED TO SORT LARGE FILES ON 
  DISC IN OPTIMUM TIME.  INPUT TO 'DSORT' CAN BE FROM DISC, PAPER TAPE, 
  MAGNETIC TAPES, OR CARDS; AND THE MAXIMUM INPUT RECORD LENGTH MUST BE 
  LESS THAN OR EQUAL TO 64 WORDS.  AN OPTION IS AVAILABLE TO WRITE
  THE SORTED OUTPUT FILE OVER THE INPUT FILE.  FILES ARE SORTED IN
  ASCENDING ORDER ON ONLY ONE FIELD.
  
  'DSORT' LINKS TO A CORE SORT SUBROUTINE, 'QSORT', TO SORT SEGMENTS
  OF THE INPUT FILE, AND PERFORMS TWO-WAY MERGES ON THE SORTED SEGMENTS.
  'QSORT' IS INCLUDED IN THIS PACKAGE AND IS ALSO AVAILABLE SEPARATELY. 
  
  THE ONLY HARDWARE REQUIREMENTS ARE A MINIMUM RTE SYSTEM WITH A DISC 
  OR VRC DRUM.  'DSORT' IS CALLABLE FROM ASSEMBLY LANGUAGE. 
  
  'DSORT' MAKES EXEC CALLS TO THE OPERATING SYSTEM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE DSORT AND QSORT SUBROUTINES 
  2. ASSEMBLE CALLING PROGRAM 
  3. LOAD CALLING PROGRAM AND THE TWO SUBROUTINES TOGETHER
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  AN EXAMPLE TEST PROGRAM, 'TESTD' IS ENCLOSED. 
  
  LOAD TESTD, DSORT, AND QSORT IN THAT ORDER INTO THE BACKGROUND
  PARTITION.  READY PAPER TAPE READER WITH TESTD TEST DATA.  BEGIN
  PROGRAM WITH: 
       *ON,TESTD, PAPER TAPE READER LOGICAL UNIT #, 
                  LINE PRINTER LOGICAL UNIT # 
  IF LU # OF PAPER TAPE READER IS 4, AND LU # OF LINE PRINTER IS 6, 
  THE COMMAND WOULD BE: 
       *ON,TESTD,4,6
  
  
 **PROGRAM DESCRIPTION: 
  
  RECORD LENGTH MUST BE LESS THAN OR EQUAL TO 64 WORDS.  FOR DISC OR
  CARD FILES, END OF FILE MUST BE INDICATED BY $$ AFTER THE LAST
  RECORD.  FOR MAGNETIC TAPE INPUT, EITHER THE $$ OR AN END-OF-FILE 
  MARK MAY BE USED.  BLOCK SIZE ON TAPE CANNOT BE GREATER THAN 2000 WORDS.
  THE PROGRAM EXECUTION TIME IS OPTIMIZED IF, 1) THE SORTED OUTPUT FILE 
  IS NOT WRITTEN OVER THE INPUT FILE, AND, 2) RECORDS DO NOT RESPECT
  SECTOR AND TRACK BOUNDARIES ON INPUT. 
  
  THE MAXIMUM RECORD COUNT POINTED TO BY PARM6 DETERMINES THE NUMBER OF 
  TRACKS DSORT WILL ALLOCATE FOR SORTING, AND SHOULD BE APPROXIMATELY 
  EQUAL TO, BUT NOT LESS THAN, THE ACTUAL NUMBER OF RECORDS.  DSORT 
  WILL NOT READ MORE THAN THE NUMBER OF RECORDS GIVEN BY PARM6. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DSORT GLOBALLY ALLOCATES DISC TRACKS TO SORT THE NUMBER OF RECORDS
  GIVEN IN PARM6.  THE NUMBER OF TRACKS REQUIRED FOR SORTING IS AT
  LEAST TWICE THE NUMBER OF TRACKS REQUIRED TO HOLD THE FILE, SINCE 
  TWO WORK AREAS ARE USED.  IF THE TRACKS ARE UNAVAILABLE, DSORT WILL 
  SUSPEND, WAITING FOR ALLOCATION.
  
  
 **MISCELLANEOUS: 
  
  
A00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SORT
 **PROGRAM TITLE: 
  RTE-II/III FMGR FILE TYPE 2 ASCII, INTEGER AND REAL SORT PROGRAM PACKAGE
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    SORT            ASCII           FILES 
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
    2116
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SORT PACKAGE WILL SORT A FILE FMGR TYPE 2 FILE OF ANY SIZE AND 
  ANY MIX OF ASCII, INTEGER, AND/OR REAL FIELDS IN MIXED COMBINATIONS 
  OF ASCENDING AND DESCENDING ORDERS. 
  
  THE SORT PROGRAM MAY BE RUN INTERACTIVELY OR SCHEDULED PROGRAM- 
  MATICALLY.  THE DESTINATION FILE MAY BE THE SOURCE, A NEW OR EXISTING 
  FILE.  IF THE DESTINATION FILE IS NEW, IT WILL AUTOMATICALLY BE 
  CREATED.
  
  CALCULATED SORT TIME FOR A 132 CHARACTER (66 WORD) RECORD AND 32000 
  RECORD FILE IN WORST CASE ORDER IS LESS THAN 45 MINUTES ON A 7900/21MX
  RTE SYSTEM.  ACTUAL MEASURED SORT TIME FOR A 20 CHARACTER RECORD AND
  2236 RECORD FILE IS 2 MINUTES, 21 SECONDS.
  
  TYPICAL APPLICATION IS IN CONJUNCTION WITH IMAGE/QUERY.  A FORTRAN
  PROGRAM CAN ACCESS THE DATA BASE AND CONSTRUCT A TYPE 2 FILE IN WHICH 
  EACH RECORD IS A LINE OF A REPORT.  THE PROGRAM THEN SCHEDULES THE
  SORT WITH WAIT AND PASSES THE KEY FIELD  DESCRIPTIONS.  UPON RETURN 
  THE PROGRAM INSERTS THE PROPER REPORT HEADERS WHILE PRINTING THE
  REPORT FROM THE SORTED FILE.
  
  THE SORT PACKAGE CONSISTS OF PROGRAMS SORT WITH ASSOCIATED SUPPORT
  SUBROUTINES, AND MSORT.  SORT EXTRACTS THE KEY FIELDS FROM THE SOURCE 
  FILE, WRITES THE KEYS TO SYSTEM TRACKS AND SCHEDULES MSORT WITH WAIT. 
  MSORT PERFORMS A DISC/MEMORY SORT.  WHEN THE KEYS ARE IN SORTED ORDER,
  SORT READS THE RECORD TAGS FROM THE SYSTEM TRACKS AND REWRITES THE
  SOURCE FILE IN SORTED ORDER TO THE DESTINATION FILE.
  
  THIS PACKAGE MAKES FMP AND EXEC CALLS.  IT REQUIRES 7900, 7905, AND/OR
  7920 DISC DRIVES.  THIS PACKAGE MAY ALSO BE USED IN 2116/2100 CPU'S 
  IF THE 21MX WORD PROCESSING AND INDEX REGISTER INSTRUCTIONS ARE RECODED 
  IN PROGRAM MSORT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  FILE#  5: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE SUBROUTINES AND SAVE RELOCATABLES. 
  
  MOVE THE RELOCATABLES TO THE LOAD AND GO TRACKS AND LOAD SORT 
  AS A BACKGROUND DISC RESIDENT PROGRAM.
  
  ASSEMBLE MSORT AND LOAD IT AS A BACKGROUND DISC RESIDENT PROGRAM. 
  IF RTE-III, LOAD MSORT INTO THE LARGEST PARTITION AVAILABLE AND GIVE
  IT THE WHOLE PARTITION. 
  
  
 **RUN INSTRUCTIONS:
  
  A.  INTERACTIVELY - RU,SORT,LU WHERE LU IS THE LOGICAL UNIT OF THE
                       INTERACTIVE CONSOLE. 
  
  B.  PROGRAMMATICALLY - CALL EXEC (ICODE,SORT,-LU,ICLASS)
  
  REFER TO SORT LISTING FOR INTERACTIVE AND PROGRAMMATIC SORT FIELD 
  DEFINITIONS AND PARAMETER DESCRIPTIONS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SORT IS INTERACTIVE AND SELF-EXPLANATORY. 
  
  
 **PROGRAM DESCRIPTION: 
  
  A.  THE MAXIMUM NUMBER OF SORT FIELDS AND THE MAXIMUM RECORD LENGTH 
      IS 10 FIELDS AND 66 WORDS (132 CHARACTERS).  THESE MAXIMUMS MAY 
      BE INCREASED BY INCREASING THE EQUATE VARIABLES BLEN AND FMAX 
      RESPECTIVELY IN PROGRAM SORT. 
  
  B.  DISC'S OTHER THAN 7900, 7905 OR 7920 MAY BE USED IF THE WORDS/
      TRACK AND WORDS/SECTOR EQUATE VARIABLES ARE CHANGED IN PROGRAM
      SORT. 
  
  C.  PROGRAM MSORT USES ALL OF AVAILABLE MEMORY FOR SORTING. 
      THEREFORE WHEN LOADING MSORT IN A RTE-III SYSTEM, THE LOADER SIZE 
      OPTION MUST BE USED.  THE MORE MEMORY MSORT HAS THE FASTER THE
      SORT. 
  
  D.  THERE MUST BE ENOUGH SYSTEM TRACKS TO CONTAIN THE KEY FIELDS. 
  
                            (TOTAL WORDS IN KEY FIELDS + 1)*RECORDS 
      TOTAL SYSTEM TRACKS = --------------------------------------- + 1 
                                         WORDS/TRACK
  
  
  E.  IF A BUG REPORT IS SUBMITTED, PLEASE INCLUDE A PAPER TAPE,
      TERMINAL CARTRIDGE OR MAG TAPE OF THE SOURCE FILE TO BE SORTED
      AND A DESCRIPTION OF THE SORT KEY FIELDS. 
  
  F.  LIBRARY ROUTINE PRTN MUST BE MEMORY RESIDENT OR LOADED IN LG
      TRACKS BEFORE MSORT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A00801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FSORT 
 **PROGRAM TITLE: 
  SORT ALL ASCII FMGR FILES WITHOUT EXTENTS 
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    SORT            ASCII           FILES 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  15K PARTITIONS (FITS IN PARTITIONS FROM 11-16K W/MINOR MODIFICATIONS) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  FSORT IS A VERY QUICK SINK-OR-SWIM CORE SORT WHICH CAN SORT UP TO 80
  FIELDS WITH A MAXIMUM OF 40 WORDS (80 CHARACTERS) TOTAL.  FSORT WILL
  SORT ALL ASCII FMGR FILE TYPES IN ASCENDING SEQUENCE.  THE FILES MUST 
  BE WITHOUT EXTENTS OR TRUNCATION WILL OCCUR.  THE PROGRAM CAN BE
  SCHEDULED FROM FMGR, OPERATOR, OR ANOTHER PROGRAM AND WILL ACCEPT 
  STRING PASSAGE OF REQUIRED INPUT.  A MAXIMUM OF 32767 RECORDS CAN BE
  SORTED WITH A MAXIMUM LENGTH AS WRITTEN OF 128 WORDS, HOWEVER THE USER
  CAN EASILY MODIFY THE LENGTH REQUIREMENTS TO FIT HIS NEED.
  
  MINIMUM SYSTEM REQUIRES ONE 7905 DISC AND ONE 21MX OR 2100 HP SYSTEM
  WITH AT LEAST 11K PARTITIONS. FSORT IS SET UP FOR 15K PARTITIONS BUT
  WITH MINOR MODIFICATIONS WILL FIT IN PARTITIONS FROM 11-16K.  DECIMAL 
  STRING ARITHMETIC PACKAGE IS ALSO REQUIRED.  FSORT MAKES FMP AND EXEC 
  CALLS.
  
  EXECUTION TIME VARIES WITH SIZE OF FILE AND LENGTH OF SORT.  4000 
  RECORDS OF 72 CHARACTERS WERE SORTED ON 18 COLUMNS IN APPROXIMATELY 
  6 MINUTES.  TIME IS DEPENDENT ON SYSTEM CONFIGURATION.
  
  DETAILED INFORMATION ON MODIFICATIONS AND EXECUTION ARE INCLUDED WITHIN 
  THE PROGRAM COMMENTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: FSORT SOURCE
  FILE#  3: FSORT SOURCE (CONTINUED)
  FILE#  4: ASC2I SOURCE
  FILE#  5: I2ASC SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  GIVEN IN PROGRAM LISTING. 
  
  
 **RUN INSTRUCTIONS:
  
  GIVEN IN PROGRAM LISTING. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  AFTER LOADING THE SORT PROGRAM, RUN THE SORT BY THE FOLLOWING 
  INSTRUCTIONS: 
            RU,FSORT,LU 
            NAME? 
            (NAME OF FILE STORED ABOVE) 
            SECURITY? 
            (SECURITY CODE IF ANY)
            SORT FIELDS?
             STARTING COLUMN.  (1) IN THE TEST CASE.
             NUMBER OF COLUMNS. (1) IN THE TEST CASE. 
             SAME AS ABOVE FOR AS MANY FIELDS AS YOU HAVE.
             -1 TERMINATES THE INPUT LIST.
  
  SAMPLE DATA FILE: 
            0001     1     THE
            0002     2     QUICK
            0003     3     BROWN
            0004     4     FOX
            0005     5     JUMPED 
            0006     6     OVER 
            0007     7     THE
            0008     8     LAZY 
            0009     9     DOG. 
            0010     4     FOX
            0011     1     THE
            0012     7     THE
            0013     9     DOG. 
            0014     2     QUICK
            0015     5     JUMPED 
            0016     8     LAZY 
            0017     3     BROWN
            0018     6     OVER 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR MESSAGES FROM BOTH FMGR AND THE PROGRAM ARE SENT TO THE USER'S
  TERMINAL. 
  
  
 **MISCELLANEOUS: 
  
  FILES TO BE SORTED MUST BE WITHOUT EXTENTS. 
A00901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  STRNG 
 **PROGRAM TITLE: 
  STRING CONVERSION SUBROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  2
  
 **KEYWORDS:
    CONVERSION      ASCII           CODE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  SUBROUTINE STRNG WILL CONVERT FROM AN ASCII STRING, MIXED GROUPS OF 
  INTEGER AND REAL VALUES WHICH MAY BE PREFIXED BY ONE OR TWO ASCII 
  CHARACTERS.  THE PREFIX, A REAL VALUE, AN INTEGER VALUE, AND ERROR
  INDICATOR ARE RETURNED TO THE USER.  THE PACKAGE CONTAINS THREE DEMON-
  STRATION PROGRAMS USING STRNG, ONE OF WHICH ILLUSTRATES A PSEUDO- 
  NAMELIST CAPABILITY.  STRNG CAN REPLACE THE ASTERISK FORMAT WHERE THE 
  FORTRAN FORMATTER IS NOT PRESENT (157 WORDS).  STRNG USES FIRMWARE LBT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: STRNG SOURCE - ASMB 
  FILE#  3: IADRS SOURCE - ASMB 
  FILE#  4: DEMOA SOURCE - FTN4 
  FILE#  5: DEMOB SOURCE - FTN4 
  FILE#  6: DEMOC SOURCE - FTN4 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THREE DEMONSTRATION PROGRAMS ARE INCLUDED: DEMOA, DEMOB, DEMOC. 
  (FIRST PARAMETER OF RUN STRING IS LU OF INTERACTIVE DEMONSTRATION 
  DEVICE.)
  DEMOA AND DEMOB WILL EXIT AFTER 10 STRINGS.  DEMOC WILL EXIT ON 
  RECEIPT OF A DOUBLE COLON IN THE STRING.
  
  
 **PROGRAM DESCRIPTION: 
  
  INPUT VALUES MAY NOT EXCEED 32767 IN MAGNITUDE AND REAL HAS 4 
  DECIMAL PLACES.  USES FIRMWARE LBT.  GROUPS IN INPUT STRING CAN BE
  SEPARATED BY SPACES OR COMMA.  EQUAL SIGN IS DISCARDED.  PREFIXES 
  CAN INCLUDE MOST SPECIAL CHARACTERS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A01001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PROTK 
 **PROGRAM TITLE: 
  RTE CHECK PROTECT SUBROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  4
  
 **KEYWORDS:
    PAYROLL         ACCOUNTING
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  CHECK PROTECT SUBROUTINE.  USEFUL IN PAYROLL AND ACCOUNTS PAYABLE 
  PROGRAMS WHERE CHECKS ARE COMPUTER GENERATED AND OUTPUT TO A LINE 
  PRINTER.  INPUT IS EIGHT CHARACTER DECIMAL STRING, AND OUTPUT IS
  SIXTY-EIGHT CHARACTERS. 
  
  PROTK USES THE DECIMAL STRING ARITHMETIC ROUTINES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: TRANSFER FILE & SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE TRANSFER FILE /DEMO.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A DEMONSTRATION PROGRAM DEMO IS ENCLOSED. 
  
  
 **PROGRAM DESCRIPTION: 
  
  EDITING OF INPUT STRING IS LEFT TO USER.  INPUT GREATER THAN
  09999999 RESULTS IN OUTPUT OF "ZERO*DOLLARS-00-CENTS".
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A01101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TMATT 
 **PROGRAM TITLE: 
  NON-DATACAP/1000 TIME-&-ATTENDANCE APPLICATION PGM. OPTIMIZED FOR SPEED 
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  3
  
 **KEYWORDS:
    TERMINAL        I/O             TIME
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    F-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-IVA   RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  1*10K PARTITION 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  SYS.S/W DEPENDANCE:  EXEC & FMP CALLS 
  SYS.H/W DEPENDANCE:  MULTIPOINT/1000 I/F CARD (SUBSYS. HP P/N 91730A) 
             DRIVERS:  DVR 07 (INCL. IN MULTIPOINT/1000 SUBSYSTEM)
                       DVR 32 OR SOME OTHER DRIVER TO HANDLE DISC STORAGE 
             MANUALS:  HP 3075A/6A/7A REF. MAN.  (HP P/N 03075-90011) 
                       MULTIPOINT TERM. USER'S GUIDE (HP P/N 91730-90002) 
                       RTE-IV P'GM'RS. REF. MANUAL (FOR RTE-4A OR -4B)
    SPECIAL ROUTINES:  SEVERAL ROUTINES IN $GPLB4 -- DATACAP UTILITY LIBRARY
  'TMATT' IS A NON-DATACAP/1000 APPLICATIONS PROGRAM DESIGNED TO MONITOR
  UP TO 20 HP 3077 TIME-REPORTING TERMINALS IN A RESPONSE-TIME-CRITICAL 
  TIME-AND-ATTENDANCE APPLICATION.  TERMINAL LU#'S ARE PASSED THRU THE RUN
  STRING (I.E. :RU,TMATT,LU#1,LU#2,...,LU#20).  'TMATT' HAS BEEN DESIGNED 
  WITH A MINIMUM AMOUNT OF OVERHEAD -- ALL IT DOES IS READ DATA FROM THE
  HP 3077 TERMINALS AND LOG IT TO A DISC FILE.  NO VALIDATION IS DONE ON
  THE DATA (VALIDATION CAN BE ADDED IF THE USER DESIRES -- COMMENTS IN THE
  CODE INFORM THE USER WHERE).  THE CODE HAS MANY COMMENTS IN IT TO LEAD
  THE USER IN THE DIRECTION OF MODIFICATIONS REQUIRED FOR HIS OWN SITU- 
  ATION.  'TMATT' IS VERY FAST (RESPONSE TIME = 1.0 SEC. FOR 10 TERMINALS)
  AND UTILIZES THE CPU AT MAX 10%.  'TMATT' USES CLASS I/O FOR ALL TERM-
  INAL COMMUNCATION -- THUS DERIVING ITS SPEED.  'TMATT' USES ROUTINES IN 
  A UTILITY LIBRARY FOR RTE-4 (CALLED $GPLB4) THAT IS AVAILABLE AS PART 
   OF DATACAP 1000.  THESE ROUTINES ALLOW STRING, CHARACTER, AND BIT MAN- 
  IPULATION TO BE PERFORMED MORE EASILY THAN WITH ROUTINES IN THE DECIMAL 
  STRING ARITHMETIC PACKAGE SUPPLIED WITH RTE-4 GRANDFATHERS (%DECAR).
  'TMATT' IS SOMEWHAT CONVERSATIONAL ALREADY BUT THIS CAN BE CHANGED OR 
  NOT DEPENDING ON THE USERS NEED.  AGAIN, THE COMMENTS IN THE CODE POINT 
  THE USER IN THIS DIRECTION.  TO USE 'TMATT' ON A SYSTEM, ONE NEEDS HP 
  3077A TERMINALS, A MULTIPOINT/1000 SUBSYSTEM (DVR 07 INCLUDED HERE), A
  DISC DEVICE OF SOME SORT TO SUPPORT DATA STORAGE, AND $GPLB4.  MEMORY 
  REQUIREMENTS ARE NEGLIGIBLE SINCE THE PROGRAM-PLUS-LIBRARY ONLY TAKES 
  UP 10 PAGES.  IF SO DESIRED, THE USER MAY ALSO EMPLOY THE HP FACTORY
  DATA LINK AND DATA LINK CONVERTERS CONNECTED IN A CONFIGURATION SHOWN 
  IN THE HP 3075A/6A/7A REF. MANUAL PP. 2-5.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: >TMATT--LOADR COMMAND FILE
  FILE#  3: &TMATT--PROGRAM PLUS DUMMY STORAGE ROUTINE
  
  
 **LOAD INSTRUCTIONS: 
  
  PROGRAM CAN EITHER BE BACKGROUND OR REAL-TIME 
  
  
 **RUN INSTRUCTIONS:
  
  RU,TMATT,LU#1,LU#2,...,LU#20
  
  LU#1...LU#20 = HP 3077A TERMINAL LU#'S
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A01201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LIST2 
 **PROGRAM TITLE: 
  MULTI-RECORD FORMATTED OUTPUT LISTER
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  6
  
 **KEYWORDS:
    FORMATTING      REPORTS         TEXT
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS 
  
 **MEMORY REQUIREMENTS: 
  6185 WORDS WITH EXTERNAL SUBPROGRAMS, 3192 WITHOUT. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES USER CAPABILITY TO OUTPUT MULTI-RECORD FORMATTED
  DATA STREAMS TO ONE OR MORE LIST DEVICES VIA USER COMMAND CONTROL UNDER 
  DOS.  OSTENSIBLY FOR LINE PRINTER LISTINGS OF PUNCHED CARDS, THE USER 
  COMMAND SET ALLOWS SELECTIVE INPUT FROM SEVERAL DEVICES AND JUXTA-
  POSITION OF THESE INPUT FIELDS, THE COMMAND SET ALSO CONTROLS INSERTIONS
  OF SPACES, CHARACTERS, PORTIONS OF A CORE-SAVED RECORD, PAGE NUMBERS, 
  PAGE HEADINGS, TOP-OF-FORM LINE SPACES, AND LINEFEEDS INTO THE DATA 
  STREAM.  THE USER MAY VARY OUTPUT RECORD LENGTH BY STRIPPING TRAILING 
  BLANKS, OR PARTIALLY SUPPRESS A LISTING OF THE OUTPUT DATA STREAM VIA 
  COMMAND CONTROL.
  
  THE COMMAND SET ITSELF MAY BE PARTIALLY INPUT THROUGH THE TERMINAL IN A 
  CONVERSTAIONAL MODE OR MIXED WITH THE INPUT DATA STREAM IN A CARD 
  READER, PHOTOREADER, OR OTHER INPUT DEVICE. 
  
  LIST2 USES EXEC CALLS TO THE OPERATING SYSTEM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE ROUTING SLIP BRINGS UP ONE OF THE PROGRAM'S APPLICATIONS, NAMELY
  DISTRIBUTION LISTS.  THIRTY CARD COLUMNS ARE ALLOCATED TO NAME AND MAIL 
  STOP.  THE REMAINING 50 COLUMNS REPRESENT DIFFERENT DISTRIBUTION LISTS
  THAT A PERSON MIGHT BE ON, THIS BEING INDICATED BY PUNCHING A CHARACTER 
  IN THE PROPER COLUMN.  IN SOME CASES THE CHARACTER WAS THE NUMBER OF
  COPIES AND IN A FEW CASES, BECAUSE OF QUANTITIES, TWO COLUMNS WERE
  ASSOCIATED WITH ONE LIST.  A //SUP N 1 500 COMMAND (DON'T PRINT IF THE
  COLUMN IS BLANK) CONTROLS THE LISTING, AN APPROPRIATE JCL INSTRUCTION 
  PICKS UP THE QUANTITIES WHEN DESIRED.  CONSECUTIVE PAGES ARE OVERLAPPED 
  IN THE COPY MACHINE TO PRODUCE A MULTICOLUMNAR FORMAT.
  
  THE FOLLOWING RECORDS WILL NOW BE LISTED TO DEMONSTRATE USE OF THE
  BUFFER AND JCL INSTRUCTIONS.
  //SKP  SKIP TO A NEW PAGE,
  //SPC 5 
  //BUF  LOAD THE BUFFER (601 THRU 680) WITH THE FOLLOWING RECORD,
  ............................
  //JCL   JUXTAPOSITION INSTRUCTIONS FOLLOW.
  1,, 1,30 501,,ONE ! FOR TRIM ,5SPACES & REPEAT 1,30 501,, 
  PLEASE ROUTE AS INDICATED 
  //JCL 
  1,2, 321,2SPACES 601,5DOTS ,,2SPACES 1,20NAME ,,9SPACES 601,5 ,,2 1,20
  //LFD 2 LINEFEEDS, //SPC 2 WOULD GIVE 4 SINCE LSP = 2 FROM LAST JCL.
  HERB SHEAR          ADDRESS             CITY,STATE,ZIP      PHONE 
  JOHN DOE            OR OTHER DEPARTMENTAL DATA AS DESIRED IN THESE
  MARY DOUGH          FIELDS.  WITH FIELD SELECTION AND JUXTAPOSITION 
  BILL SMITH          ONE FILE SERVES SEVERAL FUNCTIONS.
  //JCL 
  1,, 1,30 ,,6 1,30 
  IF COPIES ARE DESIRED 
  INDICATE QUANTITY BY YOUR 
  NAME, BE SURE DISCARD 
  CONDITION DOES NOT EXIST. 
  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
  //SPC @12   10 SPACES, NOTE OCTAL NUMBERS MAY BE USED.
  --------------------------------------------- 
  //JCL 
  1 
  //HED 0 0 
  //SPC 5 
  TEST CASE COMPLETED.   (NOT REALLY) 
  //END 
  
  PLEASE ROUTE AS INDICATED     !     PLEASE ROUTE AS INDICATED     ! 
  
    ..... HERB SHEAR                    ..... HERB SHEAR
  
    ..... JOHN DOE                      ..... JOHN DOE
  
    ..... MARY DOUGH                    ..... MARY DOUGH
  
    ..... BILL SMITH                    ..... BILL SMITH
  
  IF COPIES ARE DESIRED               IF COPIES ARE DEISRED 
  INDICATE QUANTITY BY YOUR           INDICATE QUANTITY BY YOUR 
  NAME, BE SURE DISCARD               NAME, BE SURE DISCARD 
  CONDITION DOES NOT EXIST.           CONDITION DOES NOT EXIST. 
  
  .... DISCARD WHEN ROUTED            .... DISCARD WHEN ROUTED
       RTN TO SECRETARY FOR                RTN TO SECRETARY FOR 
  .... COPIES AND/OR FILING           .... COPIES AND/OR FILING 
  
  FILE TO:.................           FILE TO:................. 
  COMMENTS:                           COMMENTS: 
  
  
  
  
  
  
  
  ----------------------------      ------------------------------- 
  
  TEST CASE COMPLETED.          (REALLY)
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A01301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RTDMO 
 **PROGRAM TITLE: 
  PAGE ORIENTED TEXT DISPLAY
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  6
  
 **KEYWORDS:
    TEXT            DISPLAY 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ILLUSTRATES HOW TO UTILIZE THE FILE MANAGER CALL AND 
  PROGRAM THE 2640 SERIES TERMINALS.  SINCE THE NATURE OF THE PROGRAM 
  LENDS ITSELF TOWARD A GENERAL ASCII MESSAGE PROCESSOR (PAGE ORIENTED),
  IT CAN BE USED TO IMPLEMENT AND DISPLAY ANY DESIRED DATA CASE WITH
  LIMITS TAILORED TO THE 2640 SERIES SCREEN FOR 23 LINES WITH 132 
  CHARACTERS PER LINE.  THE CURSOR IS RESERVED FOR LINE 24. 
  
  THE PROGRAM ACCESSES ANY ONE OF 100 FILES OF TEXT AND DISPLAYS THE
  TEXT ON THE TERMINAL DISPLAY.  IT USES EXEC AND FMP CALLS.
  
  HARDWARE REQUIREMENTS INCLUDE A 2640 OR 2644 TERMINAL FOR DISPLAY 
  PURPOSES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RTE-3 SOURCE AND SAMPLE ASCII DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  1. COMPILE AND LOAD THE PROGRAM 'RTE3'
  2. STORE SAMPLE ASCII DATA ON ASCII (TYPE 3 OR 4) DATA FILES USING THE
       "ST" COMMAND IN THE FOLLOWING FORMAT:
                   RTE3XX, WHERE XX IS ANY TWO LETTERS YOU CHOOSE.
  
  
 **RUN INSTRUCTIONS:
  
  :RU,RTE3[,LU] WHERE LU = DISPLAY TERMINAL LU. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERRORS ARE SELF-EXPLANATORY.
  
  
 **MISCELLANEOUS: 
  
  IT IS SUGGESTED THAT THE 2640 OR 2644 TERMINAL HAVE AT LEAST 4K 
  MEMORY. 
A01401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FORMT 
 **PROGRAM TITLE: 
  AUTOMATIC TEXT REPORT FORMATTER 
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  6
  
 **KEYWORDS:
    FORMATTING      TEXT
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE RTE-II,-III, OR -M USER TO PRODUCE A FORMATTED
  LISTING OF AN FMP FILE WITH AUTOMATIC PAGE NUMBERING AND TITLES.  THE 
  PROGRAM ACCEPTS A FILE NAME (NAMR) AND PROMPTS THE USER FOR PRINT 
  CONTROL INFORMATION TO PRODUCE THE LISTING.  FOR EDITING PURPOSES,
  THERE IS AN OPTION TO PRODUCE LINE NUMBERS FOR EACH LINE OF TEXT. 
  THE PROGRAM HAS EXTENSIVE ERROR CHECKING, CAN BE RUN UNDER BATCH OR 
  SPOOLING, AND TEXT INPUT CAN BE FROM EXTERNAL DEVICES THROUGH FMP 
  TYPE 0 FILES. 
  
  FORMT USES EXEC AND FMP CALLS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: FTN4 PROGRAM SOURCE OF FORMT
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERROR MESSAGES ARE SELF-EXPLANATORY.
  
  
 **MISCELLANEOUS: 
  
  
A01501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  WOLF
 **PROGRAM TITLE: 
  AUTOMATIC TYPING PROGRAM
  
 **REVISION?  YES 
  
 **PACKAGE:  1    **CATEGORY:  6
  
 **KEYWORDS:
    FORMATTING      TEXT            REPORTS 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  A FORTRAN IV PROGRAM FOR THE HEWLETT-PACKARD 2100 SERIES COMPUTER 
  PROVIDES FOR AUTOMATIC TYPING OPERATIONS AND CAN, WHEN EMPLOYED WITH
  MANUFACTURER'S TEXT EDITOR, PROVIDE A SYSTEM TO GREATLY FACILITATE
  PREPARATION OF REPORTS, LETTERS AND OTHER TEXT.  THE INPUT TEXT AND 
  IMBEDDED CONTROL DATA CAN PERFORM NEARLY ALL OF THE FUNCTIONS OF A
  TYPIST.  A FEW OF THE FEATURES AVAILABLE ARE CENTERING, TITLES, 
  FOOTNOTES, INDENTATION, PAGE NUMBERING (INCLUDING ROMAN NUMERALS),
  AUTOMATIC PARAGRAPHING, AND TWO FORMS OF TAB OPERATIONS.  THE DOCUMENTA-
  TION CONTAINS BOTH USER AND TECHNICAL DESCRIPTION OF THE PROGRAM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: TRANSFER FILE TO LOAD WOLF OFF TAPE 
  FILE#  3: &WOLF    MAIN SEGMENT 
  FILE#  4: &MAINC   THE FOLLOWING ARE WOLF SUBPROGRAMS 
  FILE#  5: &IPARS
  FILE#  6: &IGETC
  FILE#  7: &IWORD
  FILE#  8: &ILINE
  FILE#  9: &ILINO
  FILE# 10: &IDSWP
  FILE# 11: &IOUTP
  FILE# 12: &$.OVY
  FILE# 13: &$$WLF
  FILE# 14: &IFIGC
  FILE# 15: &WLF.0
  FILE# 16: &IINIT
  FILE# 17: &IOPEN
  FILE# 18: &WLF.1
  FILE# 19: &IPAGC
  FILE# 20: &IPAUS
  FILE# 21: &IPAGP
  FILE# 22: &ROMAN
  FILE# 23: &DECIM
  FILE# 24: &IPARC
  FILE# 25: &ICMDH
  FILE# 26: &ITTLP
  FILE# 27: &IFTLP
  FILE# 28: &WLF.2
  FILE# 29: &IFTHC
  FILE# 30: &IFILE
  FILE# 31: &IALPX
  FILE# 32: &WLF.3
  FILE# 33: &IERRM
  FILE# 34: &CFILE
  FILE# 35: &CMOVE
  FILE# 36: &WLF.4
  FILE# 37: &ICMDA
  FILE# 38: &ITIFT
  FILE# 39: &INUMX
  FILE# 40: %WOLF    RELOCATABLE FILES
  FILE# 41: %MAINC
  FILE# 42: %IPARS
  FILE# 43: %IGETC
  FILE# 44: %IWORD
  FILE# 45: %ILINE
  FILE# 46: %ILINO
  FILE# 47: %IDSWP
  FILE# 48: %IOUTP
  FILE# 49: %$.OVY
  FILE# 50: %$$WLF
  FILE# 51: %IFIGC
  FILE# 52: %WLF.0
  FILE# 53: %IINIT
  FILE# 54: %IOPEN
  FILE# 55: %WLF.1
  FILE# 56: %IPAGC
  FILE# 57: %IPAUS
  FILE# 58: %IPAGP
  FILE# 59: %ROMAN
  FILE# 60: %DECIM
  FILE# 61: %IPARC
  FILE# 62: %ICMDH
  FILE# 63: %ITTLP
  FILE# 64: %IFTLP
  FILE# 65: %WLF.2
  FILE# 66: %IFTHC
  FILE# 67: %IFILE
  FILE# 68: %IALPX
  FILE# 69: %WLF.3
  FILE# 70: %IERRM
  FILE# 71: %CFILE
  FILE# 72: %CMOVE
  FILE# 73: %WLF.4
  FILE# 74: %ICMDA
  FILE# 75: %ITIFT
  FILE# 76: %INUMX
  FILE# 77: *WOLFL   TRANSFER FILE TO LOAD WOLF PROGRAM 
  FILE# 78: "APPXA   SOURCE TEXT FOR APPENDIX A 
  FILE# 79: &HASHT   HASH TABLE PROGRAM 
  FILE# 80: HASHT    CURRENT COMMANDRNO. LIST FOR PROG. HASHT 
  
  
 **LOAD INSTRUCTIONS: 
  
  CONTACT CONTRIBUTOR FOR WOLF REFERENCE MANUAL.
  
  
 **RUN INSTRUCTIONS:
  
  CONTACT CONTRIBUTOR FOR WOLF REFERENCE MANUAL.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE REFERENCE MANUAL. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
A01601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  JFORM 
 **PROGRAM TITLE: 
  CRT FORMS CREATION
  
 **REVISION?  NO
  
 **PACKAGE:  1    **CATEGORY:  6
  
 **KEYWORDS:
    FORMATTING      TERMINAL        DISPLAY 
    REPORTS 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE 264X HP TERMINAL USER TO INTERACTIVELY CREATE 
  FORMS AND STORE THE RESULT IN AN FMP FILE.  THE PROGRAM LOADS SOFT
  KEYS WITH VARIOUS ENHANCEMENT OPTIONS THAT ARE USED TO CREATE THE 
  DESIRED FORM.  THE PROGRAM IS SELF-INSTRUCTIONAL AND PERFORMS EXTENSIVE 
  ERROR CHECKING. 
  
  THE PROGRAM IS COMPLETELY CONVERSATIONAL, USES ESCAPE SEQUENCES, AND
  SHOULD BE RUN ON A CRT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: JFORM SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND LOAD AS USUAL WITH NO SPECIAL CONSIDERATIONS. 
  
  
 **RUN INSTRUCTIONS:
  
  :RU,JFORM[,TERMINAL-LU] 
  
  THE REST IS SELF-INSTRUCTIONAL. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
B00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  HPCG
 **PROGRAM TITLE: 
  SYSTEMS OF ORDINARY DIFFERENTIAL EQUATIONS
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    DIFF.EQ.
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS 
  
 **MEMORY REQUIREMENTS: 
  2688 WITH EXTERNAL SUBPROGRAMS (2572 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USED BY THE RTE OR DOS OPERATING SYSTEM, THIS FORTRAN CALLABLE ROUTINE
  SOLVES A SYSTEM OF FIRST-ORDER ORDINARY GENERAL DIFFERENTIAL EQUATIONS
  WITH GIVEN INITIAL VALUES.  A FOURTH ORDER METHOD, HAMMINGS MODIFIED
  PREDICTOR-CORRECTOR METHOD IS USED.  THIS PROCEDURE REQUIRES FOUR PRE-
  CEDING POINTS FOR COMPUTATION OF A NEW VECTOR (Y) OF THE DEPENDENT
  VARIABLES.  THE FOURTH-ORDER RUNGE-KUTTA METHOD IS USED FOR ADJUSTMENT
  OF THE INITIAL INCREMENT AND FOR COMPUTATION OF STARTING VALUES.
  DURING THE ENTIRE ROUTINE, THE INCREMENT IS AUTOMATICALLY ADJUSTED BY 
  HALVING OR DOUBLING.
  FOR MAXIMUM FLEXIBILITY IN OUTPUT, AN OUTPUT SUBROUTINE MUST BE 
  SUPPLIED BY THE USER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  NORMAL LOAD AND GO PROCEDURES.
  
  
 **RUN INSTRUCTIONS:
  
  NORMAL LOAD AND GO PROCEDURES.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SUBROUTINE HPCG SOLVES A SYSTEM OF FIRST ORDER ORDINARY GENERAL DIF-
  FERENTIAL EQUATIONS WITH GIVEN INITIAL VALUES.
  
  EVALUATION IS DONE USING HAMMINGS MODIFIED PREDICTOR-CORRECTOR METHOD.
  IT IS A FOURTH ORDER METHOD, USING FOUR PRECEEDING POINTS FOR COM-
  PUTATION OF A NEW VECTOR Y OF THE DEPENDENT VARIABLES.
  
  FOURTH ORDER RUNGE-KUTTA METHOD SUGGESTED BY RALSTON IS USED FOR AD-
  JUSTMENT OF THE INITIAL INCREMENT AND FOR COMPUTATION OF STARTING 
  VALUES. 
  
  SUBROUTINE HPCG AUTOMATICALLY ADJUSTS THE INCREMENT DURING THE WHOLE
  COMPUTATION BY HALVING OR DOUBLING. 
  
  TO GET FULL FLEXIBILITY IN OUTPUT, AN OUTPUT SUBROUTINE MUST BE CODED 
  BY THE USER.
  
  HPCG IS WRITTEN WITH EXTENDED FORTRAN II CAPABILITY.  RTE OR DOS
  FORTRAN CALLABLE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  TERMINATES AND RETURNS IF: (1) MORE THAN 10 BISECTIONS OF THE INITIAL 
  INCREMENT ARE NECESSARY TO GET SATISFACTORY ACCURACY (ERROR MESSAGE 
  IHLF=LL); (2) INITIAL INCREMENT IS EQUAL TO 0 OR HAS WRONG SIGN (ERROR
  MESSAGES IHLF=12 OR IHLF=13); (3) THE WHOLE INTEGRATION INTERVAL IS 
  WORKED THROUGH.; (4) SUBROUTINE OUTP HAS CHANGED PRMT (5) TO NON-ZERO.
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
  (1) RALSTON/WILF, MATHEMATICAL METHODS FOR DIGITAL COMPUTERS, WILEY,
  NEW YORK,1960, PP. 95-109.
  (2) RALSTON, RUNGE-DUTTA METHODS WITH MINIMUM ERROR BOUNDS, MTAC. 
  VOL. 16, ISS. 80, 1962, PP. 431-437.
B00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EULT3 
 **PROGRAM TITLE: 
  3-D TRANSFORMATIONS USING EULER'S ANGLES
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    TRANSFORM       EULER           GEOMETRY
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS 
  
 **MEMORY REQUIREMENTS: 
  954 WITH EXTERNAL SUBPROGRAMS (392 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN CALLABLE SUBROUTINE TRANSFORMS THE COORDINATES (X, Y, Z) 
  OF A DATA SET TO (X', Y', Z') USING EULER'S ANGLES.  IT IS PARTICULARLY 
  USEFUL IN OBTAINING PLANAR PROJECTIONS OF CRYSTAL STRUCTURES.  RE-
  FERENCES CITED IN THE DOCUMENTATION GIVE A DETAILED EXPLANATION OF THE
  METHOD OF EULER'S ANGLES. 
  
  ONLY 8K OF CORE AND AN HP2752 TELEPRINTER ARE REQUIRED, BUT THE ROUTINE 
  IS PARTICULARLY USEFUL IN CONJUNCTION WITH AN HP1300A DISPLAY SYSTEM. 
  TWO TEST PROGRAMS DEMONSTRATE OUTPUT ON A TELEPRINTER AND AN HP1300A
  SCOPE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PURPOSE OF THIS SUBROUTINE IS THE TRANSFORMATION OF CO-ORDINATES
  OF A SET OF DATA (X,Y,Z) TO (X',Y',Z') USING EULER'S ANGLES.  IT IS 
  PARTICULARLY USEFUL IN OBTAINING PLANAR PROJECTIONS OF CRYSTAL STRUC- 
  TURES.  A MORE DETAILED EXPLANATION OF THE METHOD OF EULER'S ANGLES 
  CAN BE OBTAINED FROM THE REFERENCES CITED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
  H. GOLSTEIN, CLASSICAL MECHANICS. READING, MASSACHUSETTS: ADDISON-
  WESLEY (1950) 
  G. ARFKEN, MATHEMATICAL METHODS FOR PHYSICISTS. NEW YORK: ACADEMIC
  PRESS (1966)
B00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ASICO 
 **PROGRAM TITLE: 
  INVERSE SIN AND COS ROUTINE (SINGLE PRECISION)
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    TRIGONOMETRY
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M     RTE 
  
 **MEMORY REQUIREMENTS: 
  407 WITH EXTERNAL SUBPROGRAMS (94 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE TWO ENTRY POINTS OF THIS ROUTINE, 'ASINE' AND 'ACOS', WILL RETURN,
  AS A NORMAL PRECISION REAL VALUE, THE INVERSE 'SIN' AND 'COS' OF AN 
  ARGUMENT.  THE FUNCTION IS CALLABLE FROM FORTRAN AND ASSEMBLY LANGUAGE
  AND WILL OPERATE IN A DOS, DOS-M, OR RTE ENVIRONMENT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  GIVEN IS A LISTING OF A TEST PROGRAM
  FTN,L 
       PROGRAM ATEST
       DO 1 I=1,50
       X=I-10 
       X=X/10 
       P=COS(X) 
       Y=ACOS(P)
       Q=SIN(X) 
       Z=ASIN(Q)
       WRITE(6,6) X,P,Y,Q,Z 
     6 FORMAT(X5F10.5)
     1 CONTINUE 
       END
  
  CALLING SEQUENCE - FORTRAN
     ANGLE=ASIN(X)
     ANGLE=ACOS(X)
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
     EXT ASIN     OR ACOS 
     JSB ASIN     OR ACOS 
     DEF *+2
     DEF X   (ARGUMENT) 
         VALUE IN A & B 
  
  
 **PROGRAM DESCRIPTION: 
  
  THE TWO ENTRY POINTS OF THIS ROUTINE, ASIN AND ACOS, WILL RETURN, AS A
  NORMAL PRECISION REAL VALUE, THE INVERSE SIN AND COS OF AN ARGUMENT.
  THE FUNCTION IS CALLABLE FROM FORTRAN AND ASSEMBLY LANGUAGE AND WILL
  OPERATE IN A DOS, DOS-M, OR RTE ENVIRONMENT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF ARGUMENT GT 1 OR LT -1, MESSAGE 03 UN IS PRINTED (VIA ERRO) AND ZERO 
  IS RETURNED.
  
  
 **MISCELLANEOUS: 
  
  ALGORITHM FROM HASTINGS, APPROXIMATIONS FOR DIGITAL COMPUTERS, SHEET 30.
B00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SNCOS 
 **PROGRAM TITLE: 
  M-SERIES MICROCODED SIN-COS-TAN 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    TRIGONOMETRY    MICROCODE 
  
 **LANGUAGES: 
    ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    BCS       DOS       RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS 21MX ASSEMBLER/MICROCODE ROUTINE COMPUTES THE SINE AND COSINE
  FIVE TIMES FASTER THAN THE STANDARD DOS/RTE LIBRARY ROUTINES.  THE
  TANGENT FUNCTION RUNS THREE TIMES FASTER. 
  
  EXECUTION TIMES ARE:
       SINE        302-340 MICROSECONDS 
       COSINE      297-335 MICROSECONDS 
       TANGENT     685-715 MICROSECONDS 
  
  EQUIPMENT REQUIREMENT IS A 21MX.  THE PROGRAM OPERATES IN A BCS, DOS, 
  OR RTE ENVIRONMENT WITH RESPECTIVE MINIMUM CORE REQUIREMENTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SNCOS SOURCE (ASSEMBLER)
  FILE#  3: SNCOS SOURCE (MICROCODE)
  FILE#  4: TRIG SOURCE (FTN4 TEST PROGRAM) 
  
  
 **LOAD INSTRUCTIONS: 
  
  THE NORMAL CALL TO SIN, COS OR TAN IN A USER PROGRAM WILL INVOKE THE
  MICROCODE, PROVIDED THE ASSEMBLER ROUTINE (SNCOS):
  
       1.  HAS REPLACED THE STANDARD SINE, COSINE, AND TANGENT LIBRARY
           ROUTINES AT SYSGEN TIME, OR
       2.  IS LINKED IN WHEN THE RELOCATING LOADER LINKS THE USER PROGRAM.
  THE MICROCODE MUST BE IN PROM CHIPS OR IN WCS AT EXECUTION TIME.
  
  THE MICROCODE CONTAINS 2 ORIGIN STATEMENTS.  THESE ARE SET FOR MODULE 
  12.  IF A DIFFERENT MODULE IS USED, THESE ORIGIN STATEMENTS MUST BE 
  CHANGED.
  
  THE ASSEMBLER ROUTINE REQUIRES 293 FEWER MEMORY LOCATIONS THAN THE
  STANDARD LIBRARY ROUTINES.
  
  THE MICROCODE USES 233 CONTROL STORE LOCATIONS. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS 21MX ASSEMBLY/MICROCODE ROUTINE COMPUTES SINE AND COSINE 5 TIMES 
  FASTER THAN THE STANDARD DOS/RTE LIBRARY ROUTINES.  TANGENT IS COM- 
  PUTED 3 TIMES FASTER. 
  
  EXECUTION TIMES ARE AS FOLLOWS: 
       SINE         302-340 MICROSECONDS
       COSINE       297-335 MICROSECONDS
       TANGENT      685-715 MICROSECONDS
  
  THE ROUTINES ARE CALLABLE FROM ASSEMBLY LANGUAGE, FORTRAN, OR ALGOL.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  COMPUTER APPROXIMATIONS BY JOHN F. HART.
B00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FFT 
 **PROGRAM TITLE: 
  M-SERIES FFT WITH AUTOMATIC SCALING ON OVERFLOW 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    FOURIER         MICROCODE       TRANSFORM 
  
  
 **LANGUAGES: 
    ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
    21MX
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  COMPLEX TRANSFORM SIZE N REQUIRES 2*N LOCATIONS, REAL - N LOCATIONS.
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE PERFORMS A MICROCODE ENHANCED FFT (FAST FOURIER 
  TRANSFORM) WITH AUTOMATIC SCALING ON OVERFLOW.
  
  DATA TO BE TRANSFORMED MUST BE PRESENTED AS A SINGLE INTEGER ARRAY. 
  THE DATA MAY BE COMPLEX OR REAL. IF COMPLEX, THE ODD SUBSCRIPTED
  ELEMENTS ARE THE "REALS", AND THE EVEN SUBSCRIPTED ELEMENTS ARE THE 
  "IMAGINARIES". IF REAL, THE "REALS ARE CONTIGOUS. 
  
  A COMPLEX TRANSFOM OF SIZE N REQUIRES 2*N MEMORY LOCATIONS. A REAL
  TRANSFORM OF SIZE N REQUIRES N MEMORY LOCATIONS.
  
  EXECUTION TIME FOR 1024 COMPLEX POINT IS ABOUT 300MS (MILLISECONDS).
  EXECUTION TIME FOR 1024 (ALL IMAGINARIES = 0) POINTS OR 1024 REAL 
  POINTS IS ABOUT 160 MS. EACH OVERFLOW INCREASES EXECUTION TIME BY 6 
  MS FOR COMPLEX TRANSFORMS; EACH OVERFLOW INCREASES ESECUTION TIME 
  BY 3 MS FOR COMPLEX (ALL IMAGINARIES = 0) OR REAL TRANSFORMS. 
  THE ASSEMBLY LANGUAGE PORTION OF THE SUBROUTINE REQUIRES 269 MEMORY 
  LOCATIONS. THE MICROCODED PORTION REQUIRES 512 WORDS OF CONTROL STORE.
  
  THE SUBROUTINE HAS 3 ENTRY POINTS: FFT, CMPRS, XPAND. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  1. FFTC          COMPLEX FFT MICROCODE         MICMX,L
  
  2. FFTR          REAL FFT MICROCODE            MICMX,L
  
  3. FFTIF         ASSEMBLER FFT SUBROUTINE      ASMB,L 
  
  4. FFTT          TEST PROGRAM                  FTNR,L 
  
  MICROASSEMBLE TAPE 1 AND SAVE OBJECT. MICROASSEMBLE TAPE 2 AND SAVE 
  OBJECT. ASSEMBLE TAPE 3 AND SAVE RELOCATABLE. COMPILE TAPE 4 AND LOAD 
  WITH TAPE 3 RELOCATABLE . LOAD WCS CARD(S) WITH OBJECT FROM TAPES 1 
  AND 2. RUN FFTT.
  
  THE PROGRAMS ARE SET UP FOR RTE OPERATION AND MUST BE MODIFIED FOR
  OPERATION FOR OPERATING IN DOS OR BCS EINVIRONMENTS.
  
  
 **RUN INSTRUCTIONS:
  
  REQUIRES RTE OPERATING SYSTEM FOR UNMODIFIED OPERATION. ALSO, REQUIRES
  RTE MICROSOFTWARE (92061). MICROCODE SET FOR MODULES 12 AND 13, AND 
  MUST BE MODIFIED IF LOCATED ELSEWHERE IN CONTROL STORE. THIS ROUTINE
  WILL RUN ONLY ON A 21MX!
  
  IF ARRAYS GREATER THAN 1024 POINTS ARE USED, THEN THE FOLLOWING 
  MODIFICATIONS MUST BE MADE. 
  
  1. THE SINE TABLE MUST BE ADJUSTED SO THAT IT IS 1/4 THE ARRAY SIZE.
  
  2. THE MICROINSTRUCTION LABELED SETNMAX IN THE COMPLEX MICROCODE MUST 
     BE ADJUSTED. 
  
  FOR EXAMPLE, SUPPORT ARRAYS OF UP TO 4096 POINTS WERE TO BE TRANSFORMED.
  
       LINE 157 IN FFTC, TAPE 1 , SHOULD BE CHANGED TO
  SETNMAX IMM RES2 CMHI S7 367B S7=2048-NMAX/3=NH 
       LINE 76 IN FFTR, TAPE 2, SHOULD BE CHANGED TO
  COS.SIN IMM COV CMHI S7 367B S7=2048=NMAX/2 
  NO CHANGES ARE REQUIRED FOR FFTT, TAPE 3. 
       LINES 3,4,12 IN FFTT, TAPE 4, SHOULD BE CHANGED TO 
  DIMENSION IDATA (8192)
  DIMENSION ITABL (1024)
  
       ...
  NMAX = 4096 
  NOTE THAT NO CHANGES ARE REQUIRED FOR SMALLER ARRAYS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THERE ARE 3 CALLING SEQUENCES:
  1. COMPLEX
  2. COMPLEX (ALL IMAGINARIES = 0)
  3. REAL 
  
  1. COMPLEX CALLING SEQUENCE.
  
     CALL FFT (IDATA,N,ITABL,ISIGN,IEXP)
  
     WHERE
  
     IDATA IS THE INTEGER ARRAY TO BE TRANSFORMED; IDATA MUST BE IN 
     NORMAL SEQUENCE. AT THE END OF THE TRANSFORM IDATA WILL ALSO BE
     IN NORMAL SEQUENCE.
  
     N IS THE NUMBER OF DATA POINTS, AND MUST BE AN INTEGRAL POWER OF 
     2, E.G. 64, 128, 256, ...
  
     ITABLE IS A TABLE OF 256 SINE VALUES USED BY ALL TRANSFORMS OF 1024
     POINTS OR LESS. ITABL MAY BE GENERATED AS FOLLOWS: 
  
         K = NMAX/4 
         DO 10 I = 1,K
         ARG = 3.1415926536*(I-1)/(NMAX/2)
     10  ITABL(I) = SIN(ARG)*32768. + .5
     C   NMAX = 1024. IF ARRAYS GREATER THAN 1024 POINTS
     C   ARE TO BE TRANSFORMED, NMAX MUST BE CHANGED. 
  
     ISIGN = (-1 = FORWARD TRANSFORM, +1 = REVERSE TRANSFORM) 
  
     IEXP IS THE MAGNITUDE OF IDATA. FOR FORWARD TRANSFORMS, IEXP MUST BE 
     INITIALIZED TO CORRECTLY INDICATE THE MAGNITUDE OF IDATA. SETTING
     IEXP TO 0 INDICATES THAT IDATA IS NOT SCALED. FOR EXAMPLE, 
     IF AFTER A FORWARD TRANSFORM IEXP = +3, AND A PARTICULAR ELEMENT 
     VALUE IS 5, THE TRUE VALUE OF THAT ELEMENT IS 5 * 2**3. FOR
     REVERSE TRANSFORMS, IEXP SHOULD BE INITIALIZED TO THE VALUE RETURNED 
     WHEN IDATA WAS ORIGINALLY FORWARD TRANSFORMED. 
  
  2. COMPLEX (ALL IMAGINARIES = 0) CALLING SEQUENCE.
     CALL CMPRS (IDATA,N,ISIGN,IEXP)
     CALL FFT (IDATA,N,ITABL,ISIGN,IEXP)
     CALL XPAND (EDATA,N,ISIGN,IEXP)
  
     WHERE
  
     IDATA,N, AND IEXP ARE AS PREVIOUSLY DEFINED
  
     ISIGN = (-1 = FORWARD TRANSFORM, +1 = REVERSE TRANSFORM) 
  
     CMPRS IS A SECTION OF CODE THAT COMPRESSES N COMPLEX (ALL IMAGINARIES
     = 0) POINTS OCCUPYING 2*N MEMORY LOCATIONS TO N REAL POINTS
     OCCUPYING N MEMORY LOCATIONS.
  
     XPAND IS A SECTION OF CODE THAT EXPANDS N REAL POINTS OCCUPYING N
     MEMORY LOCATIONS TO N COMPLEX (ALL IMAGINARIES = 0) POINTS 
     OCCUPYING 2*N MEMORY LOCATIONS.
  
  3. REAL CALLING SEQUENCE. 
  
     CALL FFT (IDATA,N,ITABL,ISIGN,IEXP)
  
     WHERE
  
     IDATA,N, AND IEXP ARE AS PREVIOUSLY DEFINED. 
  
     ISIGN = (-1 = FORWARD TRANSFORM, +1 = REVERSE TRANSFORM) 
  
     AT THE END OF A FORWARD TRANSFORM, IDATA(1) AND IDATA(2) REPRESENT 
     THE DC LEVEL AND 1/2 THE SAMPLING FREQUENCY, RESPECTIVELY, AS
     FOLLOWS: 
  
     DC LEVEL = IDATA(1) + IDATA (2)
     1/2 SAMPLING FREQUENCY = IDATA(1) - IDATA(2) 
     FOR REVERSE TRANSFORMS, IDATA(1) AND IDATA(2) MUST BE AS RETURNED
     AFTER THE ORIGINAL FORWARD TRANSFORM.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
  1. IEEE TRANSACTIONS ON AUDIO AND ELECTROACOUSTICS, VOL AU-15, JUNE 
     1967 PAGES 45-55.
  2. THE FFT ALGORITHM AND ITS APPLICATIONS, IBM RESEARCH PAPER RC-1743,
     FEBRUARY 9, 1967, PAGES 30-33. 
B00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SQRT
 **PROGRAM TITLE: 
  MICROCODED SQRT AND BIT/WORD MICROCODE FOR 21MX-M 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    BIT             MICROCODE       WORD
  
  
 **LANGUAGES: 
    MICROASMB 
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE CONSISTS OF THIRTEEN MICROCODED ROUTINES; THESE COM- 
  PREHEND A SQUARE ROOT SUBROUTINE FOR FLOATING POINT NUMBERS (INDE-
  PENDENT FROM THE PRESENCE OF THE FLOATING POINT FIRMWARE PACKAGE),
  VARIOUS SUBROUTINES TO MOVE WORDS AND TO TEST, CLEAR AND SET ANY BIT
  IN A 16 BIT WORD. 
  A DETAILED DESCRIPTION FOLLOWS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1) ASSEMBLE SQRT SUBROUTINE.
  2)LOAD THE RELOCATABLE SQRT ROUTINE WITH YOUR OWN PROGRAM TO SUBSTITUTE 
    THE PROGRAM LIBRARY ROUTINE WITH THE SAME ENTRY POINT.
  3) COMPILE THE MICROPROGRAMMED ROUTINE AND LOAD THE MICROCODE IN THE
     WCS. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ALL THESE MACROS ARE CONFIGURED FOR THE WCS MODULE NUMBER THREE AND 
  CAN BE EASILY ADAPTED FOR ANOTHER MODULE. 
  TO TEST THE MICROPROGRAMMED SQRT, WE TAKE THE DIFFERENCE BETWEEN THE
  VALUE X AND THE VALUE SQRT (X) ** 2 FOR ALL THE APPROXIMATELY 8.4 X 
  (10**6) DIFFERENT BITS COMBINATIONS FOR REAL NUMBERS FROM 1. TO 4. IN 
  ALL CASES THIS DIFFERENCE WAS 0 OR 1 ON THE LAST SIGNIFICANT BIT. 
  
  
 **PROGRAM DESCRIPTION: 
  
  SUBROUTINES OR MICROPROGRAMS
  1) SQRT  SUBSTITUTES WITH THE MACRO 105143 THE JSB SQRT 
  2) MICROPORGRAMMED MODULE 1:
     MACRO
     105143   MACRO         SQUARE ROOT.NORMAL RETURN IN P+2. ERROR RETURN
              JMP ERROR     IN P+1 WITH IN A-B REGISTERS THE 03UN CODE. 
  
     105144   MACRO         SET THE N(TH)(,I) BIT IN WORD X(,I) 
              DEF N(,I) 
              DEF X(,I) 
  
     105145   IDEM          CLEAR THE N(TH)(,I) BIT IN WORD X(,I).
  
     105146   IDEM          TEST THE N(TH)(,I) BIT IN WORD X(,I) AND SKIP 
                            IF SET (P+3 NORMAL RETURN, P+4 SKIP RETURN).
  
     105147   IDEM          IDEM BUT SKIP IF BUT IS CLEARED.
  
     105150   IDEM          TEST THE N(TH)(,I) BIT IN WORD X(,I) SKIP IF
                            SET AND CLEAR.
  
     105151   IDEM          TEST THE N(TH)(,I) BIT IN WORD X(,I) SKIP IF
                            CLEARED AND SET.
  
     105152   IDEM          COMPLEMENT THE N(TH)(,I) BIT IN WORD X(I) 
  
     105153   MACRO         DECREMENT THE WORD X(,I) AND SKIP (P+3) IF
              DEF X(,I)     THE CONTENT RESULTS ZERO. 
  
     105154   MACRO         MOVE N(,I) WORDS TO END(,I) STARTING FROM 
              DEF END(,I)   START(,I) THE VECTORS WHICH FIRST LOCATION IS 
              DEF START(,I) IN END(,I) AND START(,I) CAN BE LOCATED ELSE- 
              DEF N(,I)     WHERE IN THE MEMORY AND CAN RECOVER ONE 
                            ANOTHER IN ANY WAY. 
  
     105155   MACRO         MOVE THREE WORDS IN MEMORY FROM START(,I) TO
              DEF END(,I)   END(,I) 
              DEF START(,I) 
  
     105156   IDEM          IDEM FOR TWO WORDS
  
     105157   IDEM          IDEM FOR ONE WORD.
  
     FOR THE MACRO 105155 AND 105156 THE VECTORS CANNOT RECOVER ONE 
     ANOTHER. 
  
     ALL THE MACRO FROM 105144 TO 105157 ARE FREE FROM MEMORY PROTECT 
     CONTROL. 
  
     ALL THE MACRO PRESERVE THE A-B REGISTERS CONTENTS (EXCLUDING OB- 
     VIOUSLY THE SQRT MACRO). 
  
     FINALLY, THE A-B REGISTER CAN BE USED IN ANY WAY (DIRECT OR INDIRECT)
     TO DEFINE N,X,END,START LOCATIONS. 
  
     N IS A LOCATION (D/I) WHICH CONTAIN THE ORDER NUMBER OF THE N(TH)
     BIT. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
B00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  21MX-E MICROCODED SIN-COS-TAN 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    TRIGONOMETRY    MICROCODE 
  
  
 **LANGUAGES: 
    ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
    E-SERIES
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS IS THE 22681-90090 MICROCODED SIN-COS-TAN PROGRAM CONVERTED TO 
  RUN ON THE MX-E.  THE SIN AND COS ARE ABOUT 1.5 FASTER AND THE TAN
  ABOUT 2.5 TIMES FASTER THAN THE STANDARD FORTRAN LIBRARY ROUTINES.
  
  THE EXECUTION TIMES ARE:
  
       SIN - ABOUT 200-220 MICRO-SECONDS
       COS - ABOUT 200-220 MICRO-SECONDS
       TAN - ABOUT 450 MICRO-SECONDS
  
  THE ROUTINES ARE CALLABLE FROM ASSEMBLY LANGUAGE, FORTRAN, OR ALGOL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  &SCMXE        MICRO SIN/COS/TAN FOR MX-E
  &SNCOS        ASSEMBLY LANG. CALLS TO MICRO-CODED ROUTINES
  &TRIG         FORTRAN TEST PROGRAM
  &SNCOZ        SPECIAL ASSEMBLY ROUTINE FOR COMPARISION TEST 
  &SCTST        FORTRAN TEST PROGRAM COMPARES MICRO TO REGULAR
                SIN/COS/TAN 
  LOG           SAMPLE INPUT-OUTPUT 
  
  OPERATIONAL:  ASSEMBLE &SCMXE, PUT IN WCS OR PROM.  EITHER REPLACE
                LIBRARY ROUTINES WITH SNCOS OR LOAD SNCOS WITH CALLING
                ROUTINE.  CALLING ROUTINES USE NORMAL CALLS TO SIN, 
                COS, TAN. 
  
  TEST:         ASSEMBLE &SCMXE, PUT IN WCS.  COMPILE &SCTST, ASSEMBLE
                &SNC02, LOAD.  &SNC02 IS A SPECIAL TEST PROGRAM TO ALLOW
                THE REGULAR AND MICRO-CODED SIN/COS/TAN TO BE CALLED FROM 
                ONE PROGRAM.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  PRELIMINARY TESTS SHOW THAT THE MICRO-CODED ROUTINES HAVE THE SAME
  ACCURACY AS THE REGULAR LIBRARY ROUTINES.  THE ROUTINES &SCTST AND
  &SNC02 SHOULD BE USED TO VERIFY THAT THE ACCURACY IS ADEQUATE FOR YOUR
  APPLICATION.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  COMPUTER APPROXIMATIONS BY JOHN F. HART.
B00801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CNVMN 
 **PROGRAM TITLE: 
  COORDINATE TRANSFORMATION PACKAGE 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    GEOMETRY        TRANSFORM 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    21MX
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  MINIMUM 8K PARTITION & AT LEAST 138 WORDS OF BACKGROUND COMMON. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  CNVMN - A FORTRAN SUBROUTINE WHICH DRIVES TWO BACKGROUND DISC RESIDENT
          PROGRAMS, AND ALLOWS THE USER TO HAVE LARGE APPLICATIONS PRO- 
          GRAMS AND STILL PERFORM COORDINATE TRANSFORMATIONS FOR A WIDE 
          RANGE OF X,Y PROJECTIONS.  CNVMN PERFORMS LAT-LON TO X,Y AND
          THE INVERSE.
  
  CONV8 - IS A FORTRAN BACKGROUND DISC RESIDENT PROGRAM WHICH IS SCHEDULED
          BY CNVMN WHEN PROJECTION OR SPHEROID CONSTANTS NEED TO BE ES- 
          TABLISHED.
  
  CONV9 - IS A FORTRAN BACKGROUND DISC RESIDENT PROGRAM WHICH IS SCHEDULED
          BY CNVMN TO PERFORM ACTUAL TRANSFORMATIONS. 
  
  RCONV - IS A SAMPLE MAIN, PERFORMING SINGLE POINT COORDINATE TRANS- 
          FORMATIONS VIA INTERACTIVE KEYBOARD DIALOG. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: TRANSFER
  
  
 **LOAD INSTRUCTIONS: 
  
  1.  CNVMN - THE RELOCATABLE %CNVMN SHOULD BE LINKED WITH THE MAIN 
              DESIRING COORDINATE TRANSFORMATIONS:
              EXAMPLE: (USING RCONV)
              :LG 
              :LG,6 
              :MR,%RCONV
              :MR,%CNVMN
              :RU,LOADR,99,,10
              :SP,RCONV 
              :OF,RCONV 
  
  2.  CONV8 - TO LOAD CONV8 USE THE FOLLOWING PROCEDURE:
              :LG 
              :LG,6 
              :MR,%CONV8
              :RU,LOADR,99,,10
              :SP,CONV8 
              :OF,CONV8 
  
  3.  CONV9 - TO LOAD CONV9 USE THE FOLLOWING PROCEDURE:
              :LG 
              :LG,6 
              :MR,%CONV9
              :RU,LOADR,99,,10
              :SP,CONV9 
              :OF,CONV9 
  
  
 **RUN INSTRUCTIONS:
  
  IRCONV - A TRANSFER FILE HAS BEEN INCLUDED TO 'RP' THE TYPE 6 FILES 
           RCONV, CONV8 AND CONV9 REQUIRED TO RUN RCONV.  TO EXECUTE FROM 
           FMGR OR BATCH THE COMMAND TO EXECUTE !RCONV IS :RU,!RCONV,LUIN 
           WHERE LUIN IS THE LOGICAL UNIT NUMBER OF THE INTERACTIVE TERM- 
           INAL TO BE USED.  UPON COMPLETION  !RCONV WILL AUTOMATICALLY 
           'OF' THE PROGRAMS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CARD INPUT CONSIDERATIONS:
       1. CONV8 - SHOULD CONV8 BE SCHEDULED WITH A PROJECTION TYPE CODE 
                  OF 3 (LAMBERT) OR 4 (TRANSVERSE MERCATOR) AND A STATE 
                  CODE OF 99 (CARD INPUT), CONV8 WILL ATTEMPT TO READ THE 
                  STATE PLANE CONSTANTS ACCORDING TO THE CARD FORMATS IN- 
                  CLUDED HERE.  THE COMPLETE LIST OF CONSTANTS AND THEIR
                  DEFINITIONS MAY BE OBTAINED FROM #2 UNDER TECHNICAL 
                  REFERENCES. (AVAILABLE FROM THE GOVERNMENT PRINTING 
                  OFFICE.)
  
  
 **PROGRAM DESCRIPTION: 
  
  PURPOSE:
       THE COORDINATE TRANSFORMATION PACKAGE IS AN ADPATATION OF THE
       COORDINATE TRANSFORMATION ROUTINES CONTAINED IN TECHNICAL REFERENCE
       #1.  REVISIONS HAVE BEEN MADE TO INCLUDE THE FOLLOWING CAPABILITIES
       OR REQUIREMENTS. 
  
       1.  X,Y PROJECTION AND SPHEROID CONSTANTS EITHER CONTAINED IN OR 
           GENERATED BY THE PROGRAMS. 
  
       2.  METHOD OF SELECTION BASED ON A PRE-DEFINED SET OF CODES. 
  
       3.  THE INCORPORATION OF THE MERCATOR PROJECTION.
  
       4.  THE ABILITY TO ACCESS THE COORDINATE TRANSFORMATION ROUTINES 
           FROM ANOTHER PROGRAM.
  
       5.  ALLOW FULL TRANSFORMATION CAPABILITY WITH MINIMUM STORAGE RE-
           QUIREMENTS ON THE APPLICATION PROGRAM. 
  
  SOFTWARE DEFINITIONS: 
       1.  CNVMN - THIS SUBROUTINE WHEN LINKED WITH ANY APPLICATION PRO-
                   GRAM ALLOWS FULL TRANSFORMATION CAPABILITIES.  FROM
                   1 - N POINTS MAY BE TRANSFORMED PER CALL. N IS LIMITED 
                   BY THE SIZE OF THE BACKGROUND COMMON AREA. 
  
       2.  CONV8 - THIS IS A BACKGROUND DISC RESIDENT PROGRAM SCHEDULED 
                   BY CNVMN TO ESTABLISH PROJECTION AND SPHEROID CON- 
                   STANTS BASED ON CODES PASSED TO CNVMN.  THE FOLLOWING
                   SUBROUTINES ARE CALLED BY CONV8 BASED ON THOSE SAME
                   CODES: 
  
                   A) UTMGP - CALCULATES SHPEROID CONSTANTS USED IN 
                      TRANSFORMATION TO AND FROM GEODETIC COORDINATES.
  
                   B) RMINV - GENERAL PURPOSE MATRIX INVERSION ROUTINE
                      USED BY UTMGP.
  
                   C) TMCNT - ESTABLISHES TRANSVERSE MERCATOR PROJECTION
                      CONSTANTS.
                   D) LCNST - ESTABLISHES LAMBERT PROJECTION CONSTANTS. 
  
       3.  CONV9 - THIS IS A BACKGROUND DISC RESIDENT PROGRAM SCHEDULED 
                   BY CNVMN TO PERFORM COORDINATE TRANSFORMATIONS.  THE 
                   FOLLOWING SUBROUTINES ARE CALLED BY CONV9 BASED ON 
                   CODES AND CONSTANTS ESTABLISHED BY CNVMN AND CONV8.
  
                   A) TMGPN - PERFORMS COORDINATE TRANSFORMATIONS TO AND
                      FROM TRANSVERSE MERCATOR. 
  
                   B) LMGPN - PERFORMS COORDINATE TRANSFORMATIONS TO AND
                      FROM LAMBERT STATE PLANE. 
  
                   C) MCGPN - PERFORMS COORDINATE TRANSFORMATIONS TO AND
                      FROM AN ARBITRARY MERCATOR PROJECTION WITH A PRE- 
                      DEFINED RECTIFYING LATITUDE.  THE X,Y'S GENERATED 
                      SHOULD BE USED FOR GRAPHIC REPRESENTATION ONLY AND
                      ARE NOT INTENDED TO CORRESPOND TO ANY KNOWN GEO-
                      GRAPHIC POSITION. 
  
                   D) UTGPN - PERFORMS COORDINATE TRANSFORMATIONS TO AND
                      FROM A UTM ZONE AS WELL AS ALASKA UTM BASED ZONES 
                      2 - 9.
  
       4.  RCONV - MAIN PROGRAM PERFORMING SINGLE POINT COORDINATE TRANS- 
                   FORMATIONS VIA INTERACTIVE KEYBOARD DIALOG.  RCONV IS
                   RESPONSIBLE FOR QUESTIONING THE USER FOR ALL NECESSARY 
                   CONVERSION CONTROL.  RCONV PASSES THESE CONTROLS TO
                   CNVMN IN THE FOLLOWING CALL SEQUENCE:
                   CALL CNVMN (ITYP,IPC,ISP,IDIR,IPTS,XX,YY,LAT,LON,
                   IU,RL) 
                   (SEE SOURCE LISTINGS FOR PARAMETER EXPLANATIONS.)
                   ALL CONVERSION CONTROLS ARE TAKEN FROM THE #CODES
                   LISTING INCLUDED IN THIS DOCUMENTATION.  THE FOLLOWING 
                   SUBROUTINES ARE CALLED BY RCONV BASED UPON USER
                   REQUESTS:
  
                   A) LLXY - PERFORMS ALL LAT., LON. TO XY CONVERSIONS
  
                   B) XYLL - PERFORMS ALL XY TO LAT., LON. CONVERSIONS
  
                   C) DMS  - CONVERTS DECIMAL DEGREES TO DEGREES, MINUTES 
                             AND SECONDS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  RCONV: "INVALID CONVERSION CODES, ABORT NN,NN,NN" 
         (WHERE NN,NN,NN=ITYP,IPC,ISP AS INPUT) 
  
  
 **MISCELLANEOUS: 
  
  1. IN ORDER TO ACCOMPLISH THE DESIRED PURPOSE OF THE TRANSFORMATION 
     ROUTINES, EXECUTION TIME HAS BEEN DEEMED SECONDARY.  HOWEVER, IN-
     CREASED EXECUTION TIME MAY BE ACCOMPLISHED BY TRANSFORMING AS MANY 
     POINTS AS POSSIBLE AT ONE TIME.  THIS ELIMINATES MULTIPLE SCHEDULE 
     CALLS FOR CONV9.  IF SEVERAL LARGE BACKGROUND PARTITIONS ARE AVAIL-
     ABLE, THE USER MAY ALSO DESIRE TO LOCK CONV8 AND CONV9 OR AT LEAST 
     CONV9 TO ELIMINATE SWAP TIME.
  
  2.  SINCE THESE ROUTINES REQUIRE A MINIMUM OF 138 WORDS OF BACKGROUND 
      COMMON FOR A SINGLE POINT CONVERSION, THE CONSIDERATIONS LISTED IN
      #1 ARE DEPENDENT ON THE AVAILABILITY OF COMMON.  SHOULD THE USER
      LACK ADEQUATE COMMON, IT WOULD BE RELATIVELY EASY TO MODIFY THE 
      ROUTINES TO USE SAM AS A COMMUNICATION MEDIA VIA CLASS I/O. 
  
  SIZE REQUIREMENTS:
  
      1.  CNVMN - 344 WORDS + 138 WORDS BACKGROUND COMMON 
     *2.  CONV8 - 8 PAGES + 126 WORDS BACKGROUND COMMON 
     *3.  CONV9 - 7 PAGES + 138 WORDS BACKGROUND COMMON 
  
  *NOTE:  PARTITION SIZE REQUIREMENTS CAN BE REDUCED BY OVERLAYING IN-
          DIVIDUAL SUBROUTINES. 
  
  TECHNICAL REFERENCES: 
  
      1.  COAST AND GEODETIC SURVEY.
          TECHNICAL REPORT 34.  AUGUST 1967 
          "AEROTRIANGULATION: TRANSFORMATION OF SURVEYING AND MAPPING 
          COORDINATE SYSTEMS". MELVIN J. UMBACH 
  
      2.  COAST AND GEODETIC SURVEY.
          SPECIAL PUBLICATION 62-4. 1968
          "STATE PLANE COORDINATES BY AUTOMATIC DATA PROCESSING". 
          CHARLES N. CLAIRE 
  
      3.  DEPARTMENT OF THE ARMY. 
          TECHNICAL MANUAL 5-241-8.  APRIL 1973 
          "UNIVERSAL TRANSVERSE MERCATOR GRID"
  
      4.  GEODESY - BONFORD  OXFORD PRESS 1975. 
B00901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FFTIF 
 **PROGRAM TITLE: 
  E-SERIES MICRODED FAST FOURIER TRANSFORM WITH AUTO. SCALING ON OVERFLOW.
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    MICROCODE       FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
    E-SERIES
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  COMPLEX TRANSFORM SIZE REQUIRES 2*N. REAL REQUIRES N LOCATIONS. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE PERFORMS A MICROCODE ENHANCED FFT (FAST FOURIER 
  THIS SUBROUTINE PERFORMS A MICROCODE ENHANCED FFT (FAST FOURIER 
  
  DATA TO BE TRANSFORMED MUST BE PRESENTED AS A SINGLE INTEGER ARRAY. 
  THE DATA MAY BE COMPLES OR REAL. IF COMPLEX, THE ODD SUBSCRIPTED
  ELEMENTS ARE THE "REALS", AND THE EVEN SUBSCRIPTED ELEMENTS ARE THE 
  "IMAGINARIES". IF REAL, THE "REALS" ARE CONTIGUOS.
  
  A COMPLEX TRANSFORM OF SIZE N REQUIRES 2*N MEMORY LOCATIONS. A REAL 
  TRANSFORM OF SIZE N REQUIRES N MEMORY LOCATIONS.
  USES DVR36 - THE WCS DRIVER.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  MICROASSEMBLE THE TWO MICROPROGRAMS, THEY WILL BE STORED INTO 'FFTC 
  AND 'FFTR, THEN LOAD THESE INTO WCS.
  
  ASSEMBLE THE ASSEMBLY LANGUAGE SUBROUTINE INTO THE RELOCATABLE FILE 
  %FFT1F. 
  
  COMPILE THE FORTRAN PROGRAM INTO THE RELOCATABLE FILE %FFTT. LOAD 
  THE RELOCATABLE FILES TOGETHER, THEN RUN FFTT.
  
       :RU,FFTT,,LIST 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
    1. IEEE TRANSACTIONS ON AUDIO AND ELECTROACOUSTICS, VOL. AU-15, 
       JUNE 1967, PAGES 45-55.
    2. "THE FAST FOURIER TRANSFORM ALGORITHM AND ITS APPLICATIONS," IBM 
       RESEARCH PAPER RC-1743, FEBRUARY 9, 1967, PAGES 30-33. 
  SPECIAL CONSIDERATIONS
  
  DATA MUST BE IN AN INTEGER ARRAY OF LENGTH N WHERE N IS AN INTEGER
  POWER OF TWO. 
B01001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  IMBUI 
 **PROGRAM TITLE: 
  IMBUI-B, SCATTERER INTEGRAL, ONE INTERACTION, DISC. 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    PHYSICS 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  16K SYSTEM
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  SEVERAL FUNCTIONS AND PARAMETERS ARE NEEDED IN FAST NEUTRON TIME-OF-
  FLIGHT SPECTROSCOPY; THEY ARE REFERRED TO AS SCATTERER INTEGRALS. THE 
  FOLLOWING QUANITIES ARE COMPUTED BY IMBUI FOR A DISC SCATTERER: 
    1. THE NEUTRON TIME OF FLIGHT SPECTRUM
    2. THE DISTRIBUTION OF SCATTERING ANGLES
    3. THE DISTRIBUTION OF PRIMARY NEUTRON ENERGIES 
    4. THE SCATTERING PROBABILITY AND 
    5. THE INTEGRAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE IMBUI 
  2. LOAD IMBUI 
  
  
 **RUN INSTRUCTIONS:
  
  1. READY INPUT ON LOGICAL UNIT 5, OUTPUT COMES TO LU 6. 
  2. RUN IMBUI. CONTROL RETURNS TO THE SYSTEM AT THE END OF IMBUI.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DUE TO THE TECHNICAL CONTENT OF THE DOCUMENTATION AND THE USE OF
  SPECIAL SYMBOLS IN THE EQUATIONS, THE PROGRAM DESCRIPTION AND OTHER 
  IMPORTANT IMFORMATION ON HOW TO USE THE PROGRAM IS NOT INCLUDED IN
  THIS DOCUMENTATION.  DOCUMENTATION DOES EXIST ON PAPER. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE: 
  
   L.E. BEGHIAN, B.K. BARNES, G.P. COUCHELL, J.J. EGAN, P. HARIHAR, G.H.
   KEGAL, T. MARCELLA, A. MITTLER, D.J. PULLEN, AND W.A. SCHIER, "NEURTRON
   SCATTERING CROSS SECTIONS OF (238)U", NUCLEAR SCIENCE AND ENGINEERING.,
   69 191 (1979). 
B01101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 7210 PLOTTER DRIVER FOR RTE
  
 **REVISION?  YES 
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          PLOTTER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  1.  THIS PROGRAM IS A DRIVER FOR THE HP 7210 PLOTTER.  THE DRIVER DOES
      NOT REQUIRE DMA AND IS SHORT SO THAT IT MAY BE MADE CORE RESIDENT 
      WITHOUT SIGNIFICANTLY DECREASING THE USER AREA OF AN RTE SYSTEM.
      THE PROGRAM WHICH CALLS THE DRIVER IS RESPONSIBLE FOR GENERATING
      THE PROPER COMMAND WORD SEQUENCE SINCE THE DRIVER DOES NOT CHECK
      THE SEQUENCE FOR LEGALITY.  THE DRIVER RETURNS STATUS AT THE COM- 
      PLETION OF EACH CALL. 
  
  2.  LITERATURE REFERENCE
  
      1.  17210A INTERFACE KIT MANUAL 
      2.  7210A INTERFACE MANUAL
      3.  7210A OPERATORS GUIDE 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  STORE THE TEST PROGRAM SOURCE ON AN RTE FILE.  LIST THE SOURCE AND EDIT 
  IT SO THAT THE LOGICAL UNIT REFERENCE IS CORRECT.  ASSEMBLE AND LOAD
  THE PROGRAM.  SET THE LOWER LEFT AND UPPER RIGHT LIMIT ON THE PLOTTER 
  AND LEAVE PEN AT THE UPPER RIGHT.  RUN THE PROGRAM.  THE PEN SHOULD 
  MOVE TO THE LOWER LEFT (PEN UP) AND SHOULD DRAW A LINE TO THE UPPER 
  RIGHT (PEN DOWN).  THIS PROGRAM CHECKS OUT BOTH ABSOLUTE AND RELATIVE 
  MODE PEN MOVES AND PEN UP/DOWN. 
  
  
 **PROGRAM DESCRIPTION: 
  
  SUBPROGRAM INFORMATION
  
  ENTRY POINT(S)
  
  THE FOLLOWING EXEC CALL SHOULD BE MADE TO USE THE PLOTTER:
  
       FORMAT 
             CALL EXEC (2, IDRT, IBUF, N) 
  
       WHERE
  
             IDRT = PLOTTER LOGICAL UNIT NUMBER 
  
             IBUF = INTEGER ARRAY OF COMMAND WORDS
  
             N    = NUMBER OF COMMAND WORDS IN IBUF 
  
  THE COMMAND WORDS IN IBUF ARE SENT DIRECTLY TO THE PLOTTER.  FOUR 
  WORDS ARE REQUIRED TO MOVE THE PEN AND ONE WORD IS REQUIRED FOR A 
  PEN UP/DOWN.  SEE THE 17210A INTERFACE KIT MANUAL FOR ACTUAL BIT
  CONFIGURATION OF THE COMMAND WORDS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  1.  THE DRIVER RETURNS THE LOWER 8 BITS FROM THE INPUT REGISTER OF THE
      PLOTTER INTERFACE CARD IN THE A REGISTER AND THE NUMBER OF COMMAND
      POINTS OUTPUT IN THE B REGISTER UPON COMPLETION OF THE REQUEST. 
  
  2.  ONLY A WRITE CALL WILL BE ACCEPTED BY THE DRIVER. 
B01201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 7210 PLOTTING ROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    PLOTTER         CALCOMP         GRAPHIC 
  
  
 **LANGUAGES: 
    FTN2        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     RTE 
  
 **MEMORY REQUIREMENTS: 
  4222 LOCATIONS WITH EXTERNAL SUBPROGRAMS (2681 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE PROGRAMS WHEN USED WITH THE DOS-M, OR RTE 7210 PLOTTER
  DRIVER, (HP 22471 AND HP 22473 RESPECTIVELY), GREATLY SIMPLIFY
  THE PROGRAMMING REQUIRED TO DO THE FOLLOWING: 
  
       1. PLOT LINES OR POINTS
  
       2. SCALE AND PLOT DATA 
  
       3. AXIS GENERATION 
  
       4. PLOT CHARACTERS AND NUMBERS 
  
  LITERATURE REFERENCE
  
  1. HP RELOCATABLE SUBROUTINES MANUAL (HP 02116-91780) 
  
  2. HP 7210 OPERATOR'S GUIDE 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  THE SUBPROGRAMS CAN EITHER BE LOADED AS TYPE 7 RELOCATABLE
  LIBRARY MODULES AT GENERATION TIME, OR, THEY CAN BE STORED AS 
  RELOCATABLE MODULES AND LINKED WITH THE MAIN PROGRAM AT LOAD
  TIME. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  LOAD THE TEST PROGRAM INTO A SOURCE FILE. EDIT THE SOURCE SO
  THAT THE CALL PLTLU (-) REFERS TO THE LOGICAL UNIT OF THE 
  PLOTTER. COMPILE AND LOAD THE PROGRAM. PLACE A PIECE OF 15X10 
  INCH PLOTTER PAPER ON THE PLOTTER AND SET UP THE PLOT LIMITS. 
  RUN THE PROGRAM. THE RESULTS SHOULD BE A GRAPH OF A SINE WAVE 
  WITH AXES LABELED "PSI" AND "POWER".
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  CALLS TO THE ROUTINES PLOT,LINE,SCALE,AXIS,NUMB, AND SYMB DO
  NOT REQUIRE LARGER THAN THE 10 WORD INTERNAL BUFFER (IN THE 
  PLOT ROUTINE) SINCE THEY CALL THE PLOTTER DRIVER FOR EACH PEN 
  MOVEMENT. 
B01301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR47 
 **PROGRAM TITLE: 
  RTE 1331C STORAGE SCOPE DRIVER - DVR47
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          GRAPHIC         SCOPE 
    DISPLAY 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  55 WITHOUT EXTERNAL SUBPROGRAMS 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS RTE DRIVER ALLOWS POINTS TO BE OUTPUT AND ERASED ON THE HP 1331C 
  STORAGE SCOPE.  THE DRIVER DOES NOT WORK UNDER INTERRUPT, THEREFORE,
  THE NUMBER OF POINTS OUTPUT SHOULD BE KEPT SMALL IN ORDER NOT TO BLOCK
  HIGHER PRIORITY DEVICES.  THE CONTRIBUTED PACKAGE HP 22506 IS A SET OF
  SUBROUTINES DESIGNED TO WORK WITH THIS DRIVER.  THE ONLY EQUIPMENT RE-
  QUIRED BESIDES THE SCOPE IS THE HP 12555A/B INTERFACE.
  
  SEE "RTE HP 1331C STORAGE SCOPE LIBRARY", HP 22506, A CONTRIBUTED SET 
  OF SUBROUTINES WHICH USE THIS DRIVER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE THE DRIVER. 
  2. GENERATE A RTE SYSTEM, AND LOAD THE DRIVER TOGETHER WITH THE OTHER 
     DRIVERS. 
  3. THE EQUIPMENT TABLE ENTRY IS:
             SC,DVR47 
     WHERE: SC = SELECT CODE OF DUAL D/A INTERFACE. 
     THE DRIVER DOES NOT USE DMA, AND BUFFERING OR TIME-OUT HAS NO
     SENSE, SINCE IT DOES NOT WORK UNDER INTERRUPT. 
  4. GIVE THE DESIRED LOGICAL UNIT NUMBER.
  5. DO NOT MENTION THE DRIVER IN THE INTERRUPT TABLE (DOES NOT WORK
     UNDER INTERRUPT).
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1. WRITE
     CALLING SEQUENCE:  JSB  EXEC 
                        DEF  *+5
                        DEF  IRC
                        DEF  IFUN 
                        DEF  BUF
                        DEF  LEN
  
     WHERE: 
             IRC DEC 2    NORMAL WRITE REQUEST
             IFUN OCT XX  LOGICAL UNIT NUMBER 
             BUF BSS N    CONTAINS THE POINTS TO OUTPUT: THE Y-COORDINATE 
                          IN THE UPPER 8 BITS, THE X-COORDINATE IN THE
                          LOWER 8 BITS. 
             LEN DEC N    NUMBER OF POINTS TO OUTPUT (POSITIVE N INDICATES
                          WORDS, NEGATIVE N INDICATES CHARACTERS) 
  
     THE OUTPUT IS NOT DONE UNDER INTERRUPT.  IN ORDER NOT TO TIE-UP THE
     SYSTEM, KEEP THE NUMBER OF POINTS SMALL. 
  
  2. ERASE
     CALLING SEQUENCE:  JSB  EXEC 
                        DEF  *+3
                        DEF  IRC
                        DEF  IFUN 
  
     WHERE: 
             IRC DEC 3      NORMAL CONTROL REQUEST
             IFUN OCT 20XX  WHERE XX IS THE LOGICAL UNIT NUMBER (20 IS
                            THE SUB-FUNCTION) 
  
     THE DRIVER DOES THE ERASE, AND RETURNS IMMEDIATELY TO THE USER.
     THE CALLING PROGRAM MUST TAKE CARE NOT TO USE THE DRIVER DURING
     1 SECOND.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE DRIVER DOES NOT WORK UNDER INTERRUPT: 
     - KEEP THE BUFFER LENGTH SMALL 
     - THE DRIVER STARTS THE ERASE, AND RETURNS IMMEDIATELY: THE CALLING
       PROGRAM HAS TO SUSPEND ITSELF DURING 1 SECOND. 
B01401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE 1331C STORAGE SCOPE LIBRARYRTE 1331C STORAGE SCOPE LIBRARY
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    DISPLAY         SCOPE           GRAPHIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  759 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE CONSISTS OF FIVE FORTRAN CALLABLE SUBROUTINES
  DESIGNED TO USE AN HP 1331C STORAGE SCOPE DISPLAY IN AN RTE 
  ENVIROMENT. THE SUBROUTINES PERMIT THE USER TO OUTPUT POINTS, 
  LINES, AND CHARACTERS ON THE DISPLAY, AND ALSO TO DO AN ERASE 
  WITH AUTOMATIC SUSPENSION OF THE PROGRAM. THE PACKAGE REQUIRES
  THE HP 12555A DUAL D/A INTERFACE AND THE CONTRIBUTED RTE HP 
  1331C SCOPE DRIVER, HP 22505. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY AND LOAD PROCEDURES
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE HP 1331C DRIVER DOES NOT WORK UNDER INTERRUPT. IT WILL START
  AN ERASE AND RETURN IMMEDIATELY; THEREFORE, IT IS NECESSARY FOR 
  THE CALLING PROGRAM TO SUSPEND ITSELF FOR 1 SECOND. 
B01501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  TEKTRONIX T4002 PLOTTER LIBRARY FOR RTE 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    PLOTTER         TEKTRONIX       SCOPE 
    GRAPHIC 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE ALLOWS BASIC PLOT FUNCTIONS TO BE PERFORMED ON THE 
  TEKTRONIX T4002 GRAPHIC COMPUTER TERMINAL IN AN RTE ENVIROMENT. 
  IT IS A MODIFIED AND EXTENDED VERSION OF A PACKAGE DEVELOPED BY 
  TEKTRONIX,INC. FOR THE HP BCS OPERATING SYSTEM. 
  
  THE FUNCTIONS PROVIDED BY THIS RTE PLOTTER LIBRARY ALLOWS THE 
  USER TO PLOT POINTS, LINES, AND CHARACTERS; OUTPUT IN ITALICS,
  DOUBLE SIZED, OR DOUBLE INTENSIFIED; AND USE THE GRAPHIC CURSOR.
  MEMORY REQUIREMENTS FOR THE LIBRARY ARE 334 OCTAL WORDS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE FILE 
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  AS A DEFAULT OPTION, THIS PACKAGE AUTOMATICALLY SETS THE
  LOGICAL UNIT NUMBER FOR THE TEKTRONIX TERMINAL EQUAL TO 16
  (DECIMAL). THE USER MAY CHANGE THIS NUMBER BY USING THE TPTLU 
  CALL. 
  
  COORDINATES OF THE SCREEN:
     X (HORIZONTAL) 0-1023 INCLUSIVE
     Y (VERTICLE)   0-760  INCLUSIVE
     SCREEN SIZE:   8.25 INCH X 6.5 INCH
     ORIGIN (0,0):  LOWER LEFT CORNER 
  
  CHARACTER SPECIFICATIONS: 
     SIZE:          7 X 9 COORDINATES (NORMAL SIZE) 
                   14 X 18 COORDINATES (DOUBLE SIZE)
     SPACE:        12 HORIZONTAL COORDINATES
     LINE FEED:    16 VERTICAL COORDINATES
     # OF NORMAL SIZE CHARACTERS PER LINE: 85 
  
     CURSOR: THE ELECTRONIC BEAM THAT WRITES ON THE SCREEN
     COMPARABLE TO THE PEN OF A CALCOMP PLOTTER.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
B01601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE CALCOMP/TEKTRONIX PLOT LIBRARY
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    PLOTTER         GRAPHIC         DISPLAY 
    TEKTRONIX       SCOPE 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SET OF SUBROUTINES, USED IN AN RTE ENVIROMENT, GENERATES 
  PLOT CODES AND SYMBOLS FOR THE CALCOMP 565 PLOTTER OR THE 
  TEKTRONIX T4002 GRAPHIC COMPUTER TERMINAL. AT PROGRAMMING AND/OR
  EXECUTION TIME THE USER IS ABLE TO DETERTMINE TO WHICH DEVICE 
  THE GRAPH IS TO BE SENT. THIS MAKES IT POSSIBLE TO REPRODUCE A
  PLOT, MADE ORIGINALLY ON THE TEKTRONIX SCREEN, ON THE CALCOMP 
  PLOTTER OR VICE VERSA.
  
  THIS PACKAGE IS REVISED AND EXTENDED VERSION OF THE STANDARD
  CALCOMP PLOTTER LIBRARY, HP 20810. ONLY THE SUBROUTINES PLOT
  AND SYMB HAVE BEEN CHANGED AND ARE INCLUDED IN THE SOURCE TAPES 
  PROVIDED. THE SUBROUTINES SCALE, AXIS, AND LINE HAVE NOT BEEN 
  MODIFIED AND MUST BE OBTAINED FROM THE STANDARD LIBRARY HP- 
  20810. BESIDES THE PLOTTERS, THE ONLY NECESSARY EQUIPMENT IS A
  MINIMUM RTE SYSTEM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  THIS PACKAGE CONSISTS OF 6 UTILITY SUBROUTINES DESCRIBED IN THE 
  ATTACHED PAGES. THE USER MAY CALL ONE OR MORE OF THESE IN HIS 
  MAIN PROGRAM. THE FIRST CALL, HOWEVER, MUST BE A PLTLU CALL TO
  SET THE LOGICAL UNIT # OF THE DESIRED PLOTTING DEVICE.
  
  THERE ARE TWO PLOT MODES: 
  
    --CALCOMP MODE
    --TEKTRONIX MODE
  
  DURING EXECUTION TIME THIS MODE IS DETERMINED BY THE PLTLU
  ROUTINE FROM THE EQUIPMENT TABLE NUMBER ASSIGNED TO THE GIVEN 
  LU NUMBER.
  
  IN ORDER TO REPRODUCE A PLOT MADE ON THE TEKTRONIX SCREEN ON THE
  CALCOMP PLOTTER OR VICE VERSA, THE USER NEEDS TO CHANGE THE 
  DEVICE REFERENCE TABLE OF THE RTE USING AN OPERATOR LU REQUEST
  AND TO RUN THE PROGRAM AGAIN. THE SAME EFFECT MAY BE OBTAINED 
  BY RESETTING THE LOGICAL UNIT # OF THE DESIRED PLOTTING DEVICE
  WITHIN THE PROGRAM. 
  
  COORDINATES:
  
     CALCOMP MODEL 565
     Y: 0 - 11 INCHES 
     X: UNLIMITED 
     TEKTRONIX GCT  : ASSUMING SCALING FACTORS = 1
  
  ORIGIN: 
     Y   :  0 -  7.60 INCLUSIVE 
     X   :  0 - 10.23 INCLUSIVE 
  MAXIMUM ACCURACY : .01 INCH (CALCOMP) OR .01 (TEKTRONIX)
  
  ORIGIN: 
     CALCOMP:  TO BE SET THE USER. (SEE PLOT CALL)
  TEKTRONIX - LOWER LEFT CORNER IS (0,0) UNLESS CHANGED BY THE
  USER
  
  CURSOR: 
     THE ELECTRONIC BEAM THAT WRITES INFORMATION ON THE SCREEN OF 
  THE TEKTRONIX TERMINAL, COMPARABLE TO THE PEN OF THE CALCOMP
  PLOTTER.
  
  UNIT: 
      CALCOMP MODE  : 1 INCH
      TEKTRONIX MODE : 1 COORDINATE 
      HOWEVER, IF THE FACT-ROUTINE IS USED TO CHANGE THE SCALING
      FACTORS, THEN THIS MUST BE TAKEN INTO ACCOUNT.
  
      EXAMPLE: 1 "UNIT" AFTER THE CALL
               CALL FACT (0.5,20) IS: 
               CALCOMP MODE:
               X-DIRECTION:  0.5 INCH 
               Y-DIRECTION:  2.0 INCH 
               TEKTRONIX MODE:
               X-DIRECTION:  0.5 COORDINATES
               Y-DIRECTION:  2.0 COORDINATES
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
B01701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  UPPER/LOWER CASE CHARACTER GENERATOR FOR HP 7210 PLOTTER. 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    PLOTTER         CHARACTER       TEXT
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS       RTE 
  
 **MEMORY REQUIREMENTS: 
  1209 WITH EXTERNAL SUBPROGRAMS (304 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE OF ROUTINES PROVIDES THE CAPABILITY TO PLOT
  CHARACTERS IN UPPER OR LOWER CASE, AND FLOATING POINT NUMBERS IN
  F FORMAT ON THE HP 7210 PLOTTER. THE ROUTINE ZPLOT GENERATES
  SINGLE CAPITAL AND SMALL CHARACTERS AND HANDLES THE TRANS-
  FORMATION OF FLOATING POINT NUMBERS. IT CAN BE USED ALONE OR
  IN CONJUNCTION WITH THE ROUTINE TPLOT.
  
  TPLOT TRANSLATES THE TEXT CONTAINED IN A FORMAT STATEMENT OR IN 
  THE DIMENSION OR COMMON AREA OF A PROGRAM TO A FORM USABLE BY 
  ZPLOT, AND THEN CALLS ZPLOT TO GENERATE THE CHARACTERS. THE 
  TEXT CAN BE IN UPPER OR LOWER CASE WITH LEFT ARROWS AND UP
  ARROWS SIGNIFYING WHICH CHARACTERS ARE TO BE PLOTTED AS SMALL 
  LETTERS AND CAPITALS RESPECTIVELY. TPLOT WAS WRITTEN TO BYPASS
  THE FORMATTER AND THEREBY SAVE A LARGE AREA OF CORE.
  
  ALSO INCLUDED IN THIS PACKAGE ARE THREE ROUTINES WHICH LINK 
  ZPLOT TO THE CORRESPONDING STANDARD PLOTTER DRIVER OF THE 
  OPERATING SYSTEM BEING USED. THE SYSTEMS ALLOWED ARE BCS,MTS, 
  DOS,DOS-M,RTE, AND RTE-C WITH A MINIMUM OF 4K CORE REQUIRED 
  FOR BCS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY PROCEDURES.
  
  LOAD ZPLOT WITH THE APPROPRIATE LINK ROUTINE. 
       BCSPL   FOR A BCS OR MTS ENVIROMENT
       DOSPL   FOR A DOS OR DOS-M ENVIROMENT
       RTEPL   FOR AN RTE OR RTE-C ENVIROMENT 
  TPLOT MUST BE LOADED WITH ZPLOT PLUS THE APPROPRIATE LINK 
  ROUTINE.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
B01801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DRAFT 
 **PROGRAM TITLE: 
  CERTIFICATE DRAFTING PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    PLOTTER         DISPLAY         GRAPHIC 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M     DOS-III 
  
 **MEMORY REQUIREMENTS: 
  COMPILATION - 24K MINIMUN, EXECUTION - 24K MINIMUM
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  OPERATING IN A DOS-M, DOS-III, OR RTE ENVIRONMENT WITH AN HP7210
  PLOTTER, THIS PROGRAM ALLOWS THE USER TO DESIGN AND PLOT COURSE 
  GRADUATION CERTIFICATES, SIGNS, POSTERS, AND PROPOSALS.  THE PROGRAM IS 
  COMPLETELY OPERATOR ORIENTED, REQUIRING NO PRIOR KNOWLEDGE OF PROGRAM-
  MING.  A TOTAL OF 30 CONVERSATIONAL COMMANDS ARE AVAILABLE.  THE
  PROGRAM CAN BE USED TO DRAW STRAIGHT LINES AS WELL AS TO PRINT CHARAC-
  TERS AT ANY ANGLE AND OFFSET.  OTHER CAPABILITIES INCLUDE: AUTOMATIC
  HEADER CENTERING; FLOWCHART SYMBOL PLOTTING; VARIABLE CHARACTER HEIGHT; 
  CHARACTER STRING PLOTTING; CHARACTER SHADING, TRACING, ANGLING, AND 
  ROTATING; ALL COORDINATES ARE EXPRESSED IN INCHES OR METRIC UNITS;
  CONSOLE SESSION ACCOUNT; CMND BATCHING; UNLIMITED DESIGN APPLICATIONS 
  DYNAMIC LOGICAL UNIT ASSIGNMENT; PLOTTER VARIABLE FORMS.  ADDITIONAL
  REQUIRED SOFTWARE IS THE PLOTTER LIBRARY (20810B).  THE DOS PLOTTER 
  DRIVE DVR 10 (20581A) OR RTE PLOTTER DRIVER DVR 10 (20581A) OR RTE
  PLOTTER DRIVER DVR 10 (72009A). 
  
  FOR COMPILATION AND EXECUTION 24K WORDS ARE REQUIRED. TWO DMA CHANNELS
  MUST BE AVAILABLE AND THE HP2767 LINE PRINTER IS RECOMMENDED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PRIMARY FUNCTION OF THIS PROGRAM IS TO PRINT THREE MESSAGES OF ANY
  SIZE ON A STANDARD HP CERTIFICATE FORM USING THE HP 7210A PLOTTER.  THE 
  PROGRAM IS SPECIFICALLY DESIGNED AROUND A 9 X 7 INCH FORM, ALTHOUGH 
  THIS AND OTHER  FEATURES CAN BE TEMPORARILY OR PERMANENTLY DYNAMICALLY
  ALTERED WITH PROGRAM COMMANDS DURING RUN TIME.  THERE ARE A TOTAL OF 30 
  FUNCTIONAL OPERATOR COMMANDS AVAILABLE FOR RIGID AND FLEXIBLE PLOTTING
  CONTROL.  AS EACH COMMAND IS ENTERED, IT AND ASSOCIATED VALUES (IF ANY) 
  ARE PRINTED ON THE LIST OUTPUT DEVICE WHICH CAN ALSO BE CHANGED AT ANY
  POINT DURING RUN TIME.  UNDER NORMAL CIRCUMSTANCES, THE PROGRAM IS COM- 
  PLETELY SELF-CONTAINED WITH LITTLE OR NO SYSTEM RELATED ACTIVITIES. 
  
  THE ORIGINAL VERSION WAS DESIGNED AND WRITTEN BY LARRY W. SMITH, DATA 
  SYSTEMS, CUPERTINO FOR THE SOLE PURPOSE OF FINDING A FLEXIBLE MEANS TO
  DESIGN COURSE GRADUATION CERTIFICATES INTERNALLY, THUS ELIMINATING ALL
  OUTSIDE COSTS.  THE PROGRAM IS COMPLETELY OPERATOR ORIENTED, REQUIRING
  NO PRIOR KNOWLEDGE OF PROGRAMMING OR SYSTEM RELATED ACTIVITIES.  WITH 
  THE SIMPLE PROGRAM STRUCTURE, THE USER IS GIVEN AN EASY MEANS OF CON- 
  VERSATIONALLY DESIGNING FORMS WITH THE 7210 PLOTTER.
  
  FEATURES: 
             SIMPLE OPERATOR COMMANDS 
             AUTOMATIC HEADER CENTERING 
             FLOWCHART SYMBOL PLOTTING
             VARIABLE CHARACTER HEIGHT
             CHARACTER STRING PLOTTING
             CHARACTER SHADING
             CHARACTER TRACING
             CHARACTER ANGLING
             CHARACTER ROTATING 
             ALL COORDINATES ARE EXPRESSED IN INCHES
             CONSOLE SESSION ACCOUNTING 
             LIST OUTPUT ACCOUNTING 
             COMMAND BATCHING 
             UNLIMITED DESIGN APPLICATIONS
             DYNAMIC LOGICAL UNIT ASSIGNMENT
             PLOTTER VARIABLE FORMS 
  
  DUE TO THE LOGICAL AND SIMPLISTIC STRUCTURE OF THE PROG, THE USER CAN 
  SIT AT A CONSOLE AND CONVERSATIONALLY DESIGN WHAT HE/SHE WISHES ON THE
  PLOTTER.  SINCE ALL CMNDS THAT EITHER INSTRUCT THE PLOTTER TO PERFORM 
  AN ACTION OR SIMPLY DETERMINE THE STATUS OF SOMETHING ARE ALL 2 LETTER, 
  THE USER IS NOT BURDENED WITH LEARNING THE O.S. (DOS OR RTE)
  UNDER WHICH IT RUNS, NOT A COMPLICATED INSTRUCTION SET.  FURTHERMORE, 
  ONCE THE USER IS UNDER CONTROL OF THE PROGRAM, THE FORMAT AND USE OF
  ALL COMMANDS ARE LOGICAL AND STRAIGHTFORWARD AS TO THEIR INDIVIDUAL 
  FUNCTION AND RELATIONSHIP FOR OTHER COMMANDS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  OPERATING ENVIRONMENT 
  
  LANGUAGE:  FORTRAN IV 
  OPERATING SYSTEM:  DOS-M, DOS-III, OR RTE 
  LOGICAL UNIT ASSIGNMENTS:  COMPLETELY PROGRAM INDEPENDENT 
  ADDITIONAL SOFTWARE:  PLOTTER LIBRARY (20810B), 
                        DOS PLOTTER DRIVER DVR10 (20581A) OR
                        RTE PLOTTER DRIVER DVR10 (72009A).
  
  NOTE:THE AUTHOR HAS MODIFIED THE PLOTTER LIB. (20810B) TO INCREASE
       PLOT SPEED.  IT IS RECOMMENDED THAT THE MODIFIED VERSION BE
       USED FOR PLOTTING CLARITY. 
  
  HARDWARE REQUIREMENTS 
  
  CPU:  2100 OR 2116
        PERIPHERAL DEVICES:      REQUIRED                RECOMMENDED
  
                           1. 7210A PLOTTER      1. LINE PRINTER (2767) 
  
                           2. 2600A CRT OR       2. MOVING HEAD - 7900A 
                              2752 TTY
  
                           3. DISC (FIXED        3. 2600A CRT 
                              HEAD OR MH) 
  
        DMA:  2 CHANNELS
  
        MEMORY:  COMPILATION - 24K MINIMUM
                 EXECUTION   - 24K MINIMUM
  
        FLOATING POINT HARDWARE IS RECOMMENDED TO INCREASE PLOT SPEED.
  
  PROGRAM OPERATING INSTRUCTIONS
  
  THE DRAFTING PROG MUST BE COMPILED UNDER FORTRAN IV AND STORED ON A 
  DISC FILE CALLED "DRAFT" IN ABSOLUTE FORM READY FOR EXECUTION.  THIS
  WAY, THE USER CAN INSERT HIS/HER DISC PACK CONTAINING THE PROG AND
  RETRIEVE IT EASILY UNDER THE APPROPRIATE OPERATING SYSTEM.
B01901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  JGL 
 **PROGRAM TITLE: 
  JIM'S GRAPHICS LIBRARY
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    GRAPHIC         LIBRARY         INTERFACE 
    TERMINAL
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
    JGL IS A LIBRARY OF FORTRAN ROUTINES WHICH PROVIDE A SIMPLE 
  INTERFACE TO THE GRAPHICS CAPABILITIES OF THE 2648 TERMINAL.
  THE USER MUST HAVE A 2648 HP GRAPHICS TERMINAL TO USE JGL.
  
  
 **FILES IDENTIFICATION:
    (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE 
      DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED.
      E.G.: A00101, A00102, A00103, ETC.) 
  
  FILE#  1: SUBMITT FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  PLEASE SEE EXAMPLE SOURCE PROGRAM FILE &JGL2. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE EXAMPLE PROGRAM &JGL3.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  USER MUST HAVE A 2648 HP GRAPHICS TERMINAL TO USE JGL PACKAGE.
B02001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PENNY 
 **PROGRAM TITLE: 
  COMPUTER AIDED SCHEMATIC DRAWING PROGRAM WITH DATA BASE.
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  2
  
 **KEYWORDS:
    GRAPHIC         DISPLAY         DATA BASE 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    E-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  101 PAGE MOTHER PARTITION 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PENNY IS A COMPUTER AIDED SCHEMATIC DRAWING PROGRAM THAT CAN INCREASE 
  THE PRODUCTIVITY OF ENGINEERING OR DESIGN PERSONNEL. PENNY CAPABILITIES 
  ALLOW USERS TO INTERACTIVELY CREATE DRAWINGS. A POWERFUL HIERARCHICAL 
  DATA BASE STRUCTURE ALLOWS THE DESIGNER TO USE PREDEFINED STANDARDIZED
  FIGURES; ELIMINATING DRAFTING AND DESIGN ERRORS. WITH SUITABLE PLOTTERS,
  THE HARDCOPY OUTPUT IS OF GOOD DRAFTING QUALITY ELIMINATING THE NEED TO 
  RE-DRAFT DESIGNER SKETCHES. 
  THE PENNY PROGRAM WAS ORIGINALLY WRITTEN TO HELP WITH DIGITAL SCHEMATIC 
  DESIGN. HOWEVER, IT IS BASICALLY A LINE DRAWING PROGRAM AND THUS HAS
  BEEN USED FOR OTHER APPLICATIONS, SUCH AS FLOOR LAYOUTS, PIPING DIAGRAMS
  AND OTHERS. 
  PENNY USES IMAGE/1000,PROD#92069A,REV.1912; GRAPHICS/1000,PROD# 
  92840A, REV.1901; AND OPERATES UNDER RTE-IVB. IT REQUIRES A GRAPHICS
  TERMINAL, EITHER A 2647A OR 2648A. PENNY CAN OUTPUT HARD COPY TO THE
  7221A OR 9872A FOUR COLOR PLOTTERS BUT,THEY ARE NOT NECESSARY FOR THE 
  OPERATION OF PENNY. HIGH SPEED MEMORY AND A 7905/6/20 DISK ARE RECOM- 
  MENDED TO GET GOOD REAL TIME RESPONSE. A 101 PAGE MOTHER PARTITION IS 
  ALSO REQUIRED TO OPERATE PENNY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: LOAD   - PENNY LOAD TRANSFER FILE:TR,LOAD,LISTLU# 
  FILE#  3: DLOD   - LOADR COMMAND FILE 
  FILE#  4: CREATE - DATA BASE CREATE TRANSFER FILE 
  FILE#  5: SAVEIT - TRANSFER FILE TO "SP" PENNY AND SEGMENTS 
  FILE#  6: OFPEN  - TRANSFER FILE TO OF,PENNY AND SEGMENTS 
  FILE#  7: PURGIT - TRANSFER FILE TO PURGE PENNY AND SEGMENTS
  FILE#  8: &PMAIN - PENNY MAIN PROGRAM SOURCE
  FILE#  9: &PENY0 - PENNY SEGMENT 0 SOURCE 
  FILE# 10: &PENY1 - PENNY SEGMENT 1 SOURCE 
  FILE# 11: &PENY2 - PENNY SEGMENT 2 SOURCE 
  FILE# 12: &PENY3 - PENNY SEGMENT 3 SOURCE 
  FILE# 13: &PENY4 - PENNY SEGMENT 4 SOURCE 
  FILE# 14: &PENY5 - PENNY SEGMENT 5 SOURCE 
  FILE# 15: &PSUBS - PENNY SUBROUTINES SOURCE 
  FILE# 16: &DELAY - PENNY SUBROUTINE ASMB SOURCE 
  FILE# 17: &DLTBL - GRAPHICS DEVICE LINK TABLE ASMB SOURCE 
  FILE# 18: &PENPL - IMAGE DATA BASE SCHEMA SOURCE
  FILE# 19: !REPOR - QUERY REPORT FILE FOR DETAIL RECORDS 
  FILE# 20: !LINES - QUERY REPORT FILE FOR DETAIL RECORDS 
  FILE# 21: !DRWGS - QUERY REPORT FILE FOR MASTER RECORDS 
  FILE# 22: MANUAL - PENNY PROGRAMMING AND REFERENCE MANUAL 
  FILE# 23: %PMAIN - PENNY MAIN PROGRAM BIN RELOC 
  FILE# 24: %PENY1 - PENNY SEGMENT 1 BIN RELOC
  FILE# 25: %PENY2 - PENNY SEGMENT 2 BIN RELOC
  FILE# 26: %PENY3 - PENNY SEGMENT 3 BIN RELOC
  FILE# 27: %PENY4 - PENNY SEGMENT 4 BIN RELOC
  FILE# 28: %PENY5 - PENNY SEGMENT 5 BIN RELOC
  FILE# 29: %PSUBS - PENNY SUBROUTINES BIN RELOC
  FILE# 30: %DELAY - PENNY SUBROUTINE BIN RELOC 
  FILE# 31: %ZAP   - PENNY SUBROUTINE BIN RELOC 
  FILE# 32: %DLTBL - GRAPHICS DEVICE LINK TABLE BIN RELOC 
  FILE# 33: %LDSEG - PENNY SUBROUTINE BIN RELOC 
  FILE# 34: %OLY.E - PENNY SUBROUTINE BIN RELOC 
  FILE# 35: %PADCR - DRAWING TABLET DRIVER FOR 2648A
  FILE# 36: CPENNY - TRANSFER FILE TO COMPILE PENNY ROUTINES
  FILE# 37: DTBASE - PRE-PREPARED DATA BASE: PENNY"AN"FORMAT
  FILE# 38: %PENY0 - PENY SEGMENT 
  
  
 **LOAD INSTRUCTIONS: 
  
  TR,LOAD,P1
     P1 = LIST LU#
  
  
 **RUN INSTRUCTIONS:
  
  RU,PENNY,P1,P2
     P1 = INTERACTIVE INPUT LU#, DEFAULT = SCHEDULING TERMINAL
     P2 = HARD COPY PLOTTER LU#, DEFAULT = NO HARD COPY ALLOWED 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE MANUAL
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE MANUAL
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE MANUAL
  
  
 **MISCELLANEOUS: 
  
  TO CREATE PENNY DATA BASE:
    TR,CREATE,P1
       P1 = LIST LU#
   [CREATES DATA BASE WITH NAME: PENJM:7500:PW] 
  
  COMPILE ALL PENNY SOURCES:
    TR,CPENNY,P1
        P1 = LIST LU# 
  PRINT THE PENNY MANUAL: 
    DU,MANUAL,P1
        P1 = LINE PRINTER LU# 
  
  PRINT THE PENNY MANUAL WITH THE SPOOL SYSTEM: 
    SL,P1,MANUAL,,P1
    CS,P1 
         P1 = LINE PRINTER LU#
B02101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  HP45
 **PROGRAM TITLE: 
  HP CALCULATOR SIMULATOR W/ OCTAL FUNCTIONS FOR 2645+ TERMINAL 
  
 **REVISION?  NO
  
 **PACKAGE:  2    **CATEGORY:  1
  
 **KEYWORDS:
    CALCULATOR      FLOATING POINT  TERMINAL
    DISPLAY 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  HP45 SETS UP A 2645 (OR GREATER) TERMINAL TO SIMULATE AN HP POCKET CAL- 
  CULATOR WITH RPN LOGIC.  THE CALCULATOR HAS A 4 LEVEL STACK AND 10
  ADDRESSABLE MEMORIES.  IT HAS ABOUT 20 SCIENTIFIC FUNCTIONS INCLUDING 
  THE STANDARD STACK AND MEMORY FUNCTIONS.  THE PROGRAM ALSO INCLUDES A 
  'BINARY CALCULATOR' MODE WHICH PERFORMS OPERATIONS ON OCTAL NUMBERS.
  NUMBERS READ IN IN THIS MODE ARE INTERPRETED AS OCTAL WITHOUT THE USUAL 
  '@' CHARACTER PRECEEDING THE NUMBER.  ONE FUNCTION IN THIS MODE IS TO 
  DISPLAY THE INTEGER, OCTAL, & ASCII EQUIVALENTS OF THE NUMBER INPUT.
  THE PROGRAM TURNS ON & OFF 'DISPLAY FUNCTIONS' AROUND THE ASCII EQUI- 
  VALENT TO ALLOW OUTPUTTING OF SPECIAL CHARACTERS. 
  
  THE PROGRAM SETS UP THE TERMINAL IN FORMAT MODE AND PERFORMS BLOCK
  READS.  THIS MEANS THAT THE 'ENTER' BUTTON ON THE TERMINAL MUST BE USED 
  INSTEAD OF THE CARRIAGE RETURN TO INPUT TO THE COMPUTER.
  
  HP45 USES EXEC AND REIO CALLS TO THE SYSTEM, AND REQUIRES AT LEAST AN 
  HP 2645 TERMINAL. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &HP45  - MAIN SOURCE W/ BINC & DISP SUBROUTINES 
  FILE#  3: &SET
  FILE#  4: &BLKRD
  FILE#  5: &RESET
  FILE#  6: *HP45  - LOADR COMMAND FILE 
  
  
 **LOAD INSTRUCTIONS: 
  
  NOTHING UNUSUAL.  COMPILE &HP45 & THE 3 TERMINAL ROUTINES (&SET, &BLKRD,
  &RESET) AND RUN THE LOADER USING *HP45. 
  
  
 **RUN INSTRUCTIONS:
  
  THE PROGRAM IS COMPLETELY INTERACTIVE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  NUMBERS ARE PASSED BACK AND FORTH BETWEEN THE REGULAR CALCULATOR AND
  THE BINARY CALCULATOR VIA MEMORY NUMBER ZERO. 
  THE CALCULATOR RUNS VERY MUCH LIKE A TYPICAL HP CALCULATOR.  INPUTTING
  A NUMBER CAUSES IT TO BE PUSHED UP INTO THE STACK, OPERATIONS ARE PER-
  FORMED ON THE X & Y REGISTERS IN THE STACK, THE TOP OF THE STACK DUPLI- 
  CATES AS IT DROPS DOWN, ETC.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
C00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CONVC 
 **PROGRAM TITLE: 
  4221 BCD TO FLOATING POINT CONVERSION ROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    CONVERSION      BCD             FLOATING POINT
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  534 WITH EXTERNAL SUBPROGRAMS (84 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE TWO ROUTINES CONVERT 4-2-2-1 BCD DATA TO BINARY.  THE DATA IS 
  READ BY THE SUPPORTED DRIVER, DVR40 FROM A DSI CARD CONNECTED TO A
  FIVE-DIGIT COUNTER.  INPUT IS FIVE DIGITS, TWENTY BITS, STORED IN TWO 
  WORDS; OUTPUT IS A TWO-WORD FLOATING POINT NUMBER.  THE RANGE AND 
  FUNCTION RETURNED BY SOME INSTRUMENTS ARE IGNORED.  IT CAN BE EASILY
  MODIFIED TO CONVERT DATA FROM AN EIGHT-DIGIT COUNTER. 
  
  THESE ROUTINES ARE FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  FOLLOW THE STANDARD RTE PROCEDURE TO ASSEMBLE THESE SUBROUTINES.  THE 
  SUBROUTINES ARE CONFIGURED INTO THE LIBRARY AT SYSTEM GENERATION TIME.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE: 
  
  FORTRAN:                                  ASSEMBLY LANGUAGE:
  
     CALL CONVC(DATA)                       JSB CONVC 
                                            DEF *+2 
                                            DEF DATA
  
     WHERE:  DATA IS A TWO WORD COUNTER READING ON ENTRY AND A
             FLOATING POINT NUMBER ON EXIT WITH NO DIGITS TO THE
             RIGHT OF THE DECIMAL POINT.
  
  TO CHANGE THIS ROUTINE TO BE USED WITH AN 8 DIGIT COUNTER, OMIT LINE
  NR. 44 "AND =B17".  THIS WILL ALLOW CONVERSION ON THE UPPER THREE 
  SIGNIFICANT DIGITS. 
  
  INCLUDED ALSO WITH THIS PACKAGE IS A ROUTINE TO CONVERT A 4221 CODED
  NUMBER TO A BINARY NUMBER.
  
  CALLING SEQUENCE: 
  
  FORTRAN:                                  ASSEMBLY LANGUAGE:
  
     CALL F4221(DATA)                       JSB F4221 
                                            DEF *+2 
                                            DEF IDATA 
  
     IDATA=4221 NUMBER ON ENTRY TO THE ROUTINE AND BINARY ON EXIT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
C00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR42 
 **PROGRAM TITLE: 
  DVR42 RTE CROSSBAR SCANNER DVR & CHANNEL CODE CONVERSION ROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          SCANNER         CONVERSION
    CODE
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  197 WITH EXTERNAL SUBPROGRAMS (145 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR42 OPERATES UNDER THE I/O CONTROL MODULE OF RTE TO CONTROL THE 
  HP2911 CROSSBAR SCANNER.  THIS DRIVER IS RESPONSIBLE FOR CONTROLLING
  OUTPUT TO ANY NUMBER OF SCANNER CARDS SIMULTANEOUSLY.  IT ACCEPTS 
  BINARY WRITE AND CLEAR REQUESTS.
  
  IT IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  FOLLOW STANDARD TECHNIQUES TO ASSEMBLE THESE PROGRAMS.  THIS DRIVER 
  MUST BE CONFIGURED INTO THE SYSTEM AT RTE SYSTEM GENERATION TIME. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A SIMPLE FORTRAN PROGRAM TO TEST THIS DRIVER FOLLOWS: 
  
  FTN 
       PROGRAM TEST(3,60) 
  5    WRITE(1,10)
  10   FORMAT(//"ENTER CHANNEL NUMBER & PROGRAM CODE"//)
       READ(1,*)ICHAN,IPROG 
  C    (NOTE: FOR A 4221 SCANNER USE THIS LINE OF CODING):
       CALL T4221(ICHAN)
  C    (NOTE: FOR A 8421 SCANNER USE THIS LINE OF CODING):
       CALL BTBCD(ICHAN)
       WRITE(13)ICHAN,IPROG 
       WRITE(1,20)
  20   FORMAT(//"CHECK TO SEE THAT SCANNER IS"/" ON RIGHT CHANNEL"//) 
       GO TO 5
       END
       END$ 
  
  
 **PROGRAM DESCRIPTION: 
  
  TWO WORDS OF DATA ARE REQUIRED TO OPERATE THE SCANNER.
  
  1. CHANNEL NUMBER - - (0-999) 8421 OR 4221 CODE, DEPENDING ON THE 
                                SCANNER USED. 
  
  2. SCANNER PROGRAM
        BITS 15...0 
        FUNCTIONS: OHM/FREQ. OR DELAY 
  
  WHERE:
        BITS. 5- - - - - - - - - - 3  2- - - - - - - - - - - - 0
                0 = AC/DC VOLTS          0 = 15.0  MSEC 
                1 = FREQUENCY            1 = 17.5  MSEC 
                2 = RESISTANCE           2 = 22.0  MSEC 
                                         3 = 27.0  MSEC 
                                         4 = 42.0  MSEC 
                                         5 = 62.0  MSEC 
                                         6 = 145.0 MSEC 
                                         7 = 500.0 MSEC 
  
  THERE IS NO CONTINUATOR SECTION FOR THE DRIVER AND THE CONTENTS OF THE
  INTERRUPT CELL SHOULD BE OCTAL 1067SC--WHERE SC = SELECT CODE OF THE
  SCANNER.
  
  ENTRY POINT(S)
  
    FORTRAN USE INFORMATION:
    FOR A 4221 CONTROLLED SCANNER:
  
    CALL T4221(ICHAN) 
          (ICHAN IS BINARY IN ENTRY AND 4221 CODE ON EXIT)
    WRITE(IEQT) ICHAN,IPROG 
          (IPROG IS THE PROGRAM CONTROL WORD DESCRIBED IN SECTION 4.0)
  
    FOR A 8421 CONTROLLED SCANNER:
  
    CALL BTBCD(ICHAN) 
          (ICHAN IS BINARY IN ENTRY AND 8421 CODE ON EXIT)
    WRITE (IEQT) ICHAN,IPROG
          (IEQT IN BOTH THE ABOVE IS THE DEVICE REFERENCE NUMBER
          ASSIGNED TO THE SCANNER AT SYSTEM GENERATION TIME)
  
    THE SCANNER IS THEN SET TO THE INDICATED CHANNEL. 
  
    BTBCD (BINARY TO BCD (8421) CONVERSION ROUTINE) 
  
    FORTRAN CALLING SEQUENCE: ASSEMBLY LANGUAGE CALLING SEQUENCE: 
  
    CALL BTBCD(INUMB)              JSB BTBCD      (JUMP TO ROUTINE) 
                                   DEF *+2        (DEFINES RETURN PT) 
                                   DEF INUMB      (DEFINES NUMBER TO
                                                  CONVERT)
      INUMB IS BINARY AND BCD (8421) ON EXIT. 
  
   T4221     (BINARY TO 4221 CONVERSION ROUTINE)
  
   FORTRAN CALLING SEQUENCE: ASSEMBLY LANGUAGE CALLING SEQUENCE:
  
   CALL T4221(INUMB)              JSB T4221   (JUMP TO ROUTINE) 
                                  DEF *+2     (DEFINES RETURN PT) 
                                  DEF INUMB   (DEFINES NUMBER TO CONVERT) 
  
   INUMB IS BINARY ON ENTRY AND 4221 CODE ON EXIST. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
C00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS/DOS-M/RTE 3480 DVM DVR AND BCD CONVERSION 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          BCD 
    CONVERSION
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M     RTE 
  
 **MEMORY REQUIREMENTS: 
  138 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  1. THIS DRIVER INPUTS BCD DATA FROM THE HP3480 DVM, AND (BCD) CONVERTS
     IT TO FLOATING POINT.  THE INITIATOR WILL TEST FOR THE CORRECT CALL- 
     ING SEQUENCE AND THEN START THE MEASUREMENT.  THE CONTINUATOR RETURNS
     THE RAW DATA INTO A TWO-WORD ARRAY WHERE THE CONVERSION ROUTINE CON- 
     VERTS IT TO FLOATING POINT FORMAT. 
  
     THE DRIVER IS FORTRAN CALLABLE.
  
   2. HARDWARE REQUIREMENTS 
  
     3480 DVM 
     11146A INTERFACE 
  
     MINIMUM RTE, DOS OR DOS-M CONFIGURATION
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. SELECT PROPER CONTROL STATEMENT
  
     'N' = RTE
     'Z' = DOS, DOS-M 
  
  2. COMPILE/ASSEMBLE THE TEST DRIVER AND SUBROUTINE BCD
  
  3. INCORPORATE DRIVER INTO SYSTEM AT SYSTEM CONFIGURATION TIME. 
     USE STANDARD LOADING PROCEDURE OF YOUR SYSTEM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS DRIVER ALLOWS DOS, DOS-M AND RTE USERS TO INPUT BCD DATA FROM
  THE 3480 DVM AND CONVERT IT TO FLOATING POINT.
  
  WHEN THE DRIVER IS CALLED, THE INITIATOR WILL TEST FOR THE CORRECT
  CALLING-SEQUENCE AND THEN START THE MEASUREMENT.  THE CONTINUATOR 
  RETURNS THE RAW DATA INTO A FLOATING POINT ARRAY. 
  
  FROM THERE THE USER CAN CONVERT THE DATA TO FLOATING POINT FORMAT 
  USING THE ROUTINE "BCD".  FORTRAN-CALLABLE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  WHEN USING EXEC-CALLS:
  CALL EXEC (1,LU,ARRAY,LEN)
  
  'LEN' MUST BE # OF WORDS IN THE FLOATING POINT ARRAY *2.
  FOR EXAMPLE:
       DIMENSION     A(100) 
       .
       .
       .
       CALL EXEC  (1,LU,A,200)
  
  NOTE: 
     THE DRIVER WILL ONLY RETURN RAW DATA INTO THE ARRAY!  THIS DRIVER
     DOES NOT USE DMA.
C00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ADCIN 
 **PROGRAM TITLE: 
  RTE HP 2310 ANALOG TO DIGITAL CONVERTER DISC STORAGE ROUTINE. 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DISC            STORAGE         ANALOG/DIGITAL
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  2939 WITH EXTERNAL SUBPROGRAMS, (327 WITHOUT).
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS FORTRAN CALLABLE SUBROUTINE ALLOWS RTE TO USE MOST OF
  MEMORY AS A BUFFER TO INPUT DATA FROM THE HP2310 ANALOG-TO- 
  DIGITAL CONVERTER AND OUTPUT IT TO THE DISC AT THE FULL SPEED 
  OF THE MULTIVERTER WITH NO BREAK IN DATA. ALL SAMPLES ARE 
  EVENLY SPACED AND THE NUMBER OF DATA POINTS TAKEN IS LIMITED
  ONLY BY THE SIZE OF THE DISC. THE MAXIMUM POSSIBLE THROUGHPUT 
  RATE IS 80 KHZ. 
  
  EQUIPMENT REQUIRED IS A MINIMUM RTE SYSTEM, AN HP2310 ANALOG- 
  TO-DIGITAL CONVERTER, AND AN HP2770 60 HZ OR 50 HZ DISC.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  TERMINAL READY
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
       LOAD PROGRAM "TESTA", FOLLOWED BY SUBROUTINE "DREAD" THEN
  DO A LIBRARY LOAD AND WHEN THE LOADER ASKS FOR "ADCIN" LOAD IT. 
  BE SURE "ADCIN" RESIDES ABOVE 30401B. IF NOT, ADD A LARGER
  DUMMY BUFFER IN LINE 3 OF "TESTA".
  
       PROGRAM "TESTA" PLOTS THE DATA ON A CALCOMP MODEL 565
  PLOTTER. IF THIS PLOTTER IS NOT AVAILABLE, THEN THE FOLLOWING 
  EDIT FILE MUST BE APPLIED TO "TESTA" TO PRINT THE DATA ON THE 
  TTY.
  /R,62,72
  190  NTRAK=NTRAK-3
  /R,74 
       INDAT=1
  /R,81,83
       IC=II-1
       Y=FLOAT(-IDATA)/3276.8 
       WRITE(1,500)INDAT,Y,IC 
  500  FORMAT("POINT #"15"="E12.5" VOLTS ON CHAN #"15)
       INDAT=INDAT+1
  /D,95,98
   /E 
  
       A PLOT OF THE DATA IS MORE USEFUL AS IT ALLOWS THE USER
  TO SPOT DATA BREAKS ON THE PLOT. THESE BREAKS MAY OCCUR WHEN
  THE MAXIMUM SPEED OF THE ROUTINE OF 80K IS EXCEEDED.
  
       THE MAIN PURPOSE OF "TESTA" IS TO SHOW THE USER HOW TO 
  EXTRACT THE DATA FROM THE DISC IN A FASHION EASY TO ANALYZE.
  
       THE DISC CHANNELS USED ARE 12 & 13B. IF THE USER OF THIS 
  ROUTINE WISHES TO CHANGE THIS ASSIGNMENT TO SOMETHING ELSE, HE
  MUST CHANGE LINES 413,435 & 436 IN "ADCIN" TO THE APPROPRIATE 
  SETTING.
  
  # OF DATA TRACKS? 3 
  CHAN & MODE (6,7)#? 0,7 
  ADC SC(@)? @16
       (RTE IS SWAPPED TO DISC, 3 TRACKS OF DATA ARE TAKEN AND
        RTE IS SWAPPED BACK)
  # OF SEQUENTIAL CHANNELS? 16
  
       (CALCOMP MODEL 565 PLOTTER BEGINS PLOTTING HERE AND USER 
        JUST EXAMINE THE DATA FOR CORRECTNESS. IT IS RECOMMENDED
        THE USER PUT A SINE WAVE INTO CHANNELS 0,2,4,6,8,10,12,14,16, 
        AND A SHORT INTO CHANNELS 1,3,5,7,9,11,13,15).
        THIS MAKES DATA RETRIEVAL PROBLEMS MORE OBVIOUS.
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  BE SURE THIS SUBROUTINE RESIDES ABOVE LOCATION 30401(OCTAL) IN
  MEMORY AS DESCRIBED IN SECTIONS 2.0,4.0, & 4.2.1. 
C00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR75 
 **PROGRAM TITLE: 
  PRIVILEGED RTE DRIVER FOR HP8054 AUDIO ANALYZER.
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          PRIVILEGED      AUDIO ANALYZER
    ANALYZER
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  204 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PRIVILEGED RTE DRIVER, DVR75, CONTROLS THE HP8054A AUDIO ANALYZER
  ON READ/WRITE REQUESTS.  IT REQUIRES THE HP15163A DATA SOURCE INTERFACE 
  CARD WITH CABLE AND THE HP12620A BREADBOARD INTERFACE CARD. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR75 SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY PROCEDURES.  DRIVER MUST BE CONFIGURED AT SYSTEM 
  GENERATION TIME.  IT IS TO BE LOADED WITH THE FOLLOWING SUBROUTINE. 
  
  ASMB,R,B,L
  
                NAM  $JP75
                ENT  $JP75, $JT75 
  $JB75         JSB  P.55 
  $JT75         JSB  T.55 
                END 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE DRIVER IS SENT A CONTROL WORD BY MEANS OF A WRITE REQUEST.  THE 
  DRIVER SENDS THE CONTROL WORD TO THE 3RD OCTAVE ANALYZER AND RETURNS
  WITH AN IMMEDIATE COMPLETION.  AT THIS POINT, THE CALLING PROGRAM MUST
  SUSPEND ITSELF OR WAIT FOR TIME INDICATED BY THE DELAY CONTROL PART OF
  THE CONTROL WORD.  THE DRIVER IS THEN SENT A READ REQUEST AND AN INPUT
  BUFFER OF EVEN LENGTH AND AT LEAST 48 WORDS LONG.  UNDER INTERRUPT THE
  THE DATA IS TAKEN AND RETURNED TO THE INPUT BUFFER INTERFACED WITH THE
  CHANNEL NUMBERS UPON WHICH THE DATA WAS TAKEN.  WHEN ALL 24 CHANNELS ARE
  READ, THE TBG IS FOOLED INTO COMPLETING THE DRIVER AS IN ALL PRIVILEGED 
  DRIVERS USING ONE DUMMY CARD. 
  
  ENTRY POINT(S)
  
  I.75, P.75, T.75, C.75
  
  I.75  ENTRY/EXIT FOR INITIATOR
  P.75  ENTRY/EXIT FOR PRIVILEGED SECTION 
  T.75  ENTRY/EXIT FOR TIMER INTERRUPT
  C.75  ENTRY/EXIT OF COMPLETION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
C00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  R3485 
 **PROGRAM TITLE: 
  CONVERSION ROUTINE FOR HP 2058E SUBSYSTEM RTE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    CONVERSION      FLOATING POINT  DRIVER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  97 WITHOUT EXTERNAL SUBPROGRAMS 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE DOES A SERIES OF MEASUREMENTS ON AN HP 2058E OPTION 167 
  SUBSYSTEM (HP 3480A VOLTMETER/3485A SCANNER), AND THEN DOES THE CON-
  VERSION OF THE DATA TO FLOATING POINT.
  
  THE SUBROUTINE USES THE HP 2058E SCANNER SUBSYSTEM RTE DRIVER (DVR57),
  CONTRIBUTED PROGRAM HP 22508. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALLING SEQUENCE: 
       - ASSEMBLER: 
             EXT R3485
             JSB R3485
             DEF *+5
             DEF IFUN 
             DEF DATA 
             DEF INUM 
             DEF IPW
  
            FORTRAN:
             CALL R3485 (IFUN, DATA, INUM, IPW) 
  
  WHERE:
     IFUN = FUNCTION BITS 0-5:  LOGICAL UNIT NUMBER 
                     BITS   6:  = 0 = SEQUENTIAL
                                = 1 = DIGITISE
     DATA = BUFFER WHERE DATA IS TO BE STORED 
     INUM = NUMBER OF MEASUREMENTS
     IPW  = PROGRAM WORD  BITS 0-5:  CHANNEL NUMBER 
                          BITS 6-7:  RANGE = 0 = 100MV
                                           = 1 =   1 VOLT 
                                           = 2 =  10 VOLTS
                          BIT     9: FILTER= 0 = OUT
                                           = 1 = IN 
  WHEN RETURNING FROM THE ROUTINE, THE FLOATING POINT DATA WILL BE STORED 
  IN DATA. IF THERE WAS AN OVERLOAD, THE NUMBER 1E+30 WILL BE STORED. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  FTN,L 
        PROGRAM TRY2
        DIMENSION X(10) 
  C 
  C 
  C   THIS SAMPLE PROGRAM WILL DO 10 MEASUREMENTS ON CHANNEL 3
  C   OF A 3480A-3485A SUBSYSTEM (DIGITISE).  THE RANGE IS
  C   10 VOLT, AND THE FILTER IS OUT. 
  C   THE LOGICAL UNIT NUMBER OF THE SUBSYSTEM IS 8.
  C 
  C 
         CALL R3485(110B,X,10,203B) 
         WRITE(6,100)X
     100 FORMAT(X,"THE DATA IS:",/,5F12.3)
         END
  
  
  RESULTS 
  
  THE DATA IS:
         -7.380      4.000      5.799      6.000      -1.999
  THE DATA IS:
         -7.200      2.009      5.999      5.000      -3.799
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IN CASE OF OVERLOAD, THE NUMBER 1E+30 IS RETURNED.  SEE ALSO THE
  SPECIAL CONSIDERATIONS FOR THE DRIVER DVR57 (HP22508).
  
  
 **MISCELLANEOUS: 
  
  
C00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:    
 7 
 **PROGRAM TITLE: 
  HP 2058E SCANNER SUBSYSTEM RTE DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          SCANNER         METER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  238 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS IS AN RTE DRIVER FOR THE HP2058E OPTION 167 SCANNER SUBSYSTEM
  (HP3480A VOLTMETER WITH HP3485A SCANNER).  THE DRIVER PERMITS YOU TO
  DO A SERIES OF MEASUREMENTS ON THE SAME (DIGITISE) OR DIFFERENT 
  (SEQUENTIAL) CHANNELS.  THE DRIVER WORKS UNDER DMA TO OBTAIN THE
  MAXIMUM SPEED OF THE SUBSYSTEM (1000 MEASUREMENTS/SEC.).
  
  THIS PROGRAM REQUIRES A MINIMUM RTE SYSTEM (16K, DMA, EAU)
  AND 2058E OPT. 167 SUBSYSTEM (3480A VM - 3485A SCANNER) 
  
  LITERATURE REFERENCE
  RTE MANUAL, HP2058E SCANNER SUBSYSTEM OPTION 167 MANUAL 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE THE DRIVER WITH A DOS OR RTE SYSTEM.
  
  2. GENERATE A RTE SYSTEM, AND INCLUDE THE DRIVER WITH THE OTHER DRIVERS.
  
  3. WHEN THE GENERATOR ASKS: 
              *EQUIPMENT TABLE ENTRY
     TYPE AT THE APPROPRIATE PLACE: 
              SC, DVR57, D, (T) 
     WHERE:  SC = SELECT CODE OF DSI OF SUBSYSTEM 
                  (HIGHEST PRIORITY INTERFACE)
  
  4. GIVE THE DESIRED LOGICAL UNIT NUMBER 
  
  5. WHEN THE GENERATOR ASKS: 
              *INTERRUPT TABLE
     TYPE:
              S1, EQU, N
              S2, EQT, N
     WHERE:   S1 = SELECT CODE OF DSI 
              S2 = SELECT CODE OF PROGRAM CARD (MUST BE S1 + 1) 
  
  6. DO REST OF GENERATION AS USUAL.
  
  
 **RUN INSTRUCTIONS:
  
  CALLING PROCEDURE:
  
       1.  ASSEMBLER: 
                 EXT EXEC 
                 JSB EXEC 
                 DEF *+6
                 DEF IRC
                 DEF IFUN 
                 DEF BUF
                 DEF INUM 
                 DEF IPW
  
       2.  FORTRAN: 
                 CALL EXEC (IRC, IFUN, BUF, INUM, IPW)
  
           WHERE: 
           IRC = REQUEST CODE FOR RTE: MUST BE 1 (READ) 
  
           IFUN = FUNCTION: BITS 0-5:  LOGICAL UNIT NUMBER OF SUBSYSTEM 
                            BIT  6  :  = 0: SEQUENTIAL (DIFFERENT 
                                            CHANNELS) 
                                       = 1: DIGITISE (SAME CHANNEL) 
  
           BUF  - BUFFER WHICH HAS TO CONTAIN THE MEASUREMENTS (LENGTH
                  MUST BE AT LEAST INUM*2)
  
          INUM = NUMBER OF MEASUREMENTS 
  
          IPW  = PROGRAM WORD:
                 BITS 0-5:  CHANNEL NUMBER (STARTING CHANNEL FOR
                            SEQUENTIAL) 
                 BITS 6-7:  RANGE = 0 = 100 MV
                                  = 1 =   1 VOLT
                                  = 2 =  10 VOLT
                 BIT    9:  FILTER = 0 = FILTER OUT 
                                   = 1 = FILTER IN
  
  STATUS INFO:
  STATUS BIT 0 IN EQT CONTAINS FILTER INFORMATION:
          IF = 0:  FILTER WAS OUT 
          IF = 1:  FILTER WAS IN
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1. THE DRIVER CAN BE USED FOR SEVERAL SUBSYSTEMS. 
  
  2. IN THE CASE OF SEQUENTIAL, IF STARTING FROM A CHANNEL OTHER THAN 1,
     AND IN THE CASE OF DIGITISE, THE DRIVER DOES ONE DUMMY MEASUREMENT TO
     INITIATE THE CHANNEL NUMBER. 
  
  3. IF THE FILTER IS PROGRAMMED "OUT" AND IT WAS PREVIOUSLY PROGRAMMED 
     "IN", THEN THE DRIVER DOES 2 DUMMY MEASUREMENTS TO GIVE THE 2 MS 
     DELAY (SEE 2058 OPT. 167 MANUAL).
  
  4. ALL REAL MEASUREMENTS ARE DONE AT MAXIMUM SPEED (THE TIME BETWEEN
     TWO MEASUREMENTS IS ALWAYS THE SAME!)
  
  5. TO MEASURE RANDOMLY, DO THE CALL FOR 1 MEASUREMENT.
  
  6. THE RETURNED DATA IS THE ORIGINAL HP 3480 DATA WITHOUT ANY CON-
     VERSION.  THE CONTRIBUTED PROGRAM HP 22507, CONVERSION ROUTINE FOR 
     HP 2058E SUBSYSTEM RTE DRIVER, WILL DO THE CONVERSION OF THE DATA TO 
     FLOATING POINT.
C00801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR62 
 **PROGRAM TITLE: 
  RTE 4271A 1 MHZ DIGITAL LCR METER DRIVER
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          METER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  RTE DRIVER 62 (DVR62) OPERATES THE 4271A 1MHZ DIGITAL LCR METER CON-
  FIGURED WITH OPTIONS 1 AND 5.  THE DRIVER OPERATES UNDER CONTROL OF 
  THE I/O MODULE OF THE REAL TIME EXECUTIVE (RTE).  DVR62 IS LINKED TO BY 
  MEANS OF THE FORTRAN CALLS SETLC AND MEALC, WHICH CONTROL THE 4271A.
  THESE CALLS PERFORM AUTOMATIC PROGRAMMING OF THE RANGE, FUNCTION, AND 
  BIAS VOLTAGE AND AUTOMATIC MEASURING OF THE CAPACITANCE-INDUCTANCE AND
  CONDUCTANCE-RESISTANCE-DISSIPATION FACTOR VALUES.  THIS DRIVER HAS BEEN 
  USED IN CONJUNCTION WITH TEST PROGRAMS TO CONTROL I/C PROCESSING BY 
  DETERMINATION OF THE DOPING PROFILE DENSITIES IN SEMICONDUCTOR DEVICES. 
  
  THE 12566B MICROCIRCUIT INTERFACE KIT WITH NO OPTIONS IS REQUIRED TO
  INTERFACE THE 4271A TO THE HP 2100. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  RTE SYSTEM GENERATION (RTGEN) PROCEDURES: 
  
  1. PROGRAM INPUT PHASE
  
     A. THE DRIVER RELOCATABLE IS LOADED WITH THE OTHER RTE SYSTEM DVRS.
  
     B. THE L4271 TYPE 7 RELOCATABLE LIBRARY ROUTINE WHICH CONTAINS THE 
        SETLC AND MEALC FORTRAN CALLS FOR DVR62 IS LOADED WITH THE OTHER
        LIBRARY MODULES.
  
     C. FORTRAN OR FORTRAN IV AND THE FORTRAN LIBRARY MUST BE PART OF THE 
        RTE SYSTEM. 
  
  2. DISC LOADING PHASE 
  
     A. THE EQUIPMENT TABLE ENTRY FOR DVR62 IS, 
                           SC,DVR62 
        WHERE, SC=THE COMPUTER SELECT CODE NUMBER OF THE 4271A 1MHZ 
        DIGITAL LCR METER.  DMA IS NOT USED BY THE DRIVER.  A TIMEOUT 
        VALUE AND BUFFERING CAN BE DECLARED IF DEEMED NECESSARY BY THE
        USER. 
  
  3. THE NORMAL PROCEDURES ARE UTILIZED TO CONFIGURE THE REMAINDER OF 
     THE RTE SYSTEM GENERATION. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  LCR TEST PROGRAM PROCEDURE
  
  1. CALIBRATE THE 4271A USING THE CALIBRATION PROCEDURE IN THE 4271A 
     OPERATORS MANUAL 
  
  2. MAKE SURE ALL THE CABLES ARE CORRECTLY WIRED AND CONNECTED TO
     INTERFACE THE 4271A TO THE MODIFIED 12566B MICROCIRCUIT CARD.
  
  3. PLACE THE FRONT PANEL SWITCHES OF THE 4271A IN THE "REM" POSITIONS 
     AND THE REAR PANEL SWITCH TO OPT 001 (INT).
  
  4. CONNECT A LOAD TO THE TERMINALS OF THE 4271A.
  
  5. LOAD THE RELOCATABLE OF THE LCR TEST PROGRAM WITH THE RTE LOADER 
     AND SCHEDULE LCR.
  
  6. PROGRAM STEPS (KEYBOARD INTERRACTION)
     A. CHECK FRONT AND REAR PANEL SWITCHES OF 4271A. 
     B. INPUT LOGICAL UNIT # OF 4271A.
     C. INPUT RANGE SETTING OF 4271A. 
     D. INPUT FUNCTION SETTING OF 4271A.
     E. INPUT BIAS SETTING OF 4271A.
     F. OUTPUT OF CAPACITANCE-INDUCTANCE AND CONDUCTANCE-RESISTANCE-
        DISSIPATION FACTOR VALUES.
     G. CONTINUE MEASUREMENTS (YES OR NO).
  
  
 **PROGRAM DESCRIPTION: 
  
  RTE DRIVER 62 (DVR62) OPERATES THE 4271A 1MHZ DIGITAL LCR METER CON-
  FIGURED WITH OPTIONS 1 AND 5.  THE DRIVER OPERATES UNDER CONTROL OF 
  THEI/O MODULE OF THE REAL TIME EXECUTIVE (RTE).  DVR62 IS LINKED TO 
  BY MEANS OF THE FORTRAN CALLS SETLC AND MEALC, WHICH CONTROL THE 4271A. 
  THESE CALLS PERFORM AUTOMATIC PROGRAMMING OF THE RANGE, FUNCTION, AND 
  BIAS VOLTAGE AND AUTOMATIC MEASURING OF THE CAPACITANCE-INDUCTANCE AND
  CONDUCTANCE-RESISTANCE-DISSIPATION FACTOR VALUES.  THIS DRIVER HAS
  BEEN USED IN CONJUNCTION WITH TEST PROGRAMS TO CONTROL I/C PROCESSING 
  BY DETERMINATION OF THE DOPING PROFILE DENSITIES IN SEMICONDUCTOR 
  DEVICES.
  
  DIRECT CALLS TO ENTER THE DRIVER ARE AS FOLLOWS:
  
  A. CALL SETLC(ILU,IRNG,IFCM,V)
     --ILU(INTEGER)--LOGICAL UNIT # OF 4271A SET UP IN DEVICE REF. TABLE. 
  
     --IRNG(INTEGER)--RANGE OF 4271A (0-4). 
  
     --IFCM(INTEGER)--FUNCTION OF 4271A (0-3).
     --V(FLOATING POINT)--VOLTAGE BIAS (0-399 VOLTS). 
  
  NOTE: SEE 4271A OPERATORS MANUAL FOR COMPLETE EXPLANATION OF IRNG,
  IFCM, AND V INPUT VALUES. 
  
  B. CALL MEALC(ILU,CL,GR,IERR) 
  
     --ILU(INTEGER)--SAME AS SETLC CALL.
  
     --CL(FLOATING POINT)--RETURNED CAPACITANCE (F) OR INDUCTANCE (H) 
       VALUE. 
  
     --GR(FLOATING POINT)--RETURNED CONDUCTANCE (MHOS), RESISTANCE (OHMS),
       OR DISSIPATION FACTOR VALUE. 
  
     --IERR(INTEGER)<>0, NON-FATAL ERROR DETECTED.
                     =0, NO ERROR 
  
  NOTE: IF AN ERROR IS DETECTED THE RETURNED CL AND GR VALUES MAY BE
  INVALID.  ALWAYS BEWARE OF NEGATIVE VALUES. 
  THE SETLC AND MEALC CALLS ARE ENTRY POINTS CONTAINED IN THE L4271 
  LIBRARY PROGRAM.  L4271 REFERENCES THE FOLLOWING EXTERNALS: 
  
      .ENTR,EXEC,IFIX,ERR0,.STOP,FLOAT, AND .RTOI 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR CODES:
  
  A. FATAL ERRORS--PROGRAM STOPS EXECUTION
       LC1--INVALID RANGE (CHECK SETLC CALL)
       LC2--INVALID FUNCTION (CHECK SETLC CALL) 
       LC3--INVALID BIAS (CHECK SETLC CALL) 
       LC4--NO (-) RECEIVED ON EXPONENT OF DATA VALUE (CHECK
         4271A OPERATION) 
       LC5--NO (,) RECEIVED AFTER C/L DATA (CHECK 4271A OPERATION)
       LC6--NO (;) RECEIVED AFTER G/R DATA (CHECK 4271 OPERATION) 
  
  B. NON-FATAL ERRORS--PROGRAM EXECUTION CONTINUES AND ERROR CODE (IERR)
     RETURNED TO CALLING PROGRAM
       LC20--"UNBAL" DETECTED (CHECK 4271A PANEL SWITCHES OR SETLC CALL)
       LC21--EXPONENT  -38 RECEIVED (CHECK CONNECTION AND 4271 OPERATIONS)
  
  LC22--"OUT OF RANGE" (CHECK 4271A PANEL SWITCHES OR STELC CALL) 
  LC23--"D-G,R" (RESET FUNCTION SWITCH IN SETLC CALL) 
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  THE PROGRAMMED VALUES (SETLC) AREN'T SENT TO THE 4271A UNTIL A
  MEASURING 9MEALC) COMMAND IS RECEIVED BY DVR62. 
  
  THE FRONT PANEL SWITCHES MUST BE SET IN THE "REM" POSITIONS FOR 
  CORRECT OPERATION WITH DVR62.  THE BACK PANEL SWITCH OF THE 4271A 
  MUST BE SET TO THE OPT 001 (INT) POSITION.
  
  HARDWARE REQUIREMENTS 
  
  RTE SYSTEM WITH FORTRAN -- HP2100.
  4271A 1MHZ DIGITAL LCR METER WITH OPTIONS 1 AND 5.
  
  THE 4271A 1MHZ DIGITAL LCR METER REQUIRES THE 12566B MICROCIRCUIT.
  INTERFACT KIT, WITH NO OPTIONS, TO INTERFACE THE 4271A TO THE HP 2100.
  NOTE HOWEVER, THAT CIRCUIT MODIFICATIONS ARE NEEDED TO DELAY THE I00
  SIGNAL AN ADDITIONAL APPROX. 150 NS TO BE COMPATIBLE WITH AN HP 2100. 
  
  THE PURPOSE OF THIS EXTRA DELAY IS TO ALLOW THE DATA TO ARRIVE AT THE 
  DATA BUSS BEFORE I00 ARRIVES. 
  
  THE DETAILS OF THE MODIFICATION ARE ILLUSTRATED IN FIGURE 1.  PIN 3 
  OF U67A IS DISCONNECTED FROM THE PC BOARD AND THE DIODE (1910-0022),
  RESISTOR (2K), AND CAPACITOR (470PF) ARE CONNECTED AS SHOWN.
  
  THE DELAY IS INCREASED FROM APPROX. 38 NS TO APPROX. 180 NS WITH THE
  CIRCUIT MODIFICATION.  ALSO, THE INTERFACE CABLE THAT CONNECTS THE
  12566B MICROCIRCUIT CARD TO THE 4271A 1MHZ DIGITAL LCR METER MUST BE
  WIRED AS SHOWN IN FIGURE 2 TO BE COMPATIBLE WITH THE SYNTAX OF DVR62. 
  
  
  LITERATURE REFERENCE
  
  RTE SOFTWARE SYSTEM PROGRAM AND OPERATING MANAUL. 
  12566B, 12566B-001, 002, 003 MICROCIRCUIT INTERFACE KITS AND
  OPERATING AND SERVICE MANUAL. 
  1MHZ DIGITAL LCR METER 4271A OPERATING AND SERVICE MANUAL.
  CALCULATOR INTERFACE MODEL 4271A OPT 005 1MHZ DIGITAL LCR METER 
  OPERATING NOTE. 
  
  SUBPROGRAMS USED TO LINE TO DVR62 SETLC AND MEALC CALLS WHICH ARE 
  CONTAINED IN THE L4271 LIBRARY UTILITY PROGRAM.  L4271 IS SUPPLIED
  WITH DVR62 SOFTWARE.
C00901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BIBCD 
 **PROGRAM TITLE: 
  BINARY TO BCD CONVERSION
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    BCD             CONVERSION
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS       RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ALLOWS AN ASSEMBLY LANGUAGE, OR FORTRAN PROGRAM, TO 
  CONVERT ANY POSITIVE INTEGER FROM 0 TO 9999 TO A 4 DIGIT BCD NUMBER 
  CONTAINED IN A 16-BIT WORD RETURNED TO THE CALLING PROGRAM. 
  
  DOS-M, BCS, MTS, RTE, SIO.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  1) COMPILE THE FORTRAN TEST PROGRAM.  ASSEMBLE THE CONVERSION SUB-
     ROUTINE. 
  
  2) LOAD BOTH PROGRAMS AND THE RELOCATABLE PROGRAM LIBRARY.
  
  3) ENTER THE BINARY NUMBER IN FREE FORMAT (INTEGER DECIMAL) ON THE
     SYSTEM TTY.  THE PROGRAM WILL PRINT THE BINARY INTEGER, NUMBER AND 
     THE BCD CONVERTED NUMBER.
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE. 
  
  EXT                   BIBCD 
   .
   .
   .
   .
  JSB                   BIBCD 
  DEF                   * +3
  DEF                     I    ADDRESS OF BINARY NUMBER 
  DEF                     J    ADDRESS OF BCD NUMBER
  
  CALLING SEQUENCE - FORTRAN
  
  CALL BIBCD (I,J)
  WHERE I IS THE BINARY NUMBER IN INTEGER FORMAT TO BE CONVERTED AND J
  IS THE BCD VALUE RETURNED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF THE INPUT NUMBER IS OUTSIDE THE RANGE 0 TO 9999, THE SUBROUTINE
  MERELY RETURNS WITHOUT ATTEMPTING A CONVERSION. 
  
  
 **MISCELLANEOUS: 
  
  
C01001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 3437A SYSTEM VOLTMETER DEVICE SUBROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    METER           HP-IB           ATS 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE 3437A DEVICE SUBROUTINES ARE HIGH LEVEL INTERFACE ROUTINES WHICH
  CONVERT SIMPLE CALL STATEMENTS IN FORTRAN OR BASIC INTO RTE CALLS TO
  THE HP-IB DRIVER. 
  
  PROGRAMMING THE 3437A IS DIVIDED INTO A SETUP CALL (DSVSU) AND A
  MEASUREMENT CALL (DSVMS).  ALL FRONT PANEL SWITCHES OF THE 3437A ARE
  PROGRAMMABLE FOR RANGE, TRIGGER-SOURCE, AND DELAY.  UP TO 100 READING 
  MAY BE MADE IN THE DIRECT MODE AND 1250 READING IN A SECOND MODE WHERE
  THE READINGS ARE PUT INTO A DISC FILE.
  
  USAGE IS MADE OF SOFTWARE FROM THE MULTI-TERMINAL INTERFACE SOFTWARE, 
  HP PART NO. 92425A TO BE COMPATABLE IN A MULTI-TERMINAL ENVIRONMENT.
  MINOR MODIFICATIONS ARE NECESSARY IF THAT SOFTWARE IS NOT USED.  SEE
  HP-ATS APPLICATION NOTE AN 237-1. 
  
  HARDWARE REQUIREMENTS 
  
  COMPUTER SYSTEM WITH RTE-II OR RTE-III
  HP3437A SYSTEM VOLTMETER
  HP 59310B INTERFACE BUSS I/O KIT
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. COMPILE BOTH MODULES AND SAVE THE RELOCATABLES.
  
  2. THESE RELOCATABLE FILES MAY NOW BE USED LIKE ANY OTHER SUBROUTINE
     WHEN LOADING A PROGRAM.  OTHER ROUTINES ARE NEEDED FROM THE MULTI- 
     TERMINAL SOFTWARE (MTIS) PACKAGE HP 9245A.  THE FILES WHICH CON- 
     TAIN THE NEEDED ROUTINES ARE:
     %LUDV
     %GTLU# 
     %IBLU0 
     %PAK 
     %UNPAK 
     %A2F 
     %ERROR 
     THEY MAY BE SPECIFIED AT LOAD TIME, OR IF INCLUDED DURING SYSTEM 
     GENERATION, WILL BE IN THE RTE SYSTEM LIBRARY. 
  
     NOTE THAT %ERROR REPLACES THE ERROR MODULE OF BASIC 1000/D.
  
  3. THERE IS ALSO AN EXTERNAL REFERENCE TO DRTXX WHICH IS A MEMORY 
     RESIDENT MODULE FROM MTIS AND MUST BE INCLUDED AT SYSTEM GENERATION. 
     REFER TO THE MTIS MANUAL HP PART NO. 92425-93001 FOR FURTHER  IN-
     FORMATION. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCES 
  
  SUBROUTINE DSVSU
  
  FORTRAN - CALL DSVSU(IUNIT,R,IT,DD1)
            CALL XSVSU(LU1,LU2,IERMS,IUNIT,R,IT,DD1)
  
  BASIC   - CALL DSVSU(U,R,T,D) 
            CALL XSVSU(L1,L2,I(1),U,R,T,D)
  
  IUNIT = U    = UNIT NUMBER OF THE HP 3437A
  R     = R    = VOLTAGE RANGE: 
                  .1, 1, 10 VOLTS 
  IT    = T    = TRIGGER SOURCE 
                  1 - INTERNAL
                  2 - EXTERNAL
  DD1   = D    = DELAY SETTING: 
                  175 MICROSECONDS TO 999,999 MICROSECONDS
                  IN 0.1 MICROSECOND STEPS
  LU1    =L1   = LU NUMBER OF THE HP-IB INTERFACE CARD
  LU2   = L2   = LU NUMBER OF THE 3437A 
  IERMS = L(1) = FIVE-ELEMENT INTEGER ARRAY, IN WHICH:
                  IERR(1)   = ERROR CODE: 
                               0 - NO ERROR 
                               1 - PARAMETER ERROR, REPORTED IF:
                                    VOLTAGE RANGE (R) < 0.1 OR >10
                                    TRIGGER SOURCE (IT) <1 OR > 2 
                                    DELAY SETTING (DD1) < 175 OR
                                     > 999,999
                  IERR(2)   = CHARACTER COUNT OF MNEMONIC NAME
                              (5 IN THIS CASE)
                  IERR(3-5) = THE PACKED ASCII OF THE MNEMONIC NAME 
                              IF IERR(1) > 0
  
  BASIC CONFIGURATION INFORMATION 
   DSVSU(I,R,I,R) 
  
  SUBROUTINE DSVMU
  
  FORTRAN - CALL DSVMU(IUNIT,ABUF,IN,IMODE) 
            CALL XSVMU(LU1,LU2,IERMS,IUNIT,ABUF,IN,IMODE) 
  
  BASIC   - CALL DSVMU(U,B(1),N,M)
            CALL XSVMU(L1,L2,I(1),U,B(1),N,M) 
  
  IUNIT = U    = UNIT NUMBER OF HP 3437A
  ABUF  = B(1) = NAME OF BUFFER WHERE DATA IS STORED
  IN    = N    = NUMBER OF READINGS:
                  MAXIMUM =  100 IF IMODE = 0 
                  MAXIMUM = 1250 IF IMODE = 1 
  IMODE = M    = MODE OF DATA TRANSFER: 
                  0 - DIRECT TRANSFER VIA SPACE AVAILABLE MEMORY (SAM)
                  1 - TRANSFER DATA TO DISC (FILE NAME = VMOUT) 
  LU1   = L1   = LU NUMBER OF HP-IB INTERFACE CARD
  LU2   = L2   = LU NUMBER OF HP 3437A
  IERMS = I(1) = FIVE-ELEMENT INTEGER ARRAY, IN WHICH:
                  IERR(1)   = ERROR CODE: 
                               0 - NO ERROR 
                               1 - PARAMETER ERROR, REPORTED IF:
                                    NUMBER OF READINGS (IN) < 0 OR > 1250 
                                    MODE OF DATA TRANSFER (IMODE) < 0 OR
                                     > 1
                                    MODE OF DATA TRANSFER (IMODE) = 0 AND 
                                     NUMBER OF READINGS (IN) > 100
                                4 - BAD DATA FROM HP 3437A, REPORTED IT:
                                     ANY NON-ASCII CHARACTER IS RETURNED
                                     AS DATA FROM HP 3437A SYSTEM VOLT- 
                                     METER
                   IERR(2)    = CHARACTER COUNT OF MNEMONIC NAME
                                (5 IN THIS CASE)
                   IERR(3-5)  = THE PACKED ASCII OF THE MNEMONIC NAME 
                                IF IERR(1) > 0
  
  BASIC CONFIGURATION INFORMATION 
   DSVMU(I,RA,I,I)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR MESSAGES WHICH PERTAIN TO THE HP-IB:
  
  9  - I/O CALL REJECTED
  10 - LU1 OR LU2 NOT ASSIGNED TO STATION 
  11 - DMA INPUT REQUEST PREMATURELY TERMINATED 
  12 - I/O DEVICE TIME OUT
  13 - IFC (INTERFACE CLEAR) DETECTED DURING I/O REQUEST
  14 - SRQ SERVICE ABORTED
  15 - NON-EXISTENT ALARM PROGRAM 
  16 - ILLEGAL CONTROL REQUEST
  17 - EQT EXTENSION AREA FULL, NO NEW DEVICE MAY BE ADDED ON LINE
  
  ERROR MESSAGE WHICH PERTAINS TO THE DISC: 
  
  18 - DISC WRITE ERROR 
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  THE 3437A HAS A BURST MODE CAPABILITY WHERE UP TO 9999 READINGS MAY BE
  TAKEN WITH ONE CALL.  THE DEVICE SUBROUTINE ALLOWS UP TO 100 READINGS 
  (MAY BE LIMITED BY SAM) IN THE DIRECT MODE (READING STORED IN MEMORY) 
  AND UP TO 1250 READINGS IF STORED IN A DISC FILE (MODE = 1).  WHEN
  USING MODE 1, A TYPE 1 FILE CALLED "VMOUT" WITH SECURITY CODE "OP" AND
  20 BLOCKS IN SIZE MUST BE CREATED.  A SEPARATE PROGRAM MUST BE WRITTEN
  TO ACCESS THE DATA WRITTEN IN THE DISC FILE.
C01101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RDWRT 
 **PROGRAM TITLE: 
  RDWRT -- MASS STORAGE PROGRAM 
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    FILES           ANALYZER        STORAGE 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
  
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE PROGRAM "RDWRT" DEMONSTRATES THE MASS STORAGE AND FILE HANDLING 
  CAPABILITIES OF THE HP 1000 WHEN USED WITH THE 3582A SPECTRUM ANALYZER. 
  (THIS IS A USER PROGRAM WHICH PROMPTS THE OPERATOR TO RESPOND TO COM- 
  MANDS. RDWRT ALLOWS THE RAW TIME WAVEFORM OR THE TRANSFORMED FREQUENCY
  DOMAIN WAVEFORM FROM THE 3582A TO BE STORED IN AN HP 1000 DISC FILE. AT 
  SOME TIME LATER THESE FILES MAY BE RESTORED TO THE INSTRUMENT FOR 
  COMPARISON OR THEY CAN BE RE-ANALYZED. THE PROGRAM ALLOWS:
  
  1. STORAGE AND RETRIEVAL OF FREQUENCY SPECTRA.
  
  2. STORAGE AND RETRIEVAL OF THE ORIGINAL TIME WAVEFORMS FOR:
  
     A. LATER ANALYSIS, 
  
     B. LATER ANALYSIS OF THE EXPERIMENT USING DIFFERENT TRANSFER 
        FUNCTIONS (FLAT TOP, HANNING, OR UNIFORM) OR, 
  
     C. MODIFICATION OR PREPROCESSING OF THE TIME WAVEFORM (I.E., PASSING 
        IT THROUGH A SIMULATED FILTER) BEFORE SPECTRUM ANALYSIS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RDWRT2 - SOURCE 
  FILE#  3: RDWRT3 - SOURCE (INPRM) 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PROGRAM RDWRT ALSO CONTAINS INFORMATION ABOUT HP 1000 SYSTEM
  SUBROUTINES AND HOW THEY CAN BE USED IN MEASUREMENT SITUATIONS AS WELL
  AS I/O INFORMATION ABOUT THE 3582A. RDWRT CAN,
  
  1. ACCESS 3582A MEMORY DIRECTLY (DISPLAY MEMORY IN LINES 194 THROUGH
     197, TIME MEMORY IN LINES 206 THROUGH 208),
  
  2. ANALYZE BINARY DATA RECEIVED FROM THE 3582A (SUBROUTINE "SENSI"
     STARTING IN LINE 305) AND, 
  
  3. WRITE BINARY DATA TO 3582A MEMORY (DISPLAY MEMORY IN LINES 249 
     THROUGH 252 AND LINE 259, TIME MEMORY IN LINES 255 THROUGH 257 AND 
     LINE 259). 
  
  HP 1000 "EXEC" REQUESTS ARE USED TO OUTPUT MESSAGES TO THE USER 
  TERMINAL INSTEAD OF INCURRING THE ADDED MEMORY OVERHEAD REQUIRED FOR
  THE FORTRAN FORMATTER. (THE FORMATTER IS USED IN THE SUBROUTINE "SENSI" 
  BUT CAN BE EXCLUDED BY CONVERTING THESE "WRITE" STATEMENTS TO EXEC
  CALLS ALSO.) THERE ARE TWO OPERATION TYPES USED REPEATEDLY IN THE 
  PROGRAM:
  
  SD OR ST  SAVE 3582A MEMORY IN A DISC FILE. 
  
  RD OR RT  RESTORE DISC FILE TO 3582A MEMORY.
  
  THE 3582A TIME AND DISPLAY MEORIES ARE TRANSFERRED USING BINARY EXEC
  REQUESTS IN THE HP 1000 (LINE 208, FIGURE 12-3). THESE I/O REQUESTS 
  ALLOW THE COMPUTER TO IGNORE DATA WHICH MAY OTHERWISE BE INTERPRETED
  AS AN END-OF-RECORD (EOR). THIS WAY, 3582A MEMORY CAN BE TRANSMITTED
  DIRECTLY TO THE HP 1000 AT HIGH SPEED IN LARGE BUFFERS, WITH NO BINARY
  TO ASCII CONVERSION IN THE PROCESS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THIS PACKAGE REQUIRES A 3582A SPECTRUM ANALYZER.
  
  ALSO SEE 'APPLICATION NOTE' 401-12 FOR A COMPLETE AND DETAILED
  DOCUMENTATION 'RDWRT'.
C01201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  P1640 
 **PROGRAM TITLE: 
  P1640 - TO EXPAND CAPABILITIES OF 1640 SERIAL LOGIC ANALYZER
  
 **REVISION?  NO
  
 **PACKAGE:  3    **CATEGORY:  1
  
 **KEYWORDS:
    STORAGE         ANALYZER        FORMATTING
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  REQUIRES 17 PAGES OF MEMORY 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  P1640 IS A PROGRAM TO EXPAND THE CAPABILITIES OF THE 1640 SERIAL LOGIC
  ANALYZER BY PROVIDING:
  
       - STORAGE OF DATA FROM THE 1640 ON MEMORY, DISK, TAPE, ETC.
       - ALTERABLE FORMATTING OF SAVED DATA FOR ANY TYPE OF CODE. 
       - FORMATTED OUTPUT TO THE LINE PRINTER OR A FILE.
       - AUTOMATIC INITIALIZATION OF THE 1640 THROUGH TRANSFER FILE.
       - USER DOESN'T NEED TO KNOW HP-IB BUT MUST HAVE THE HARDWARE 
         AND SOFTWARE IN THE SYSTEM.
  
  THE PROGRAM IS DESIGNED TO BE USED INTERACTIVELY BUT COULD BE RUN BY
  BATCH.
  
   ALSO: REQUIRES HP-IB INTERFACE CARD, TERMINAL INTERFACE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: TRANSFER FILE USED TO SAVE THE OTHER FILES ON TAPE
  FILE#  3: THE SOURCE FILE FOR THE PROGRAM 
  FILE#  4: AN ASSEMBLY LANGUAGE SUBROUTINE USED BY P1640 
  FILE#  5: A LISTING OF SOME EXAMPLES
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXAMPLE LISTINGS IN FILE #5 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE EXAMPLE LISTINGS IN FILE #5 
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE DOCUMENTATION IN SOURCE CODE
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  USES 'FMGR' ERROR CODES, OTHER ERRORS ARE PRINTED ON THE LOG LU 
  (TERMINAL). 
  
  
 **MISCELLANEOUS: 
  
  NOTE: P1640 CALLS EXEC, REIO
  NEED HP-IB DRIVER GENERATED INTO RTE. 
  NEED TO DEFINE AN LU FOR EACH DEVICE ON THE HP-IB BUS.
D00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR52 
 **PROGRAM TITLE: 
  RTE MULTIPLEXOR DRIVER (12920A) 
  
 **REVISION?  NO
  
 **PACKAGE:  4    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          PRIVILEGED
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-C 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS AN INPUT/OUTPUT DRIVER (DVR 52) WHICH OPERATES UNDER
  CONTROL OF THE REAL TIME EXECUTIVE (RTE) OPERATING SYSTEM. DATA TRANS-
  MISSION IS POSSIBLE WITH ANY EIA RS-232 COMPATIBLE TERMINAL CONNECTED 
  TO THE 12920A ASYNCHRONOUS MULTIPLEXOR. THE (SYSTEM CONSOLE) CAN BE 
  CONNECTED TO THIS INTERFACE. SPEED DETECTION IS POSSIBLE AT SPEEDS OF 
  10, 15, 30, 60, 120, AND 240 CHARACTERS/SECOND. THIS DRIVER DOES NOT
  USE THE FULL CAPABILITY OF THE MODEM CONTROL CARD. THIS ROUTINE IS A
  PRIVELEGED DRIVER AND IS COMPATIBLE WITH RTE, RTE-C, RTE-II, AND RTE-III
  OPERATING SYSTEMS.
    HARDWARE REQUIREMENTS FOR THE RTE MULTIPLEXOR DRIVER, REQUIRED BY ANY 
  MEMBER OF THE FAMILY OF THE RTE SYSTEMS, ARE A 12920A OR 12920B ASYN- 
  CHRONOUS MULTIPLEXOR, AND A 12620A OR 12936A PRIVILEGED I/O BOARD.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE SOURCE
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
D00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  OPTIONAL DVR51 - RTE AUTO DIAL DRIVER FOR 12589A INTERFACE KIT. 
  
 **REVISION?  YES 
  
 **PACKAGE:  4    **CATEGORY:  1
  
 **KEYWORDS:
    DRIVER          INTERFACE       DATA COMM 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS RTE AUTO DIAL DRIVER USES 12589A INTERFACE KIT TO OPERATE ON 
  AUTOMATIC CALLING UNIT (ACU).  USE OF THIS, ALONG WITH COMPLEMENTARY
  AUTO ANSWER UNITS IN A DISTRIBUTED COMMUNICATION SYSTEM, ALLOWS LINE
  CONNECTIONS AND DISCONNECTIONS TO BE MADE AUTOMATICALLY UNDER PROGRAM 
  CONTROL.  THE DRIVER SUPPORTS (WRITE) REQUEST TO ENABLE DIALING AND 
  (CONTROL) REQUEST TO DO A DISCONNECT.  LINE SELECTION FROM 1 TO 4 IS
  PERMITTED BY SOFTWARE ALTHOUGH THE CURRENT CABLE ASSEMBLY OF 12589A 
  ALLOWS FOR ONE LINE ONLY (WITH REFERENCE TO MULTIPLE ACU'S BEING
  CONNECTED TO THE SAME INTERFACE BOARD).  THE DRIVER HANDLES ITS OWN 
  TIME OUT AND THE STATUS WORD REFLECTS (ON-LINE) AND (OFF-LINE) CON- 
  DITION ON COMPLETION OF REQUEST.  (END-OF-NUMBER) OPTION IS ALSO SUP- 
  PORTED IN SOFTWARE, ALLOWING LINE TO BE HANDED OVER TO THE MODEM WHILE
  IT IS RINGING.
  
  APPROPRIATE TIME OUT VALUES (NEGATIVE DIGITS) MAY BE INSERTED IN THE
  DIAL BUFFER AT PLACES WHERE DIAL TONES ARE EXPECTED.  THIS IS IMPORTANT 
  IN CASE OF A MULTIPLE DIAL SEQUENCE OVER AN ACU WHICH DOES NOT SUPPORT
  (POSITIVE DIAL TONE IDENTIFICATION); E.G., BELL 801A.  IF AN ACU DOES 
  SUPPORT THIS FEATURE (E.G., VADIC CORP'S ACU), ILLEGAL DIGITS SHOULD
  BE INSERTED IN THE WRITE BUFFER AT DIAL TONE POINTS.  THE OVERALL 
  DRIVER TIME OUT VALUE (IN EQT14) SET AT SYSTEM GENERATION TIME IS IN- 
  DEPENDENT OF THE TIME OUT VALUES SPECIFIED WITHIN THE DIAL SEQUENCE IN
  CASE OF TANDOM DIALING, AND SHOULD PREFERABLY BE GREATED THAN THE ACU'S 
  TIMER.
  
  HARDWARE REQUIREMENTS:  12589A INTERFACE KIT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE DRIVER ONLY ENTERTAINS WRITE AND CONTROL REQUESTS.  REFER TO
  SOURCE LISTING FOR DETAILS ON ALLOWABLE CALLING SEQUENCE. 
  
  DURING RTE SYSTEM GENERATION, BE AWARE THAT THIS DRIVER HANDLES ITS 
  OWN TIMEOUT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
D00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE ASYNCHRONOUS DATA SET INTERFACE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE:  4    **CATEGORY:  1
  
 **KEYWORDS:
    INTERFACE       DATA COMM       ASYNCHRONOUS
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR72 IS A RTE DRIVER WHICH CONTROLS AN HP 12587 ASYNCHRONOUS DATA SET
  INTERFACE.  THE TERMINALS EXPECTED BY DVR72 ARE AN HP7260 CARD READER 
  AND/OR A GENERAL ELECTRIC TERMINET 1200 PRINTER.  EACH HP 12587 INTER-
  FACE HAS ONE BELL SYSTEM TYPE 103 OR 202 DATA SET (OR EQUIVALENT) 
  CONNECTED TO IT.
  
  USING DVR72, THE USER PROGRAM CAN ISSUE COMMAND SEQUENCES TO THE 7260 
  CARD READER TO RETURN CARD DATA AND/OR STATUS INFORMATION.
  
  THE DRIVER SUPPORTS ONLY PRINTING CAPABILITY FOR THE GE 1200 AND DOES 
  AN IMMEDIATE COMPLETION IF KEYBOARD INPUT IS PROGRAMMED.
  
  HARDWARE REQUIREMENTS: MINIMUM RTE HARDWARE CONFIGURATION PLUS AN 
  HP 12587 ASSEMBLY I/F, AND EITHER OR BOTH HP7260 MARK SENSE CARD READER,
  GE TERMINET 1200 PRINTER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  DVR72 MUST BE GENERATED INTO RTE DURING SYSTEM GENERATION AS FOLLOWS: 
                *EQUIPMENT TABLE ENTRY
                 SC,DVR72,D 
  THE DRIVER USES DMA FOR THE 7620 CARD READER INPUT AND DEALLOCATES
  DMA FOR ALL OTHER I/O.  THE DRIVER ALSO PROCESSES ITS OWN TIME-OUTS 
  AND SHOULD BE NON-BUFFERED. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE:  OPERATING MANUAL FOR HP 7260 (PART NUMBER
  07260-90000). 
D00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UTERM 
 **PROGRAM TITLE: 
  CDC-200 USER TERMINAL SIMULATOR FOR HP 1000 
  
 **REVISION?  YES 
  
 **PACKAGE:  4    **CATEGORY:  1
  
 **KEYWORDS:
    TERMINAL        DRIVER          CDC 
    SIMULATOR 
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV
  
 **MEMORY REQUIREMENTS: 
  7 PAGES 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
     UTERM SIMULATES A CDC 200 USER TERMINAL (200UT) ON A HEWLETT-PACKARD 
  SERIES-1000 MINICOMPUTER RUNNING UNDER THE RTE-IV OPERATING SYSTEM AT 
  SPEEDS UP TO 4800 BAUD. THIS DOCUMENT DESCRIBES VERSION 3.1E (25MAY79); 
  RELATIVE TO EARLIER VERSIONS OF THIS PROGRAM WHICH WERE CONTRIBUTED TO
  LOCUS, THIS VERSION CONTAINS IMPROVEMENTS/MODIFICATIONS.
     UTERM REQUIRES AN HP SERIES-1000 MINICOMPUTER RUNNING UNDER THE
  RTE-IV OPERATING SYSTEM. A SYNCHRONOUS MODEM UTILIZING AN HP 12618A 
  SYNCHRONOUS DATA SET INTERFACE KIT IS NEEDED. THE 12936A PRIVILEGED 
  INTERRUPT FENCE MUST BE UTILIZED TO OBTAIN GOOD PERFORMANCE FROM THIS 
  PROGRAM. TO EFFECT A PROPER SIMULATION, UTERM CONTAINS ITS OWN
  AUTONOMOUS DRIVER FOR THE DATA SET INTERFACE. THE ONLY (AND HENCE THE 
  BEST) DOCUMENTATION OF THE CDC 200UT IS THE CONTROL DATA HARDWARE 
  REFERENCE MANUAL FOR THE 200 USER TERMINAL (CDC PUBLICATION #82128000). 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE AND DOCUMENTATION
  FILE#  3: SOURCE AND DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE $UTERM FOR COMPLETE LOADER DIRECTIONS.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **MISCELLANEOUS: 
  
  
D00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ASCII/IBM-360 CONVERSION ROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  4    **CATEGORY:  3
  
 **KEYWORDS:
    CONVERSION      ASCII           IBM 
    CODE
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS 
  
 **MEMORY REQUIREMENTS: 
  215 WITH EXTERNAL SUBPROGRAMS (178 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE READS IBM 8-LEVEL CHARACTERS FROM 9-TRACK MAGNETIC TAPE, 
  CONVERTS THE CHARACTERS TO ASCII FORM, AND LISTS OR PUNCHES THE ASCII 
  CHARACTERS ON THE TELEPRINTER.  THE PROGRAM ALSO READS ASCII CHARACTERS 
  FROM PUNCH CARDS, CONVERTS THE CHARACTERS TO IBM 8-LEVEL CODE, AND
  RECORDS THE 8-LEVEL CHARACTERS ON MAGNETIC TAPE.
  
  CONVERSION TIME IS APPROXIMATELY 100 MICROSECONDS TIMES LENGTH OF 
  ARRAY IN WORDS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  INCLUDED ARE PROGRAMS TLIST, MLIST AND CWRIT WHICH USE THE CON- 
  VERSION SUBROUTINES ASTOI AND ITOAS.  PROGRAM TLIST LISTS FROM MAG
  TAPE USING THE FIRST CHARACTER PER RECORD AS A CARRIAGE CONTROL 
  CHARACTER.  PROGRAM MLIST LISTS FROM MAG TAPE ASSUMING EACH MAG TAPE
  RECORD IS MADE UP OF TEN CARD IMAGES.  PROGRAM CWRIT READS CARDS AND
  PUTS THEM ONTO MAG TAPE WITH A BLOCKING FACTOR OF TEN.  THE CARD DECK 
  IS TERMINATED BY A CARD WITH A /* IN THE FIRST TWO COLUMNS. 
  
  MAG TAPE GENERATED BY CWRIT MAY BE READ ON THE 360, AND THE MAG TAPE
  USED BY TLIST AND MLIST IS PRODUCED ON THE 360. 
  
  
 **PROGRAM DESCRIPTION: 
  
                      CALLING SEQUENCES 
  
  CALLED AS 
  CALL ITOAS  (IA(1),LEN) 
  WHERE IA = NAME OF ARRAY DIMENSIONED TO AT LEAST "LEN"
  LEN = INTEGER VARIABLE NAME OR CONSTANT SET TO THE NUMBER OF WORDS
        TO BE CONVERTED.
  
  ROUTINE CONVERTS FROM IBM TO ASCII CODE - THE RESULT IS LEFT IN 
  ARRAY IA. 
  
  CALL ASTOI  (IA(1),LEN) 
       SAME AS ABOVE - BUT CONVERTS ASCII TO IBM CODE.
  
                       SPECIAL CONSIDERATION
  
  ONLY THE LAST SIX BITS OF EACH CHARACTER ARE EXAMINED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
D00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EBC2A 
 **PROGRAM TITLE: 
  EBCDIC TO ASCII TRANSLATOR
  
 **REVISION?  YES 
  
 **PACKAGE:  4    **CATEGORY:  3
  
 **KEYWORDS:
    ASCII           EBCDIC          CONVERSION
    CODE            CHARACTER 
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  5 PAGES 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROGRAM EBC2A CONVERTS VARIABLE-LENGTH EBCDIC-CODED RECORDS FROM AN 
  INPUT DEVICE (OR DISC FILE) TO ASCII CODE, AND STORE THE TRANSLATED 
  RECORDS TO AN OUTPUT DEVICE (OR DISC FILE). 
  
  THE LENGTH OF THE OUTPUT RECORD IS IDENTICAL TO THE LENGTH OF THE 
  INPUT RECORD.  IF DISC FILES ARE USED FOR INPUT OR OUTPUT, THEN THE 
  SPOOL MONITOR PROGRAM (SMP) MUST BE ACTIVE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: EBC2A SOURCE
  FILE#  3: EBCDIC TEST DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  1. RUN ALGOL COMPILER ON SOURCE FILE (&EBC2A) 
  2. RUN LOADR ON CODE PRODUCED BY COMPILER.
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN:  *RU,EBC2A,P1,P2,P3,P4,P5  WHERE THE OPTIONAL PARAMETERS ARE
           DEFINED AS FOLLOWS:
  
           P1 - TERMINAL LU             (DEFAULT=VALUE RETURNED BY MTM) 
           P2 - INPUT LU                (DEFAULT=LU2) 
           P3 - OUTPUT LU               (DEFAULT=LU2) 
           P4 - FIRST RECORD TO BE
                TRANSLATED              (DEFAULT=1) 
           P5 - NUMBER OF RECORDS TO
                BE TRANSLATED            (DEFAULT=ALL)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A DISC FILE CONTAINING DATA IN EBCDIC CODE, &EBCDC, IS USED AS INPUT
  TO THE PROGRAM EBC2A.  THE OUTPUT FILE, &ASCII, DOES NOT EXIST BUT IS 
  CREATED BY THE PROGRAM, AND THE TRANSLATED DATA IS WRITTEN TO THIS
  FILE.  FILE LISTING OF BOTH FILES ARE ON THE FOLLOWING PAGES.  THE
  TERMINAL CONVERSATION IS AS FOLLOWS:
            *RU,EBC2A 
             INPUT FILE NAME?   &EBCDC
             OUTPUT FILE NAME?  &ASCII
            ** END EBC2A
  
  A SECOND TRANSLATION IS PLACED IN THE FILE &ASCJJ, BEGINNING THE
  TRANSLATION AT RECORD NUMBER 5 AND CONTINUING FOR 5 RECORDS:
            *RU,EBC2A,,,,5,5
             INPUT FILE NAME?   &EBCDC
             OUTPUT FILE NAME?  &ASCJJ
            ** END EBC2A
  
  
 **PROGRAM DESCRIPTION: 
  
  MAXIMUM ALLOWABLE RECORD LENGTH IS 1024 WORDS, BUT CAN BE MODIFIED
  AS REQUIRED BY SETTING THE VARIABLE BUFLEN TO BE 1+MAXIMUM RECORD 
  LENGTH.  OPTIONS ARE SET THROUGH THE RUN PARAMETERS.  THE OPTIONS 
  ALLOW YOU TO BEGIN TRANSLATION AT A SPECIFIED RECORD, AND TRANSLATE 
  A GIVEN NUMBER OF RECORDS.  DEFAULTS FOR THE PROGRAM ARE INPUT AND
  OUTPUT FROM THE DISC, BEGINNING AT RECORD 1, AND TRANSLATING THE EN-
  TIRE FILE.
  
  IF INPUT OR OUTPUT IS FROM THE DISC, THE PROGRAM WILL INTERACTIVELY 
  PROMPT FOR THE INPUT OR OUTPUT FILE NAME.  IF THE OUTPUT FILE DOES
  NOT EXIST, EBC2A WILL CREATE IT, WITH A DEFAULT SIZE OF 24 BLOCKS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INPUT FILE ERROR: - XX            WHERE XX IS ERROR CODE
  OUTPUT FILE ERROR: - XX           WHERE XX IS ERROR CODE
  **END EBC2A                       MESSAGE ON END OF PROGRAM 
  
  
 **MISCELLANEOUS: 
  
  
D00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  A2EBC 
 **PROGRAM TITLE: 
  ASCII TO EBCDIC TRANSLATOR
  
 **REVISION?  YES 
  
 **PACKAGE:  4    **CATEGORY:  3
  
 **KEYWORDS:
    ASCII           EBCDIC          CONVERSION
    CODE            CHARACTER 
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  5 PAGES BACKGROUND MEMORY 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROGRAM A2EBC CONVERTS VARIABLE-LENGTH ASCII CODED RECORDS FROM AN
  INPUT DEVICE (OR DISC FILE) TO EBCDIC CODE, AND STORES THE TRANSLATED 
  RECORDS TO AN OUTPUT DEVICE (OR DISC FILE). 
  THE LENGTH OF THE OUTPUT RECORD IS IDENTICAL TO THE LENGTH OF THE 
  INPUT RECORD. IF DISC FILES ARE USED FOR INPUT OR OUTPUT, THEN THE
  SPOOL MONITOR PROGRAM (SMP) MUST BE ACTIVE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: A2EBC SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  RUN ALGOL COMPILER ON SOURCE PROGRAM (&A2EBC).
  RUN LOADR ON CODE PRODUCED BY COMPILER. 
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN: *RU,A2EBC,P1,P2,P3,P4,P5, WHERE THE OPTIONAL PARAMETERS ARE 
          DEFINED AS FOLLOWS: 
  
         P1-TERMINAL LU                     (DEFAULT=VALUE RETURNED BY
                                            MTM)
         P2-INPUT LU                        (DEFAULT=LU2) 
  
         P3-OUTPUT LU                       (DEFAULT=LU2) 
  
         P4-FIRST RECORD TO BE TRANSLATED   (DEFAULT=1) 
  
         P5-NUMBER OF RECORDS TO BE         (DEFAULT=ALL) 
            TRANSLATED
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A DISC FILE CONTAINING TEST DATA IS TRANSLATED TO EBDIC CODE, AND 
    LISTED ON THE LINE PRINTER: 
       *TU,A2EBC,,,6
         INPUT FILE NAME? ==TEST
  
       ** END A2EBC 
  A SECOND TRANSLATION IS PERFORMED ON A FILE THAT IS ON CARTRIDGE TAPE 
    ON LU8, AND STORED IN A DISC FILE, TOUT, WHICH IS CREATED BY THIS 
    PROGRAM:
       *RU,A2EBC,,8 
       OUTPUT FILE NAME? TOUT 
       **END A2EBC
  
  
 **PROGRAM DESCRIPTION: 
  
  MAXIMUM ALLOWABLE RECORD LENGTH IS 1024 WORDS, BUT CAN BE MODIFIED AS 
  REQUIRED BY SETTING THE VARIABLE BUFLEN TO BE 1+MAXIMUM RECORD LENGTH.
  OPTIONS ARE SET THROUGH THE RUN PARAMETERS. THE OPTIONS ALLOW YOU TO
  BEGIN TRANSLATION AT A SPECIFIED RECORD, AND TRANSLATE A GIVEN NUMBER 
  OF RECORDS. DEFAULTS AT RECORD 1, AND TRANSLATING THE ENTIRE FILE.
  
  IF INPUT OR OUTPUT IS FROM THE DISC, THE PROGRAM WILL INTERACTIVELY 
  PROMPT FOR THE INPUT OR OUTPUT FILE NAME. IF THE OUTPUT FILE DOES NOT 
  EXIST, A2EBC WILL CREATE IT, WITH A DEFAULT SIZE OF 24 BLOCKS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ANY ERROR MESSAGES ARE SENT TO THE TERMINAL. ALSO THERE IS AN END OF
  PROGRAM MESSAGE SENT TO THE TERMINAL. 
  
  
 **MISCELLANEOUS: 
  
  
E00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DCODE 
 **PROGRAM TITLE: 
  DOS-M ABSOLUTE OBJECT DECODER 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    ASSEMBLER       ABSOLUTE        INVERSE 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  10532 WITH EXTERNAL SUBPROGRAMS (7933 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  DOS ABSOLUTE OBJECT DECODER IS A DOS VERSION OF HP22292 BCS 
  ABSOLUTE OBJECT DECODER. IT IS AN ALGOL PROGRAM DESIGNED TO PRODUCE 
  A PSUEDO SOURCE FROM AN ABSOLUTE BINARY TAPE, COMPLETE WITH LABELS, 
  WHICH WILL ASSEMBLE BACK TO THE ORIGINAL ABSOLUTE. SUCH A 
  TAPE WOULD BE RELATIVELY EASY TO DECIPHER AND EDIT INTO A FUNCTIONAL
  EQUIVALENT OF THE ORIGINAL SOURCE.
  
  DECODING IS BY WORD COMPARISON WITH THE CONSOLIDATED CODING SHEET.
  A PROGRAMMER MAY GENERATE A BINARY WORD BY ANY OF SEVERAL METHODS,
  DEPENDING ON HIS PURPOSE. DCODE TRIES TO CONVERT TO MACHINE 
  INSTRUCTIONS IF POSSIBLE, OTHERWISE TO AN (OCT) CONSTANT. THE 
  GENERATION OF DEF, ABS, ASC, DEC, DEX, AND BSS PSUEDO INSTRUCTIONS, 
  EXPRESSION OPERANDS AND (OCT) OTHER THAN BY DEFAULT ARE NOT WITHIN
  THE SCOPE OF THIS PROGRAM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE THE PROGRAM AND THE PROCEDURES, AND ASSEMBLE THE SUBROUTINE.
  USE LOADR TO GENERATE OBJECT PROGRAM, AND :STORE,P DIRECTIVE TO STORE 
  THE PROGRAM ON THE DISC.
  
  
 **RUN INSTRUCTIONS:
  
  TO EXECUTE PROGRAM: 
       TYPE :PROG,DCODE ON SYSTEM TTY. PROGRAM WILL ASK:
       "LISTING?" TYPE "YES" OR "NO"
       "PUNCH OUTPUT?" TYPE "YES" OR "NO" 
       "MAGTAPE OUTPUT?" TYPE "YES" OR "NO" 
       "EAU INSTRUCTIONS?" TYPE "YES" IF DECODING OF EAU INSTRUCTIONS 
                            IS DESIRED, OTHERWISE "NO". 
  THE PHOTOREADER WILL READ THE BINARY TAPE, STORE THE CODE ON THE
  DISC FOR THE SECOND PASS. DURING THE SECOND PASS, THE PSUEDO SOURCE 
  WILL BE OUTPUTTED TO THE SELECTED PERIPHERALS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  EXPERIMENT WITH YOUR OWN ABSOLUTE OBJECT TAPE.
  
  THE PROGRAM WAS TESTED IN THE FOLLOWING WAY:
    A BINARY TAPE CONTAINING ALL BIT COMBINATIONS FROM 000000 TO 007777 
    AND FROM 100000 TO 107777 WAS GENERATED.
    THIS TAPE WAS DECODED, AND PSUEDO SOURCE OUTPUT ON MAG TAPE.
    THE PSUEDO SOURCE WAS REASSEMBLED USING THE DOS ASSEMBLER.
    THE BINARY TAPE GENERATED BY THE ASSEMBLER WAS COMPARED TO THE
    ORIGINAL. 
  DECODING OF MEMORY REFERENCE INSTRUCTIONS WAS CHECKED IN A SIMILAR WAY. 
  
  
 **PROGRAM DESCRIPTION: 
  
  IF AN INSTRUCTION CAN BE DECODED AS TWO ASCII CHARACTERS, THESE 
  WILL APPEAR IN THE COMMENT FIELD ON THE LISTING ONLY. 
  THIS PROGRAM AS WRITTEN HAS CAPABILITY FOR HANDLING UP TO 4096 LABELS.
  IF TABLE OVERFLOW OCCURS, PROGRAM HALTS AFTER DIAGNOSTIC MESSAGE. 
  AMAX IN LINE 28 CAN BE INCREASED TO APPROXIMATELY 7500 IN A 32K MACHINE 
  FOR INCREASED CAPACITY. IF THE COMPUTER HAS ONLY 16K OF CORE MEMORY,
  AMAX MUST BE SET TO 3000. 
  DECODING THE ENTIRE ALGOL COMPILER GENERATED 1130 LABELS. 
  IN INTERPRETING THE RESULTS OF A DCODE PROGRAM LISTING, ONE MUST BE 
  AWARE IF SEVERAL POSSIBILITIES AND PITFALLS. CERTAIN EAU INSTRUCTIONS,
  FOR EXAMPLE, CREATE A WORD IN THE NEXT LOCATION WHICH CONTAINS THE
  OPERAND ADDRESS. THEREFORE, A CONSTANT WHICH DECODED INTO A TWO-WORD
  EAU INSTRUCTION WOULD USE THE SECOND WORD FOR THE OPERAND ADDRESS 
  USING BITS 14-0 TO DETERMINE ITS VALUE, AND BIT 15, IF SET, DETERMINES
  THAT IT IS AN INDIRECT REFERENCE. THUS, ALL INFORMATION REQUIRED TO 
  RECONSTRUCT BOTH WORDS AS CONSTANTS IS AVAILABLE. 
  IT SHOULD ALSO BE NOTED THAT DEF, ASC AND CONSTANTS OF ANY TYPE CAN 
  GENERATE FALSE LABELS. SUITABLE EDITING OF THE CONSTANT SECTIONS OF 
  THE PROGRAM AND ANY ASC BUFFERS WILL ELIMINATE MANY OF THE FALSE
  LABELS. IT IS VERY IMPORTANT THAT ANY DEF INSTRUCTIONS BE PROPERLY
  RECONSTRUCTED PRIOR TO ANY EDITING WHICH WOULD RELOCATE ANY PORTION 
  OF THE PROGRAM. 
  IT IS LEFT TO THE USER TO MAKE FINAL DETERMINATIONS OF ACTUAL CODING, 
  AND TO RESOLVE SUCH DILEMMAS AS NOTED.
  CERTAIN BIT COMBINATIONS FORM VARIATIONS ON STANDARD MACHINE CODES
  THAT CAN BE EXECUTED BY THE COMPUTER. EXAMPLE: CLE IS BY THE HP 
  ASSEMBLER CODED TO 000040. HOWEVER THE FOLLOWING CODES WILL ALSO BE 
  EXECUTED AS CLE: 004040, 002100, 006100. SUCH VARIATIONS ON STANDARD
  MACHINE CODES WILL NOT BE DECODED, SINCE A REASSEMBLY OF THE PSUEDO 
  SOURCE WOULD PRODUCE A DIFFERENT OBJECT CODE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE/DOS ALGOL COMPILER
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    COMPILER        ALGOL 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  15527 WITH EXTERNAL SUBPROGRAMS, 6165 WITHOUT 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE PROVIDES THE USER WITH A MODIFIED HP24129 ALGOL COMPILER.
  THE MODIFICATION OUTPUTS A MORE READABLE OBJECT CODE LISTING THAN THE 
  UNMODIFIED ALGOL COMPILER.  FOR ANY GIVEN OPERATING SYSTEM THE ALGOL
  COMPILER REQUIRES AT LEAST 8K MORE OF CORE THAN THE MINIMUM FOR THAT
  SYSTEM.  THUS, THE CODE FOR OBJECT LISTING IS MINIMIZED.  FOR USERS WITH
  MORE CORE, THIS VERSION OF THE COMPILER WILL GIVE A PSEUDO-ASSEMBLY 
  LANGUAGE FORMATTED OBJECT CODE LISTING. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: SOURCE
  FILE# 10: SOURCE
  FILE# 11: SOURCE
  FILE# 12: SOURCE
  FILE# 13: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A TEST PROGRAM GRAPH IS INCLUDED. 
  
  NOTE:  NO REPRESENTATION IS MADE AS TO THE WORKABILITY OF THE TEST
         PROGRAM GRAPH.  IT IS INCLUDED HERE SOLELY AS A TEST PROGRAM 
         FOR THE OBJECT CODE LISTING ROUTINES OF THE SUBMITTED ALGOL
         COMPILER.
  
  CHANGE THE CONTROL OF GRAPH TO HPAL,A,"GRAPH".  COMPILE WITH HP 22443 
  ALGOL COMPILER AND THE SUPPORTED HP 24129 ALGOL COMPILER.  COMPARE
  LISTINGS. 
  
  
 **PROGRAM DESCRIPTION: 
  
  ANYONE WHO HAS EVER HAD TO OBTAIN AN OBJECT CODE LISTING FROM THE ALGOL 
  COMPILER (EITHER DOS/RTE OR MTS (STANDALONE)) KNOWS WHAT A FRUSTRATING
  EXPERIENCE IT CAN BE.  ALL REQUIRED INFORMATION IS THERE, BUT IT IS 
  VIRTUALLY UNREADABLE UNLESS:
  
  1.  THE USER KNOWS THE OCTAL CODES FOR ALL THE REGISTER-REFERENCE AND 
      OTHER ABSOLUTE INSTRUCTIONS, OR DOES NOT MIND LOOKING THEM UP 
      INDIVIDUALLY WHEN ENCOUNTERED.
  
  2.  HE CAN EASILY SPOT THE CODE WHICH IS EMITTED OUT-OF-LINE (A 
      NECESSARY FEATURE OF A SINGLE-PASS COMPILER). 
  
  3.  HE CAN TELL THE DIFFERENCE (FROM CONTEXT) BETWEEN ABSOLUTE
      INSTRUCTIONS (E.G., REGISTER-REFERENCE) AND DATA WORDS (CONSTANTS,
      ASCII CHARACTER PAIRS IN FORMAT STRINGS, ETC.). 
  
  4.  AT A MEMORY-REFERENCE INSTRUCTION, HE DOES NOT MIND TRANSLATING THE 
      GIVEN OCTAL OPERAND ADDRESS INTO THE PARTICULAR SYMBOL BEING
      REFERENCED AT THE TIME. 
  
  THE REASON FOR THIS SITUATION IS SIMPLY THE AMOUNT OF CORE AVAILABLE. 
  FOR ANY GIVEN OPERATING SYSTEM, THE ALGOL COMPILER IS SO LARGE THAT IT
  REQUIRES AT LEAST 8K MORE CORE THAN THE MINIMUM FOR THAT SYSTEM.  CORE
  CANNOT BE SAVED BY SEGMENTING, SINCE THE RECURSIVE ROUTINES (AND THEIR
  SUPPORTING STACKS) CANNOT BE SWAPPED IN AND OUT DURING COMPILER EXECU-
  TION.  THUS, THE CODE FOR OBJECT LISTING MUST BE MINIMIZED. 
  
  FOR USERS WITH EXTRA CORE, THIS PACKAGE PROVIDES THE HP 24129 ALGOL 
  COMPILER WITH "A MODIFIED" ROUTINE TO PRINT A MORE READABLE OBJECT CODE 
  LISTING.  THIS VERSION OF THE COMPILER PROVIDES A PSEUDO-ASSEMBLY 
  LANGUAGE FORMATTED OBJECT CODE LISTING.  ALL REGISTER-REFERENCE 
  MNEUMONICS ARE PRINTED, AS ARE MEMORY-REFERENCE MNEUMONICS.  RELOCATABLE
  ADDRESSES ARE LISTED AS DEF'S.  IF THE CONTENTS OF THE OPERAND FIELD OF 
  A MEMORY-REFERENCE OR DEF INSTRUCTION HAVE A SYMBOLIC REFERENCE IN THE
  SYMBOL TABLE, THAT REFERENCE IS PRINTED IN THE OPERAND FIELD.  DOUBLE 
  LOAD/STORE INSTRUCTIONS HAVE "+1" APPENDED TO THE LDB/STB OPERAND 
  (E.G., LDB SYMBOL+1).  ALL OPERANDS WHICH HAVE NO SYMBOLIC REFERENCES 
  ARE PRINTED AS OCTAL ADDRESSES.  ALL OPERANDS (SYMBOLIC OR NUMERIC) 
  HAVE ",I" APPENDED IF THE INSTRUCTION IS INDIRECT.
  CERTAIN ASSEMBLE PSEUDO-OPS AID READABILITY OF THE LISTING.  OCT IS 
  USED WHEREVER CONSTANTS ARE INSERTED IN THE CODE.  THE ORG-ORR PAIR IS
  USED WHENEVER CODE IS EMITTED OUT OF LINE (A BLANK LINE PRECEDES THE ORG
  AND FOLLOWS THE ORR).  THE BSS IS USED WHEREVER SPACE IS TO BE RESERVED 
  BUT NOT LOADED (THE DOS RELOCATING LOADER CHANGES ALL SUCH LOCATIONS TO 
  NOP).  THE OPERAND FIELD OF THE BSS IS THE ONLY FIELD CONTAINING A
  DECIMAL (INSTEAD OF OCTAL) NUMBER, IN THE OBJECT CODE LISTING.
  
  MEMORY-REFERENCE OPERANDS AND DEF OPERANDS WHICH CANNOT BE MATCHED
  SYMBOLICALLY WILL BE LISTED IN "*+N" FORMAT IF N <=7. 
  
  THE SWITCH REGISTER OPTION OF MTS ALGOL HAS BEEN RE-INSTATED INTO THIS
  VERSION OF THE COMPILER.
  
  THE ABOVE MODIFICATIONS HAVE BEEN MADE TO THE HP CUPERTINO-SUPPORTED
  HP 24129 DOS/RTE ALGOL COMPILER.  THE COST IN ADDITIONAL CORE IS 555
  (DECIMAL) WORDS OF PROGRAM AND (APPROXIMATELY) 20 WORDS OF BASE PAGE
  LINKS.  THE LATTER QUANTITY WILL DEPEND ON THE FIRST WORD OF USER AREA
  (OR BACKGROUND PARTITION) SPECIFIED AT SYSTEM GENERATION TIME.
  
  CONTROL AND SYNTAX REQUIREMENTS OF THIS COMPILER ARE UNCHANGED FROM 
  THAT OF THE HP 24129.  THE SOURCE LISTING IS UNCHANGED.  THE ALGOL
  USER'S MANUAL REMAINS APPLICABLE EXCEPT FOR THE ADDITION OF THE ,S
  OPTION TO DOS/RTE ALGOL.  THE OBJECT CODE PRODUCED FOR LOADING AND
  EXECUTION IS UNCHANGED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ASM1
 **PROGRAM TITLE: 
  INTEL 8008 ASSEMBLER FOR THE HP 2100
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    INTEL           ASSEMBLER 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM. 'ASMI', RUNS ON AN HP2100 SERIES COMPUTER AND 
  ASSEMBLES 'INTEL' 8008 MICRO-COMPUTER SOURCE CODE. IT IS A TWO
  PASS ASSEMBLER WHICH WILL RUN IN A DOS-M, RTE, OR BCS ENVIRONMENT.
  AN 8K COMPUTER IS REQUIRED FOR BCS, 12K FOR DOS-M.
  THE INPUT TO 'ASMI' IS A PAPER TAPE SOURCE CONTAINING SYMBOLIC
  LANGUAGE INSTRUCTIONS. THE OUTPUT IS A LINE PRINTER (OR TELETYPE) 
  LISTING OF THE SYMBOL TABLE, THE CODE GENERATED BY THE ASSEMBLER, 
  AND THE SOURCE CODE. IT WOULD BE EASY TO MODIFY THE PROGRAM TO
  PUNCH THE OUTPUT CODE IN (INTEL) 'BNPF' FORMAT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  TWO SAMPLE INTEL SOURCE PROGRAMS ARE INCLUDED.
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTING. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  AMWCS 
 **PROGRAM TITLE: 
  RTE MICROASSEMBLER FOR WRITEABLE CONTROL STORE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    MICROCODE       ASSEMBLER       WCS 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  8.5K BACKGROUND 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'AMWCS' IS A WRITEABLE CONTROL STORE, MICROCODE ASSEMBLER WHICH 
  OPERATES UNDER CONTROL OF THE REAL-TIME EXECUTIVE OPERATION SYSTEM. 
  
  MICROCODE ASSEMBLY SOURCE MAY BE INPUT FROM ANY LOGICAL UNIT
  NUMBER (PAPER TAPE, CARDS, ETC.), LOGICAL SOURCE (LS) TRACKS OR 
  FROM A FILE MANAGER PACKAGE (FMP) FILE. MICROCODE OUTPUT FROM THE 
  ASSEMBLER MAY BE TO ANY OUTPUT LOGICAL UNIT OR TO AN FMP FILE VIA 
  FMP CALLS.
  
  SOURCE LANGUAGE INPUT FORMAT, LIST FORMAT AND MICROCODE OUTPUT FORMAT 
  ARE HP STANDARD AS OUTLINED IN THE HP MICRO-PROGRAMMING MANUALS 
  
  HARDWARE REQUIREMENTS FOR 'AMWCS' INCLUDE: STANDARD RTE CONFIGURATION 
  WITH A MINIMUM OF 8.5K BACKGROUND.
  
       LITERATURE REFERENCE 
  RTE PROGRAMMING AND OPERATING MANUAL #HP 02005-90001 MICROPROGRAMMING 
  SOFTWARE MANUAL #HP 02100-90133 MICROPROGRAMMING GUIDE MANUAL #HP 5951- 
  3028 DOS MICROPROGRAMMNG SOFTWARE MANUAL #HP 02100-90146
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  FILE#  5: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND ASSEMBLE PROGRAM AND SUPPORTING SUB-ROUTINES. LOAD INTO 
  SYSTEM AS A BACKGROUND DISC-RESIDENT PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  TO SCHEDULE AMWCS:
  
  *ON,AMWCS, A, B, C, D 
  
  WHERE:
  
  A = LOGICAL UNIT OF SOURCE INPUT DEVICE. DEFAULT
    = 5.  2 = LS TRACKS.
  B = LOGICAL UNIT OF LIST DEVICE. DEFAULT = 6. 
  C = LOGICAL UNIT OF PUNCH DEVICE. DEFAULT = 4.
  D = MAXIMUM NUMBER OF LINES/PAGE FOR SOURCE MICROPROGRAM LISTING. 
      DEFAULT = 56. 
  NOTE: IF 100 IS ADDED TO A KYBD/DISPLAY LOGICAL UNIT NUMBER AND 
  SUPPLIED FOR PARAMETERS A AND/OR C, THE MICROASSEMBLER WILL REQUEST A 
  FMP FILE NAME TO BE ENTERED THRU THAT DEVICE. THE FMP FILE(S) WILL
  THEN BE USED FOR SOURCE AND/OR OBJECT MICROCODE RESPECTIVELY. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  NOT SUPPLIED - SUGGEST USING ANY LAB EXERCISE IN 2100 MICROPROGRAMMING
  STUDENT'S MANUAL
  
  
 **PROGRAM DESCRIPTION: 
  
  THE RTE MICROASSEMBLY INCORPORATES ALL OF THE FEATURES OF THE HP DOS
  MICROASSEMBLER AS OUTLINED IN THE HP MICROPROGRAMMING SOFTWARE MANUAL 
  (HP # 02100-90146). 
  
  ALL REFERENCES TO FILES IN THE DOS MANUAL ARE CHANGED TO RTE FMP FILES. 
  SOURCE FILES ARE TYPE 0 OR 4. OBJECT MICROCODE FILES ARE TYPE 0 OR 7. 
  
  THE CONTROL STATEMENT $NAME = XXXXXX, WHERE XXXXXX IS ANY 1 TO 6 SIX
  CHARACTER NAME, HAS BEEN INCORPORATED TO PERMIT THE PROGRAM NAME TO BE
  LISTED AT THE TOP OF EACH LISTING PAGE. 
  
       SPECIAL CONSIDERATIONS 
  AMWCS ASSUMES THE RTE FILE MANAGER PACKAGE OPTION TO BE PRESENT IN THE
  SYSTEM. THE FMP IS NOT ESSENTIAL TO THE OPERATION OF THE ASSEMBLER
  AND MAY BE ELIMINATED BY: 
  
  1. DELETED ALL STATEMENTS IN THE MAIN PROGRAM THAT REFERENCES FMP 
  ROUTINES. 
  2. SUPPLY DUMMY ENTRY POINTS FOR ALL HP ROUTINES UTILIZED AND NOT 
  INVOKING FMP FEATURES.
  3. FORCE END OF LOAD WITH OUT SATISFYING FMP EXTERNALS AND NOT
  INVOKING FMP FEATURES.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DIAGNOSTIC MESSAGES AND ERROR CODES ARE IDENTICAL TO THOSE CONTAINED IN 
  THE HP MICROPROGRAMMING SOFTWARE MANUAL # 02190-90133 AND THE DOS MICRO-
  PROGRAMMING SOFTWARE MANUAL # 02100-90146.
  
  
 **MISCELLANEOUS: 
  
  
E00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MACRO 
 **PROGRAM TITLE: 
  RTE MACRO PROCESSOR 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    MACRO           ASSEMBLER 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  MACRO IS A GENERALIZED MACRO PROCESSOR WHICH PROVIDES FACILITIES FOR
  DEFINING, INVOKING, AND PURGING MACRO-DEFINITIONS.  IT MAY BE USED TO 
  EXTEND EXISTING PROGRAMMING LANGUAGES BY ADDING MACRO STATEMENTS, OR
  TO TRANSLATE SIMILIAR LANGUAGES.
  
  HARDWARE REQUIREMENTS:  2100 SERIES WITH 64K, A CONSOLE, I/O DEVICES, 
  AND DISC.  RTE-II/III WITH FMP. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: MACRO SOURCE
  FILE#  3: LBBLD SOURCE
  FILE#  4: TEST SOURCE 
  FILE#  5: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION FOR DETAILS. 
   1) COMPILE, LOAD, AND RUN LBBLD TO CONSTRUCT MACRO LIBRARY (MACLIB). 
   2) COMPILE AND LOAD MACRO. 
  
  
 **RUN INSTRUCTIONS:
  
  AFTER PREPARING SOURCE INPUT AS DESCRIBED IN EXTENDED DOCUMENTATION,
  RUN MACRO WITH THE COMMAND; 
  RU,MACRO,LSU,LOU,LLU
    LSU = LOGICAL UNIT NUMBER OF THE SOURCE INPUT DEVICE (DEFAULT IS 1) 
    LOU = LOGICAL UNIT NUMBER OF THE SOURCE OUTPUT DEVICE (DEFAULT IS 6)
    LLU = LOGICAL UNIT NUMBER OF THE LOG DEVICE  (DEFAULT IS 1) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A TEST SOURCE IS PROVIDED WITH MACRO.  THE EXPECTED OUTPUT AND LOG
  CONTENTS ARE SHOWN IN THE EXTENDED DOCUMENTATION.  THE APPEARANCE OF
  THE OUTPUT MAY VARY SLIGHTLY DEPENDING ON THE TYPE OF PRINTER OR TERMIN-
  AL TO WHICH OUTPUT IS DUMPED. 
  
  
 **PROGRAM DESCRIPTION: 
  
  DUE TO SPACE LIMITATIONS, MACRO IS DESIGNED TO PERFORM I/O ON DEVICES 
  ONLY (WITH THE EXCEPTION OF THE LIBRARY).  THE CODE COULD EASILY BE 
  MODIFIED, HOWEVER, TO MAKE FMGR READ AND WRITE CALLS, AND ALLOW DIRECT
  PROCESSING OF FILES. AN ALTERNATE METHOD OF ACCESSING FILES IS TO ASSIGN
  THEM LOGICAL UNIT NUMBERS VIA A BATCH-SPOOL MONITOR (IF IT IS AVAILABLE)
  
  LITERATURE REFERENCE: 
  AHO, ALFRED V. AND CORASICK, MARGARET J., "EFFICIENCY STRING MATCHING:
  AN AID TO BIBLIOGRAPHIC SEARCH," COMMUNICATIONS OF THE ACM, VOL 18, #6. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  NUMERIC ERROR MESSAGES ARE PROVIDED BY MACRO TO INDICATE INVALID INPUT
  OR FILE MANAGER ERRORS.  A COMPLETE TABLE OF ERROR MESSAGES IS GIVEN
  IN APPENDIX A OF THE MACRO MANUAL.
  
  
 **MISCELLANEOUS: 
  
  
E00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MINV
 **PROGRAM TITLE: 
  INVERSE ASSEMBLER FOR 2100 MICROCODE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    ASSEMBLER       MICROCODE       INVERSE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'MINV' IS AN INVERSE ASSEMBLER FOR 2100 MICROCODE. IT WILL PRODUCE
  A LISTING FROM A BINARY TAPE GENERATED BY THE MICRO ASSEMBLER. 'MINV' 
  WILL ALSO PRODUCE SOURCE CODE THAT CAN BE DIRECTLY INCORPORATED IN
  ASSEMBLY LANGUAGE PROGRAMS. IT GENERATES 'OCT' STATEMENTS WITH THE
  PROPER MICRO INSTRUCTION CODES AND PUTS THE CORRESPONDING INVERSE 
  ASSEMBLY IN THE COMMENTS FIELD. THIS CAN BE PUT INTO A PROGRAM SO THAT
  THE PROGRAM CAN WRITE IT TO WCS, MAKING THE PROGRAM MORE SELF CONTAINED.
  'MINV' MAKES EXEC CALLS TO THE OPERATING SYSTEM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: MINV SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE AND LOAD. NO SUBROUTINES OTHER THAN SYSTEM LIBRARY ARE 
  REQUIRED. 
  
  
 **RUN INSTRUCTIONS:
  
  :ON,MINV,I,O,F
   WHERE I = INPUT UNIT. (DEFAULT = 5). CANNOT BE A DISC FILE.
         O = OUTPUT UNIT. (DEFAULT = 6). CANNOT BE A DISC FILE. 
         F = FLAG. 0 TO INVERSE ASSEMBLE. NON - 0 TO GENERATE PROGRAM 
             CODE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  MICROCODE BINARY FORMAT DOES NOT HAVE A 4 FRAME INTER-RECORD GAP LIKE 
  STANDARD VARIABLE LENGTH BINARY FORMAT. THEREFORE, IF THE PHOTOREADER 
  BRAKE IS WEAK OR THE TAPE IS SLIPPERY, THE READER WILL STOP THE TAPE
  PART WAY INTO THE NEXT FRAME. THIS WILL CAUSE A CHECKSUM ERROR ON THE 
  NEXT BLOCK OF CODE. USE CLEAN TAPE AND HAVE THE BRAKES CHECKED EVERY
  12000 MILES.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  A CHECKSUM ERROR WILL CAUSE MINV TO PAUSE. EXECUTION CONTINUES WITH 
  A GO,MINV COMMAND.
  
  
 **MISCELLANEOUS: 
  
  
E00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  M8080 
 **PROGRAM TITLE: 
  INTEL 8080 ABSOLUTE PROGRAM ASSEMBLER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    ASSEMBLER       INTEL           ABSOLUTE
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  M8080 ASSEMBLES ABSOLUTE PROGRAMS WRITTEN IN THE ASSEMBLY LANGUAGE
  DESCRIBED IN THE "INTEL 8080 ASSEMBLY LANGUAGE PROGRAMMING MANUAL," 
  WITH THE FOLLOWING EXCEPTIONS:
  
  1) MACROS ARE NOT SUPPORTED, BECAUSE MORE POWERFUL MACRO FACILITIES ARE 
     ALREADY AVAILABLE. 
  
  2) ONLY THE OPERANDS + AND - ARE ALLOWED WITHIN EXPRESSIONS.
     (OTHERS SEEMED UNNECESSARY.) 
  
  3) STATEMENT LABELS ARE LIMITED TO 5 CHARACTERS.
  
  HARDWARE REQUIREMENTS: RTE SYSTEM WITH A MINIMUM OF 32K AND A PAPER-
  TAPE PUNCH (OR OTHER MICRO-PROCESSOR SUPPORTED MEDIA).
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: M8080 SOURCE
  FILE#  3: TEST INPUT
  
  
 **LOAD INSTRUCTIONS: 
  
  1. COMPILE THE SOURCE PROGRAM M8080, USING FTN4.
  2. LOAD THE RESULTING RELOCATABLE PROGRAM, USING LOADR. 
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN M8080, ENTER:
  *RU,M8080,AB,CD,EF,LLU,PLU
  WHERE:
  "ABCDEF" IS THE NAME OF THE INTEL 8080 SOURCE FILE, 
  "LLU" IS THE LOGICAL UNIT NUMBER OF A LIST DEVICE, AND, 
  "PLU" IS THE LOGICAL UNIT NUMBER OF A PUNCH (BINARY OUTPUT) 
  DEVICE. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  M8080 MAY BE TESTED TO VERIFY CORRECT LOADING BY STORING THE TEST DATA
  INTO A DISC FILE, AND RUNNING M8080 USING THE FILE AS SOURCE INPUT. 
  
  
 **PROGRAM DESCRIPTION: 
  
  LITERATURE REFERENCE
  INTEL 8080 ASSEMBLY LANGUAGE PROGRAMMING MANUAL, INTEL PART 
  NUMBER 98-004C REV C. 
  SPECIAL CONSIDERATIONS
  M8080'S SYMBOL TABLE SPACE IS LIMITED TO 200 SYMBOLS, 10 OF WHICH ARE 
  PRE-DEFINED BY THE ASSEMBLER. THIS SPACE MAY BE EXPANDED BY CHANGING
  THE FIRST DIMENSION OF THE ARRAY ISMTAB IN LINES 83, 839, AND 908, AND
  CHANGING THE VALUE OF ISMLIM IN LINE 148 TO MATCH THE NEW DIMENSION.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INVALID SOURCE STATEMENTS AND EXPRESSIONS IN THE USER'S PROGRAMS
  WILL BE FLAGGED WITH SELF-EXPLANATORY ERROR MESSAGES, KEYED TO LINE 
  NUMBERS IN THE USER'S PROGRAM.
  
  
 **MISCELLANEOUS: 
  
  
E00801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  COMP
 **PROGRAM TITLE: 
  COMPILING FROM A FILE WITHOUT LS AND LG AREAS 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    COMPILER
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'COMP' PERMITS COMPILING FROM A FILE, BYPASSING THE LS AND LG AREAS. THE
  LISTING AND THE RELOCATABLE ELEMENT ARE DIRECTED TO OUTPUT FILES OR TO
  LOGICAL UNITS. 'COMP' REQUIRES ANOTHER PROGRAM FROM THE CONTRIBUTED 
  LIBRARY, "USER SPOOL POOL ACCESS OR SPOOLING MADE EASIER". COMP 
  USES EXEC CALLS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: COMP SOURCE 
  FILE#  3: DATE SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  1)THE COMP PROGRAM IS COMPILED IN THE USUAL MANNER USING THE FORTRAN
    IV COMPILER. TO LOAD, COMP REQUIRES SUBROUTINE GETST FROM THE CURRENT 
    RTE LIBRARY, NAMR FROM THE CURRENT RELOCATABLE LIBRARY, AND SFILL,
    SMOVE, SGET, AND JSCOM FROM THE DECIMAL STRING ARITHMETIC LIBRARY.
    SOME OLDER SYSTEMS MAY NOT INCLUDE THESE. IT ALSO REQUIRES SUBROUTINES
    SPOLU AND IFMGR FROM THE LOCUS CONTRIBUTION "USER SPOOL POOL ACCESS 
    OR SPOOLING MADE EASIER" (OLD PART 22682-28931).
  
  2)PROGRAM DATE IS USED BY COMP TO PRINT THE CURRENT DATE AND TIME 
    (FR0M THE SYSTEM CLOCK) AT THE START OF THE COMPILER LISTINGS. IT MUST
    BE KNOWN TO THE SYSTEM (RP'ED) FOR COMP TO WORK. IT IS STARTED BY THE 
    EXEC CALL ON LINE 132 OF THE COMP SOURCE CODE. ANOTHER CALL 
    OR CONTINUE MAY BE SUBSTITUTED HERE TO ELIMINATE THE NEED FOR DATE. 
  
  3)PROGRAM SPLUM FROM "USER SPOOL POOL ACCESS OR SPOOLING MADE EASIER" 
    IS USED BY COMP. IT MUST ALSO BE KNOWN TO THE SYSTEM FOR COMP TO WORK 
    PROPERLY. 
  
  4)THE SYSTEM OUTSPOOL LOGICAL UNITS ARE IDENTIFIED TO COMP BY ARRAY 
    OSLST IN SUBROUTINE ASG. THE DATA STATEMENT ON LINE 208 OF THE COMP 
    SOURCE CODE LISTS THE OUTSPOOL LOGICAL UNITS. THE FIRST NUMBER IN THE 
    ARRAY IS THE NUMBER OF OUTSPOOL LOGICAL UNITS; SUCCEEDING NUMBERS ARE 
    THE LOGICAL UNIT NUMBERS. OUTSPOOL LU'S 6 AND 8 ARE SPECIFIED 
    IN THE SUPPLIED CODE. THESE SHOULD BE CHANGED TO THE APPROPRIATE
    NUMBERS FOR YOUR SYSTEM.
  
  5)THE SUPPLIED CODE PRODUCES LISTINGS WITH 50 LINES PER PAGE. THIS
    CAN BE CHANGED BY CHANGING THE SIXTH PARAMETER IN THE EXEC CALL THAT
    STARTS THE COMPILER (LINE 133 IN THE COMP SOURCE CODE). 
  
  6)COMP USES THE FORTRAN ASSIGN STATEMENT AND FORMAT STATEMENTS TO 
    INITIALIZE CERTAIN ASCII STRINGS. THIS IS A NON-STANDARD USE OF FTN.
    WHILE IT WORKS WELL WITH H-P FORTRAN IV (PART 24177-60001 REV. 1442), 
    IT CANNOT BE GUARANTEED WHEN USING OTHER FORTRAN COMPILERS. 
  
  
 **RUN INSTRUCTIONS:
  
  1.COMP REQUIRES THE USER TO SUPPLY PARAMETERS DESIGNATING THE 
    LANGUAGE PROCESSOR TO BE USED AND THE SOURCE, RELOCATABLE, AND LIST 
    FILES OR LU'S. THESE CAN BE SUPPLIED AS A PARAMETER STRING IN 
    THE :RUN STATEMENT OR AS RESPONSES TO PROMPTS FROM THE PROGRAM. 
  
  2)THE GENERAL FORM FOR THE :RUN STATEMENT TO START COMP IS: 
  
  :RU,COMP[,TERMINAL,PROCESSOR,SOURCE[,RELOCATABLE [,LIST]]]
  
    IF THE PROCESSOR PARAMETER IS OMITTED, COMP PROMPTS FOR ALL ENTRIES.
    THE TERMINAL PARAMETER DEFAULTS TO THE USER'S TERMINAL. THE SOURCE, 
    RELOCATABLE, AND LIST PARAMETERS CAN BE EITHER FMGR FILES OR
    LU'S. IF A FILE SPECIFIED FOR THE RELOCATABLE OR LIST PARAMETER 
    DOES NOT EXIST, IT WILL BE CREATED, IF POSSIBLE.
  
  3)THE CHARACTER "-" CAN BE USED FOR THE RELOCATABLE AND THE LIST
    PARAMETERS. WHEN USED FOR THE RELOCATABLE PARAMETER, THE PROGRAM
    SUBSTITUTES "%" FOR THE FIRST CHARACTER IN THE SOURCE FILE NAMR AND 
    USES THE RESULT AS THE NAMR FOR THE RELOCATABLE FILE. THE ACTION IS 
    SIMILAR WHEN USED AS THE LIST PARAMETER, BUT CHARACTER "'"
    IS USED TO FORM THE LIST FILE NAMR. 
  
  4)THE CHARACTER "/" CAN BE USED FOR THE SOURCE, RELOCATABLE, OR LIST
    PARAMETER, BUT ONLY FOR ONE AT A TIME. IT MEANS THE TERMINAL IS 
    USED FOR THE PARAMETER. 
  
  5)WHEN THE PROGRAM IS PROMPTING FOR INPUT, RESPONDING TO A PROMPT WITH
    TWO EXCLAMATION POINTS (!!) WILL CAUSE THE PROGRAM TO ABORT.
  
  6)IF THE RELOCATABLE PARAMETER IS NULL, NO RELOCATABLE ELEMENT IS 
    PRODUCED. IF THE LIST PARAMETER IS OMITTED, NO LISTING IS PRODUCED. 
    THIS FEATURE DEPENDS ON AN UNDEFINED LU EXISTING IN THE SYSTEM. 
    IF AN UNDEFINED LOGICAL UNIT CANNOT BE FOUND, LU 1 IS USED FOR
    THE PARAMETER.
  
  7)WHEN THE RELOCATABLE OR LIST PARAMETER IS AN LU NUMBER, 
    OUTPUT IS SPOOLED TO THE LU IF AN OUTSPOOL LU IS SPECIFIED. 
    TO AVOID THE SPOOLING, THE USER CAN SPECIFY THE NEGATIVE OF THE LU
    NUMBER. 
  8)WHEN A FILE IS SPECIFIED FOR THE LIST PARAMETER, THE OUTPUT TO THE
    FILE WILL BE IN SPOOL FORMAT. 
  9)WHEN THE PROG CREATES A FILE, IT USES 24 BLOCKS FOR THE LENGTH. WHEN
    OUTPUT IS COMPLETE, THE PROG CHECKS THE ACTUAL LENGTH OF THE CREATED
    FILES. IF ANY EXTENTS WERE CREATED FOR A FILE, NO ACTION IS TAKEN.
    OTHERWISE THE CREATED FILE IS TRUNCATED TO THE LENGTH OF THE DATA IT
    CONTAINS. 
  10)IF THE PROGRAM ABORTS THROUGH ITS INTERNAL ERROR HANDLING MECHANISM, 
    ALL FILES WILL BE CLOSED AND CREATED FILES WILL BE PURGED. IF THE 
    PROGRAM IS ABORTED BY SOME OTHER MEANS, THESE ACTIONS MAY NOT HAPPEN. 
    IN PARTICULAR, CREATED FILES WILL NO BE PURGED AND SPOOL FILES MAY BE 
    LEFT OPEN. GASP CAN BE USED TO CHECK THE SPOOL FILES. 
  11)EXAMPLE OF A ONE LINE INITIATION FOR COMP: 
    :RU,COMP,,FTN4,&SOURCE:SC:12,-,/
    THIS CALLS THE FORTRAN COMPILER TO COMPILE THE SOURCE PROGRAM &SOURCE 
    WITH SECURITY CODE SC ON CARTRIDGE 12. THE RELOCATABLE ELEMENT WILL 
    BE ON FILE %SOURCE:SC:12. THIS FILE WILL BE CREATED IF IT DOES NOT
    ALREADY EXIST. THE LISTING WILL GO TO THE USER'S TERMINAL.
  12)ANY STANDARD LANGUAGE PROCESSOR (FTN4,ALGOL,ASMB) CAN BE CALLED
    USING THIS PROGRAM. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ANY SOURCE PROGRAM CAN BE USED TO TEST COMP. TESTS SHOULD INCLUDE ALL 
  APPLICABLE FEATURES AND ERROR MODES.
  
  
 **PROGRAM DESCRIPTION: 
  
  1.THE PROGRAM REQUIRES A 5 PAGE PARTITION.
  2.THE PROGRAM DATE AND THE LANGUAGE PROCESSOR ARE SCHEDULED WITH WAIT 
    IN QUEUE. THEREFORE, MULTIPLE COPIES OF COMP CAN BE USED. 
  3.COMP USES THE "PUNCH" PARAMETER OF THE LANG. PROCESSOR TO OUTPUT THE
    RELOCATABLE ELEMENT. THE "B" OPTION MUST BE SPECIFIED IN THE CONTROL
    LINE FOR ANY SOURCE PROGRAM TO BE COMPILED OR ASSEMBLED USING COMP. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE PROGRAM WILL ABORT IF:
  1.THE PARAMETERS ARE INCORRECT. 
  2.A FILE CANNOT BE OPENED.
  3.THE USER RESPONDS TO A PROMPT WITH "!!".
  THE MESSAGE "ABEND COMP ABORTED" WILL BE DISPLAYED ON THE TERMINAL IN 
  THESE CASES. A FILE ERROR WILL CAUSE A FMGR ERROR TO BE DISPLAYED.
  A FMGR ERROR THAT OCCURS WHEN THE PROGRAM IS CHECKING OR TRIMMING 
  THE LENGTH OF A CREATED FILE WILL NOT CAUSE THE PROGRAM TO ABORT. 
  
  
 **MISCELLANEOUS: 
  
  
E00901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  F8
 **PROGRAM TITLE: 
  FAIRCHILD F-8 ASSEMBLER FOR THE HP2100-21MX 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    ASSEMBLER       FAIRCHILD 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
   THIS PROGRAM, F8, RUNS ON AN HP 2100, 21MX SERIES COMPUTER AND 
  ASSEMBLES FAIRCHILD F-8 MICROPROCESSOR SOURCE CODE. IT IS TWO-PASS
  ASSEMBLER WHICH WILL RUN IN A DOS,RTE OR BCS ENVIRONMENT. AN 8K 
  COMPUTER IS REQUIRED FOR BCS,16K FOR DOS. 
   THE INPUT TO F8 IS A PAPER TAPE SOURCE CONTAINING SYMBOLIC LANGUAGE
  INSTRUCTIONS. THE OUTPUT IS A LINE PRINTER (OR TTY) LISTING OF THE
  SYMBOL TABLE THE CODE GENERATED BY THE ASSEMBLER, AND THE SOURCE CODE.
  THE TAPE PUNCH OUTPUT (FORMATTED OUTPUT) IS READY FOR FAIR-BUG
  LOADER. 
  IT IS A MODIFIED VERSION OF PREVIOUSLY CONTRIBUTED ASSEMBLER OF THE 
  INTEL 8080 MICROPROCESSOR.
   FOR FULL DETAILS SEE SOURCE LISTING. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: F8 SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
   TO USE F8, LOAD THE PAPER TAPE CONTAINING THE SOURCE CODE, AND THEN
  RUN F8 (METHOD DEPEND ON OPERATING SYSTEM). 
   AFTER THE END STATEMENT IS REACHED, THE PROGRAM WILL PAUSE.
   REWIND THE TAPE RELOAD, AND RESTART THE ASSEMBLER FOR PASS TWO. THE
  PROGRAM PRODUCES LISTINGS AND PUNCHES BINARY TAPES. 
       LU 5 = SOURCE CODE INPUT 
       LU 6 = LISTING OUTPUT
       LU 4 = PUNCH OUTPUT
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  FILE 2 CONTAINS THE SOURCE OF EXAMPLE FAIRCHILD PROGRAMS. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
   ASSEMBLER ERRORS AND DIAGNOSTICS ARE OUTPUT ON LINE PRINTER (OR TTY).
  
  
 **MISCELLANEOUS: 
  
   A GUIDE TO PROGRAMMING THE FAIRCHILD F-8 MICROCOMPUTER. FAIRCHILD
  SEMICONDUCTOR (1975). 
  
  (LITERATURE REFERENCE)
E01001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PASCS 
 **PROGRAM TITLE: 
  PASCAL-S COMPILER AND RUN-TIME LIBRARY
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    PASCAL          COMPILER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  A PARTITION OF AT LEAST 12 PAGES. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PASCS TRANSLATES SOURCE PROGRAMS WRITTEN IN PASCAL-S (A SUBSET OF THE 
  PROGRAMMING LANGUAGE PASCAL) INTO RELOCATABLE BINARY CODE. THIS CODE
  MUST THEN BE LOADED ALONG WITH A RUN-TIME LIBRARY OF SUBROUTINES (ALSO
  PROVIDED WITH THE SYSTEM), WHICH PROVIDES SUPPORT FOR THE EXECUTION.
  IT IS POSSIBLE TO DECLARE, IN THE PASCAL SOURCE PROGRAMS, THAT SOME 
  ROUTINES (PROCEDURES OR FUNCTIONS) ARE EXTERNAL (WRITTEN SEPERATELY,
  E.G. IN FORTRAN). THEY ARE LINKED TO THE CODE BY THE RELOCATING LOADER. 
  
  A FULL INSTALLATION AND USER MANUAL IS PROVIDED ALONG WITH THE SYSTEM,
  IN MACHINE-READABLE FORM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: PASCS - PASCAL COMPILER 
  FILE#  3: PARUN - RUN-TIME LIBRARY
  FILE#  4: WRITEUP - INSTALLATION AND USER'S MANUAL
  
  
 **LOAD INSTRUCTIONS: 
  
  THE FILE WRITEUP SHOULD FIRST BE LISTED. IT CONTAINS A FULL MANUAL
  FOR INSTALLATION AND FOR THE USE OF THE COMPILER. IF LOGICAL UNIT 6 
  IS A LINE-PRINTER, ONE SHOULD USE THE COMMAND :ST,WRITEUP,6, TO OBTAIN
  A PROPERLY PAGINATED TEXT.
  
  ASSEMBLE, LOAD AND SAVE PACCC (THIS PRODUCES THE ABSOLUTE PROGRAM 
  PASCS). ASSEMBLE PADDD, AND SAVE THE RESULTING RELOCATABLE CODE IN A
  FILE PARUN. CREATE A BINARY FILE PASBIN, WHERE THE COMPILER WILL STORE
  THE RELOCATABLE CODE IT WILL PRODUCE. REFER TO THE WRITEUP MANUAL FOR 
  ALL DETAILS ABOUT COMPILING, LOADING AND RUNNING PASCAL SOURCE
  PROGRAMS. 
  
  
 **RUN INSTRUCTIONS:
  
  REFER TO REFERENCE MANUAL.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE REFERENCE MANUAL. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E01101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  SPL/2100 COMPILER 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    SPL             COMPILER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  PARTITION OF 15 PAGES.
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  SYSTEM PROGRAMMING LANGUAGE (SPL) IS A HIGH-LEVEL LANGUAGE FOR WRITING
  PROGRAMS SUCH AS COMPILERS, DEVICE DRIVERS AND OPERATING SYSTEMS. 
  SPL/2100 IS THE VERSION DESIGNED FOR USE WITH THE 21MX SERIES OF
  COMPUTERS.
  
  THE SPL/2100 COMPILER CAN BE USED WITH AN RTE2,3,4 SYSTEM. A PROGRAM
  SIZE OF 15 PAGES SHOULD BE SPECIFIED WHEN THE COMPILER IS LOADED. 
  THE COMPILER TRANSLATES PROGRAMS WRITTEN IN SPL/2100 TO HP ASSEMBLY 
  LANGUAGE. THE SPL PROGRAM IS INPUT FROM THE LS AREA AND THE RESULTING 
  ASSEMBLY LANGUAGE PROGRAM IS OUTPUT BACK TO THE LS AREA. THE COMPILER 
  THEN SCHEDULES THE HP ASSEMBLER TO PROCESS THE ASSEMBLY LANGUAGE PROGRAM
  AND GENERATE THE OBJECT CODE. 
  
  SINCE THE RTE4 ASSEMBLER DOES NOT ACCEPT SOURCE PROGRAMS FROM THE LS
  AREA, THE USER MUST FIRST SAVE THE LS AREA AS A DISC FILE AND THEN
  SCHEDULE THE ASSEMBLER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: TRANSFER FILE 
  FILE#  3: RELOCATABLE OF SPL/2100 COMPILER
  FILE#  4: EXAMPLE SPL SOURCE PROGRAM
  
  
 **LOAD INSTRUCTIONS: 
  
  LOADING THE SPL/2100 COMPILER.
  ==============================
  
  USE THE FOLLOWING TO LOAD THE SPL/2100 COMPILER:
  IN A RTE2/3 SYSTEM: 
  ------------------- 
  
  :LG,16
  :MR,MAG TAPE LU 
  :RU,LOADR,99,LIST LU,...
            (SPECIFY A 15 PAGE PARTITION AND SEGMENTED PROGRAMS 
  
  IN A RTE4 SYSTEM: 
  ----------------- 
  
  :ST,MAG TAPE LU,%SPL:SC:CRN:5:750,BR
  :RU,LOADR 
        LOADR: S2,15
        LOADR: RE,%SPL
        LOADR: EN 
  
  THE SPL COMPILER HAS 10 SEGMENTS, SG01C TO SG10C. 
  
  
 **RUN INSTRUCTIONS:
  
  COMPILING A SPL PROGRAM.
  ========================
  
  SUPPOSE THE FMGR FILE "SOURCE" CONTAINS A SPL PROGRAM. USE THE
  FOLLOWING TO COMPILE THIS PROGRAM AND STORE THE RELOCATABLE BINARY IN 
  A FMGR FILE CALLED "OBJECT".
  
  IN A RTE2/3 SYSTEM: 
  ------------------- 
  
  :LG,N      N SHOULD BE SUFFICIENT TRACKS FOR THE PROGRAM
  :MS,SOURCE
  :RU,SPL,2,LIST LU,99
       THE SPL COMPILER 
              1. ACCEPTS THE SOURCE PROGRAM IN THE LS AREA, 
              2. TRANSLATES IT TO ASSEMBLY LANGUAGE,
              3. STORES THE ASSEMBLY VERSION BACK IN THE LS AREA, 
              4. SCHEDULES THE ASSEMBLER TO PRODUCE THE OBJECT CODE.
  
  :SA,LG,OBJECT 
       THE OBJECT CODE NOW RESIDES IN THE FILE "OBJECT".
  
  IN A RTE4 SYSTEM: 
  ----------------- 
  
  :MS,SOURCE
  :RU,SPL,2,LIST LU,99
       THE SPL COMPILER 
              1. ACCEPTS THE SOURCE PROGRAM IN THE LS AREA, 
              2. TRANSLATES IT TO ASSEMBLY LANGUAGE,
              3. STORES THE ASSEMBLY VERSION BACK IN THE LS AREA, 
              4. SCHEDULES THE ASSEMBLER TO PRODUCE THE OBJECT CODE.
  
       HOWEVER, SINCE THE RTE4 ASSEMBLER DOES NOT USE THE LS/LG AREA
       THE ASSEMBLER DOES NOT RECOGNIZE THE PROGRAM CREATED BY THE SPL
       COMPILER. THE ASSEMBLER ABORTS WITH A "NO INPUT SOURCE FILE" ERROR.
  
                 ASMB: $END NPRG
                 ASMB: $END 
       THE SOLUTION IS FOR THE USER TO SAVE THE LS AREA AS A FMGR FILE
       AND THEN RUN THE ASSEMBLER WITH THIS FILE AS THE INPUT SOURCE FILE.
       SUPPOSE THIS FILE IS CALLED "ASMB-SOURCE". 
  
  :SA,LS,ASMB-SOURCE
  :RU,ASMB,ASMB-SOURCE,LIST LU,OBJECT 
       THE OBJECT CODE NOW RESIDES IN THE FILE "OBJECT" AND CAN BE LOADED.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A SAMPLE SPL SOURCE PROGRAM IS INCLUDED.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ADDITIONAL CONSIDERATIONS.
  ----------
  
  SINCE THE ASSEMBLER IS SCHEDULED BY THE SPL COMPILER, THE ASSEMBLER'S 
  MAIN AND ALL OF ITS SEGMENTS MUST HAVE ID SEGMENTS(I.E. MUST HAVE BEEN
  RP'D) WHEN THE SPL COMPILER IS RUN. IN ADDITION, IF A CROSS REFERENCE 
  LISTING IS DESIRED, THE CROSS REFERENCE PROGRAM (XREF) MUST ALSO HAVE 
  BEEN RP'D.
  
  FOR EXAMPLE, IF THE ASSEMBLER'S MAIN PROGRAM DOES NOT HAVE AN ID
  SEGMENT, THE USER WILL SEE THIS MESSAGE AT HIS TERMINAL WHEN HE RUNS
  SPL:
  
      ABEND SPL ABORTED 
  
  THE SYSTEM CONSOLE WILL SOON SHOW THIS MESSAGE: 
  
       SPL:    ASMB SCHEDULED 
       SC05    SPL  XXXXX 
       SPL     ABORTED
  
  
 **MISCELLANEOUS: 
  
  
E01201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UNBLK 
 **PROGRAM TITLE: 
  DEC RT-11 TO HP RTE SOURCE CONVERTER
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    DEC             CONVERSION      TRANSLATOR
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM CONVERTS DIGITAL EQUIPMENT CORP. (DEC) RT-11 SOURCE
  FILES ON MAGNETIC OR PAPER TAPE INTO HP RTE DISC FILES. THE ORIGINAL
  SOURCE CAN BE FORTRAN, RT11 ASSEMBLER, TEXT, DATA, OR RESULTS. THE
  PROGRAM CONVERTS CARRIAGE RETURNS, LINE FEEDS, TABS, NULLS, AND 
  APOSTROPHES INTO ACCEPTABLE RTE SYNTAX. HOWEVER, THERE ARE OTHER RT-11
  PECULIARS THAT THE PROGRAM CANNOT RESOLVE INTO ACCEPTABLE RTE FORMAT. 
  THEREFORE, THE USER MUST FURTHER MODIFY THE RESULTING DISC FILE AS
  REQUIRED. HOWEVER, MUCH TIME IS SAVED BY AUTOMATICALLY CONVERTING 
  
  MOST OF THE SOURCE FIRST WITH THIS PROGRAM. 
  THIS CONVERSION ALSO INCLUDES SUGGESTION OF AN
  APPROPRIATE RTE DISC FILE NAME BASED ON THE RTE-11 FILE NAME AND
  EXTENSION (TYPE). FOR FORTRAN FILES, THE CONTROL STATEMENTS FTN4, L,C 
  AND END$ ARE PLACED AT THE BEGINNING AND END OF THE FILE RESPECTIVELY.
  
  LITERATURE REFERENCE: RT-11 SOFTWARE SUPPORT MANUAL DEC-11-ORGPA-B-D, 
                        DNI FOR MAGNETIC TAPE FILE
                        STRUCTURE PP. 3-11, 3-12. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: UNBLK SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  :ST,5,&UNBLK
  :RU,FTN4,&UNBLK,1,%UNBLK
  :LG 
  :LG, 3
  :MR,%UNBLK
  :RU,LOADR,99,1,,,3
  
  
 **RUN INSTRUCTIONS:
  
    :RU,UNBLK,A,B,C,D,E 
  WHERE A - TERMINAL LU NUMBER (1 IS DEFAULT) 
        B - LIST DEVICE LU NUMBER (6 IS DEFAULT)
        C - DISC CARTRIDGE NUMBER (2 IS DEFAULT)
        D - INPUT DEVICE LU NUMBER (POSITIVE FOR MAG TAPE, NEGATIVE 
            FOR PAPER TAPE, 8 IS DEFAULT) 
    :RU,UNBLK,A,B,C,D,E 
  WHERE E - PROGRAM CONTROL PARAMETER 
      0 FOR DISC FILE NAMING REQUESTS (DEFAULT),
      1 FOR NO NAMING REQUESTS. CONVERTS ENTIRE MAG TAPE WITHOUT
      INTERRUPTION (SAME EFFECT AS 0 WITH PAPER TAPE). INTERRUPTION IS
      POSSIBLE WITH THE FOLLOWING COMMAND:
                    *BR, UNBLK
      2 FOR FILE NAMING REQUESTS WITH SPECIAL DEBUGGING OUTPUT. SCATTERED 
  
      THROUGHOUT THE PROGRAM ARE WRITE STATEMENTS THAT OUTPUT THE VALUES
      OF VARIOUS VARIABLES AT CERTAIN KEY LOCATIONS. *DIGITS 2,7,9, AND 
      13 WERE DESIRED,THE CORRESPONDING OCTAL DEBUG CODE WOULD BE:
        BIT LOCATION    15  14  13  12  11  10  9  8  7  6  5  4  3  2  1 
        BINARY NUMBER    0   0   1   0   0   0  1  0  1  0  0  0  0  1  0 
        OCTAL NUMBER         1           0         5        0        2
  AS THE PROG RUNS, SEVERAL QUESTIONS MUST BE ANSWERED FROM THE TERMINAL. 
  THESE INCLUDE SELF-EXPLANATORY REQUESTS FOR THE OCTAL DEBUG CODE IF E=2,
  WHICH TAPE FILES ARE TO BE TRANSFERRED IF E IS NOT EQUAL TO 1, AND HOW
  THE DISC FILES SHOULD BE NAMED IF E IS NOT EQUAL TO 1.
  * DURING "NORMAL" RUNS WHEN PROG DEBUGGING IS NOT NEEDED (E IS NOT EQUAL
  TO 2), THESE WRITE STATEMENTS ARE TRANSPARENT(INACTIVE). WHEN DUBUGGING 
  IS NEEDED (E=2), ANY SINGLE OR COMBINATION OF DEBUGGING WRITE'S CAN 
  BE ACTIVATED BY INPUT OF THE CORRESPONDING DEBUG CODE IN OCTAL. THERE IS
  A 1 TO 1 CORRESPONDENCE BETWEEN EACH DEBUGGING WRITE AND THE BITS OF THE
  OCTAL NUMBER. THEREFORE, IN A 5 DIGIT OCTAL NUMBER, THERE ARE 15 BINARY 
  DIGITS AND UP TO 15 DIFFERENT WRITE STATEMENTS THAT CAN BE ASSOCIATED 
  WITH AND SELECTED FROM THAT 15 DIGIT NUMBER.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
   EXAMPLE INPUT/OUTPUT (TEST CASE) 
  IT IS NOT POSSIBLE TO INCLUDE A SAMPLE DEC SOURCE FOR TEST PURPOSES DUE 
  TO PROPRIETARY AND COPYRIGHT RESTRAINTS. FOR DEMO PURPOSES, ASSUME THE
  USER HAS A MAG AND A PAPER TAPE, EACH WITH THE FOLLOWING FILES
              NAME1 .FOR (FORTRAN)
              NAME2 .FOR (FORTRAN)
              NAME3 .MAC (ASSEMBLER)
              NAME4 .MAC (ASSEMBLER)
              NAME5 .TXT (TEXT) 
              NAME6 .DAT (DATA) 
              NAME7 .RES (RESULTS)
              NAMER8.FOR (FORTRAN)
  WHILE RTE USES A SPECIAL CHARACTER INDICATING FILE TYPE AND 5 FOLLOWING 
  ALPHANUMERICS, RT-11 USES SIX ALPHANUMERICS FOR THE NAME AND THREE
  ALPHANUMERICS FOR THE TYPE. 
  
  
 **PROGRAM DESCRIPTION: 
  
   LITERATURE REFERENCE 
  RTE11 SOFTWARE SUPPORT MANUAL DEC-11-ORPGA-B-D, DNI FOR MAG TAPE FILE 
  STRUCTURE, PP. 3-11, 3-12.
   SPECIAL CONSIDERATIONS 
  WITH PAPER TAPE, THE USER SHOULD NOT REQUEST FURTHER CONVERSION AT THE
  EOT OR A "RUN AWAY" CONDITION WILL OCCUR (THE PROGRAM AUTOMATICALLY 
  REWINDS THE MAG TAPE WHEN THE LOGICAL END-OF-TAPE IS ENCOUNTERED.)
  "BSM ERR-11" AFTER A *BR, UNBLK COMMAND INDICATES THAT THE MAG OR PAPER 
  TAPE IS NOT POSITIONED CORRECTLY. REPOSITION THE TAPE AT THE START AND
  RERUN THE PROGRAM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
   DIAGNOSTIC MESSAGES/ADDITIONAL EXITS 
  THE PROG HAS EXTENSIVE ERROR CHECKING. ANY DETECTED ANOMALY RESULTS IN A
  "BSM ERROR - XXX" ON THE TERMINAL. THE "-XXX". NUMBER COMES FROM THE
  STANDARD HP2100 RTE/FMGR ERROR CODES. 
  
  
 **MISCELLANEOUS: 
  
  
E01301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CAMP
 **PROGRAM TITLE: 
  MOTOROLA M6800 ASSEMBLER FOR THE 2100/21MX
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    ASSEMBLER       MOTOROLA
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
   THIS PROGRAM, CAMP, RUNS ON AN HP 2100, 21MX SERIES COMPUTER AND 
  ASSEMBLES MOTOROLA M-6800 MICROPROCESSOR SOURCE CODE. IT IS TWO-PASS
  ASSEMBLER WHICH WILL RUN IN A DOSM,RTE OR BCS ENVIRONMENT. AN 8K
  COMPUTER IS REQUIRED FOR BCS, 16K FOR DOS.
   THE INPUT TO CAMP IS A PAPER TAPE SOURCE CONTAINING SYMBOLIC 
  LANGUAGE INSTRUCTIONS. THE OUTPUT IS A LINE PRINTER (OR TTY) LISTING
  OF THE SYMBOL TABLE THE CODE GENERATED BY THE ASSEMBLER, AND THE SOURCE 
  CODE. THE TAPE PUNCH OUTPUT (FORMATTED OUTPUT) IS READY FOR MIKBUG
  LOADER. 
   CAMP IS A MODIFIED VERSION OF PREVIOUSLY CONTRIBUTED ASSEMBLER OF
  THE INTEL 8080 MICROPROCESSOR.
   FOR FULL DETAILS SEE SOURCE LISTING. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: CAMP SOURCE 
  FILE#  3: EXAMPLE MOTOROLA SOURCE PROGRAMS
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD
  
  
 **RUN INSTRUCTIONS:
  
  CAMP (METHOD DEPEND ON OPERATING WILL SYSTEM).
  AFTER THE END STATEMENT IS REACHED, THE PROGRAM WILL PAUSE. 
  REWIND THE TAPE RELOAD, AND RESTART THE ASSEMBLER FOR PASS TWO. THE 
  PROGRAM PRODUCES LISTING AND PUNCHES BINARY TAPES.
       LU 4 - PUNCH OUTPUT
       LU 5 - SOURCE CODE INPUT 
       LU 6 - LISTING OUTPUT
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  FILE 2 CONTAINS THE SOURCE OF EXAMPLE MOTOROLA PROGRAMS.
  
  
 **PROGRAM DESCRIPTION: 
  
  LITERATURE REFERENCE
  
  M6800 MICROCOMPUTER SYSTEM DESIGN DATA. MOTOROLA INC.,1976
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ASSEMBLER ERRORS AND DIAGNOSTICS ARE OUTPUT ON LINE PRINTER (OR TTY). 
  
  
 **MISCELLANEOUS: 
  
  
E01401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE HP2020 MAG TAPE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          MAGNETIC TAPE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS RTE DRIVER CONTROLS I/O OPERATIONS WITH THE HP2020 MAGNETIC TAPE 
  UNIT. WHEN WRITING ON TAPE, THE ROUTINE CONVERTS ASCII DATA TO
  ALPHANUMERIC BCD FORM; THE ROUTINE THEN RECORDS THE BCD CHARACTERS ON 
  TAPE WITH EVEN PARITY. WHEN READING TAPE, THE ROUTINE ACQUIRES
  ALPHANUMERIC BCD CHARACTERS WITH EVEN PARITY, AND CONVERTS THE
  CHARACTERS TO ASCII. NO PROVISION IS MADE FOR WRITING OR READING
  WITHOUT ASCII-BCD CONVERSION. 
  
  EQUIPMENT REQUIRED IS ONE HP2020 MAGNETIC TAPE UNIT WITH INTERFACE KIT, 
  AND THE DIRECT MEMORY ACCESS OPTION FOR THE COMPUTER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL PROCEDURES FOR CONFIGURATING A DRIVER INTO THE RTE SYSTEM.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A TEST PROGRAM IS INCLUDED. USUAL COMPILE,LOAD, AND RUN PROCEDURES. 
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINTS:  I.21 
                 C.21 
                 SEE SECTION 4.0 OF RTE MANUAL
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E01501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR61 
 **PROGRAM TITLE: 
  RTE MULTIPROGRAMMER DRIVER 6936A
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          MULTIPROGRAM
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  MINIMUM RTE SYSTEM. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR61 IS AN RTE DRIVER TO OPERATE THE HP 6936A MULTIPROGRAMMER. THE 
  DRIVER PERFORMS THREE SEPARATE FUNCTIONS. A RESET WILL RESET ALL CARDS
  IN THE 6936 SYSTEM. READING FROM THE DEVICE WILL INPUT A WORD FROM
  THE SWITCH REGISTER OF THE 6936 TO THE CALLING PROGRAM. THIS ALLOWS 
  REMOTE CONTROL OF THE USERS SYSTEM. FINALLY, THE WRITE ROUTINE WILL 
  OUTPUT CONTROL AND DATA WORDS FOR CONTROL OF DEVICES CONNECTED TO THE 
  6936A. FORTRAN-CALLABLE.
       DVR61 REQUIRES A MINIMUM RTE SYSTEM AND A 6936A WITH MICROCIRCUIT
  INTERFACE KIT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY PROCEDURES. DRIVER MUST BE CONFIGURED INTO USER'S RTE
  SYSTEM AT SYSTEM GENERATION TIME. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A SAMPLE FORTRAN TEST PROGRAM IS INCLUDED.
  
  
 **PROGRAM DESCRIPTION: 
  
              ENTRY POINTS
  
  THE DRIVER REQUIRES THE "B" VERSION OF RTE. 
  
  FORTRAN CALL STATEMENT: 
       CALL EXEC (N,IDRT,IUAD,IDB,ISAD,IDATA) 
  
  N    1-READ  OUTPUTS A SIGNAL WORD TO THE SWITCH REGISTER OF THE 6936A. 
               WHEN A MANUAL FLAG IS RETURNED THE DRIVER CHANGES THE
               VALUE OF IUAD TO THE VALUE READ. 
  
       2-WRITE OUTPUT IUAD AND ICB AS A CONTROL WORD AND ISAD WITH IDATA
               AS A DATA WORD.
  
       3-RESET 0'S ARE OUTPUT TO ALL CARDS OF THE USERS UNITS.
  
  IDRT         FOR READ OR WRITE USE THE MULTIPROGRAMMER DEVICE 
               REFERENCE NUMBER.
  
               FOR RESET USE AN OCTAL 1XX. WHERE XX IS THE MP DEVICE
               REFERENCE NUMBER.
  
  IUAD READ    ACTUAL SIGNAL WORD OUTPUT TO MP. 
  
       WRITE   THE OCTAL UNIT NUMBER YOU WISH TO TALK TO (0 TO 17) FOR
               THE 16 UNITS.
  
       RESET   THE NUMBER OF UNITS IN THE SYSTEM (1 TO 16). 
  
  ICB  WRITE   OCTAL NUMBER REFERING TO BITS 4,5,6 OF THE CONTROL WORD. 
               SEE BELOW. 
  
               ICB   DTE   SYE   TME
                0     0     0     0 
                1     0     0     1 
                2     0     1     0 
                3     0     1     1 
                4     1     0     0 
                5     1     0     1 
                6     1     1     0 
                7     1     1     1 
  
       READ    VALUE READ FROM MP AFTER RETURN DATA BUTTON IS SET BY THE
               OPERATOR.
  
  ISAD WRITE   ONLY SLOT ADDRESS (0 TO 14). 
  
  IDATA WRITE  ONLY DATA WORD (4 OCTAL DIGITS). 
  
  NOTE: MAKE SURE THAT ALL UNITS ARE TURNED ON BEFORE PROGRAMMING STARTS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E01601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR54 
 **PROGRAM TITLE: 
  RTE NON-DMA DRIVER FOR HP 5401B MULTICHANNEL ANALYZER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          ANALYZER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS RTE DRIVER HANDLES INPUT AND OUTPUT FOR THE HP5401B MULTI- 
  CHANNEL ANALYZER, OPTION 08.  IT IS A NON-BUFFERED, NON-DMA DRIVER
  WHICH WILL WRITE ASCII CODE AND READ ASCII OR BINARY CODE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR54 SOURCE (ASMB,R,B,L,C) 
  
  
 **LOAD INSTRUCTIONS: 
  
  CONFIGURATION 
  
  DIRVER IS CONFIGURED AS A NON-BUFFERED, NON-DMA RTE DRIVER. 
  IT REQUIRES ON I/O SLOT CONFIGURED FOR INTERRUPTS.
  I.E.
              . 
              . 
              . 
           14 , DVR 54
              . 
              . 
              .             IN EQT ENTRY
  
  AND         . 
              . 
           14 , EQT, N      IN INTERRUPT TABLE
              . 
              . 
              . 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  EXAMPLE INPUT/OUTPUT (TEST CASE)
  
       READ:  FORMAT (14, 10I7) 
       E.G. READ (IAN,2) N, (A(J), J = 1, 10) 
  
       WRITE:  FORMAT (10I7)
       E.G. WRITE (IAN,3) (A(J), J = 1, 10) 
  
  
 **PROGRAM DESCRIPTION: 
  
  WRITE REQUEST 
  
  ALL OUTPUT REQUESTS ARE TREATED ALIKE.  THE EXACT NUMBER OF 
  CHARACTERS OR WORDS ARE TRANSMITTED.  THE NATURE OF THE STRING IS 
  THE RESPONSIBILITY OF THE USER PROGRAM. 
  
  READ REQUESTS 
  
  THIS CAN BE IN TWO FORMS:  ASCII OR BINARY
  
  ASCII INPUT 
  
  IN THIS MODE, DATA IS READ IN RECORD FORMAT I.E., 'LF' IS ON END OF 
  RECORD.  'CR' IS IGNORED.  THE NUMBER OF CHARACTERS TRANSMITTED TO
  THE USER BUFFER IS THE REQUESTED NUMBER OR THE NUMBER OF CHARACTERS IN
  THE RECORD WHICHEVER IS THE SMALLER.  IF THE NUMBER OF CHARACTERS OR
  WORDS REQUESTED IS LESS THAN THE LENGTH OF THE RECORD, THEN BEFORE THE
  DRIVER COMPLETES, CHARACTERS ARE SKIPPED UNTIL AN END OF RECORD CHARACT-
  ER IS FOUND.  CR AND LF ARE NOT TRANSFERRED TO THE USER BUFFER. 
  
  TIME OUT IS USED IN THIS MODE AND IS HANDLED BY THE DRIVER TO GIVE A
  SIMULATED EOT RETURN. 
  
  BINARY INPUT
  
  THE EXACT NUMBER OF CHARACTERS OR WORDS ARE RETURNED TO THE USER IR-
  RESPECTIVE OF THE NATURE OF THE DATA.  NO CHECK IS MADE FOR END OF
  RECORD MARKS. 
  
  NO TIME OUT IS SET FOR THIS MODE OF INPUT.
  
  ENTRY POINTS
  
  I.54  INITIATOR ENTRY 
  C.54  CONTINUATOR ENTRY 
  
  LITERATURE REFERENCE
  
  REAL-TIME EXECUTIVE SOFTWARE SYSTEM, 02005-90001
  SPECIAL CONSIDERATIONS
  
  DRIVER TIMES-OUT WHEN ANALYZER IS SWITCHED OFF IN THE MIDDLE OF A 
  TRANSFER.  THE RETURN TO A PROGRAM IS THE SAME AS THAT WHEN AN "EOT"
  CHARACTER IS ENCOUNTERED. 
  
  NO "RTE-TYPE" ERROR RETURNS ARE MADE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E01701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR57 
 **PROGRAM TITLE: 
  SPECIAL PRIVILEGED RTE DRIVER FOR HP 2313 SUBSYSTEM 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          PRIVILEGED      ANALOG/DIGITAL
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER ENABLES THE HP 2313 DATA ACQUISITION SUBSYSTEM TO BE USED 
  UNDER RTE FOR CONTINUOUS FAST DATA ACQUISITION.  READINGS ARE TAKEN IN
  GROUPS OF THREE OR MORE RANDOM HIGH LEVEL MULTIPLEXOR (+/-10 VOLTS) 
  CHANNELS.  THE TIME BETWEEN TWO READINGS IN ONE GROUP IS FIXED AT 30
  MICROSECONDS.  ALL THE READINGS WITHIN A GROUP ARE REPEATED AFTER A 
  PRECISE PROGRAMMABLE DELAY (T) WHICH MAY BE BETWEEN 500 AND 2550
  *MICROSECONDS WITH A 10 MICROSECOND RESOLUTION. 
  
  FOR SPEED REASONS, THE DRIVER REQUIRES DOUBLE BUFFERS WITHIN THE
  CALLING PROGRAM.  THESE BUFFERS NEED TO BE APPROXIMATELY 1000 WORDS 
  EACH FOR CONTINUOUS THROUGHPUT TO MAGNETIC TAPE AT ABOUT 4 X 2000=8 KHZ.
  THE DRIVER DOES NOT USE DMA OR THE LAST ADDRESS DETECTOR CARD IN THE
  HP 2313.  THE ONLY NECESSARY HARDWARE REQUIREMENTS ARE A MINIMUM RTE
  SYSTEM AND THE HP 2313 WITH PROGRAMMABLE PACER. 
  
  
  
  *THERE IS A VERSION OF THIS DRIVER FROM 500 TO 25960 MICROSECONDS 
   AVAILABLE ON SPECIAL REQUEST FROM THE AUTHOR.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE DRIVER AND ITS LINKING ROUTINE, THEN INCLUDE THEM AT GENERATION 
  TIME. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A TEST PROGRAM IS INCLUDED ON TAPE.  THE OUTPUT WILL DEPEND ON THE
  ANALOG INPUT VALUES.
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE TO THE DRIVER IS NON-STANDARD TO ALLOW FOR DOUBLE
  BUFFERING OF THE OUTPUT.
  
       CALL IS AS FOLLOWS:
  
       EXT EXEC 
       JSB EXEC 
       DEF *+5
       DEF RCODE     WHERE RCODE IS A 1 FOR READ
       DEF CONND           CONND IS THE LOGICAL UNIT# 
       DEF BUFF            BUFF IS ADD. OF PRAM BLOCK 
       DEF BLNTH           BLNTH IS LENGTH OF BLOCK 
  
          FORMAT OF PRAM BLOCK IS 
          * 
    WORD 1*TIME INTERVAL IN 10'S OF MICROSECONDS DEC X <255 
         2*BUFFER 1 FULL/EMPTY FLAG(ALL 1'S S/O) OCT O
         3*BUFFER 2 FULL/EMPTY FLAG(ALL 1'S S/O) OCT O
         4*ADDRESS OF BUFFER 1                   DEF B1 
         5*ADDRESS OF BUFFER 2                   DEF B2 
         6*# OF SCANS PER BUFFER                 DEC M
         7*# OF READINGS PER SCAN                DEC N
         8*CHAN # OF FIRST READING FOR SCAN      OCT
         9*CHAN # OF 2ND   READING FOR SCAN      OCT
        10*CHAN # OF 3RD   READING FOR SCAN      OCT
          *ETC - MUST BE AT LEAST 3 CHANS 
          *CHAN # OF NTH   READING FOR SCAN      OCT
          *BUFFER 1                      B1      BSS M*N
          *BUFFER 2                      B2      BSS M*N
  
       FORMAT OF WORD CHAN# IS THE SAME AS SHOWN ON PAGE
       3-12 OF DAS CONTROL CARD MANUAL FOR
       "B. DATA WORD-LAST ADDRESS DETECTOR" WITH BIT 12=0.
  
  
       NOTES ON OPERATION OF DRIVER:
       THE DRIVER SETS THE FLAGS IN WORDS 2 AND 3 OF PRAM 
       BLOCK WHEN A BUFFER IS FULL. 
       THE PROGRAM MUST CLEAR THESE FLAGS AS THE DATA IS
       PROCESSED. 
       IF FLAG IS NOT CLEAR WHEN THE DRIVER REQUIRES TO 
       USE A BUFFER, THEN DRIVER STOPS AND SETS WORD 1
       OF PRAM BLOCK TO ZERO. 
  
       THUS TO STOP DRIVER, LEAVE FLAG IN WORD 2 OR 3 
       SET.  PROGRAM LOOKS FOR WORD 1 TO GO ZERO TO 
       INDICATE DRIVER HAS INPUT LAST BLOCK.
  
       AS THIS DRIVER SETS WORD 1 OF PRAM BLOCK TO ZERO WHEN
       IT STOPS, THE USER MUST RESET WORD 1 BEFORE ANOTHER
       CALL IS MADE TO THIS DRIVER, I.E., ALWAYS SET UP WORD 1
       AT THE START OF THE USER CALLING PROGRAM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  1. EXIT BACK TO USER WITH B REGISTER ALL 1'S INDICATES DRIVER 
     ALREADY IN USE.
  
  2. IO07 RESULTS IF A REQUEST IS MADE FOR READINGS AT SPEEDS IN
     EXCESS OF THAT CAPABLE BY THE DRIVER OR THE HARDWARE.
  
  3. WORD ONE OF PRAM BLOCK IS SET TO ZERO IF INPUT TO DOUBLE 
     BUFFERS IS FASTER THAN USER PROGRAM OUTPUTS THE DATA.
  
  
 **MISCELLANEOUS: 
  
  IF CALLING PROGRAM IS DISC RESIDENT, THE "OFF" COMMAND MUST NOT BE
  USED TO STOP THE PROGRAM.  THE REASON FOR THIS IS THAT THE CALLING
  PROGRAM IS NEVER I/O SUSPEND ON THE HP 2313, AND SO IT WILL CONTINUE
  TO TRANSFER DATA INTO BUFFERS (AND POSSIBLY OVER THE TOP OF THE NEXT
  PROGRAM THAT COMES IN.) 
  
  THE CALLING PROGRAM MUST NEVER BE ALLOWED TO SWAP OUT; I.E., IT MUST
  HAVE PRIORITY 1 AND NEVERY GO OPERATOR SUSPEND OR MEMORY SUSPEND, AND 
  NEVER I/O SUSPEND ON A BUFFER IN R.T COMMON.
  
  ALL SPECIAL CONSIDERATIONS RESULT FROM THE AUTHOR'S INTENT TO ATTAIN
  THE HIGHEST POSSIBLE SPEED FOR THE HP 2313 PRIVILEGED DRIVER. 
  OVERHEADS:  APPROXIMATELY 200 MICROSECONDS PER GROUP IS REQUIRED TO 
  MAKE SURE THE DRIVER IS READY TO TAKE THE READINGS ON TIME AND A FURTHER
  30 MICROSECONDS PER READING IS REQUIRED TO TAKE THE SAMPLE.  THE COM- 
  PLETION SECTION OF THE DRIVER RUNS WITH THE INTERRUPT SYSTEM OFF. 
  AT FAST DATA RATES, THE UTILIZATION OF THE CPU CAN BE VERY HIGH 
  (OVER 50%!) 
E01801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR44 
 **PROGRAM TITLE: 
  RTE DVR FOR INTERMEDIA SYS 4406/4416 GRAPHIC VIDEO GENERATORS (HP 5662B)
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          GRAPHIC         DISPLAY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-C     RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR 44 IS AN RTE DRIVER FOR THE INTERMEDIA SYSTEMS 4406 GRAPHIC VIDEO 
  GENERATOR.  AN RTE PROGRAM CAN CALL THE DRIVER TO DISPLAY GRAPHICAL 
  INFORMATION VIA THE 4406/4416 GVG ON A VIDEO MONITOR.  THE BASIC
  FUNCTIONS AVAILABLE IN THE DRIVER ARE:  SET POINTS, CLEAR POINTS, 
  ERASE SCREEN, AND SELECT VIDEO POLARITY.
  ** HARDWARE **
  INTERMEDIA SYSTEMS 4406 OR 4416 GRAPHIC VIDEO GENERATOR (HP PART NO.
  5662B)
  CONNECTOR AND 75 OHM COAXIAL CABLE ASSEMBLY 
  VIDEO MONITOR 
  DMA (OPTIONAL)
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR 44 SOURCE (ASMB, R,B,L,T) 
  
  
 **LOAD INSTRUCTIONS: 
  
  DURING THE RTE SYSTEM CONFIGURATION PROCEDURE, DVR 44 SHOULD BE 
  LOADED IN THE PROGRAM INPUT PHASE AT THE SAME TIME THAT ALL OTHER I/O 
  DRIVERS ARE LOADED.  FOR THE EQUIPMENT TABLE ENTRY, THE "D" PARAMETER 
  MUST BE SPECIFIED FOR DMA OPERATION.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CONTACT THE FACTORY FOR TEST CASE.
  
  
 **PROGRAM DESCRIPTION: 
  
  FUNCTIONS AND CALLING SEQUENCES 
  
  WRITE     FUNCTION: CALL EXEC (2, ICON, IBA, IBL) 
  
                ICON - CONTROL PARAMETER, DETAILED BELOW
                       (NN = LOGICAL UNIT NUMBER):
  
                       OCTAL VALUE          FUNCTION
                       -----------          --------
                            NN       SET    POINTS VIA DMA. 
                           1NN       CLEAR  POINTS VIA DMA. 
                           2NN       SET    POINTS VIA INTERRUPT. 
                           3NN       CLEAR  POINTS VIA INTERRUPT. 
  
                IBA - BUFFER CONTAINING POINTS TO BE SET OR CLEARED.
                       EACH 16 BIT WORD IN THE BUFFER CONTAINS THE X
                       AND Y COORDINATES OF ONE POINT, AS SHOWN BELOW:
  
                        BIT    15         8    7          0 
  
                      VALUE    Y COORDINATE    X COORDINATE 
  
                      NOTE THAT THE POINT (Y = 0, X = 0) IS AT THE
                      LOWER LEFT CORNER OF THE DISPLAY MATRIX.
  
                 IBL - NUMBER OF POINTS TO BE PLOTTED.  THIS MUST BE A
                       POSITIVE NUMBER. 
  
  CONTROL   FUNCTION: CALL EXEC (3, IFLU) 
  
                IFLU: CONTROL PARAMETER, DETAILED BELOW 
                      (NN = LOGICAL UNIT NUMBER): 
  
                      OCTAL VALUE         FUNCTION
                      -----------         --------
  
                         30NN       CLEAR SCREEN. 
                         31NN       SET VIDEO POLARITY TO WHITE DOTS
                                      ON A BLACK BACKGROUND.
                         32NN       SET VIDEO POLARITY TO BLACK DOTS
                                      ON A WHITE BACKGROUND.
  
              NOTES:  1.  VIDEO POLARITY SELECTION ONLY APPLIES TO THE
                          4416 GRAPHIC VIDEO GENERATOR. 
  
                      2.  THE TERMINATION PROCEDURE FOR A DATA
                          TRANSFER AUTOMATICALLY SETS THE VIDEO 
                          POLARITY TO WHITE DOTS ON BLACK BACKGROUND. 
  
                      3.  PHYSICAL STATUS FOR THE DEVICE IS ALWAYS
                          ZERO. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E01901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR33 
 **PROGRAM TITLE: 
  RTE WRITEABLE CONTROL STORE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          WCS             MICROCODE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR33 OPERATOR UNDER CONTROL OF THE I/O CONTROL MODULE OF THE REAL- 
  TIME-EXECUTIVE.  THIS DRIVER PERFORMS THE FOLLOWING FUNCTIONS BETWEEN 
  A USER'S PROGRAM AND A WRITEABLE CONTROL STORE (WCS) MODULE:
  1. WRITE UNCONDITIONALLY (BIT 10 SET IN CONTROL WORD OF THE EXEC CALL)
     AND SET "IN USE" FLAG. 
  
  2. WRITE ONLY IF "IN USE" FLAG IS NOT SET AND SET "IN USE" FLAG.
     IF "IN USE" FLAG IS SET, REJECT REQUEST. 
  
  3. READ FROM WCS MODULE INTO USER'S BUFFER. 
  
  4. RESET "IN USE" FLAG. 
  
  WRITE REQUESTS MAY BE MADE UNDER DMA CONTROL.  READ REQUESTS ARE
  ALWAYS NON DMA. 
  
  HARDWARE REQUIREMENTS 
       STANDARD RTE WITH WRITEABLE CONTROL STORE (WCS) MODULE(S). 
  
  LITERATURE REFERENCE
       RTE PROGRAMMING AND OPERATING MANUAL - HP #02005-90001 
       MICROPROGRAMMING GUIDE - HP #5951-3028 
       MICROPROGRAMMING SOFTWARE - HP #02100-90133
       DOS MICROPROGRAMMING SOFTWARE - HP #02100-90146
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR33 SOURCE (ASMB,R,B,L,C) 
  
  
 **LOAD INSTRUCTIONS: 
  
  CONFIGURE INTO SYSTEM AT GENERATION TIME IN THE SAME MANNER AS ANY
  OTHER STANDARD DRIVER.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  A THOROUGH CHECK OUT OF DVR33 CAN BE ACCOMPLISHED BY USE OF THE 
  CONTRIBUTED RTE MICRO-DEBUG-EDITOR. 
  
  
 **PROGRAM DESCRIPTION: 
  
  SPECIAL CONSIDERATIONS
  
  THE FOLLOWING GROUND RULES SHOULD BE FOLLOWED, IF SWAPPING IS ALLOWED 
  AND DIFFERENT MICROPROGRAMS ARE REQUIRED BY FOREGROUND AND/OR BACK- 
  GROUND PROGRAMS.
  1. ALL PROGRAMS REQUEST STATUS AND SUSPEND THEMSELVES UNTIL THE "IN 
     USE FLAG" IS CLEAR.
  
  2. IF "IN USE" FLAG IS CLEAR PROGRAM LOADS WCS MODULE WITH MICROCODE
     AND CONTINUES EXECUTION. 
  
  3. WHEN MICROCODE IS NO LONGER NEEDED AND BEFORE PROGRAM TERMINATION, 
     PROGRAMS CLEARS "IN USE" FLAG. 
  
  BUG REPORT
  
     THIS DRIVER APPEARS TO BE NAMED INCORRECTLY FOR RTE, AS DVR30 TO 
     DVR33 ARE RESERVED FOR DISC DRIVERS. 
  
     AS A RESULT, WHEN THE DRIVER IS REFERENCED IT RETURNS ERROR IO01 
  (NOT ENOUGH PARAMETERS).  RENAMING THE DRIVER TO DVR37 WORKS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INITIATION SECTION RETURN STATUS: 
  
       A REG. = 0 = OPERATION INITIATED 
       A REG. = 1 = ILLEGAL REQUEST OR ZERO LENGTH READ/WRITE:
       A REG. = 3 = WRITE REQUESTED BUT IN USE FLAG SET. REQUEST IS 
                       REJECTED.
  
  
 **MISCELLANEOUS: 
  
  
E02001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR56 
 **PROGRAM TITLE: 
  RTE HP 2310C SPECIAL SUBSYSTEM DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DRIVER (56) IS A SPECIAL APPLICATIONS DRIVER FOR THE 2310 MINIVERTER, 
  WHICH OPERATES UNDER CONTROL OF THE I/O MODULE OF THE REAL TIME EXECU-
  TIVE.  THIS DRIVER ALLOWS DATA TO BE SAMPLED FROM A GIVEN MINIVERTER
  CHANNEL (ICHAN) A SPECIFIED NUMBER (N) OF TIMES.  THE RANDOM ADVANCE OR 
  SEQUENTIAL MODES ARE NOT ALLOWED WITH THIS DRIVER.  THIS DRIVER OPERATES
  ONLY IN THE RANDOM START MODE.  THE STRUCTURING OF THIS DRIVER IN THIS
  MANNER SAVES A SIGNIFICANT NUMBER (ABOUT 1/2) OF THE MEMORY LOCATIONS 
  REQUIRED OF THE 2310/2311 SUBSYSTEM RTE DRIVER.  THIS DRIVER DOESN'T
  CONVERT THE MINIVERTER DATA.  THE MCONV CALL MUST BE UTILIZED FOR THE 
  CONVERSION.  I.56 AND C.56 ARE THE ENTRY POINTS OF THE INITIATOR AND
  CONTINUATOR SECTIONS OF D.56 ARE THE ENTRY POINTS OF THE INITIATOR
  AND CONTINUATOR SECTIONS OF D.56 RESPECTIVELY.
  
  LITERATURE REFERENCE
  
  1. HIGH SPEED DAT ACQUISITION SUBSYSTEM 2310C OPERATING AND SERVICE 
     MANUAL (HP PART NO. 02310-90005) 
  
  2. RTE HP 2310/2311 SUBSYSTEM DRIVER (DVR56). 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: TEST PROGRAM
  
  
 **LOAD INSTRUCTIONS: 
  
  1. LOAD DVR56 WITH THE DRIVERS WHEN GENERATING AN RTE SYSTEM USING THE
     FIXED HEAD OR MOVING HEAD RTE GENERATOR (FH RTGEN OR MH RTGEN).
  
  2. CONFIGURE THE DEVICE REFERENCE TABLE, EQUIPMENT TABLE, AND INTERRUPT 
     TABLE TO REFERENCE THE MINIVERTER DRIVER (DVR56) AND THE COMPUTER
     SELECT CODE OF THE MINIVERTER. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  PROGRAM MINI ALLOWS THE USER TO SAMPLE A CHANNEL OF THE MINIVERTER A
  SPECIFIED NUMBER OF TIMES.  IT THEN PRINTS OUT THE AVERAGE, RANGE,
  MINIMUM, AND MAXIMUM IN MILLIVOLTS OF THE SAMPLED DATA. 
  
  1. LOAD TEST PROGRAM (MINI) AND SUBROUTINE (MCONV) WITH THE RTE LOADER. 
  
  2. APPLY A VOLTAGE TO CHANNEL OF MINIVERTER TO BE MEASURED. 
  
  3. SCHEDULE MINI; ON,MINI 
  
  
 **PROGRAM DESCRIPTION: 
  
  I.56 - INITIATOR SECTION
  C.56 - CONTINUATOR SECTION
  
  DVR 56 IS CONTROLLED BY THE RTE EXEC CALLING SEQUENCE:
  A. FORTRAN
       CALL EXEC(1,IDRT,IBUFF,N,ICHAN)
  B. ASSEMBLY LANGUAGE
       EXT EXEC 
          . 
          . 
          . 
  JSB EXEC
  DEF *+6 
  DEF  1
  DEF IDRT
  DEF IBUFF 
  DEF N 
  DEF ICHAN 
  
  WHERE;
      IDRT - DEVICE REF. TABLE NUMBER (LU#) 
  
      IBUFF - INTEGER ARRAY (DATA STORAGE BUFFER) 
  
      N     - NUMBER OF TIMES TO SAMPLE ICHAN 
  
     ICHAN  - CHANNEL NUMBER (1-256)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERRORS:  A REGISTER SET = 1  WHEN,
       1.  ILLEGAL REQUEST CODE, ONLY READ REQUEST ALLOWED. 
       2.  INVALID NUMBER OF DATA SAMPLES 
       3.  INVALID CHANNEL NUMBER 
  
  
 **MISCELLANEOUS: 
  
  
E02101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVP10 
 **PROGRAM TITLE: 
  RTE DRIVER PACKAGE FOR XYNETICS AND CALCOMP PLOTTERS
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          PLOTTER         XYNETICS
    CALCOMP         GRAPHIC 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  WITHOUT EXTERNAL SUBPROGRAMS, 280 DRIVER, 459 PLOT ROUTINE
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER ALLOWS XYNETICS 1100,1200, & 2000 SERIES PLOTTERS 
  EQUIPPED WITH SG-50 SLOPE GENERATORS TO OPERATE AS STANDARD 
  SYSTEM PERIPHERAL EQUIPMENT. STANDARD EXEC CALLS MAY BE MADE TO 
  OUTPUT DATA AND CHECK STATUS OF PLOTTER. STANDARD SYSTEM
  FEATURES SUCH AS BUFFERED OUTPUT, EQUIPMENT TIMEOUT, ETC ARE
  AVAILABLE. THIS DRIVER ALLOWS PROGRAMMABLE PEN COLOR CHANGES
  WITH AUTOMATIC OFFSETTING SO THAT ALL COLORS LINE UP. DRIVER
  ALSO SUPPORTS CALCOMP 560 SERIES INCREMENTAL PLOTTERS. TYPE OF
  PLOTTER TO BE USED IS SPECIFIED BY SUBCHANNEL AT SYSTEM 
  GENERATION TIME.
  SEE XYNETICS MANUAL P/N TM-1038 "BASIC OPERATION MANUAL, MODEL
  SG50 FOR HP 2100 COMPUTER." 
  
  PLOT MODULE REPLACES PLOT PORTION OF STANDARD HP PLOTTER
  LIBRARY. THESE ROUTINES FORMAT DATA FOR THE XYNETICS FLATBED
  PLOTTERS, MODELS 1100,1200, & 2000 EQUIPPED WITH SG50 SLOPE 
  GENERATORS AND HP INTERFACES. EACH LINE DRAWN REQUIRES 8 WORDS
  OF DATA. ROUTINE UPDATES CURRENT PEN COORDINATES, HANDLES PEN 
  UP/DOWN COMMANDS, AND NEW ORIGIN COMMANDS SAME AS STANDARD PLOT 
  MODULE. THIS IS A UTILITY SUBROUTINE, TYPE 7, TO BE APPENDED TO 
  USERS PROGRAM WHICH GENERATES DATA. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  DRIVER
  1. ASSEMBLE RTE DRIVER DVP10. 
     (NOTE THAT SOURCE MAY BE EDITTED TO DELETE SUBCHANNEL
     SWITCHING FOR CALCOMP PLOTTER; IF THIS IS DONE, IGNORE 
     FOLLOWING COMMENTS ABOUT SUBCHANNELS AND CALCOMP REFERENCES) 
  
  2. INSTALL RELOCATABLE OF DRIVER AT SYSTEM GENERATION TIME: 
     A. EQUIPMENT TABLE ENTRIES 
  
        EQT N?                FOR XYNETICS, RESPOND:
        SCI,DVP10,B,T=1000
  
        EQT M?                FOR CALCOMP, RESPOND: 
        SC2,DVP10,B,T=100 
                              (B AND T ENTRIES OPTIONAL)
  
     B. DEVICE REFERENCE TABLE: 
  
        P = EQT #?            FOR XYNETICS, RESPOND:
        N,1 
  
        Q = EQT #?            FOR CALCOMP, RESPOND: 
        M,0 
  
     C. INTERRUPT TABLE 
  
        SC1,EQT,N             FOR XYNETICS
  
        SC2,EQT,M             FOR CALCOMP 
  
  PLOT SUBROUTINE 
  
  1. ASSEMBLE PLOT MODULE SOURCE AND STORE AS RELOCATABLE SUB-
     ROUTINE. 
  
  2. APPEND PLOT SUBROUTINES TO EACH USER PROGRAM THAT USES 
     XYNETICS PLOTTER. LOAD THIS PLOT MODULE BEFORE SCANNING HP 
     PLOT LIBRARY. OTHER PLOTTER ROUTINES SUCH AS SYMB, LINE, 
     AXIS, ETC, MUST BE SUPPLIED FROM THE HP PLOT LIBRARY.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  1. COMPILE TEST PROGRAM AND LOAD ALONG WITH PLOT MODULE.
     SYSTEM MUST HAVE DVP10 CONFIGURED IN AND SYNETICS PLOTTER
     CONNECTED UP.
  
  2. TURN ON TEST PROGRAM: *ON,TEST,P1,P2,P3,P4,(SEE BELOW FOR
                                                 PARAMETER
                                                 DEFINITION)
  
  3. IF PLOTTER IS NOT SET TO AUTO (ALL 3 BUTTONS), SYSTEM WILL 
     RESPOND: 
             I/O ERR NR EQT #_
     SET ALL BUTTONS TO AUTO AND ENTER *UP,EQT# 
  
  4. PLOTTER WILL DRAW 4 SQUARES IN 4 COLORS AND LETTER "TEST 
     COMPLETE" AND THEN PROGRAM WILL TERMINATE. 
  
                                  PARAMETERS: 
                                  P1-LU OF TERMINAL 
                                  P2-LU OF PLOTTER
                                  P3-VALUE FOR ISPD DEFAULT 28
                                  P4-VALUE FOR IAC DEFAULT 11 
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DRIVER
  
  DRIVER PROVIDES ALL NORMAL TYPES OF EXITS TO SYSTEM--SEE RTE
  MANUAL. 
  
  DRIVER WILL REJECT READ CALLS AND I/O CONTROL CALLS WITH
  FUNCTIONS NOT EQUAL TO 0,1,2,3, OR 4. 
  
  PLOTTER IN MANUAL MODE WILL CAUSE A NOT READY I/O ERROR.
  
  PLOT ROUTINE
  
  NO ERROR EXITS PROVIDED.
  PLOT ROUTINE RETURNS TO USER PROGRAM WHEN DATA HAS BEEN PASSED
     TO PLOTTER; IF PLOTTER IS BUFFERED, NEXT DATA POINT MAY BE 
     FORMATTED WHILE CURRENT LINE IS BEING DRAWN. 
  
  IF A ZERO LENGTH LINE IS REQUESTED, CONTROL RETURNS IMMEDIATELY;
     NO I/O CALL IS MADE. 
  
  
 **MISCELLANEOUS: 
  
  
E02201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR55 
 **PROGRAM TITLE: 
  DRIVER FOR 12555B D-TO-A CONVERTER INTERFACE CARD 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          CONVERSION      GRAPHIC 
    ANALOG/DIGITAL  PLOTTER 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-M     RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DVR55 IS A RTE-I,II,III AND M DRIVER FOR THE 12555B DIGITAL-TO- 
  ANALOG CONVERTER INTERFACE CARD.  DVR55 PROCESSES FOUR WRITE
  REQUESTS AND TWO CONTROL REQUEST. 
  
  DVR55 DOES NOT PERFORM THE REFRESH FUNCTION AND IS NOT INTENDED FOR 
  GRAPHICS ON A NON-STORAGE-TYPE SCOPE.  DVR55 IS INTENDED FOR D TO A 
  OPERATIONS (INCLUDING STAIR STEP IN 10MS INCREMENTS), DRIVING X-Y 
  PLOTTERS OR FOR GRAPHICS ON STORAGE-TYPE SCOPES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR55 DOCUMENTATION AND SOURCE
  FILE#  3: CKD2A SOURCE (CHECK-OUT PROGRAM)
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE DOCUMENTATION FILE
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE DOCUMENTATION FILE. 
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE DOCUMENTATION FILE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE DOCUMENTATION FILE. 
  
  
 **MISCELLANEOUS: 
  
  
E02301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVC12 
 **PROGRAM TITLE: 
  CENTRONICS COMPATIBLE PRINTER DRIVER
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    CENTRONICS      PRINTER         DRIVER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-IV    RTE-III   RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  DVC 12 IS A STANDARD PRINTER DRIVER AND PERFORMS ESSENTIALLY THE SAME 
  FUNCTIONS.  AN EXTENTION OF THE FEATURE OF PRINTER CONTROLS BY THE
  FIRST CHARACTER OF THE USER'S BUFFER IS INCLUDED.  SEVERAL PARAMETERS 
  CAN BE DEFINED BY CHANGING THE SUBCHANNEL NUMBER OF EACH DEVICE'S  EQT. 
  PARAMETERS SUCH AS:  1. NO. LINES/PAGE
                       2. NO. CHAR.S/LINE 
                       3. SIMULATE DISPLAY FUNCTIONS
                       4. IGNORE CONTROL WORD BIT 8 
                            (PRINT FIRST COLUMN)
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DRIVER SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE INTO A FILE.
  2. GENERATE INTO A SYSTEM.
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  TRY IT! 
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE DRIVER LISTING. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  USES 21MX MICROCODE IF APPROPRIATE (ASSEMBLED WITH Z IN CONTROL 
  STATEMENT). 
E02401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DUPL
 **PROGRAM TITLE: 
  RTE/DOS DUPLICATOR PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    COPY            SAVE/RESTORE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS 
  
 **MEMORY REQUIREMENTS: 
  966 WITH EXTERNAL SUBPROGRAMS (640 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS RTE AND DOS PROGRAM DUPLICATES PUNCHED TAPES.  THE DATA FROM THE 
  MASTER TAPE IS STORED ON DISC, AND ONE OR MORE COPY TAPES ARE THEN
  PERFORMED, AND EACH COPY TAPE CAN BE REREAD AND COMPARED WITH THE 
  DISC FILE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DUPL SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY AND LOAD PROCEDURES. 
  
  
 **RUN INSTRUCTIONS:
  
  AN EXAMPLE OF AN OPERATING PROCEDURE IN A RTE ENVIRONMENT IS GIVEN
  BELOW:
  
       START WITH:              ON,DUPL,A,B,C,D,E 
  
       WHERE:                   A=0     RELOCATABLE TAPES 
                                ELSE    ABSOLUTE TAPES
  
                                B=0     VERIFY CHECKSUM ONLY
                                B=1     VERIFY CHECKSUM AND PUNCH 
                                B=2     PUNCH A COPY AND ASK FOR THE
                                        COMPARE PHASE IN A SECOND PASS
  
                                C       (USEFUL ONLY FOR RELOCATABLE
                                        TAPES)
                                C=0     STOP DUPLICATION ON END RECORD
                                ELSE     DO NOT STOP ON END RECORD (FOR 
                                        LIBRARIES USE)
  
                                D       NUMBER OF TRACKS FOR DISC ALLOC-
                                        ATION (ONLY IF B=0) 
  
                                E       DISC AVAILABILITY INDICATOR 
                                E=0     WAIT FOR DISC AVAILABLE 
                                ELSE    DO NOT WAIT FOR DISC
  
  IF ANY PARAMETER IS NOT PRESENT, IT IS AUTOMATICALLY SET TO ZERO. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ON,DUPL,,2,1,4,1                      DUPLICATE A RELOCATABLE TAPE
                                        CONTAINING THE RELOCATABLE
                                        BCS LIBRARY, WITH THE COMPARE 
                                        PHASE IN A SECOND PASS, NOT 
                                        WAITING FOR END RECORD, USING 
                                        A MAXIMUM NUMBER OF FOUR TRACKS 
                                        AND DO NOT WAIT FOR DISC
                                        AVAILABILITY. 
  
  
  UP,N                                  WHERE N IS THE EQT OF INPUT UNIT
  
  GO,DUPL,1 
  
  /DUPL: ENTER "GO" PARAMETERS! 
  
  GO,DUPL,1                             COMPARE PHASE WITHOUT PUNCHING
                                         ANOTHER COPY.
  
  UP,N
  
  GO,DUPL,1 
  
  /DUPL: ENTER "GO" PARAMETERS! 
  GO,DUPL,0                             TERMINATE THE PROGRAM 
  END DUPL
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DURING THE JOB YOU MAY GET THE FOLLOWING MESSAGES!
  
  1. END  DUPL                   - PROGRAM TERMINATED AND TRACKS RELEASED 
  2. /DUPL:  ENTER "GO" PARAMETERS! 
                                 - REPLY WITH:
  
             GO,DUPL,X                  X=0 TERMINATES PROGRAM
                                        X=1 COMPARE PHASE 
                                        X=2 COMPARE AND PUNCH 
                                            ANOTHER COPY
  
  3. /DUPL :      CHECKSUM ERROR! 
     /DUPL :      COMPARE ERROR 
  
                               - REPOSITION TAPE AT THE BEGINNING 
                                 OF THE LAST RECORD AND REPLY WITH: 
                  GO,DUPL 
  
  4. /DUPL :      DISC OVERFLOW!
                  DISC NOT AVAILABLE! 
  
                              - IRRECOVERABLE CONDITION 
                                REPOSITION THE TAPE AT THE BEGINNING
                                AND REPLY WITH: 
  
                  GO,DUPL,A,B,C,D,E 
  
  5. IF END OF TAPE CONDITION IS DETECTED ON THE INPUT UNIT REPLY 
     WITH:
  
               GO,DUPL,Y     Y = 0   GO AHEAD READING 
                             ELSE    TERMINATE
  
  
 **MISCELLANEOUS: 
  
  
E02501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BEDIT 
 **PROGRAM TITLE: 
  RTE BINARY TAPE/FILE UTILITY
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    FILES           PAPER TAPE
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  AT LEAST 6105 OF BACKGROUND 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE RTE UTILITY PROGRAM 'BEDIT' IS DESIGNED TO TAKE BINARY
  RELOCATABLE PROGRAMS AND SUBROUTINES FROM PAPER TAPES OR FILE 
  MANAGER FILES AND REARRANGE THEM. THE NEW ARRANGEMENT CAN BE
  DIRECTED TO PAPER TAPE OR A FILE MANAGER FILE. 'BEDIT' WILL ALSO LIST 
  THE NAME AND, OPTIONALLY, THE 'ENT' AND 'EXT' POINTS OF ALL 
  RELOCATABLES ON A PAPER TAPE OR IN A RELOCATABLE FILE MANAGER FILE. 
  
  A MINIMUM RTE SYSTEM IS REQUIRED TO RUN THIS UTILITY. IT WILL EXECUTE 
  AS IS WITHOUT THE RTE FILE MANAGER, IF DUMMY SUBROUTINES ARE SUPPLIED 
  TO SATISFY THE REFERENCES TO THE FILE MANAGER LIBRARY.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: BEDIT SOURCE
  FILE#  3: BEDIT SOURCE (CONTINUED)
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND ASSEMBLE SOURCE TAPES, THEN LOAD AS A BACKGROUND, DISC
  RESIDENT PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CONTACT CONTRIBUTOR FOR EXTENDED INPUT/OUTPUT EXAMPLES
  
  
 **PROGRAM DESCRIPTION: 
  
  A CHECKSUM IS PERFORMED DURING LISTINGS OF PROGRAMS AND/OR ENT, EXT 
  POINTS; THEREFORE, THIS FEATURE MAY BE USED TO VERIFY THAT TYPES
  AND/OR DISC FILES ARE CHECKSUM FREE.
  
  INPUT COMMANDS ARE AS FOLLOWS:
  
  1.   /C = CHANGE INPUT COMMAND DEVICE OR FILE NAME. 
       /D = CHANGE LIST DEVICE
       /E = TERMINATE PROGRAM.
       /I = CHANGE PROGRAM INPUT DEVICE OR FILE NAME. 
       /L = LABEL PAPER TAPE. 
       /M = CHANGE MESSAGE LOGICAL UNIT.
       /N = LIST ALL PROGRAM NAMES AND THEIR ENTRY/EXTERNAL NAMES.
       /O = CHANGE PROGRAM OUTPUT DEVICE OR FILE NAME.
       /S = SEARCH INPUT FOR A PROGRAM AND COPY IT ONTO THE OUTPUT UNIT.
       /T = GENERATE TAPE LEADER OR AN EOF MARK IN FILE.
  
  NOTE: AN INPUT COMMAND IS ALWAYS PRECEEDED BY A SLASH WHEREAS A FILE
        NAME OR PROGRAM NAME IS NOT.
  THE INPUT COMMAND DEVICE, OPERATOR MESSAGE DEVICE AND LIST DEVICE MAY 
  BE DESIGNATED AS INPUT PARAMETERS WHEN BEDIT IS ON'ED. DEFAULT IS 
  1,1,6 RESPECTIVELY. 
  
  THE PROGRAM IS INTUITIVELY TUTORIAL AND ITS FLEXIBILITY IS LIMITED
  ONLY BY THE USER AND HIS KNOWLEDGE OF THE RTE FILE MANAGER. 
  
  EXPECTED REPLIES TO A "?" (INPUT REQUEST) MAY BE EXPANDED BY TYPING 
  A "?".
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E02601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MEMORY TO PAPER TAPE ABL FORMAT 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    PAPER TAPE      DUMP            MEMORY
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2114
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS 79 WORD ROUTINE DUMPS SELECTIVE POSITIONS OF CORE TO A PAPER 
  TAPE DEVICE IN STANDARD ABL FORMAT. RECORDS ARE DUMPED IN FULL RECORD 
  LENGTH (RL=377B) WITH NO BLANK FEED FRAMES BETWEEN RECORDS. THUS, NO
  TAPE IS WASTED AND PUNCHING SPEED IS INCREASED. THE ROUTINE IS
  SELF-CONFIGURING AND CAN FIT INTO THE ABL REGION IF THE SELF- 
  CONFIGURATION PART IS OMITTED. EQUIPMENT REQUIREMENT IS A 2100 SERIES 
  COMPUTER WITH 4K CORE OF STORAGE AND A TELETYPE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE (ASMB,R,L,B) 
  
  
 **LOAD INSTRUCTIONS: 
  
  1) ASSEMBLE SOURCE TAPE 
  2) LOAD ABSOLUTE TAPE WITH ABL
  
  
 **RUN INSTRUCTIONS:
  
  1. P=72100B 
  2. A=FWA OF MEMORY TO BE DUMPED.
  3. B=LWA OF MEMORY TO BE DUMPED.
  4. S=SELECT CODE OF PUNCH DEVICE. 
  5. INTERNAL PRESET. 
  6. RUN
  7. MEMORY WILL BE DUMPED WITH THE CURRENT ADDRESS DISPLAYED IN THE
     DISPLAY REGISTER.
  8. AFTER A "HLT 77B" OCCURS, GO TO STEP 2 IF MORE MEMORY IS TO BE 
     PUNCHED. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THE ACCOMPANIED VERSION STARTS AT ADDRESS 72100B, THE SOURCE
  TAPE MUST BE RE-ASSEMBLED IF A DIFFERENT REGION OM MEMORY IS TO BE
  SELECTED FOR THE ROUTINE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E02701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DUPER 
 **PROGRAM TITLE: 
  RTE FILE MANAGER DUMP 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    DISC            FILES           MAGNETIC TAPE 
    DUMP
  
 **LANGUAGES: 
    ASMB
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  6.5K BACKGROUND 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS BACKGROUND PROGRAM WILL DUMP SELECTED RTE FILE MANAGER FILES.
  THE SOURCE AND DESTINATION OF THE DUMP MAY BE ANY COMBINATION OF DISC 
  AND MAGNETIC TAPE. THE FILES TO BE DUMPED ARE SELECTED BY NAME, 
  SECURITY CODE OR TYPE OR BY A COMBINATION OF THESE. WITH THIS SAME
  METHOD, ALSO SELECTED DIRECTORY LISTINGS CAN BE MADE. FILES ON
  MAGNETIC TAPE CONSIST OF RECORDS OF ABOUT 2560 WORDS. THIS DENSELY
  PACKED TAPE ASSURES A LATER QUICK FILE RETRIEVAL. FILES MAY BE DUMPED 
  FROM SEVERAL DISCS TO ONE MAGNETIC TAPE, THEREFORE WHEN MAGNETIC TAPE 
  IS THE DESTINATION, A TEMPORARY DIRECTORY IS CREATED ON A SYSTEM TRACK
  TO AVOID DUPLICATE NAMES. INSTRUCTIONS ARE CODED INTO THE PROGRAM WHICH 
  WILL PRINT ALL THE LEGAL ANSWERS TO A QUESTION IF THE USER IS IN DOUBT. 
  ALL DISC FILE ACCESSES AND DISC DIRECTORY CHANGES ARE MADE VIA THE FILE 
  MANAGER INTERFACE ROUTINES. 
  
  6.5K BACKGROUND, DISC (MAGNETIC TAPE WILL VASTLY INCREASE THE UTILITY)
  ARE THE HARDWARE REQUIREMENTS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  FILE#  5: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  THIS PROGRAM CONSISTS OF A MAIN PROGRAM (DUPER) WITH 3 SEGMENTS 
  (DUPSA,DUPSB,DUPSC). THERE ARE ALSO 3 SUBROUTINES (CHECK,CONVT,CHARC).
  LOAD THE SUBROUTINES CHECK AND CONVT WITH THE MAIN PROGRAM DUPER. LOAD
  THE SUBROUTINE CHARC WITH THE SEGMENT DUPSA.
  ASSEMBLE WITH LG OPTION THE MAIN PROGRAM THE 3 SEGMENTS AND THE 3 
  SUBROUTINES IN THE FOLLOWING SEQUENCE: DUPER,CHECK,CONVT,DUPSA,CHARC, 
  DUPSB,DUPSC.
  IF A LOADER REVISION D OR LATER IS AVAILABLE, LOAD FROM LG WITH 
  PARAMETER 4=1. IF ONLY A LOADER OF OLDER VINTAGE THAN REVISION D IS 
  AVAILABLE, THEN LOAD FROM PAPER TAPE. 
  
  
 **RUN INSTRUCTIONS:
  
  SCHEDULE WITH *ON,DUPER,P1,P2 WHERE:
  P1 = LU SYSTEM TTY, DEFAULT = 1 
  P2 = LU LIST DEVICE, DEFUALT = 6
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1. A SERIES OF QUESTIONS WILL BE PRINTED TO WHICH THE USER ANSWERS VIA
     THE CONSOLE. EACH ANSWER MAY BE "ABORT" WHICH WILL ABORT DUPER, OR 
     THE ANSWER MAY BE "??" WHICH WILL RESULT IN A SHORT DESCRIPTION OF 
     THE VALID ANSWERS TO BE PRINTED. IF THE ANSWER IS TO CONSIST OF MORE 
     THAN ONE ELEMENT, THEN THE ELEMENTS MUST BE SEPARATED BY ONE OR
     MORE COMMAS AND/OR SPACES. 
  
     QUESTIONS FOR EXECUTION COMMANDS, SOURCE AND DESTINATION.
     Q. EXECUTE WHAT? 
     A. DUMP DLIST PURGE PRINT
     A COMBINATION OF THESE COMMANDS MAY BE GIVEN IN ANY ORDER. "DUMP"
     WILL DUMP SELECTED FILES, "DLIST" WILL PRINT A DIRECTORY LISTING 
     ONLY OF SELECTED FILES. IF "DLIST" IS GIVEN WITH "DUMP" THEN A 
     DIRECTORY LISTING WILL BE MADE AFTER THE DUMP OF THE WHOLE 
     DESTINATION. 
     "PURGE" WILL PURGE A FILE AFTER IT HAS BEEN DUMPED, ONLY LEGAL WHEN
     GIVEN WITH A DUMP COMMAND AND WITH DISC AS SOURCE. "PRINT" WILL
     LIST THE FILES WHICH ARE DUMPED. 
  
     QUESTIONS CONCERNING THE SOURCE AND DESTINATION ARE THEN ASKED 
     TO WHICH THE ANSWERS ARE SELF-EVIDENT. ("??" MAY ALWAYS BE GIVEN 
     FOR MORE INFORMATION). 
     IF "MTAPE" IS GIVEN AS DESTINATION THEN "UPDATE DESINATION TAPE?"
     WILL BE ASKED. ANSWERING "YES" WILL CONNECT NEW FILES AFTER OLD, 
     "NO" WILL START THE FILES FROM THE BEGINNING OF THE TAPE.
     CHECKS FOR DUPLICATE NAMES ARE MADE IN BOTH CASES. IF "NO" WAS 
     GIVEN HERE AS ANSWER, THE WARNING WILL BE PRINTED THAT MAG. TAPE 
     FILES MAY BE OVERWRITTEN, ANSWER "YES" TO THE QUESTION "CONTINUE?" 
     IF THIS IS PERMITTED, OTHERWISE TYPE "NO". 
     IF "DLIST" AND/OR "PRINT" HAS BEEN SPECIFIED THEN "MASTER SECURITY 
     CODE?" WILL BE ASKED. GIVING THE CORRECT CODE WILL RESULT IN THE 
     LISTINGS INCLUDING FILE SECURITY CODES.
  
     NOTE: ALL ANSWERS IN ASCII MAY BE ABBREVIATED TO THE TWO FIRST 
     CHARACTERS.
  
     QUESTIONS FOR FILE SELECTION 
     HERE THE ELEMENTS OF AN ANSWER MAY CONTINUE ON A NEXT LINE IF &
     IS GIVEN AS LAST ELEMENT.
     ANY OF THE FOLLOWING THREE QUESTIONS MAY BE ANSWERED WITH THE
     EXCEPT OPTION WHICH WILL EXCLUDE SELECTED FILES. PRECEDE ELEMENTS
     WHICH ARE TO BE EXCLUDED WITH "EXCEPT".
     IF ALL FILES WITH THE ASKED SPECIFICATION ARE TO BE TAKEN TYPE "ALL" 
     AS ANSWER. 
  
     Q. FILE NAME (S)? A FILTER MAY BE USED HERE TO SELECT NAMES WITH 
     SIMILAR CHARACTERS. EACH CHARACTER SPECIFIED IN THE FILTER MUST BE 
     MATCHED BY VALUE AND POSITION WITH A CHARACTER IN THE FILE NAME
     E.G. AB**** SPECIFIES ALL NAMES STARTING WITH AB.
  
     Q. SECURITY CODE (S)? EITHER ASCII CHARACTERS OR NUMERIC, OR A 
        COMBINATION OF BOTH MAY BE GIVEN. 
  
     Q. TYPE (S)? ONLY NUMERIC. 
  
  2. THE DUMP AND/OR DIRECTORY LISTING WILL NOW BE EXECUTED. THE PROGRAM
     TERMINATES WITH THE MESSAGE "END DUPER" OR AFTER AN IRRECOVERABLE
     ERROR WITH "DUPER ABORTED".
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
      THE FOLLOWING ERROR MSG'S MAY OCCUR DURING THE EXECUTION OF DUPER.
  ***MESSAGE***                   ***EXPLANATION*** 
   OVERFLOW                       TOO MANY SELECTIONS IN STACK. 
   NOT LEGAL ENTRY                CARTRIDGE LABEL OR LU OR FILE TYPE NOT
                                  NUMERIC.
   INPUT ERROR                    ERROR IN A FILE OR SOURCE OR DESTINATION
  
                                  SPECIFICATION.
   PURGE WITHOUT DUMP NOT LEGAL   SELF EVIDENT
   NOT MOUNTED N                  CARTRIDGE N NOT MOUNTED 
   MTAPE WON'T BE PURGED          A WARNING ONLY
   LOCKED N                       CARTRIDGE N LOCKED
   INPUT = OUTPUT DISC            SELF EVIDENT
   INPUT = OUTPUT MT,GIVE NEW LU  SELF EVIDENT
           OUTPUT 
   MAKE READY MTAPE               MAG. TAPE PROBABLY OFF-LINE 
   NOT A MTAPE UNIT               MAG. TAPE DRIVER NOT 20 SERIES
   MTAPE DOWN                     SELF EVIDENT
   MTAPE ERROR                    PARITY OR TIMING ERROR
   END OF TAPE                    END OF MAG. TAPE
   BUG! FMGR ERR-NNN NNNNN        FILE MANAGER ERROR NUMBER AND ADDRESS 
                                  GIVEN 
   DUPLICATE NAME FILENAME          SELF EVIDENT
   FILE TOO LONG NO ROOM FILENAME   SELF EVIDENT
   DIRECTORY FULL                   SELF EVIDENT
   OPEN FILENAME                    OPENED FILES ARE NOT DUMPED 
   TEMP DIREC FULL                  MAX. OF 16X(NUMBER OF SECTOR/TRACK) 
                                    FILES ON 1 MAG. TAPE
   DISC I/O ERROR                   SELF EVIDENT
  
  
 **MISCELLANEOUS: 
  
   SPECIAL CONSIDERATIONS 
   ZERO TYPE FILES ARE NEVER DUMPED.
   FILES WHICH ARE OPENED TO ANOTHER PROG OR WHICH ARE ON A LOCKED DISC 
   ARE NOT DUMPED.
E02801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DLU 
 **PROGRAM TITLE: 
  DLU FOR RTE 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    DUMP            MAGNETIC TAPE   SAVE/RESTORE
    CARTRIDGE 
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  30K OCTAL PARTITION 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  DLU IS A PROGRAM TO DUMP, RESTORE AND VERIFY WHOLE 7900 CARTRIDGES TO 
  AND FROM MAGNETIC TAPE.  IT IS COMPATIBLE WITH THE STAND-ALONE DLU
  HP 25123-60030 BUT RUNS UNDER RTE.
  
  HARDWARE REQUIREMENTS:  30K OCTAL PARTITION, 7900 AND MAGNETIC TAPE 
  DRIVE.  RTE OPERATING SYSTEM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND LOAD USING NORMAL PROCEDURES.  DLU IS NOT SEGMENTED.
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN: 
            RU,DLU[,TERMINAL[,INPUT[OUTPUT]]] 
  
  TERMINAL  LU OF TERMINAL FROM WHICH DLU IS BEING RUN.  USED FOR ERROR 
            MESSAGES AND "END DLU" MESSAGE.  DEFAULT IS 1.
  
  INPUT     LU FOR INPUT OF COMMANDS.  DEFAULT IS TERMINAL. 
  
  OUTPUT    LU FOR OUTPUT OF PROMPTS.  DEFAULT IS TERMINAL. 
  
  THE SEPARATION OF INPUT & OUTPUT IS FOR EASE OF RUNNING IN BATCH - THE
  PROMPTS CAN BE SENT TO A SUITABLE DRAIN.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  EXAMPLE TERMINAL SESSION: 
  *RU,DLU                               (NO PARAMETERS NEEDED IF ON LU1)
  RTE DISC DUMP/LOAD
  MT FILE NAME?         UNIT 10 
  TASK?                 COPY
  COPY FROM?            DISC
  DISC LU?              12
  MT FILE NO?           1 
  ID?                   CR 12  19676-09-21
  TASK?                 V     (ONLY 1ST LETTER OF COMMAND NEEDED) 
  DISC LU?              12
  MT FILE NO?           1 
  CR 12  1976-09-21?    YES 
  VERIFY COMPLETE 
  TASK?                 /E
  END DLU 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ON DETECTION OF FMP ERRORS, DLU HALTS WITH THE ERROR & LOCATION REPORTED
  ON THE TERMINAL.
  
  
 **MISCELLANEOUS: 
  
  THE CORE REQUIREMENT COULD BE REDUCED A LITTLE BY SHORTENING THE VERIFY 
  BUFFER, AT THE EXPENSE OF RUNNING TIME. 
E02901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FMP-UTILITIES 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    FILES           MAGNETIC TAPE   SAVE/RESTORE
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2116
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THESE THREE PROGRAMS ALLOW THE USER TO RESTORE, SAVE, OR RETRIEVE
  FILE MANAGER FILES ON 7970 OR 3030 MAG TAPE TRANSPORTS AND A 7900 OR
  7905 DISC. ALL UTILITIES ARE COMPLETELY CONVERSATIONAL AND SELF-
  CONFIGURING WITH ELABORATE ERROR CHECKING. CHECKS ARE MADE TO ENSURE
  FILE MANAGER DIRECTORY COMPATABILITY. THESE UTILITIES OPERATE ON A
  2116 OR LATER COMPUTER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND LOAD TAPES 1 AND 2 SEPARATELY.
  
  ASSEMBLE TAPES 3 AND 4 SEPARATELY AND LOAD TOGETHER. THE ASCII
  SUBROUTINE IS CALLED FGETR. 
  
  
 **RUN INSTRUCTIONS:
  
  RUN WITH NO PARAMETERS OR 
  
         RU, JRSTR ,LU
             JSAVE
         LU= TERMINAL LUN.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                         J R S T R
  
   RU,JRSTR 
  
  /JRSTR: REV 4-24-76 
  
  /JRSTR: MAG TAPE LU: 8
  
  /JRSTR: MAG TAPE FILE: (<0 = DIRECTORY, 0 = END)1 
  CR=15: LWS SEICUS JSAVE @ 800 BPI 4/JAN/77                        ?YES
  
  /JRSTR: DISC LU: 15 
  
  /JRSTR: CR 'MASTER' DIRECTORY ON TRACK  202 
  
  /JRSTR: MAG TAPE FILE: 0
  /JRSTR: DONE! 
  : 
  
                         J S A V E
  
   RU,JSAVE 
  
  /JSAVE: REV 5-04-76 
  
  /JSAVE: MAG TAPE LU: 8
  
  /JSAVE: DISC LU: ([,LAST TRACK]  LU= 0 => END)  15
  
  /JSAVE: MAG TAPE FILE: 1
  
  /JSAVE: HEADER: CR=15: LWS SEICUS JSAVE @ 800 BPI 4/JAN/77
  
  /JSAVE: DISC LU: 0
  
  /JSAVE: DONE! 
  : 
  
                         F G E T R
  RU,FGETR
  
   MAG TAPE LU: 8 
  
   DO YOU WISH A DIRECTORY ?NO
  
   FILE NAME: &FGETR
  
   WHAT SECURITY CODE?LS
  
   MAG TAPE FILE: 1 
  
  CR=15: LWS SEICUS JSAVE @ 800 BPI 4/JAN/77         ? YES
   NO FILE
  
   ANY MORE ? YES 
  
   DO YOU WISH A DIRECTORY ?NO
  
   FILE NAME: &SMUT 
  
   WHAT SECURITY CODE?LS
  
   MAG TAPE FILE: 1 
  
  CR=15: LWS SEICUS JSAVE @ 800 BPI 4/JAN/77                        ?YES
   FILE CREATION ERROR00- 02
  
   ANY MORE ? NO
  : 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERROR MESSAGES ARE SELF-EXPLANATORY 
  
  
 **MISCELLANEOUS: 
  
  
E03001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCOPY 
 **PROGRAM TITLE: 
  RTE 7900/7905 TO MULTIPLE FLEXIBLE DISCS
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    DISC            CARTRIDGE       COPY
    FILES 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  GCOPY COPIES ONE 7900/7905, 96 SECTOR/TRACK, DISC LU, TO MULTIPLE 
  FLEXIBLE DISCS (60 SECTORS/TRACKS) IN FILE MANAGER FORMAT. IN OTHER 
  WORDS, ONE 7900/7905 DISC LOGICAL UNIT MAPS TO MULTIPLE FLEXIBLE DISC 
  CARTRIDGES. GCOPY STARTS AT THE TOP OF THE 7900/7905 DIRECTORY AND
  COPIES AS MANY FILES AS IT CAN TO THE FIRST FLEXIBLE DISC. IT THEN ASKS 
  FOR THE NEXT DISC. THIS CONTINUES UNTIL ALL DISCS ARE COPIED. THE USER
  ALSO HAS THE OPTION OF SKIPPING A DISC OR NUMBER OF DISCS. BY SKIPPING
  THROUGH ALL THE DISCS THE FIRST TIME, THE USER MAY DETERMINE THE NUMBER 
  OF FLEXIBLE DISCS NEEDED FOR THE COPY. A DIRECTORY LIST MAY BE OBTAINED 
  FOR EACH FLEXIBLE DISC. NOTE: ONLY ONE 7900/7905 DIRECTORY TRACK IS 
  ALLOWED. NO EXTENTS ARE ALLOWED ON SOURCE DISCS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: GCOPY SOURCE (FTN4,L) 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  :RU,LOADR,99,LU#,,,3
  :OR * RU,GCOPY,INPUT,LIST 
  GCOPY: ENTER SOURCE (7900/7905) DISC LU#: (YOU ENTER THE DISC LOGICAL 
  UNIT THAT YOU WANTED COPIED TO THE FLEXIBLE DISCS, IN FILE MANAGER
  FORMAT.). 
  GCOPY: ENTER DESTINATION (9885) DISC LU#: (YOU ENTER THE FLEXIBLE DISC
  LOGICAL UNIT NUMBER THAT YOU WANT COPIED TO). 
  GCOPY: DISC #1
  GCOPY: DISC #? (YOU ENTER 1 IF YOU WANT TO EITHER LOOK AT THE NAMES OF
                 FILES WHICH WILL GO ON THE FIRST FLEXIBLE DISC OR IF YOU 
                 ACTUALLY WANT TO COPY THE 1ST DISC. LIKEWISE, ENTER N FOR
                 THE NTH DISC YOU DESIRE. 
  
  GCOPY: SKIP ?  RETURN OR YES RETURN WILL CAUSE THE NEXT CONSECUTIVE DISC
                 TO BE SELECTED.
  OTHERWISE:
  GCOPY: INSERT THE RIGHT DISC
  THE USER NOW PHYSICALLY INSERTS THE PROPER DISC AND ENTERS: 
                 *GO,GCOPY
  GCOPY: CARTRIDGE #? 
        AT THIS POINT THE USER CREATES A CARTRIDGE NUMBER FOR THE NEW 
        FLEXIBLE DISC CARTRIDGE ABOUT TO BE COPIED. AFTER RETURN THE DISC 
        IS COPIED.
  GCOPY THEN RETURNS AND ASKS FOR THE NEXT DISC.
        GCOPY: DISC # X 
        GCOPY: DISC # ? 
  NOTE: A /E AFTER 'DISC#?' TERMINATES THE PROGRAM. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E03101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  JOB3M 
 **PROGRAM TITLE: 
  TAPE CARTRIDGE SAVE AND RESTORE 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    FILES           CARTRIDGE       MAGNETIC TAPE 
    SAVE/RESTORE
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THIS PACKAGE CONSISTS OF A MAIN PROGRAM JOB3M WRITTEN IN FORTRAN,
  TWO FORTRAN SUBROUTINES AND AN ASSEMBLY LANGUAGE SUBROUTINE DESIGNED TO 
  OPERATE IN THE RTE-II -III ENVIRONMENT USING THE FILE MANAGER PACKAGE 
  (FMP) CALLS AND INTERACTS WITH MAGNETIC TAPE CARTRIDGES. THIS PERMITS 
  THE USER TO SAVE AND RESTORE FILE MANAGER FILES IN 128 WORD RECORDS,
  THUS INCREASING THE STORAGE CAPACITY OF THE TAPE TO ABOUT 468 BLOCKS. A 
  HEADER IS WRITTEN WHICH PROVIDES A MEANS TO RECREATE THE FILE MANAGER 
  FILE ON RECOVERY. A LIST OF FILES IS INPUT FROM EITHER KEYBOARD OR A
  FILE MANAGER FILE. ANY EXTENTS IN THE INPUT FILES WILL BE PACKED OUT
  UPON RECOVERY. RECOVERY CAN BE SELECTED FILES FROM THE CARTRIDGE OR ALL 
  FILES ON THE CARTRIDGE. MEANS ARE PROVIDED TO COPY THE DIRECTORY AND
  USER INFORMATION. 
  HARDWARE REQUIREMENTS ARE: AN HP2100, 21MX, OR 21MX E-SERIES COMPUTER,
  A 7900, 7905, OR 7920 DISC FILE SYSTEM, AND A CRT WITH MAGNETIC TAPE
  CARTRIDGE OPTION DIRECTLY CONNECTED TO 12966 BUFFERED ASYNCHRONOUS
  DATA SET INTERFACE KIT WITH OPTION 001. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD THE THREE FORTRAN FILES, JOB3M, COMPA, DATE, AND IGET/IXGET WITH 
  THE FOLLOWING CONSIDERATIONS: 
       IF YOUR SYSTEM IS RTE-II AND DOES NOT HAVE IGET, ASSEMBLE AND LOAD 
  THE ONE SUPPLIED. IF YOUR SYSTEM IS RTE-III, REPLACE THE CALL TO IGET 
  WITH A CALL TO IXGET, ASSEMBLE AND LOAD THE ONE SUPPLIED. 
  
  
 **RUN INSTRUCTIONS:
  
  :RU, JOB3M [,LU]
       WHERE LU IS THE LOGICAL UNIT OF THE INTERACTIVE DEVICE, TYPICALLY
       A CRT
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PROGRAM REQUESTS THE TASK. ENTER CK TO CHECK A LIST, WR WRITE A 
  TAPE, RE RECOVER A FILE, RA RECOVER ALL FILES, (EN WILL TERMINATE). NEXT
  ENTER CARTRIDGE NUMBER (POSITIVE) OR CARTRIDGE NUMBER LU (NEGATIVE),
  (RECOVERY CANNOT BE TO SYSTEM LU). NEXT THE PROGRAM REQUESTS AN LU FOR
  A RECORD COPY OF THE DIRECTORY, WHICH IS TYPICALLY A LINE PRINTER, IF 
  NO RECORD LIST IS DESIRED, ENTER 0, BIT BUCKET OR JUST A C/R. FOR CASE
  CK AND WR THE PROGRAM NEXT REQUESTS A SOURCE LIST, WHICH MAY BE A FILE
  MANAGER FILE NAME OR MAY BE ENTERED INTERACTIVELY BY ENTERING ::. IF
  ENTERED INTERACTIVELY, THE PROGRAM CREATES THE SOURCE LIST ON A FILE
  JOB3MM. THE INTERACTIVE LIST IS TERMINATED BY ENTERING ::. THE FILE 
  MANAGER FILE SHOULD BE AN ASCII LIST OF THE FILES TO BE SAVED, ONE PER
  LINE. 
  THE PROGRAM THEN REQUESTS THE LU OF THE MAGNETIC TAPE CARTRIDGE UNLESS
  THE TASK IS CK. FOR RE AND RA SEE BELOW. THE FILES ON THE SOURCE LIST 
  ARE OPENED IN SEQUENCE AND CHECKED FOR ERRORS AND TYPE, ONLY TYPE 3, 4, 
  OR 5 CAN BE USED. A TABLE IS OUTPUT ON THE CRT WITH A HEADING FILE
  NUMBER, NAME, TYPE AND INTERNAL IDENTIFIER CODE IF PRESENT (SEE DISCUS- 
  SION IN SOURCE LISTING), NUMBER OF BLOCKS, RECORD NUMBER ON THE TAPE OF 
  THE FIRST BLOCK OF THIS FILE AND THE NUMBER OF BLOCKS REMAINING ON THE
  TAPE. A TABLE IS BUILT BY THE PROGRAM, POINTING TO THE TRACK NUMBER AND 
  SECTORS REQUIRED FOR WRITING THE TAPE. THE PROGRAM THEN REQUESTS THE
  USER'S INITIALS, ENTER UP TO 4 CHARACTERS, THE PROGRAM THEN REQUESTS
  A CARTRIDGE I.E., ENTER 6 CHARACTERS OR A C/R IN WHICH CASE THE SOURCE
  FILE NAME WILL BE USED. THE PROGRAM THEN REQUESTS UP TO 40 CHARACTERS OF
  IDENTIFYING TEXT. THE PROGRAM THEN WRITES THE TAPE AND WHEN COMPLETE
  ASKS IF THE SOURCE FILES ARE TO BE PURGE. REPLY YE TO PURGE THE FILES,
  ANY OTHER REPLY INCLUDING C/R IS ASSUMED TO MEAN NO. THE PROGRAM THEN 
  OUTPUTS A SUMMARY LINE OF NUMBER OF BLOCKS WRITTEN AND EXITS. FOR TASK
  RE AND RA, THE DIRECTORY IS DISPLAYED ON THE INTERACTIVE DEVICE, AND IF 
  RE, AN ADDITIONAL LINE REQUESTING THE FILE NUMBER TO BE RECOVERED. ENTER
  THE FILE NUMBER FROM THE DIRECTORY LISTING OR ZERO TO TERMINATE PROGRAM.
  THE PROGRAM CREATES A FILE NAME JOB3MM AND WRITES THE APPROPRIATE BLOCK 
  TO THIS FILE. THIS FILE IS THEN CHECKED FOR ERRORS AND RENAMED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  1. CARTRIDGE (NUMBER) NOT FOUND 
  
     THE PROGRAM CHECKED THE CARTRIDGE LIST AND DID NOT FIND THE
     CARTRIDGE. CHECK CARTRIDGE LIST, MOUNT CARTRIDGE CORRECT NUMBER. 
     PROGRAM WILL NOT RECOVER FILES TO SYSTEM CARTRIDGE (LU2).
  
  2. FILE SLFILE NOT FOUND
  
    THE FILE SLFILE THE SOURCE LIST FILE NOT FOUND ON ANY MOUNTED 
    CARTRIDGE. CORRECT NAME OR ENTER /E TO TERMINATE PROGRAM. 
  
  3. LU LU NOT READY
  
     THE TAPE CARTRIDGE IS NOT READY, MAKE READY AND TRY AGAIN. 
  
  4. LU LU NOT A 3M CARTRIDGE DEVICE
  
     THE DRIVER FOR THIS LU IS NOT DVR 05. RE-ENTER THE PROPER LU.
  
  5. LINE N FILE SLFILE ERROR M 
  
     ERROR M WAS FOUND WHEN CHECKING THE FILE ON LINE N OF SOURCE LIST
     FILE SLFILE. ONLY 7, RECORD LENGTH ERROR, 8 BUSY SHOULD BE 
     ENCOUNTERED. 
  
  6. NNN NAMES ON FILE LIST LIMIT 125 
  
     THE DIRECTORY HAS A CAPACITY FOR 125 FILE NAMES, SHORTEN LIST. 
  
  7. TABLE OVERFLOW - OVERFLOW OF PROGRAM'S INTERNAL WORK TABLES
  
     REMOVE EXTENTS FROM SOURCE FILES AND TRY AGAIN OR REDUCE NUMBER OF 
     NAMES ON FILE LIST.
  
  8. EXTENT OUT OF ORDER FILE NAME
  
     THIS SHOULD NOT NORMALLY OCCUR. HOWEVER, IF YOU HAVE BEEN USING SMUT 
     OR CMM3 OR A SIMILAR PROGRAM TO TRY TO RECOVER A DAMAGED DISC, DON'T 
     GIVE UP YET. EACH EXTENT MUST BE ENCOUNTERED IN ORDER OF INCREASING
     DIRECTORY SEARCH SEQUENCE IN ORDER UP TO AN EXTENT CONTAINING AN END 
     OF FILE WORD. DIRECTORY SECTORS ARE SEARCHED (0,1) (14,15) (28,29) 
     (42,43) (56,57) (70,71) (84,85) THEN (2,3) (16,17).......(82,83).
  
  9. TOO MANY BLOCKS NNN LIMIT MMM
  
     THE LIMIT MMM WAS GUESED AT TO LEAVE A FEW INCHES OF TAPE BEFORE 
     DVR 05 BOMBS OUT. A DATA STATEMENT MBLOX SETS THIS PARAMETER IN THE
     SOURCE PROGRAM.
  
  10. N ERRORS IN PASS ONE
  
      TAPE CANNOT BE WRITTEN IF ANY ERRORS FOUND. TAKE CORRECTIVE ACTION
      AND TRY AGAIN.
  
  11. CREATE ERROR N
  
      ON RECOVERY THE PROGRAM TRIED TO CREATE FILE JOB3MM. LOOK FOR A FILE
      BY THIS NAME AND PURGE, CHECK AVAILABLE DISC SPACE. 
  
  12. ERROR N IN RECOVERED FILE 
  
      THIS ERROR WAS DISCOVERED BY READING THE RECOVERED FILE WHICH WAS 
      MADE BY COPYING THE REQUISITE NUMBER OF BLOCKS FROM THE TAPE TO 
      FILE JOB3MM.
  
  13. DUPLICATE FILE NAME FILNM 
  
      THE PROGRAM TRIED TO RENAME JOB3MM FILNM. THE OPERATOR IS GIVEN A 
      CHOICE OF RENAMING THE FILE, PURGING THE CURRENT FILE FILNM AND 
      RENAMING THE NEW FILE OR SKIPPING THIS FILE.
  
  14. ERROR N ON PURGE OF FILNM 
  
      FROM 13 ABOVE PURGE WAS CHOSEN BUT FILNM CANNOT BE PURGED BECAUSE OF
      REASON N. ENTER EN TO TERMINATE PROGRAM.
  
  15. PURGE ERROR N FILE FILNM
  
      THE OPTION TO PURGE THE FILES WRITTEN TO TAPE WAS TAKEN BUT FILNM 
      CANNOT BE PURGED BECAUSE OF REASON N. 
  
  16. PURGE FILE FILNM FROM LU LU 
      PROGRAM COULD NOT PURGE THIS FILE.
  
  17. TAPE FORMAT ERROR 
  
      ON RECOVERY THE TAPE SUPPLIED DOES NOT HAVE THE PROPER CHECK WORD.
      THERE IS AN ASCII CHECK WORD IN THE FIRST DIRECTORY RECORD WHICH IS 
      CHECKED.
  
  
 **MISCELLANEOUS: 
  
  
E03201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TCMPR 
 **PROGRAM TITLE: 
  TAPE CASSETTE COMPARE 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    COMPARE         CASSETTE
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPARES THE DATA ON TWO TAPE CASSETTES, RECORD BY RECORD, 
  LISTING THE DIFFERENCES BY WORD NUMBER. A SUMMARY OF THE COMPARISON IS
  OUTPUT. TCMPR REQUIRES THE 2645 TAPE CASSETTE OPTION. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: TCMPR SOURCE (FTN4,L) 
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD AS RTE BACKGROUND. 
  
  
 **RUN INSTRUCTIONS:
  
  :ON,TCMPR,LISTLU,LUCARTI,LUCARTZ[,NOERS]
      WHERE NOERS IS THE LIMIT OF THE NUMBER OF ERROR RECORDS TO BE 
      LISTED. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IF LISTING LU IS 6, LONGER LINES ARE WRITTEN. USER POSITIONS TAPE FOR 
  BEGINNING OF TEST.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  BAD LU DEF. 
  
  
 **MISCELLANEOUS: 
  
  
E03301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LIBRN 
 **PROGRAM TITLE: 
  LIBRN: SEPARATE/COMBINE BINARY RELOCATABLE PROGRAMS 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    RELOCATABLE     FILES           LIBRARY 
    MERGE 
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
   LIBRN IS A RTE UTILITY PROGRAM FOR SEPARATING AND COMBINING BINARY 
  RELOCATABLE PROGRAMS AND SUBROUTINES. LIBRN ALSO MAY BE USED TO LIST
  THE NAMES AND OPTIONALLY THE ENTRY AND EXTERNAL DECLARATIONS OF 
  RELOCATABLE PROGRAMS/SUBROUTINES. 
  
   LIBRN PROCESSES RELOCATABLE PROGRAMS FROM ANY INPUT/OUTPUT DEVICE
  SUPPORTING RELOCATABLE READ/WRITE AND/OR RTE FMP TYPE 5 DISC FILES. 
  
   INPUT COMMANDS MAY BE ISSUED FROM A KEYBOARD DEVICE. ANY ASCII INPUT 
  DEVICE OR FROM A FMP TYPE 4 FILE. 
  
   THE USER WILL FIND LIBRN EXTREMELY USEFUL IN UPDATING LIBRARY PAPER
  TAPES, MAGNETIC TAPES AND DISC FILES. 
  
   LIBRN MAY ALSO BE USED TO RETRIEVE SUBROUTINES FROM THE SYSTEM DISC
  LIBRARY.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: LIBRN SOURCE (MAIN) 
  FILE#  3: NUM SOURCE (SUBROUTINE) 
  FILE#  4: OCTAL SOURCE (SUBROUTINE) 
  FILE#  5: RDLIB SOURCE (SUBROUTINE) 
  FILE#  6: ALPHA SOURCE (SUBROUTINE) 
  FILE#  7: ASCIN SOURCE (SUBROUTINE) 
  FILE#  8: BINRY SOURCE (SUBROUTINE) 
  FILE#  9: FETCH SOURCE (SUBROUTINE) 
  FILE# 10: IFMGR SOURCE (SUBROUTINE) 
  FILE# 11: PRINT SOURCE (SUBROUTINE) 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING OF LIBRN 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE LIBRN SOURCE LISTING. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SHOULD BE SELF-EXPLANATORY
  
  
 **MISCELLANEOUS: 
  
  
E03401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DBCPY 
 **PROGRAM TITLE: 
  IMAGE DATA BASE COPY UTILITY
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    DATA BASE       IMAGE           SAVE/RESTORE
    COPY
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  COPIES AN IMAGE/1000 DATA BASE TO AN EMPTY BASE. DBCPY CAN BE USED FOR
  BACK-UP, RECOVERY, AND RESTRUCTURING WITHOUT A MAG TAPE. IT CAN BE
  USEFUL EVEN IF A MAG TAPE IS PRESENT SINCE IT DOES NOT ABORT THE COPY 
  ON FINDING AN ERROR IN THE DESTINATION DATA BASE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: "DBCPY - EDITED CONSOLE LOG 
  FILE#  3: &DBCPY - SOURCE 
  FILE#  4: &WHOMI - SOURCE SUBROUTINES USED BY DBCPY.
  FILE#  5: &DBCP2 - SOURCE (USES NO ADDITIONAL SUBROUTINES)
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE &DBCPY SOURCE FOR COMPLETE INSTRUCTIONS 
  
  
 **RUN INSTRUCTIONS:
  
  SEE FILE "DBCPY FOR A SAMPLE RUN AND THE HEADING COMMENT OF &DBCPY FOR
  COMPLETE OPERATING INSTRUCTIONS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE "DBCPY FILE FOR SAMPLE RUN. 
  
  
 **PROGRAM DESCRIPTION: 
  
  WHOMI - RETURNS NAME OF CURRENTLY EXECUTING PROGRAMS FROM I.D. SEGMENT
  (RTE-II,III,IV) 
  DBCPY MUST BE STOPPED WITH THE BR COMMAND, NOT BY ABORTING IT.
  IF DBCPY IS ABORTED TWO CLASS NUMBERS WILL BE LOST. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL IMAGE/1000 ERRORS ARE REPORTED ON THE LOG DEVICE. 
  
  
 **MISCELLANEOUS: 
  
  
E03501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  GSAVE/GRSTR DISC LU SAVE AND RESTORE
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  3
  
 **KEYWORDS:
    CARTRIDGE       DISC            SAVE/RESTORE
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  GSAVE, GSAV2, GRSTR, GRST2 ARE RTE UTILITY PROGRAMS WHICH SAVE (VERIFY) 
  AND RESTORE (VERIFY) ANY FILE MANAGER DISC CARTRIDGES. GSAVE (GSAV2)
  ALLOW FROM 1 TO 20 DISC LU'S TO BE SAVED TO MAG TAPE WITH A MINIMUM OF
  OPERATOR ENTRY. THE OPERATOR ENTERS THE STRING OF DISC LU'S AND THE 
  STARTING MAGTAPE FILE# ONLY. THE PROGRAM THEN SAVES AND VERIFIES EACH 
  DISC LU, PRINTS APPROPRIATE MESSAGES TO THE TTY, AND IN THE EVENT OF A
  VERIFY ERROR IT WILL AUTOMATICALLY PROCEED TO THE NEXT LU (AFTER
  PRINTING A MESSAGE TO THAT EFFECT). IT ALSO CREATES ITS OWN HEADER WITH 
  TBG TIME, DATE, LU#, CR#, CR LABEL, 1ST FMGR TRACK, AND THE NEXT
  AVAILABLE TRACK.
  
  GRSTR (GRST2) WILL SELECTIVELY RETRIEVE A GSAVE FILE FROM TAPE AND
  RESTORE IT TO ANY DISC LU#. IT WILL RESTORE A DIFFERENT LU, DIFFERENT 
  SIZE LU, OR A DIFFERENT SYSTEM (RTE). IN THE EVENT THAT THE DESTINATION 
  DISC LU IS NOT LARGE ENOUGH, GRSTR WILL PRINT A MESSAGE AND ABORT.
  
  THE DIFFERENCE BETWEEN GSAVE-GSAV2, AND GRSTR-GRST2 IS BUFFER SIZE AND
  THEREFORE THE REQUIRED PARTITION SIZE. GSAVE USES A 6144 WORD BUFFER AND
  GSAV2 USES A 2048 WORD BUFFER.
  
  NOTE: THESE PROGRAMS DO NOT WORK ON LU 2 OR 3.
  HARDWARE REQUIREMENTS ARE: A 7900,7905,7906,OR 7920 DISC DRIVE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: LTRAK SOURCE
  FILE#  3: GSAVE SOURCE
  FILE#  4: GRSTR SOURCE
  FILE#  5: GSAV2 SOURCE
  FILE#  6: GRST2 SOURCE
  FILE#  7: DATE SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. STORE <RAK, &GSAVE, &GRSTR, &GSAV2, &GRST2, AND &DATE ON DISK
  
  2. A. RU, FTN4, &GSAVE, TTY,- 
     B. RU, FTN4, &GRSTR, TTY,- 
     C. RU, FTN4, &DATE, TTY,-
  
  3. RU, ASMB, <RAK, TTY,-
  
  4. RU, LOADR                              GSAV2 REQUIRES 10 PAGES 
  
        RE,%GSAVE 
        RE,%LTRAK  REQUIRES 18 PAGES
        RE,%DATE
  
     END
  
  5. RU, LOADR
  
        RE,%GRSTR 
        RE,%LTRAK  REQUIRES 18 PAGES
        RE,%DATE
  
  
 **RUN INSTRUCTIONS:
  
   RU, GSAVE, TTY, TAPE LU# (IF NOT EQUAL TO 8) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE ABSTRACT
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  LU 2(3) CANNOT BE GSAVED (GRSTR'D)! USE SAVE, VERFY 
  
  LU M IS NOT MOUNTED 
  VERIFY BAD! ERROR ON TRACK# MMMM
  #TRKS REQUIRED = NNNN, #TRKS ON LU#NN = NNNN (THIS ERROR MESSAGE IS IN
                                               GRSTR ONLY)
  
  
 **MISCELLANEOUS: 
  
  
E03601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CHAR
 **PROGRAM TITLE: 
  PAPER TAPE TITLER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    LABEL           PAPER TAPE      CHARACTER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  389 WITH SUBPROGRAMS (251 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS FORTRAN-CALLABLE SUBROUTINE ALLOWS THE USER TO LABEL HIS PAPER 
  TAPES UNDER PROGRAM CONTROL. CHARACTER SIZE IS EQUIVALENT TO THE WIDTH
  OF EIGHT-LEVEL PUNCHED PAPER TAPE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD ASSEMBLY AND LOAD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
              CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
              EXT CHAR
                . 
                . 
                . 
                . 
                . 
              JSB CHAR
              DEF *+3  IF COUNT = 1 ONLY ONE CHAR/16 BIT-WORD (RIGHT HALF)
              DEF COUNT         = 2 TWO CHAR/16-BIT WORD
              DEF WORD
                . 
                . 
                . 
                . 
    COUNT     DEC 2 
    WORD      ASC 1,AB
                . 
                . 
                . 
              END 
  
              CALLING SEQUENCE - FORTRAN
  
              . 
              . 
              DIMENSION I(5)
                . 
                . 
                . 
              READ (5,10)I
    10        FORMAT (5A1)
                . 
                . 
                . 
              DO 20 J = 1,5 
    20        CALL CHAR (1,I(J))
                . 
                . 
              END 
  
  SPECIAL CONSIDERATIONS
  
  WHEN PUNCHING 1 CHARACTER PER 16-BIT WORD WITH FTN4, CARE MUST BE TAKEN 
  TO INSURE THAT A CALL TO "OLDIO" (AS IN TEST CASE) IS MADE PRIOR TO CALL
  TO CHAR. ANOTHER FIX FOR THIS IS TO REPLACE LINE 25 OF SUBROUTINE CHAR
  WITH A "NOP". 
  
  EITHER OF THESE FIXES WILL ALLOW THE USER TO RUN UNDER "NEWIO" OR 
  "OLDIO", WHICHEVER IS DESIRABLE TO HIM. THE SOURCE TAPE FOR CHAR IS SET 
  FOR "OLDIO".
  
  WITH VERY LITTLE CHANGE IN THE EXEC CALL, THIS PROGRAM CAN RUN WITH THE 
  DOS/DOS-M SYSTEM. ALSO THERE SHOULD NOT BE ANY PROBLEM IN CONVERTING
  THE OUTPUT PORTION FOR A BCS SYSTEM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E03701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ALGOL ARRAY TRANSFER FOR SEGMENTATION 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    ARRAY           ALGOL           SEGMENTATION
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  3560 WITH EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE ALLOWS THE TRANSFER OF ARRAY DATA BETWEEN ALGOL MAIN AND 
  SEGMENTS UNDER DOS, DOS-M, OR RTE. SINCE COMMON IS NOT NORMALLY 
  AVAILABLE IN ALGOL, THIS ROUTINE ACCEPTS THE ADDRESSED OF UP TO 10 ALGOL
  ARRAYS AND SAVES THE ADDRESSES OF THE ARRAY TABLES. ANOTHER CALL ALLOWS 
  THE SEGMENTS TO GET THESE ADDRESSES SO THAT IT MAY USE THE ORIGINAL 
  ARRAY DIRECTLY. THUS, COMMON IS ESTABLISHED BETWEEN A MAIN PROGRAM AND
  ITS SEGMENTS BY COPYING THE ORIGINAL ARRAY TABLE OF MAIN INTO A DUMMY 
  ARRAY TABLE OF THE SEGMENT. REQUIRES ALGOL COMPILER HP24129B. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL COMPILE/ASSEMBLE AND LOAD PROCEDURES
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINTS
  ITATA AND RTATA 
  
  TWO ENTRY POINTS ARE PROVIDED ONLY TO ALLOW ALGOL TO CALL WITH THE NAME 
  OF REAL AND INTEGER ARRAYS. THERE IS NO FUNCTIONAL DIFFERENCE BETWEEN 
  ITATA AND RTATA.
  
  0004*  TRANSFERS ALGOL ARRAYS FOR USE IN ALGOL SEGMENTED SYSTEMS. 
  0005*  TATA HAS ROOM FOR A CERTAIN NUMBER OF ARRAY TABLE ADDRESSES, 
  0006*   (THE NUMBER IS EQUAL TO SIZE) 
  0007*  AND EXPECTS TO BE CALLED TO REMEMBER A CERTAIN ARRAY.
  0008*  THIS CALL IS : ITATA(-N,A) OR RTATA(-N,A)
  0009*   WITH - TO SAY "THIS IS THE CALL TO SET THE ADDRESS" 
  0010*        N THE SEQUENCE NUMBER ( 1 TO MAXIMUM SIZE )
  0011*        A (WITHOUT INDEX) THE NAME OF THE ARRAY
  0012*  USE ITATA FOR INTEGER ARRAYS AND RTATA FOR REAL ARRAYS.
  0013* 
  0014*  THE CALLING SEQUENCE TO GET THE ARRAY IS : 
  0015*        ITATA(+N,A) OR RTATA(+N,A) 
  0016*  WITH + TO SAY "GIVE ME THE ARRAY"
  0017*        N THE SEQUENCE NUMBER ( 1 TO MAXIMUM SIZE )
  0018*        A (WITHOUT INDEX) THE NAME OF THE ARRAY. THIS ARRAY
  0019*          HAS TO BE DECLARED IN THE CALLING PROGRAM IN THIS
  0020*          WITH CORRECT TYPE INTEGER OR REAL AND WITH 
  0021*          CORRECT NUMBER OF INDICES, BUT SHOULD BE MINIMUM IN
  0022*          SIZE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  PRINTOUT OF TA 00     NO -N CALL BEFORE +N CALL, I.E. NO ARRAY SAVED, 
                        BUT ARRAY REQUESTED 
  
              TA 01     N = 0 OR \N\>10 
  
              TA 02     ARRAY TYPE OF GRANTED 
                        ARRAY AND OF REQUEST ARRAY
                        DIFFERS OR # OF INDICES DIFFERS 
  
  
 **MISCELLANEOUS: 
  
  THE SEGMENT REQUESTING AN ARRAY SHOULD DECLARE IT WITH SAME TYPE AND
  SAME NUMBER OF INDICES AS THE ORIGINAL ARRAY, BUT SHOULD GIVE MINIMUM 
  DIMENSIONS, 1:1, TO SAVE CORE SPACE.
  
  BE SURE TO HAVE THE ARRAY ALWAYS CORE RESIDENT, I.E., DON'T HAVE IT IN
  A SEGMENT.
E03801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FORTRAN IV CORE SAVER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    FORMATTING      FORTRAN 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ALLOWS THE FORTRAN IV PROGRAM THAT USES ONLY FORTRAN II 
  I/O FUNCTIONS TO USE THE FORTRAN II FORMATTER AND THUS SAVE A 
  CONSIDERABLE NUMBER OF WORDS. THE SAVINGS IN RTE/DOS ARE A MAXIMUM OF 
  882 WORDS. IN BCS THE SAVINGS ARE A MAXIMUM OF 651 WORDS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
       IN MTS, DOS, DOS-M AND RTE, LOAD RELOCATABLE TAPE GENERATED BY 
  ASSEMBLING THIS PROGRAM, PRIOR TO THE FORMATTER AND THE REST OF THE 
  LIBRARY. DO NOT LOAD THE FORTRAN IV FORMATTER; HOWEVER, IF FORTRAN IV 
  FEATURES SUCH AS DOUBLE PRECISION OR COMPLEX NUMBERS ARE TO BE USED,
  THE FORTRAN IV LIBRARY, EXCLUSIVE OF THE FORMATTER, SHOULD BE LOADED. 
  IN ANY CASE, SINCE THE FORTRAN IV ARRAYS ARE DIFFERENT, THE ..MAP 
  ROUTINE FROM THE FORTRAN IV LIBRARY MUST BE LOADED IF ARRAYS ARE USED.
  
       IN BCS, NON-MTS, LOAD THE RELOCATABLE TAPE, IF NEEDED (I.E., IF
  REAL OR INTEGER I/O IS BEING DONE WITH FORTRAN IV), JUST BEFORE 
  LOADING THE FORTRAN FORMATTER. AFTER THE FORMATTER IS LOADED, THE 
  LIBRARY SWITCH IS TURNED ON AND THE APPROPRIATE LIBRARIES ARE LOADED. 
  IN BCS, IT IS OKAY TO SUBMIT THE FORTRAN IV FORMATTER AT THIS TIME
  (IT WILL NOT BE LOADED HOWEVER).
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINT(S)
  
   .RIO.        REAL VARIABLE I/O 
                   CALLING SEQUENCE 
                     JSB .RIO.
                     DEF REAL 
                          CAUSES A CALL TO .RAR. FOR AN ARRAY 
                          LENGTH OF 1.
  
   .RAY.        REAL ARRAY I/O
                   CALLING SEQUENCE 
                     JSB .RAY.
                     DEF ADDRESS
                     DEC LENGTH 
                          CAUSES A CALL TO .RAR.
  
   .IIO.        INTEGER VARIABLE I/O
                   CALLING SEQUENCE 
                     JSB .IIO.
                     DEF INTEGER
                          CAUSES A CALL TO .IAR. FOR AN ARRAY 
                          LENGTH OF 1.
  
   IAY.         INTEGER ARRAY I/O 
                   CALLING SEQUENCE 
                     JSB .IAY.
                     DEF ADDRESS
                     DEC LENGTH 
                          CAUSES A CALL TO .IAR.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E03901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RTEM
 **PROGRAM TITLE: 
  ON-LINE SYSTEM LOAD FOR MOVING-HEAD RTE.
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISC            BOOT-UP 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  97 WITHOUT EXTERNAL SUBPROGRAMS 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE USER TO START UP A MOVING-HEAD RTE SYSTEM FROM
  ANOTHER RTE SYSTEM (WITH A FIXED-HEAD OR MOVING-HEAD DISC) WITHIN THE 
  SAME HARDWARE CONFIGURATION WITHOUT HALTING THE COMPUTER AND LOADING A
  PAPER TAPE BOOTSTRAP. THE I/O CHANNELS OF THE MOVING-HEAD DISC, THE 
  SUBCHANNEL NUMBER AND THE STARTING TRACK NUMBER OF THE SYSTEM TO BE 
  STARTED ARE SPECIFIED IN THE PROGRAM DIRECTIVE. A TYPICAL DIRECTIVE 
  MIGHT BE "ON,RTEM,22,1,100" 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RTEM SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE AND LOAD THE PROGRAM IN AN RTE SYSTEM IN WHICH IT IS 
  DESIRABLE TO TRANSFER TO A MOVING-HEAD RTE SYSTEM WITHIN THE SAME 
  HARDWARE CONFIGURATION. 
  
  
 **RUN INSTRUCTIONS:
  
  CALL THE PROGRAM WITH THE DIRECTIVE 
  
                      ON,RTEM,CHAN,SUBCH,TRACK
  
  WHERE:
  
  "CHAN"              IS THE HIGHER PRIORITY I/O CHANNEL NUMBER (IN 
                      DECIMAL) OF THE MOVING-HEAD DISC. 
  
  "SUBCH"             IS THE SUBCHANNEL NUMBER OF THE DISC ON WHICH 
                      THE SYSTEM RESIDES. 
  
  "TRACK"             IS THE STARTING TRACK NUMBER OF THE RTE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  IF THE SYSTEM IS ON SUBCHANNEL 1 AND THE DISC I/O CHANNELS ARE 26 AND 
  27 (OCTAL) AND THE SYSTEM STARTS AT TRACK 100, THE DIRECTIVE IS 
                ON,RTEM,22,1,100 (DECIMAL NUMBERS)
  
  THE SYSTEM SHOULD START UP JUST AS IT NORMALLY DOES WITH THE PAPER
  TAPE BOOTSTRAP. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E04001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DOSM
 **PROGRAM TITLE: 
  DOS-M BOOTSTRAP PROGRAM FROM RTE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISC            BOOT-UP 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  138 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE USER TO START UP A DOS-M SYSTEM FROM AN RTE 
  SYSTEM HARDWARE CONFIGURATION WITHOUT HALTING THE COMPUTER AND LOADING
  A PAPER TAPE BOOTSTRAP. THE I/O CHANNELS OF THE MOVING-HEAD DISC AND
  THE SUBCHANNEL NUMBER ARE SPECIFIED IN THE PROGRAM DIRECTIVE. A TYPICAL 
  DIRECTIVE MIGHT BE: "ON,DOSM,22,1"
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DOSM SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE AND LOAD THE PROGRAM IN AN RTE SYSTEM IN WHICH IT IS 
  DESIRABLE TO TRANSFER TO A DOS-M SYSTEM WITHIN THE SAME HARDWARE
  CONFIGURATION.
  
  
 **RUN INSTRUCTIONS:
  
  CALL THE PROGRAM WITH THE DIRECTIVE 
  
                     ON,DOSM,CHAN,SUBCH 
  
  WHERE:
  
  "CHAN"             IS THE HIGHER PRIORITY I/O CHANNEL NUMBER (IN
                     DECIMAL) OF THE MOVING-HEAD DISC.
  
  "SUBCH"            IS THE SUBCHANNEL NUMBER OF THE DISC ON WHICH
                     THE SYSTEM RESIDES.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  IF THE SYSTEM IS ON SUBCHANNEL 1 AND THE DISC I/O CHANNELS ARE 26 AND 
  27 (OCTAL) THE DIRECTIVE IS 
  
                       ON,DOSM,22,1 (DECIMAL NUMBERS) 
  
  THE SYSTEM SHOULD START UP JUST AS IT NORMALLY DOES WITH THE PAPER TAPE 
  BOOTSTRAP.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E04101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MTU 
 **PROGRAM TITLE: 
  EASY MAGNETIC TAPE I/O AND STATUS INFORMATION 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    STATUS           MAGNETIC TAPE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M     RTE 
  
 **MEMORY REQUIREMENTS: 
  280 WITH EXTERNAL SUBPROGRAMS   (260 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS UTILITY IS USED IN A DOS/DOS-M OR RTE ENVIRONMENT TO ELIMINATE THE 
  TEDIOUS PROGRAMMING REQUIRED TO ACHIEVE MAGNETIC TAPE DATA TRANSFER OR
  STATUS INFORMATION. IT CHECKS FOR ON-LINE CONDITION, WRITE RING PRESENT,
  END OF TAPE, AND CALLS EXEC FOR DATA TRANSFERS AND STATUS. BY CHECKING
  THE INDICATORS RETURNED BY THIS ROUTINE THE USER MAINTAINS THE
  FLEXIBILITY OF BRANCHING IN HIS OWN PROGRAM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: MTU SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE PROGRAM AND STORE (OR SAVE) RELOCATABLE FOR USE AS A LIBRARY 
  ROUTINE.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISING 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E04201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE LOGIN AND LOGBOOK 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    STATUS           REPORTS         ACCOUNTING 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  WITH EXTERNAL SUBPROGRAMS, 3494 FOR LOGIN AND 9579 FOR LOGBOOK
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE TWO FORTRAN PROGRAMS IN THIS PACKAGE ALLOW A USER TO (LOG): TIME-IN 
  OF JOB, DESCRIPTION OF JOB, DAY, TIME-OUT OF JOB; AND GENERATE A
  PERIODIC SUMMARY REPORT WHICH INCLUDES THE NUMBER OF WORKING DAYS, THE
  NUMBER OF COMPUTER HOURS AVAILABLE, ONE-LINE PRINTOUTS OF EACH JOB RUN
  ALONG WITH ITS RUN-TIME, TOTAL USER HOURS, TOTAL COMPUTER HOURS, AND
  OTHER INFORMATION PERTINENT TO AN RTE ENVIRONMENT.
  THIS PACKAGE REQUIRES AN ASR-35 TELETYPE, TIME BASE GENERATOR, PHOTO- 
  READER, TTY AND 16K CORE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. USE STANDARD PROCEDURES TO COMPILE, LOAD, AND STORE THE LOG BOOK 
     PROGRAM UNDER THE NAME OF LBOOK. 
  2. USE STANDARD PROCEDURES AS DEFINED BY THE RTE OPERATING MANUAL TO
     COMPILE, LOAD, AND STORE LOGIN AS A BACKGROUND DISC RESIDENT PROGRAM.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  1. SET THE TIME CORRECTLY WITH A "TM" COMMAND.
  
  2. TURN THE ASR-35 SELECTOR SWITCH TO THE "T" POSITION TO PUNCH AND 
     PRINT, FOR TEST CASE ONLY. 
  
  3. TYPE "ON, LOGIN, 3". 
  
  4. THE PROGRAM WILL ASK FOR A JOB NAME. 
  
  5. TYPE A JOB NAME OF 5 OR LESS CHARACTERS. 
  
  6. THE PROGRAM WILL PUNCH AND PRINT THE FOLLOWING MESSAGE:
     **ON!XXXX/0YYY/0ZZ/0WW/0SYSTEM SOFTWARE MAINTENANCE
  
            XXXXX - JOB NAME
              YYY - DAY OF YEAR 
               ZZ - HOUR (24 HOUR CLOCK)
               WW - MINUTES 
  
  7. THIS COMPLETES A LOG IN ENTRY. PROCEED AS USUAL. 
  
  8. TO LOG OFF (TERMINATE THE TIME OF YOUR JOB), TYPE "ON, LOG, 1".
  
  9. THE PROGRAM WILL ASK FOR THE JOB NAME GIVEN IS STEP 5. TYPE IT.
  
  10. THIS CREATES AN ENTRY TO TERMINATE YOUR JOB.
  
  11. SINCE RTE IS REAL TIME, ANY NUMBER OF JOBS MAY BE SCHEDULED DURING
      ANY TIME AND TERMINATED IN ANY ORDER. 
  
  12. ON, LOG, 2 IS USED FOR THE SELDOM USED JOBS. THE PROCEDURE IS TO
      TYPE THE L.U. OF THE DEVICE WHICH SERVES AS JOB DESCRIPTION INPUT,
      NORMALLY THE CARD READER. 
  
  13. AFTER A GENERAL IDEA OF OPERATION IS GAINED, TURN THE SELECTOR
      SWITCH TO THE "KT" POSITION.
  
  14. FOR USER'S CONVENIENCE HAVE A MEMO TYPED TO IDENTIFY NUMBERS WITH 
      JOB DESCRIPTIONS. THESE NUMBERS ARE RESERVED: 
                1 - TERMINATE A JOB.
                2 - SPECIAL JOB INPUT OPTION
                3 - SOFTWARE MAINTENANCE
                4 - PERSONAL USE
                5 - DEMONSTRATION PROGRAMS
               10 - THIS DELETES A JOB ENTRY
               12 - HARDWARE MAINTENANCE ON (DEVICE)
  
  15. BY TYPING "ON, LOG, (JOB#), 1" THE PROGRAM WILL BY-PASS STEP 4'S
      QUESTION AND WAIT FOR INPUT (STEP 5). 
  
  LBOOK 
  
  1. LOAD DATA TAPE IN PHOTOREADER. 
  
  2. TYPE "ON, LBOOK".
  
  3. TYPE "APRIL" CR.LF., THEN "4" CR.LF. 
  
  4. COMPARE YOUR OUTPUT LISTING AGAINST LISTING ENCLOSED.
  
  
 **PROGRAM DESCRIPTION: 
  
  LOGIN 
  
  1. USE STANDARD PROCEDURES AS DEFINED BY THE RTE OPERATING MANUAL TO
     COMPILE, LOAD, AND STORE LOGIN AS A BACKGROUND DISC RESIDENT PROGRAM.
  
  2. TO GAIN ACCURATE TIME INFORMATION WITH EACH JOB, IT IS IMPERATIVE TO 
     SET THE DAY OF YEAR AND TIME CORRECTLY. CONSULT RTE'S SYSTEM CMNDS 
     FOR CORRECT TIME SET.
  
  3. THE I/O IS CONVERSATIONAL. 
  
  4. REFER TO SECTION 7.0 (TEST CASE) FOR NORMAL OPERATION OF LOGIN.
  
  5. AFTER THE USER IS FAMILIAR WITH THE OUTPUT, HE SHOULD LOOK AT THE
     SOURCE LISTING, IN PARTICULAR, THE COMMENTS AND STATEMENT NUMBER 855 
     (NOTING THAT THE VALUE OF I IS EQUAL TO THE PARAMETER PASSED WHEN
     TYPING "ON, LOG, NUMBER"). 
  
  6. TO ADD A NEW JOB DESCRIPTION SET LASTJ TO THE NEXT AVAILABLE NUMBER
     (6). THIS NUMBER WILL BE THE NEW JOB DESCRIPTION'S NUMBER. 
  
     NOTE: 1 THRU 5, 10 AND 12 ARE USED.
  
  7. CHECK STATEMENT 855 (A COMPUTED GO-TO) TO SEE WHICH LINE # THE "I" 
     WILL POINT TO. 
  
  8. THEN FOLLOW THE PROGRAM LOGIC (LINE NUMBER PLUS 2) TO THE 2ND LINE 
     OF THE FORMAT STATEMENT. EDIT THIS LINE WITH THE NEW JOB DESCRIPTION 
     LEAVING THE QUOTE FIELD LENGTH UNCHANGED.
  
  9. GO TO STEP 1.
  
     NOTE: TO TERMINATE A GROUP OF ENTRIES (THE LOG BOOK PROGRAM REQUIRES 
     IT) TYPE "ON, LOGIN, 101". THIS COMMAND PUNCHES A "/EE", CR.LF., 
     THEN LEADER. 
  
  LBOOK 
  
  1. I/O IS CONVERSATIONAL. 
  2. USE STANDARD PROCEDURES TO COMPILE, LOAD, AD STORE THE LOG BOOK
     PROGRAM UNDER THE NAME OF LBOOK. 
  
  3. LBOOK REQUIRES A LARGE AMOUNT OF STORAGE FOR THE DATA INPUT. REFER 
     TO THE SOURCE LISTING COMMENTS FOR INSTRUCTIONS ON CHANGING ARRAY
     SIZES TO RETAIN AS MUCH DATA STORAGE AS POSSIBLE.
  
  4. PLACE THE "LOGIN" TAPE IN THE PHOTOREADER. 
  
  5. TYPE "ON, LBOOK".
  
  6. LBOOK WILL ASK FOR THE MONTH OF THIS REPORT AND HOW MANY WORKING 
     DAYS DURING THE MONTH OR PERIOD. 
  
  7. TYPE MONTH ON ONE LINE, THE NUMBER OF WORKING DAYS ON THE NEXT.
  
  8. PROGRAM OPERATION IS AUTOMATIC FROM THIS POINT.
  
  9. THE TERMINATION OF THE DATA IS RECOGNIZED WHEN A "/EE" RECORD IS 
     READ. THIS RECORD IS PUNCHED BY TYPING "ON, LOGIN, 101"
     (REFER TO LOGIN DOCUMENTATION.)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LOGIN 
  
  SET THE SELECTOR SWITCH OF THE ASR-35 TTY TO THE "KT" POSITION FOR
  NORMAL OPERATION OF LOGIN.
  
  LOGIN'S EXEC CALLS WILL THEN PUNCH DATA ON THE ASR-35 PAPER TAPE, ALL 
  OTHER RTE COMMANDS AND NORMAL WRITES AND READS TO THE TTY WILL NOT TURN 
  ON THE PUNCH. 
  LBOOK 
  IF THE USER FINDS THE ARRAY TOO SMALL WITH NO CORE AVAILABLE, LBOOK CAN 
  RUN UNDER DOS WITH NO CHANGES EXCEPT EXPANDING THE ARRAY SIZES. 
E04301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  JOBPR 
 **PROGRAM TITLE: 
  RTE JOB CONTROL LANGUAGE FOR BATCH PROCESSING.
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    BATCH 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  880 WITH EXTERNAL SUBPROGRAMS (791 WITHOUT EXTERNAL SUBPROGRAMS). 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  RTE JOB PROCESSOR IS A FOREGROUND DISC RESIDENT ROUTINE FOR THE 
  HP2005A, 2005B, OR 2005C REAL TIME EXECUTIVE WHICH PROVIDES A PRIMITIVE 
  JOB CONTROL LANGUAGE FOR CONTROLLING THE EXECUTION OF PROGRAMS FROM A 
  BATCH DEVICE SUCH AS A CARD READER, MAG TAPE OR TAPE READER. THE PROGRAM
  ACCEPTS DIRECTIVES FOR JOB, STATEMENT, END JOB, PAUSE, COMMENT, LOGICAL 
  SOURCE DECLARATION, LOAD AND GO ASSIGNMENT, SCHEDULE REQUEST, AND JOB 
  PROCESSOR TERMINATE. TYPICAL USES OF THIS PROGRAM MIGHT INCLUDE 
  COMPILING, LOADING, AND EXECUTING A FORTRAN OR ASSEMBLY LANGUAGE PROGRAM
  IN THE BACKGROUND OF RTE, OR RUNNING A SERIES OF PROGRAMS TO PERFORM A
  SPECIFIC TASK (EITHER FOREGROUND OR BACKGROUND).
  
  HARDWARE REQUIREMENTS 
  
  HP2005A, 2005B, 0R 2005C REAL TIME EXECUTIVE SYSTEM (MINIMUM SYSTEM)
       16K 2100 SERIES COMPUTER, EAU, DMA 
       DISC MEMORY (2766 OR 7900) 
       TELETYPE (ASR33, ASR35)
       TAPE READER
  
       (2761A CARD READER IMPROVES OPERATION) 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: JOBPR SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE JOBPR SOURCE
  
  2. USING THE RTE RELOCATING LOADER (EDIT OPERATION, ON-LINE PROGRAM 
     ADDITION) ADD THE JOB PROCESSOR TO THE SYSTEM. THE PROGRAM TYPE IS 
     REAL TIME, DISC RESIDENT (TYPE 2). 
  
  
 **RUN INSTRUCTIONS:
  
  1. PLACE BATCH DECK IN BATCH INPUT DEVICE.
  
  2. TYPE ON, JOBPR, P1, P2 
     WHERE P1 = LOGICAL UNIT OF BATCH INPUT DEVICE
           P2 = LOGICAL UNIT OF HIGH-SPEED LIST DEVICE
                (OR 0 IF NOT AVAILABLE) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
              JOB CONTROL LANGUAGE SYNTAX 
  
  THE FIRST CARD IN THE JCL DECKS SHOULD BE A JOB CARD: 
      JO,NAME        "NAME" IS ANY 1-5 CHARACTER JOB NAME.
  WHEN THE JO CARD IS ENCOUNTERED, A JOB MESSAGE IS PRINTED ON THE
  SYSTEM CONSOLE, INDICATING THE JOB NAME AND CURRENT TIME OF DAY. A JOB
  CARD MUST APPEAR BEFORE ANY OTHER JCL DIRECTIVES CAN BE ACCEPTED. NOTE: 
  JO APPEARS IN COLUMNS 1 AND 2. IF A LIST DEVICE IS SPECIFIED WHEN THE 
  JOB PROCESSOR IS SCHEDULED, THE JOB INFORMATION IS PRINTED ON THE LIST
  DEVICE IN ADDITION. IF ANOTHER JOB CARD IS ENCOUNTERED BEFORE AN EJOB 
  OR /& CARD, THE EJOB SEQUENCE WILL BE EXECUTED, THEN THE NEW JOB WILL 
  BE LOGGED ON. 
  
      EJ [OB)         END OF JOB CARD (COLUMNS 1-4).
                      [ ]= OPTIONAL 
  
  THE EJOB CARD CAUSES AN END OF JOB MESSAGE TO BE PRINTED ON THE SYSTEM
  CONSOLE AND LIST DEVICE, IF PRESENT. THE TOTAL ELAPSED TIME FOR THE JOB 
  WILL BE PRINTED IN MINUTES AND SECONDS. THIS CARD IS USED TO INDICATE 
  THE END OF A JOB. THE JOB PROCESSOR WILL IGNORE ALL FOLLOWING JCL CARDS 
  EXCEPT "/&" OR A "JOB" STATEMENT. 
  
      PA[CHARACTER STRING]     PAUSE CARD. SUSPEND JOB PROCESSOR
                               FOR MANUAL INTERVENTION. THE OPTIONAL
                               CHARACTER STRING MAY BE USED FOR 
                               MESSAGES TO THE OPERATOR. TYPE 
                               "GO, JOBPR" TO RESUME BATCH PROCESSING.
  
      CO CHARACTER STRING      COMMENT CARD. THE SPECIFIED CHARACTER
                               STRING IS PRINTED ON THE SYSTEM TTY. 
  
      /&                       END OF BATCH OPERATIONS. THE JOB 
                               PROCESSOR IS TERMINATED. IF INSIDE A 
                               JOB, THE EJOB SEQUENCE IS EXECUTED FIRST.
  
      LS,U,T                   LOGICAL SOURCE DIRECTIVE (SAME AS RTE
                               LS DIRECTIVE). U=DISC LOGICAL UNIT, 2 OR 
                               3. T=DISC TRACK OF SOURCE FILE.
  
      LG,N                     SAME RTE LG (LOAD AND GO) DIRECTIVE. 
                               IF N=0, RELEASE PREVIOUS LOAD AND GO 
                               TRACKS, ELSE N=NO. OF TRACKS TO ALLOCATE.
  
      ON,PNAME,P1,P2,P3,P4,P5  PROGRAM SCHEDULE (WITH WAIT). PNAME IS 1-5 
                               CHARACTER PROGRAM NAME. P1-P5 ARE DECIMAL
                               CONSTANTS IN THE RANGE OF 0-32767 WHICH ARE
                               PASSED TO THE SCHEDULED PROGRAM. 
                               EG: ON,FTN,5,99. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  WHEN LOAD AND GO TRACKS ARE RELEASED USING THE LG DIRECTIVE, THE TRACK
  ASSIGNMENT TABLE IS UPDATED, BUT NO CHECK IS MADE TO SEE IF ANY PROGRAMS
  ARE WAITING FOR DISC SPACE. 
E04401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SUSP
 **PROGRAM TITLE: 
  RTE SELF-SUSPEND ROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TIME            STATUS          SCHEDULING
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE ALLOWS A USER TO (PROGRAM) A SUSPEND FOR A SPECIFIED 
  LENGTH OF TIME IN HIS APPLICATIONS PROGRAM.  IF THE CALLING ROUTINE 
  WAS IN THE TIME LIST BEFORE SUSPENSION, IT WILL BE REINSTATED AND 
  RESCHEDULED IN THE TIME LIST.  SUSP SUSPENDS USING EXEC CALLS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SUSP SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY AND LOAD PROCEDURES
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CALL SUSP (1,20)
       WOULD EFFECTIVELY SUSPEND THE CALLING PROGRAM FOR
       200 MILLISECONDS.
  CALL SUSP (3,4) 
       WOULD SUSPEND FOR FOUR MINUTES.
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTING
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THE SCHEDULED TIME OF THE PROGRAM OCCURS DURING SUSPENSION,
  THE PROGRAM WILL NOT BE EXECUTED AGAIN FOR 24 HOURS.
E04501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LABEL 
 **PROGRAM TITLE: 
  RTE ALPHANUMERIC TAPE LABEL GENERATOR 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    LABEL           PAPER TAPE      CHARACTER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  523 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  OPERATING IN A RTE ENVIRONMENT, THIS PROGRAM PROVIDES A MEANS OF
  LABELING A PAPER TAPE BY GENERATING A BLOCK-LETTERING LEADER OR 
  TRAILER ON THE TAPE.  LABEL MAKES EXEC I/O CALLS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: LABEL SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  USUAL ASSEMBLY AND LOAD PROCEDURES. 
  
  
 **RUN INSTRUCTIONS:
  
  TO USE: 
            ON, LABEL, I, N   CR,LF 
  WHERE:
            I = INPUT LOGICAL UNIT DEVICE NUMBER (USUALLY KEYBOARD) 
            N = PUNCH LOGICAL UNIT DEVICE NUMBER
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THIS PROGRAM MAY BE CONVERTED TO BCS BY:
       1. HARD CODING THE LOGICAL UNITS OR USING .ENTR TO GET THEM
          AS PARAMETERS.
  
       2. REPLACING THE EXEC I/O CALLS WITH CALLS TO .IOC.. 
  
       3. REPLACING THE TERMINATING EXEC CALL WITH THE PROPER 
          TERMINATION.
E04601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVR67 
 **PROGRAM TITLE: 
  MAKE RTE DRIVERS DISC RESIDENT
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DRIVER          DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS LINKING DRIVER, DVR67, ENABLES STANDARD HP OR USER WRITTEN RTE 
  DRIVERS TO BE DISC RESIDENT, AND THUS IT CAN SAVE VALUABLE CORE 
  STORAGE.  THE LINKING DRIVER IS INCORPORATED INTO A STANDARD RTE AT 
  GENERATION TIME.  DRIVERS NEED NO MODIFICATION TO USE DVR67; HOWEVER, 
  THEY MUST BE LOADED AFTER AN ASSEMBLY LANGUAGE SUBROUTINE WHICH 
  PROVIDES THE LINK TO DVR67. 
  
  DVR67 IS DEVICE INDEPENDENT AND SO PROVIDES THE USEFUL FACILITY OF
  ALLOWING NEW PERIPHERALS AND THEIR DRIVERS TO BE ADDED WITHOUT
  GENERATING A NEW SYSTEM.  PROTOTYPE PERIPHERAL DRIVERS CAN BE TESTED; 
  AND IF ERROR IS FOUND, THE DRIVER CAN BE CORRECTED, COMPILED, AND 
  LOADED WITHOUT REGENERATING.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DVR67 SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE LINKING DRIVER DVR67 AND INCORPORATED BINARY IN A STANDARD
  RTE AT GENERATION TIME.  DEVICES WHICH NEED TO BE RUN WITH DISC 
  RESIDENT DRIVERS ARE LINKED TO DVR67 AS IF THIS WAS THE REAL DRIVER 
  FOR THAT DEVICE.  SEE ALSO PROGRAM DESCRIPTION. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE FOLLOWING LINKING SUBROUTINE WAS USED TO RUN THE RTE EDITOR WITH
  DISC RESIDENT CARD READER AND LINE PRINTER DRIVERS. 
  
       NAM     LINK,7 
       EXT     I.11,C.11,I.12,C.12
       DEC     9         CARD READER LU # 
       DEF     I.11      CARD READER DRIVER 
       DEF     C.11      ENTRY POINTS 
       DEC     6         LINE PRINTER LU #
       DEF     I.12      LINE PRINTER DRIVER
       DEF     C.12      ENTRY POINTS 
  
  THIS SUBROUTINE WAS COMPILED ONTO THE LOAD AND GO TRACKS AND THEN THE 
  EDITOR, DVR11 AND DVR12 RELOCATABLES WERE ADDED USING THE FMGR.  THE
  LOADER WAS THEN USED TO LOAD THE REPLACEMENT EDITOR FROM THE LOAD AND 
  GO. 
  
  THIS RESULTED IN THE SUBROUTINE LINK BEING LOADED FIRST, FOLLOWED BY
  THE DVR11 AND DVR12.
  
  NB.  THAT THE EDITOR WAS NOT MODIFIED.
  *ON,EDIT,9,6,1 THEN LISTED FROM THE CARD READER TO THE LINE PRINTER 
  VIA THE LINKING DRIVER. 
  
  THE FOLLOWING INFORMATION WAS SUPPLIED AT GENERATION TIME.
       * EQUIPMENT TABLE ENTRY
             . . .
             . . .
       14,DVR67                             LINE PRINTER EQT#6
             . . .
             . . .
       12,DVR67,D                           CARD READER EQT,#9
             . . .
             . . .
       *DEVICE REFERENCE TABLE
             . . .
             . . .
       6=EQT#?
       6
             . . .
             . . .
       9=EQT#?
       9
             . . .
             . . .
       *INTERRUPT TABLE 
             . . .
             . . .
       12,EQT,9 
             . . .
             . . .
       14,EQT,6 
  
       N.B.  DVR67 IS THE LINKING DRIVER
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PROGRAM USING THE LINKING DRIVER MUST BE LOADED WITH A SUBROUTINE 
  OF THE FORM:
  
  ASMB,R,L
         NAM     LINK 
         EXT     I.XX,C.XX,I.YY,C.YY
         DEC     N                 LOGICAL UNIT NUMBER FOR DEVICE X 
         DEF     I.XX              DRIVER ENTRY POINTS FOR
         DEF     C.XX              DEVICE X 
         DEC     P                 LOGICAL UNIT NUMBER FOR DEVICE Y 
         DEF     I.YY              DRIVER ENTRY POINTS FOR
         DEF     C.YY              DEVICE Y 
         .. 
         .. 
         .. 
         DEC     1000              TERMINATES 
  
  ANY NUMBER OF DRIVERS CAN BE USED VIA THE LINKING DRIVER AS LONG AS 
  THE RELEVENT LU AND ENTRY POINT ADDRESSES APPEAR IN THE LINKING SUB-
  ROUTINE.
  
  N.B.  LINKING SUBROUTINE MUST BE LOADED FIRST.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  1007 RESULTS IF:
       1. LINKING DRIVER IS HANDLING BUFFERED DEVICE. 
       2. FOR READ/WRITE CALLS IF I/O BUFFER IS IN COMMON.
       3. IF LINKING SUBROUTINE CONTAINS LU WHICH CANNOT BE FOUND AT
          BEGINNING OF PROGRAM. 
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
       RTE SYSTEMS ANALYST NOTE OF FEBRUARY 15, 1972 BY SAME AUTHOR.
  
  SPECIAL CONSIDERATIONS
       TO MAKE SURE THE CALLING PROGRAM IS NOT SWAPPED, THE LINKING 
       DRIVER CHECKS THAT:
       1. THE DEVICE IS NOT BUFFERED. 
       2. THE DATA IS NOT IN REAL TIME COMMON.
E04701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PMOD
 **PROGRAM TITLE: 
  RTE DISC PROGRAM PATCH UTILITY
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  1512 (OCTAL) WITH LIBRARY (INPUT, RMPAR, GETAD, .ENTR), 1340 WITHOUT
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'PMOD' ALLOWS PATCHES TO BE MADE TO DISC-RESIDENT (FOREGROUND OR
  BACKGROUN) PROGRAMS.  INFORMATION SUPPLIED TO 'PMOD' IS READILY 
  OBTAINED FROM THE CORE MAP; TRACK AND SECTOR ADDRESSES ARE COMPUTED 
  FROM THE NAME OF THE PROGRAM (OR SEGMENT) AND THE STARTING DISC 
  ADDRESS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: PMOD SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD ASSEMBLE AND LOAD
  
  
 **RUN INSTRUCTIONS:
  
  ON,PMOD,P 
       WHERE     P=0  TO OBTAIN PRINTOUT OF LEGAL COMMANDS
                 OTHERWISE SUPPRESS PRINTOUT
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  PMOD (RTE BACKGROUND DISC-RESIDENT, PRIORITY 90)
  
  USE:
       ON, PMOD, OPTION 
  
           OPTION = 0 TO PRINT COMMAND EXPLANATION
                    OTHERWISE INHIBIT PRINT 
  
       PROG NAME? 
  
           ENTER PROGRAM (OR SEGMENT) NAME
  
      COMMAND?
  
           M OCTAL ADDRESS OF MODULE TO BE PATCHED (NOT NECESSARILY 
             THE FIRST ADDRESS OF THE SEGMENT)
  
      COMMAND?
  
           OTHER COMMANDS:
  
             D D1 [,D2] 
  
               DUMPS LOCATIONS D1 THRU D2 IN OCTAL AND ASCII
  
             S S1 D1 [,D2,  ...DN]
  
               STORED DATA ITEMS D1 THRU DN IN LOCATIONS
               STARTING AT S1 
               E QUIT (EXIT)
               ALL NUMBERS ARE OCTAL
  
  PMOD CAN OPTIONALLY BE MADE A FOREGROUND DISC-RESIDENT PROGRAM
  WITHOUT CHANGES IN CODING.
  
  RESTRICTIONS: 
  
  PROGRAMS TO BE PATCHED MUST HAVE AN ID SEGMENT (OR THE ERROR MESSAGE
  "PROG NOT FOUND" IS PRINTED) AND MUST BE DISC-RESIDENT (TYPES 2, 3 OR 
  5; THE ERROR MESSAGE "PROG NOT DISC RES." IS PRINTED).
  
  BASE PAGE LOCATIONS START ON THE NEXT SECTOR BOUNDARY AFTER THE LAST
  PROGRAM DATA ON THE DISC.  THEREFORE, TO GET AT THE BASE PAGE AREA SET
  M TO THE HIGH MAIN ADDRESS OF YOUR PROGRAM AND ROUND IT UP TO THE 
  NEXT SECTOR; I.E. 
       M <- ENTER ([HIGH MAIN + 63]/64) 
  
  THIS PROGRAM MODIFIES THE TRACK ASSIGNMENT TABLE BEFORE WRITING ON
  THE DISC; TRACKS ARE ASSIGNED "GLOBALLY" AND THEN RESTORED AFTERWARDS.
  THEREFORE, ANY PROGRAM KNOWN TO THE SYSTEM (I.E., HAS AN ID SEGMENT)
  CAN BE PATCHED; HOWEVER, COCKPIT ERRORS CAN POTENTIALLY DESTROY THE 
  SYSTEM PERMANENTLY SO BE CAREFUL. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  1. IF THE PROGRAM NAME GIVEN IS NOT DISC-RESIDENT, "PROG NOT DISC RES." 
     IS PRINTED, AND "PROG NAME?" IS REPEATED.
  
  2. IF THE PROGRAM IS NOT PRESENT (HAS NO ID SEGMENT), "PROG NOT FOUND"
     IS PRINTED, AND "PROG NAME?" REPEATED
  3. IF A COMMAND OTHER THAN "M" OR "E" IS ENTERED AND M IS 0, "NO
     MEMORY BASE 'M'" IS PRINTED, AND "COMMAND?" REPEATED.
  4. NO CHECKING THAT THE ADDRESS GIVEN IS CONTAINED IN THE PROGRAM 
     IS PERFORMED.
  
  
 **MISCELLANEOUS: 
  
  1. PMOD COMPUTES THE TRACK AND SECTOR IT IS READING/WRITING TO ITSELF,
     READS OR WRITES IT, AND THEN RESTORES THE ASSIGNMENT.  A MISTAKE IN
     AN "S" COMMAND COULD WRITE DATA IN AN UNWANTED PLACE.
     DO NOT PURGE PMOD WITH AN OF,PMOD COMMAND WHILE IT IS RUNNING. 
  2. USE "E". 
E04801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MFORM 
 **PROGRAM TITLE: 
  FORMATTER FOR ASCII 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    FORMATTING      ASCII           DECIMAL 
    CONVERSION      FORTRAN 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS INTENDED TO BE A REPLACEMENT FOR THE FORMATTER IN THOSE 
  APPLICATIONS WHERE AN INTEGER IS TO BE CONVERTED INTO ASCII (DECIMAL) 
  AND OUTPUT WITHIN A MESSAGE, SUCH AS AN ERROR CODE. 
  
  MINIMUM DOS OR RTE IS THE HARDWARE REQUIREMENTS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. USING THE HP FTN4 COMPILER, COMPILE THE TEST PROGRAM "TEST9".
  
  2. ASSEMBLE "MFORM".
  
  3. LOAD THE TEST PROGRAM IN EITHER DOS-M OR RTE.
  
  
 **RUN INSTRUCTIONS:
  
  TURN ON THE PROGRAM:
  
  DOS-M :PR,TEST9 
  RTE  *ON,TEST9
  
  ENTER THE NUMBER YOU WANT FORMATTED, THE SIZE OF THE FORMAT FIELD, AND
  THE CHARACTER POSITION OF THE LEFT MOST PART OF THE FIELD.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS ROUTINE IS INTENDED TO BE A REPLACEMENT FOR THE FORMATTER IN THOSE 
  APPLICATIONS WHERE AN INTEGER IS TO BE CONVERTED INTO ASCII (DECIMAL) 
  AND OUTPUT WITHIN A MESSAGE, SUCH AS AN ERROR CODE. 
  
  THE MESSAGE ITSELF IS GENERATED BY FORMAT STATEMENTS. THE ADDRESS OF THE
  FORMAT IS OBTAINED BY EXECUTING AN ASSIGN XXX TO III, WHERE XXX IS THE
  FORMAT STATEMENT NUMBER AND III IS ANY INTEGER. III IS THEN PASSED TO 
  THE MINIFORMATTER AS ITS FIRST PARAMETER. 
  
  WHEN GENERATING THE FORMAT STATEMENTS, LEAVE ROOM FOR THE CONVERSION, 
  INCLUDING SIGN IF NECESSARY. FOR EXAMPLE: 
  
       IE = ERROR CODE, NUMST = STATEMENT NUMBER
   100 FORMAT ("ERROR XXXXXIN STATEMENT YYYYY") 
       ASSIGN 100 TO I
       CALL MFORM (I, IEN, 5, 6, 0) 
       CALL MFORM (I, NUMST, 5, 23, 6)
  
  THE FIRST CALL TO MFORM WILL CONVERT IERR INTO DECIMAL ASCII CHARACTERS,
  STORING THEM IN THE XXXXX CHARACTERS OF THE FORMAT (ANY CHARACTERS MAY
  BE USED. IF THE CONVERSION DOES NOT REQUIRE ALL THE CHARACTERS, BLANKS
  WILL BE USED). THE SECOND CALL CONVERTS NUMST INTO THE YYYYY CHARACTERS,
  AND WILL PRINT THE WHOLE LINE ON LU = 6.
  
  THE GENERAL FORM OF THE CALL IS:
  
       CALL MFORM (I, NUMBR, MAXCH, IPOSN, LU)
  
  WHERE: I HAS BEEN ASSIGNED THE ADDRESS OF THE DESIRED FORMAT STATEMENT. 
         IN ASSEMBLY LANGUAGE CODE, I SHOULD CONTAIN A DEF TO THE MESSAGE 
         BUFFER -2 (SEE THE NOTE ON FTN-IV OVERHEAD BELOW). 
  
       NUMBR = NUMBER TO BE CONVERTED.
  
       MAXCH = NUMBER OF CHARACTERS TO USE IN THE CONVERSION. IF FEWER
            CHARACTERS ARE USED, THE REST WILL BE BLANK-FILLED. IF
            MAXCH = 0, NO CONVERSION IS DONE, THE MESSAGE BUFFER IS 
            MERELY OUTPUT. THIS IS USEFUL FOR OUTPUTTING QUESTION 
            MESSAGES. 
    IPOSN =   CHARACTER POSITION OF THE LEFT-MOST CHARACTER IN THE
            CONVERSION, STARTING FROM THE SECOND CHARACTER AFTER THE
            LEFT PAREND [(]. IN THIS CASE, IPOSN = # OF CHARACTERS IN 
            MESSAGE +1. 
  
       LU =   LOGICAL UNIT TO OUTPUT THE MESSAGE. USE 0 IF NO OUTPUT IS 
            DESIRED, AS IN THE CASE WHEN SEVERAL NUMBERS MUST BE CONVERTED
            (SEE THE EXAMPLE).
  
       NOTE ON FTN-IV OVERHEAD: 
  
  EACH FORMAT STATEMENT IN HP FTN-IV GENERATES TWO WORDS OF OVERHEAD: 
  A JMP INSTRUCTION AND THE ASCII CODE FOR THE LEFT PAREND [(] AND QUOTE
  (") CHARACTERS. THIS SPACE CAN BE USED BY CALLING MFORM WITH IPOSN = 0. 
  HOWEVER, SINCE MFORM ASSUMES THAT THE MESSAGE BUFFER ADDRESS + IPOSN +
  MAXCH -1 SPECIFY THE END OF THE BUFFER, TWO CALLS ARE REQUIRED. FOR 
  EXAMPLE, TO CONVERT IERR INTO 6 CHARACTERS USING THE 4 OVERHEAD CHAR- 
  ACTERS PLUS THE FIRST TWO IN THE FORMAT:
  
  105 FORMAT ("XX ERROR") 
      ASSIGN 105 TO I 
      CALL MFORM (I, IERR, 6, 0, 0) 
      CALL MFORM (I, IERR, 0, 13, 6)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  NONE. NO ERROR CHECKING OF LOGICAL UNITS OR DATA BUFFER ADDRESSES IS
  DONE. 
  
  
 **MISCELLANEOUS: 
  
  
E04901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GTIME 
 **PROGRAM TITLE: 
  READ TIME FROM HP 5666A CLOCK 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TIME            DATE            SCHEDULING
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS IS A FORTRAN CALLABLE SUBROUTINE WHICH ALLOWS READING THE MONTH, 
  DAY, HOUR, MINUTE AND SECOND FROM AN HP 5666A CLOCK. THE SELECT CODE
  OF THE CLOCK INTERFACE IS A CONSTANT DECLARED IN THE SOURCE CODE. THIS
  ROUTINE REQUIRES THAT MEMORY PROTECT IF PRESENT BE TURNED OFF.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: TEST PROGRAM
  
  
 **LOAD INSTRUCTIONS: 
  
  1. USE EDITOR TO ESTABLISH SELECT FOR CLOCK IN LINE 8 OF SOURCE CODE. 
     GTIME SELECT CODE IS CURRENTLY EQUAL TO 11.
  2. STANDARD ASSEMBLE AND LOAD WITH CALLING PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE: 
  
  DIMENSION ITIME(5)
       .
       .
       .
  CALL GTIME (ITIME)
       .
       .
       .
  OR: 
  CALL GTIME (ITIME,LGTH) 
  
  LGTH INDICATES THE NUMBER OF WORDS TO BE RETURNED, THIS IS A NUMBER 
  BETWEEN 1 AND 5.
  
  THE INTEGER VALUES RETURNED ARE ALWAYS IN THE SEQUENCE: MONTH, DAY, 
  HOUR, MINUTE, SECOND. IF FEWER THAN FIVE TIMES ARE REQUESTED, THE VALUES
  ARE RETURNED IN THIS SEQUENCE ALWAYS STARTING WITH MONTH. IF LGTH IS NOT
  SPECIFIED, ALL FIVE VALUES ARE RETURNED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THIS ROUTINE IS USED IN AN OPERATING SYSTEM WHICH USES MEMORY
  PROTECT, A CALL SHOULD BE MADE TO TURN OFF MEMORY PROTECT BEFORE
  CALLING THIS ROUTINE. THIS REQUIREMENT APPLIES TO RTE, AND SOME 
  DOS-M SYSTEMS.
E05001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE LIBRARY SPEED IMPROVEMENTS
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    LIBRARY         PERFORMANCE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE CONSISTS OF TWO SUBROUTINES WHICH TOGETHER RESULT IN VAST
  IMPROVEMENTS TO THE EXECUTION TIMES OF TYPE 6 RTE LIBRARY SUBROUTINES.
  ON FLOATING POINT HP2100 COMPUTERS MANY OF THE ARITHMETIC SUBROUTINES 
  (E.G., SIN, COS) RUN UP TO TWICE AS FAST, AND ON NON FLOATING POINT 
  MACHINES THE IMPROVEMENT IS UP TO THREE TIMES AS FAST.
  
  TO BE EFFECTED, THE TYPE 6 SUBROUTINES MUST NOT BE IN THE CORE RESIDENT 
  LIBRARY AREA, AND THEY MUST BE LOADED ON-LINE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  A. ASSEMBLE DUMRX TO LOAD AND GO. 
  
  B. ASSEMBLE .ZRLP TO LOAD AND GO. 
  
  C. COMPILE OR ASSEMBLE USER PROGRAM TO LOAD AND GO. 
  
  D. LOAD PROGRAM TO REQUIRED AREA. 
  
  NOTE: 
  
  DO NOT INTERCHANGE A. WITH B. AS SYSTEM WILL CRASH. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  FTN,L 
       PROGRAM BENCH
       DO 10 I=1,100
       A=SIN(1.99) * COS(1.99)
   10  CONTINUE 
       WRITE(6,100) 
  100  FORMAT("STOP") 
       END
       END$ 
  
    ON A NON FLOATING POINT 2100 COMPUTER THE ABOVE BENCHMARK TOOK 50 
    SECONDS. WHEN LOADED WITH DUMRX AND .ZRLP IT TOOK 18 SECONDS. 
  
    ON A FLOATING POINT 2100 COMPUTER THE BENCHMARK TOOK 7 SECONDS WITHOUT
    THE MODIFICATIONS AND 3.5 SECONDS WITH THEM.
  
  
 **PROGRAM DESCRIPTION: 
  
  NOTE DUMRX AND .ZRLP MUST BE LOADED BEFORD THE DISC LIBRARY IS SCANNED. 
  
  IF DUMRX AND .ZRLP ARE LOADED THEN: 
  
  1. REENTRANT ROUTINES MUST BE RECURSIVE.
  
  2. PRIVILEGED ROUTINES MUST NOT ASSUME THE FENCE IS SWITCHED OFF. 
     I.E. THEY MUST NOT TRY AND WRITE BELOW THE FENCE (BECAUSE THEY WILL
     REALLY RUN AS UTILITY).
  
  3. THE FILE MANAGER MUST NOT BE LOADED ON-LINE FOR REASON 2 ABOVE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E05101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  2100 BYTE MANIPULATION ROUTINES 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    BYTE            ASSEMBLER       COMPARE 
    CHARACTER       ARRAY 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2116
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  185 (DECIMAL) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SET OF 8 FORTRAN, ALGOL OR ASSEMBLY CALLABLE ROUTINES PROVIDE
  THE USER WITH STRING OR BYTE OPERATION CAPABILITY ON AN ARRAY.
  THEY PARALLEL MOST OF THE HP3000 HARDWARE INSTRUCTION CAPABILITIES
  AND OFFER THE USER MAXIMUM BYTE MANIPULATION. ALL ROUTINES ARE
  COMPLETELY MODULARIZED AND COMPRISE ONLY 295 DECIMAL WORDS OF 
  STORAGE. THE ROUTINES INCLUDE LDB (LOAD BYTE), STB (STORE BYTE),
  SCU (SCAN BYTE UNTIL), SCW (SCAN BYTE WHILE), MVBU (MOVE BYTE 
  UNTIL), MVBW (MOVE BYTES WHILE), AND CMPB (COMPARE BYTES).
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  CHECK SOFTWARE BREAKDOWN DESCRIPTION FOR PACKAGE ENTRY POINTS 
  IN SOURCE LISTING.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE PROGRAM
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E05201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ALPHA 
 **PROGRAM TITLE: 
  PAPER TAPE IDENTIFICATION 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    PAPER TAPE      LABEL           CHARACTER 
    ASCII 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS RTE AND DOS-M PAPER TAPE UTILITY PUNCHES LARGE BLOCK LETTERS ON
  PAPER TAPE. ALPHA MAKES EXEC I/O CALLS. 
  
  THE USER MAY CHANGE THE INTERNALLY REPRESENTED ASCII CHARACTERS.
  
  HARDWARE REQUIREMENTS: SYSTEM CONSOLE AND A PAPER TAPE PUNCH. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: ALPHA SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD ASSEMBLE AND LOAD. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  PATCH:  PROGRAM ALPH
  
          SYMPTOM - WON'T WORK WITH BUFFERED PUNCH. 
  
  FIX;
  SUBROUTINE  (LEADR) CALLS PUNIT THREE TIMES, BUT LOAD A SPACE ONLY ON 
  THE FIRST CALL. 
  TO FIX A SPACE MUST BE LOADED BEFORE EACH CALL TO PUNIT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E05301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RTEIF 
 **PROGRAM TITLE: 
  MESSAGE PROCESSOR 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    BATCH           MULTITERMINAL   TERMINAL
    TEXT            MESSAGE 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PASSES OPERATOR INPUTS FROM THE KEYBOARD TO THE RTE-II 
  MESSAGE PROCESSOR AND PRINTS SYSTEM RESPONSE FOR THE OPERATOR. THUS ALL 
  RTE OPERATOR REQUESTS ARE AVAILABLE FROM WITHIN THE FILE MANAGER, VIA 
  THIS PROGRAM. FURTHERMORE, RTE COMMAND CAN BE STACKED AND EXECUTED FROM 
  (BATCH) FILES, WHICH CAN CALL OTHER FILES TO A NESTING OF 10 DEEP.
  RECURSIVE CALLING IS ALLOWED. RTEIF ACCESSES THE FILES VIA FMP CALLS. 
  THE PROGRAM WILL OPERATE IN A MULTI-TERMINAL MODE. ALL I/O IS DONE VIA
  RE-ENTRANT ROUTINE ON THE LOGICAL UNIT PROVIDED AS THE FIRST RMPAR
  PARAMETER. IT IS SMALL ENOUGH TO OPERATE IN A FOREGROUND SINCE THE
  FORMATTER IS NOT USED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RTEIF SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E05401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MDE 
 **PROGRAM TITLE: 
  RTE 2100 MICROPROGRAMMING SOFTWARE
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    MICROCODE       ASSEMBLER       WCS 
    DEBUG           EDITOR
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE CONTAINS THE RTE VERSIONS OF THE HP MICROASSEMBLER, THE HP 
  MICRO DEBUG EDITOR, AND THE WRITABLE CONTROL STORE DRIVER (33). THESE 
  PROGRAMS ARE DIRECT MODIFICATIONS OF THE HP SUPPORTED DOS/DOS-M 
  VERSIONS. THE DOS/DOS-M VERSION OF THE HP WRITABLE CONTROL STORE UTILITY
  ROUTINE CAN BE USED UNDER RTE WITHOUT MODIFICATIONS.
  
  HARDWARE REQUIREMENTS: MINIMUM RTE SYSTEM WITH FILE MANAGER AND WRITABLE
  CONTROL STORE SUBSYSTEM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: MICRO ASSEMBLER 
  FILE#  3: MICROASSEMBLER
  FILE#  4: MICRO DEBUG EDITOR
  FILE#  5: MICRO DEBUG EDITOR
  FILE#  6: MICRO DEBUG EDITOR
  FILE#  7: WCS DRIVER AND FMGR ERROR 
  
  
 **LOAD INSTRUCTIONS: 
  
  REFER TO HP REFERECE MANUALS
  
  
 **RUN INSTRUCTIONS:
  
  :ON, MICRO, P1, P2, P3, P4
  :ON, MDE
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IN ORDER TO PERFORM DISC FILE OPERATIONS THROUGH THE MICROASSEMBLER 
  AND/OR THE MICRO DEBUG EDITOR, THE ASSIGNED FILE(S) MUST PREVIOUSLY BE
  CREATED WITH A FILE MANAGER CREATE TYPE 5 FILE COMMAND WITH SECURITY
  CODE MA.
  
  FOR EXAMPLE:   :CR,HPMIC:MA::5:1:1
  
  FILE SPACE WILL ALWAYS BE SUFFICIENT AS LONG AS THE FILE MANAGER CAN
  FIND ENOUGH ROOM FOR EXTENSIONS ON THE DISC WHERE THE FILE NAME RESIDES.
  
  THE FILE NAMES USED BY THE MICROASSEMBLER AND THE MICRO DEBUG EDITOR MAY
  CONTAIN SIX CHARACTERS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERROR MESSAGES WITH RELATION TO DISC FILE OPERATIONS ARE
  ACCOMPANIED BY FMGR ERROR CODES. REFER PRIMARILY TO THESE ERROR-CODES 
  INSTEAD OF THE MESSAGES ISSUED BY THE MICROASSEMBLER OR THE MICRO DEBUG 
  EDITOR. 
  
  
 **MISCELLANEOUS: 
  
  
E05501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SMUT
 **PROGRAM TITLE: 
  RTE SYSTEM MAINTENANCE UTILITY
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISC            DEBUG           SYSTEM TABLES 
    HP-IB 
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    21MX
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE ALLOWS, THE RTE-II OR III USER TO PERFORM USEFULL DISC 
  AND MEMORY RELATED FUNCTIONS FOR BOTH 7900 AND 7905 DISCS. THE ROUTINE
  USES SEVERAL SYSTEM INTRINSICS, AND CAN RUN IN A 5K OR 12K ENVIRONMENT. 
  IT HAS A BUILT IN CALCULATOR FOR PERFORMING ARITHMETIC AND BIT MANIPULA-
  TION CALCULATIONS. THE FOLLOWING ARITHMETIC CAPABILITIES ARE OFFERED BY 
  THE ROUTINE:
  
  1.  DISPLAY AND ALTER MEMORY. 
  2.  REPLACE, COPY, SUM, AND INITIALIZE BLOCKS OF MEMORY.
  3.  DISPLAY AND ALTER ANY DISC. 
  4.  MODIFY CORRESPONDING DISC BY ADDRESS MEMORY.
  5.  LIST SYMBOLIC CONTENTS OF TRACK ASSIGNMENT TABLE. 
  6.  LIST ADDRESS OF ALL SYSTEM TABLES.
  7.  LIST ENTIRE EQT, LU, INT, AND I/O TABLES. 
  8.  LIST CONTENTS OF ANY PROGRAMS ID SEGMENT. 
  9.  LIST COMPACT TABLE OF HP-IB DEVICE TALK/LISTEN ADDRESSES. 
  10. INTERROGATE THE BUS.
  11. SMUT COMMAND FILES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE (SMUT) 
  FILE#  3: SOURCE (SMUT) 
  FILE#  4: SOURCE (SCB)
  FILE#  5: SOURCE (ASSEMBLY) 
  FILE#  6: SOURCE (SHELP)
  FILE#  7: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  1.  COMBINE FILES 1 AND 2 WITH EDITOR OR WITH FMP STORE COMMAND.
  2.  COMPILE FILES 1 AND 2 
  3.  ASSEMBLE FILE 3.
  4.  ON FILE 4, INDIVIDUALLY ASSEMBLE ALL 15 ASSEMBLY ROUTINES.
  5.  LOAD THE SYSTEM LOADR AND THE RESULTING PROGRAM NAME SHOULD BE SMUT.
  6.  COMPILE FILE 5 (HELP PROCESSOR).
  7.  LOAD WITH SYSTEM LOADR, THE RESULTING PROG NAME SHOUD BE "SHELP". 
  8.  TO RUN SMUT OR SHELP, SEE ATTATCHED USERS GUIDE.
  
  
 **RUN INSTRUCTIONS:
  
   SMUT CAN BE EXECUTED IN ONE OF TWO WAYS. FROM A NON-DISC DEVICE SUCH 
  AS A TERMINAL OR FROM A PREVIOUSLY PREPARED FMP COMMAND INPUT TRANSFER
  FILE. 
       TERMINAL SCHEDULE: 
       RU,SMUT[,COMND[,LOG[,LIST[,MODE[,HPIB]]]]] 
  
        COMND  -- COMMAND INPUT DEVICE LU   (DEFAULT IS TERMINAL) 
        LOG    -- COMMAND OUTPUT LOG LU     (DEFAULT IS 0)
        LIST   -- COMMAND LIST LU           (DEFAULT IS COMND)
        MODE   -- ASCII DISPLAY MODE        (DEFAULT IS PARTIAL)
        HPIB   -- HP-IB IBI LU              (DEFAULT IS 0)
  
       COMMAND INPUT FILE SCHEDULE: 
       RU,SMUT,FI,LE,X[,COMND[,LIST]] 
  
        FI,LE,X  -- FMP COMMAND FILE NAME   (DEFAULT IS COMND)
        COMND    -- COMMAND INPUT LU        (DEFAULT IS 1)
        LIST     -- COMMAND LIST LU         (DEFAULT IS 1)
  
  WHEN SCHEDULING FROM A COMMAND INPUT FILE, THE FILE IS OPENED NON-
  EXCLUSIVELY AND ACCORDING TO ITS FILE TYPE. CARE MUST BE TAKEN SUCH 
  THAT THE FILE EXISTS AND DOES NOT CONTAIN NON-ASCII DATA. IF THE COMMAND
  FILE CANNOT BE LOCATED, A RESULTING ERROR WILL BE ISSUED AND SMUT ABORT-
  ED. UPON COMPLETION OF THE COMMAND FILE, COMMAND TRANSFER WILL BE GIVEN 
  TO COMND OR TO LU 1 IF NOT SPECIFIED. A TRANSFER TO ANOTHER FILE WITHIN 
  A COMMAND FILE WILL RESULT IN CLOSING THE CURRENT FILE AND TRANSFERRING 
  CONTROL TO THE SECOND FILE AS FOLLOWS:
  
       TR,FILE[,REC#[,COMND]] 
  
        FILE   -- FILE NAME 
        REC#   -- RECORD NUMBER TO BEGIN PROCESSING  (DEFAULT IS 1) 
        COMND  -- COMMAND INPUT LU                   (DEFAULT IS 1) 
  
  IF A REC# LESS THAN OR EQUAL TO ZERO WILL START WITH THE FIRST RECORD.
  IF ANY ERRORS OCCUR DURING THE INPUT OF A COMMAND, I.E. AN ERROR
  OCCURRED WHILE EXECUTING THE "READF" SUBROUTINE, WILL RESULT IN CLOSING 
  THE FILE, REPORTING THE ERROR NUMBER, AND TRANSFERRING THE COMMAND INPUT
  CONTROL TO THE LU SPECIFIED BY "COMND". 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  1. HP-IB NOT INSTALLED - IN RESPONSE TO "LI,HPIB".
  
  
 **MISCELLANEOUS: 
  
  SYSTEM LOADR MUST BE ABLE TO HANDLE EXTERNAL REFERENCES WITH OFFSETS. 
E05601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SPLUM 
 **PROGRAM TITLE: 
  USER SPOOL POOL FILE ACCESS OR SPOOLING MADE EASIER 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    SPOOLING        FILES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  SPLUM ENABLES A USER PROGRAM TO SPOOL A LOGICAL UNIT VIA A SPOOL POOL 
  FILE. I.E. SPLUM OVERCOMES NOT BEING ABLE TO UTILIZE THE INTERFACE
  SUBROUTINE TO CLOSE AND PASS THE SPOOL POOL FILE SET UP BY SPOLU AND
  SPLUM. THE USE OF THESE SUBROUTINES PERMITS EASY ACCESS TO THE SPOOL
  FEATURES OF RTE BY THE NON-EXPERIENCED SYSTEMS PROGRAMMER. YOU MAY NOW
  SPOOL TO SUCH THINGS AS THE LINE PRINTER TO AVOID INTERLEAVING WITHOUT
  HAVING TO PLAY GAMES WITH SMP AND CREATING YOU OWN SPOOL FILES. 
  
  HARDWARE REQUIREMENTS: STANDARD RTE II/III CONFIGURATION WITH BATCH-
  SPOOL SOFTWARE OPTION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
   SPOLU, SPLOT AND IFMGR, ALTHOUGH NOT REQUIRED, SHOULD BE ADDED TO THE
  SYSTEM LIBRARY ON THE NEXT RTGEN. 
  
   LOAD SPLUM AS A DISC RESIDENT OR CORE RESIDENT FOREGROUND PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
   NORMAL CONFIGURATION IS TO HOLD SPOOL FILES UNTIL CLOSED. THIS PREVENTS
  SLOW RUNNING PROGRAMS FROM TYING UP THE SPOOLED LOGICAL UNIT. 
   LINE 331 "DFLAG OCT 413" MAY BE CHANGED TO "DFLAG OCT 411" IF IT IS
  DESIRED TO START THE OUT SPOOLS IMMEDIATELY AND NOT HOLD THEM UNTIL 
  THEY ARE CLOSED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  "FMGR OPEN ERROR 6 IN FILE JOBFIL" - YOU FORGOT TO INITIALIZE SPOOLING
                                       VIA GASP.
  
  "SPOOL FILE DID NOT SET UP!" - LOGICAL UNIT WAS NOT SET UP AS A SPOOL 
                                 LOGICAL UNIT BY GASP.
  
  
 **MISCELLANEOUS: 
  
  IFMGR - FILE MANAGER ERROR REPORTING FUNCTION. ENCLOSED WITH PACKAGE. 
  VERY HANDY - SEE ITS LISTING FOR OTHER GENERAL USES.
E05701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  12 X 12 CHARACTER GENERATOR SUBROUTINE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    CHARACTER       LABEL           FORMATTING
    DISPLAY 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS-M     DOS-III 
  
 **MEMORY REQUIREMENTS: 
  MINIMUM 2K FOR SUBROUTINE 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE 12 X 12 CHARACTER GENERATOR ALLOWS THE USER TO CREATE BLOCK LETTERS 
  FROM THE FOLLOWING CHARACTER SET: 
  
  ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$#:"/+!'()*?.-%\^[] 
  
  THE SUBROUTINE IS CALLED WITH THE DESIRED CHARACTER, A 12 X 12 MATRIX,
  AND THE DESIRED PATTERN CHARACTER. THE MATRIX IS THEN FILLED IN AI
  FORMAT, WITH THE DESIRED CHARACTER USING THE PATTERN CHARACTER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD COMPILE AND LOAD PROCEDURES
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  TO CALL THE PROGRAM IN FORTRAN: 
  
  CALL CHAR (LETTER,MATRIX,OK,PATTERN)
       WHERE: 
             LETTER - DESIRED CHARACTER IN "AI" FORMAT
             MATRIX - 12 BY 12 INTEGER MATRIX OR EQUIVALENT 
             OK     - ERROR/SUCCESS INDICATOR - SEE 4.4 
             PATTRN - THE LETTER THAT IS USED TO CREATE THE BLOCK 
                      CHARACTER. (IN "AI" FORMAT) 
  
       NOTE: ALL VARIABLES ARE INTEGER. 
  
  EXAMPLE:
          CALL CHAR (IHA,MATRIX,OK,IH$) 
  
          MATRIX WILL CONTAIN THE LETTER "A". THE BLOCK LETTER
          "A" IS MADE UP OF SPACES AND DOLLAR SIGNS.
          UPON RETURN, "OK" WILL EQUAL I SINCE "A" IS A VALID 
          CHARACTER.
  
  TO CALL THE PROGRAM IN ASSEMBLY LANGUAGE: 
  
   JSB CHAR 
   DEF *+5
   DEF LETTER  ADDRESS OF DESIRED CHARACTER - AI FORMAT 
   DEF MATRIX  ADDRESS OF 12 BY 12 MATRIX 
   DEF OK      ADDRESS OF ERROR/SUCCESS INDICATOR 
   DEF PATTERN ADDRESS OF PATTERN CHARACTER - AI FORMAT 
   (NORMAL RETURN)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE SUBROUTINE IS CALLED WITH THE INTEGER VARIABLE "OK".
  UPON RETURN,
                 OK EQUALS I; NORMAL RETURN 
                 OK EQUALS O; ILLEGAL CHARACTER REQUESTED. THE
                              MATRIX IS FILLED WITH SPACES. 
  
  
 **MISCELLANEOUS: 
  
  NONE (JUST A CORE HOG)
E05801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  PROGRAMMING FOR HP2645 TERMINAL SOFTKEYS
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    SOFTKEYS        TERMINAL        DISPLAY 
    FORMATTING
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  JKEYS OPERATES INTERACTIVELY, PROMPTING AND RECEIVING FROM THE OPERATOR 
  THE DATA REQUIRED TO CREATE OR EDIT A DISC FILE CONTAINING PROGRAMMING
  INFORMATION FOR HP2645 TERMINAL (SOFTKEYS). 
  
  DUMPING THE FILE (:DU, FMGR COMMAND) TO A 2645: 
  A. PROGRAMS THE 8 SOFT KEYS AS SPECIFIED. 
  B. WRITES A (MENU) ACROSS THE TOP OF THE CRT SCREEN, IN A PROTECTED 
     FIELD, USING INVERSE VIDEO CAPABILITIES OF THE TERMINAL. 
  
  HARDWARE REQUIREMENTS: MINIMAL RTE-II/III OPERATING SYSTEM WITH 2645
  TERMINAL. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  JKEYS AND COLON ARE COMPILED AND LOADED SAME AS ANY RTE BACKGROUND DISC-
  RESIDENT PROGRAM AND SUBROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  - ENTERING A "/A" AT MOST PROMPTS RESULTS IN CLEAN UP AND TERMINATION.
  - WHEN UPDATING, DEFAULT INPUT (SPACE, RETURN) LEAVES CURRENT VALUES
    UNCHANGED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E05901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  21MX MICROCODED .PACK AND .FLUN 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    MICROCODE 
  
  
 **LANGUAGES: 
    MICROASMB 
  
 **COMPUTER TYPE: 
    21 MX 
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE TWO ROUTINES ARE DIRECT REPLACEMENTS FOR THE STANDARD LIBRARY 
  SUBROUTINES. A TOTAL OF 17 WORDS OF MICROCODE REPLACES MORE THAN 100
  WORDS OF ASSEMBLY LANGUAGE. 
  
  HARDWARE REQUIREMENTS INCLUDE A 21MX CPU AND USER CONTROL STORE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  REFER TO 21MX MICROPROGRAMMING MANUAL FOR DIRECTIONS IN THE USE OF
  MICROASSEMBLER AND MICRODEBUG.
  
  
 **RUN INSTRUCTIONS:
  
  REFER TO 21MX MICROPROGRAMMING MANUAL FOR DIRECTIONS IN THE USE OF
  MICROASSEMBLER AND MICRODEBUG.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  .PACK USES SOME OF THE CODE IN THE STANDARD 21MX CONTROL STORE. 
  THE TEST PROGRAMS WERE RUN WITH 21MX MICRO DEBUG EDITOR ON A DOS-II 
  SYSTEM. IF THIS MICROCODE IS INSTALLED IN A MODULE OTHER THAN 12 OR IF
  THE JMP TABLE IS MODIFIED, THE OP CODES IN THE TEST PROGRAMS MUST BE
  CHANGED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  TEST PROGRAMS HALT IF MICROCODE RESULTS DO NO AGREE WITH LIBRARY
  SUBROUTINE RESULTS. 
  
  
 **MISCELLANEOUS: 
  
  
E06001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TIMES 
 **PROGRAM TITLE: 
  TIME AND DATE 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TIME            DATE
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
    RTE-II
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
   PROGRAM TIMES PROVIDES AN EASY METHOD TO SET THE RTE SYSTEM DATE AND 
  TIME AND TO AUTOMATICALLY SCHEDULE PROGRAMS.
   TIME PRINTS THE CURRENT DATE AND TIME AND THEN REQUESTS THE OPERATOR 
  TO ENTER THE DATE AND TIME. IF THE DATE AND TIME ARE CORRECT, THE 
  OPERATOR MERELY PRESSES THE RETURN KEY. IF THEY ARE INCORRECT, THE
  OPERATOR MAY ENTER THE CORRECT DATE AND TIME IN ANY OF THE FOLLOWING
  FORMATS OR COMBINATIONS THEREOF. FORMAT EXAMPLES ARE FOR MARCH 10, 1977 
  2:15:20 P.M.
  
                  FORMAT EXAMPLES 
                   3/10/77 14:15:20 
                   MAR 10,1977 14,15,20 
                   MARCH 10,77 14:15,20 
                   3/10/1977,14,15,20 
                   3,10,77,14,15,20 
                        ETC.
  
   PROGRAM TIME WILL THEN UPDATE THE SYSTEM CLOCK AND SCHEDULE (PLACE IN
  THE TIME LIST) ANY PROGRAMS CONTAINED IN A TYPE 4 FMGR FILE NAMED PSHED.
  IF AN ABSOLUTE STARTING TIME IS NOT SPECIFIED FOR A PROGRAM, THEN IT
  WILL BE SCHEDULED TO START AT THE NEXT RESOLUTION CODE MULTIPLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  ON,TIME,LU    OR :RU,TIME,OG
  WHERE LU = LOGICAL UNIT OF OPERATOR'S CONSOLE.
  NOTE: TIME MAY BE INCLUDED IN THE "WELCOM" FILE.
  CALL DATE (ITIME) 
  WHERE ITIME IS A 7 WORD INTEGER BUFFER. SEE LISTING FOR FORMAT. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
   SUBROUTINE DATE RETURNS THE MONTH, DAY, YEAR, HOUR, MINUTE, AND SECOND 
  TO THE CALLING PROGRAM. DATE CALLS THE SYSTEM CLOCK AND CONVERTS IT TO
  THE FOLLOWING ARRAY FORMAT. 
  
                  WORDS     FORMAT
                  1 & 2     ASCII MONTH 
                    3       INTEGER DAY 
                    4       INTEGER YEAR
                    5       INTEGER HOUR
                    6       INTEGER MINUTE
                    7       INTEGER SECOND
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E06101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  21MX EXTENDED INSTRUCTION SET SIMULATOR 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    SIMULATOR 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       BCS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS GROUP OF SUBROUTINES SIMULATES ALL BIT, BYTE, WORD, AND INDEX
  INSTRUCTIONS OF THE 21MX.  THE CALLING SEQUENCE AND RESULTS ARE 
  IDENTICAL.  THESE ROUTINES MAKE THE COMPLETE LINE OF 21XX COMPUTERS 
  DOWNWARD COMPATIBLE.  TOTAL MEMORY REQUIRED APPROXIMATELY 500 WORDS.
  SEE 21MX COMPUTER SERIES REFERENCE MANUAL, #02108-90002.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  USE IN ADDITION TO REGULAR LIBRARY. 
  
  
 **RUN INSTRUCTIONS:
  
  USE IN ADDITION TO REGULAR LIBRARY. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  NONE
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  NONE
  
  
 **MISCELLANEOUS: 
  
  
E06201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SYSTK 
 **PROGRAM TITLE: 
  INTER-TTY MESSAGE PROCESSOR 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TERMINAL        TEXT            MULTITERMINAL 
    MESSAGE 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  ENABLES MESSAGE COMMUNICATION BETWEEN TWO TERMINALS IN A MTM EN-
  VIRONMENT.  UP TO 10/80 CHARACTER MESSAGE LINES MAY BE SENT FROM ONE
  TERMINAL TO ANOTHER.  CONTROL MAY BE MAINTAINED AT ONE TERMINAL OR
  PASSED ALONG WITH/OR WITHOUT A MESSAGE TO THE SECOND TERMINAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD SYSTK AS FOREGROUND DISC OR CORE RESIDENT - 2 PAGES REQURED. 
  :RU,LOADR,99,,009,, 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  FUNCTIONS ARE DETERMINED THROUGH 4 COMMANDS PRECEEDED BY A PROGRAM
  PROMPT (?): 
  
  1.  TEST - READ THE CURRENT CONTROL TTY'S MESSAGE (?? AT THE START OF 
             A LINE RETURNS TO PROMPT OR 10 LINES, WHICHEVER COMES FIRST) 
  2.  SEND - OUTPUT THE CURRENT MESSAGE BUFFER AND RETAIN CONTROL.
  3.  GIVE - OUTPUT THE CURRENT MESSAGE BUFFER (IF ANY) AND PASS CONTROL
             TO NEXT USER.
  4.  END  - TERMINATE SYSTK
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INVALID COMMANDS PASS CONTROL TO PROMPT CHARACTER (?) 
  
  
 **MISCELLANEOUS: 
  
  NO MORE THAN 10 LINES OF TEXT AT ONE PASS.
E06301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UPIT
 **PROGRAM TITLE: 
  UPIT - RTE DEVICE LOGICAL UNIT UP ROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    STATUS          SCHEDULING      MONITOR 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
    ALLOWS THE RTE USER TO ENSURE THAT A RANGE OF DEVICE LU'S ARE 
  ALWAYS UP.  IT CAN BE TIME-SCHEDULED OR SCHEDULED ONCE.  IT COULD BE
  CALLED A LINE MONITOR.  THE ROUTINE IS OPTIMIZED FOR REAL-TIME AND
  REQUIRES LITTLE RESOURCES OF RTE.  THIS ROUTINE IS A MUST IF YOU CANNOT 
  AFFORD OPERATOR INTERVENTION SIMPLY TO MAKE A DEVICE AVAILABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: UPIT SOURCE 
  
  
 **LOAD INSTRUCTIONS: 
  
  NORMAL LOAD 
  
  
 **RUN INSTRUCTIONS:
  
  RU,UPIT,START-LU,END-LU 
  FOR TIME SCHEDULE, ENTER:  IT,UPIT,RES,MULT,HR,MIN,SEC,MS 
                             ON,UPIT,NOW,START-LU,END-LU
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  NO PRINTABLE MESSAGES 
  
  
 **MISCELLANEOUS: 
  
  
E06401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE READABLE PUNCH ROUTINE WITH SYSTEM DATE AND TIME
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TIME            DATE            PAPER TAPE
    LABEL 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  RDBLP - DOES A LOOK-UP TABLE CONVERSION OF AN ASCII INPUT BUFFER
  TO A BINARY OUTPUT BUFFER. THE WORDS IN THE OUTPUT BUFFER ARE 
  READABLE CHARACTERS WHEN PUNCHED ON PAPER TAPE. CONVERTS 64 
  CHARACTER ASCII SUBSET OF UPPER CASE,NUMERALS, AND SYMBOLS. 
  
  JULIA/JULIS - RETURNS SYSTEM TIME AS A STRING:
       FORMAT---- JULIA                          JULIS
              1234  10DEC77                 01:23:15  25JAN77 
  THE DAY OF THE MONTH IS RETURNED IN THE A-REGISTER AND THE
  MONTH IN THE B-REGISTER.
  
  TITLE - PUTS A READABLE TITLE, OPTIONALLY CONTAINING THE TIME/
  DATE, ON A PAPER TAPE. THE INPUT IS EITHER FROM THE RUN STRING
  IN THE SCHEDULE CALL, OR INTERACTIVELY FROM A TERMINAL. FOR 
  REFERENCE, SEE NATIONAL SEMICONDUCTOR MM4240AA ROM DATA SHEET.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE RDBLP AND SAVE RELOCATABLE.
  ASSEMBLE AND SAVE AS RELOCATABLE. PUT THE RELOCATABLE IN THE
  LIBRARY AT GENERATION OR MOVE IT INTO L.G. AT LOAD. 
  
  ENTRIES : JULIA   OR   JULIS   (ASSEMBLY OPTION)
  EXTERNALS: EXEC,   .ENTR
  
  ASSEMBLE, TITLE, AND LOAD ALONG WITH %JULIA AND %RDBLP. 
  
  :RU,TITLE,-1,TI,STRING     ------ 
  
  
  PUTS THE STRING IN READABLE FORM ON THE PAPER TAPE, FOLLOWED BY 
  THE SYSTEM TIME.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  JULIA/JULIS INCLUDED AS COMMENT IN SOURCE.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  HARDWARE REQUIREMENTS 
  21MX OR 21MX-E
  
  SPECIAL CONSIDERATIONS
  
  1. RDBLP OUTPUT BUFFER MUST BE 6 TIMES THE LENGTH OF THE INPUT
     BUFFER.
  2. USER MUST PROVIDE A BUFFER OF: 
  
     6 WORDS (12 CHAR) FOR JULIA     OR 
     8 WORDS (16 CHAR) FOR JULIS
  
  3. TITLE ASSUMES TAPE PUNCH IS LU 4.
E06501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  IDLE
 **PROGRAM TITLE: 
  IDLE - RTE SYSTEM ACTIVITY VISUALIZER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    PERFORMANCE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  26 DECIMAL WORDS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM RUNS WITH THE LOWEST PRIORITY FOR PURPOSES OF VISUALLY 
  INDICATING HOW BUSY THE SYSTEM IS.  THE SWITCH REGISTER IS USED FOR 
  GIVING A ROCKING EFFECT OF ACTIVITY.  THE PROGRAM IS ONLY 26 DECIMAL
  WORDS LONG AND CAN BE PUT MEMORY RESIDENT INTO THE SYSTEM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE AND CREATE A RELOCATABLE FILE.  PUT IN, IN PROGRAM PHASE 
  DURING SYSTEM GENERATION TIME.
  
  
 **RUN INSTRUCTIONS:
  
  TO EXECUTE: ON,IDLE[,BIT PATTERN[,COUNT]] 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  NONE - THE SWITCH REGISTER IS USED AS A CONTINOUS OUTPUT DEVICE.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E06601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DBLIST
 **PROGRAM TITLE: 
  RTE-II/III DBLIST - IMAGE DATA BASE INFORMATION LISTER
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    IMAGE           DATA BASE 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SHORT PROGRAM ALLOWS THE IMAGE USER TO LIST INFORMATION ABOUT
  ALL DATA SETS OF ANY GIVEN DATA BASE.  THE OUTPUT CONSISTS OF A NICE
  COMPACT TABLE INDICATING THE SET, ENTRY, FMP BLOCKS, NAME, TYPE,
  CAPACITY, RECORD LENGTH, AND TOTAL NUMBER OF FMP BLOCKS REQUIRED.  THE
  OUTPUT LISTING CAN BE DIRECTED TO ANY OUTPUT DEVICE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  TO EXECUTE ENTER: RU,DBLIST[,LIST LU] 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  /DBLST: DBOPN ERROR N -DATA BASE COULD NOT BE OPENED. 
  /DBLST: DBCLS ERROR N -DATA BASE COULD NOT BE CLOSED. 
  
  
 **MISCELLANEOUS: 
  
  
E06701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PWCP
 **PROGRAM TITLE: 
  RTE-II/III PROM WRITER CONTROL PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    PROM
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS TO BURN PROM ON THE HP 12909B PROM WRITER UNDER 
  RTE II/III SYSTEM.
  
  THE PROM MASK TAPE MUST BE IN A FMGR FILE (ASCII), ONE FILE PER MASK
  TAPE, OR ON PAPER TAPE BUT IN THAT CASE THE USER MUST CREATE A TYPE O 
  FILE FOR THE PAPER TAPE READER. 
  
  REFER TO PROM WRITER OPERATING AND REFERENCE MANUAL (PN 12909-90009)
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  ALL ACTIVITIES ON THE SYSTEM MUST BE STOPPED BECAUSE THE PROGRAM TURNS
  OFF THE MEMORY PROTECT AND THE INTERRUPT SYSTEM.
  TO RUN THE PROGRAM THE USER TYPES:
     *RU,PWCP 
  AT THAT POINT PWCP WILL REQUEST SOME INITIAL PARAMETERS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  :RU,PWCP
  PROM WRITER CONTROL PROGRAM 
  TYPE SC OF PROM WRITER CARD?  25
  PROM BURN PARAMETERS
  CHIP INITIAL STATE (0 OR 1)?  1 
  MINIMUM BURN TIME (MILLISECONDS)?  1
  MAXIMUM BURN TIME (MILLISECONDS)?  21 
  MAXIMUM NUMBER OF RETRIES?  5 
  WAIT TIME RATIO?  10
  TIMING CONSTANT?  220 
  COMMAND?
  LOAD
  TYPE FILENAME?
  MCARD:RT:-2 
  ID LINE 1   THREE LINES FOR THE TAPE IDENTIFICATION 
  ID LINE 2 
  ID LINE 3 
  456         CHECKSUM
  COMMAND?
  VFILE 
  CONTENTS VERIFIED O-K 
  COMMAND?
  VCHIP 
  CHIP READY
  COMMAND?
  BURN
  CHIP PROGRAMMING COMPLETED
  COMMAND?
  VBURN 
  CHIP CONTENTS VERIFIED O-K
  
  COMMAND?
  STOP
  END OF PROGRAM
  
  TEST: 
  INSTALL THE TEST PROM (PN 12909-90009) WHICH IS PART OF THE PROM
  WRITER KIT. 
       RUN PWCP, AND AFTER THE REPLIES FOR INITIAL PARMETERS PWCP 
  WILL TYPE:
  
  COMMAND?
  CREAD     THAT LOAD THE CONTENT OF THE PROM INTO THE MEMORY BUFFER
  COMMAND?
  SHOW
  ON WHICH LU?
  6         DISPLAYS THE BUFFER CONTENTS ON THE L.P.
  COMMAND?
  PTAPE 
  PUNCH LU? 
  4         PUNCHES A MASK TAPE FROM THE MAIN MEMORY BUFFER.
  COMMAND?
  LOAD
  TYPE FILENAME?
  PR        PR IS A 0 TYPE FILE FOR THE PAPER TAPE READER 
  COMMAND?
  SHOW
  ON WHICH LU?
  6         DISPLAYS THE BUFFER CONTENTS ON THE L.P. AND THE PRINTOUT MUST
            BE THE SAME AS THE FIRST ONE, AND MUST AGREE WITH THE LISTING 
            BELOW.
  COMMAND?
  STOP
  END OF PROGRAM
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  REFER PROM WRITER OPERATING AND REFERENCE MANUAL (PN 12909-90009) 
  PAGE 5-1. 
  
  
 **MISCELLANEOUS: 
  
  ALL ACTIVITIES ON THE RTE SYSTEM MUST BE STOPPED BEFORE RUNNING PWCP
  FOR BURNING PROM. 
E06801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ABDMP 
 **PROGRAM TITLE: 
  ABORTING PROGRAM FREEZER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DUMP            DEBUG 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE ALLOWS YOU TO FIX UP RTE SO THAT IT WILL "FREEZE" THE
  PROGRAM IN ITS PARTITION AND DUMP THE PROGRAM TO SOME DEVICE FOR
  ANALYSIS, OR, BETTER YET, USE A DEBUGGING UTILITY TO DETERMINE WHAT IT
  WAS DOING, WITHOUT HAVING TO DECODE INSTRUCTIONS.  THE MAIN PROGRAM 
  IS ABDMP.  YOU RUN IT, AND SPECIFY THE NAME OF ONE OR MORE PROGRAMS 
  WHICH ARE TO BE "FROZEN" FOR YOUR EXAMINATION, SHOULD THEY BE ABORTED 
  BY RTE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  SPATC MUST BE GENERATED INTO THE SYSTEM TABLE AREA I.  COMPILE AND
  ASSEMBLE THE OTHERS (ABDMP, ABRSV, DMPRN, CMDIN, MSGFR) AND LOAD THEM 
  ON-LINE (MAY BE GENERATED INTO SYSTEM, IF THERE ARE NO ENTRY-POINT
  CONFLICTS).  PROGRAM MUST BE BACKGROUND DIS-RESIDENT, TYPE 3. 
  
  ASSEMBLE AND LOAD THE TEST PROGRAM (TEST).  RUN ABDMP, ADD PROGRAM
  TEST TO ITS LIST.  EXIT ABDMP.
  SET TESTS "BREAK" BIT (*BR,TEST)
  ABDMP WILL BE SCHEDULED.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  REQUIRES RTE-IV DBUGR MODULE. 
E06901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MTMXX 
 **PROGRAM TITLE: 
  RTE-II/III MULTI-TERMINAL PROGRAM DEVELOPMENTS & EXECUTION INTERFACE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    MULTITERMINAL   MULTIPROGRAM    SPOOLING
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE RTE-II/III MULTI-TERMINAL (MTMXX) PROGRAM DEVELOPMENT INTERFACE 
  ESTABLISHES A TRUE MULTI-TERMINAL, MULTI-PROGRAM DEVELOPMENT AND EX-
  ECUTION ENVIRONMENT WITH AUTOMATIC SPOOLING. THAT IS LS/LG BOTTLENECKS
  ARE ELIMINATED AND ANY LISTINGS, REPORTS, ETC., CONTENDING FOR THE SAME 
  PERIPHERALS ARE AUTOMATICALLY SPOOLED INSTEAD OF INTERLEAVED.  FURTHER- 
  MORE, NO COOPERATION IS REQUIRED AMONG USERS THAT ARE EDITING, COM- 
  PILING LOADING AND EXECUTING PROGRAMS CONCURRENTLY.  (MTMXX), ASSEMBLES 
  /COMPILES PROGRAMS EITHER FROM LOGICAL UNITS AND/OR FILES.  LISTINGS
  AND THE OBJECT CODE MAY BE DIRECTED TO EITHER LOGICAL UNITS OR FILES. 
  IF AN OUTPUT LOGICAL UNIT IS A SPOOLED DEVICE, A SPOOL POOL FILE IS 
  AUTOMATICALLY SET-UP.  THE SPOOL FILE IS CLOSED AND PASSED AT THE END 
  OF THE OPERATION.  IN THE CASE OF OUTPUT FILES, DUPLICATE FILES ARE 
  PURGED AND RECREATED.  IF THE FILE DOES NOT EXIST IT WILL BE CREATED. 
  MTMXX LOADS PROGRAMS FROM LOGICAL UNIT DEVICES AND/OR FILES AND THEN
  PERFORMS A LIBRARY SEARCH.  BOTH COMPILE AND LOAD OPERATIONS MAY BE 
  FROM MULTIPLE FILES AND/OR LOGICAL UNITS.  IN THE CASE OF MULTIPLE
  SOURCES, TAPE NUMBERS WILL IDENTIFY EACH SOURCE IN THE LISTING. 
  STANDARD NAMR PARAMETERS ARE USED FOR FILE NAMES I.E., NAME:SC:C#.
  ALL MESSAGES ARE DIRECTED TO THE USER'S CONSOLE INSTEAD OF THE SYSTEM 
  CONSOLE, I.E., LOADER UNDEFINED EXTERNALS, NO SOURCE, ETC.,.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. EDIT LIBRARY ROUTINE MTMRN LINE #3 FOR THE PROPER PROGRAM TYPE.
     I.E., TYPE 14 FOR RTE II OR TYPE 30 FOR RTE III. 
  
  2. COMPILE AND ASSEMBLE ALL SOURCES. NOTE: THE SPECIAL RTE II AND III 
     LOADERS ARE PROVIDED IN RELOCATABLE FORM.
  
  3. GENERATE A NEW SYSTEM WHICH INCLUDES MTMRN AS A MEMORY RESIDENT, 
     SPULU AND SPLOT AS LIBRARY ROUTINES AND THE SPECIAL LOADER IN LIEU 
     OF THE STANDARD RTE LOADER.  MTMXX REQUIRES 10 RESOURCE NUMBERS. 
     BE SURE TO INCLUDE ENOUGH RESOURCE NUMBERS IN THE GENERATION AND 
     ENOUGH SPOOL LOGICAL UNITS TO HANDLE YOUR TERMINALS.  YOU WILL 
     REQUIRE AT LEAST TWO SPOOL LOGICAL UNITS PER TERMINAL. 
  
  4. LOAD MTMXX AND ITS SUPPORTING SUBROUTINES ON-LINE AS A TEMPORARY 
     BACKGROUND PROGRAM.
  
  5. SAVE MTMXX, OFF MTMXX, MAKE MULTIPLE COPIES OF MTMXX AND CREATE THE
     TRANSFER FILES AS OUTLINED IN MTMXX'S LISTING. 
  
  6. RUN GASP AND INITIALIZED SPOOLING.  AS A RULE OF THUMB, USE TWO
     SPOOL POOL FILES PER TERMINAL. 
                                                                         7
  . FOR 2645/2648 TERMINALS USE THE "KEYS" PROGRAM TO CREATE SOFTKEY
    "DUMP" FILES.  THESE FILES CAN THEN BE INCLUDED IN "DO" COMMANDS
    IN THE WELCOM FILE.  SUGGESTED SOFTKEY SET-UP IS: 
           RU,ALGXX  RU,ASBXX RU,BSCXX RU,EDRXX 
           RU,FTNXX  RU,FMGXX RU,LDRXX EX 
    WHERE XX = THE LOCAL TERMINAL LOGICAL UNIT. 
    SUGGESTED SOFTKEY LABELING IS:
           ALGOL     ASSEMBLER    BASIC     EDITOR
           FORTRAN   FMGR         LOADER    EXIT
                                                                         8
  . ESTABLISH THE FOLLOWING GROUND RULES: 
    A. ALL USERS MUST RUN FROM THEIR OWN COPY OF THE FILE MANAGER.
    B. ALL USER PROGRAMS UTILIZING COMMON OUTPUT PERIPHERALS
       (I.E. LINE PRINTER, PAPER TAPE PUNCH, ETC.) MUST MAKE CALLS
       TO SPOLU AND SPLOT FOR SPOOLING.  SEE SPOLU AND SPLOT LISTINGS 
       FOR CALLING SEQUENCE.
    C. ALL USERS, WHERE POSSIBLE, LOAD THEIR PROGRAMS AS TEMPORARY, DO
       A FMGR SAVE AND THEN AN "OF,PROG".  THIS WILL SAVE ID SEGMENTS.
  
  9. CREATE TRANSFER FILES TO MAKE MULTIPLE COPIES OF THE EDITOR, BASIC 
     MAIN, QUERY MAIN, ETC., AS REQUIRED FOR YOUR SYSTEM CONFIGURATION. 
  
  10.SAVE A COPY OF ALL THE ABOVE WORK AND FILES ON A GENERATION
     CARTRIDGE AND MAKE-UP A TRANSFER FILE SO THAT YOU DON'T HAVE TO
     DO IT ALL MANUALLY AGAIN AT YOUR NEXT GENERATION.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SHOULD HAVE A GOOD WORKING KNOWLEDGE OF THE BATCH-SPOOL MONITOR AND 
  TRANSFER FILES IN ORDER TO IMPLEMENT. 
  ASSEMBLER AND COMPILER CONTROL STATEMENTS MUST CONTAIN THE "B" OPTION 
  IN ORDER TO PRODUCE RELOCATABLE CODE. 
E07001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  STATUS DECODING FUNCTIONS 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    STATUS
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE 4 SUBPROGRAMS TEST THE STATUS OF A LOGICAL UNIT FOR END OF FILE.
  END OF MEDIUM, AND ERROR CONDITIONS.  THEY CAN BE CALLED AS LOGICAL 
  FUNCTIONS.
  SEE RTE III SOFTWARE SYSTEM PROGRAMMING AND OPERATING MANUAL, 
  MARCH 1977, PG 3-17.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  FOR GENERALITY, THE END, ERR, AND EOT ROUTINES CONTAIN MASKS FOR ALL
  64 POSSIBLE DRIVERS.  MOST INSTRUMENT DRIVERS DO NOT RETURN A STATUS
  CODE, HOWEVER.  THE EXTRA MASKS CAN BE DELETED TO MAKE THE ROUTINES 
  SHORTER.  IF THIS IS DONE, A TEST SHOULD BE INSERTED AT AROUND LINE 19
  OF THE SOURCE CODE TO DETECT INQUIRIES FOR THE UNUSED DRIVERS AND TO
  RETURN .FALSE. FOR THESE CALLS. 
  
  THE MASKS ARE BASED ON THE CODES LISTED IN THE REAL TIME EXECUTIVE III
  SOFTWARE SYSTEM PROGRAMMING AND OPERATING MANUAL, MARCH 1977, PG 3-17 
  
  THE TEST PROGRAM ET SHOULD BE RUN WITH A VARIETY OF LOGICAL UNITS.
  ANY PROBLEMS WILL PROBABLY BE DUE TO AN INCORRECT MASK FOR THE SPECIFIC 
  EQUIPMENT BEING USED.  IT IS DIFFICULT TO SIMULATE AN I/O ERROR TO
  TEST THE ERR ROUTINE.  PROGRAM ET CAN TELL YOU THAT AN ERROR INDICATION 
  IS NOT GIVEN WHEN NO ERROR EXISTS, HOWEVER.  PROGRAM SPET IS SET UP TO
  READ THE &SPEND SOURCE FILE FROM THE DISC.  (SEE THE COMMENTS IN
  &SPEND.)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE TEST PROGRAMS WRITE THEIR OUTPUT TO LOGICAL UNIT 1.  THE EXAMPLES 
  SHOW NORMAL OUTPUT WITH A PAPER TAPE SOURCE FILE FOR INPUT TO PROGRAM 
  ET AND WITH A DISC SOURCE FILE FOR SPOOL INPUT TO PROGRAM SPET. 
  
            :RU,ET
             EOF AT RECORD   205
             EOT AT RECORD   205
             EQT5 IS 000440 
             RECORD NUMBER IS    205
  
  
            :RU,SPET
             EOF AT RECORD   27 
             EXIT AT RECORD NUMBER   27 
  
  
 **PROGRAM DESCRIPTION: 
  
  1. CALLING SEQUENCE:
  
     END, ERR, EOT, AND SPEND ARE ALL LOGICAL FUNCTIONS AND MUST BE 
     DECLARED AS LOGICAL IN FORTRAN OR BOOLEAN IN ALGOL.
  
          LOGICAL L,END,ERR,EOT,SPEND 
     C...TEST FOR END OF FILE ON LU 
          L=END(LU) 
     C...TEST FOR ERROR ON LU 
          L=ERR(LU) 
     C...TEST FOR END OF MEDIUM ON LU 
          L=EOT(LU) 
     C...TEST FOR END OF SPOOL FILE 
          L=SPEND(LUSP) 
  
  2. ARGUMENTS: 
  
     IN THE ABOVE EXAMPLE, LU IS THE NUMBER OF THE LOGICAL UNIT TO BE 
     TESTED.  THE SPEND FUNCTION TESTS FOR END OF FILE ON A SPOOL LOGICAL 
     UNIT, SHOWN AS LUSP IN THE EXAMPLE.
  
  3. THE FOLLOWING TABLE SHOWS HOW THE END, ERR AND IOT ROUTINES WORK WITH
     THE VARIOUS DRIVERS USING THE MASKS SUPPLIED.  IF THE LU HAS A DRIVER
     OTHER THAN THOSE SHOWN, THE ROUTINES ALL RETURN .FALSE. FOR ALL CON- 
     DITIONS ON THE LU.  AN X IN THE TABLE SHOWS THE TEST IS MADE; A -
     SHOWS THAT NO TEST IS MADE AND THE ROUTINE ALWAYS RETURNS .FALSE.
     FOR THAT DRIVER. 
  
          DVR           END              ERR            EOT 
  
           00          NOTE 1             -              X
           01          NOTE 1             -              X
           02          NOTE 1             -              X
           05 TERMINAL NOTE 2             -            NOTE 2 
           05 TAPE       X                X              X
           11          NOTE 3             X            NOTE 3 
           15            X                X            NOTE 4 
           22            X                X              X
           23            X                X              X
           24            X                X              X
           30            -                X              -
           31            -                X            NOTE 5 
           32            -                X              -
           37            -                X              -
  
  NOTES:
       1. END OF TAPE SETS .TRUE. 
       2. CONTROL D SETS .TRUE. 
       3. HOPPER EMPTY SETS .TRUE 
       4. HOPPER EMPTY OR STACKER FULL SETS .TRUE.
       5. END OF TRACK SETS .TRUE.
  
  4. SPOOL FILES USE THE EQT TABLE DIFFERENTLY THAN ORDINARY LOGICAL
     UNITS.  THE FUNCTION SPEND TESTS THE END OF FILE FLAG IN THE EX- 
     TENSION OF A SPOOL EQT ENTRY.  IT SHOULD BE USED INSTEAD OF END
     FOR SPOOL LOGICAL UNITS. 
  
  5. THESE ROUTINES MAY BE USED AT ANY POINT IN A PROGRAM.  THEY DO NOT 
     HAVE TO BE ADJACENT TO THE I/O CALL, AND MORE THAN 1 TEST CAN BE 
     MADE ON A DEVICE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E07101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TMSHR 
 **PROGRAM TITLE: 
  RTE PROGRAM TIME-SHARE PROCESSOR
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    PERFORMANCE     TIME            MULTIPROGRAM
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE RTE USER TO TIME-SHARE UP TO 64 COMPUTE-BOUND 
  PROGRAMS, I.E. IT SERVES AS AN ON-LINE REAL-TIME EXECUTION MONITOR. 
  THE USER RUNS THE PROGRAM WITH THE RU OR ON COMMAND TO PASS IT CON- 
  FIGURATION INFORMATION OR PLACE IT IN THE TIME-LIST FOR PERIODIC EX-
  ECUTION TO PERFORM THE TIME-SHARING FUNCTION RESPECTIVELY.  WHILE IN
  TIME-SHARE MODE OF OPERATION, THE PROGRAM TIME-SLICES PROGRAM EXECUTION 
  OF ALL ENTERED PROGRAM NAMES ACCORDING TO EACH PROGRAM'S  CONFIGURATION 
  INFORMATION.  THE PROGRAM TAKES ONLY 2K WORDS OF MEMORY AND CAN RUN IN
  ANY AREA OF RTE, ALTHOUGH MEMORY RESIDENT IS SUGGESTED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. COMPILE WITH FORTRAN IV COMPILER AND CREATE RELOCATABLE MODULE:
  
          RTE-III                              RTE-IV 
        :MS,&TMSHR                          :RU,FTN4,&TMSHR,6,- 
        :LG,1 
        :RU,FTN4,2,99 
  
  2. PROGRAM IS DISTRIBUTED AS RT DISC RESIDENT WITH PRIORITY OF 25.
     YOU MIGHT WISH TO CHANGE BEFORE STEP 1 IS DONE.
  
  3. LOAD WITH APPROPRIATE LOADR.  NO SPECIAL LIBRARIES, ETC. REQUIRED. 
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN, ENTER THE FOLLOWING:
  
  CONFIGURATION MODE
  
    RU,TMSHR,PR[,OG][,A][,NTIME][,LUN]
  
         PR,OG,A ----------NAME OF RTE PROGRAM TO ENTER INTO TIME-SHARE 
                             TABLE
  
         NTIME-------------NUMBER OF TIMES A PROGRAM CAN BE CAUGHT AT THE 
                             TOP OF THE SCHEDULED LIST BEFORE SUSPENDED 
                             AND FORCED TO THE BOTTOM OF THE LIST.
  
         LUN---------------LUN FOR MY ERROR REPORTING 
  
  PRINT STATUS MODE 
    RU,TMSHR,-N 
  
         -N ---------------ANY NEGATIVE NUMBER PRINTS ALL TIME-SHARE
                             PROGRAM ENTRIES AND THE CURRENT TIME-SHARE 
                             STATUS.  SEE EXAMPLE INPUT/OUTPUT. 
  
  TIME-SHARE MODE 
  
    *IT,TMSHR, RESOLUTION, MULTIPLE 
    *ON,TMSHR, NOW
    THIS INITIATES PROGRAM TIME-SHARING.  RECALL, AN RTE RU COMMAND 
    WITH AND FIRST PARAMETER NEGATIVE PRINTS STATUS (SEE ABOVE).
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ?? -------- PROGRAM NAME NOT DEFINED
  NONE------- NO PROGRAMS TO TIME-SHARE 
  FULL ------ TIME-SHARE TABLE FULL 
  
  
 **MISCELLANEOUS: 
  
  
E07201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RTEM
 **PROGRAM TITLE: 
  RTEM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    CONVERSION      FILES           BOOT-UP 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE PROGRAM RTEM CONVERTS A TYPE 7 FILE (ABSOLUTE BINARY) INTO A
  TYPE 1 FILE WHICH IS A MEMORY IMAGE.  IN ADDITION, IT SUPPLIES A BOOT-
  STRAP IN THE FIRST RECORD SUCH THAT, IF THE TYPE 1 FILE BEGINS ON 
  CYLINDER 0, THEN THE MEMORY IMAGE MAY BE BOOTED INTO PHYSICAL MEMORY
  WITH THE ROM BOOT (OR EQUIVALENT) SUPPLIED WITH THE HP-1000 SYSTEM. 
  THIS PROGRAM IS OF GREATEST USE IN DEVELOPING APPLICATIONS (USING THE 
  RESOURCES OF A LARGE SYSTEM) WHICH WILL LATER BE TRANSPORTED TO A 
  MINIMAL HARDWARE CONFIGURATION.  THE PROGRAM IS INTERACTIVE - THE ONLY
  PARAMETER IN THE RU OR ON COMMAND IS THE TERMINAL LOGICAL UNIT, WHICH 
  WILL DEFAULT TO 1.
  
  ONE WOULD NORMALLY USE THE HP PROGRAM RTMLG, A COMBINATION LOADER/
  GENERATOR FOR RTE-M WHICH IS A PART OF DS-1000, PRODUCT 91740A. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  FMP ERRORS ARE REPORTED.
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
     REMEMBER THAT THE ROM BOOT WILL WORK ONLY IF THE TYPE 1 FILE IS
     INSTALLED AT CYLINDER ZERO AND THE STARTING HEAD IS NOT GREATER
     THAN 3.
  
     ANY HP-1000 SYSTEM WITH 7905, 7906, 7920, 7925 DISC. 
E07301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TIME
 **PROGRAM TITLE: 
  TIME
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TIME            BOOT-UP         DATE
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  'TIME' IS A USER PROGRAM WRITTEN IN FORTRAN WHICH ACCESSES THE
  59309A HP-IB CLOCK TO SET THE TIME IN AN RTE-M (II-III), RTE-II,
  RTE-III, OR RTE-IV SYSTEM.  THE PRIMARY PURPOSE OF 'TIME' IS TO AUTO- 
  MATICALLY SET THE SYSTEM TIME IN THE WELCOM FILE DURING RTE BOOT-UP.
  
  'TIME' IS FULLY DOCUMENTED IN  APPLICATION NOTE 401-8,
  ((PART # 5959-2807(22)) 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  'TIME' IS A USER PROGRAM WRITTEN IN FORTRAN WHICH ACCESSES THE
  59309A HP-IB CLOCK TO SET THE TIME IN AN RTE-M (II AND III), RTE-II,
  RTE-III, OR RTE-IV SYSTEM.  ACTUALLY, FOUR COMMANDS CAN BE USED WHEN
  THE PROGRAM IS RUN INTERACTIVELY: 'CS' ACCESSES THE CLOCK, OBTAINS THE
  TIME AND SETS THE SYSTEM TIME; 'SC' OBTAINS THE SYSTEM TIME AND THEN
  ACCESSES THE 59309A AND UPDATES IT; 'OS' ALLOWS AN OPERATOR AT A USER 
  TERMINAL TO UPDATE THE 59309A FROM THE PROGRAM (WITHOUT TOUCHING THE
  CLOCK), SIMULTANEOUSLY THE SYSTEM TIME IS UPDATED.  'OC' IS SIMILAR 
  TO 'OS' EXCEPT THAT ONLY THE 59309A IS UPDATED. 
  
  THE PRIMARY PURPOSE OF 'TIME' IS TO AUTOMATICALLY SET THE SYSTEM TIME 
  IN THE WELCOM FILE DURING RTE BOOT-UP.  SIMPLY ENTER: 
  
                               "RU,TIME,1,1978,50 
                    IF,  1) THE INPUT LU IS 1 
                         2) THE YEAR IS 1978
                         3) THE 59309A LU IS 50 
                         4) AND YOU WISH TO SET THE SYSTEM TIME (CS). 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  REQUIRES HP-IB 59309A HP CLOCK
E07401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TODAY 
 **PROGRAM TITLE: 
  TODAY 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DATE            TIME
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  "TODAY" SUBROUTINE PURPOSE IS:
       TO BUILD CALLERS 14 WORD BUFFER INTO A DATE/TIME MESSAGE 
       IN THE FOLLOWING FORM: 
                    "FRI 26 MAR 1976 18:24:30.9"
  
       WHERE: 
            TODAY'S DATE IS FRIDAY, MARCH 26, 1976 AND THE TIME 
            IS 6:24 PM & 30.09 SECONDS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE COMMENTS 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E07501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  POWER 
 **PROGRAM TITLE: 
  POWER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    SPOOLING        PRINTER 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  POWER REQUIRES 7K CORE STORAGE
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  POWER WILL ADD VERSATILITY TO YOUR OUTSPOOL APPLICATIONS.  POWER
  OFFERS FORWARD AND BACKWARD POSITIONING, LINE AND PAGE COUNTS, MULTIPLE 
  COPIES, SPOOL OR STANDARD FORMAT, AND RUN COST BASED ON CPU TIME WHEN 
  THE STANDARD JOB HEADERS ARE PRESENT IN THE OUTSPOOL FILE.
  
  POWER HAS MANY DEFINITE ADVANTAGES OVER GASP IN THAT SPOOLING CAN BE
  SHUT DOWN AND POWER CAN HANDLE THE PRINTING.  A FILE MAY BE RESTARTED 
  FROM ANY PAGE OR LINE IN THE EVENT OF PRINTER MALFUNCTION.  THE FILE
  REMAINS INTACT AFTER PRINTING UNTIL THE OPERATOR ISSUES THE "KS"
  COMMAND.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CREATE AN OUTSPOOL FILE AND RUN POWER.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  POWER WILL ADD VERSATILITY TO YOUR OUTSPOOL APPLICATIONS.  POWER
  OFFERS FORWARD AND BACKWARD POSITIONING, LINE AND PAGE COUNTS, MULTIPLE 
  COPIES, SPOOL OR STANDARD FORMAT, AND RUN COST BASED ON CPU TIME WHEN 
  THE STANDARD JOB HEADERS ARE PRESENT IN THE OUTSPOOL FILE.
  
  POWER HAS MANY DEFINITE ADVANTAGES OVER GASP IN THAT SPOOLING CAN BE
  SHUT DOWN AND POWER CAN HANDLE THE PRINTING.  A FILE MAY BE RESTARTED 
  FROM ANY PAGE OR LINE IN THE EVENT OF PRINTER MALFUNCTION.  THE FILE
  REMAINS INTACT AFTER PRINTING UNTIL THE OPERATOR ISSUES THE "KS"
  COMMAND.
  
  ALL I/O IS DONE THROUGH EXEC CALLS EXCEPT FOR THE MESSAGES TO THE 
  OPERATOR WHICH USE THE FORTRAN FORMATTER.  POWER USES THE "@" AS A
  PROMPT CHARACTER AND WHEN ?? IS ENTERED IT WILL LIST ALL AVAILABLE
  FUNCTIONS.
  
  POWER LOCKS THE LINE PRINTER WITH A CALL TO "LURQ" AND WILL RESPOND 
  TO THE BREAK FLAG WHILE PRINTING. 
  
  THE SOURCE FILE IS WELL COMMENTED GIVING THE USER EASY READING FOR
  ON SITE MODIFICATIONS IF REQUIRED.
  
  POWER REQUIRES 7K CORE STORAGE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL SPOOL ERROR MESSAGES AS WELL AS FILE MANAGER MESSAGES ARE DIRECTED
  TO THE USER'S TERMINAL. 
  
  
 **MISCELLANEOUS: 
  
  REQUIRES LINE PRINTER AND 7905 DISC.
E07601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE/DOS FTN4 COMPILER WITH CROSS REFERENCE GENERATOR
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    COMPILE         FORTRAN 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  10K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE RTE/DOS FORTRAN IV COMPILER (10K COMPILER AREA) WITH CROSS
  REFERENCE GENERATOR IS ADAPTED FROM THE HP SUPPORTED RTE/DOS FORTRAN
  IV COMPILER, HP PROGRAM NUMBER 24177B. IT COMPILES EXACTLY THE SAME 
  SOURCE CODE (AS SPECIFIED BY THE HP FORTRAN IV REFERENCE MANUAL) AND
  PRODUCES EXACTLY THE SAME OBJECT CODE AS THE HP24177B COMPILER. 
  HOWEVER, THE PRESENCE OF A 'C' ON THE FTN4 (OR FTN) CONTROL STATEMENT 
  WILL CAUSE A CROSS REFERENCE LIST TO BE PRODUCED FOR EACH PROGRAM UNIT
  (PROGRAM, SUBROUTINE, OR FUNCTION) IN THE COMPILATION. THE CROSS
  REFERENCE LISTING SERVES AS A USEFUL PROGRAMMING AND DEBUGGING AID, 
  PARTICULARY IN ANALYZING LOGIC PATHS IN A PROGRAM. THIS VERSION OF THE
  HP FORTRAN IV COMPILER GIVES FORTRAN IV PROGRAMMERS THE SAME TOOL 
  ALREADY AVAILABLE FOR HP ASSEMBLY LANGUAGE PROGRAMMERS. 
  
  THE HARDWARE REQUIREMENTS ARE THE SAME AS FOR THE HP24177B COMPILER,
  THAT IS, A DOS, DOS-M OR RTE CONFIGURATION WITH A MINIMUM 10K USER
  AREA (DOS) OR BACKGROUND (RTE). THE COMPILER IS APPROXIMATELY 150 WORDS 
  LARGER THAN 24177B SINCE MOST OF THE PROGRAMMING IS IN THE ADDITIONAL 
  SEGMENT, F4.3. COMPILATION SPEED REMAINS THE SAME.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE MAIN PROGRAM FTN4. A SINGLE BINARY TAPE IS PRODUCED,
     OF THE MAIN SIZE ABLE TO FIT IN THE PHOTOREADER HOPPER.
  
  2. ASSEMBLE ALL FOUR SEGMENTS. ALL FOUR RELOCATABLE BINARY TAPES CAN
     FIT TOGETHER ON ONE TAPE, WHICH WILL BE ABOUT THE SAME SIZE AS FOR 
     THE MAIN PROGRAM.
  
  3. LOAD THE BINARIES IN THE USUAL WAY, MAIN FOLLOWED BY SEGMENTS. 
  
  
 **RUN INSTRUCTIONS:
  
  COMPILE YOUR FORTRAN IV PROGRAMS. A 'C' ON THE FTN4 OR FTN CONTROL
  STATEMENT WILL PRODUCE THE CROSS REFERENCE LISTINGS. BECAUSE HP 
  FORTRAN II PROGRAMS CAN BE COMPILED BY THE FORTRAN IV COMPILER, IT IS 
  ALSO POSSIBLE TO PRODUCE CROSS REFERENCE LISTINGS FOR FORTRAN II
  PROGRAMS. THE PRESENCE OF A 'C' ON THE FTN CONTRTOL STATEMENT IS
  IGNORED BY THE FORTRAN II COMPILER, SO IT IS UNNECESSARY TO CHANGE
  THE CONTROL STATEMENT WHEN SWITCHING BACK AND FORTH BETWEEN COMPILERS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ANY FORTRAN OR FORTRAN IV PROGRAM CAN BE COMPILED AFTER LOADING THE 
  COMPILER TO SEE IF IT IS (FUNCTIONING PROPERLY).
  
  
 **PROGRAM DESCRIPTION: 
  
  THE CROSS REFERENCE LISTING IS THE LAST LISTING PRODUCED FOR EACH 
  PROGRAM UNIT'S COMPILATION. IT FOLLOWS ALL LISTINGS PRODUCED BY THE 
  'L', 'M', 'A', AND 'T' OPTIONS. CROSS REFERENCE INFORMATION, I.E. A 
  LIST OF ALL REFERENCES TO PROGRAM SYMBOLS, IS PRODUCED FOR ALL
  STATEMENT NUMBERS, SIMPLE AND SUBSCRIPTED VARIABLES, SUBROUTINE AND 
  FUNCTION NAMES IN EACH PROGRAM UNIT.
  
  EACH SYMBOL IS PRINTED FOLLOWED BY THE LINE NUMBERS IN WHICH IT OCCURS. 
  MULTIPLE REFERENCES TO A SYMBOL IN ONE LINE ARE ALL ACCOUNTED FOR IN
  THE CROSS REFERENCE LISTING. STATEMENT LABELS ARE PRECEDED BY THE '@' 
  CHARACTER, AS IN THE SYMBOL TABLE LISTING.
  
  UP TO EIGHT LINE NUMBERS ARE PRINTED PER LINE OF THE CROSS REFERENCE
  LISTING. THEY ARE GENERALLY IN ASCENDING ORDER EXCEPT FOR OCCURENCES
  IN EQUIVALENCE STATEMENTS. FOR EXAMPLE, 
  
       0099 COMMON N
       0100 EQUIVALENCE (N(1),M(1)) 
       0101 DIMENSION N(50),M(50) 
       0102 N(1) = 1
  
  PRODUCES, FOR THE SYMBOL N, THE FOLLOWING CROSS REFERENCE INFORMATION:
  
       N    0099   0101   0100   0102 
  
  THE ONLY "LIMITATION" ON THE CROSS REFERENCE GENERATOR'S CAPABILTIES
  IS THAT CROSS REFERENCE INFORMATION IS PRODUCED FOR ONLY THE FIRST
  275 LINES OF EQUIVALENCE STATEMENTS PER PROGRAM UNIT. SINCE THIS IS 
  OVER FIVE PAGES OF EQUIVALENCE STATEMENTS, THIS IS HARDLY A SERIOUS 
  LIMITATION. THE LIMIT OF 275 CAN BE INCREASED BY INCREASING THE SIZE
  OF A TABLE IN SEGMENT F4.0, THEREBY INCREASING THE SIZE OF THE COMPILER.
  
  LARGE CORE CONFIGURATION SYSTEMS (24-32K) CAN INCREASE THE SPEED OF 
  CROSS REFERENCE GENERATION FOR LARGE PROGRAMS. FOR EXAPLE, A CROSS
  REFERENCE FOR A 2400 LINE PROGRAM WHICH WAS 35 PAGES LONG TOOK 12 
  MINUTES ON A 16K MACHINE BUT ONLY 3 MINUTES ON A 24K COMPUTER. THE
  REASON IS THAT THE DISC IS NOT USED WHEN ENOUGH CORE IS AVAILABLE TO
  HOLD THE NECESSARY TABLES. FOR MOST PROGRAMS, CROSS REFERENCE LISTINGS
  ARE PRODUCED VERY QUICKLY, EVEN IN THE MINIMUM CORE CONFIGURATION.
  IN ADDITION TO THE CROSS REFERENCE, THE COMPILER HAS BEEN MODIFIED TO 
  PRINT THE PROGRAM OBJECT CODE SIZE AND ITS COMMON BLOCK SIZE (IF ANY).
  THEY ARE PRINTED ON THE SAME LINE WHERE THE NUMBER OF ERRORS IS 
  REPORTED, IN DECIMAL. THE FORM IS 
  
       **NO ERRORS*   PROGRAM = XXXXX   COMMON = YYYYY
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IN THE UNLIKELY EVENT THAT A PROGRAM IS TOO LARGE (I.E. HAS TOO MANY
  SYMBOLS) TO HAVE A CROSS REFERENCE PRODUCED, THE MESSAGE
  
       PROGRAM TOO LARGE - CROSS REFERENCE ABORTED
  
  IS PRINTED AND THE COMPILER PROCEEDS TO THE NEXT SUBROUTINE. SINCE A
  CROSS REFERENCE IS GUARANTEED FOR ALL PROGRAMS HAVING LESS THAN 
  APPROXIMATELY 2000 UNIQUE SYMBOLS IN THEM (AND AN UNLIMITED NUMBER OF 
  REFERENCES ON THESE) THIS MESSAGE SHOULD NEVER OCCUR SINCE THE
  COMPILER WILL RUN OUT OF SYMBOL TABLE SPACE FIRST.
  
  THE CROSS REFERENCE IS GUARANTEED COMPLETE AND ACCURATE FOR PROGRAMS
  WHICH HAVE NO COMPILATION ERRORS. THE PRODUCTION OF CROSS REFERENCE 
  INFORMATION PROCEEDS ONLY AS FAR AS THE COMPILATION OF THAT LINE PRO- 
  CEEDS. IF THE COMPILATION OF A LINE IS TERMINATED BECAUSE OF A
  "STATEMENT TERMINATED TYPE ERROR, THEN SYMBOLS WHICH ARE BEYOND THE 
  ERROR DETECTION POINT GENERALLY WILL NOT APPEAR IN THE LISTING. 
  
  
 **MISCELLANEOUS: 
  
  OBJECT CODE GENERATED BY BY THE COMPILER ALSO OPERATES ON BCS AND MTS,
  IN ADDITION TO RTE, DOS, AND DOS-M. 
E07701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EXC 
 **PROGRAM TITLE: 
  INTERCHANGE FORMAT PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    FLOPPY DISC     DISC            FORMATTING
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL WRITE A FILE TO A FLOPPY IN THE HP INTERCHANGE
  FORMAT. 
  
  DATA IS READ FROM A NON-DISC DEVICE (SUCH AS MAG TAPE OR 2645 TAPE
  CARTRIDGE).  THE DATA MAY BE BLOCKED OR UNBLOCKED ON TAPE.
  
  THE PROGRAM WILL CREATE A VOLUME LABEL AND DIRECTORY ON THE FLOPPY, 
  DE-BLOCK THE INPUT DATA IF REQUIRED AND WRITE THE RECORDS TO THE FLOPPY 
  IN THE INTERCHANGE FORMAT.
  
  THIS PROGRAM DOES NOT READ THE INTERCHANGE FORMAT AT THIS TIME. 
  HOWEVER, I PLAN TO ADD THAT SOMETIME IN THE FUTURE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR MESSAGES ARE PRINTED FOR I/O ERRORS 
  
  
 **MISCELLANEOUS: 
  
  THIS IMPLEMENTATION OF THE HP INTERCHANGE FORMAT IS A SUB-SET OF THE
  STANDARD, I.E. IT ALLOWS ONLY ONE FILE PER FLOPPY AND A FILE MAY NOT
  SPAN VOLUMES (FULL DESCRIPTION GIVEN IN THE COMMENTS IN THE SOURCE
  PROGRAM). 
E07801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SCAN
 **PROGRAM TITLE: 
  TERMINAL HARD COPY PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    PRINTER         DISPLAY         TERMINAL
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  SCAN IS A FORTRAN PROGRAM THAT SUPPLIES A TERMINAL HARD-COPY FUNCTION 
  FOR HEWLETT-PACKARD'S DOS-M AND RTE SYSTEMS USING THE 2645 AND 2648 
  TERMINALS.  SCAN EMULATES A TERMINAL HARD-COPY DEVICE BY INTERROGATING
  THE TERMINAL'S LOCAL MEMORY AND TRANSMITTING ITS CONTENTS TO THE
  STANDARD SYSTEM PRINTER.  TO GET A COPY OF ALL OF THE TERMINAL'S CON- 
  TENTS TYPE: RU,SCAN.  SCAN WILL AUTOMATICALLY SEND THE CURSOR TO THE
  HOME POSITION AND TRANSFERS THE DISPLAY INFORMATION TO THE SYSTEM 
  PRINTER (LU 6).  FOR A PARTIAL SCAN, TYPE: RU,SCAN,,P (MOVE THE CURSOR
  TO THE FIRST LINE TO BE COPIED BEFORE TYPING "RETURN").  SCAN WILL COPY 
  FROM THAT LINE UP TO BUT NOT INCLUDING THE LINE CONTAINING RU,SCAN,,P.
  IN EITHER CASE, A FORM FEED IS PROVIDED AFTER THE COPY AS AN ADDED
  CONVENIENCE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  OPERATES WITH 2645 AND 2648 TERMINALS.
E07901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  VASP
 **PROGRAM TITLE: 
  VIRTUAL ARRAY SUBROUTINE PACKAGE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    ARRAY           MEMORY
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    21MX-E
  
 **OPERATING SYSTEMS: 
    RTE-II
  
 **MEMORY REQUIREMENTS: 
  3808 WORDS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN SUBROUTINE PACKAGE ENABLES A FORTRAN PROGRAMMER TO HANDLE
  VERY LARGE MULTIDIMENSIONAL REAL OR INTEGER ARRAYS.  THE ARRAYS ARE 
  STORED AND RECALLED FROM DISK BY CALLS TO THE SUBROUTINES IN SUCH A WAY 
  THAT ANY ARRAY ELEMENT IS ACCESSIBLE USING SUBSCRIPT NOTATION SIMILAR TO
  THAT OF A STANDARD FORTRAN ARRAY.  UP TO 5 ARRAYS ARE ALLOWED, ANY
  OF WHICH CAN BE REAL OR INTEGER.  THE INTEGER ARRAYS CAN HAVE UP TO 
  4,194,176 ENTRIES; THE REAL ARRAYS UP TO 2,097,088 - DEPENDING UPON 
  AVAILABLE DISK SPACE.  UP TO 4 DIMENSIONS ARE ALLOWED EACH ARRAY.  THE
  COMPLETE PACKAGE USES 3808 WORDS OF STORAGE.  SEVERAL OTHER ROUTINES
  ARE INCLUDED WHICH CAN BE USED IN CONJUNCTION WITH THE ABOVE DESCRIBED
  PACKAGE.  THESE ADDITIONAL ROUTINES MAY BE USED TO CREATE AND ACCESS
  ARRAYS STORED PERMANENTLY ON THE DISK AND TO INSPECT THE ARRAY CONTENTS 
  FOR TROUBLESHOOTING PURPOSES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **MISCELLANEOUS: 
  
  SEE EXTENDED DOCUMENTATION
E08001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SHEMA 
 **PROGRAM TITLE: 
  SHARED-EMA CAPABILITY FOR RTE-IV
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    ARRAY           MEMORY
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS ANY NUMBER OF EMA PROGRAMS TO SHARE AS MUCH PHYSICAL
  MEMORY THAT IS ALLOWED IN ANY GIVEN CONFIGURATION.  THIS CAPABILITY USES
  STANDARD HP SUPPLIED SOFTWARE AND REQUIRES ONLY ONE SUBROUTINE CALL IN
  EACH PROGRAM BEFORE EMA SHARING CAN BE DONE.  THE SCHEME DEVELOPED FOR
  THIS CAPABILITY ALLOWS ANY PROGRAM TYPE TO PARTICIPATE AND DOES NOT MAKE
  USE OF ANY OTHER AREA OF MEMORY.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E08101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SMESS 
 **PROGRAM TITLE: 
  SYSTEM MESSAGE PROCESSOR
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TERMINAL        TEXT            MULTITERMINAL 
    MESSAGE 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  SMESS - ENABLES SYSTEM CONSOLE (OR INITIATOR) TO OUTPUT A MESSAGE 
          TO ALL TTY'S IN AN MTM ENIRONMENT.
          UP TO 10/80 CHARACTER MESSAGE LINES MAY BE SENT/TEXT-SEND 
          COMMAND. THE FIRST MESSAGE SENT ALSO INCLUDES THE GREGORIAN 
          DATE AND CURRENT TIME.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD SMESS AS FOREGROUND DISC RESIDENT -
  5 PAGES REQUIRED - (SIZE MAY BE REDUCED 
  BY REMOVING DATE AND TIME CODE AS IT BRINGS IN THE FORMATTER ETC.)
  :RU, LOADR, 99,,007,, 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SMESS FUNCTIONS ARE DETERMINED THROUGH 3 COMMANDS PRECEEDED BY A
  PROGRAM PROMPT(?):
  1. TEXT - READ UP TO 10 LINES OF MESSAGE FROM THE SYSTEM CONSOLE
            (OR INITIATOR). 
            (10 LINES OR A (??) AT THE START OF A LINE RETURNS PROMPT)
  2. SEND - OUTPUT THE MESSAGE TO ALL ONLINE TERMINALS. 
  3. END  - TERMINATE SMESS 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INVALID COMMANDS PASS CONTROL TO PROMPT CHARACTER (?) 
  
  
 **MISCELLANEOUS: 
  
  ONLY TYPE 'O' DEVICES ARE QUALIFIED AS OUTPUT. BIT'S 14 AND 15 OF EQT 
  WORD 5 ARE TESTED FOR DEVICE DOWN ONLY. USER MAY WISH TO PUT
  MORE RESTRICTIONS ON DEVICE AVAILABILITY. 
E08201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MESIO 
 **PROGRAM TITLE: 
  INTERACTIVE I/O SUBROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    CONVERSION      FORMATTING      TEXT
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    21MX
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THREE SUBROUTINES WHICH ALLOW THE USER TO PERFORM INTERACTIVE AND/0R
  BATCH I/O ALONG WITH ALPHA TO NUMERIC AND NUMERIC TO ALPHA CONVERSIONS. 
  
       MESIO - OUTPUTS MESSAGES AND ACCEPTS SINGLE OR MULTIPLE ENTRIES
       ACCORDING TO SEVERAL DIFFERENT STRUCTURES. DIRECT WRITES AND 
       READS ARE ALSO SUPPORTED FOR BATCH MODE. 
  
       ATON - INTERROGATES ANY ALPHA STRING AND RETURNS EITHER A REAL 
       OR INTEGER VALUE.
  
       NTOA - FORMATS EITHER REAL OR INTEGER NUMBERS INTO AN ALPHA
       STRING.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  :RU,TESTA,LU1,LU2 (LU1 = LOGICAL UNIT TO INPUT TEST DATA) 
                    (LU2 = LOGICAL UNIT OF TTY) 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E08301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CMPCT 
 **PROGRAM TITLE: 
  ABSOLUTE BINARY COMPACTOR 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    ABSOLUTE
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    21MX
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PACK ABSOLUTE BINARY CODE IN RECORDS OF UP TO 128 WORDS IN LENGTH.
  ARRANGE THE LOAD IN ASCENDING MEMORY LOCATION ORDER.
  PROVIDE A MEANS TO IDENTIFY UNDEFINED AREAS AND TO SELECTIVELY
  PRESET THESE AREAS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD BINARY OF CMLIB WITH CMPCT 
  
  
 **RUN INSTRUCTIONS:
  
  CALL SEQUENCE: RU, CMPCT, [LU] PROGRAM IS INTERACTIVE 
  
  PARAMETERS OR ARGUMENTS:
       LU THE LOGICAL UNIT OF THE INTERACTIVE DEVICE. 
       ENTER BINARY ABSOLUTE FILE NAME. 
       OUTPUT CAN BE TO A FILE MANAGER FILE OR A LOGICAL UNIT.
  
       DISPLAY UNDEFINED CELLS: 
       REPLY C/R OR YES FOR DISPLAY ON LU.
       REPLY WITH INTEGER GREATER THAN 3 FOR UNDEFINES LIST.
       REPLY NO OR XX FOR NO DISPLAY OF UNDEFINED CELLS.
  
       PRESET UNDEFINED:
       REPLY WITH STRING NUMBER TO PRESET THAT STRING.
       REPLY WITH 2 DECIMAL INTEGERS TO PRESET ALL UNDEFINED CELLS
       IN THAT RANGE. 
       REPLY ALL TO SET ALL UNDEFINED CELLS IN THE LOAD RANGE.
       IF A DISPLAY OF UNDEFINES WAS REQUESTED ON THE USER CONSOLE, 
       IT WILL BE REPEATED AFTER EACH PRESET REQUEST. 
       REPLY NL TO STOP LISTING ON THE CONSOLE. 
       REPLY NO OR GO TO END PRESET OPERATIONS AND GO TO OUTPUT.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE BINARY INPUT FILE IS EXAMINED AND A TABLE HAVING ONE BIT
  FOR EACH WORD FOUND IS CONSTRUCTED. THE BOUNDS AND NO. OF RECORDS 
  FOUND ARE OUTPUT. IF REQUESTED, THIS TABLE IS SEARCHED FOR UNDEFINED
  STRINGS AND A LIST OF THE UNDEFINED STRINGS IS OUTPUT ON THE SELECTED 
  LOGICAL UNIT. 
  FORMAT OF LISTING:
  STRING NUMBER, SIZE, DECIMAL AND BINARY BEGIN AND END.  FOLLOWING 
  COMPLETION OF THE PRESET, THE INPUT FILE IS RESCANNED, RETRIEVING N 
  PAGES OF DATA PER SCAN. 
  THE DATA IS THEN FORMED INTO BINARY ABSOLUTE RECORDS USING THE
  PREVIOUSLY CONSTRUCTED TABLE AS A GUIDE.
  THE VALUE OF N IN THIS VERSION IS SET TO FOUR (4096) BUT THE USER 
  CAN CHANGE N IF MORE OR LESS MEMORY IS AVAILABLE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  PROGRAM EXITS FOR:
  FILE MANAGER ERRORS 
  SOURCE FILE NOT A TYPE 7 FILE 
  ENTRY OF /E WILL ABORT PROGRAM
  
  
 **MISCELLANEOUS: 
  
  NO PRESET WILL BE PERFORMED ON THE BASE PAGE. 
  ORDER OF LOADING COMPACTED FILES MAY BE IMPORTANT IF ANY PRESETS
  WERE SPECIFIED. 
  IF PRESET IS NOT REQUESTED, OUTPUT RECORDS WILL NOT BE MERGED OVER
  UNDEFINED MEMORY LOCATIONS, IN GENERAL SHORTER OUTPUT RECORDS WILL
  PRODUCED. 
  
  THIS PROGRAM WAS PREPARED TO REDUCE LOADING TIME WITH TAPE CASSETTES
  AND INCREASE THEIR CAPACITIES.
E08401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  JKEYS 
 **PROGRAM TITLE: 
  DEFINE USER SOFT KEYS 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    TERMINAL        SOFTKEYS        DISPLAY 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE HP 264X TERMINAL USER TO INTERACTIVELY DEFINE 
  THE CONTENTS OF ALL SOFT KEYS AND STORE THE RESULTS IN A FILE. THE
  FILE CAN THEN BE DUMPED TO THE TERMINAL WITH A TWO LINE LEADER DESCRIB- 
  ING EACH SOFT KEY. THE PROGRAM IS COMPLETELY SELF-INSTRUCTIONAL AND 
  PERFORMS ALL NECESSARY ERROR CHECKING.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RUN JKEYS(,LU) WHERE LU IS THE TERMINAL FOR INTERACTION 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  /JKEYS: FILE ERROR = N
  /JKEYS: INVALED COMMAND 
  
  
 **MISCELLANEOUS: 
  
  
E08501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UCU 
 **PROGRAM TITLE: 
  USER CODE UTILITY 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    CODE            FILES           DIRECTORY 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS GROUP OF FIVE UTILITY PROGRAMS AID IN HOUSEKEEPING OF FILES STORED 
  IN FILE MANAGER FORMAT ON 7900, 7905, 7906, 7920 DISC FILES RUNNING 
  UNDER RTE. A TWO CHARACTER USER CODE CAN BE ATTACHED TO EACH FILE,
  THE FILE MANAGER DIRECTORY CAN BE SELECTIVELY LISTED, FILE NAMES
  HAVING COMMON UNCODES CAN BE COLLECTED OR DIRECTORY SORTED IN ORDER 
  OF FILE SIZE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  EACH PROGRAM IS AN INDEPENDENT UNIT AND IS LOADED VIA THE RTE SYSTEM
  LOADER. 
  
  
 **RUN INSTRUCTIONS:
  
  RU, UCODE, <LU> , <CARTLU> , <UCODE>
  
  LU - THE INTERACTIVE DEVICE LU DEFAULTS TO ONE. 
  
  CARTLU - THE CARTRIDGE NUMBER (POSITIVE), OR LOGICAL UNIT OF THE
           CARTRIDGE (NEGATIVE) HAS AN INTERNAL DEFAULT SET TO 9. 
  
  UCODE - THE UCODE CHARACTER PAIR TO BE ATTACHED TO THE FILES, 
          DEFAULTS TO AN INTERACTIVE REQUEST FOR A UCODE. 
  
  RU, ULIST,<LU> , <CR> , <UCODE> , <LISTLU> , <SKIP> 
  
  LU-INTERACTIVE CONSOLE, DEFAULTS TO 0G OR ONE.
  
  CR - CARTRIDGE NUMBER, DEFAULTS TO 9 INTERNALLY.
  
  UCODE - THE UCODE PAIR FOR SELECTED FILES, IF OMITTED, ALL TYPE 3,4,5 
          FILES ARE LISTED. 
  
  LISTLU - THE LU UPON WHICH THE LIST WILL BE WRITTEN. IF SIX 132 
            WIDE COLUMN FORMAT WILL BE USED, DEFAULTS TO LU.
  
  SKIP- IF PRESENT, THE NUMBER OF FILE NAMES TO BE SKIPPED BEFORE 
        TESTING BEGINS. 
  
                            ------------
  
  RU, ALIST,<LU> , <CR> , <UCODE> , <LISTLU> , <"S">
  
  PARAMETERS AS ABOVE EXCEPT "S", IF PRESENT, WILL CAUSE TYPE 5 FILES TO
  BE OMITTED. 
  
                                 ------------ 
  RU, BLIST,<LU> , <CR> , <LISTLU> PARAMETERS AS ABOVE. 
                                 ------------ 
  RU, UFILE, <LU> , <CR> , <UCODE> , <UFILE> , <SC> , <CR2> 
  LU     INTERACTIVE DEVICE FOR OPERATOR COMMUNICATION
  CR     CARTRIDGE NUMBER OF LU (NEGATIVE) WHICH IS TO BE SEARCHED
  UCODE  A 2 CHARACTER USER CODE WHICH DEFINES THE FILES
  UFILE  THE FILE ON WHICH THE LIST IS TO BE WRITTEN
  SC     SECURITY CODE OF THE CREATED FILE
  CR2    CARTRIDGE ON WHICH UFILE IS TO BE FOUND OR CREATED 
  CR2    DEFAULTS TO CR 
  SC     DEFAULTS TO NO SECURITY CODE 
  UFILE  DEFAULTS TO A FILE NAME UCFILE 
  UCODE  IF DEFAULTED WILL BE REQUESTED INTERACTIVELY 
  CR     DEFAULTS TO CARTRIDGE 9
  LU     DEFAULTS TO 1
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS GROUP OF FIVE (5) UTILITY PROGRAMS AID IN HOUSEKEEPING OF FILES
  STORED IN FILE MANAGER FORMAT ON 7900, 7905, 7906, 7920 DISC FILES
  RUNNING UNDER RTE. A 2 CHARACTER USER CODE CAN BE ATTACHED TO EACH FILE 
  (UCODE), THE FMGR DIRECTORY CAN BE SELECTIVELY LISTED (ULIST,ALIST),
  FILE NAMES HAVING COMMON UCODES CAN BE COLLECTED (UFILE) OR DIRECTORY 
  SORTED IN ORDER OF FILE SIZE (BLIST). 
  
  UCODE 
  IS AN INTERACTIVE 
  UCODE IS AN INTERACTIVE PROGRAM THAT ADDS A CHARACTER PAIR (UCODE) TO 
  A TYPE 3, 4, OR 5 FILE. THE UCODE IS STORED IN THE DIRECTORY IN THE 
  PLACE NORMALLY USED FOR RECORD SIZE IN TYPE 2 AND 6 FILES.
  
  ULIST IS A PROGRAM WHICH CAN SELECTIVELY LIST THE FILE NAMES IN THE 
  FILE DIRECTORY, WITH THEIR ASSOCIATED UCODES. 
  
  ALIST IS SIMILAR TO ULIST EXCEPT AN INCORE SORT IS PERFORMED BEFORE 
  LISTING.
  
  BLIST PROVIDES A DIRECTORY LIST OF THE FILE NAMES IN ORDER OF SIZE OF 
  EACH ENTRY IN BLOCKS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  TERMINAL READY
E08601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  COMMENT INSERTER FOR ASSEMBLER PROGRAMS 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    PAPER TAPE      EDITOR          ASSEMBLER 
    TEXT
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE       DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  5067 WITH EXTERNAL SUBPROGRAMS (442 WITHOUT)
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ASSISTS IN ADDING COMMENTS TO ASSEMBLY LANGUAGE
  SOURCE PROGRAMS.
  ONE RECORD OF THE SOURCE PROGRAM IS READ BY THE PHOTOREADER AND 
  PRINTED ON THE TELETYPE. THE TELETYPE IS THEN TABULATED TO COLUMN 
  21 OR THREE SPCES PAST THE LAST CHARACTER IN THE SOURCE PROGRAM 
  RECORD, WHICHEVER IS GREATER. THE USER NOW TYPES THE COMMENT TO BE
  ADDED, FOLLOWED BY A CARRIAGE RETURN AND LINE FEED (IF NO COMMENT 
  THEN TYPE SPACE, CARRIAGE RETURN, LINE FEED). THE ENTIRE RECORD WILL
  NOW BE PUNCHED. THE STEPS ABOVE WILL BE REPEATED FOR EACH RECORD OF 
  THE SOURCE PROGRAM. 
  TO TERMINATE WITH TRAILER, TYPE A SLASH: '/'. 
  USES DRIVERS D.00,D.01,D.02.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE THE SOURCE TAPE USING ALGOL COMPILER (CONTROL STATEMENT 
  CONTAINS "S" PARAMETER).
  LOAD COMPILED PROGRAM USING CONFIGURED BCS. OBSERVE THE FOLLOWING 
  LOAD-TIME ORDER 
       A. CONFIGURED BCS
       B. COMPILED PROGRAM
       C. RELOCATABLE LIBRARY (FORTRAN/ALGOL) 
  PLACE USERS ASSEMBLY LANGUAGE SOURCE PROGRAM INTO PHOTOREADER,
  TURN ON PUNCH, AND PRESS RUN. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  PROGRAM BEGINS BY PUNCHING LEADER. TO TERMINATE WITH TRAILER, TYPE
  SLASH "/".
E08701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  XREF
 **PROGRAM TITLE: 
  RTE CROSS-REFERENCE GENERATOR 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    ASSEMBLER       PAPER TAPE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  FROM AN ASSEMBLY LANGUAGE SOURCE PROGRAM, THIS PACKAGE PRODUCES AND 
  PRINTS AN ALPHABETIZED CROSS-REFERENCE LIST OF ALL SYMBOLS APPEARING
  IN THE PROGRAM. EACH SYMBOL IS FOLLOWED BY THE SEQUENCE NUMBER OF THE 
  STATEMENT IN WHICH IT IS DEFINED, AND BY THE SEQUENCE NUMBERS OF ALL
  STATEMENTS REFERRING TO THE SYMBOL. IF THE PROGRAM IS MORE THAN ONE 
  TAPE LONG, THE 4-DIGIT SEQUENCE NUMBER IS FOLLOWED BY A SLASH AND THE 
  NUMBER OF THE TAPE ON WHICH IT APPEARS. 
  
  THE CROSS-REFERENCE GENERATOR WILL OPERATE IN A MINIMUM RTE SYSTEM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE THE FOLLOWING PROGRAMS: 
  
     A. RTE CROSS-REFERENCE GENERATOR (XREF)
     B. IFMGR 
     C. X.REF 
  
  2. LOAD INTO DISC RESIDENT BG THE RELOCATABLE PROGRAMS IN THE FOLLOWING 
     ORDER: 
  
     A. RTE CROSS-REFERENCE GENERATOR (XREF)
     B. IFMGR 
     C. RTE LIBRARY 
     D. X.REF 
  
     NOTE: X.REF MUST BE LOADED LAST SINCE IT DEFINES THE CROSS-REFERENCE 
     TABLES IN THE UNUSED CORE. AFTER THE LIBRARY IS LOADED, THE LOADER 
     TYPES ARE: 
         /LOADER: UNDEFINED EXTS
         /LOADER: IDCB
         /LOADER: LTAB
         /LOADER: FWA1
     PLACE THE X.REF TAPE IN THE PHOTOREADER AND TYPE GO,LOADR. AFTER 
     THE TAPE IS LOADED, TERMINATE THE LOADING OPERATION WITH A GO, 
     LOADR, 1.
  
  
 **RUN INSTRUCTIONS:
  
     THE FORMAT FOR SCHEDULING THE CROSS-REFERENCE GENERATOR IS 
     ON, XREF, A,B,C,D,E, 
     WHERE: 
     A = LOGICAL UNIT OF INPUT DEVICE 
         IF 2, READ SOURCE FR0M LS TRACKS 
         DEFAULT=LOGICAL UNIT 5 
     B = LOGICAL UNIT OF LIST DEVICE - DEFAULT = 6
     C = LINESPPAGE ON LISTING - DEFAULT = 6
     D # 0 - IF USED, D MUST BE A LEGAL LOGICAL UNIT OF A KEYBOARD
         PRINTER DEVICE. THE DEVICE WILL BE USED TO REQUEST AND INPUT 
         THE FILE MANAGER SOURCE FILE NAME. 
     E = KEYBOARD INPUT LOGICAL UNIT - IF PRESENT TWO CHARACTERS ARE
         READ FROM THE KEYBOARD. THESE GIVE THE BOUNDS OF LABELS WHICH
         ARE TO BE CONSIDERED. ALL OTHERS ARE IGNORED. FOR EXAMPLE, IF: 
  
         M IS TYPED, ONLY SYMBOLS WHOSE FIRST LETTER IS BETWEEN "." 
         AND "M" ARE CONSIDERED IN THE CROSS-REFERENCE TABLE. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THE FILE MANAGER PACKAGE IS NOT USED, DUMMY ROUTINES MAY BE
  SUPPLIED TO SATISFY THE EXTERNALS OPEN, READF, CLOSE AND IFMGR OR 
  THIS SECTIONS MAY BE EDITED OUT OF THE XREF SOURCE. 
E08801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RTE DEBUG WITH TRACE
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    DEBUG 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS RTE DEBUGGING ROUTINE PROVIDES THE FOLLOWING PROGRAMMING AIDS: 
  
  1. PRINT (DUMP ON LIST DEVICE) SELECTED AREAS OF MEMORY IN OCTAL OR 
     ASCII FORMAT.
  2. TRACE (ON LIST DEVICE) PORTIONS OF THE PROGRAM DURING EXECUTION. 
  3. MODIFY THE CONTENTS OF SELECTED AREAS IN MEMORY. 
  4. MODIFY SIMULATED COMPUTER REGISTERS. 
  5. INSTRUCTION AND OPERAND BREAK POINTS.
  6. INITIATE EXECUTION AT ANY POINT IN PROGRAM.
  7. DEBUGGING ROUTINE RESTART. 
  8. SPECIFYING RELOCATABLE PROGRAM BASE. 
  9. TERMINATING PROGRAM BEING DEBUGGED.
  
  THE ROUTINE IS IDENTICAL IN OPERATION TO THE STANDARD HP BCS DEBUG
  ROUTINE. SEE A POCKET GUIDE TO HP COMPUTERS, 5950-8313. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. EDIT LINE 74 TO REFLECT THE PROPER SPARE BASE PAGE LINK AS 
     OUTLINED UNDER MISCELLANEOUS.
  
  2. ASSEMBLE THE SOURCE TAPE AND SAVE THE RELOCATABLE OBJECT EITHER ON 
     PAPER TAPE OR AS AN RTE FILE MANAGER FILE. 
  
  3. LOAD THE PROGRAM TO BE DEBUGGED IN THE NORMAL BACKGROUND MANNER AND
     INCLUDE RTE DEBUG AS THE LAST PROGRAM BEFORE THE LIBRARY.
  
  
 **RUN INSTRUCTIONS:
  
  FOLLOW THE DIRECTIONS FOR BCS DEBUG AS OUTLINED IN A POCKET GUIDE 
  TO HP COMPUTERS, 5950-8313. 
  
  TO TERMINATE THE BACKGROUND OPERATION TYPE "E," AS AN OPERATOR COMMAND. 
  NOTE: SWITCH REGISTER BIT 15 WILL CAUSE A BREAKPOINT. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1. THE EFFECTIVE (FINAL) OPERAND ADDRESS IS STORED IN WORD -MEMRY-. 
     THIS WORD MUST BE IN BASE PAGE TO ALLOW DEBUG TO BE RELOCATABLE. 
     THEREFORE, ONE BASE PAGE WORD MUST BE RESERVED AT RTGEN TIME. THIS 
     MAY BE ACCOMPLISHED BY SETTING FWA BP LINKAGE TO ONE PLUS THE
     FIRST AVAILABLE SELECT CODE NUMBER AFTER THE LAST I/O CARD AND 
     EQU MEMRY TO THE SPARE BASE PAGE WORD. 
  
  2. THE DUMP AND TRACE FUNCTIONS ARE DIRECTED TO THE LIST LOGICAL UNIT.
     BOTH INPUT/OUTPUT AND LIST LOGICAL UNITS ARE DEFAULTED TO LOGICAL
     UNIT 1. THESE MAY BE CHANGED BY SUPPLYING THEM AS PARAMETERS IN THE
     "ON" REQUEST. PARAMETER ONE IS THE INPUT/OUTPUT DEVICE AND PARAMETER 
     TWO IS THE LIST DEVICE.
  
  3. ALL CALLS TO EXEC ARE TRAPPED, TRANSFERRED TO DEBUG, AND THEN MADE 
     DIRECTLY FROM DEBUG. THIS AVOIDS MEMORY PROTECT VIOLATIONS, HOWEVER, 
     SINCE THE EXEC CALLS ARE INITIATED BY DEBUG, ANY DEBUG OPERATIONS, 
     SUCH AS BREAKPOINT AND TRACE, WILL AUTOMATICALLY BYPASS THE EXEC 
     REQUEST LOCATIONS IN THE PROGRAM BEING DEBUGGED. 
  
  4. ANY REFERENCES TO REAL TIME RESIDENT LIBRARY ROUTINES WILL CAUSE A 
     MEMORY PROTECT VIOLATION UNLESS THESE ROUTINES ARE TRAPPED IN A
     SIMILAR MANNER AS THE EXEC REQUEST CALLS ARE.
E08901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EDIT
 **PROGRAM TITLE: 
  RTE CONVERSATIONAL SUPER EDITOR 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    EDITOR
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  6.9K OF BACKGROUND
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'EDIT' IS AN RTE CONVERSATIONAL EDITOR.  THE EDIT COMMANDS MAY BE 
  ENTERED IN NON-SEQUENTIAL ORDER FROM ANY LOGICAL UNIT DEVICE, LS TRACKS 
  OR A FILE MANAGER PACKAGE (FMP) FILE. 
  
  THE SOURCE TO BE EDITED MAY BE APPENDED FROM ANY INPUT LOGICAL UNIT, LS 
  TRACKS OR AN FMP FILE.
  
  SOURCES OR PORTIONS MAY BE MERGED WITH THE SOURCE BEING EDITED.  LINES
  MAY BE DELETED, INSERTED, MOVED OR REPLACED IN ANY ORDER IN THE EDIT
  FILE. 
  
  CHARACTER STRINGS MAY BE EDITED WITHIN A SINGLE LINE, A GROUP OF LINES
  OR WITHIN THE ENTIRE SOURCE.
  
  THE EDITED FILE OR ANY PORTION OF IT MAY BE LISTED WITH LINE NUMBERS
  ON ANY LOGICAL UNIT OR FMP FILE.
  
  THE EDITED FILE OR ANY PORTION OF IT MAY BE OUTPUTTED TO ANY LOGICAL
  UNIT, LS TRACKS OR FMP FILE.
  
  THE LS TRACK(S) ASSIGNMENT IS MADE BY THE EDITOR ON OUTPUT AND LS 
  TRACK(S) ARE RELEASED ON INPUT. 
  
  THIS EDIT REQUIRES 6.9K OF BACKGROUND AND THE RTE FILE MANAGER SOFTWARE 
  PACKAGE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  RTE EDITOR HAS TWO LINES WHICH MAY HAVE TO BE CONFIGURED IF THE SYSTEM
  CONTAINS I/O PERIPHERALS IN ADDITION TO THE STANDARD LOGICAL UNITS IN 
  THE SYSTEM.  IF THE SYSTEM CONTAINS KEYBOARD LOGICAL UNITS OTHER THAN 
  1, THEN EDIT THIS LINE TO INCLUDE THE LOGICAL UNITS.  TERMINATE THE LIST
  WITH A ZERO.  FOR EXAMPLE:  IF THE SYSTEM HAS A LOGICAL UNIT 7 WHICH IS 
  A CRT/KYBD AND AN EXTRA TTY AT LOGICAL UNIT 11, THEN LINE 702 WOULD BE
  DEC 1, 7, 11, 0.
  
  LIKEWISE, LINE #711 CONTAINS A LIST OF ALL LEGAL OUTPUT LOGICAL UNITS 
  IN THE SYSTEM.  IN THE ABOVE EXAMPLE, LINE #711 WOULD BE CHANGED TO 
  LEGAL DEC 1, 2, 4, 6, 7, 11, 0. 
  
  ASSEMBLE THE MAIN RTE EDITOR PROGRAM AND ITS SUPPORTING SUBROUTINES.
  NOTE:  SUBROUTINE NUM IS A FORTRAN PROGRAM. 
  
  USING THE LOADER, REPLACE THE OLD EDITOR WITH THE NEW EDITOR. 
  NOTE:  IT IS RECOMMENDED THAT THE EDITOR ALWAYS BE ADDED TO THE SYSTEM
  AFTER THE RTGEN TO PREVENT ITS SUBROUTINES FROM BECOMING PART OF THE
  LIBRARY UNLESS, OF COURSE, YOU WANT THE SUBROUTINES IN THE LIBRARY OR 
  DON'T CARE IF THEY ARE. 
  
  A TYPE 2, 44 WORD/RECORD FMP FILE, NAMED EDITOR WITH A SECURITY CODE OF 
  0 IS REQUIRED FOR THE EDIT WORK FILE.  THIS FILE SHOULD BE LARGE ENOUGH 
  TO HANDLE THE LARGEST EXPECTED EDIT JOB.  AS A RULE OF THUMB, A 600 
  BLOCK FILE WILL HANDLE A SOURCE OF APPROXIMATELY 1200 LINES.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  LINE #739 OF RTE EDITOR IS THE LISTS DEVICE MAXIMUM WORD LENGTH AND IS
  SET TO 36 (72 CHARACTERS).  THIS LENGTH MAY BE CHANGED TO SUIT OTHER
  LIST DEVICES OF DIFFERENT CHARACTER PER LINE LENGTH.
  
  SPECIAL DEVICES MAY BE HANDLED AS EDITOR INPUT/OUTPUT DEVICES BY
  CREATING TYPE ZERO FMP FILES FOR THESE DEVICES. 
E09001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RTMDE 
 **PROGRAM TITLE: 
  RTE MICRO DEBUG EDITOR
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    EDITOR          DEBUG           MICROCODE 
    PROM
  
 **LANGUAGES: 
    ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  'RTMDE' FACILITATES LOADING AND DEBUGGING A USERS WRITABLE CONTROL
  STORE (WCS) MICRO PROGRAM IN A REAL TIME EXECUTIVE (RTE) OPERATING
  SYSTEM. SPECIFICALLY IT ALLOWS A USER TO LOAD OR READ WCS; EXECUTE A
  MICROCODE PROGRAM WITH BREAKPOINTS THAT WILL DISPLAY THE FIRMWARE 
  REGISTERS; AND GENERATE MASK TAPES THAT ARE USED TO PROGRAM PROM CHIPS. 
  
  RTMDE INCORPORATES ALL OF THE FEATURES OF THE DOS MICRO-DEBUG-EDITOR. 
  A MINIMUM RTE CONFIGURATION WITH ONE OR MORE WCS MODULES ARE THE
  HARDWARE REQUIREMENTS.
       LITERATURE REFERENCE 
  RTE PROGRAMMING AND OPERATING MANUAL HP 02005-90001 
  MICROPROGRAMMING GUIDE HP 5951-3028 
  MICROPROGRAMMING SOFTWARE HP 02100-90133
  DOS MICROPROGRAMMING  SOFTWARE HP 02100-90146 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE RTMDE AND SUBROUTINE IFMGR. 
  2. SAVE RELOCATABLE CODE ON A FMP FILE OR TAPE. 
  3. LOAD RTMDE, IFMGR AND OPTIONALLY A TEST* PROGRAM INTO BACKGROUND.
  
     *TEST - INITIALIZATION PROGRAM AS DESCRIBED IN THE DOS MICRO-
     PROGRAMMING MANUAL (HP #02100-90146) SECTION 9.
  
  
 **RUN INSTRUCTIONS:
  
  TO SCHEDULE RTMDE 
  *ON, RTMDE, A 
  
  WHERE A = LOGICAL UNIT NUMBER OF KYBD/DISPLAY DEVICE FOR OPERATOR 
  COMMUNICATION WITH THE MICRO-DEBUG-EDITOR. DEFAULT FOR A = 1, SYSTEM
  CONSOLE.
  FOLLOW THE INSTRUCTIONS LISTED IN THE DOS MICROPROGRAMMING MANUAL.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  AS LISTED SECTION 9 OF THE HP DOS MICROPROGRAMMING MANUAL.
  
  
 **MISCELLANEOUS: 
  
       SPECIAL CONSIDERATIONS 
  ALL BETS ARE OFF OF MAINTAINING THE RTE OPERATING SYSTEM DURING MICRO 
  CODE DEBUGGING SO APPROPRIATE WARNINGS SHOULD BE GIVEN TO OTHER USERS.
  THE GREATEST DANGER LIES IN MICROCODE MODIFYING THE RESIDENT OR HANGING 
  IN A LOOP. IF THE PROGRAMMER USES BREAKPOINTS AND ABORTS MICRO-CODE 
  EXECUTION BEFORE THE ABOVE OCCURS, SYSTEM INTEGRITY CAN BE MAINTAINED.
  
  RTMDE SETS THE WCS MODULE "IN USE" FLAG PRIOR TO THE 1ST WCS LOAD 
  COMMAND AND THEN DOES NOT RELEASE (CLEAR) THE FLAG UNTIL THE TERMINATE
  COMMAND. DURING THIS PERIOD THE MODULE IS NOT AVAILABLE FOR USE FOR 
  OTHER FOREGROUND OR BACKGROUND PROGRAMS. (SEE DVR33 DOCUMENTATION FOR 
  EXPLANATION AND GROUNDRULES OF THE "IN USE" FLAG).
E09101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RAPG
 **PROGRAM TITLE: 
  RTE ACTIVITY PROFILE GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    STATUS          PERFORMANCE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  'RAPG' ACCUMULATES A SPECTRUM FROM THE P-REGISTER TO PROVIDE AN 
  ACTIVITY PROFILE FOR PROGRAM TIMING ANALYSIS. THE ANALYSIS WILL 
  INDICATE WHAT AREAS CAN BE MICROCODED OR RECORDED TO IMPROVE EXECUTION
  TIME. 
  
  THE CORE REGION OF INTEREST IS PARAMETER DEFINED WHEN 'RAPG' IS INVOKED.
  THE CORE AREA IS BROKEN UP INTO 50 CELLS PLUS 1 CELL ABOVE AND BELOW THE
  DEFINED AREA. CELLS ARE MAINTAINED IN COMMON SO THAT THEY MAY BE
  ACCESSED BY AN ANALYSIS PROGRAM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE SUBROUTINE RAPG AND SAVE RELOCATABLE. 
  
  2. ADD THE FOLLOWING CALLS TO THE PROGRAM THAT IS TO BE ANALYZED. 
     A. CALL MAPON (IFIRST,LAST)
               OR 
        JSB MAPON 
        DEF *+3 
        DEF IFIRST
        DEF LAST
  
     WHERE: IFIRST = OCTAL ADDRESS OF 1ST CORE LOCATION OF INTEREST.
              LAST = OCTAL ADDRESS OF LAST CORE LOCATION OF INTEREST. 
  
     B. CALL MAPOF
               OR 
        JSB MAPOF 
        DEF *+1 
  
     THE MAPON CALL MUST BE ADDED BEFORE THE 1ST. STATEMENT TO BE 
     ANALYZED.
     THE MAPOF CALL MUST BE ADDED BEFORE THE 1ST. STATEMENT TO BE 
     ANALYZED AND BEFORE PROGRAM TERMINATION. 
  
  3. LOAD THE PROGRAM TO BE ANALYZED WITH SUBROUTINE RAPG INTO
     BACKGROUND AND SCHEDULE THE PROGRAM FOR EXECUTION. 
  
  4. WHEN THE PROGRAM TERMINATES, PROGRAM ACP OR A USER WRITTEN PROGRAM 
     MAY BE EXECUTED TO OBTAIN THE ANALYSIS.
  5. SEE RAPG LISTING FOR DESCRIPTION OF THE COMMON CELLS.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  INSTRUCTIONS FOR TEST CASE: 
  
  1. LOAD PROGRAM MAPTT AND RAPG SUBROUTINE INTO BACKGROUND AND SAVE
     THE CORE LOAD MAP. 
  
  2. LOAD PROGRAM ACP INTO BACKGROUND.
  
  3. SCHEDULE MAPTT BY ON,MAPTT AND THEN SCHEDULE ACP. NOTE THE PROFILE 
     LISTED  BY ACP.
  
  4. TO "ZOOM" IN ON THE ROUTINES REQUIRING THE MOST EXECUTION TIME 
     SCHEDULE MAPTT BY UN,MAPTT,A,B WHERE A AND B ARE THE BOUNDARY
     ADDRESSES OF THE AREA OF INTEREST. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  1. RAPG IS INTENDED TO RUN IN BACKGROUND, THEREFORE AREAS BELOW THE 
     1ST. WORD OF AVAILABLE BACKGROUND AREA ARE NOT INCLUDED IN THE 
     MAP. TO CHANGE THIS LOWER BOUND, THE BKDRA EQUATE STATEMENT MAY BE 
     CHANGED TO POINT TO ANOTHER AREA OF CORE.
  
  2. RAPG REQUIRES ONE BASE PAGE LINK. THIS BASE PAGE LINK CAN EITHER BE
     ESTABLISHED AS A SPARE AT RTGEN TIME OR AN UNUSED I/O TRAP CELL. 
  
  3. BEFORE ASSEMBLING RAPG, EDIT LINES 57 AND 58 TO POINT TO THE TBG 
     AND SPARE BASE PAGE LINK RESPECTIVELY. 
  
  4. RAPG OVERLAYS CODING IN THE RTIOC MODULE IN ORDER TO TRAP THE TBG
     INTERRUPTS. A CALL TO MAPOF MUST BE MADE TO RESTORE THE ORIGINAL 
     CODE AND SPARE BASE LINK BEFORE TERMINATION. IF FOR ANY REASON THE 
     PROGRAM IS ABORTED BEFORE MAPOF IS CALLED, THE SYSTEM WILL HAVE TO 
     BE REBOOTED. 
  
  5. IT MAY BE NECESSARY TO LOOP THE PROGRAM IN THE AREA OF INTEREST
     SEVERAL TIMES IN ORDER TO BUILD UP THE PROFILE.
E09201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RENUM 
 **PROGRAM TITLE: 
  RENUM: RESEQUENCES FORTRAN SOURCE 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    EDITOR
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  MINIMUM OF 8K USER PROGRAM AREA 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL RE-SEQUENCE THE STATEMENT NUMBERS OF A FORTRAN
  SOURCE PROGRAM. UP TO 200 STATEMENT NUMBERS ARE ALLOWED. THE OPERATOR 
  SPECIFIES THE BEGINNING ST # AND INCREMENT VALUE, INPUT AND OUTPUT
  DEVICES OR FILE NAMES. THE PROGRAM DOES NOT SEARCH CONTINUATION LINES 
  OR COMMENT LINES. DURING EXECUTION, A LINE BY LINE LISTING IS PROVIDED
  SHOWING THE ORIGINAL LINE AND THE NEW LINE. THE ORIGINAL SOURCE IS LEFT 
  INTACT AND A NEW SOURCE IS GENERATED. UPON COMPLETION, THE TABLE OF 
  OLD #'S AND NEW #'S IS LISTED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. COMPILE SOURCE RENUM.
  
  2. ASSEMBLE SOURCE $UNPK. 
  
  3. IF THE HOST SYSTEM IS NON-RTE II, ASSEMBLE SOURCE $CNUMD.
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN THE PROGRAM;*ON,RENUM. THE PROGRAM IS CONVERSATIONAL (SEE
  EXAMPLE RUN PROCEDURE). 
  
  IF THE LOGICAL UNIT FOR INPUT IS THE DISC (LU = 2), THE FILE NAME WILL
  BE REQUESTED. 
  
  IF THE OUTPUT IS ALSO TO THE DISC, THE FILE NAME REQUESTED BY THE 
  PROGRAM WILL BE CREATED.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1. ALL I/O CHECKS WITH REFERENCE TO LU ASSIGNMENTS ARE SYSTEM 
     DEPENDENT, I.E., WRITES TO AN INPUT DEVICE.
  
  2. LOGICAL UNIT #1 = TTY. 
  
  3. CONTINUATION LINES THAT ARE CREATED BY THE PROGRAM ARE NOT 
     NECESSARILY CORRECT AND MAY REQUIRE AN EDIT. 
  
     THIS IS SHOWN IN THE EXAMPLE I/O RUN PROCEDURE. AN EXAMPLE OF A
     CREATED CONTINUATION LINE IS SHOWN IN THE EXAMPLE RUN PROCEDURE OF 
     THE TEST SOURCE. 
  
  4. THE PROGRAM SEARCHES FOR THE FIRST VALID END STATEMENT, NOT AN END$. 
     HOWEVER, AN END$ IS INSERTED IN THE NEW SOURCE FOLLOWING THE END 
     STATEMENT IN ALL CASES.
E09301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BREF
 **PROGRAM TITLE: 
  CROSS REFERENCE TABLE GENERATOR FOR HP 92101A 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    BASIC           COMPILER        PAPER TAPE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  4300B WORDS WITH SUBROUTINES
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  (BREF) IS A CROSS-REFERENCE TABLE GENERATOR FOR HP 92101A MULTIUSER 
  REAL TIME BASIC. IT WILL ACCEPT A FILE MANAGER SOURCE FILE FOR INPUT
  AND PRODUCE A FORMATTED LISTING OF ALL VARIABLES USED IN THE SOURCE 
  PROGRAM.
  THE LISTING IS DIVIDED INTO FOUR PARTS: 
  1. 1 CHARACTER SIMPLE VARIABLES.
  2. STRING VARIABLES.
  3. ARRAY VARIABLES. 
  4. 2 CHARACTER SIMPLE VARIABLES.
  WITHIN EACH PART, THE LIST OF THE VARIABLES IS ALPHABETICAL, AND THE
  LIST OF THE LINE NUMBERS WHICH FOLLOWS EACH VARIABLE IS ARRANGED
  NUMERICALLY. THE ALGORITHM USED BY (BREF) SHOULD REMAIN COMPATIBLE
  WITH FUTURE REVISIONS OF RTE-II BASIC.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  PLACE THE TAPE CONTAINING "BREF" SOURCE AND THE SUBROUTINE "NAMR" IN
  THE TAPE READER. ISSUE THE FOLLOWING FILE MANAGER COMMANDS: 
  
  :MS,5               MOVE THE "BREF" SOURCE INTO THE LS AREA 
  :LG,3               ASSIGN LOAD AND GO TRACKS 
  :RU,ASMB,2,99       ASSEMBLE BREF INTO RELOCATABLE IN LG
  :MR,5               MOVE "NAMR" INTO LOAD AND GO AREA 
  :RU,LOADR,99,,9     LOAD "BREF" PERMANENTLY INTO THE SYSTEM 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  1. SCHEDULE BREF WITH THE FOLLOWING COMMAND:
  
     ON,BREF,<TTY>,<LIST> 
  
     WHERE: <TTY> IS THE MTM LU OF A TERMINAL TO WHICH REQUESTS AND 
                  ERRORS WILL BE DIRECTED. DEFAULT IS LU #1 OR THE
                  MTM TERMINAL WHICH ISSUED THE "ON" COMMAND. 
           <LIST> IS THE LU OF THE LIST DEVICE ON WHICH THE XREF IS 
                  TO BE PRINTED. DEFAULT IS LU #6.
  
  2. BREF RESPONDS: /BREF: FILENAME?
     REPLY WITH THE FILENAME:SECURITY CODE:CRNUMBER OF THE FILE TO
     BE USED FOR SOURCE INPUT. IT IS STRONGLY RECOMMENDED THAT THIS FILE
     WAS CREATED WITH THE BASIC "SAVE" COMMAND TO INSURE PROPER SYNTAX. 
     IF A CROSS-REFERENCE IS NOT DESIRED, ENTER CNTL-D. 
  
  3. BREF WILL THEN OPEN THE FILE. IF A FMGR ERROR OCCURS, BREF WILL
     PRINT: /BREF: FILE MANAGER ERROR - XX
            /BREF: BREF ABORTED 
  
  4. BREF WILL THEN GENERATE A SYMBOL TABLE, AND WHEN ALL SOURCE HAS
     BEEN PROCESSED, IT WILL PRINT THE CROSS-REFERENCE LISTING. 
  
  5. IF A VARIABLE IS ONLY USED ONCE IN A PROGRAM (THEREBY MAKING IT A
     CONSTANT, AND SOMEWHAT USELESS...), BREF WILL FLAG IT IN THE 
     LISTING BY PLACING A COMMERCIAL AT SIGN (@) NEXT TO THE VARIABLE 
     NAME.
  
  6. POSSIBLE ERROR MESSAGES: MEANING:
  
     /BREF: $END <******>        PROGRAM ****** XREF DONE 
     /BREF: LINE SYNTAX ERROR    LINE DOESN'T BEGIN WITH A NUMBER. BREF 
                                 PRINTS THE OFFENDING LINE. 
     /BREF: BREF ABORTED         AN IRRECOVERABLE ERROR HAS OCCURRED
     /BREF: TABLE OVERFLOW       NOT ENOUGH MEMORY TO HOLD ALL SYMBOLS
     /BREF: NO SYMBOLS           THE PROGRAM HAD NO VARIABLE REFERENCES 
  
  7. TO VERIFY PROPER OPERATION, RUN BREF TO PRODUCE A CROSS REFERENCE
     LISTING OF ANY PROGRAM THAT IS HANDY. THEN, MANUALLY CHECK THE 
     VARIABLE USAGE IN THE PROGRAM AGAINST THE LISTING. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  BREF AND SUBROUTINES FROM THE RELOCATABLE LIBRARY USE APPROXIMATELY 
  4300B WORDS. BREF USES ALL OF CORE EXCLUSIVE OF ITSELF FOR BUILDING 
  THE SYMBOL TABLES. THE MORE BACKGROUND CORE THAT IS AVAILABLE, THE
  LARGER A SYMBOL TABLE CAN BE PROCESSED. 
E09401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  APG 
 **PROGRAM TITLE: 
  RTE 2/3/4 ACTIVITY PROFILE GENERATOR FOR HP 1000 M-,E-, AND F-SERIES
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    PERFORMANCE     STATUS
  
  
 **LANGUAGES: 
    FTN4        ASMB        MICROASMB 
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PACKAGE ANALYZES ACTIVITY IN ONE OR MORE APPLICATION 
  PROGRAMS. ON A BASIS OF THIS ACTIVITY, THE APPLICATIONS MAY BE
  OPTIMIZED BY RECORDING OR MICROCODING.
  THE PROGRAMS BEING ANALYZED NEED NOT BE MODIFIED FOR PURPOSES OF THE
  ANALYSIS. 
  THE RTE SYSTEM MUST HAVE DVR36(13197-16001) AND A LU FOR THE WCS CARD.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE AND LOAD ALL PROGRAMS SEPARATELY. NOTE THAT APGI REQUIRES A 
  RELOCATABLE COPY OF WLOAD (13197-16003) BE LOADED WITH IT. THE RTE
  SYSTEM MUST HAVE DVR36 (13197-16001), AND A LOGICAL UNIT MUST BE
  ALLOCATED FOR THE WCS CARD. BE SURE TO READ THE COMMENTS IN &APG2 
  (OR APG34). NOT ALL PROGRAMS ARE REQUIRED FOR A PARTICULAR SYSTEM.
  IF THE SYSTEM IS RTE 2, USE &APG2 (OMIT &APG3). IF THE SYSTEM IS
  RTE 3 OR 4, USE &APG34 (OMIT &APG2). IF RUNNING ON A 21MX M-SERIES, 
  USE &APGM (OMIT &APGME). IF RUNNING ON A 21MX E-SERIES, USE &APGME
  (OMIT &APGM). MICROASSEMBLE &APGM (21MX M-SERIES ONLY), OR &APGME 
  (21MX E-SERIES ONLY). 
  
  
 **RUN INSTRUCTIONS:
  
  TO START THE ACTIVITY PROFILE GENERATION, RUN APGI. APGI WILL 
  ACCEPT PARAMETERS AS PART OF THE RU DIRECTIVE; IF THE PARAMETERS
  ARE OMITTED, APGI WILL REQUEST THE REQUIRED PARAMETERS. USERS MAY 
  USE APG TO ANALYZE WHERE THEIR APPLICATION PROGRAMS ARE BUSIEST;
  SYSTEM OPTIMIZATION, INCLUDING MICROCODING "TOO SLOW" SUBROUTINES,
  MAY THEN BE PERFORMED USING THE ACTIVITY INFORMATION. NEVER OF THE
  ACTIVITY PROFILE GENERATOR (APG). APG MAY ALWAYS BE ABORTED USING 
  THE BR DIRECTIVE, E.G., *BR,APG. APGI AND APGL MAY BE OF'D. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS CONTRIBUTED PROGRAM PACKAGE CONTAINS SEVERAL PROGRAMS WHICH
  CAN BE USED TO GENERATE ACTIVITY PROFILES.
  
       APGI - FTN4 INITIALIZATION PROGRAM 
       APG2 - ASMB PROFILE GENERATION PROGRAM - RTE 2 ONLY
      APG34 - ASMB PROFILE GENERATION PROGRAM - RTE 3 OR 4
       APGM - MICROPROGRAM FOR USE ON 21MX M-SERIES ONLY
      APGME - MICROPROGRAM FOR USE ON 21MX E-SERIES ONLY
       APGL - FTN4 COMPLETION PROGRAM 
       TRIG - FTN4 TEST PROGRAM 
      SINES - FTN4 TEST PROGRAM 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E09501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  OVER
 **PROGRAM TITLE: 
  OVER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    DRIVER          ABSOLUTE        MEMORY
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2116
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  THE PROGRAM REQUIRES 5K OF MEMORY.
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE RTE-II/III USER TO INPUT ABSOLUTE RECORDS 
  FROM ANY DEVICE INTO CORRESPONDING MEMORY. THE PROGRAM IS COMPLETELY
  CONVERSATIONAL AND IS PRIMARILY DESIGNED FOR ON-LINE DRIVER 
  DEVELOPMENT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RU,OVER(,LUTTY(,LUINP(,LULST))) WHERE:
  LUTTY - CONSOLE LUN FOR NORMAL AND ERROR I/O
  LUINP - INPUT LUN FOR ABSOLUTE RECORD(S)
  LULST - LIST LUN FOR ECHO PRINTOUT(S) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E09601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LOG 
 **PROGRAM TITLE: 
  RTE VIRTUAL TIMER SUBSYSTEM 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    TIME            PERFORMANCE 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    RTE-I     RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE RTE VIRTUAL TIMER SUBSYSTEM IMPLEMENTS A VIRTUAL TIMING SCHEME
  FOR RTE SYSTEMS. A VIRTUAL TIMER IS AN ELAPSED TIMER THAT MEASURES
  CPU TIME USED BY A PARTICULAR PROGRAM, INDEPENDENT OF THE CPU TIME
  USED BY OTHER PROGRAMS IN A MULTIPROGRAMMING ENVIRONMENT, IT ATTEMPTS 
  TO TIME THE CPU USAGE OF A PROGRAM AS IT WOULD BE IN A SINGLE-USER
  NON-MULTIPROGRAMMED SYSTEM. 
  
  THE SUBSYSTEM CONSISTS OF A DRIVER THAT MAINTAINS TIMERS FOR UP TO
  20 PROGRAMS, AND AN OPERATOR INTERFACE USED TO MONITOR THE OPERATION
  AND STATUS OF THE SUBSYSTEM. ANY USER PROGRAM CAN MAKE CALLS TO THE 
  DRIVER TO DETERMINE THE AMOUNT OF CPU TIME USED BY THE CALLER. IN 
  ADDITION, INFORMATION ON SYSTEM IDLE TIME IS KEPT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD THE THREE PROGRAMS INTO SOURCE FILES USING THE FMGR. 
  ASSEMBLE THE DRIVER WITH "Z" FOR RTE-III OR "N" FOR RTE-I/II. 
  THE DRIVER MUST BE LOADED AT GENERATION TIME, SO YOU WILL HAVE
  TO RE-GENERATE YOUR SYSTEM. SEE THE COMMENTS IN THE DRIVER PROGRAM
  FOR GENERATION PARTICULARS. COMPILE THE LOG PROGRAM AND ASSEMBLE
  THE SUPPORT SUBROUTINES AND LOAD THE PAIR ON-LINE WITH THE LOADR
  (BACKGROUND). 
  
  
 **RUN INSTRUCTIONS:
  
  COMPLETE INFORMATION IN OPERATING THE DRIVER (I.E. LEGAL CALLS) AND 
  THE USER INTERFACE CAN BE FOUND IN THE ASSOCIATED SOURCE LISTINGS.
  
  BASICALLY, PROGRAM COMMUNICATION WITH THE VIRTUAL TIMING SUBSYSTEM
  IS BY MEANS OF EXEC CALLS DIRECTED TO THE LU ASSOCIATED WITH THE
  VIRTUAL DRIVER. ALL POSSIBLE CALLS ARE COVERED THOROUGHLY IN THE
  DRIVER LISTING. 
  
  NOTE THAT THE VIRTUAL TIMING SUBSYSTEM MUST BE ENABLED BEFORE USING.
  IT IS RECOMMENDED THAT YOU PLACE A ":RU,LOG,FI,LE" IN YOUR "WELCOM" 
  FILE. "FILE" SHOULD CONTAIN COMMANDS TO ENABLE TIMING AND OPTIONALLY
  SET ANY TIMERS YOU MIGHT WANT. I SET UP TIMERS FOR FMGR, EDITR, 
  AND OTHER "SYSTEM" TYPE PROGRAMS SO I CAN SEE WHERE MY CPU TIME IS
  GOING.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  AS A TEST, SET UP A VIRTUAL TIMER FOR ANY PROGRAM WITH THE "LOG"
  USER INTERFACE. THEN RUN THE PROGRAM. RUN "LOG" AGAIN AND DISPLAY THE 
  CPU TIME USED BY THAT PROGRAM TO VERIFY THAT THE VIRTUAL DRIVER 
  ACTUALLY RECORDED THE PROGRAM'S TIME PROPERLY. REMEMBER THAT YOU MUST 
  ENABLE THE VIRTUAL TIMING SUBSYSTEM BEFORE YOU CAN SET THE TIMER FOR
  THE PROGRAM (SEE THE LISTING OF "LOG" TO SEE HOW TO ENABLE THE
  SUBSYSTEM). 
  
  INSTRUMENTING PROGRAMS FOR TIMING TAKES THE FOLLOWING FORM: 
  
       .
       .
       .
  CALL EXEC(1,VLU,NAME,5) 
       .
       .
  <PART TO BE TIMED>
       .
       .
  CALL EXEC(1,VLU,NAME2,5)
  
  WHERE VLU IS THE LU ASSOCIATED WITH THE VIRTUAL DIVER, NAME AND NAME2 
  ARE TWO 5 WORD BUFFERS SPECIFYING THE PROGRAM NAME AND A PLACE TO PUT 
  THE CONTENTS OF THE PROGRAM'S TIMER. THE TWO TIMES WOULD THEN BE
  SUBTRACTED TO GET THE AMOUNT OF CPU TIME TAKEN BY THE INSTRUMENTED
  SECTION.
  
  YOU MIGHT FIND SOME OF THE SUBROUTINES USED BY "LOG" TO BE USEFUL 
  ("VSUBS" ARE THE SUBROUTINES USED BY LOG), ESPECIALLY "FMTIM" (FORMAT 
  A TIMER INTO ASCII), "LADD", AND "LFLT" (USED TO ADD AND FLOAT THE
  DOUBLE INTEGER FORMS BY THE VIRTUAL DRIVER).
  
  SINCE COMMUNICATION IS THRU EXEC (WITH CORRESPONDING OVERHEAD) AND
  SINCE TBG TICKS ARE ONLY GOOD TO 10MS. RESOLUTION, I WOULDN'T TRY 
  TO TIME SINGLE INSTRUCTIONS OR EVEN SMALL LOOPS, UNLESS YOU'RE
  PREPARED TO HAVE YOUR INTERRUPT SYSTEM OFF MOST OF THE TIME! THE
  INTENTION BEHIND THE VIRTUAL TIMING SUBSYSTEM WAS TO BE ABLE TO 
  EVALUATE PROGRAM CHANGES FOR EFFECIENCY (IN OTHER WORDS, TO TIME THE
  CPU TIME USED BY THE ENTIRE PROGRAM, START TO FINISH, AND RUN WITH
  A SPECIFIC SET OF DATA). RTE DOES NOT REALLY HAVE THE RESOLUTION TO DO
  CLOSED LOOP TIMING. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE TWO ASSEMBLY LANGUAGE PROGRAMS USE MUCH OF THE 21MX EXTENDED
  INSTRUCTION SET. TO USE THESE ON NON-21MX MACHINES, THE OPTIONAL
  CONTRIBUTED LIBRARY PROGRAM LISTED IN THE "CONTRIBUTED SOFTWARE 
  REQUIREMENTS" SECTION MUST BE USED. THE 21MX INSTRUCTIONS MUST BE 
  REPLACED WITH CALLS TO THE SIMULATION SUBROUTINES. I HAVE NOT CHECKED 
  COMPATABILITY WITH THESE SUBROUTINES, SOOO... 
  I WILL NOT BE RESPONSIBLE IF YOUR SYSTEM BLOWS UP WITH THEM.
  I WOULD NOT RECOMMEND PERFORMING SURGERY UNLESS YOU ARE PROFICIENT
  WITH ASSEMBLER. 
  THIS DRIVER CAN BE USED WITH RTE-IV, BUT DVT77 MUST BE RELOCATED IN 
  THE SDA.
E09701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FRW 
 **PROGRAM TITLE: 
  READ/WRITE DOS-M FILES IN RTE ENVIRONMENT 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  360 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE, OPERATING IN A RTE ENVIRONMENT, ENABLES THE USER TO 
  READ AND WRITE ON DOS-M FILES. THE FILES MUST HAVE BEEN PREVIOUSLY
  CREATED BY A DOS-M SYSTEM. THE ROUTINE CHECKS THE DOS-M DIRECTORY 
  TO DETERMINE THE ORIGIN AND THE LENGTH OF THE FILE, AND THEN READS
  OR WRITES DATA ON THE FILE. TRACK SWITCHING IS AUTOMATICALLY DONE 
  AND TESTS ARE MADE TO BE SURE THE USER STAYS WITHIN THE FILE. THE 
  DISC CONTAINING THE DOS-M FILE MUST BE DECLARED AS PERIPHERAL DISC
  IN THE RTE SYSTEM.
  THIS ROUTINE IS PARTICULARLY USEFUL WHEN DATA ACQUISITION IS DONE IN
  A RTE SYSTEM, AND LATER THE DATA MUST BE USED IN A DOS-M SYSTEM 
  BECAUSE MORE CORE IS REQUIRED TO PROCESS IT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE THE SUBROUTINE. USE AS AN UTILITY (TYPE 7) ROUTINE IN RTE. 
  THE DISC WHICH CONTAINS THE FILE MUST BE DECLARED AS A PERIPHERAL DISC
  TO THE RTE SYSTEM.
  
  
 **RUN INSTRUCTIONS:
  
  THE ENTRY POINT IS: FRW 
  
  CALLING SEQUENCE: 
       FORTRAN: CALL FRW(IRC, IFUN, IDAT, INUM, IFIL, ISEC) 
  
       ASSEMBLER: EXT FRW 
                  JSB FRW 
                  DEF *+7 
                  DEF IRC 
                  DEF IFUN
                  DEF IDAT
                  DEF INUM
                  DEF IFIL
                  DEF ISEC
  
  WHERE:
       IRC = REQUEST CODE (SAME AS RTE:  1 = READ 
                                         2 = WRITE) 
  
       IFUN = FUNCTION AND LU (SAME AS RTE I/O FUNCTION)
  
       IDAT = NAME OF DATA BUFFER 
  
       INUM = POSITIVE NUMBER OF WORDS TO WRITE 
  
       IFIL = 3 WORD ARRAY WHICH CONTAINS THE DOS-M FILE NAME 
  
       ISEC = RELATIVE STARTING SECTOR (ATTENTION: 128 WORD DOS-M 
              SECTORS MUST BE USED!!) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE ROUTINE DOES SEVERAL TESTS. IN CASE OF ERROR, A MESSAGE IS PRINTED, 
  AND THE PROGRAM IS TERMINATED. FORMAT OF THE ERROR MESSAGES:
  
          NAME : FM XX
  WHERE:  NAME = NAME OF THE PROGRAM
          FM = IDENTIFIER FOR THIS ROUTINE
          XX   = ERROR NUMBER : 0 1 : THE DISC IS NOT A DOS-M DISC
                                0 2 : FILE DOES NOT EXIST 
                                0 3 : FILE IS NOT A DATA FILE 
                                0 4 : RELATIVE STARTING SECTOR IS 
                                      NEGATIVE
                                0 5 : NUMBER OF WORDS IS <= 0 
                                0 6 : OUTSIDE FILE LIMITS 
  
  
 **MISCELLANEOUS: 
  
  THE ROUTINE ALWAYS READS THE DOS-M DIRECTORY BEFORE DOING THE ACTUAL
  I/O. THIS CAN CAUSE SEVERAL DISC ACCESSES FOR EACH I/O, AND THUS
  LIMITING THE SPEED OF THE SYSTEM. WHEN THIS COULD BE A PROBLEM, THEN
  YOU CAN DIVIDE THE ROUTINE IN 2 PARTS (DIVIDE AT LINE 160). THE FIRST 
  PART WHICH DOES THE LOOK-UP IN THE DIRECTORY, AND RETURNS THE DISC
  ADDRESS AND FILE LENGTH; THE SECOND PART WHICH DOES THE ACTUAL I/O
  WITH TRACK SWITCHING. IN THIS CASE YOU WILL ONLY CALL THE FIRST PART
  ONCE FOR EACH FILE. 
E09801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TAPE
 **PROGRAM TITLE: 
  RTE MAGNETIC TAPE FILE MANAGER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           MAGNETIC TAPE   DIRECTORY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE RTE MAGNETIC TAPE FILE MANAGER IS A RELATIVELY SMALL (450 WORDS)
  DISC RESIDENT PROGRAM WHICH ENABLES THE USE OF MAG TAPE FOR PROGRAM 
  STORAGE AND RECALL, AT THE SOURCE OR BINARY LEVEL, BY PROGRAM NAME. 
  IN ADDITION, NO MODIFICATION IS REQUIRED TO THE RTE SYSTEM, NOR ARE 
  ANY OF THE SYSTEM RESOURCES AFFECTED. PROVISIONS ARE AVAILABLE FOR
  LOADING A SOURCE, RELOCATABLE, OR EXECUTABLE MODULE FROM TAPE; STORING
  A SOURCE OR RELOCATABLE MODULE ONTO TAPE; GETTING A DIRECTORY LISTING 
  OF THE CONTENTS OF A TAPE; REWINDING THE TAPE; DUMPING A MODULE TO TAPE 
  IN DOS-M FORMAT; AND INITIALIZING A NEW TAPE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  SYSTEM CONFIGURATION
  
  CONFIGURE THE RTE SYSTEM TO INCLUDE THE SUPPLIED PHANTOM DEVICE 
  DRIVER D.37.
  
  INSTALLING MANAGER
  1. EDIT LINES 430 AND 431 OF THE TAPE PROGRAM AS FOLLOWS: 
       /R,430,431 
       MAGTP EQU --WHERE-- IS L.U. # OF MAG TAPE UNIT 
       CRT EQU   --WHERE-- IS L.U. # OF D.37 PHANTOM
       /E 
  
  2. ASSEMBLE THE TAPE PROGRAM ONTO THE LOAD-AND-GO TRACKS. 
  
  3. LOAD THE TAPE PROGRAM WITH THE COMMAND 
       ON,LOADR,99,1,2
  
  4. RESPOND TO THE LOADER PROMPT WITH
       GO,LOADR,1,2 
  
  
 **RUN INSTRUCTIONS:
  
  OPERATOR COMMANDS 
  ON,TAPE,9     INITIALIZE A NEW REEL OF TAPE.
  ON,TAPE,2,X   (WHERE X IS 1 OR 2) 
                WRITE A PROGRAM TO TAPE.
                X=1 WRITES A SOURCE PROGRAM 
                X=2 WRITES A RELOCATABLE PROGRAM
                NOTE: 1) THE LOGICAL SOURCE FILE MUST HAVE
                         BEEN IDENTIFIED BY AN LS OPERATOR
                         REQUEST. 
  
                      2) WHEN WRITING A PROGRAM, THE DESIRED
                         PROGRAM NAME WILL BE REQUESTED, AND
                         MUST BE ENTERED. 
  
                      3) WHEN WRITING A SOURCE PROGRAM, FOLLOWING 
                         THE NAME REQUEST, THE FOLLOWING PROMPT 
                         WILL BE ISSUED: /EDIT: ENTER EDIT FILE 
                         RESPOND WITH: /E 
  
                         WHEN THE SOURCE PROGRAM HAS BEEN 
                         WRITTEN, NEW LS TRACKS WILL BE 
                         ASSIGNED TO THE SOURCE PROGRAM ON
                         DISC.
  
  ON,TAPE, 1, X          (WHERE X=1, 2, OR 3) 
  
                         READ A PROGRAM FROM TAPE.
                         X=1   READS A SOURCE PROGRAM 
                         X=2   READS A RELOCATABLE PROGRAM
                         X=3   READS AN EXECUTABLE PROGRAM
                      NOTE:  1. WHEN READING A PROGRAM, THE DESIRED 
                                PROGRAM NAME WILL BE REQUESTED, AND 
                                MUST BE ENTERED.
  
                             2. WHEN LOADING A SOURCE PROGRAM, GIVE 
                                THE FOLLOWING RESPONSE WHEN THE TAPE
                                STOPS:
  
                                GO, EDIT, 1 
                             3. WHEN LOADING A RELOCATABLE PROGRAM, 
                                THE LOAD-AND-GO TRACKS MUST HAVE
                                BEEN ASSIGNED BY AN LG OPERATOR 
                                REQUEST.
  
                             4. WHEN LOADING AN EXECUTABLE MODULE,
                                ADDITIONAL PROGRAMS WILL BE REQUESTED 
                                BY THE PROMPT:
  
                                /LOADR: LOAD
  
                                IF THERE ARE NO ADDITIONAL PROGRAMS 
                                TO BE LOADED, RESPOND WITH: 
  
                                GO, LOADR, 3
  
  ON, TAPE, 3, X         (WHERE X=L.U. # OF LIST DEVICE)
                         LIST THE CONTENTS OF THE TAPE ON THE LIST DEVICE.
  
                         A LISTING IS MADE OF ALL THE PROGRAM NAMES PLUS
                         THEIR TYPE (1=SOURCE, 2=RELOCATABLE) 
  
  ON, TAPE, 4            REWIND THE TAPE. 
  
  ON, TAPE, 6            DUMP A PROGRAM TO TAPE IN DOS-M FILE FORMAT. 
  
                   NOTE:  1. THE LOGICAL SOURCE FILE MUST HAVE BEEN 
                             IDENTIFIED BY AN LS OPERATOR REQUEST.
  
                          2. WHEN THE PROGRAM HAS BEEN WRITTEN, NEW 
                             LS TRACKS WILL BE ASSIGNED TO THE SOURCE 
                             PROGRAM ON DISC. 
  
  PROGRAM NAMES MAY BE UP TO 12 CHARACTERS LONG. A DIRECT LISTING OF
  THE TAPE WILL SHOW THAT THE PROGRAM NAME IS INSERTED AS LINE 1 OF 
  THE PROGRAM WHEN THE PROGRAM IS WRITTEN TO TAPE. THE NAME IS DELETED
  FROM THE INPUT STREAM AS THE PROGRAM IS READ. 
  
  THE TAPE PROGRAM UTILIZES THE RTE EDITOR, ASSEMBLER, AND LOADER TO
  PERFORM THE MAJORITY OF OPERATIONS, THE SUPPLIED D.37 PHANTOM DRIVER
  SERVES TO ABSORB UNDESIRABLE OUTPUT FROM THESE UTILITY PROGRAMS.
  
  THE TAPE PROGRAM IS FOREGROUND DISC-RESIDENT, AND EXECUTES FUNCTIONS
  3, 4, AND 9 IN THEIR ENTIRETY. FUNCTIONS 1, 2, AND 6 ARE PARTIALLY
  EXECUTED BY THE ABOVE DESCRIBED UTILITY PROGRAMS IN THE BACKGROUND. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E09901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DIRCT 
 **PROGRAM TITLE: 
  DESCRIPTION DIRECTORY FOR RTE FILE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC            DIRECTORY 
  
  
 **LANGUAGES: 
    ASMB        FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  MAIN AND 3 SEGMENTS REQUIRE 6030 WORDS BACKGROUND MEMORY
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM IS DESIGNED TO MAINTAIN A DISC FILE CONTAINING THE 
  SYMBOLIC NAMES OF SELECTED RTE FILE MANAGER FILES TOGETHER WITH 
  AS MANY AS 64 CHARACTERS OF DESCRIPTIVE INFORMATION ON EACH FILE. 
  THE ENTIRE FILE MAY BE LISTED ALPHABETICALLY OR SELECTIVELY BY
  FILE NAME. ENTRIES CAN BE COMPARED TO THE FILE MANAGER DIRECTORY
  TO OBTAIN A LIST OF FILE MANAGER FILES NOT INCLUDED IN THIS 
  DIRECTORY, AND IN ADDITION, PURGED FILES CAN BE DELETED FROM THIS 
  DIRECTORY.
  
  THE PROGRAM CONSISTS OF A MAIN CONTROL PROGRAM AND 3 SEGMENTS 
  REQUIRING A TOTAL OF 6030(DEC) WORDS OF BACKGROUND MEMORY. THIS 
  CONFIGURATION CAN EASILY BE EDITED TO INCLUDE MORE OR LESS
  ENTRIES DEPENDING UPON THE BACKGROUND MEMORY ALLOCATION.
  
  THE HARDWARE REQUIRED FOR THIS PROGRAM IS A STANDARD HP 9600E/F 
  OR EQUIVALENT. THE ADDITION OF AN HP 2600 CRT AND A LINE PRINTER
  SUBSYSTEM IS BENEFICIAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  BEFORE ATTEMPTING TO RUN PROGRAM DIRCT, A DATA FILE MUST BE CREATED 
  WITH THE SYMBOLIC NAME DIRCT$. THIS FILE CAN BE ANY TYPE AND AT LEAST 
  71 BLOCKS LONG FOR THE ORIGINAL VERSION OF THIS PROGRAM. THE REQUIRED 
  LENGTH CAN BE CALCULATED FOR ANY SIZE PROGRAM BASED ON THE MAXIMUM
  NUMBER OF FILE ENTRIES TO BE ALLOWED. SEE SOURCE LISTING FOR THE METHOD 
  USED TO CALCULATE THE REQUIRED LENGTH.
  
  
 **RUN INSTRUCTIONS:
  
  THE PROGRAM IS RUN AS FOLLOWS:
  
             *ON, DIRCT (,CT(,LIST(,OP(,INPUT) ) ) )
  
  WHERE:     CR = CARTRIDGE LOGICAL UNIT NUMBER 
             LIST = LIST DEVICE LOGICAL UNIT
             INPUT = INPUT DEVICE LOGICAL UNIT
             OP = OPERATORS CONSOLE LOGICAL UNIT
  DEFAULT TURN ON PARAMETERS ARE: 
  
             *ON, DIRCT, 2, 6, 1, 1 
  
  USER EXECUTION OPTIONS ARE ENTERED ON THE OPERATORS CONSOLE IN RESPONSE 
  TO THE MESSAGE NEXT 
  THESE INCLUDE:
  LIST       TO LIST THE DESCRIPTION INFORMATION OF A FILE
  DIRECTORY  TO OBTAIN AN ALPHABETIZED LISTING OF ALL THE FILE ENTRIES
             AND THEIR ASSOCIATED DESCRIPTIVE INFORMATION 
  ENTER      TO ENTER A FILE NAME AND DESCRIPTIVE INFORMATION 
  UPDATE     TO LIST ALL FILE MANAGER FILE NAMES NOT INCLUDED IN THE
             DIRECTORY FILE 
  PURGE      TO DELETE ALL DIRECTORY ENTRIES NO LONGER IN THE FILE
             MANAGER DIRECTORY
  CR         TO CHANGE THE CARTRIDGE LOGICAL UNIT NUMBER
  LU         TO CHANGE THE LIST AND INPUT DEVICE LOGICAL UNIT NUMBER
  ??         TO LIST THE EXECUTION OPTIONS
  OFF        TO RETURN TO THE SYSTEM EXECUTIVE
  %%         TO INITILIZE THE DIRECTORY DATA FILE. THIS OPTION IS NOT 
             LISTED ON THE OPERATORS CONSOLE FOR OBVIOUS REASONS. 
  
  ONLY THE FIRST TWO CHARACTERS OF ANY EXECUTION OPTION ARE REQUIRED TO 
  INITIATE THAT OPTION. 
  
  A LISTING OF THE EXECUTION OPTIONS IS GIVEN UPON CALLING DIRCT AND EACH 
  TIME AN IMPROPER DIRECTIVE IS ISSUED. 
  
  THE PROGRAM IS SELF-INITIALIZING THE FIRST TIME IT IS EXECUTED AFTER
  BEING INSTALLED ON A USER CARTRIDGE. IT MUST BE INSTALLED ON EACH 
  CARTRIDGE FOR WHICH IT WILL MAINTAIN A DIRECTORY. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IN ORDER TO CHANGE THE MAXIMUM NUMBER OF ENTRIES, IT IS ONLY
  NECESSARY TO CHANGE THE VALUE OF MXFILS AND THE DIMENSION OF THE
  VARIABLES NMFIL AND LBLF IN THE COMMON DECLARATION. THESE SHOULD
  BE DIMENSIONED TO 4 * MXFILS AND 3 * MXFILS RESPECTIVELY. 
  
  A BACK UP DIRECTORY FILE CAN BE KEPT ON PAPER OR MAG TAPE BY
  USING THE D1 DIRECTIVE AFTER ASSIGNING THE DESIRED LU.
E10001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EDITL 
 **PROGRAM TITLE: 
  RTE RELOCATABLE EDITOR
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    EDITOR          RELOCATABLE     LIBRARY 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ALGOL PROGRAM PROVIDES A CAPABILITY FOR RELOCATABLE OBJECT 
  LIBRARIES WHICH ARE ANALOGOUS TO THAT PROVIDED BY THE RTE EDITOR FOR
  SOURCE FILES.  THE PROGRAM RUNS IN AN RTE ENVIRONMENT; IT EXPECTS TO
  FIND THE INPUT LIBRARY AND EDIT FILES ON DISC IN RTE FILE MANAGERS FILES
  AND IT PRODUCES A RELOCATABLE LIBRARY AS OUTPUT WHICH IS PLACED IN AN 
  RTE FILE MANAGER FILE.
  
  IN ADDITION TO MODIFICATION OF AN EXISTING RELOCATABLE LIBRARY, LIBRARY 
  EDITOR PROGRAM ALSO PROVIDES CAPABILITIES FOR CREATING A NEW RELOCATABLE
  LIBRARY AND FOR LISTING THE CONTENT OF A RELOCATABLE LIBRARY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E10101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TFER
 **PROGRAM TITLE: 
  FILE TRANSFER BETWEEN RTE AND DOS-M/III 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           COPY            DISC
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-I     RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  AT LEAST 24K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES THE CAPABILITY OF TRANSFERRING FILES BETWEEN
  RTE AND DOS-M OR DOS-III SYSTEMS. THE PROGRAM WILL RUN UNDER RTE-I, 
  RTE-2 OR RTE-3. A DOS-M OR DOS-III DISC MUST BE PLACED INTO A 
  PERIPHERAL DISC SUBCHANNEL. FILES MAY THEN BE TRANSFERRED FROM RTE TO 
  THE DOS-M/III DISC, OR VICE VERSA. SOURCE, RELOCATABLE, OR BINARY 
  FILES MAY BE TRANSFERRED. IN THE RTE HOST SYSTEM, FILES HANDLED MAY 
  RESIDE IN THE FILE MANAGER, ON LS TRACKS OR ON LG TRACKS. IN THE
  DOS-M/III SYSTEM ON THE PERIPHERAL DISC SUBCHANNEL, FILES IN THE
  SYSTEM OR USER AREA MAY BE HANDLED. 
  
  EQUIPMENT REQUIRED: RTE-1, RTE-2, OR RTE-3 AND ASSOCIATED PERIPHERALS.
  AT LEAST 24K CORE AND A DISC DRIVE HAVING ONE OR MORE RTE ASSOCIATED
  SUBCHANNELS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E10201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DOSLI 
 **PROGRAM TITLE: 
  DOS-M/III FILE DIRECTORY LISTING FROM RTE ENVIRONMENT 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC            DIRECTORY 
    LIST
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-I     RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  AT LEAST 24K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES THE CAPABILITY OF LISTING THE DIRECTORY 
  OF A DISC PACK FROM WITHIN AN RTE ENVIRONMENT. THE PROGRAM WILL 
  RUN UNDER RTE-1, RTE-2, OR RTE-3. THE DOS-M OR DOS-III DISC 
  WHOSE DIRECTORY LISTING IS DESIRED IS PLACED INTO A PERIPHERAL
  DISC SUBCHANNEL. THE DOS-M/III DIRECTORY LISTING GENERATED BY 
  THIS PROGRAM IS IDENTICAL WITH THE DIRECTORY LISTINGS GENERATED 
  BY DOS-M OR DOS-III. THE SYSTEM DIRECTORY AND USER DIRECTORY MAY
  BOTH BE LISTED. 
  HARDWARE REQUIREMENTS: RTE-1, RTE-2 OR RTE-3 AND ASSOCIATED 
  PERIPHERALS. AT LEAST 24K CORE, AND A DISC DRIVE HAVING ONE OR
  MORE RTE PERIPHERAL SUBCHANNELS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E10301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UNEXT 
 **PROGRAM TITLE: 
  UNEXT 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM SEARCHES EACH MOUNTED DISC FOR FILES WITH EXTENTS, 
  TYPE 3 OR GREATER, AND RESTORES THEM WITHOUT EXTENTS. 
  IT WILL ALSO, OPTIONALLY RECLAIM FROM TYPE 4 FILES ONLY, ANY
  UNUSED BLOCKS FROM THE FILE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RUN, UNEXT, LU(,RE) 
  
  WHERE:
     LU = LU OF LIST DEVICE (CRT OR LINEPRINTER)
     RE = IF ENTERED WILL, AFTER UNEXTENTING EXTENTED FILES,
          RECLAIM UNUSED PORTIONS OF TYPE 4 FILES.
  
  ENTER PACK COMMAND AFTER UNEXT IS DONE. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IUBYT - RETURNS VALUE OF UPPER 8 BITS OF INTEGER
  CALLING SEQUENCE - FORTRAN
  IUPER = IUBYT(IWORD)
  WHERE IUPER = UPPER 8 BITS OF IWORD IN BITS 0-7 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E10401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  STRAK 
 **PROGRAM TITLE: 
  TEMPORARY, EXPANDABLE FIXED LENGTH RECORD DISC FILE 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'STRAK' PROVIDES THE RTE USER WITH A TEMPORARY FILE WHICH IS
  AUTOMATICALLY EXPANDABLE. THE FILE IS WRITTEN ON THE SYSTEM 
  TRACKS AND OPERATES LIKE A RANDOM ACCESS TYPE 2 FILE MANAGER FILE.
  IT SUPPORTS FIXED LENGTH RECORDS WITH THE LENGTH SPECIFIED IN A 
  SETUP CALL. THE PROGRAM IS USEFUL FOR TEMPORARY STORAGE OF DATA 
  WHEN THE QUANTITY OF DATA CANNOT BE DETERMINED BEFOREHAND.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  A) INITIALIZE CALL - CALL STOPN(J) WHERE
  
       J LESS THAN OR EQUAL TO 0 MEANS RELEASE ALL TRACKS 
         ASSIGNED TO THE PROGRAM
  
       J GREATER THAN 0 MEANS DEFINE THE RECORD SIZE TO BE
         J WORDS AND REWIND THE FILE FOR SEQUENTIAL ACCESS. 
  
  B) WRITE CALL - CALL STWRT(IER,IBUF,IREC) WHERE 
  
       IER = ERROR CODE. ALSO RETURNED IN A REG.
             0 = O.K.;  -4 = NO STOPN CALL YET;  -6 = NO DISK SPACE OR
                                                      RECORD EXCEEDS FILE 
                                                      SIZE
  
      IBUF = BUFFER ADDRESS 
  
      IREC = ABSOLUTE RECORD #. 0 OR NOT GIVEN MEANS USE NEXT 
             SEQUENTIAL RECORD. 
  
  C) READ CALL - CALL STRED(IER,IBUF,IREC) WHERE PARAMETERS ARE 
                 THE SAME AS FOR STWRT
  
  SYSTEM TRACKS ARE ALLOCATED AS THEY ARE NEEDED. IF NO TRACKS ARE
  AVAILABLE, THE PROGRAM WILL SUSPEND.
  
  STRAK TREATS THE STORAGE AREA AS A RANDOM ACCESS FILE MUCH LIKE 
  A FMGR TYPE 2 FILE. THERE ARE NO END OF FILE MARKS AND A RECORD 
  MAY BE READ BEFORE IT IS WRITTEN. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF IT IS DESIRED THAT THE PROGRAM NOT SUSPEND ON TRACK ALLOCATION 
  FAILURE, THE EXEC CONTROL WORD CAN BE CHANGED.
  
  STRAK ALLOCATES TRACKS LOCALLY SO THAT IF THE PROGRAM ABORTS
  ABNORMALLY THE SYSTEM WILL RELEASE THE TRACKS.
  
  HARDWARE REQUIREMENTS: 7900 DISC DRIVE
E10501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LISTF 
 **PROGRAM TITLE: 
  SELECTIVE FMGR DIRECTORY LISTER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DIRECTORY       DISC
    CARTRIDGE       LIST
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'LISTF' PRODUCES A PARTIAL DIRECTORY LIST OF FMGR DIRECTORY(S)
  BASED ON USER SPECIFIED CRITERIA. ANY COMBINATION OF THE
  FOLLOWING CRITERIA MAY BE SPECIFIED BY THE USER:
  
  1. FILENAME, OR MORE GENERALLY, THE PRESENCE OF GIVEN CHARACTERS
     IN ANY OF THE 6 FILENAME CHARACTER POSITIONS.
  2. FILETYPE 
  3. CARTRIDGE REFERENCE NUMBER 
  4. EXTENT NUMBER. 
  
  A FILE MUST SATISFY ALL THE CRITERIA GIVEN BY THE USER IN ORDER 
  TO BE INCLUDED IN THE OUTPUT LIST. OMITTED CRITERIA DEFAULT TO
  'ALL'. OUTPUT MAY BE DIRECTED TO A FILE (NAMED LISTXX) IN 
  PROCEDURE FILE FORMAT FOR SUBSEQUENT PROCESSING.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD AS BACKGROUND PROGRAM
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN TYPE:
                   RU,LISTF,INLU,OUTLU
  
  INLU  LU OF DIALOG DEVICE; DEFAULTS TO 1 IF OMITTED.
  
  OUTLU LU OF OUTPUT DEVICE; DEFAULTS TO INLU VALUE IF
        OMITTED. IF OUTLU=2 THEN OUTPUT GOES TO A NEW FILE
        LISTXX IN THE FOLLOWING PROCEDURE FILE FORMAT:
  
                   :--,FILENM::CR:FILETYPE,FILENM::::SIZE 
  
        (A PREVIOUSLY-EXISTING LISTXX IS PURGED, THEN A NEW 
        LISTXX IS CREATED FOR THE OUTPUT.)
  
  LISTF PROMPTS USER FOR FILENAME, FILETYPE, CR, AND EXTENTS
  THAT SPECIFY FILES TO BE LISTED. THE FORM OF THE USER 
  RESPONSE IS:
  
                   FILENM,TYPE,CR,EXT 
  
  FILENM NAME(S) OF FILES TO BE LISTED. THIS FIELD IS TREATED 
         AS A 6 CHARACTER FILTER; IF FEWER THAN 6 CHARACTERS
         ARE SPECIFIED THEN TRAILING BLANKS ARE USED TO 
         EXTEND THE FILTER TO 6 CHARACTERS. EACH CHARACTER IN 
         THE FILTER IS USED TO MATCH THE CORRESPONDING
         CHARACTER IN THE FILENAME OF THE FILE. ONLY IF ALL 
         THE CHARACTER POSITIONS MATCH IS THE FILE A
         CANDIDATE FOR BEING LISTED. A MINUS SIGN MAY APPEAR
         IN ANY POSITION TO INDICATE THAT ANY CHARACTER IN
         THAT POSITION IS ACCEPTABLE. IF THIS FIELD IS
         OMITTED, THEN IT IS TREATED AS IF THE USER ENTERED 6 
         MINUS SUGNS, I.E., ALL FILE NAMES ARE ACCEPTABLE.
  
  TYPE   THE FILETYPE OF THE FILES TO BE LISTED; IF OMITTED,
         FILETYPE IS IGNORED IN SELECTING FILES TO BE LISTED. 
  
  CR     THE CR OF THE FILES TO BE LISTED; IF OMITTED, CR IS
         IGNORED IN SELECTING FILES TO BE LISTED. 
  
  EXT    USE OF THIS PARAMETER RESTRICTS OUTPUT TO ONLY THOSE 
         DIRECTORY ENTRIES WHOSE EXTENT NUMBER MATCHES THE
         VALUE OF THIS PARAMETER. IF OMITTED, THERE ARE NO
         OUTPUT RESTRICTIONS BASED ON EXTENT NUMBER, I.E.,
         EACH FILE AND EACH EXTENT IS A CANDIDATE FOR BEING 
         LISTED. HOWEVER, IN THE CASE OF FILE OUTPUT
         (LISTXX), THE OMISSION OF THIS PARAMETER DEFAULTS TO 
         ZERO, I.E., ONLY THE MAIN FILE ENTRIES AND NOT THE 
         EXTENTS ARE LISTED.
  
  AFTER THE OUTPUT IS PRODUCED, A COUNT OF THE NUMBER OF THE
  ENTRIES IS PRINTED ON THE DIALOG DEVICE; THEN THE PROGRAM 
  PROMPTS FOR MORE REQUESTS FROM THE USER. THE USER MAY EXIT
  LISTF BY ENTERING CONTROL D.
  
  EXAMPLES OF SPECIFICATIONS: 
  
  -,,2
  
          ALL ONE-CHARACTER FILENAMES ON CR 2.
  
  X-----,4,22 
  
          ALL FILENAMES BEGINNING WITH THE LETTER X, WHOSE
          FILETYPE IS 4, AND WHICH APPEAR ON CR 22. 
  
  ,,2,1 
  
          ONLY THE FIRST EXTENTS FOR FILES ON CR 2. (THIS 
          ESSENTIALLY PROVIDES A LIST OF FILES HAVING ONE OR
          MORE EXTENTS.)
  
  , 
  ,,
  ,,, 
          ANY OF THESE WILL SUPPLY ALL THE FILES ON ALL THE 
          CR. 
  
  -TESTS
  
          ALL FILES WHOSE SECOND THROUGH SIXTH LETTERS ARE
          TESTS.
  
  &-----
  
          ALL FILES WHOSE NAMES BEGIN WITH & (AMPERSAND). 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE ONLY TESTS ARE MANUAL COMPARISONS OF THE OUTPUT PRODUCED BY THE 
  FMGR "DL" COMMAND AGAINST THE OUTPUT PRODUCED BY THIS PROGRAM.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  STANDARD LIBRARY SUBROUTINES: 
  
         IGET,CODE,IAND,EXEC,RMPAR
         FMP CALLS:PURGE,CREAT,WRITF,LOCF,CLOSE 
E10601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  NAMRX 
 **PROGRAM TITLE: 
  NAMRX 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'NAMRX' IS AN RTE-II OR RTE-III SUBROUTINE THAT INTERFACES TO 
  SYSTEM SUBROUTINE $PARS TO BREAK OUT THE INDIVIDUAL FIELDS OF A 
  STANDARD RTE FILE NAME. THE PASSED BUFFER INITIALLY CONTAINS
  NAME:SC:CRN AND NAMR RETURNS THE NAME AS AN ASCII STRING AND THE
  SECURITY CODE AND CARTRIDGE NUMBER AS BINARY INTEGERS. 'NAMRX'
  CAN BE PASSED A BUFFER OR IT WILL INPUT THE BUFFER FROM A 
  SPECIFIED LOGICAL UNIT, USING SYSTEM SUBROUTINE REIO. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
   CALL NAMRX(IBUF,NAM,ISC,ICRN,ITYPE,ILEN) WHERE 
  
  IBUF = INPUT LU OR
         USER BUFFER CONTAINING THE STRING TO CONVERT WITH
         FIELDS SEPERATED BY COLONS AND STRING ENDING WITH
         A BLANK. 
  
  NAM  = 3 WORD BUFFER FOR RETURN OF THE ASCII PART OF THE
         FILE NAME, PADDED WITH BLANKS IF NEEDED, OR A
         LOGICAL UNIT #.
  
  ISC  = INTEGER VARIABLE FOR RETURN OF SECURITY CODE. SET
         TO 0 IF NOT GIVEN. 
  
  ICRN = INTEGER VARIABLE FOR RETURN OF CARTRIDGE NUMBER. 
         SET TO 0 IF NOT GIVEN. 
  
  ITYPE = INTEGER VARIABLE FOR RETURN OF FILE TYPE. SET 
          TO 0 IF NOT GIVEN.
  
  ILEN = INTEGER VARIABLE FOR RETURN OF RECORD LENGTH.
         SET TO 0 IF NOT GIVEN. 
  
  ON RETURN, THE A REGISTER IS SET TO 2 IF A FILE NAME WAS
  PROCESSED OR IT EQUALS 1 IF A LOGICAL UNIT WAS PROCESSED. 
  
  IT IS NOT NECESSARY TO SPECIFY ALL VARIABLES. THE LIST CAN
  BE TERMINATED AT ANY POINT AFTER NAM. ONLY THE REQUESTED
  INFO WILL BE RETURNED.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  PROGRAM TEST CALLS NAMRX TWICE. THE FIRST TIME, IT INPUTS 
  A BUFFER AND PASSES IT TO NAMRX. THE SECOND TIME, IT ALLOWS 
  NAMRX TO DO THE INPUT. AFTER EACH CALL, THE RETURNED DATA 
  AND THE CONTENTS OF THE A REGISTER ARE PRINTED. NOTE THAT 
  IN THE LAST EXAMPLE, THE 7 CHARACTER FILE NAME IS TRUNCATED 
  TO 6 CHARACTERS.
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE FIRST BLANK ENCOUNTERED TERMINATES THE STRING WHEN
  IT IS PASSED TO NAMRX, SO MAKE SURE THAT THERE ARE NO 
  IMBEDDED BLANKS.
E10701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SDLS4 
 **PROGRAM TITLE: 
  ROUTINES TO READ INFORMATION FROM CUPERTINO DISTRIBUTION TAPES
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    MAGNETIC TAPE   COPY
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  "SDLS4" IS A ROUTINE WHICH WILL READ INFORMATION FROM CUPERTINO 
  DISTRIBUTION TAPES (SDLS OR MTLS FORMAT) DIRECTLY INTO RTE FMP FILES. 
  IT WILL ACCEPT ABSOLUTE, RELOCATABLE, OR SOURCE PROGRAMS, BUT A NOT 
  YET IMPLEMENTED CHANGE IS REQUIRED TO READ "DATA" FILES FROM THE
  MTLS TAPES. THE ROUTINE OTHERWISE ACCEPTS ALL TAPE FORMATS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION
  
  
 **MISCELLANEOUS: 
  
  
E10801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DFIL
 **PROGRAM TITLE: 
  ALPHABETIC FMGR DIRECTORY LISTER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC            DIRECTORY 
    LIST
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THIS PROGRAM LISTS THE FILE DIRECTORIES FOR ONE OR MORE DISC 
  CARTRIDGES. THE LIST IS ORDERED ALPHABETICALLY BY FILE NAME. THE
  FORMAT OF THE LIST IS THE SAME AS THAT OF THE "LONG LIST" PRODUCED
  BY THE FMGR  :DL COMMAND. 
  
       THE PROGRAM IS SET UP FOR THE RTE II OPERATING SYSTEM WITH HP
  7900 DISC DRIVE(S). 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  TO EXECUTE DFIL, ENTER THE FOLLOWING COMMAND: 
  
             RU, DFIL, ITTY, LIST 
  
     WHERE:  ITTY  :  LOGICAL UNIT NUMBER OF THE TERMINAL FROM WHICH
                      THE PROGRAM IS RUN. 
  
             LIST  :  LOGICAL UNIT NUMBER OF THE DEVICE ON WHICH THE
                      DIRECTORY LISTS ARE TO BE PRINTED.
  
       SUBSEQUENT COMMANDS ARE ENTERED THROUGH THE SAME TERMINAL AS 
  RESPONSES TO QUESTIONS ASKED BY DFIL
  
                ** DFIL DIALOGUE ** 
  
  **DFIL REQUEST**                   **USER RESPONSE**
  
  DISC LUN (ENTER                    LOGICAL UNIT NUMBER OF THE DISC
   0 TO QUIT)?                       FOR WHICH A DIRECTORY IS DESIRED.
                                     ENTER 0 TO TERMINATE DFIL
  
  CANNOT LOCK THE DISC               THIS MESSAGE DOES NOT NORMALLY OCCUR.
  CONTINUE (YES OR NO)?              IT INDICATES THAT DFIL CAN'T LOCK
                                     THE DISC INVOLVED IN THE DIRECTORY 
                                     LIST OPERATION.
                                     (A) A RESPONSE OF "YES" CAUSES 
                                         DFIL TO CONTINUE. WARNING
                                         - THE USER SHOULD ENSURE THAT
                                         NO ONE IS ALTERING THE DISC
                                         DIRECTORY. 
  
                                     (B) A RESPONSE OF "NO" CAUSES DFIL 
                                         TO REQUEST A NEW DISC LOGICAL
                                         UNIT NUMBER. 
  
  DFIL KEEPS ASKING FOR DISC UNIT NUMBERS UNTIL THE USER ENTERS 0.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
         MESSAGE                       SIGNIFICANCE/RECOVERY ACTION 
  
  ANSWER YES OR NO -                         SELF EVIDENT 
   TRY AGAIN. 
  
  CARTRIDGE NOT                        TERMINATE DFIL, MOUNT THE CARTRIDGE
  MOUNTED.                             USING FMGR :MC COMMAND, AND RERUN. 
  
  THAT IS NOT A DISC                   ENTER VALID DISC LU . NOTE THAT
                                       THE PROGRAM IS SET UP TO HANDLE
                                       ONLY 7900 CARTRIDGES.
  
  STOP 1                               MORE THAN 1000 FILES ON A DISC 
                                       CARTRIDGE. THIS PROBLEM CAN BE 
                                       OVERCOME BY ALTERING THE PROGRAM 
                                       TO HANDLE MORE FILES.
  
  
 **MISCELLANEOUS: 
  
  
E10901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ROBIN 
 **PROGRAM TITLE: 
  OBJECT MODULE LISTER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           LIST
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-IV    RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THIS PROGRAM INPUTS A TYPE 5 BINARY RELOCATABLE FILE NAME (NAMR) 
  AND PRODUCES A CONSOLIDATED LISTING OF ITS CHARACTERISTICS. THE LISTING 
  INCLUDES PROGRAM NAME, TYPE, EXTENDED NAM RECORD, LOCAL LENGTH, COMMON
  LENGTH, BASE PAGE LENGTH, PRODUCER, ALL ENTRY POINTS, ALL EXTERNALS,
  EMA RECORD, AND TRANSFER ADDRESS IF MAIN. THE PROGRAM CAN BE RUN IN 
  BATCH OR CONVERSATIONAL MODE AND HAS EXTENSIVE ERROR CHECKING,
  INCLUDING BREAK CAPABILITY. THE LISTING FORMAT IS SUITABLE FOR EASY 
  TO READ DOCUMENTATION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  IF YOU ARE LOADING THIS IN RTE 2/3/M, THEN IGNORE THE UNDEFINED 
  EXTERNAL LOGLU
  
  
 **RUN INSTRUCTIONS:
  
  :RU,ROBIN [,TERMINAL LU[,LIST LU]]
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  / ROBIN: FILE OPEN ERROR N
  / ROBIN: FILE CLOSE ERROR N 
  / ROBIN: FILE READ ERROR N
  / ROBIN: INVALID INPUT
  / ROBIN: WRONG FILE TYPE
  
  
 **MISCELLANEOUS: 
  
  
E11001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FDUMP 
 **PROGRAM TITLE: 
  FMP FILE DUMP 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DUMP            LIST
    FORMATTING
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  9K CORE STORAGE 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
     FDUMP IS A PROGRAM THAT WILL DUMP FILE MANAGER FILES LESS THAN TYPE
  11 TO YOUR LIST DEVICE IN A FORMAT MUCH LIKE THAT USED IN THE IBM DITTO 
  UTILITY. THE RECORD IS LISTED IN 128 CHARACTER BLOCKS, GIVING OCTAL 
  REPRESENTATION AND COLUMN ALIGNMENT NUMBERS BELOW THE ASCII VALUES. 
  INPUT IS FROM FILE OR LOGICAL UNIT. BY SPECIFYING THE STARTING RECORD 
  NUMBER YOU CAN POSITION THE FILE TO A PREDETERMINED RECORD. FDUMP WILL
  RESPOND TO THE BREAK FLAG AT ANY TIME.
     FDUMP USES APPROXIMATELY 9K CORE STORAGE HOWEVER THE PROGRAM IS SET
  UP FOR MAXIMUM RECORD LENGTH OF 1024 WORDS. IF THIS IS LARGER THAN THE
  MAXIMUM LENGTH FOR YOUR INSTALLATION THE DCB AND BUFFER AREA COULD BE 
  REDUCED. THE MAXIMUM CHARACTER OUTPUT IS 1024. FDUMP MAKES FMP CALLS. 
     FDUMP IS VERY USEFUL FOR VISUAL VERIFICATION AND ALIGNMENT CHECKING
  OF DATA FORMATS. INTEGER VALUES ARE NOT PRINTED, HOWEVER, THEIR OCTAL 
  VALUES ARE LISTED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: FDUMP SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  FILE MANAGER ERROR MESSAGES ARE DIRECTED TO THE USER'S TERMINAL.
  
  
 **MISCELLANEOUS: 
  
  WILL NOT TYPE LIST TYPE 11 FILES. 
E11101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LDISC 
 **PROGRAM TITLE: 
  FMP CORRUPT FILE ANALYZER 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           ANALYZER        DEBUG 
    DISC
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV    RTE-III   RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE USER TO ANALYZE AND VERIFY THE INTEGRITY OF ALL 
  FILES ON A CARTRIDGE, FILES THAT ARE NOT 0, 1, 2, OR 6. THE PROGRAM 
  OPENS EACH FILE AND READS ALL RECORDS AND REPORTS ANY ERRORS TO A LIST
  DEVICE. A RESULTING STATISTICAL PRINTOUT OCCURS SHOWING SUCH ITEMS AS 
  TOTAL STORAGE, NUMBER OF FILES, AVERAGE RECORD LENGTH, AND OTHERS. THE
  PROGRAM WILL ALSO WORK FOR FILES CONTAINED ON LU=2 OR 3. LDISC MAKES
  FMP CALLS TO ACCESS THE FILES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: LDISC SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E11201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LISTB 
 **PROGRAM TITLE: 
  FILE MANAGER LIST PROGRAM 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           LIST
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  REQUIRES 8 PAGES BACKGROUND MEMORY
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROGRAM LISTB IS A PROGRAM TO LIST AN FMP FILE OF ANY TYPE TO AN
  OUTPUT DEVICE IN BINARY-MIXED FORMAT, OR ASCII FORMAT. THE PROGRAM IS 
  ESPECIALLY USEFUL FOR LISTING OF FILES WITH RECORD LENGTHS OF GREATER 
  THAN 128 WORDS, AND WILL HANDLE FILES WITH RECORD LENGTHS OF UP TO 1024 
  WORDS. THE LIST FORMAT IS SIMILAR TO THE FILE MANAGER :LI COMMAND 
  FORMAT, BUT REQUIRES 130 COLUMNS ON A LINE PRINTER. YOU MAY LIST THE
  ENTIRE FILE, OR ONLY PART OF THE FILE. LISTB REQUIRES 8 PAGES BACKGROUND
  MEMORY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN: *RU,LISTB,P1,P2,P3,P4,P5 WHERE THE OPTIONAL PARAMETERS ARE
                DEFINED AS FOLLOWS: 
  
          P1 - TERMINAL LU                            (DEFAULT=VALUE
                                                       RETURNED BY MTM) 
  
          P2 - LIST LU                                (DEFAULT=LU6) 
  
          P3 - FIRST RECORD TO BE LISTED              (DEFAULT=1) 
  
          P4 - NUMBER OF RECORDS TO BE LISTED         (DEFAULT=ALL) 
  
          P5 - LIST FORMAT, ASCII "A" FOR ASCII LIST  (DEFAULT BINARY)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  FMP ERROR MESSAGES AND END OF PROGRAM MESSAGES SENT TO TERMINAL.
  
  
 **MISCELLANEOUS: 
  
  
E11301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DIRC
 **PROGRAM TITLE: 
  INTERACTIVE EDIT OF FMP ASSIGNED DISC SPACE 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    DISC            EDITOR          FILES 
    DIRECTORY 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE DIRC PROGRAM IS AN HP-1000 INTERACTIVE RTE FORTRAN IV PROGRAM THAT
  IS USED TO EDIT FMP ASSIGNED DISC SPACE FOR 7900 AND 7905 DISC SUB- 
  SYSTEMS. THE PROGRAM PERMITS DISC FILE EDITING BY SECTOR ADDRESSES. 
  DISC FILE ENTRIES IN THE DIRECTORY CAN BE EDITED WITHIN SPECIFIED 
  RESTRICTIONS SUCH AS NOT PERMITTING FILE ADDRESS MODIFICATIONS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DIRC SOURCE 
  FILE#  3: XAMFL SOURCE
  FILE#  4: UNPUR SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  RU,FTN4,&DIRC,1,%DIRC 
  RU,FTN4,&XAMFL,1,%XAMFL 
  RU,FTN4,&UNPUR,1,%UNPUR 
  LG,1
  MR,%DIRC
  MR,%XAMFL 
  MR,%UNPUR 
  RU,LOADR,99,1 
  
  
 **RUN INSTRUCTIONS:
  
  RU,DIRC,USER CONSOLE LU#, LIST DEVICE LU# 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  "*** CAN NOT FIND CR# ***"
  
  DISPLAYED AT USER'S CONSOLE AND PROGRAM ABORTED WHEN USER INPUTS CR#
  DOES NOT EXIST IN THE CARTRIDGE DIRECTORY.
  
  
 **MISCELLANEOUS: 
  
  
E11401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PURGE 
 **PROGRAM TITLE: 
  FMGR FILE PURGE UTILITY 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FILES           DISC
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV    RTE-III   RTE-II
  
 **MEMORY REQUIREMENTS: 
  5 PAGES 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROGRAM "PURGE" IS AN RTE UTILITY PROGRAM WHICH ALLOWS THE USER TO
  QUICKLY PURGE A GROUP OF FILES WITH SIMILAR NAMES. IF THE USER WISHES TO
  PURGE %FILE1, &FILE1, #FILE1, HE ENTERS "-FILE1" AS THE QUALIFIER. IF HE
  WISHES TO PURGE ALL FILES BEGINNING WITH THE CHARACTERS XYZ, HE CAN 
  ENTER "XYZ---". IT DOES NOT WORK ON THE SYSTEM LU (2 OR 3). BEFORE IT 
  PURGES A FILE, IT WILL PRINT OUT THE FILE QUALIFIED AND ASK THE OPERATOR
  IF HE WISHES TO PURGE IT. HE ENTERS YES, NO, OR ABORT. ABORT WILL STOP
  ALL PURGES FOR THAT QUALIFIER.
  
  PROGRAM PURGE WORKS ONLY 1 LU AT A TIME AND THAT LU IS ENTERED BY THE 
  OPERATOR DURING EXECUTION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: PURGE AND QPURG SOURCE
  FILE#  3: LTRAK SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. STORE &PURGE,<RAK ONTO DISK
  2. RU, FTN4, &PURGE, TTY, - 
  3. RU, ASMB, <RAK, TTY, - 
  4. RU, LOADR
              REL, %PURGE   REQUIRES 5 PAGES
              REL, %LTRAK   REQUIRES 5 PAGES
     END
  
  
 **RUN INSTRUCTIONS:
  
  RU, PURGE, TTY
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF LU=2 OR 3 ENTERED, YOU GET **PURGE ONLY WORKS WITH NON-SYSTEM LU'S** 
  
  IF ABORT IS ENTERED, A STOP 0001 IS EXECUTED. 
  
  
 **MISCELLANEOUS: 
  
  
E11501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DL
 **PROGRAM TITLE: 
  FMGR DIRECTORY LIST 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    DIRECTORY       FILES           DISC
    LIST            SORT
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  13 PAGES
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
    PROGRAM DL IS AN RTE UTILITY PROGRAM WHICH WILL GIVE AN ALPHABETIZED
  DIRECTORY LISTING ON THE LINE PRINTER. IT WORKS ON ANY FILE MANAGER DISC
  LU (INCLUDING 2,3) AND WILL NOT MODIFY THE DISC LU IN ANY WAY. IT GIVES 
  ONLY 1 ENTRY PER DISC FILE (I.E., IT DOESN'T SHOW EACH EXTENT). ALL THE 
  FOLLOWING INFORMATION IS LISTED:
  
    1. FILE NAME
    2. FILE TYPE
    3. NUMBER OF EXTENTS IN THIS FILE 
    4. TOTAL NUMBER OF BLOCKS IN FILE 
    5. SECURITY CODE (ALPHANUMERIC) 
  
    IN ADDITION, THE FOLLOWING INFORMATION IS LISTED IN THE HEADER: 
  
    1. CARTRIDGE LABEL
    2. LU#
    3. CR#
    4. NEXT FMGR TRACK
    5. NEXT SECTOR
    6. 1ST FMGR TRACK 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. STORE <RAK, &DATE, &DL ON DISC 
  
  2. A.  RU, FTN4, &DATE, TTY,- 
     B.  RU, FTN4, &DL, TTY,- 
  
  3. RU, ASMB, <RAK, TTY,-
  
  4. RU, LOADR
  
         RE, %DL     REQUIRES 13 PAGES
         RE, %LTRAK  REQUIRES 13 PAGES
         RE, %DATE   REQUIRES 13 PAGES
     END
  
  
 **RUN INSTRUCTIONS:
  
  RU,DL 
  
       ENTER DISK LU# = 13
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DISC LU NOT MOUNTED 
  WARNING - - ONLY THE 1ST 1000 DIRECTORY ENTRIES USED (IF LARGER 
              PARTITIONS ARE AVAILABLE, INCREASE THE DIMENSIONS). 
  
  
 **MISCELLANEOUS: 
  
  
E11601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TATLG 
 **PROGRAM TITLE: 
  RTE TRACK ASSIGNMENT TABLE LOG
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    SYSTEM TABLES   LIST            DISC
    DIRECTORY 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  206 WITHOUT EXTERNAL SUBPROGRAMS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM IS USEFUL AS A UTILITY ROUTINE IN THE REAL TIME EXECUTIVE
  SYSTEM. ITS FUNCTION IS TO LIST OUT THE TRACK ASSIGNMENTS OF THE RTE
  SYSTEM AND AUXILIARY DISCS (LU2 AND LU3) AT TRACK ASSIGNMENT TABLE
  (TAT). IF A TRACK IS ASSIGNED TO THE SYSTEM, 'SYSTEM' IS PRINTED; IF
  ALLOCATED AS GLOBAL, 'GLOBAL' IS PRINTED; IF ALLOCATED AS OWN, THE NAME 
  AND TYPE OF THE PROGRAM TO WHICH IT IS ASSIGNED IS PRINTED; AND IF NOT
  ASSIGNED, 'AVAIL' IS PRINTED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1. AS WRITTEN, THE PROGRAM WILL OUTPUT TO LOGICAL UNIT 7. 
  
  2. TO CHANGE OUTPUT DESTINATION, CHANGE LINE 199 TO REFERENCE A LOGICAL 
     UNIT OTHER THAN 7. 
  
  3. IF AN OUTPUT DEVICE OTHER THAN A 2600A IS USED, THE USER MAY WISH TO 
     DELETE LINE 13 WHICH IS A JSB TO A ROUTINE WHICH CLEARS THE CRT. 
  
  4. ONLY THE FIRST TRACK IN A CONTIGUOUS BLOCK OF TRACKS HAVING THE SAME 
     ASSIGNMENT IS PRINTED OUT. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E11701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LIST
 **PROGRAM TITLE: 
  LIST THE RTE TABLES 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    LIST            SYSTEM TABLES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL LIST THE DEVICE REFERENCE TABLE, THE EQUIPMENT TABLE, 
  AND THE PROGRAM ID TABLE OF A REAL TIME SYSTEM. ONLY A MINIMUM RTE
  ENVIRONMENT IS REQUIRED.
  FOR THE DEVICE REFERENCE TABLE THE PROGRAM PRINTS EACH LOGICAL UNIT 
  NUMBER WITH ITS CORRESPONDING EQT AND SUBUNIT NUMBERS.
  FOR THE EQUIPMENT TABLE THE FOLLOWING IS PRINTED: EQUIPMENT TABLE NUMBER
  NUMBER, SELECT CODE, DRIVER FOR THE DEVICE, A 'D' IF DMA IS USED, A 'B' 
  IF BUFFERED, LAST SUBUNIT NUMBER, STATUS, AND TIME OUT FOR THE DEVICE.
  FOR THE PROGRAM ID TABLE THE FOLLOWING IS PRINTED FOR EACH PROGRAM: 
  PROGRAM NAME, PROGRAM TYPE, PRIORITY, STATUS, AND SUBSTATUS (WAIT,
  SUSPEND, DORMANT, OR ABORT), TIME RESOLUTION CODE, TIME MULTIPLE, NEXT
  EXECUTION TIME, A 'T' IF PROGRAM IS IN TIME LIST AND A 'P' IF PROGRAM 
  HAS BEEN LOADED DURING GENERATION. IF A PROGRAM IS DISC RESIDENT, MAIN
  CORE LIMITS, BASE PAGE LIMITS AND A PROGRAM DISC ADDRESS ARE ALSO 
  PRINTED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1. THE TYPE OF THE PROGRAM IS 3 AND THE PRIORITY IS 99. TO MODIFY THIS, 
     EDIT LINE 3. 
  
  2. ASSEMBLE THE PROGRAM, AND LOAD IT DURING SYSTEM GENERATION OR WITH 
     THE LOADER.
  
  
 **RUN INSTRUCTIONS:
  
  THE CALLING SEQUENCE IS:
  
  ON, LIST, P1, P2, P3
  
  WHERE: P1 = LIST DEVICE LU (PRESET TO 6 IF NOT GIVEN).
  
         P2 = PARAMETER WHICH DEFINES WHICH TABLE YOU WANT
              = 1 : LIST LU TABLE.
              = 2 : LIST EQT. 
              = 4 : LIST PROGRAM ID TABLE.
  
         YOU CAN ALSO ADD 2 OR 3 NUMBER TO OBTAIN 2 OR 3 TABLES 
         SIMULTANEOUSLY. [E.G., : P2 = 7 LISTS THE 3 TABLES (THIS 
         PARAMETER IS PRESET TO 7 IF NOT GIVEN)]. 
  
         P3 = 0 : LIST ALL ENTRIES IN THE TABLES. 
            = 1 : FOR EQT AND ID TABLE, LIST ONLY THOSE ENTRIES WHICH ARE 
                  BUSY (PRESET TO 0). 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  FOR EACH TABLE A TITLE IS PRINTED AND THEN THE CONTENTS OF THE TABLE. 
  
  
      LU = EQT [,4] 
      WHERE LU = LOGICAL UNIT NUMBER. 
            EQT [,4] = CORRESPONDING EQT NUMBER AND EVENTUALLY THE
            SUBUNIT NUMBER. 
  
   FOR EQT IT PRINTS: 
  
      EQ SC DVR## D B U# S TO 
      WHERE: EQ = EQUIPMENT TABLE NUMBER
             SC = SELECT CODE 
             DVR## = DRIVER FOR THIS DEVICE 
             D = 0 IF NO DMA IS USED
               = D IF DMA IS USED 
             B = 0 IN NON-BUFFERED
               = B IF BUFFERED
             U# = LAST USED SUBUNIT NUMBER
             S = STATUS (SEE RTE MANUAL)
             TO = TIME OUT FOR THIS DEVICE (IN 1/100 SEC.)
  
   FOR THE PROGRAM ID TABLE IT PRINTS:
  
   NAME I PR S-S R MTP HR MI SE MS T P PROG LIMITS B.P.LIM. D TRA SEC 
  
      WHERE:
      NAME = PROGRAM NAME 
      I    = PROGRAM TYPE 
      PR   = PRIORITY 
      S-S  = STATUS AND SUBSTATUS (SEE RTE MANUAL FOR STATUS) 
             THE SUBSTATUS CAN BE:
             = 0 : NO SUBSTATUS 
             = W : WAIT BIT SET 
             = S : SUSPEND BIT SET
             = D : DORMANT BIT SET
             = A : ABORT BIT SET
  
      R    = TIME RESOLUTION CODE (SEE RTE MANUAL)
      MTP  = TIME MULTIPLE
      HR, MI, SE, MS, 
           = NEXT EDUCATION TIME
      T    = T IF PROGRAM IS IN TIME LIST 
           = 0 IF NOT 
      P    = P IF PROGRAM HAS BEEN LOADED DURING GENERATION 
           = 0 IF PROGRAM HAS BEEN LOADED ON LINE 
      PROG LIMITS 
           = MAIN CORE LIMITS (*) 
      B.P.LIM 
           = BASE PAGE PROGRAM LIMITS (*) 
      D,TRA,SEC 
           = PROGRAM DISC ADDRESS (*) 
  
      (*) = ARE ONLY PRINTED FOR DISC RESIDENT PROGRAMS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THE P3 OPTION IS USED, IT IS AVAILABLE TO MAKE THE PROGRAM HIGH
  PRIORITY FOREGROUND.
E11801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MAPIO 
 **PROGRAM TITLE: 
  PRINT RTE I/O CONFIGURATION 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    SYSTEM TABLES   LIST            DRIVER
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-II    RTE-I 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PRINTS A COMPACT TABLE BY LOGICAL UNIT OF ANY RTE I/II OR
  III I/O CONFIGURATION. THE MAP INCLUDES THE LU, EQT, SELECT CODE, SUB-
  CHANNEL AND CHANNEL, EQT ADDRESS, DRIVER ADDRESS, AND DEVICE TYPE. THE
  OUTPUT CAN BE SENT TO ANY DEVICE AND DEVICE NAMES CAN BE CHANGED BY THE 
  USER. 
  
  HARDWARE REQUIREMENTS: TERMINAL OR PRINT DEVICE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  RU, LUMPR [,LU] 
      WHERE LU = LIST DEVICE LU (DEFAULT = TERMINAL LU) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IODVC - CONTAINS THE ASCII PRINT IMFORMATION ABOUT EACH DEVICE. 
  
  IGET  - RETRIEVES THE CONTENTS OF A MEMORY LOCATION; CALLABLE AS A
          FUNCTION SUBROUTINE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E11901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CLASS 
 **PROGRAM TITLE: 
  INTERROGATE CLASS I/O SYSTEM
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    SYSTEM TABLES   LIST
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE RTE-II OR RTE-III USER TO COMPLETELY INTERROGATE
  THE CLASS I/O SYSTEM. IT IS CAPABLE OF DISPLAYING THE ENTIRE CLASS TABLE
  STATUS, LISTING THE CONTENTS OF THE CLASS TABLE, AND CLEARING OUT 
  PENDING CLASS BUFFERS ON A PARTICULAR CLASS NUMBER. THE UTILITY IS
  COMPLETELY CONVERSATIONAL WITH ERROR MESSAGES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  RUN WITH OR WITHOUT ANY PARAMETER:
  
      P1  DISPLAY FLAG:  =O CONVERSATIONAL MODE 
  
                         #O FIRST CLASS # 
  
      P2  SECOND CLASS   #  (USED ONLY IF P,#O) 
  
      P3  DISPLAY LU
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERRORS ARE SELF-EXPLANATORY 
  
  
 **MISCELLANEOUS: 
  
  
E12001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TRACK 
 **PROGRAM TITLE: 
  RTE WORK AREA OWNERSHIP 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    DISC            SYSTEM TABLES   DIRECTORY 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
     THIS PROGRAM GIVES A COMPLETE BREAKDOWN IN TABULAR FORM OF THE RTE 
  SYSTEM AND AUXILIARY DISCS AS TO OWNERSHIP. THE PROGRAM LISTS SWAP
  TRACKS FOR PROGRAMS BEING SWAPPED AND THE SYSTEM LIBRARY ENTRY POINT
  TABLE. THE DISC SHOULD BE A 7900 OR 7905 DISC.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  SEE SOURCE LISTING. 
  CAUTION: DO NOT RUN ON A 72 OUTPUT CHARACTER TERMINAL AS OUTPUT EXCEEDS 
  72 CHARACTERS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E12101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EQTXX 
 **PROGRAM TITLE: 
  ACCESS EQT ENTRIES
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    SYSTEM TABLES   LIST
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  EQTXX IS USED TO ACCESS EQT ENTRIES. SPECIFIED WORDS OF AN EQT ENTRY
  CAN BE READ OR WRITTEN TO DYNAMICALLY CHANGE ASPECTS OF A DEVICE UNDER
  PROGRAM CONTROL. EQT ENTRIES CAN BE ACCESSED BY EQT # OR LU #.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE NORMALLY. APPEND TO USER PROGRAM AS A SUBROUTINE.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CALL EQIOR(6,4,40000B)
  
     THIS CALL WILL CHANGE LOGICAL UNIT 6 TO A BUFFERED UNIT. ANY OTHER 
     UNIT CONTROLLED BY THE SAME EQT WILL ALSO BECOME BUFFERED. 
  
  CALL EQSET(-4,15,-1)
  
     THIS CALL WILL SET THE TIME OUT CLOCK OF EQT 4 TO -1 SO THAT THE 
     DEVICE WILL TIME OUT ON THE NEXT TBG INTERRUPT.
  
  
 **PROGRAM DESCRIPTION: 
  
  THERE ARE 5 CALLS:
  
   I) CALL EQGET(LUEQ,IWORD,IVALU,IADR) WHERE 
  
       LUEQ = LOGICAL UNIT (+) OR EQT #, (-)
      IWORD = RELATIVE WORD OF EQT ENTRY (1-15) 
      IVLAU = CURRENT VALUE OF THE EQT ENTRY WORD. ALSO RETURNED IN THE 
              A REG.
       IADR = ADDRESS OF THE EQT ENTRY WORD. ALSO RETURNED IN THE B REG.
  
      IADR AND B REG RETURNED 0 IF LUEQ IS AN ILLEGAL NUMBER. 
  
   II) CALL EQAND(LUEQ,IWORD,IMASK) WHERE 
  
        LUEQ = SAME AS ABOVE. 
       IWORD = SAME AS ABOVE. 
       IMASK = 16 BIT MASK. 
  
      THE CONTENTS OF THE EQT ENTRY WORD IS LOGICALLY "ANDED" WITH IMASK
      AND STORED BACK.
  
   III) CALL EQIOR(LUEQ,IWORD,IMADK) WHERE
  
         SAME AS EQAND EXCEPT THE INCLUSIVE OR IS DONE. 
  
   IV)  CALL EQXOR(LUEQ,IWORD,IMASK)
  
         SAME AS EQAND EXCEPT THE EXCLUSIVE OR IS DONE. 
  
   V)   CALL EQSET(LUEQ,IWORD,IMASK)
  
         SAME AS EQAND EXCEPT THE EQT ENTRY WORD IS SET TO THE VALUE OF 
         IMASK. 
  
   FOR CALLS II-V, THE RESULTING VALUE IS RETURNED IN THE A REG AND THE 
   ADDRESS IS RETURNED IN THE B REG. IF AN ILLEGAL LU OR EQT NUMBER IS
   SPECIFIED, THE B REG IS RETURNED 0.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SINCE SYSTEM MEMORY CAN BE ALTERED, BE CAREFUL !! 
E12201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DFINE 
 **PROGRAM TITLE: 
  REDEFINE PARTITIONS ON-LINE 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    MEMORY          BOOT-UP 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE USER TO REDEFINE PARTITIONS IN RTE-III WHILE
  ON-LINE. CHANGES MAY BE MEMORY ONLY, DISC ONLY, OR MEMORY AND DISC. THE 
  SYSTEM MAY BE ACTIVE WHILE PARTITIONS ARE BEING REDEFINED. THERE ARE
  MINIMAL CAUTIONS (INPUT ERRORS WHICH CAN NOT BE DETECTED): THESE ARE
  EXPLAINED IN THE DOCUMENTATION. PAGES WITH PARITY ERRORS MAY BE OMITTED 
  FROM THE REDEFINED PARTITIONS. PARTITION DEFINITION FOLLOWS THE SAME
  PROCEDURE AS THE GENERATOR ITSELF (EXCEPT THE GENERATOR DOES NOT EXCLUDE
  PAGES WITH PARITY ERRORS). IT STARTS BY PRINTING THE PAGE REQUIREMENTS
  OF REAL-TIME AND BACKGROUND PROGRAMS AND ANY PARTITION ASSIGNMENTS. 
  MEMORY SIZE IS REQUESTED: THE RESPONSE MAY BE A MEMORY SIZE LESS THAN OR
  GREATER THAN SPECIFIED AT GENERATION. THE EASE OF REDEFINING PARTITIONS 
  PERMITS THE USER TO EXPERIMENT TO FIND THE OPTIMUM FOR HIS APPLICATION
  AND TO MAKE CHANGES TO ACCOMODATE OCCASIONAL UNUSUAL NEEDS. FOR EXAMPLE,
  A PARTITION EQUAL TO THE MAXIMUM ADDRESSABLE (SAY 14 PAGES) MAY BE
  NEEDED FOR A PROGRAM THAT IS RUN ONCE A MONTH. THE REST OF THE TIME, A
  14 PAGE PARTITION WOULD BE WASTEFUL OF MEMORY. SOME OF THE QUESTIONS A
  USER MIGHT HAVE ARE:
  
  1. HOW MANY PARTITIONS DO I NEED? 
  2. HOW MANY SHOULD BE REAL-TIME AND HOW MANY SHOULD BE BACKGROUND?
  3. SHOULD SOME OF MY PARTITIONS BE RESERVED FOR SPECIAL PROGRAMS? 
     WHICH PARTITIONS AND WHICH PROGRAMS? 
  
  DFINE MAKES IT EASY TO EXPERIMENT WITH THESE PARAMETERS AND CHANGE THE
  PARTITIONS WITHOUT REGENERATION. THIS PLACES LESS OF A BURDEN UPON THE
  USER TO THOROUGHLY ANALYZE HIS NEEDS PRIOR TO DOING THE GENERATION. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: DOCUMENTATION AND SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  FILE#  5: SOURCES 
  FILE#  6: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE DFINE 
  2. LOAD 
  NOTE: SWPIT IS A PROGRAM, NOT A SUBROUTINE. 
  
  
 **RUN INSTRUCTIONS:
  
  SEE DOCUMENTATION IN FILE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  SEE SOURCE FILE.
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERROR MESSAGES ARE TOTALLY CONVERSATIONAL.
  
  
 **MISCELLANEOUS: 
  
  
E12301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MEMAL 
 **PROGRAM TITLE: 
  MEMORY ALLOCATION DIAGRAM 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    MEMORY          STATUS          SYSTEM TABLES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THIS PROGRAM PRINTS OUT A DIAGRAM OF THE CPU MEMORY ALLOCATIONS
  IN A CONFIGURED RTE II SYSTEM. THE OCTAL STARTING ADDRESS OF EACH 
  PORTION OF MEMORY (E.G., FOREGROUND COMMON, FOREGROUND DISC RESIDENT, 
  ETC.) IS GIVEN. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  NORMAL LOAD 
  
  
 **RUN INSTRUCTIONS:
  
  RU,MEMAL,LIST      WHERE LIST IS THE LU DEVICE WHERE THE DIAGRAM IS 
                     TO BE PRINTED. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE: 
     PAGE A-2, RTE-II SOFTWARE SYSTEM PROGRAMMING AND OPERATING MANUAL. 
E12401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CNFG
 **PROGRAM TITLE: 
  CNFG
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    HP-IB           STATUS
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS FORTRAN PROGRAM DESCRIBES IN AN EASY TO READ FORMAT, THE CURRENT 
  CONFIGURATION AND STATUS OF HP-IB IN, RTE-M, RTE-II, RTE-III AND
  RTE-IV WHEN USING DRIVER DVR37 (REV. 1840) WITH SRE PROGRAM SCHEDULING. 
  
  THE PROGRAM IS ORIENTED TO THREE CONCEPTS:
  
  1. HP-IB EQUIPMENT TABLE INFORMATION. 
  
  2. THE HP-IB BUS LOGICAL UNIT (WHEN ON IS ASSIGNED).
  
  3. THE HP-IB DEVICE LOGICAL UNIT (WHEN ONE OR MORE ARE ASSIGNED). 
  
  "CNFG" PRINTS OUT THE CURRENT HP-IB CONFIGURATION IN AN HP-1000 
  SYSTEM. 
  RU,CNFG                 - FOR ALL HP-IB EQT'S AND LUS.
  RU,CNFG,INPUT,LIST,EQT  - FOR A PARTICULAR EQT AND ALL ASSOCIATED LU'S. 
  RU,CNFG,,,,LU           - FOR A PARTICULAR LU.
  RU,CNFG,,,EQT,LU        - FOR A MATCHING EQT AND LU.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
       RUN STATEMENT: 
  
                     :RU,BS,LIST LU#, EQT#,LU#
       IN A SESSION ENVIRONMENT 'LIST LU#' IS THE SESSION LIST LU.
       IN A NON-SESSION ENVIR.,'LIST LU#' IS THE SYSTEM LIST LU.
     - A DASH ('-') INDICATES ALL LU'S. 
     - A NEGATIVE LU# INDICATES A SESSION LU# 
     - NON-ZERO PARAMETER 4 SURPRESSES AUTO CLEANUP 
  
      EXAMPLES: 
  
  RU,BS                  GIVES ALL HP-IB INFORMATION
  RU,BS,,,11             GIVES INFO FOR HP-IB EQT 11
  RU,BS,,,11,-1          GIVES INFO FOR EQT11 AND ALL ASSOC. LUS
  RU,BS,,,11,19          GIVES INFO FOR EQT11 AND LU19
  RU,BS,,,,19            GIVES INFO FOR LU19
  RU,BS,,,-18            GIVES INFO FOR SESSION LU18
  RU,BS,,11,-18          GIVES INFO FOR EQT11 AND SESSION LU18
  RU,BS,,,,1             NON-ZERO PARAMETER 4 SURPRESSES AUTO CLEANUP 
  
       BESIDES SUPPLYING THE INFORMATION DESCRIBED ABOVE, 'BS' WILL 
  CLEAN UP EQT INCONSISTANCIES CAUSED BY ASSIGNING A LOGICAL UNIT AN
  EQT AND A DEVICE ADDRESS, MAKING A REQUEST TO THE LOGICAL UNIT, 
  THEN REASSIGNING THE LOGICAL UNIT WITHOUT MAKING A REQUEST TO 
  UNCONFIGURE THE DEVICE. THE OPERATOR AT THE INPUT TERMINAL IS INFORMED
  OF THE CLEANUP. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  NOTE: *** THE SUBROUTINE 'DTACH' (RTE RELOCATABLE LIBRARY)
  IS USED BY '&BS' FOR SESSION USERS. NON-SESSION USERS 
  SHOULD REMOVE THE SUBROUTINE CALL FROM THE SOURCE '&BS'.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
       THE SUBROUTINE 'FTIME' IS OPTIONAL (IT'S IN THE RELOCATABLE
  LIBRARY) AND MAY BE LEFT OUT BY INSERTING A 'C' IN THE
  LINE CONTAINING THE CALL TO THE SUBROUTINE (IN THE SOURCE LISTING). 
  'FTIME' SIMPLY INCLUDES THE DATE, AND TIME ON THE OUTPUT LISTING
  WHEN 'BS' IS OUTPUT OR SPOOLED TO A LINEPRINTER.
E12501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CLIST 
 **PROGRAM TITLE: 
  DISC USAGE DISPLAY
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    LIST            CARTRIDGE       DISC
    SYSTEM TABLES   DIRECTORY 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM DISPLAYS THE INFORMATION FOUND IN THE TRACK ASSIGNMENT 
  TABLE AND THE CONTENTS OF THE FILE MANAGER DIRECTORIES OF ALL 
  MOUNTED CARTRIDGES. 
  
  AS A RESULT OF SUMMING THE TRACK ASSIGNMENT TABLE ENTRIES BY OWNER
  THE LIST IS GENERALLY SHORT, 10 TO 15 LINES.
  
  THE CARTRIDGE LIST SECTION PRODUCES ONE LINE FOR EACH MOUNTED CARTRIDGE 
  CONTAINING ALL THE INFORMATION AVAILABLE BY THE USE OF THE 'CL' AND 
  'DL' COMMANDS. IN ADDITION, THE AMOUNT OF AVAILABLE DISC SPACE, THE 
  AMOUNT OF DISC SPACE CONTAINED IN PURGE FILES, AND THE NUMBER OF
  DIRECTORY ENTRIES IN USE ARE DISPLAYED. 
  
  CLIST WILL EXECUTE ON ANY RTE-II, RTE-III, OR RTE-IV SYSTEM WITH
  ANY COMBINATION OF 2870, 7900, 7905, 7920, OR 7925 DISC'S.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF CLIST IS TOO LARGE FOR YOUR SYSTEM, THE DIRECTORY BUFFER 
  IS 8K FOR A 7925. IF REDUCING THIS TO 6K IS NOT ENOUGH, 
  THE DIRECTORY SCAN CAN BE DONE 1 BLOCK AT A TIME. 
E12601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  AUTLU 
 **PROGRAM TITLE: 
  AUTLU - HP-IB LOGICAL UNIT NUMBERS
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    HP-IB           SYSTEM TABLES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
       THIS PACKAGE CAN OBTAIN THE HP-IB LU FOR A NEW HP-IB INSTRUMENT, 
  GIVEN ONLY THE MODEL NUMBER AND OPTIONALLY THE INSTRUMENT NUMBER (IF
  MULTIPLE INSTRUMENTS HAVING THE SAME MODEL NUMBER ARE PRESENT). 
  
       THESE PROGRAMS AND SUBROUTINES ARE FULLY DOCUMENTED IN APPLICATION 
  NOTE 401-1 CHAPTER 6. THIS APPLICATION NOTE SHOULD BE READ FOR COMPLETE 
  DETAILS. THE SERIES OF PROGRAMS GIVEN WORK INSIDE OR OUTSIDE OF THE 
  SESSION ENVIRONMENT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: *MOV1 
  FILE#  3: &TDLU 
  FILE#  4: &INPRM
  FILE#  5: >DLU
  FILE#  6: &AUTLU
  FILE#  7: *AUTOP
  FILE#  8: >SLU
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  FOR COMPLETE DOCUMENTATION, SEE APPLICATION NOTE 401-1 CHAPTER 6
  PART NUMBER #5953-2800
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  RTE DISC BASED SYSTEMS REQUIRED 
E12701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ENTPT 
 **PROGRAM TITLE: 
  LIST RTE II SYSTEM ENTRY POINTS 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    LIST            SYSTEM TABLES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       PROGRAM ENTPT PRODUCES AN ALPHABETIC LIST OF ENTRY POINTS FOR
  AN RTE II SYSTEM. THE LIST INCLUDES THE NAME AND ADDRESS OF EACH ENTRY
  POINT. SEE HP COMPUTER SYSTEMS COMMUNICATOR, ISSUE NO.9, 1,JULY,1976, 
  PAGE 422. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RU,ENTPT,LISTLU 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
       A STOP WILL OCCUR IF THERE ARE MORE THAN 1500 ENTRY POINTS. THIS 
  CAN BE OVERCOME BY ALTERING THE PROGRAM TO HANDLE MORE ENTRY POINTS.
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
       HP COMPUTER SYSTEMS COMMUNICATOR, ISSUE NO. 9, 1 JULY 1976,
  PAGE 422. 
E12801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DISC
 **PROGRAM TITLE: 
  DISC TRADE CONFIGURATION PRINTOUT 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    DISC            SYSTEM TABLES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM LOCATES THE PHYSICAL DISC TRACK MAP TABLE ENTRY POINT
  ($TB32) ON DISC AND THEN PROCEEDS TO PRINT A COMPACT TABEL OF ALL 
  DEFINED DISC SUBCHANNELS ORDERED BY SUBCHANNEL NUMBER. THE PROGRAM
  REQUIRES NO INTERACTIVE INPUT BUT CHECKS FOR A CORRUPT SYSTEM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTING
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  /DISC: DISC IS NOT A 7905, 7906, 0R 7920
  /DISC: CORRUPT SYSTEM. TRACK=NNN SECTOR=NNN 
  
  
 **MISCELLANEOUS: 
  
  
E12901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LTAPE 
 **PROGRAM TITLE: 
  HP 1000 MAG TAPE DUMP ANALYZER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  6
  
 **KEYWORDS:
    FORMATTING      MAGNETIC TAPE   ANALYZER
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
       THIS PROGRAM ALLOWS A 9 TRACK OR 7 TRACK MAGNETIC TAPE OF ANY
  DENSITY TO BE ANALYZED FOR SUCH ITEMS AS RECORD LENGTH, PARITY ERRORS,
  NUMBER OF FILES, AND OTHER TAPE CONTROLLER STATUS. THE PROGRAM PERFORMS 
  A COMPLETE HARDWARE AND SOFTWARE CHECK AND PRINTS RESULTING TAPE
  STATISTICS AS TO TOTAL NUMBER OF RECORDS AND AVERAGE RECORD LENGTH. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: <APE - SOURCE CODE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RU,LTAPE [,MAG-TAPE-LU [,LIST-LU [,#FILES]]]
  
   MAG-TAPE-LU -----> LUN OF THE MAG TAPE TO BE ANALYZED. 
                      (DEFAULT=8) 
  
   LIST-LU ---------> LUN OF THE LIST DEVICE TO RECEIVE THE OUTPUT. 
                      (DEFAULT=TERMINAL)
  
   #FILES ----------> MAXIMUM NUMBER OF FILES TO BE PROCESSED.
                      (DEFAULT=1 OR UNTIL EOT IS REACHED) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
   THIS PROGRAM ALLOWS A 9-TRACK OR 7-TRACK MAG TAPE OF ANY DENSITY TO
  BE ANALYZED AS TO HOW MANY RECORDS THERE ARE ON THE TAPE AND WHAT IS
  EACH RECORD LENGTH. THE PROGRAM WILL ANALYZE ANY NUMBER OF FILES OF 
  RECORDS WHERE THE MAXIMUM RECORD LENGTH IN ANY GIVEN FILE IS 12288
  WORDS. THIS RESULTS IN A REQUIRED PROGRAM SIZE OF 17K WORDS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E13001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GFORM 
 **PROGRAM TITLE: 
  GFORM - FORMATTER AND EDITOR FOR HP 2640B TERMINAL. 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    TERMINAL        EDITOR
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROVIDES PROGRAMMING AID FOR INPUTTING AND EDITING FORMS CREATED ON 
  AND FOR A HP 2640B TERMINAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: GFORM 
  FILE#  3: COLON 
  FILE#  4: RDFRM 
  
  
 **LOAD INSTRUCTIONS: 
  
  NORMAL PROCEDURE
  
  
 **RUN INSTRUCTIONS:
  
  NORMAL PROCEDURE
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  PROGRAM IS TUTORIAL 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  NOTE: RUN FROM 2640B TERMINAL 
E13101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FRSEQ 
 **PROGRAM TITLE: 
  FORTRAN SOURCE RESEQUENCER
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    FORTRAN         EDITOR
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-IV    RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ACCEPTS FORTRAN SOURCE LANGUAGE STATEMENTS AND 
  SEQUENTIALLY RESEQUENCES ALL STATEMENT LABELS AS THEY OCCUR IN
  COLUMNS 1-5. THE PROGRAM IS INTERACTIVE AND THE RESULTING OUTPUT IS 
  ALSO PRINTED ON THE TERMINAL. THE ONLY SYNTAX CHECK PERFORMED IN THE
  AREA OF ERRORS IS TO CHECK FOR AN UNDEFINED STATEMENT LABEL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD WITH STANDARD PROGRAM SIZE WHICH SHOULD BE ENOUGH TABLE SPACE
  FOR A VERY LARGE FORTRAN PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  RETRY? - RESPOND WITH YE OR NO
  UNDEFINED STATEMENT NO. - NO RECOVERY BUT FILE IS CLOSED. 
  FRSEQ ABORTED 
  
  
 **MISCELLANEOUS: 
  
  
E13201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  TELL AND TELL ALL INTERTERMINAL MESSAGE SENDING 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    MESSAGE         MULTITERMINAL   TERMINAL
    TEXT
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  SYSTK REQUIRES 2 PAGES. SMESS REQUIRES 5 PAGES. 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE IS COMPOSED OF TWO MAIN PROGRAMS.
  SYSTK ENABLES MESSAGE COMMUNICATION BETWEEN TWO TERMINALS IN A MTM
  ENVIRONMENT. UP TO 10/80 CHARACTER MESSAGE LINES MAY BE SENT FROM ONE 
  TERMINAL TO ANOTHER. CONTROL MAY BE MAINTAINED AT ONE TERMINAL OR PASSED
  ALONG WITH / OR WITHOUT A MESSAGE TO THE SECOND TERMINAL. FUNCTIONS ARE 
  DETERMINED THROUGH 4 COMMANDS PRECEEDED BY A PROGRAM PROMPT (?):
  
       1. TEXT - READ THE CURRENT CONTROL TTY'S MESSAGE (?? AT THE START
                 OF A LINE RETURNS TO PROMPT OR 10 LINES, WHICHEVER COMES 
                 FIRST).
       2. SEND - OUTPUT THE CURRENT MESSAGE BUFFER AND RETAIN CONTROL.
       3. GIVE - OUTPUT THE CURRENT MESSAGE BUFFER (IF ANY) AND PASS
                 CONTROL TO NEXT USER.
       4. END  - TERMINATE SYSTK. 
  
  SMESS ENABLES SYSTEM CONSOLE (OR INITIATOR) TO OUTPUT A MESSAGE TO ALL
  TTY'S IN A MTM ENVIRONMENT. 
  UP TO 10/80 CHARACTER MESSAGE LINES MAY BE SENT / TEXT-SEND COMMAND. THE
  FIRST MESSAGE SENT ALSO INCLUDES THE GREGORIAN DATE AND CURRENT TIME. 
  SMESS FUNCTIONS ARE DETERMINED THROUGH 3 COMMANDS PRECEEDED BY A PROGRAM
  PROMPT (?): 
  
       1. TEXT - READ UP TO 10 LINES OF MESSAGE FROM THE SYSTEM CONSOLE 
                 (OR INITIATOR).
                 (10 LINES OR A (??) AT THE START OF A LINE RETURNS 
                 PROMPT). 
       2. SEND - OUTPUT THE MESSAGE TO ALL ONLINE TERMINALS.
       3. END  - TERMINATE SMESS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  FILE#  5: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. LOAD SYSTK AS FOREGROUND DISC OR CORE RESIDENT.
  2. LOAD SMESS AS FOREGROUND DISC RESIDENT-
     5 PAGES REQUIRED -(SIZE MAY BE REDUCED BY REMOVING DATE AND TIME CODE
     AS IT BRINGS IN THE FORMATTER ETC.)
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  INCLUDED IN SOURCE LISTING FOR SYSTK. 
  
  
 **PROGRAM DESCRIPTION: 
  
  SYSTK - USER MAY WISH TO MODIFY ROUTINE TO LOCK DEVICES OUT FROM OTHER
          ROUTINES. 
  
  SMESS - ONLY TYPE 'O' DEVICES ARE QUALIFIED AS OUTPUT. BIT'S 14 AND 15
          OF EQT WORD 5 ARE TESTED FOR DEVICE DOWN ONLY. USER MAY WISH TO 
          PUT MORE RESTRICTIONS ON DEVICE AVAILABILITY. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  INVALID COMMANDS PASS CONTROL TO PROMPT CHARACTER.
  
  
 **MISCELLANEOUS: 
  
  
E13301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP-IB PERFORMANCE UTILITY 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    HP-IB           PERFORMANCE 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PERFORMANCE UTILITY IS A SERIES OF PROGRAMS WRITTEN TO CHARACTERIZE
  THE REAL TIME MINICOMPUTER OR THE HP-IB.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SPEED SOURCE
  FILE#  3: ETIME SOURCE
  FILE#  4: MEMAA SOURCE
  FILE#  5: CMPUT SOURCE
  FILE#  6: TIMEX SOURCE
  FILE#  7: COLON SOURCE
  FILE#  8: FIGUR SOURCE
  FILE#  9: EXTENDED DOCUMENTATION FILE 
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **MISCELLANEOUS: 
  
  
E13401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CAMAC 
 **PROGRAM TITLE: 
  CAMAC DRIVER PACKAGE
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          CAMAC 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-II    RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
       THE CAMAC DRIVER PACKAGE OPERATES ON A HP 2100 OR HP 21MX COMPUTER 
  UNDER RTE-II, RTE-III, OR RTE-IV. THE PACKAGE CONSISTS OF 
  
  1.   A CAMAC DRIVER (I/O HANDLER) (DVA54). THIS IS A SYSTEM RESIDENT
       ROUTINE ALLOWING USER PROGRAM ACCESS TO CAMAC COMPATIBLE 
       EQUIPMENT. 
  
  2.   A INTERACTIVE DIAGNOSTIC PROGRAM (CAM2). THIS IS AN INTERACTIVE
       PROGRAM USED FOR TESTING CAMAC EQUIPMENT AND THE DRIVER. 
  
  3.   AN ARRAY INITIALIZATION SUBROUTINE (FILL). THIS SUBROUTINE WILL
       INITIALIZE AN ARRAY TO ANY DESIRED VALUE. ALL ENTRIES IN THE ARRAY 
       WILL CONTAIN THE SAME VALUE. THIS SUBROUTINE IS CALLED BY CAM2.
  
  4. THE CAMAC DRIVER PACKAGE RUNS ON THE HP 2100 OR HP 21MX COMPUTER 
      PLUS WITH ONE MORE OF THE FOLLOWING:
  
            1) PHYSICAL DATA 515 DIGITAL RECORDER SYSTEM
            2) CAMAC CRATE WITH BORER CRATE CONTROLLER
            3) AN LSI-11 WHICH SIMULATES A BORER CRATE CONTROLLER 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: CAMAC2-  USED FOR TESTING CAMAC EQUIP. AND DRIVER.
  FILE#  3: CAMAC3 - SYS. RESIDENT FOR ACCESS TO CAMAC EQUIP. 
  FILE#  4: CAMAC4 - INITIALIZE ARRAY TO DESIRED VALUES.
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD AND RUN INSTRUCTIONS.
  1. DRIVER (DVA54). THIS DRIVER OPERATES IN TWO MODES: 
     A. NORMAL MODE. THIS IS SELECTED BY SPECIFYING "N" ON THE "ASMB" 
        CONTROL STATEMENT. WHEN OPERATING IN THIS MODE, THE DRIVER IS A 
        STANDARD RTE DRIVER, AND MUST BE INCLUDED IN THE SYSTEM AT
        GENERATION TIME. IN THE PROGRAM INPUT PHASE OF THE GENERATION 
        ANSWER FILE, THIS IS THE LINE "REL,%DVA54". 
     B. "DEBUG" MODE. THIS IS SELECTED BY SPECIFYING "Z" IN THE "ASMB"
        CONTROL STATEMENT. WHEN OPERATING IN THIS MODE, THE DRIVER IS 
        LOADED AS A SUBROUTINE WITH THE PROGRAM THAT USES IT. THE "Z" 
        ENABLES THE ASSEMBLY OF FORTRAN CALLABLE SUBROUTINES WHICH WILL 
        ADJUST THE EQUIPMENT TABLE TO POINT TO THE VERSION OF THE DRIVER
        LOADED WITH THE PROGRAM THAT CALLS IT.
  
        W A R N I N G S !!! 
  
        1. "DEBUG" MODE IS VALID ONLY FOR RTE-II. DO NOT TRY TO USE IT
           FOR RTE-III OR RTE-IV. 
        2. THE CALLING PROGRAM MUST BE LOCKED INTO CORE WHEN USING THE
           DRIVER IN "DEBUG" MODE.
        3. ONLY ONE PROGRAM AT A TIME MAY USE THE DEVICE BEING ACCESSED 
           BY THE DRIVER. 
  
  DEVICE SPECIFICATIONS:
       THE BORER INTERFACE IS ASSUMED TO BE A TWO-CARD DEVICE. IT IS TO 
  BE CONFIGURED SUCH THAT SLOT "SC" IS THE COMMAND CHANNEL, AND SLOT
  "SC+1" IS THE DATA CHANNEL. 
  
       THE PHYSICAL DATA 515 IS A ONE-CARD DEVICE.
  
       IT IS ASSUMED THAT THE LSI-11 REQUIRES ONE INTERFACE CARD. 
  EQUIPMENT TABLE SPECIFICATION:
       AN EQUIPMENT TABLE SPECIFICATION SHOULD LOOK LIKE: 
            SC,DVA54,D,T=TTT
  WHERE 
     SC     = SELECT CODE OF THE DEVICE. FOR THE BORER INTERFACE, THIS
              IS THE SELECT CODE OF THE COMMAND CHANNEL.
     TTT    = TIME-OUT VALUE. THIS VALUE SHOULD DEPEND UPON THE DATA
              TRANSFER RATE BETWEEN THE DEVICE AND THE COMPUTER.
  SUBCHANNEL SPECIFICATION: 
     THE FOLLOWING SUBCHANNEL ASSIGNMENTS SHOULD BE USED: 
              SUBCHANNEL 0 = PHYSICAL DATA 515
              SUBCHANNEL 1 = AN LSI-11 SYSTEM 
              SUBCHANNEL 3 = A BORER INTERFACE
  FOR OTHER DEVICES THAT MAY BE INTERFACED WITH THIS DRIVER, THE
  FOLLOWING RULES SHOULD BE FOLLOWED: 
     1.       SUBCHANNELS 0 AND 1 ARE FOR 1-SLOT DEVICES. 
     2.       SUBCHANNELS GREATER THAN 1 ARE FOR 2-SLOT DEVICES.
     3.       EVEN SUBCHANNELS ARE FOR DEVICES THAT RUN IN DMA "FREE- 
              RUN" MODE (NO STC FOR EACH WORD TRANSFERRED). 
     4.       ODD SUBCHANNELS ARE FOR DEVICES THAT RUN IN "HANDSHAKE" 
              MODE (STC REQUIRED FOR EACH WORD TRANSFERRED).
  INTERRUPT TABLE SPECIFICATION:
     THE INTERRUPT TABLE SPECIFICATION FOR THIS DRIVER SHOULD LIKE: 
              SC,EQT,EEE
  WHERE 
              SC  = SELECT CODE OF THE DEVICE.
              EEE = EQUIPMENT TABLE NUMBER OF THE DEVICE. 
  EXAMPLE: THE FOLLOWING EXAMPLE DEMONSTRATES THESE PRINCIPLES: 
     * PROGRAM INPUT PHASE: 
          REL,%DVA54                   * CAMAC DRIVER 
             .
             .
             .
  * EQUIPMENT TABLE ENTRIES 
             .
             .
             .
        21,DVA54,D,T=500               * EQT 21 = PHYSICAL DATA 515 
        22,DVA54,D,T=500               * EQT 22 = AN LSI-11 SYSTEM
        23,DVA54,D,T=500               * EQT 23 = A BORER INTERFACE 
             .
             .
             .
  * DEVICE REFERENCE TABLE (LU) ENTRIES 
             .
             .
             .
        21,0                           * LU  21 = PHYSICAL DATA 515 
        22,1                           * LU  22 = AN LSI-11 SYSTEM
        23,3                           * LU  23 = BORER INTERFACE 
             .
             .
             .
  *INTERRUPT TABLE ENTRIES
             .
             .
             .
        21,EQT,21                      * SC  21 = PHYSICAL DATA 515 
        22,EQT,22                      * SC  22 = LSI-11 SYSTEM 
        23,EQT,23                      * SC  23 = BORER COMMAND CHANNEL 
        24,EQT,23                      * SC  24 = BORER DATA CHANNEL
  2. CAMAC DIAGNOSTIC AND TEST PROGRAM (CAM2) 
        CAM2 ALSO OPERATES IN TWO MODES, CORRESPONDING TO THE MODES OF
        OPERATION OF THE DRIVER:
     A. NORMAL MODE. THIS MODE IS SELECTED BY NOT SPECIFYING THE "D" IN 
        THE "FTN4" CONTROL STATEMENT. THIS MODE IS FOR USE WITH THE 
        NORMAL MODE OF THE DRIVER. THE MEMORY RESIDENT VERSION OF THE 
        DRIVER IS USED. 
     B. "DEBUG" MODE. THIS MODE IS SELECTED BY SPECIFYING "D" IN THE
        "FTN4" CONTROL STATEMENT. THIS MODE IS FOR USE WITH THE "DEBUG" 
        MODE OF THE DRIVER. THE DRIVER MUST BE INCLUDED WITH THE
        PROGRAM AT LOAD TIME. 
  LOADING CAM2. 
     WHEN USING THE RTE-IV OR THE DS/1000 LOADER, THE FOLLOWING LOAD
  FILE SHOULD BE USED TO LOAD CAM2: 
        REL,%CAM2,,                    LOAD MAIN PROGRAM
        REL,%DVA54,,                   LOAD DRIVER IF DRIVER AND CAM2 
                                       IN "DEBUG" MODE
        REL,%FILL,,                    LOAD ARRAY INITIALIZATION
                                       SUBROUTINE 
        END 
  WHEN USING THE RTE-II LOADER, USE THE FOLLOWING FILE MANAGER
  PROCEDURE FILE: 
        :LG,1,,,                       ALLOCATE SOME LOAD AND GO
                                       TRACKS 
        :MR,%CAM2,,,                   MOVE MAIN PROGRAM CAM2 
        :MR,%DVA54,,,                  MOVE DRIVER IF DRIVER AND CAM2 
                                       IN "DEBUG" MODE
        :MR,%FILL,,,                   MOVE ARRAY INITIALIZATION
                                       SUBROUTINE 
        :RU,LOADR,99,6,,,,,            RUN LOADER, SPECIFYING LOAD
                                       AND GO AS INPUT. 
  
  
 **RUN INSTRUCTIONS:
  
  RUN INSTRUCTIONS ARE IN THE LOAD INSTRUCTIONS SECTION.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  EXAMPLE INPUT/OUTPUT (TEST CASE)
  
  THESE EXAMPLES WILL INVOLVE INTERACTION WITH TWO TYPES OF SYSTEMS.
  1.   IN THE PHYSICAL DATA 515 SYSTEM, THE "N" FIELD (BITS 13-9) OF THE
       COMMAND WORD IS THE MODULE ADDRESS. THE MASTER CONTROL UNIT (MCU)
       IS AT MODULE ADDRESS 1. MODULE NUMBER 1 IS AT MODULE ADDRESS 2,
       MODULE NUMBER 2 IS AT MODULE ADDRESS 3, AND SO ON. THE LOGICAL 
       UNIT OF THE PHYSICAL DATA IS LU 10.
  
                  PHYSICAL DATA EXAMPLE 
  
  *ON,FMG01 
  
  :RU,CAM2
  
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  3,10,1,0,1,0,26 - ARM PHYSICAL DATA (MCU) 
      COMMAND SUBMITTED IS    001021
      CAMAC LU IS             10
      CAMAC STATUS = 026000, TRANSMISSION LOG =     1 WORDS 
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  1,10,1,1,1,0,4  - READ TIME BASE AND STATUS FROM MCU
      COMMAND SUBMITTED IS    10
      CAMAC STATUS = 026000, TRANSMISSION LOG =     1 WORDS 
  1      002417 
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  1,10,1,1,2,0,1  - READ ATTENUATOR SETTING AND OVERFLOW FROM MODULE
                    NUMBER 1
      CAMAC LU IS             10
      CAMAC STATUS = 026000, TRANSMISSION LOG =     1 WORDS 
  1      177767 
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  1,10,25,2,2,0,0 - READ OUT MEMORY OF MODULE NUMBER 1 TO LIST OU ON LINE 
                    PRINTER, TYPE 1,10,25,2,2,0,0,6 
      COMMAND SUBMITTED IS    102000
      CAMAC LU IS             10
      CAMAC STATUS = 027000, TRANSMISSION LOG =    25 WORDS 
  
  1     001454     000000     000000     000000     000000
        000000     000000     000000     000000     000000
        000000     000000     000000     000000     000000
        000000     000000     000000     000000     000000
        000000     000000     000000     000000     000000
  
      REQUEST, LU, - WORDS, M, N, A, F, LIST/DATA?? 
   /E 
      CAM2    :   STOP    0077
  :EX 
   &END FMGR
   &END FMGR
  2. BORER INTERFACE
       INTERACTION WILL BE WITH A CAMAC DATAWAY DISPLAY LOCATED IN CRATE. 
  STATION 22 ("N" = 22). THE LOGICAL UNIT OF THE BORER INTERFACE IS LU
  17. 
  
  *ON, FMG01
  :RU,CAM2
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  3,17,1,0,22,0,9 
      COMMAND SUBMITTED IS    026011
  CAMAC LU IS       17
  CAMAC STATUS = 026300, TRANSMISSION LOG =    1 WORDS
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  2,17,1,0,22,0,16,123456B - WRITE 123456B TO DATAWAY DISPLAY 
      COMMAND SUBMITTED IS    026020
  CAMAC LU IS       17
  CAMAC STATUS = 026300, TRANSMISSION LOG =    1 WORDS
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  1,17,1,0,22,0,0 - READ IT BACK
      COMMAND SUBMITTED IS    026000
  CAMAC LU IS       17
  CAMAC STATUS = 026300, TRANSMISSION LOG =    1 WORDS
  1   123456
      REQUEST, LU, # WORDS, M, N, A, F, LIST/DATA?? 
  1,17,25,1,22,0,0 - READ DMA FROM DATAWAY DISPLAY TO LIST ON LINE
                     PRINTER, TYPE IN 1,17,25,1,22,0,0,6
      COMMAND SUBMITTED IS    066000
  CAMAC LU IS       17
  CAMAC STATUS = 026300, TRANSMISSION LOG = 25 WORDS
  
  1     123456     123456     123456     123456     123456
        123456     123456     123456     123456     123456
        123456     123456     123456     123456     123456
        123456     123456     123456     123456     123456
        123456     123456     123456     123456     123456
  
   /E EXIT CAM2 
     CAM2    :    STOP   0077 
  :EX 
   &END FMGR
  
  
 **PROGRAM DESCRIPTION: 
  
  PROGRAM DESCRIPTION 
  THE CAMAC DRIVER PACKAGE CONSISTS OF THREE PARTS: 
       1. AN RTE DRIVER (DVA54) WHICH IS USED TO HANDLE THE FOLLOWING 
          DEVICES:
          A. PHYSICAL DATA 515 TRANSIENT RECORDERS
          B. CAMAC CRATE WITH A BORER CRATE CONTROLLER
          C. LSI-11, WHICH SIMULATES A BORER CRATE CONTROLLER 
  
       2. AN INTERACTIVE DIAGNOSTIC PROGRAM (CAM2), WHICH THE USER USES 
          TO ISSUE COMMANDS TO THE DRIVER. THIS PROGRAM PROVIDES A TEST 
          FOR BOTH THE DRIVER AND THE PHYSICAL DATA/CAMAC/LSI-11 SYSTEMS
          WHICH IT IS SUPPOSED TO HANDLE. 
  
       3. AN ARRAY INITIALIZATION SUBROUTINE, FILL, WHICH IS CALLED BY
          CAM2. 
  
  THE CAMAC DRIVER (DVA54). 
  THIS DRIVER IS CALLED IN THE RTE SYSTEM BY USING ONE OF THE FOLLOWING 
  EXEC CALLS: 
       1. READ -
               CALL EXEC(1,LU,IBUF,LENGTH,MNAF) 
  
       2. WRITE (BORER OR LSI-11 ONLY) -
               CALL EXEC(2,LU,IBUF,LENGTH,MNAF) 
  
       3. CONTROL - 
               CALL EXEC(3,LU,NAF)
  
  WHERE 
      LU           = LOGICAL UNIT OF DEVICE 
      IBUF         = BUFFER INTO WHICH DATA IS READ, OR 
                     BUFFER FROM WHICH DATA IS WRITTEN. 
      LENGTH       = NUMBER OF WORDS IN THAT BUFFER. NOTE THAT THIS MUST
                     BE THE POSITIVE NUMBER OF WORDS. 
      MNAF         = CAMAC COMMAND IN THE FOLLOWING FORMAT: 
                     BITS 15 - 14 = MODE (M)
                     BITS 13 -  9 = STATION NUMBER (N)
                     BITS  8 -  5 = SUBADDRESS (A)
                     BITS  4 -  0 = FUNCTION (F)
      NAF          = CAMAC COMMAND WITH M = 0.
  
  NOTES:
  
  1. IT IS THE CALLING PROGRAM'S RESPONSIBILITY TO SEE THAT THE COMMAND 
     IS IN THE RIGHT FORMAT.
  2. SEE THE APPROPRIATE DOCUMENTATION FOR A MORE DETAILED DESCRIPTION OF 
     THE COMMANDS FOR A PARTICULAR DEVICE.
  
  DRIVER STATUS RETURNS.
     UPON RETURN FROM A CALL TO THIS DRIVER, THE REGISTERS ARE SET AS 
     FOLLOW:
  B-REGISTER - THIS IS THE TRANSMISSION LOG. A TIME-OUT IS INDICATED BY 
               THE B-REGISTER BEING 0 UPON RETURN. THIS DRIVER HANDLES
               ITS OWN TIME-OUT, AND THE DEVICE IS NOT SET DOWN.
  
  A-REGISTER - THIS IS THE STATUS, AS SET IN EQUIPMENT TABLE WORD #5. 
  
     THE STATUS FIELD (BITS 7-0 IS SET AS FOLLOWS:
     PHYSICAL DATA. THIS FIELD IS NOT SET. A PROGRAM WISHING TIME BASE
                   AND STATUS MUST USE THE FOLLOWING CALL:
                      CALL EXEC(1,LU,ISTAT,1,41004B)
  
     BORER         BIT 7 = "X" RESPONSE FROM MODULE 
                         = 0 - MODULE DID NOT ACCEPT REQUEST
                         = 1 - MODULE ACCEPTED REQUEST
                   BIT 6 = "Q" RESPONSE FROM MODULE 
                   BIT 5 = 1 - A LAM HAS OCCURED
                BITS 4-0 = STATION CAUSING LAM
                             (LOOK-AT-ME INTERRUPT) 
  
     LSI-11   IT IS ASSUMED THAT THE "READ STATUS" COMMAND FOR AN LSI-11
              IS THE SAME AS THAT FOR A BORER INTERFACE (N(0),A(1),F(0)). 
              BITS 14 AND 13 OF THE STATUS WORD FROM THE LSI-11 ARE 
              SHIFTED TO BITS 7 AND 6, RESPECTIVELY, BEFORE BEING PLACED
              IN EQT WORD #5. 
  
  LOOK-AT-ME INTERRUPTS (LAM) 
     A LAM INTERRUPTS THE COMPUTER THROUGH THE COMMAND CHANNEL OF THE 
     BORER INTERFACE. WHEN THE INTERRUPT OCCURS, THE COMMAND CHANNEL IS 
     READ TO GET THE LAM PATTERN. FROM THE LAM PATTERN, THE BIT POSITION
     OF MODULE ISSUING THE LAM IS DETERMINED, AND PLACED IN BITS 4-0 OF 
     EQT WORD #5. 
  
  NOTE:   THE LAM CAPABILITY HAS NEVER BEEN USED OR TESTED. SEE THE 
          BORER INTERFACE MANUAL FOR MORE INFORMATION CONCERNING LAMS.
  
  OTHER NOTES:
     1. THIS DRIVER DOES NOT DO ITS OWN POWER-FAIL PROCESSING.
     2. ALL TIME-OUTS ARE HANDLED BY THE DRIVER.
     3. NO VALIDITY CHECKS ARE DONE ON THE CAMAC COMMANDS ISSUED. THIS
        ALLOWS OTHER NON-CAMAC DEVICES TO BE INTERFACED WITH THIS DRIVER, 
        AS LONG AS THE I/O HANDSHAKE IS SIMILAR TO THAT OF THE BORER
        INTERFACE.
  
  CAMAC DIAGNOSTIC AND TEST PROGRAM (CAM2)
     THIS PROGRAM IS SUPPLIED AS PART OF THE PACKAGE, AND PROVIDES FOR
  THE TESTING OF THE DRIVER AND ASSOCIATED HARDWARE DEVICES. TO RUN CAM2, 
  ONE NEED ONLY TYPE RTE OR FILE MANAGER COMMAND "RU,CAM2". CAM2 WILL ASK 
  FOR THE FOLLOWING INPUT, ON ONE LINE: 
  
     REQUEST  = I/O REQUEST TO BE PERFORMED:
              = 1 - READ
              = 2 - WRITE 
              = 3 - CONTROL 
              = 0, /E, OR EX - TERMINATE CAM2 
     LU       = LOGICAL UNIT OF DEVICE. 
     # WORDS  = NUMBER OF WORDS TO BE TRANSFERRED DURING A READ OR WRITE
                OPERATION. THIS FIELD MAY BE ANYTHING FOR A CONTROL 
                REQUEST.
           M  = TRANSFER MODE 
           N  = CRATE STATION NUMBER
           A  = SUBADDRESS
           F  = FUNCTION
  
    LIST/DATA = FOR READ: LU ON WHICH TO LIST DATA READ. IF OMITTED,
                OUTPUT IS TO USER'S TERMINAL. FOR WRITE: DATA WORD TO BE
                WRITTEN TO DEVICE. FOR CONTROL: THIS FIELD IS IGNORED.
  
     THIS PROGRAM WILL FORMAT THE COMMAND AND ISSUE IT, AND PRINT OUT THE 
  RESULTS AT THE USER'S TERMINAL. SEE THE TEST CASE (SECTION IV) FOR AN 
  EXAMPLE OF AN INTERACTION WITH CAM2.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
     LITERATURE REFERENCE 
  1. PHYSICAL DATA, INC., BEAVERTON, OREGON 97005, INSTRUCTION MANUAL 
     FOR MODIFIED 515 SYSTEM WITH DMA INTERFACE, #1595109, SEC. 515.510.
  
  2. BORER ELECTRONICS AG, SOLOTHURN 2/SWITZERLAND, CRATE CONTROLLER/ 
     INTERFACE TO HP 2100/-14/-15/-16/-MX TYPE 1531A, SERIES NO. 40.
                                                                        3.
   IEEE, NEW YORK, INSTRUMENTATION AND INTERFACE STANDARDS (1976).
E13501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DVM33 
 **PROGRAM TITLE: 
  DVM33 RTE-M DISC DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  2
  
 **KEYWORDS:
    DRIVER          DISC
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-M     RTE-II    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  "DVM33" IS A RTE-M DISC DRIVER WHICH TRANSFERS DATA TO AND FROM 
  EXPANDED MEMORY INSTEAD OF THE 9885 FLOPPY DISC DRIVE. THIS PROVIDES
  THE USER WITH THE CAPABILITY OF HAVING AN OPERATING SYSTEM COMPLETELY 
  MEMORY RESIDENT, INCLUDING PROGRAM DATA FILES.
  
  "DVM33" SUPPORTS STANDARD READ AND WRITE REQUESTS (EXEC 1 OR 2) AND IS
  COMPATIBLE WITH THE EXISTING RTE-M SUBSYSTEMS (FMGR, EDITM, ASMB, FTN4, 
  ETC). 
  
  PROGRAM "INITL" IS USED TO INITIALIZE "DVM33" AFTER BOOT-UP. IT PROMPTS 
  THE SYSTEM CONSOLE FOR THE NUMBER OF PAGES IN PHYSICAL MEMORY AND THE 
  NUMBER OF PAGES IN THE OPERATING SYSTEM (MIII ONLY).
  
  EQUIPMENT, LU AND INTERRUPT TABLE ENTRIES ARE THE SAME AS THE FLOPPY
  DISC DRIVER "DVR33" EXCEPT DMA, BUFFERING AND TIME OUT SHOULD NOT BE
  SPECIFIED IN THE EQUIPMENT TABLE AND THE INTERRUPT TABLE REQUIRES ONLY
  ONE (DUMMY) SELECT CODE. PROGRAM "INITL" EXPECTS THE DISC TO BE LU2.
  "DVM33" DOES NOT SUPPORT EQUIPMENT SUBCHANGES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &INITL
  FILE#  3: &DVM33
  FILE#  4: $MI 
  FILE#  5: $MII
  FILE#  6: $MIII 
  FILE#  7: $FMGR 
  FILE#  8: $EDITM
  FILE#  9: $FTN4 
  
  
 **LOAD INSTRUCTIONS: 
  
  LOAD AND RUN INSTRUCTIONS 
  
  ASSEMBLE "&INITL" AND "&DVM33" AND SAVE THE RELOCATABLE CODE. PROGRAM 
  "RTMLG" (PART OF THE DS-1000 SOFTWARE PACKAGE) IS HIGHLY RECOMMENDED
  FOR THE RTE-M SYSTEM GENERATION (DONE ON A HARD DISC BASED RTE-III OR 
  IV OPERATING SYSTEM). IN ADDITION, ALL THE RELOCATABLE MODULES FOR THE
  DESIRED RTE-M OPERATING SYSTEM WILL BE NEEDED.
  
  GENERATE THE RTE-M SYSTEM USING PROGRAM "RTMLG" AND THE APPROPRIATE 
  ANSWER FILE. $MI, $MII, AND $MIII ARE TYPICAL RTE-M I, II, AND III SYS- 
  TEM ANSWER FILES. "INITL" SHOULD BE GENERATED AS THE START-UP PROGRAM 
  AND "DVM33" SHOULD REFERENCE THE SYSTEM DISC,LU2. FOR RTE-MIII SYSTEMS
  (DON'T FORGET THE PARTITION LOAD PARAMETER WHEN SCHEDULING PROGRAM
  "RTMLG". ALSO, SEGMENTED PROGRAMS LIKE "FTN4" WILL REQUIRE PROGRAM
  "SGRP" FOR FIRST TIME OPERATION). 
  
  BOOT-UP THE SYSTEM AND ANSWER THE QUESTION(S) ASKED BY "INITL". LOAD
  AND RUN PROGRAM "FMGR". ("FMGR" MAY ALREADY BE IN THE MI OR MII 
  SYSTEM). INITIALIZE THE DISC AS FOLLOWS:
  
       :MC, -2
       :IN, SC, -2, 2, LU2
       :PU, FLOPLK:-32767 
       :LL,1            THE SYSTEM SHOULD BE READY FOR USE- 
  
  
 **RUN INSTRUCTIONS:
  
  PLEASE SEE LOAD SECTION 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  1)  PROGRAM INITL 
  "NUMBER OF PAGES IN THE MIII SYSTEM (32-304)?"   80 
  "NUMBER OF PAGES IN PHYSICAL MEMORY (64-572)?"  256 
  
  THE ABOVE EXAMPLE IS FOR A RTE-MIII SYSTEM GENERATED WITH 80K OF
  MEMORY AND A TOTAL PHYSICAL MEMORY SIZE OF 256K, THIS TELLS "DVM33" 
  THAT THERE ARE 44 GOOD TRACKS ON THE DISC.
  
  2)  DRIVER DVM33
     N/A
  
  
 **PROGRAM DESCRIPTION: 
  
  SPECIAL CONSIDERATIONS--
       1) "DVM33" DOES NOT SUPPORT EQUIPMENT SUBCHANNELS
       2) "INITL" DOES NOT VERIFY THAT THE SPECIFIED AMOUNT OF PHYSICAL 
          MEMORY REALLY EXISTS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  HARDWARE REQUIREMENTS-- 
  
  21MX-M,E, OF F SERIES CPU, 64K WORDS OF MEMORY AND THE DYNAMIC MAPPING
  PACKAGES ARE MINIMUM. ADDITIONAL HARDWARE AS REQUIRED TO SUPPORT THE
  DESIRED OPERATING SYSTEM (RTE-MI, MII OR MIII). THE FFP MICRO-CODE
  IS REQUIRED FOR GENERATION FILES   $MI, $MII AND $MIII. 
E13601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RATFOR
 **PROGRAM TITLE: 
  FORTRAN IV PREPROCESSOR 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    FORTRAN         COMPILER        MACRO 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IV
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  RAT4 IS A PREPROCESSOR WHICH INPUTS RATFOR SOURCE CODE AND PRODUCES 
  FTN4 CODE. RATFOR IS A STRUCTURED LANGUAGE WHICH CAN BE EASILY
  UNDERSTOOD BY ANYONE FAMILIAR WITH FORTRAN. IT IS DESCRIBED IN: 
  
              KERNIGHAN B., PLAUGER P., "SOFTWARE TOOLS", 
              ADDISON-WESLEY, 1976
  
  THIS VERSION OF RATFOR RUNS ON AN HP 1000 UNDER RTE-IV AND REQUIRES A 
  22 PAGE PARTITION. IT HAS A BUILT IN MACRO PROCESSOR WHICH ALLOWS USER
  EXPANSION OF THE LANGUAGE.
  
  RTF77 IS A SET OF RAT4 MACROS AND RUN TIME SUBROUTINES WHICH ALLOW A
  SUBSET OF FORTRAN 77 TO BE USED ON AN HP 1000. IT SUPPORTS IF THEN ELSE,
  WHILE LOOPS AND OTHER CONTROL STRUCTURES. WITH HELP FROM RTE'S
  SPOOLING SYSTEM, MACRO ARE DEFINED WHICH ALLOW FILE I/O USING OPEN, 
  READ AND WRITE STATEMENTS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: _RAT4 -- TRANSFER FILE TO LOAD THESE FILES
  FILE#  3: %RAT4 -- RELOCATABLE RAT4 PREPROCESSOR
  FILE#  4: %FILL -- ASMB PACK AND UNPACK USED BY RAT4
  FILE#  5: #RAT4 -- LOADR COMMAND FILE FOR RAT4
  FILE#  6: RF77 -- TRANSFER FILE TO RU RAT4 AND FORTRAN
  FILE#  7: MFTN77 -- MACRO FILE USED BY RF77 
  FILE#  8: %RFLIB -- RF77 FUN TIME LIBRARY 
  FILE#  9: &RFTST -- SOURCE FOR EXAMPLE TEST PROGRAM 
  FILE# 10: #RFTST -- LOAD COMMAND FOR RFTST
  FILE# 11: &RAT4 -- SOURCE TO RAT4 WRITTEN IN RAT4 
  FILE# 12: CRAT4 -- COMMONBLOCKS USED BY RAT4
  FILE# 13: &FILL -- PACK AND UNPACK USED BY RAT4 
  FILE# 14: &IQOPN -- OPEN SUBROUTINE 
  FILE# 15: &IQMAP -- PROGRAM TO SESSION LU MAP 
  FILE# 16: &IQCRT -- CREATE SUBROUTINE 
  FILE# 17: &IQERR -- ERROR REPORTER
  FILE# 18: &IQCLS -- CLOSE SUBROUTINE
  FILE# 19: &IQSTP -- CLOSE ALL FILES SUBROUTINE
  FILE# 20: &CIQCOM -- RUN TIME COMMON BLOCK
  FILE# 21: &LEN -- SOURCE FOR STRING LENGTH
  FILE# 22: &STRUN -- SOURCE FOR STRING TRUNCATE
  FILE# 23: &SCOPY -- SOURCE FOR STRING COPY
  FILE# 24: &SCAT -- SOURCE FOR STRING CONCATENATION
  FILE# 25: &SUBSR -- SOURCE FOR SUBSTRING
  FILE# 26: &ITOS -- SOURCE FOR INTEGER TO STRING 
  FILE# 27: &IGETA -- SOURCE FOR GET RUN STRING ARGUMENT
  FILE# 28: %ISHFT -- RELOCATABLE FOR LOGICAL SHIFT 
  FILE# 29: )RAT4 -- DOCUMENTATION - OUTPUT FRM RUNOFF
  FILE# 30: (RAT4 -- DOCUMENTATION - INPUT TO RUNOFF
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE RATFOR MANUAL IN DOCUMENTATION FILE.
  
  
 **RUN INSTRUCTIONS:
  
  SEE RATFOR MANUAL 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE RATFOR MANUAL 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E13701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RELIA 
 **PROGRAM TITLE: 
  INVERSE RELOCATABLE ASSEMBLER 
  
 **REVISION?  YES 
  
 **PACKAGE:  5    **CATEGORY:  1
  
 **KEYWORDS:
    INVERSE         ASSEMBLER       RELOCATABLE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-M     RTE-III   RTE-IV
  
 **MEMORY REQUIREMENTS: 
  14 PAGES
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL PERFORM AN INVERSE ASSEMBLY OF A RELOCATABLE MODULE 
  WHICH CAN EXIST IN AN FMP FILE OR THE DISC-RESIDENT LIBRARY. THE
  RELOCATABLE CODE CAN BE GENERATED BY AN ASSEMBLER OR COMPILER AND CAN 
  BE INPUTTED BY AN FMP TYPED FILE. THE PROGRAM USES APPROXIMATELY 9.5K 
  OF MEMORY AND 3.5K OF TABLE SIZE FOR EVALUATING 700 UNIQUE SYMBOLS. THE 
  BASE PAGE REQUIREMENTS ARE APPROXIMATELY 1000 OCTAL. THE PROGRAM CAN BE 
  SCHEDULED INTERACTIVELY OR FROM A PREVIOUSLY PREPARED RELIA COMMAND 
  FILE. INCLUDED IS A COMPREHENSIVE HELP PROCESSOR WHICH GIVES HELP ON
  ALL COMMANDS AT A GLANCE OR SPECIFIC HELP ON A COMMAND BY COMMAND BASIS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RELIA SOURCE (ASMB,R,L,C,Q) 
  
  
 **LOAD INSTRUCTIONS: 
  
  1. ASSEMBLE RELIA WITH NO SPECIAL REQUIREMENTS. 
  
  2. LOAD BY GIVING APPROPRIATE PROGRAM SIZE OVERRIDE OF AT LEAST 14
     PAGES. 
  
  
 **RUN INSTRUCTIONS:
  
  :RU,RELIA[,LU] [,NAMR]
  WHERE LU = INTERACTIVE DEVICE LU
        NAME = FMP FILE NAME
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  CONTACT CONTRIBUTOR FOR EXAMPLES. 
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  CONVERSATIONAL AND SELF EXPLANATORY. ALL ERROR MESSAGE INTERPRETATIONS
  ARE SELF-EXPLANATORY. 
  
  
 **MISCELLANEOUS: 
  
  
E13801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LOADR 
 **PROGRAM TITLE: 
  RTE-2 INTERACTIVE RELOACTING LOADER 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    LOADER          RELOCATABLE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-II
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  "LOADR" IS A RTE-2 INTERACTIVE RELOACTING LOADER.  IT READS RELOCATABLE 
  CODE FROM ANY INPUT DEVICE OR FMP FILE AND PRODUCES AN ABSOLUTE LOAD
  MODULE THAT IS READY FOR EXECUTION. 
  
  IN ADDITION TO ITS LINKING FUNCTIONS, THE LOADR'S COMMAND PARAMETER 
  OPTIONS MAY ALSO BE USED TO LIST ALL ACTIVE PROGRAMS IN THE SYSTEM, 
  PURGE PERMANENT PROGRAMS FROM THE SYSTEM AND ADD OR REPLACE PERMANENT 
  PROGRAMS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: RELOCATABLE 
  
  
 **LOAD INSTRUCTIONS: 
  
  RELOCATE THIS MODULE AS A PERMANENT PROGRAM.  FOLLOWING RENAMING IN ID
  SEGMENTS, USE THE NEW LOADER TO PURGE THE OLD (PERMANENT) LOADER. 
  OR, INCLUDE THIS MODULE IN A NEW SYSGEN; IT WILL BECOME THE PERMANENT 
  LOADER. 
  
  
 **RUN INSTRUCTIONS:
  
  OPERATING INSTRUCTIONS ARE THE SAME AS THOSE FOR THE RTE-III/IV LOADERS,
  WITH THE OBVIOUS RESTRICTIONS THAT LB AND SS OPS ARE MEANINGLESS IN 
  RTE-II, AND THE <PARTITION> AND <SIZE> PARAMETERS ARE IGNORED FOR THE 
  SAME REASON.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E13901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  TBPRN 
 **PROGRAM TITLE: 
  CHECKS AN RTE IVA TRACK MAP ($TB32) FOR ILLOGICAL SUBCHANNEL LAYOUT.
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  7
  
 **KEYWORDS:
    SYSTEM TABLES   GENERATION
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-IVA 
  
 **MEMORY REQUIREMENTS: 
  ONE 8K PARTITION
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  TBPRN LOOKS AT THE TRACK MAP ($TB32) IN AN RTE IVA SYSTEM AND COMPARES
  EACH SUBCHANNEL CHECKING FOR AN ILLOGICAL LAYOUT. IT WILL GIVE A
  REPORT OF ALL SUPERSET, EQUIVALENT, AND BAD SUBCHANNELS AS WELL AS
  NOTING WHEN ALL SUBCHANNELS ARE UNIQUE. OUTPUT MAY BE DIRECTED TO 
  ANY LU BY TYPING RU,TBPRN,##   WHERE ## IS THE DESIRED LU. TBPRN
  IS WRITTEN IN FTN4 AND ASMB. MODIFICATIONS TO THE ASMB SUBROUTINE 
  COULD MAKE THIS WORK ON AN RTE IVB SYSTEM.  THESE MODIFICATIONS WOULD 
  BE NECESSARY BECAUSE OF A CHANGE IN THE TRACK MAP TABLE FORMAT IN 
  RTE IVB.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &TBPRN -- SOURCE (FTN4) 
  FILE#  3: &TBRD  -- SOURCE (ASMB) 
  
  
 **LOAD INSTRUCTIONS: 
  
  TBPRN MUST BE A TYPE 3 PROGRAM
    TO LOAD TYPE :
  RU,LOADR
  RE,%TBPRN 
  RE,%TBRD
  EN
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN TYPE:
  RU,TBPRN,##   (WHERE ## IS THE DESIRED OUTPUT LU, DEFAULT TO YOUR 
                                                            CONSOLE)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E14001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BEEPR 
 **PROGRAM TITLE: 
  ADVANCED ATTENTION-GETTING THROUGH SOPHISTICATED TERMINAL BEEPING 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISPLAY         GAMES           TERMINAL
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS IS A NEAT LITTLE PROGRAM THAT I USE EXTENSIVELY, ESPECIALLY AT THE 
  END OF TRANSFER FILES AND THE LIKE, TO LET ME KNOW A TASK IS DONE.  IT
  BEEPS THE TERMINAL WITH THE OLD "SHAVE AND A HAIRCUT" PATTERN.  THE 
  SOUND IS SO NOTICEABLE THAT I CAN START SOME PROCESS LIKE A TRANSFER
  FILE, WALK AWAY FROM THE TERMINAL (CLEAR ACROSS THE ROOM), AND WHEN 
  THE TRANSFER FILE IS DONE, IT RUNS BEEPR TO LET ME KNOW I NEED TO RE- 
  TURN.  THERE'S NO MISTAKING THE SOUND.
  
  THIS PROGRAM CAN BE USED IN THIS 'ATTENTION-GETTING' MANNER, OR MAY BE
  USED IN CONJUNCTION WITH GAMES OR DEMONSTRATIONS. 
  
  INCLUDED WITH BEEPR IS A PROGRAM CALLED CHYME WHICH TAKES THE IDEA ONE
  STEP FURTHER BY DRAWING A PICTURE OF THE LIBERTY BELL ON A 2648 TER-
  MINAL (USING ESCAPE SEQUENCES) THEN LEAVING THE PICTURE THERE WHILE IT
  RUNS BEEPR.  AN EXAMPLE OF A LITTLE AUDIO-VISUAL FLASHYNESS.
  
  BEEPR USES EXEC CALLS TO RE-SCHEDULE ITSELF WITH VARYING OFFSETS TO 
  ATTAIN THE RHYTHM.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &BEEPR - BEEPR SOURCE 
  FILE#  3: &CHYME - CHYME SOURCE 
  FILE#  4: /CHYME - RP'S BEEPR, THEN RUNS CHYME
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RU,BEEPR,LU,OFFSET
  
      WHERE:    LU  = LU NUMBER OF TERMINAL TO BEEP 
            OFFSET  = DETERMINES THE SPEED OF THE BEEP PATTERN
                        DEFAULT IS 9
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
E14101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BKUP! 
 **PROGRAM TITLE: 
  ON-LINE LOAD OF !DSKUP FROM DISC FILE 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  4
  
 **KEYWORDS:
    DISC            FILES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  BKUP! IS A PROGRAM THAT RUNS ON-LINE AND LOADS FROM A DISC FILE THE HP
  BACKUP UTILITY NAMED !DSKUP.  NEXT IT TRANSFERS TO !DSKUP IN SUCH A WAY 
  THAT IT (!DSKUP) COMES UP RUNNING AT THE SYSTEM CONSOLE.  AT THE POINT
  OF TRANSFER RTE IS ABORTED.  APPROPRIATE WARNING MESSAGES ARE PRINTED 
  AND A CHANCE TO ABORT IS GIVEN BEFORE THE TRANSFER TO !DSKUP. 
  
  BKUP! PROVIDES USERS OF RTE A CONVENIENT WAY TO LOAD !DSKUP AND REMOVES 
  THE NECESSITY FOR THEM TO HAVE MINI-CARTRIDGES OR PAPER TAPE. 
  
  BKUP! COULD BE EASILY MODIFIED TO LOAD ANY ABSOLUTE PROGRAM.
  
  !BKUP IS ONLY FOR MAPPED RTE SYSTEMS.  !DSKUP MUST BE ON AN ACCESSIBLE
  DISC FILE.
  
  REFER TO THE RTE UTILITY MANUAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: !BKUP SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  COMPILE SOURCE INTO %BKUP!. 
  :RU,LOADR 
        SZ,16 
        RE,%BKUP! 
        END 
  
  
 **RUN INSTRUCTIONS:
  
  :RU,BKUP! 
        (WARNINGS PRINTED)
        CONTINUE?   (YE REQUIRED TO CONTINUE, ANY OTHER ANSWER
                     ABORTS BKUP!)
        TASK? 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  HLT  102055      ADDRESS ERROR
  HLT  102011      CHECK SUM
  
  
 **MISCELLANEOUS: 
  
  
E14201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DEVICE INITIALIZATION AND I/O SUBROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    I/O             CASSETTE        FILES 
    MAGNETIC TAPE   PRINTER 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE ARE A GROUP OF SUBROUTINES THAT HANDLE I/O TO DISC FILES AND TO 
  VARIOUS DEVICES.  FOUR MAIN SUBROUTINES INITIALIZE FILES OR DEVICES FOR 
  INPUT AND FOR OUTPUT, AND THEY PERFORM INPUT OR OUTPUT TO EITHER DISC 
  FILES OR TO MAG TAPE, MINICARTRIDGE, OR LINE PRINTER. 
  
  THE ROUTINES DO EXTENSIVE STATUS AND ERROR CHECKING ON EITHER THE DISC
  OR THE DEVICES, AVOIDING THE PROBLEMS INVOLVED WITH HAVING A PROGRAM
  ABORT BECAUSE SOMETHING WAS NOT READY.
  
  THESE ROUTINES USE EXEC & REIO I/O, CONTROL REQUESTS, AND STATUS CHECK- 
  ING.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &INITW  - INITIALIZE FOR WRITE
  FILE#  3: &INITR  - INITIALIZE FOR READ 
  FILE#  4: &OUTPT  - OUTPUT TO FILE OR DEVICE
  FILE#  5: &INPUT  - INPUT FROM FILE OR DEVICE 
  FILE#  6: &FILU   - INPUT & PARSE FILE NAMR OR LU NUMBER
  FILE#  7: &TRMRD  - INPUT RESPONSE FROM TERMINAL
  FILE#  8: &YESNO  - INPUT YES OR NO RSPONSE FROM TERMINAL 
  FILE#  9: &RESET  - "REWINDS" DEVICES OR FILES
  FILE# 10: &ABORT  - CLOSES FILES & UNLOCKS DEVICES
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  INCLUDED WITH THE MAIN SUBROUTINES INITW, INITR, OUTPT, & INPUT, ARE
  SUBROUTINES THAT THEY CALL.  ALL ROUTINES ARE INTERNALLY DOCUMENTED, AND
  MAY NEED TO BE MODIFIED FOR A PARTICULAR APPLICATION. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTINGS FOR CALLING SEQUENCES.
  HERE IS A BRIEF DESCRIPTION OF EACH ROUTINE:
  
        INITW  - INITIALIZE DEVICES FOR OUTPUT.  CREATES A DISC FILE AND
                   OPENS IT; OR LOCKS A MAG TAPE, MINICARTRIDGE, OR LINE
                      PRINTER AND VERIFIES THE DEVICE IS ON-LINE. 
        INITR  - INITIALIZE DEVICES FOR INPUT.  OPENS A DISC FILE; OR 
                      LOCKS A MAG TAPE OR MINICARTRIDGE, AND VERIFIES THAT
                      IT IS ON-LINE.
        OUTPT  - OUTPUTS A BUFFER OF TEXT TO A DISC FILE, MAG TAPE, MINI- 
                      CARTRIDGE, OR LINE PRINTER.  IT PUTS A BLANK IN 
                      COLUMN ONE TO ALLOW DUMPING TO A LINE PRINTER, AND
                      CHECKS FOR STATUS ERRORS WHILE OUTPUTTING.
        INPUT  - READS A BUFFER FROM DISC FILE, MAG TAPE, OR MINICAR- 
                      TRIDGE, CHECKING FOR STATUS ERRORS. 
        FILU   - READS AN FMP FILE NAMR OR LU NUMBER FROM THE TERMINAL
                      AND PARSES IT INTO ITS SEPARATE PARTS.
        TRMRD  - READS AN ASCII BUFFER FROM THE TERMINAL. 
        YESNO  - READS MOST POSSIBLE CONFIGURATIONS OF Y, YE, YES, N, NO, 
                      INCLUDING UPPER AND LOWER CASE LETTERS. 
        RESET  - REWINDS DEVICES OR RETURNS TO FIRST RECORD OF A DISC 
                      FILE. 
        ABORT  - CLOSES ALL FILES AND UNLOCKS DEVICES.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  DIAGNOSTIC MESSAGES FROM SUBROUTINES ARE SELF-EXPLANATORY.
  
  
 **MISCELLANEOUS: 
  
  
E14301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BLKRD 
 **PROGRAM TITLE: 
  FORMAT MODE/BLOCK ENABLED TERMINAL I/O SUBROUTINES
  
 **REVISION?  NO
  
 **PACKAGE:  5    **CATEGORY:  5
  
 **KEYWORDS:
    TERMINAL        I/O             TEXT
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THESE ARE A SET OF THREE SUBROUTINES THAT ARE USED TO SIMPLIFY SETTING
  UP AND USING THE FORMAT MODE AND BLOCK ENABLED READ ON A 2645 OR GREATER
  TERMINAL. 
  
  THERE FUNCTIONS ARE:
  
       SET   - SETS THE TIME-OUT OF THE TERMINAL TO ZERO, PUTS TERMINAL 
                 INTO LINE MODE, AND TURNS ON BLOCK MODE. 
  
       BLKRD - TURNS ON FORMAT MODE, TURNS ON PAGE MODE, AND ISSUES A 
                 BLOCK READ FROM THE TERMINAL.
  
       RESET - TURNS OFF FORMAT MODE, TURNS ON LINE MODE, TURNS OFF BLOCK 
                 MODE, AND SETS THE TIME-OUT TO 20000.
  
  BASICALLY, THE SUBROUTINES ARE USED TO SET UP FORMS ON THE TERMINAL,
  ALLOW THE USER TO ENTER OR MODIFY DATA IN THE FORMS, THEN READ THE DATA 
  BACK IN A BUFFER. 
  
  THE ROUTINES USE REIO AND EXEC CALLS TO TALK TO THE TERMINAL.  A 2645 
  TERMINAL, OR GREATER, IS REQUIRED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &SET
  FILE#  3: &BLKRD
  FILE#  4: &RESET
  FILE#  5: &EXAM - EXAMPLE FORTRAN PROGRAM USING THE ROUTINES
  FILE#  6: *EXAM - LOADR COMMAND FILE FOR EXAM 
  
  
 **LOAD INSTRUCTIONS: 
  
  TO LOAD THE EXAMPLE PROGRAM:
        COMPILE &EXAM AND THE 3 SUBROUTINES 
        RU,LOADR,*EXAM
  
  
 **RUN INSTRUCTIONS:
  
  SEE PROGRAM DESCRIPTION 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE CALLING SEQUENCES ARE:
  
        CALL SET(LU)    WHERE: LU = THE LU NUMBER OF THE TERMINAL 
        CALL BLKRD(LU,IBUFF,LEN,IERR) 
                        WHERE: LU = THE LU NUMBER OF THE TERMINAL 
                            IBUFF = BUFFER FOR INPUT
                              LEN = THE LENGTH OF IBUFF TO BE READ IN 
                             IERR = ERROR INDICATOR 
                                    = 0   NO ERROR
                                    =-700 ABORT REQUESTED 
        CALL RESET(LU)  WHERE: LU = THE LU NUMBER OF THE TERMINAL 
  NOTE: SINCE IT IS OFTEN IMPORTANT TO GIVE THE USER THE CHANCE TO ABORT
        A PROGRAM AT ANY POINT, BLKRD CHECKS THE LAST 2 CHARACTERS IN THE 
        INPUT BUFFER FOR A '/A'.  IF IT IS FOUND, BLKRD RETURNS A -700 IN 
        IERR.  THE EXAMPLE PROGRAM 'EXAM' SHOWS A WAY TO USE THIS.
  
  ALSO: THE DATA FROM THE UNPROTECTED FIELDS COME BACK IN IBUFF CONCATEN- 
        ATED TOGETHER IN THE ORDER THEY APPEARED ON THE SCREEN. 
  
  FOLLOWING IS AN EXAMPLE OF HOW TO USE THE SUBROUTINES:
  
  FTN4,L
        PROGRAM FIZZ
          . 
          .  INITIAL PART OF PROGRAM
          . 
        CALL SET(LU)
          . 
          .  OUTPUT THE UNPROTECTED FIELDS TO THE SCREEN
          . 
        CALL BLKRD(LU,IBUFF,LEN,IERR) 
        IF(IERR.NE.0) GO TO 9999
          . 
          .  PROCESS DATA 
          . 
        CALL RESET(LU)
        END 
  
  SEE THE INCLUDED PROGRAM 'EXAM' FOR A REAL LIFE EXAMPLE OF HOW TO USE 
  THE SUBROUTINES.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
F00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SHIP
 **PROGRAM TITLE: 
  BATTLESHIP
  
 **REVISION?  NO
  
 **PACKAGE:  6    **CATEGORY:  1
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  4349 WITH EXTERNAL SUBPROGRAMS (1026 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  BATTLESHIP IS A COMPUTER GAME FOR RTE IN WHICH FIVE SHIPS ARE RANDOMLY
  PLACED IN A MATRIX BY THE PROGRAM. THE LOCATION OF THESE SHIPS IS FOUND 
  BY THE PLAYER WHO PROCEEDS BY TRIAL AND ERROR UNTIL A HIT IS ACHIEVED.
  THROUGH SUCCESSIVE (HITS), HE CAN RECONSTRUCT THE RANDOM MATRIX.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IT USES A VARIABLE MATRIX (5 X 5 TO 26 X 26) AND THE TIME-BASE GENERATOR
  FOR THE RANDOM NUMBER GENERATION TO PLACE 5 SHIPS WITHIN THE MATRIX.
  
  THESE 5 SHIPS ARE AS FOLLOWS: 
  
       1.) AND AIRCRAFT CARRIER (5 ADJACENT LOCATIONS). 
       2.) A BATTLESHIP (4 ADJACENT LOCATIONS). 
       3.) A CRUISER (3 ADJACENT LOCATIONS).
       4.) A DESTROYER (2 ADJACENT LOCATIONS).
       5.) A SUBMARINE (1 LOCATION).
  
  THE ADJACENT LOCATIONS CAN BE HORIZONTAL, VERTICAL, OR AT 45 DEGREE 
  INCREMENTS. 
  
  I/O IS CONVERSATIONAL. THERE ARE FIVE SHIPS TO BE DESTROYED. EACH SHIP
  OCCUPIES A DIFFERENT NUMBER OF POSITIONS IN THE MATRIX AND THUS REQUIRES
  A DIFFERENT NUMBER OF "HITS" TO SUCCESSFULLY DOWN IT. 
  
  THERE ARE FIVE SHOTS TO A ROUND. AS EACH SHIP IS SUNK, A ROUND IS 
  DECREASED BY ONE SHOT. AFTER EACH ROUND, A SCORE OF HITS IS PRINTED FOR 
  EACH SHIP. THE SCORE OF HITS IS UNRELATED TO THE SHIP'S POSITION WITHIN 
  THE MATRIX. A SHIP MAY BE POSITIONED HORIZONTALLY, VERTICALLY, OR ON A
  DIAGONAL BY THE PROGRAM. EACH SHOT REQUIRES TWO COORDINATES (ROW,COLUMN)
  TO LOCATE THE TARGET POSITION WITHIN THE MATRIX.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IN ORDER TO PLAY THE GAME CORRECTLY, THE USER SHOULD USE A SCORE SHEET. 
  
  THIS WILL GIVE HIM AN UP-TO-DATE MAP OF WHICH LOCATIONS WERE HIT IN 
  WHICH ROUND.
  
  IF IT'S TIME TO GO BACK TO WORK OR THE USER GIVES UP, SET SWITCH 6 UP 
  AND FINISH THE ROUND; THE ANSWER MATRIX WILL BE PRINTED ON THE STANDARD 
  LIST DEVICE. ALL NEGATIVE NUMBERS REPRESENT THE SHIPS (-5 = AIRCRAFT
  CARRIER, -4 = BATTLESHIP, ETC.).
F00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  STAR
 **PROGRAM TITLE: 
  STARTREK STAR VERSION D 
  
 **REVISION?  NO
  
 **PACKAGE:  6    **CATEGORY:  1
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  APPROXIMATELY 11K DECIMAL 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS IS THE CLASSIC GAME OF STARTREK. IT IS INTENDED TO SIMULATE THE
  POPULAR TELEVISION PROGRAM HAVING THE SAME NAME. THE OPERATOR IS
  CONSIDERED THE CAPTAIN OF THE STARSHIP ENTERPRISE. THE MISSION IS TO RID
  THE GALAXY OF INVADING KLINGONS. THE PROGRAM PROMPTS THE OPERATOR FOR 
  THE MINIMUM AND MAXIMUM NUMBER OF KLINGONS AND THEN DESIGNS A SCENARIO; 
  THE NUMBER OF KLINGONS YOU MUST DESTROY ON A GIVEN NUMBER OF STARDATES. 
  THE COMPUTER MAINTAINS A DISPLAY OF THE KLINGONS, THEIR LOCATIONS, AND
  THE STAR BASES, AND THEIR LOCATIONS. THE PROGRAM MAKES USE OF A RANDOM
  NUMBER GENERATOR TO CREATE A TRUCE, STORMS, DAMAGE, AND THE LOCATIONS 
  OF STARS, KLINGONS, STAR BASES, AND THE STARSHIP ENTERPRISE.
  
  IF ANY KLINGONS REMAIN AFTER THE ALOTTED NUMBER OF STARDATES, OR IF THE 
  ENTERPRISE RUNS OUT OF FUEL, YOU WILL HAVE LOST, AND THE COMPUTER WILL
  DISPLAY AN APPROPRIATE MESSAGE. IF YOU WIN (YOU HAVE DESTROYED THE
  KLINGONS), THE COMPUTER WILL GIVE AN UNBIASED SCORE ON YOUR PERFORMANCE 
  AS CAPTAIN OF THE STARSHIP ENTERPRISE.
  
  OPTIONS AVAILABLE TO THE OPERATOR INCLUDE:
  
  1. THE ABILITY TO WARP A SECTOR OR QUADRANT.
  2. FIRE TORPEDOES TO A SECTOR LOCATION. 
  3. FIRE PHASERS WITHIN A QUADRANT.
  4. INVOKE AN AIMING AID.
  5. REPAIR DAMAGE. 
  6. MISCELLANEOUS MAINTENANCE FUNCTIONS. 
  
  HARDWARE REQUIRED: 11K DECIMAL OF BACKGROUND CORE; HP2600, 2615, 2616,
  OR 2640 CRT TERMINALS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  (1) COMPILE THE MAIN PROGRAM INTO THE RTE LOAD-AND-GO AREA USING THE
      FTN4 COMPILER.
  
  (2) ASSEMBLE THE TWO ASMB ROUTINES INTO THE LG AREA.
  
  (3) COMPILE SEGMENTS 1-6 INTO THE LG AREA.
  
  (4) ON,LOADR,99,,,1,2 FOR AUTOMATIC SEGMENTED LOAD OF PROGRAM STAR AND
      ITS SIX SEGMENTS, STAR1 THRU STAR6. 
  
  
 **RUN INSTRUCTIONS:
  
  TURNON SEQUENCE:
  
  ON,STAR,P1,P2 
  
    WHERE P1 = INPUT LU NUMBER
          P2 = OUTPUT LU NUMBER 
  
               IF P1 = 0, INPUT IS FROM LU NUMBER 1 
               IF P2 = 0, OUTPUT IS ON INPUT LU DEVICE
  
  I/O IS CONVERSATIONAL WITH CRT. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTING
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  (1) STARTREK IS CAPABLE OF I/O TO SEVERAL TYPES OF CRT TERMINALS. IN
      RESPONSE TO "ENTER TYPE OF OUTPUT TERMINAL:", THE USER SHOULD 
      RESPOND WITH: 
  
                    00 FOR HP2600 CRT 
                    15 FOR HP2615 MINIBEE CRT TERMINAL
                    16 FOR HP2616 SUPERBEE CRT
  
      IF THE CONTROL CODES FOR THE HP2640 TERMINAL ARE THE SAME AS THOSE
      FOR THE HP2616 TERMINAL, THEN STARTREK WILL ALSO WORK FOR THE 
      2640 TERMINAL.
  
  (2) THE PROGRAM WILL OUTPUT SPECIAL VIDEO CONTROL CODES AND CURSOR SENSE
      COMMANDS FOR THE HP2616 TERMINAL WHICH INCREASE SPEED AND IMPROVE 
      COSMETIC PERFORMANCE OF THE PROGRAM.
F00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ECART 
 **PROGRAM TITLE: 
  ECARTE CARD GAME
  
 **REVISION?  YES 
  
 **PACKAGE:  6    **CATEGORY:  1
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE 
  
 **MEMORY REQUIREMENTS: 
  8K WORDS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
    ECARTE IS A TWO HANDED CARD GAME IN WHICH ONE IS PITTED AGAINST THE 
  COMPUTER. A PLAYER RECEIVES FIVE CARDS, A CARD IS TURNED TO FIX THE 
  TRUMP SUIT, AND THE OBJECT IS TO WIN A SPECIFIED NUMBER OF TRICKS.
  
    THE PROGRAM IS CONVERSATIONAL AND IT WILL OPTIONALLY PRINT OUT THE
  GAME RULES AND INSTRUCTIONS FOR PLAY. 
  
    ECARTE IS RELATED TO THE CARD GAMES EUCHRE, NAPOLEON, SPOIL FIVE, AND 
  ITS VARIANT FORTY-FIVE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SOURCES 
  FILE#  4: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
    PROGRAM IS COMPILED, LOADED AND RUN IN THE USUAL MANNER. NOTE THAT THE
  PROGRAM IS NOT SEGMENTED. 
  
  
 **RUN INSTRUCTIONS:
  
    TO EXECUTE ECART, ENTER THE FOLLOWING COMMAND:
  
            RU, ECART, LUN
  
    WHERE LUN IS THE LOGICAL UNIT NUMBER OF THE TERMINAL FROM WHICH THE 
  PROGRAM IS RUN. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  LITERATURE REFERENCE
  
    "HOYLE'S MODERN ENCYCLOPEDIA OF CARD GAMES", WALTER B. GIBSON,
  DOUBLEDAY, 1974, PAGE 105.
  
  SPECIAL CONSIDERATIONS
  
    A. SHUFFLING THE CARDS
  
       THE TIME BASE GENERATOR IS USED IN CONNECTION WITH A RANDOM NUMBER 
  GENERATOR SO THAT WHENEVER THE PROGRAM IS RUN, DIFFERENT HANDS WILL BE
  DEALT.
  
    B. CHEATING 
  
       IT IS IMPOSSIBLE FOR THE USER TO CHEAT AS THE COMPUTER CHECKS ALL
  INPUT FOR VALIDITY. IF ANY ERRORS ARE FOUND, A MESSAGE IS ISSUED, AND 
  THE USER MUST RE-ENTER THE DATA CORRECTLY.
  
      ON THE OTHER HAND, ONE CAN REST ASSURED THAT THE COMPUTER ALWAYS
  MAKES VALID PLAYS. FURTHER, THE DECK IS NOT STACKED IN THE COMPUTER'S 
  FAVOR.
  
    SHOULD ONE WISH TO STOP THE PROGRAM DURING A GAME, TYPE IN STOP IN
  ANSWER TO THE COMPUTER PROMPT.
  
    IF ONE IS RUNNING THE PROGRAM FROM A CRT TERMINAL, IT MAY BE USEFUL TO
  REDISPLAY THE CONTENTS OF ONE'S HAND. TO DO THIS, TYPE IN HAND IN ANSWER
  TO THE COMPUTER'S PROMPT. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
    THE COMPUTER CHECKS ALL USER INPUT FOR ERRORS. SHOULD ANY BE FOUND, 
  THE COMPUTER ISSUES A SELF-EXPLANATORY ERROR MESSAGE AND ALLOWS THE 
  USER TO RE-ENTER THE DATA.
  
  
 **MISCELLANEOUS: 
  
  
F00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BIORM 
 **PROGRAM TITLE: 
  BIORHYTHM PLOTTER 
  
 **REVISION?  YES 
  
 **PACKAGE:  6    **CATEGORY:  1
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    RTE-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PROGRAM BIORM PLOTS ONE MONTH BIO-RHYTHM CHARTS. THE PROGRAM ASKS 
  WHETHER A LARGE OR SMALL BIO-CHART IS WANTED. SMALL IS 28 X 43 WIDE AND 
  LARGE IS 55 X 75 CHAR WIDE. THEN THE NECESSARY DATES ARE PROMPTED FOR 
  AND THE CHART IS PRINTED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: SAMPLE BIORHYTHM PLOT 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  *RU,BIORM,LU,L1      WHERE:  LU  INTERACTIVE LOGICAL UNIT 
                               L1  LIST OUTPUT LOGICAL UNIT 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SELF-EXPLANATORY
  
  
 **MISCELLANEOUS: 
  
  THE LIST OUTPUT DRIVER IS ASSUMED TO ACCEPT A TRAILING UNDERBAR OR BACK 
  ARROW (ASCII OCTAL 137) AS A COMMAND NOT TO FURNISH CARRIAGE RETURN AND 
  LINE FEED FOR MULTIPLE WRITE REQUESTS PER LINE. 
F00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SKI 
 **PROGRAM TITLE: 
  DOWNHILL SKI GAME IN GRAPHICS/1000
  
 **REVISION?  NO
  
 **PACKAGE:  6    **CATEGORY: 
  
 **KEYWORDS:
    GAMES           GRAPHIC         TERMINAL
    PLOTTER 
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    M-SERIES
  
 **OPERATING SYSTEMS: 
    RTE-III   RTE-IVA   RTE-IVB 
  
 **MEMORY REQUIREMENTS: 
  1*19K PARTITION, LARGER IF MORE THAN ONE TYPE GRAPHICS DEVICE 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE SKI GAME IS AN INTERACTIVE GRAPHICS PROGRAM THAT DISPLAYS A DOWN- 
  HILL SKI RACE COURSE ON A GRAPHICS DEVICE AND ALLOWS THE USER TO INTER- 
  ACTIVELY CONTROL THE MOTION OF THE SKIER THROUGH THE COURSE. THE SKI
  GAME REQUIRES A 2648A GRAPHICS TERMINAL TO CONTROL THE SKIER'S MOTION 
  WITH THE GRAPHICS CURSOR. THE DISPLAY MAY BE ON THE SAME TERMINAL OR
  ON ANY OTHER GRAPHICS OUTPUT DEVICE SUPPORTED BY GRAPHICS/1000. THE 
  SKI GAME REQUIRES THE HP 92840A GRAPHICS/1000 SUBSYSTEM AND A USER
  WRITTEN DEVICE LINK TABLE AS DESCRIBED IN THE GRAPHICS/1000 USER MANUAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: &SKI -- COMPOSITE SOURCE FOR THE SKI GAME 
  
  
 **LOAD INSTRUCTIONS: 
  
  SPECIFY LARGE BACKGROUND (OP,LB)
  RELOCATE THE COMPILED SOURCE CODE (RE,%SKI) 
  RELOCATE THE DEVICE LINK TABLE (RE,%DLTBL) AS DESCRIBED IN THE
    GRAPHICS/1000 MANUAL
  SEARCH THE GRAPHICS LIBRARY (SE,%GPS) 
  END 
  
  
 **RUN INSTRUCTIONS:
  
  RU,SKI[,TERMINAL LU]
  THE SKI GAME WILL ASK IF YOU WANT THE OUTPUT ON A DEVICE OTHER THAN 
  THE TERMINAL, ANSWER YES OR NO
  IF THE ANSWER IS YES THE GAME WILL ASK FOR THE ID,LU OF THE GRAPHICS
  OUTPUT DEVICE. THE ID NUMBER IS AS DESCRIBED IN THE GRAPHICS/1000 
  MANUAL AND IS THE INDEX INTO THE DEVICE LINK TABLE. THE CONVENTIONS 
  USED IN THIS PROGRAM ARE 2648 ID = 1, AND 9872 ID = 3. OTHER GRAPHICS 
  DEVICE ID'S ARE DON'T CARES.
  
  NEXT THE GAME WILL ASK FOR A COURSE CODE. THIS IS AN INTEGER WHICH
  SERVES AS A RANDOMIZER SEED FOR THE COURSE GENERATOR. ENTER A POSITIVE
  INTEGER BETWEEN 1 AND 63. 
  
  NEXT THE GAME WILL ASK YOU TO DIGITIZE THE LOWER LEFT AND UPPER RIGHT 
  CORNERS OF THE DRAWING SURFACE IF THE OUTPUT DEVICE IS NOT A 2648.
  DIGITIZE THE RESPECTIVE CORNERS AS DESCRIBED IN THE GRAPHICS/1000 
  MANUAL UNDER THE INTERACTIVE VIEWP COMMAND. 
  
  NEXT THE GAME WILL ASK YOU FOR YOUR ABILITY FACTOR. ENTER AN INTEGER
  BETWEEN 1 AND 5 WHICH CONTROLS THE RELATIVE SPEED OF THE SKIER. 
  
  NEXT THE GAME WILL SAY HIT RETURN TO START! 
  
  CONTROL THE SKIER USING THE LEFT AND RIGHT GRAPHICS CURSOR CONTROLS 
  ON THE 2648 TERMINAL. GUIDE THE SKIER THROUGH THE GATES IN A LEFT 
  AND DOWN DIRECTION. TURNING THE SKIER SLOWS HIS SPEED. THE SKIER
  WILL ALWAYS ACCELERATE IN THE DOWNWARD DIRECTION AND MAINTAIN HIS 
  CONSTANT LEFT OR RIGHT SPEED. 
  
  PLAY THE GAME AND PRACTICE! SEE YOU IN THE WINTER OLYMPICS! 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE GRAPHICS/1000 MANUAL FOR ANY GRAPHICS ERRORS
  
  
 **MISCELLANEOUS: 
  
  

X00101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ISORT 
 **PROGRAM TITLE: 
  ORDERING A FIXED POINT ARRAY. 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    SORT            ARRAY           FIXED POINT 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  433 WITH EXTERNAL SUBPROGRAMS (157 WITHOUT).
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ARRANGES A FIXED POINT SINGLE-DIMENSION ARRAY IN
  ASCENDING OR DESCENDING ORDER. THE ORIGINAL ARRANGEMENT OF DATA IS
  DESTROYED.
  
  THIS SUBROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES AND TEST DATA.
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE ENCLOSED TEST PROGRAM READS 14 DATA POINTS ON 2 RECORDS IN A
  7(6X,I4) FORMAT.
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL ISORT (IBEG, NEND, IAORD, IARAY) 
  
  PARAMETER  TYPE      DESCRIPTION
  
  IBEG       INTEGER   SUBSCRIPT OF NUMBER IN ARRAY WITH WHICH ORDERING 
                       BEGINS.
  
  NEND       INTEGER   SUBSCRIPT OF NUMBER IN ARRAY WITH WHICH ORDERING 
                       ENDS.
  
  IAORD      INTEGER   IF POSITIVE - ARRAY WILL BE PUT IN ASCENDING ORDER;
                       IF NEGATIVE OR ZERO - ARRAY WILL BE PUT IN 
                       DESCENDING ORDER.
  
  IARAY      INTEGER   NAME OF ARRAY TO BE ORDERED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X00201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  ARANK 
 **PROGRAM TITLE: 
  RANKING A FLOATING POINT ARRAY. 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    FLOATING POINT  ARRAY           SORT
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  921 WITH EXTERNAL SUBPROGRAMS (545 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ARRANGES A FLOATING POINT SINGLE-DIMENSION ARRAY IN 
  ASCENDING OR DESCENDING ORDER. THE ORIGINAL ARRANGEMENT OF DATA IS NOT
  DESTROYED.
  
  THIS SUBROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES AND TEST DATA 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE ENCLOSED TEST PROGRAM READS 14 DATA POINTS ON TWO RECORDS IN A
  7(2X,F8.2) FORMAT.
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL ARANK(LAST, IAORD, ARRAY, JSML, LARGE) 
  
  PARAMETER   TYPE      DESCRIPTION 
  
  LAST        INTEGER   SUBSCRIPT OF LAST NUMBER IN ARRAY.
  
  IAORD       INTEGER   IF POSITIVE OR NEGATIVE, ARRAY WILL BE RANKED FOR 
                        SMALLEST TO LARGEST AND THEN FROM LARGEST TO
                        SMALLEST; IF ZERO, ARRAY WILL ONLY BE RANKED FROM 
                        SMALLEST TO LARGEST.
  
  ARRAY       REAL      NAME OF ARRAY TO BE RANKED. 
  
  JSML        INTEGER   THE OUTPUT ARRAY FOR SMALLEST TO LARGEST RANKING
                        SCHEME. 
  
  LARGE       INTEGER   OUTPUT ARRAY FOR LARGEST TO SMALLEST RANKING
                        SCHEME. 
  
  THE ORIGINAL ARRAY (XARAY) IS NOT DESTROYED UPON RETURNING TO THE MAIN
  PROGRAM. THE VALUE OF ZERO MUST BE EXCLUDED FROM THE ORIGINAL ARRAY 
  UNLESS THAT ARRAY HAS BOTH POSITIVE AND NEGATIVE VALUES. IF THE USER
  SETS IAORD = 0 IN THE MAIN PROGRAM, THE ARRAY JLARGE MAY BE DIMENSIONED 
  TO ONE (1) IN THE MAIN PROGRAM. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X00301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SORTM 
 **PROGRAM TITLE: 
  ORDERING A FLOATING POINT ARRAY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    SORT            FLOATING POINT  ARRAY 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  495 WITH EXTERNAL SUBPROGRAMS (100 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ARRANGES A FLOATING POINT SINGLE-DIMENSION ARRAY IN 
  ASCENDING ORDER. THE ORIGINAL ARRANGEMENT OF DATA IS DESTROYED. 
  
  THIS SUBROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES AND TEST DATA 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  THE ENCLOSED TEST PROGRAM READS IN 15 DATA POINTS ON THREE RECORDS IN A 
  F10.3 FORMAT. 
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL SORTM (X, NUM) 
  
  PARAMETER   TYPE      DESCRIPTION 
  
  X           REAL      ARRAY NAME
  
  NUM         INTEGER   NUMBER OF ELEMENTS IN THE ARRAY 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X00401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FIELD 
 **PROGRAM TITLE: 
  FIELD SORT IN ALPHABETIC/NUMERIC ORDER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    SORT            ASCII           INTEGER 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  521 WITH EXTERNAL SUBPROGRAMS (277 WITHOUT).
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
   THIS ALGOL PROCEDURE SORTS ASCII OR INTEGER DATA INTO ALPHABETIC AND/OR
  NUMERIC ORDER. THE USER SPECIFIES THE NUMBER OF RECORDS TO BE SORTED, 
  THE RECORD LENGTH, AND THE FIELD ON WHICH THE SORT IS TO BE PERFORMED.
  THE REMAINING DATA IN EACH RECORD IS CARRIED ALONG UNCHANGED BY FIELD-
  SORT. SORTING IS CONDUCTED (IN PLACE), CONSEQUENTLY THE SORTED DATA 
  REPLACES THE UNSORTED DATA IN CORE STORAGE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PROCEDURE IS CALLED BY USING ITS NAME:
  
       FIELDSORT (M, N, RECORDLENGTH, SORTLENGTH, FIELDSTART);
  
  THE PARAMETERS ARE AS FOLLOWS:
  
  M: A TWO-DIMENSIONAL ARRAY DECLARED IN THE USER'S MAIN PROGRAM AS 
     FOLLOWS: 
  
      INTEGER ARRAY M [0:P, 1:RECORDLENGTH];
  
     WHERE P IS THE NUMBER OF RECORDS AND RECORDLENGTH IS THE NUMBER OF 
     WORDS IN EACH RECORD. (ALL RECORDS MUST BE OF THE SAME LENGTH.)
  
  N: THE NUMBER OF RECORDS TO BE SORTED <= P (AS DECLARED ABOVE). 
  
     RECORDLENGTH: THE NUMBER OF WORDS THAT COMPRISES EACH RECORD (EQUAL
                   TO RECORDLENGTH DECLARED AS ABOVE).
  
     SORTLENGTH: THE NUMBER OF WORDS IN A GIVEN RECORD TO BE SORTED 
                 BEGINNING WITH THE WORD DESIGNATED BY FIELDSTART.
  
     FIELDSTART: THE RECORD NUMBER ON WHICH THE FIELD TO BE SORTED BEGINS.
  
  * FIELDSORT TREATS ALPHA DATA AS INTEGERS. HENCE IT CANNOT SORT 2 WORD
    FLOATING POINT DATA.
  
  IT IS NECESSARY TO MAKE THE 1ST DIMENSION OF THE ARRAY FROM ZERO TO THE 
  NUMBER OF RECORDS TO BE SORTED (N). FIELDSORT USES THE ZEROTH RECORD
  FOR ITS HOUSEKEEPING. 
  
  IF TWO ENTRIES OF THE ARRAY HAVE IDENTICAL SORTING KEYS, THEY WILL BE 
  ADJACENT IN THE RESULTING ARRAY.
  
  THIS ALGORITHM IS EXTREMELY FAST. THERE ARE FASTER ALGORITHMS KNOWN 
  (E.E. QUICKSORT) BUT NOT MANY. THIS IS ONE OF THE BETTER ALGORITHMS 
  SINCE THERE ARE NO CASES WHICH ARE PATHOLOGICAL. IT IS FAR SUPERIOR TO
  THE BUBBLE SORT AND HEAP SORT TECHNIQUES. 
  
  THE USER MAY USE THIS PROCEDURE AS AN EXTERNAL PROCEDURE BY MAKING THE
  DECLARATION IN HIS MAIN PROGRAM:
  
      PROCEDURE FIELSORT (M,N,RECORDLENGTH, SORTLENGTH, FIELDSTART);
  
      VALUE N, RECORDLENGTH, SORTLENGTH, FIELDSTART;
      INTEGER N, RECORDLENGTH, SORTLENGTH, FIELDSTART;
      INTEGER ARRAY M;
      CODE; 
  
  AND COMPILING THE ENCLOSED PROCEDURE SEPARATELY FROM THE MAIN PROGRAM 
  USING THE CONTROL STATEMENT ENCLOSED. 
  
  IF THE PROCEDURE IS TO BE INTERNAL TO THE PROGRAM WITH THE REST OF THE
  USER'S PROCEDURES, HE SHOULD COMPILE IT AS PART OF THE PROGRAM AS USUAL 
  DELETING THE "HPAL" CONTROL STATEMENT ENCLOSED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X00501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FIND
 **PROGRAM TITLE: 
  ASCII STRING SEARCH FROM DISC FILE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    ASCII           DISC            FILES 
    SEARCH          CHARACTER 
  
 **LANGUAGES: 
    FTN2        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  3837 WITH EXTERNAL SUBPROGRAMS (1097 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM SEARCHES A SOURCE FILE ON THE DISC FOR ALL OCCURRENCES 
  OF A SPECIFIED STRING OF CHARACTERS AS INPUT FROM THE SYSTEM CONSOLE
  OR BATCH DEVICE.  THE MAXIMUM STRING LENGTH IS 72 CHARACTERS.  THE
  LOCATED STRINGS ARE LISTED ON THE LINE PRINTER OR SYSTEM CONSOLE BY 
  LINE NUMBER AND POSITION WITHIN THE LINE, AND THE LINE ITSELF IS
  PRINTED.  NON-PRINTING CHARACTERS ARE LISTED IN OCTAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE SOURCE LISTING. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE SOURCE LISTING. 
  
  
 **MISCELLANEOUS: 
  
  THE FOLLOWING CHARACTERS MAY NOT BE USED IN A SEARCH STRING:
       RUBOUT 
       LEADING :
       CONTROL "A" (FUNCTIONS AS A CHARACTER DELETE)
X00601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  EFMP FILE SORT ASCII/INTEGER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    SORT            FILES           ASCII 
    INTEGER 
  
 **LANGUAGES: 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  OPERATING IN A 16K DOS-M ENVIRONMENT THIS PACKAGE SORTS INTEGER OR
  ASCII EFMP FILES IN ASCENDING ORDER.  UP TO NINE KEYS CAN BE SELECTED 
  IN ORDER OF SORTING SIGNIFICANCE.  THESE KEYS ARE IDENTIFIED BY WORD
  NUMBER WITHIN EACH RECORD OF THE FILE, AND CAN BE A MAXIMUM OF FORTY
  WORDS LONG. 
  
  THE RESULT OF A SORT IS A TAG EFMP FILE WHICH CONSISTS OF A ONE WORD
  RECORD FOR EACH RECORD IN THE SORTED FILE (MAXIMUM 32767).  WHEN
  ACCESSED SEQUENTIALLY, THE TAG FILE PROVIDES THE ORDER IN WHICH THE 
  ORIGINAL FILE MUST BE READ TO BE SORTED AS SPECIFIED.  THE SORT PROGRAM 
  CAN BE RUN INDEPENDENTLY OR CAN BE CALLED BY A FORTRAN PROGRAM WHICH
  PASSES THE NECESSARY PARAMETERS VIA THE COMMON AREA.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  
  
 **LOAD INSTRUCTIONS: 
  
  STANDARD PROCEDURES 
  
  
 **RUN INSTRUCTIONS:
  
  PROVIDE ANY EFMP FILE.
  
  PREPARE A PAPER TAPE OR PUNCHED CARD WITH THE NECESSARY PARAMETERS, 
  OR ENTER THE PARAMETERS AT RUN TIME.  THE FORMAT IS THE SAME FOR EACH 
  METHOD OF INPUT:  ONE STRING OF 74 CHARACTERS.
  
  CHARACTERS                    CONTENTS
  
  1-6                           NAME OF FILE TO BE SORTED.
  7-9                           FIRST WORD OF KEY #1. 
  10-12                         LAST WORD OF KEY #2.
  . 
  . 
  . 
  55-57                         FIRST WORD OF KEY #9. 
  58-60                         LAST WORD OF KEY #9.
  61-65                         SECURITY CODE OF FILE TO BE SORTED. 
  66                            NUMBER OF KEYS. 
  67-68                         TOTAL NUMBER OF WORDS IN ALL KEYS 
                                  COMBINED. 
  69-74                         OUTPUT FILE NAME. 
  
  THE FIRST AND LAST WORDS OF EACH KEY SHOULD BE SPECIFIED BY A NUMBER
  FROM 1 TO THE TOTAL NUMBER OF WORDS IN A RECORD.  KEY 1 MIGHT BE FROM 
  WORD 1 OR WORD 8 OF A RECORD.  ONLY THE NUMBER OF KEYS SPECIFIED IN 
  CHARACTER 66 WILL BE USED, ALL OTHERS WILL BE IGNORED.
  
  WHEN PARAMETERS ARE GIVEN BY TTY THE LAST 3 CHARACTERS WILL BE TYPED
  ON TOP OF ONE ANOTHER, SINCE ONLY 72 CHARACTERS PER LINE ARE AVAILABLE
  AND 74 HAVE TO BE ENTERED PLUS A CARRIAGE RETURN, LINE FEED.
  
  EXECUTE THE PROGRAM SORT (: PR, SORT).  OR SORT CAN BE CALLED FROM
  ANOTHER PROGRAM PASSING THE PARAMETERS VIA COMMON.
  SEE PROGRAM DESCRIPTION.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  IF NO EFMP FILE IS AVAILABLE TO TEST SORT, THE PROGRAM ALFA CAN BE
  USED TO FILL A SAMPLE FILE CALLED SOFIL WITH ASCII STRINGS.  THE
  SECURITY CODE OF SOFIL IS 0.
  
  
 **PROGRAM DESCRIPTION: 
  
  USE OF TAG FILE 
  
  THE SORT PROGRAM MIGHT HAVE OUTPUT A NEW FILE IDENTICAL TO THE
  ORIGINAL FILE, EXCEPT SORTED IN THE ORDER SPECIFIED.  HOWEVER, THE TAG
  FILE WAS CHOSEN INSTEAD BECAUSE IT ALLOWS A USER TO HAVE VERY LARGE 
  FILES SORTED IN SEVERAL WAYS WITHOUT RUNNING OUT OF DISC SPACE.  THE
  FOLLOWING GIVES A MORE DETAILED EXPLANATION OF HOW THE TAG FILE IS
  USED. 
  
  SUPPOSE THE MASTER FILE HAS FOUR RECORDS OF FOUR WORDS EACH:
  
         5 . . .     8 . . .      4 . . .      1 . . .
  
  IF A SORT IS PERFORMED ON THE FIRST WORD OF EACH RECORD, THE RESULTING
  TAG FILE IS FOUR ONE-WORD RECORDS:
  
         00004      00003       00001      00002
  
  THE TAG FILE CAN NOW BE READ SEQUENTIALLY.  THE CONTENTS OF EACH
  RECORD OF THE TAG FILE CAN BE USED AS THE "RECORD NUMBER" TO BE 
  ACCESSED FROM THE MASTER FILE.
  EXAMPLE:
  CALL EXEC (24, 6, TAGFI, 0, NUMBRE, ERROR)
  0 = SEQUENTIAL READ OF TAG FILE, LEAVING THE CONTENT OF EACH RECORD 
  IN "NUMBRE".
  
  CALL EXEC (24, 6, MASTE, NUMBRE, BUFFER, ERROR) 
  RANDOM ACCESS OF "MASTE" FILE IN THE ORDER SPECIFIED BY THE TAG FILE. 
  
  CALLING SEQUENCE - FORTRAN
  CALL EXEC (10, INAME) 
  INAME IS AN ARRAY OF 3 WORDS WHICH CONTAINS THE PROGRAM NAME "SORT".
  THE PARAMETERS MUST BE PASSED VIA 40 WORDS IN COMMON.  THE ORDER
  SHOULD BE AS FOLLOWS: 
  
  WORDS             CONTENTS                           EX. CONTENTS 
  
  1-9               BLANK 
  10                999                                999
  11-13             NAME OF FILE TO BE SORTED          SOFIL
  14                FIRST WORD OF KEY #1               1
  15                LAST WORD OF KEY #1                8
  16                FIRST WORD OF KEY#2                25 
  17                LAST WORD OF KEY #2                28 
  18                FIRST WORD OF KEY #3               9
  19                LAST WORD OF KEY #3                10 
  . 
  . 
  . 
  30                FIRST WORD OF KEY #9               0
  31                LAST WORD OF KEY #9                0
  32                SECURITY CODE                      12345
  33                NUMBER OF KEYS                     3
  34                TOTAL NUMBER OF WORDS 
                    IN ALL KEYS                        14 
  35-37             NAME OF PROGRAM TO
                    TO RETURN TO                       REPOR
  38-40             NAME OF OUTPUT FILE                SOTAG
  
  CALLING SORT FROM A FORTRAN PROGRAM PROVIDES ONE ADDED CAPABILITY.
  THE USER CAN SPECIFY TO WHICH PROGRAM HE WANTS SORT TO RETURN.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE 3 PROGRAMS ARE INDEPENDENT, AND THEY NEVER RETURN TO THE PREVIOUS 
  ONE.  THE COMMUNICATION IS ONLY ONE WAY: SORT TO SORT1 TO SORT2.
  
  ANY OF THE 3 CAN FIND SITUATIONS THAT COULD ABORT THE SORT. (WRONG
  PARAMETERS, NOT ENOUGH SPACE IN DOS WORK-AREA, NOT ENOUGH SPACE IN
  EFMP PLATE, DUPLICATE FILE NAME, EFMP ERRORS, ETC.) 
  
  IN ALL CASES A MESSAGE IS GIVEN, AND THE SORT HAS TO BE RUN AGAIN 
  AFTER APPROPRIATE CORRECTIONS (TO PARAMETERS, DISC SPACE, SECURITY
  CODE, DVP FILE NAME) ARE MADE.
  
  
 **MISCELLANEOUS: 
  
  SINCE SORT USED ALL THE WORD AREA OF DOS-M WITH THE PN000 FILE, THIS
  HAS TO BE PURGED WHEN THE SORT FINISHES AND A MESSAGE IS GIVEN TO 
  THIS RESPECT. 
  
  LEAVE ENOUGH SPACE IN THE WORK AREA AND THE EFMP PACK BEFORE SORT 
  STARTS TO PREVENT ABNORMAL TERMINATIONS.
  
  IN AN ENVIRONMENT OF SEVERAL DRIVES, THE OUTPUT FILE WOULD BE PUT IN
  AN EFMP PACK DIFFERENT THAN THAT OF THE INPUT FILE, SINCE THE REQUEST 
  FOR SPACE IS IN "ANY AVAILABLE PLATE".
  
  SECURITY CODE FOR THE OUTPUT FILE = 0.
X00701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  BYTE DATA MANIPULATION WITH MICROCODED ROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    BYTE            MICROCODE       COMPARE 
  
  
 **LANGUAGES: 
    MICROASMB 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE OF SEVEN MICROCODED ROUTINES ALLOWS USERS TO:
  
  A.  MOVE WORDS FROM CORE TO CORE (NON-INTERRUPTABLE AND INTERRUPTABLE). 
  
  B.  LOAD AN 8-BIT BYTE IN THE RIGHT HALF OF THE A REGISTER (BITS 7-0).
  
  C.  STORE A BYTE INTO CORE. 
  
  D.  MOVE A STRING OF BYTES FROM CORE TO CORE (INTERRUPTABLE). 
  
  E.  SEARCH A BYTE STRING FOR A PARTICULAR BYTE (INTERRUPTABLE). 
  
  F.  COMPARE BYTE STRINGS. 
  
  THE LOCATION AND DESIGN OF THE PRIMARY AND SECONDARY MAPPING TABLES AND 
  THE PLACEMENT OF THESE MICROPROGRAMS ARE COMPATIBLE WITH THE HP12907A A 
  FAST FORTRAN PROCESSOR (FFP) MICROCODE OPTION.  THIS PACKAGE REQUIRES 
  THE HP12908 A/B WCS BOARD OR BURNED PROM CHIPS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCES 
  FILE#  3: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE THE MICROPROGRAM.  ASSEMBLE THE TEST PROGRAM.  SET THE ENTRY 
  MODULE TO 1 IF THE FLOATING POINT PACKAGE IS PRESENT AND 2 IF FLOATING
  POINT IS NOT IN THE SYSTEM.  LOAD THE WCS BOARD USING THE DEBUG EDITOR
  OR WCS UTILITY PROGRAM OR BY CALLING THE WCS DRIVER.  LOAD THE TEST 
  PROGRAM TO CHECK THE MICROPROGRAMS. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  ASSEMBLE AND LOAD THE TEST PROGRAM AS DESCRIBED IN LOAD INSTRUCTIONS. 
  RUN THE PROGRAM WITH: 
  
       :PR,CHECK
  
  IF IT RUNS CORRECTLY IT WILL PRINT: 
  
       XXACTITX 
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  LITERATURE REFERENCE
  
  2100 COMPUTER MICROPROGRAMMING GUIDE            5951-3028 
  2100 COMPUTER MICROPROGRAMMING SOFTWARE        02100-90133
  2100 COMPUTER DOS MICROPROGRAMMING SOFTWARE    02100-90146
  BCS DRIVER SMALL PROGRAMS MANUAL               12908-90003
  DOS DRIVER SMALL PROGRAMS MANUAL               12908-90004
  12908A OPERATING & SERVICE MANUAL              12908-90001
  12908B OPERATING & SERVICE MANUAL            12908-90011
  
  SPECIAL CONSIDERATIONS
  
  FOR 2100 CONTAINING MICROINSTRUCTION DECODER 2 CARD (A4), P/N 02100-
  60022.
  
  1.  THE CJMP MICRO-ORDER DOES NOT FUNCTION IN MODULES 2 AND 3.
  
  2.  IF THE MICROCODE IS USED IN MODULES 2 OR 3 THE FOLLOWING CHANGES
      MUST BE MADE: 
  
      A.  REPLACE THE MICROINSTRUCTION IN LOCATIONS 1051, 1107 & 1252 
  
             (Q        CJMP S3 INTRX)   WITH
             (NOP  NOP  IOR NOP NOP  NOP) 
  
      B.  REPLACE THE MICROINSTRUCTION IN LOCATION 1121 
  
             (B      CJMP S2 MOVBI)   WITH
             (B NOP IOR S2 NOP NOP) 
  
  THE LOCATION AND DESIGN OF THE PRIMARY AND SECONDARY MAPPING TABLES AND 
  THE PLACEMENT OF THE MICROPROGRAMS ARE COMPATIBLE WITH THE HP SUPPORTED 
  FAST FORTRAN PROCESSOR (FFP) MICROCODE OPTION.
  
  THE BYTE DATA MANIPULATION MICROCODE FITS INTO THE UNUSED LOCATIONS IN
  THE FFP OPTION; IT ALSO DUPLICATES SOME OF THE FFP CODE.
  
  THE FOLLOWING BYTE DATA MANIPULATION CODE IS ALSO IN THE FFP OPTION:
  
      LOCATION:   1012
                  1013
                  1020
                  1240 THROUGH AND INCLUDING 1261 
                  1367 THROUGH AND INCLUDING 1377 
X00801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SFRFD 
 **PROGRAM TITLE: 
  CONVERSION OF ASCII INTO ASCII AND/OR INTEGER FIELDS. 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    CONVERSION      ASCII           INTEGER 
    FORMATTING
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  SUBROUTINE 'SFRFD' IS A FORTRAN CALLABLE, RELOCATABLE ASSEMBLY LANGUAGE 
  ROUTINE WHICH CAN CONVERT A STRING OF ASCII CHARACTERS INTO ASCII AND/OR
  INTEGER FIELDS. OPTIONALLY IT WILL ALSO READ THE ASCII STRING VIA A 
  DOS-M EXEC CALL FROM A DEVICE WHOSE LOGICAL UNIT NUMBER IS SPECIFIED IN 
  ONE OF THE ARGUMENTS. ALSO PASSED AS ARGUMENTS INTO THIS ROUTINE IS AN
  ARRAY SPECIFYING THE TYPE AND LENGTH OF FIELDS BETWEEN DELIMITERS, THE
  SIZE OF THE INPUT BUFFER, AND THE DELIMITER SEPARATING THE INTEGER
  AND/OR ASCII FIELDS. SUBROUTINE 'SFRFD' ALSO CHECKS FOR ILLEGAL INTEGERS
  AND INTEGER OVERFLOW. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SFRFD SOURCE
  FILE#  3: TEST
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
       THE FORMAT OF THE FORTRAN CALLING PROGRAM IS:
  
                     CALL SFRFD (JFUN,LUN,ITYPE,INBUF,IBSIZ,IRESL,IDLM) 
  
  JFUN - FUNCTION NUMBER
  
       0 = READS, CONVERTS, AND PRINTS ERROR MESSAGES IF ANY. 
       1 = READS, CONVERTS, AND PRINTS NO ERROR MESSAGES. 
       2 = CONVERTS, AND PRINTS ERROR MESSAGES IF ANY.
       3 = CONVERTS, AND PRINTS NO ERROR MESSAGES.
  
  LUN - LOGICAL UNIT OF INPUT DEVICE. IF JFUN IS 2 OR 3 THE LUN IS
        MEANINGLESS.
  
  ITYPE - AN ARRAY SPECIFYING INTO WHAT FIELDS TO CONVERT THE ASCII 
          CHARACTERS. 
        -N = FOR AN ASCII FIELD THE TYPE # IS NEGATIVE THE NUMBER OF
             CHARACTERS.
  IF MORE THAN N CHARACTERS ARE READ IN THE GIVEN FIELD THEN ALL
  CHARACTERS AFTER CHARACTER #N IS IGNORED UNTIL A DELIMITER OR END OF
  BUFFER IS FOUND. IF LESS THAN N CHARACTERS ARE READ THEN BLANKS ARE 
  STORED FOR ALL REMAINING CHARACTERS (SEE IRESL BELOW).
        +N = FOR AN INTEGER FIELD THE TYPE # IS POSITIVE. 
         0 = FOR END OF BUFFER THE TYPE IS ZERO.
  
  INBUF - INPUT BUFFER CONTAINING THE ASCII CHARACTERS INPUT (JFUN = 2,3) 
          OR THAT WILL BE READ BY THIS ROUTINE (JFUN = 0, OR 1).
  
  BSIZE - BUFFER CONTAINING THE RESULTS. INTEGERS USE ONLY ONE WORD IN THE
          RESULTS BUFFER. IF THE MAXIMUM NUMBER OF ASCII CHARACTERS WAS AN
          ODD NUMBER THEN A BLANK IS STORED TO FILL THE LAST WORD.
          THEREFORE ALL FIELDS END ON A WORD. 
  
  IDLM - THE DELIMITER SEPARATING THE STRINGS IN THE ASCII INPUT. A BLANK 
         WILL END AN INTEGER STRING IN WHICH CASE THE PROGRAM WILL IGNORE 
         ALL FOLLOWING CHARACTERS UNTIL A DELIMITER OR END OF BUFFER IS 
         FOUND. 
  
  IMPORTANT: IF ANY ERRORS ARE FOUND WHEN CONVERTING AN INTEGER FIELD THEN
  THE PROGRAM RETURNS IMMEDIATELY AFTER THE CALL STATEMENT. IF NO ERROR,
  THEN THE RETURN ADDRESS IS INCREMENTED BY ONE. THEREFORE, IN A FORTRAN
  PROGRAM THERE NEEDS TO BE A GO TO STATEMENT IMMEDIATELY FOLLOWING THE 
  CALL STATEMENT. 
  
  IF CODING AN ASSEMBLY LANGUAGE THEN THERE MUST BE A JUMP STATEMENT
  IMMEDIATELY FOLLOWING THE JSB AND DEF STATEMENTS. 
  
  JUMP IF AN ILLEGAL INTEGER OR INTEGER OVERFLOW IS FOUND. IF THE ERROR 
  WAS "ILLEGAL INTEGER" THEN THE B-REGISTER IS 0. IF THE ERROR WAS
  "INTEGER OVERFLOW" THEN THE B-REGISTER IS 1.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE FORTRAN FORMATTER CAN BE AVOIDED IF ONLY INTEGER AND ASCII INFOR- 
  MATION IS INPUT AND OUTPUT. SUBROUTINE SFRFD CAN BE USED FOR INPUT. AN
  INTEGER TO ASCII CONVERTER TOGETHER WITH DOS-M EXEC CALLS CAN BE USED 
  TO OUTPUT.
X00901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HEWLETT-PACKARD IDEAL COMMERCIAL SUBROUTINE LIBRARY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    ACCOUNTING      LIBRARY         PAYROLL 
    INTEGER         FORMATTING
  
 **LANGUAGES: 
    ASMB        FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  3337 WITH EXTERNAL SUBPROGRAMS (1273 WITHOUT) 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SET OF 18 ASSEMBLY AND 1 FORTRAN ROUTINES PROVIDE THE MEANS
  OF BUSINESS APPLICATION PROGRAMMING WITH LITTLE FORTRAN 
  EXPERIENCE, MAKING HP FORTRAN AN EASY AND POWERFUL COMMERCIAL 
  LANGUAGE. THIS SET IS EASY TO LEARN, EASY TO USE, EFFICIENT,
  FAST, ACCURATE, AND PROVIDES EDITING CAPABILITIES. ERROR
  DETECTION IS PROVIDED IN APPROPRIATE ROUTINES. PROGRAMS WERE
  DEVELOPED USING DOS-M SYSTEM, BUT COULD RUN IN A 4K BCS 
  ENVIROMENT. 
  THERE ARE DOUBLE INTEGER ADD, SUBTRACT, MULTIPLY, AND DIVIDE
  ROUTINES, MOVE INTEGER TO/FROM DOUBLE INTEGER, CONVERT DOUBLE 
  INTEGER TO/FROM FLOATING POINT, A1 TO/FROM A2/A3 FORMAT 
  CONVERSIONS, DETERMINE THE SIGN OF A DOUBLE INTEGER, AND SINGLE 
  AND DOUBLE INTEGER TO A1 FORMAT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  1) PURGE SOURCE AND RELOCATABLE NAMES OF ROUTINES GIVEN IN THE
     TABLE BELOW. 
  
                        TABLE 1 
  
  PROGRAM NAME          SOURCE FILE NAME         RELOCATABLE NAME 
  
    AD & SD                  SADS                     RADSD 
    MD                       SMD                      RMD 
    DD                       SDD                      RDD 
    MIDI                     SMIDI                    RMIDI 
    MDII                     SMDII                    RMDII 
    DFLT                     SDFLT                    RDFLT 
    DFIX                     SDFIX                    RDFIX 
    MASI,MADI                SASID                    RASID 
    CRAM,UNCM                SA131                    RA131 
    JINT                     SJINT                    RJINT 
    MSIA,MDIA                SIDI                     RSIDI 
    PACK                     SPACK                    RPACK 
    UNPK                     SUNPK                    RUNPK 
    DATSW                    SDATA                    RDATA 
    CLEAR                    SCLEA                    RCLEA 
    DITST                    SDITS                    TDITS 
  
  2) COMPILE FORTRAN PROGRAMS CLEAR & DITST AND STORE UNDER 
     RELOCATABLE NAME GIVEN IN TABLE. 
  
        TYPICAL    :JO
                   :JF,(SOURCE FILE NAME) 
                   :PROG,FTN4,2,99
                   :ST,R,(RELOCATABLE NAME) 
  
  3) ASSEMBLE ALL OTHER ROUTINES AND STORE UNDER THEIR RELOCATABLE
     NAME GIVEN IN TABLE. 
  
        TYPICAL    :JO
                   :JF,(SOURCE FILE NAME) 
                   :PROG,ASMB,2,99
                   :ST,R,(RELOCATABLE NAME) 
  4) :PROG,LOADR,2,,,1,1
     RDITS,RADSD,RMD,RDD,RMIDI,RASID,RDFLT,RDFIX,RPACK,RUNPK
     RA131,RJINT,RDATA,RCLEA,RMDII,RSIDI
   /E 
   :ST,P
  
  
 **RUN INSTRUCTIONS:
  
  TO RUN TEST PROGRAM 
  
  :PROG,DITST 
  SWITCH SETTINGS CONTROL TEST ROUTINE
  SEE COMMENTS IN SOURCE LISTING OF SDITS 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
       IN CONJUNCTION WITH THE HP COMMERCIAL SUBROUTINE PACKAGE 
  FULL EDITING CAPABILITIES ARE AVAILABLE TO THE USER.
  
  EASY:       VARIABLE FORMAT STATEMENTS ARE UNNECESSARY SINCE
              WHOLE LINES ARE OUTPUTTED IN A1 FORMAT. FREE FORMAT 
              READING ANYWHERE WITHIN A SPECIFIED FIELD IS
              PROVIDED FOR EASE OF NUMERICAL DATA INPUT AND FOR 
              DECREASING THE POSSIBILITIES OF MISPUNCHED DATA.
  
  EFFICIENT:  CHOICE OF BOTH SINGLE (+/-32767) OR DOUBLE (+/-2, 
              147,483,647) INTEGER VARIABLES USING ONE OR TWO OF
              CORE STORAGE. TEN 9 COLUMN NUMBERS USE JUST 20
              WORDS.
  
  SPEED:     DOUBLE INTEGER ARITHMETIC USES SPEED OF DOUBLE WORD
             MACHINE INSTRUCTIONS.
  
  ACCURATE:  DOUBLE INTEGER PROVIDES PENNY ACCURACY UP TO $21,474,836.47, 
             IN TWO 16 BIT WORDS. 
  
  COMPACT:   ALPHANUMERIC DATA CAN BE STORED UP TO 3 CHAR./WORD. A
             BASIC SET OF 40 ALPHANUMERIC CHARACTERS ARE
             ESTABLISHED IN A TABLE WITHIN "CRAM".
  
  CONVERTIBLE: DOUBLE INTEGERS CONVERT TO FLOATING POINT & VICE 
               VERSA. 
  
  EDITING:   EDITING FORMATS PROVIDE INTEGER AND DOUBLE INTEGER 
             OUTPUT NOTATION WITH LEADING ZEROS OR ZERO 
             SUPRESSION. NUMBERS EDITED TO HAVE A DECIMAL POINT 
             HAVE THE LEADING ZEROS SUPRESSED.
  
  EASY TO 
  LEARN:     HP IDEAL IS EASY TO LEARN AND APPLY. 
  
  ERROR 
  DETECTION: ERROR DETECTION IS PROVIDED IN APPROPRIATE ROUTINES. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X01001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  PAYROLL PACKAGE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    PAYROLL 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    DOS-III 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PAYROLL PACKAGE USES IMAGE-B FILE STRUCTURE.  THE EMPLOYEE RECORD
  FILE, COIN AND NOTE ANALYSIS AND PAYROLL TOTALS FILE ARE (SET-UP),
  USING THE IMAGE SCHEMA APPROACH.  THIS PROVIDES EASE OF ACCESS TO THE 
  FILES ON DISC AND ALLOWS FOR A VARIETY OF REPORTS TO BE WRITTEN USING 
  THE IMAGE SCHEMA APPROACH.  THIS PROVIDES EASE OF ACCESS TO THE FILES 
  ON DISC AND ALLOWS FOR A VARIETY OF REPORTS TO BE WRITTEN USING (QUERY) 
  REPORT GENERATOR.  NO REPORTS AS SUCH ARE INCLUDED IN THIS PACKAGE
  BUT ANYONE FAMILIAR WITH QUERY REPORT FACILITIES CAN WRITE THESE
  REPORTS USING THE SCHEMA AS SET OUT IN THIS PACKAGE.
  
  SOFTWARE REQUIREMENTS INCLUDE IMAGE 2100.  HARDWARE REQUIREMENTS
  INCLUDE 24K CORE, HIGH SPEED READER; TTY; DMA; AND 7900 DISC. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: SOURCE
  FILE# 10: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE IMAGE RELOCATABLE MODULES MUST BE LOADED ON DISCS (USING PR, LOADR) 
  ALL THE FTN4 SOURCE TAPES SHOULD BE COMPILED AND LOADED AS OUTLINED 
  ON PAGE 3.
  
  
 **RUN INSTRUCTIONS:
  
  THE PROGRAM RUNS INTERACTIVELY.  WHERE PAPERTAPE INPUT IS EXPECTED, 
  THE PROGRAM PAUSES AND THE USUAL :GO INSTR. ALLOWS THE PROGRAM TO 
  CONTINUE. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PACKAGE CONSISTS OF 3 PROGRAMS, ALL WRITTEN IN FORTRAN IV SOURCE 
  TO ENABLE SIMPLE MODIFICATIONS WHICH WILL BE REQUIRED WHERE:
  
  1)  CHANGE OF PAYSLIP FORMAT IS NECESSARY 
  2)  WHERE TAX CALCULATIONS DIFFER FROM NEW ZEALAND RULES
  
  THE PROGRAMS IN THIS PACKAGE DO THE FOLLOWING:
  
  1)  HGPAY     PREPRINTS BLANK STATIONARY WITH PAYSLIPS
     PROGRAM    HEADINGS
  
  2)  PAY1   HAS THE FOLLOWING OPTIONS: 
     PROGRAM
             A)  EDIT OF INPUT PAPERTAPE FOR USE IN AUTO PAYROLL AND
                 PAYSLIP WRITING. 
  
             B)  MANUAL PAYROLL AND PAYSLIP WRITING.  ALL DATA ARE TYPED
                 THROUGH THE CONSOLE (TTY) AND OPERATOR IS PROMPTED AS TO 
                 WHAT DATA SHOULD BE INDEXED NEXT.
  
             C)  AUTO PAYROLL AND PAYSLIP WRITING UPDATES EMPLOYEE
                 RECORDS YTD.  FIELDS ON DISC ACCUMULATES RUN TOTALS AND
                 NOTE/COIN ANALYSIS.  RUN TOTALS ARE ACCUMULATED BY 20
                 DEPARTMENTS.  THIS COULD BE EXTENDED TO 99 BY MODIFYING
                 THE CAPACITY IN THE SCHEMA.  NOTE AND COIN ANALYSIS IS 
                 ALSO BY DEPARTMENTS.  FOR EACH EMPLOYEE THESE TOTALS 
                 ARE UPDATED ON DISC.  BEING PART OF THE SCHEMA THEY ARE
                 EASILY PRINTED OUT AT THE END OF THE PAYROLL RUN USING 
                 "QUERY" FIND COMMAND.  SEE SAMPLE PRINTOUTS IF THIS IS 
                 NOT CLEAR. 
  
  3)  TOTCL     CLEARS THE DEPART TOTALS AND NOTE/COIN ANALYSIS FIGURES.
     PROGRAM    THIS PROGRAM SHOULD BE RUN EACH TIME BEFORE RUNNING PAY1, 
               OTHERWISE THIS PAY'S FIGURES ARE ADDED TO LAST WEEKS TOTALS
                OR LAST MONTH TOTALS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  THE PAYSLIP HAS BEEN PLANNED TO ALLOW PRINTING ON THE TTY.  IF A LINE 
  PRINTER IS USED, GREATER OUTPUT CAN BE EXPECTED.
X01101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RPG0
 **PROGRAM TITLE: 
  PSEUDO REPORT GENERATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    DATA BASE       REPORTS         FILES 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM, OPERATING IN A DOS-M ENVIRONMENT, ENABLES THE USER TO 
  DEFINE, CONSTRUCT, EDIT, AND LIST ASCII DATA FILES IN SELECTIVE OUTPUT
  FORMATS.  FLEXIBLE DATA BASE DEFINITION ENABLES THE USER TO SPECIFY HOW 
  MANY DATA FIELDS AS WELL AS THE NUMBER OF CHARACTERS PER FIELD UP TO
  A MAXIMUM LOGICAL RECORD LENGTH OF 256 CHARACTERS, KEY FIELDS MAY ALSO
  BE SPECIFIED AND LATER USED IN SELECTED LISTINGS.  CONSIDERABLE FLEXIBI-
  LITY IS PROVIDED IN THE TYPE OF LISITNG THAT MAY BE PRODUCED FROM THE 
  DATA IN AN EXISTING DATA FILE.  TYPICAL APPLICATIONS ARE PRODUCTION OF
  MAILING LISTS, PERSONNEL LISTS, ETC.
  
  NOTE THAT THE NON-EAU LIBRARY MUST BE USED FOR CORRECT OPERATION. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **RUN INSTRUCTIONS:
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEE EXTENDED DOCUMENTATION FILE.
  
  
 **MISCELLANEOUS: 
  
  1.  RECOGNITION OF "SORT" AS A VALID COMMAND WAS IMPLEMENTED IN THE MAIN
      PROGRAM (RPG0) ONLY AS A PRELIMINARY STEP TO AID ANY USER DESIRING
      TO WRITE HIS OWN SORT ROUTINE.  TO IMPLEMENT THIS COMMAND, THE USER 
      MUST WRITE HIS OWN SORT . SEE PAGE 19 FOR HELPFUL IMFORMATION ON
      THE INTERNAL FORMAT OF ID FILE SECTOR.
  
  2. THE USER FILE READ/WRITE EXEC CALL IS USED THROUGHOUT THE PROGRAM
     IN EXECUTING ALL ID AND DATA FILE I/O WITHOUT CHECKING FIRST TO
     DETERMINE IF THE GIVEN FILE EXISTS.  THEREFORE, TO AVOID THE DOS-M 
     ERROR MESSAGE, FI NNNNN, MAKE SURE ONLY EXISTING FILE NAMES ARE
     ENTERED IN RESPONSE TO QUESTIONS OF THE FORM:
  
                          I.D. FILE NAME? 
                          DATA FILE NAME? 
  
      IF UNSURE AS TO THE NAMES RESERVED AT AN EARLIER DATE FOR FILE
  
      NAMES, LIST THE USER DIRECTORY TO REFRESH YOUR MEMORY BEFORE
      STARTING THIS PROGRAM.  SEE FOR CORRECT EXECUTION (PAGE 3) FOR
      ORIGINAL ALLOCATION OF DATA FILES.
  
  3.  WHEN THE LENGTH OF A LOGICAL RECORD IS GREATER THAN A PHYSICAL
      RECORD (IE. GREATER THAN AN 80 COLUMN CARD OF A 72 CHARACTER TELE-
      TYPE LINE), CONTINUE DATA INPUT ON SUCCEEDING PHYSICAL RECORDS UP TO
      A MAXIMUM OF 256 CHARACTERS.  END THE LOGICAL RECORD WITH THE EOR 
      CHARACTER DETERMINED AT DEFINE COMMAND TIME.
  
  4.  EACH FIELD WITHIN A LOGICAL RECORD MUST NOT OVERLAP PHYSICAL RECORDS
      AS MAY HAPPEN WITH CARD INPUT WHERE PHYSICAL RECORD LENGTH IS FIXED.
      WHEN THIS SITUATION OCCURS THE USER SHOULD DEFINE THE LENGTH OF THE 
      CURRENT FIELD TO FILL OUT THE 80 COLUMN CARD IN RESPONSE TO THE 
      NUMBER CHAR? QUERY AT DEFINE COMMAND TIME.  THE NEXT FIELD BEGINS 
      IN COLUMN ONE OF THE NEXT CARD/PHYSICAL RECORD.  OBVIOUSLY THE USER 
      IS RESTRICTED TO A MAXIMUM OF FIELD LENGTH OF 80 CHARACTERS WHEN
      USING FIXED PHYSICAL RECORDS FOR HIS INPUT MEDIA. 
  
  5.  USER HEADING LINES, ENTERED DURING EXECUTION OF FLIST COMMAND, ARE
      LIMITED TO A MAXIMUM OF 72 CHARACTERS PER LINE. 
  
  6.  WHEN USING SLIST COMMAND TO PRODUCE SEQUENCED LISTINGS THE FOLLOWING
      FACTS MUST BE REMEMBERED. 
  
      THE # OF CHARACTERS THE PROG WILL ATTEMPT TO PRINT FOR EACH RECORD
      WILL BE THE # OF CHARACTERS PER LOGICAL RECORD FOR THE FILE 
      CONCERNED.  THIS NUMBER IS GIVEN IN A STATUS REPORT LISTING (STATUS 
      COMMAND) FOR THE CONCERNED FILE.  IF THE TOTAL # OF CHARACTERS PER
      LOGICAL RECORD EXCEEDS THE # OF COLUMNS AVAILABLE ON THE LINE-
      PRINTER, TRUNCATION OR WRAPAROUND OF EACH RECORD PRINTED WILL 
      OCCUR.
  
  7.  WHEN USING THE FLIST COMMAND TO PRODUCE FORMATTED LISTINGS IT IS
      MUCH EASIER TO PREPARE THE FLIST INPUT PARAMETER LIST ON CARDS OR 
      PAPER TAPE RATHER THAN ENTERING THEM VIA THE SYSTEM TELETYPE KEY- 
      BOARD, ESPECIALLY IF THE CONCERNED LISTING IS TO BE PRODUCED ON 
      MORE THAN ONE OCCASION.  ONE EASY WAY TO DO THIS IS TO STORE THE
      PARAMETER LIST IN A DOS-M SS TYPE FILE; EDITING MAY THEN BE DONE
      USING THE SYSTEM.  THE :DU,4,NAME DIRECTIVE MAY THEN BE USED TO 
      DUMP THIS PARAMETER LIST FILE TO THE PUNCH FOR INPUT TO PROGRAM 
      RPG0. 
  
  8.  THE KEY FIELD LIST OPTION (DURING FLIST COMMAND EXECUTION) OPERATES 
      ON ALL KEY FIELDS AND KEY FIELD DATA VALUES AS AN "AND" FUNCTION. 
      IN OTHER WORDS WHEN MORE THAN ONE KEY FIELD IS BEING KEYED ON, A
      RECORD WILL NOT BE PRINTED UNLESS ALL KEY FIELDS SPECIFIED CONTAIN
      DATA EQUAL TO THE RESPECTIVE KEY FIELD VALUES SPECIFIED.
X01201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PERTH 
 **PROGRAM TITLE: 
  PERT FOR DOS/DOS-M
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  7 
  
 **KEYWORDS:
    MANAGEMENT      PERFORMANCE 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PERT FOR DOS/DOS-M
  
  'PERT' (PROGRAM EVALUATION AND REVIEW TECHNIQUE) CALCULATES THE MINIMUM 
  TIME REQUIRED TO COMPLETE A PROJECT FROM THE INITIAL EVENT TO THE FINAL 
  EVENT.  THE PROJECT CAN BE REPRESENTED GRAPHICALLY BY A NETWORK 
  CONSISTING OF EVENTS AND ACTIVITIES.
  
  AN EVENT IS DEFINED AS A POINT IN TIME INDICATING THE BEGINNING OR THE
  END OF A SPECIFIC ACTIVITY, BUT NOT THE EXECUTION OF IT.  AN ACTIVITY 
  THEN, IS A PART OF THE PROJECT WHICH DEVELOPS BETWEEN TWO SUCCESSIVE
  EVENTS. 
  
  THE PROGRAM COMPUTES THE MINIMUM TIME (TE) NEEDED FOR EACH EVENT; THE 
  MAXIMUM TIME (TL) EACH EVENT CAN TAKE WITHOUT INCREASING THE (TE) 
  OF THE FINAL EVENT; AND THE DIFFERENCE (SLACK) BETWEEN THE TWO TIMES
  (S = TL - TE).  WITH THESE FIGURES, A CRITICAL PATH OF THE PROJECT
  CAN BE IDENTIFIED, WITH S=0 FOR ALL EVENTS.  ANY DELAY OF AN ACTIVITY 
  ON THE CRITICAL PATH CAUSES AN INCREASE IN THE TIME DURATION OF THE 
  ENTIRE PROJECT. 
  
  PERT WILL ACCEPT UP TO 3000 ACTIVITIES AND 2500 EVENTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE FILE 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  :PR, PERTH, N1, N2, N3, N4 WHERE
      N1 = NUMBER OF THE FINAL EVENT
      N2 = INPUT LOGICAL UNIT 
      N3 = OUTPUT LOGICAL UNIT
      N4 = OUTPUT OPTION AS DEFINED BELOW:
           OPTION 0:  LIST OF TE FOR EACH EVENT 
           OPTION 1:  LIST OF TE AND TL FOR EACH EVENT
           OPTION 2:  LIST OF TE, TL AND S FOR EACH EVENT 
           OPTION 3:  LIST OF TE, TL, AND S FOR EACH EVENT AND ONE LIST 
                      OF EVENTS IN ASCENDING ORDER OF S 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  INPUT DATA CONSISTS OF ONE RECORD FOR EACH OF N ACTIVITIES.  EACH 
  RECORD CONTAINS THREE INTEGERS IN FREE FIELD FORMAT:
  
       THE FINAL EVENT OF THE ACTIVITY
       THE INITIAL EVENT OF THE ACTIVITY
       THE MEDIUM TIME NEEDED FOR EXECUTING THE ACTIVITY CARRIAGE RETURN, 
         LINE FEED
  
  THE LAST RECORD SHOULD BE 0,0,0.
X01301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GAMMA 
 **PROGRAM TITLE: 
  GAMMA FUNCTION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE GAMMA FUNCTION BY MEANS OF THE RECURSION
  RELATION AND POLYNOMIAL APPROXIMATION METHOD. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE FILE 
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL GAMMA (XX, GX', IER) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  XX            REAL     THE ARGUMENT FOR THE GAMMA FUNCTION. 
  
  GX            REAL     THE RESULTANT GAMMA FUNCTION VALUE.
  
  IER           INTEGER  RESULTANT ERROR CODE WHERE:
                         IER=0  NO ERROR
                         IER=1  XX IS WITHIN .000001 OF BEING A NEGATIVE
                                INTEGER 
                         IER=2  XX GT 34, OVERFLOW, GX SET TO 1.0E3 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X01401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BESK
 **PROGRAM TITLE: 
  K BESSEL FUNCTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      FILTER
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE K BESSEL FUNCTION FOR A GIVEN ARGUMENT AND
  ORDER.  IN THE METHOD USED, THE ROUTINE COMPUTES ZERO ORDER AND FIRST 
  ORDER BESSEL FUNCTIONS, USING SERIES APPROXIMATIONS.  THE ROUTINE THEN
  COMPUTES THE (NTH) ORDER FUNCTION BY MEANS OF RECURRENCE RELATION.
  ACCURACY IS USUALLY FIVE DECIMAL PLACES; IN WORST-CASE SITUATIONS 
  ACCURACY IS FOUR DECIMAL PLACES.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL BESK (X, N, BK, IER) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  X             REAL     THE ARGUMENT OF THE K BESSEL FUNCTION DESIRED. 
  
  N             INTEGER  THE ORDER OF THE K BESSEL FUNCTION DESIRED.
  
  BK            REAL     THE RESULTANT K BESSEL FUNCTION. 
  
  IER           INTEGER  RESULTANT ERROR CODE WHERE:
                         IER=0  NO ERROR
                         IER=1  N IS NEGATIVE 
                         IER=2  X IS ZERO OR NEGATIVE 
                         IER=3  X .GT. 80, MACHINE RANGE EXCEEDED 
                         IER=4  BK .GT. 10**38
  
  NOTE:  N MUST BE GREATER THAN OR EQUAL TO ZERO. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X01501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BESI
 **PROGRAM TITLE: 
  I BESSEL FUNCTION ROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      FILTER
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE (I) BESSEL FUNCTION FOR A GIVEN ARGUMENT
  AND ORDER.  THE ROUTINE USES EITHER SERIES OR ASYMPTOTIC APPROXIMATION, 
  DEPENDING ON THE RANGE OF THE ARGUMENT.  ACCURACY IS USUALLY FIVE 
  DECIMAL PLACES; IN WORST-CASE SITUATIONS ACCURACY IS FOUR DECIMAL 
  PLACES. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL BESI (_X, N, BI, IER)
  
  PARAMETER     TYPE     DESCRIPTION
  
  X             REAL     THE ARGUMENT OF THE I BESSEL FUNCTION DESIRED. 
  
  N             INTEGER  THE ORDER OF THE I BESSEL FUNCTION DESIRED.
  
  BI            REAL     THE RESULTANT I BESSEL FUNCTION. 
  
  IER           INTEGER  RESULTANT ERROR CODE WHERE:
                         IER=0  NO ERROR
                         IER=1  N IS NEGATIVE 
                         IER=2  X IS NEGATIVE 
                         IER=3  UNDERFLOW, BI .LT. 1.E-38, BI SET TO 0.0
                         IER=4  OVERFLOW, X .GT. 80 WHERE X .GT. N
  
  NOTE:  N AND X MUST BE GREATER THAN OR EQUAL TO ZERO. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X01601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  BESY
 **PROGRAM TITLE: 
  Y BESSEL FUNCTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      FILTER
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE (Y) BESSEL FUNCTION FOR A GIVEN ARGUMENT
  AND ORDER.  THE ROUTINE USES THE RECURRENCE RELATION AND POLYNOMIAL 
  APPROXIMATION TECHNIQUE.  ACCURACY IS USUALLY FIVE DECIMAL PLACES;
  IN WORST-CASE SITUATIONS ACCURACY IS FOUR DECIMAL PLACES. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL BESY (X, N, BY, IER) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  X             REAL     THE ARGUMENT OF THE Y BESSEL FUNCTION DESIRED. 
  
  N             INTEGER  THE ORDER OF THE Y BESEL FUNCTION DESIRED. 
  
  BY            REAL     THE RESULTANT Y BESSEL FUNCTION. 
  
  IER           INTEGER  RESULTANT ERROR CODE WHERE:
                         IER=0  NO ERROR
                         IER=1  N IS NEGATIVE 
                         IER=2  X IS NEGATIVE OR ZERO 
                         IER=3  BY HAS EXCEEDED MAGNITUDE OF 10**70 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  NOTE:  VERY SMALL VALUES OF X MAY CAUSE THE RANGE OF THE LIBRARY
         FUNCTION ALOG TO BE EXCEEDED.
         X MUST BE GREATER THAN ZERO. 
         N MUST BE GREATER THAN OR EQUAL TO ZERO. 
X01701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MXMN
 **PROGRAM TITLE: 
  LOCATE MAXIMUM-MINIMUM INTEGER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ARRAY           COMPARE         SEARCH
  
  
 **LANGUAGES: 
    ASSEMBLY
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  .1K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE DETERMINES THE MAXIMUM AND MINIMUM OF VALUES IN AN 
  INTEGER ARRAY, AND INDICATES THE POSITIONS IN THE ARRAY OF THESE
  TWO VALUES. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE ROUTINE ".ENTR" FROM THE FORTRAN ALGOL LIBRARY IS NECESSARY TO
  RUN THIS ROUTINE. 
  
  
 **RUN INSTRUCTIONS:
  
  
  FORTRAN STATEMENT:  CALL MXMN (I1, I2, I3, I4, I5)
    I1 IS NAME OF ARRAY TO BE EXAMINED
    I2 = NUMBER OF ELEMENTS IN ARRAY
       +1 <= I2 <= 32767 (LIMITED BY MEMORY SIZE) 
    I3, I4, I5 ARE DUMMY VARIABLES FOR RESULTS
  
  RETURNED VALUES:
    I2 = POSITION IN ARRAY OF MAXIMUM 
    I3 = POSITION IN ARRAY OF MINIMUM 
    I4 = MAXIMUM VALUE
    I5 = MINIMUM VALUE
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X01801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  LLSQ
 **PROGRAM TITLE: 
  SOLUTION OF LINEAR LEAST SQUARES PROBLEMS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE SOLVES LINEAR LEAST SQUARES PROBLEMS.  IN ACCOMPLISHING 
  THIS, THE ROUTINE MINIMIZES THE EUCLIDEAN NORM OF B-A*X, WHERE (A)
  IS AN M-BY-N MATRIX WITH (M) NOT LESS THAN (N).  IN THE SPECIAL CASE
  WHERE M=N, SYSTEMS OF LINEAR EQUATIONS MAY BE SOLVED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL LLSQ (A, B, M, N, L, X, IPIV, EPS, IER, AUX) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  A             REAL     M BY N COEFFICIENT MATRIX (DESTROYED). 
  
  B             REAL     M BY L RIGHT HAND SIDE MATRIX (DESTROYED). 
  
  M             INTEGER  ROW NUMBER OF MATRICES A AND B.
  
  
  
  N            INTEGER  COLUMN NUMBER OF MATRIX A, ROW NUMBER OF
                        MATRIX X. 
  
  L            INTEGER  COLUMN NUMBER OF MATRICES B AND X.
  
  X            REAL     N BY L SOLUTION MATRIX. 
  
  IPIV         INTEGER  INTEGER OUTPUT VECTOR OF DIMENSION N WHICH
                        CONTAINS INFORMATION ON COLUMN INTERCHANGES 
                        IN MATRIX A (SEE REMARK #3) 
  
  EPS          REAL     INPUT PARAMETER WHICH SPECIFIES A RELATIVE
                        TOLERANCE FOR DETERMINATION OF RANK OF MATRIX A.
  
  IER          INTEGER  A RESULTING ERROR PARAMETER.
  
  AUX          REAL     AUXILIARY STORAGE ARRAY OF DIMENSION MAX(2*N,L).
                        ON RETURN FIRST L LOCATIONS OF AUX CONTAIN THE
                        RESULTING LEAST SQUARES.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  (1)  NO ACTION BESIDES ERROR MESSAGE IER=-2 IN CASE M LESS THAN N.
  
  (2)  NO ACTION BESIDES ERROR MESSAGE IER=-1 IN CASE OF ZERO-MATRIX A. 
  
  (3)  IF RANK K OF MATRIX A IS FOUND TO BE LESS THAN N BUT GREATER THAN
       0, THE PROCEDURE RETURNS WITH ERROR CODE IER=K INTO CALLING
       PROGRAM.  THE LAST N=K ELEMENTS OF VECTOR IPIV DENOTE THE USELESS
       COLUMNS OF MATRIX A.  THE REMAINING USEFUL COLUMNS FORM A BASE OF
       MATRIX A.
  
  (4)  IF THE PROCEDURE WAS SUCCESSFUL, ERROR PARAMETER IER IS SET TO 0.
X01901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QTFG
 **PROGRAM TITLE: 
  TRAPEZOIDAL INTEGRATION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR INTEGRAL VALUES FOR A GIVEN GENERAL
  TABLE OF ARGUMENT AND FUNCTION VALUES.  BEGINNING WITH Z(1)=0, VECTOR 
  (Z) IS EVALUATED BY MEANS OF THE TRAPEZOIDAL RULE (SECOND ORDER 
  FORMULA). 
  
  THE ROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QTFG (X, Y, Z, NDIM) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  X             REAL     THE INPUT VECTOR OF ARGUMENT VALUES. 
  
  Y             REAL     THE INPUT VECTOR OF FUNCTION VALUES. 
  
  Z             REAL     THE RESULTING VECTOR OF INTEGRAL VALUES. 
                         Z MAY BE IDENTICAL WITH X OR Y.
  
  NDIM          INTEGER   THE DIMENSION OF VECTORS X, Y, Z. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X02001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QTFE
 **PROGRAM TITLE: 
  TRAPEZOIDAL INTEGRATION EQUAL INTERVAL ARGUMENT 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN 
  EQUIDISTANT TABLE OF FUNCTION VALUES.  BEGINNING WITH Z(1)=0, VECTOR
  (Z) IS EVALUATED BY MEANS OF THE TRAPEZOIDAL RULE (SECOND ORDER 
  FORMULA). 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QTFE (H, Y, Z, NDIM) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  H             REAL     THE INCREMENT OF ARGUMENT VALUES.
  
  Y             REAL     THE INPUT VECTOR OF FUNCTION VALUES. 
  
  Z             REAL     THE RESULTING VECTOR OF INTEGRAL VALUES. 
                         Z MAY BE IDENTICAL WITH Y. 
  
  NDIM*        INTEGER   THE DIMENSION OF VECTORS Y AND Z.
  
  
  *NO ACTION IN CASE NDIM IS LESS THAN 1. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X02101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QSF 
 **PROGRAM TITLE: 
  SIMPSON'S & NEWTON'S 3/8 INTEGRATION (EQUAL INTERVAL ARG.)
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN 
  EQUIDISTANT TABLE OF FUNCTION VALUES.  THE INPUT VECTOR OF FUNCTION 
  VALUES MUST CONSIST OF AT LEAST (3) ELEMENTS.  BEGINNING WITH Z(1)=0, 
  VECTOR (Z) IS EVALUATED BY MEANS OF SIMPSON'S RULE, NEWTON'S 3/8 RULE,
  OR A COMBINATION OF THESE TWO RULES.  TRUNCATION ERROR, COMPUTED BY 
  THE FOURTH-ORDER METHOD, IN MOST INSTANCES IS OF THE ORDER H**5.  IN
  THE WORST-CASE SITUATION, HOWEVER, THE TRUNCATION ERROR OF Z(2) IS OF 
  THE ORDER H**4. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QSF (H,Y,Z,NDIM) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  H             REAL     THE INCREMENT OF ARGUMENT VALUES.
  
  Y             REAL     THE INPUT VECTOR OF FUNCTION VALUES. 
  
  Z             REAL     THE RESULTING VECTOR OF INTEGRAL VALUES.  Z MAY
                         BE IDENTICAL WITH Y. 
  
  NDIM         INTEGER   THE DIMENSION OF VECTORS Y AND Z.
  
  *NO ACTION IN CASE NDIM LESS THAN 3.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QHFG
 **PROGRAM TITLE: 
  HERMITIAN FOURTH-ORDER INTEGRATION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN GENERAL 
  TABLE OF ARGUMENT, FUNCTION AND DERIVATIVE VALUES.  USING THE HERMITIAN 
  FOURTH-ORDER INTEGRATION FORMULA, VECTOR Z IS EVALUATED BEGINNING WITH
  Z(1)=0. 
  
  THE ROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QHFG (X, Y, DERY, Z, NDIM) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  X             REAL     THE INPUT VECTOR OF ARGUMENT VALUES. 
  
  Y             REAL     THE INPUT VECTOR OF FUNCTION VALUES. 
  
  DERY          REAL     THE INPUT VECTOR OF DERIVATIVE VALUE.
  
  Z             REAL     THE RESULTING VECTOR OF INTEGRAL VALUES.  Z MAY
                         BE IDENTICAL WITH X, Y, OR DERY. 
  
  NDIM*        INTEGER   THE DIMENSION OF VECTORS X, Y, DERY, Z.
  
  
  *NO ACTION IN CASE NDIM LESS THAN 1.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QHFE
 **PROGRAM TITLE: 
  HERMITIAN 4TH ORDER INTEGRATION, EQUAL INTERVAL ARGUMENT
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN 
  EQUIDISTANT TABLE OF FUNCTION AND DERIVATIVE VALUES.  BEGINNING WITH
  Z(1)=0, VECTOR Z IS EVALUATED BY MEANS OF THE HERMITIAN FOURTH-ORDER
  INTEGRATION FORMULA.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QHFE (H, Y, DERY, Z, NDIM) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  H             REAL     THE INCREMENT OF ARGUMENT VALUES.
  
  Y             REAL     THE INPUT VECTOR OF FUNCTION VALUES. 
  
  DERY          REAL     THE INPUT VECTOR OF DERIVATIVE VALUES. 
  
  Z             REAL     THE RESULTING VECTOR OF INTEGRAL VALUES. 
                         Z MAY BE IDENTICAL WITH Y OR DERY. 
  
  NDIM*         INTEGER  THE DIMENSION OF VECTORS Y, DERY, Z. 
  
  
  *NO ACTION IN CASE NDIM LESS THAN 1.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QHSG
 **PROGRAM TITLE: 
  HERMTIIAN 6TH ORDER INTEGRATION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN GENERAL 
  TABLE OF ARGUMENT, FUNCTION, FIRST DERIVATIVE, AND SECOND DERIVATIVE
  VALUES.  BEGINNING WITH Z(1)=0, VECTOR (Z) IS EVALUATED BY MEANS OF 
  THE HERMITIAN SIXTH ORDER INTEGRATION FORMULA.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QHSG (X, Y, FDY, SDY, Z, NDIM) 
  
  PARAMETER       TYPE        DESCRIPTION 
  ---------       ----        ----------- 
  X               REAL        THE INPUT VECTOR OF ARGUMENT VALUES.
  Y               REAL        THE INPUT VECTOR OF FUNCTION VALUES.
  FDY             REAL        THE INPUT VECTOR OF FIRST DERIVATIVE. 
  SDY             REAL        THE INPUT VECTOR OF SECOND DERIVATIVE 
  Z               REAL        THE RESULTING VECTOR OF INTEGRAL VALUES.
                              Z MAY BE IDENTICAL WITH X, Y, FDY OR SDY. 
  NDIM*           INTEGER     THE DIMENSION OF VECTORS X, Y, FDY, SDY, Z. 
  
  *MUST NOT BE LESS THAN 1. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S PROGRAM.
X02501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  QHSE
 **PROGRAM TITLE: 
  HERMITIAN 6TH ORDER INTEGRATION EQUAL INTERVAL ARGUMENT 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE COMPUTES THE VECTOR OF INTEGRAL VALUES FOR A GIVEN 
  EQUIDISTANT TABLE OF FUNCTION, FIRST DERIVATIVE, AND SECOND DERIVATIVE
  VALUES.  BEGINNING WITH Z(1)=0, VECTOR Z IS EVALUATED BY MEANS OF THE 
  HERMITIAN SIXTH-ORDER INTEGRATION FORMULA.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL QHSE (H, Y, FDY, SDY, Z, NDIM) 
  
  PARAMETER         TYPE         DESCRIPTION
  ---------         ----         -----------
  H                 REAL         THE INCREMENT OF ARGUMENT VALUES.
  Y                 REAL         THE INPUT VECTOR OF FUNCTION VALUES. 
  FDY               REAL         THE INPUT VECTOR OF FIRST DERIVATIVE.
  SDY               REAL         THE INPUT VECTOR OF SECOND DERIVATIVE. 
  Z                 REAL         THE RESULTING VECTOR OF INTEGRAL VALUES. 
                                 Z MAY BE IDENTICAL WITH Y, FDY, OR SDY.
  NDIM*             INTEGER      THE DIMENSION OF VECTORS Y, FDY, SDY, Z. 
  
  *MUST NOT BE LESS THAN 1. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PRQD
 **PROGRAM TITLE: 
  ROOTS OF A REAL POLYNOMIAL
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    POLYNOMIAL
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USING THE QUOTIENT-DIFFERENCE ALGORITHM WITH DISPLACEMENT, THIS ROUTINE 
  CALCULATES ALL REAL AND COMPLEX ROOTS OF A POLYNOMIAL EXPRESSION. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  IT IS POSSIBLE TO EXECUTE THIS SUBROUTINE IN A 4K COMPUTER BY MAKING
  USE OF TWO OTHER CONTRIBUTED PROGRAMS:
       HP 22394 CORE SAVING TELEPRINTER I/0 
       HP 22297 OFFLINE RELOCATING LOADER 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL PRQD (C, IC, Q, E, POL, IR, IER) 
  
  PARAMETER       TYPE        DESCRIPTION 
  ---------       ----        ----------- 
  C               REAL        COEFFICIENT VECTOR OF GIVEN POLYNOMIAL
                              COEFFICIENTS ARE ORDERED FROM LOW TO HIGH,
                              THE GIVEN COEFFICIENT VECTOR GETS DIVIDED 
                              BY THE LAST NONZERO TERM. 
  
  IC              INTEGER     DIMENSION OF VECTOR C.
  
  Q               REAL        WORKING STORAGE OF DIMENSION IC ON RETURN 
                              Q CONTAINS COMPLEX PARTS OF ROOTS.
  
  POL             REAL        WORKING STORAGE OF DIMENSION IC ON RETURN 
                              POL CONTAINS THE COEFFICIENTS OF THE
                              POLYNOMIAL WITH CALCULATED ROOTS.  THIS 
                              RESULTING COEFFICIENT VECTOR HAS DIMENSION
                              IR+1, COEFFICIENTS ARE ORDERED FROM LOW TO
                              HIGH. 
  
  IR              INTEGER     NUMBER OF CALCULATED ROOTS.  NORMALLY IR IS 
                              EQUAL TO DIMENSION IC MINUS ONE.
  
  IER             INTEGER     RESULTING ERROR PARAMETER.
  
  NOTE: 
  
  THE REAL PART OF THE ROOTS IS STORED IN Q(1) UP TO Q(IR).  CORRESPOND-
  ING COMPLEX PARTS ARE STORED IN E(1) UP TO E(IR). 
  
  THE FINAL COMPARISON BETWEEN GIVEN AND CALCULATED COEFFICIENT VECTOR
  IS PERFORMED ONLY IF ALL ROOTS HAVE BEEN CALCULATED.  THE MAXIMAL 
  RELATIVE ERROR OF THE COEFFICIENT VECTOR IS RECORDED IN Q(IR+1).
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IER=0  NO ERRORS         IER=1 NO CONVERGENCE WITH REASONABLE TOLERANCE 
  IER=2  POLYNOMIAL IF DEGENERATE 
  IER=3  SUBROUTINE ABANDONED DUE TO ZERO DIVISOR.
  IER=4  NO S-FRACTON EXISTS
  IER=-1 CALCULATED COEFFICIENT VECTOR HAS < 3 CORRECT DIGITS.
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RADD
 **PROGRAM TITLE: 
  ADD ROWS OF MATRICES
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE ADDS CORRESPONDING ELEMENTS OF A ROW OF ONE MATRIX TO A
  ROW OF ANOTHER MATRIX.  THE OUTPUT MATRIX MUST BE A GENERAL MATRIX, AND 
  NOT BE STORED IN THE SAME LOCATION AS THE INPUT MATRIX UNLESS THE INPUT 
  MATRIX ALSO IS GENERAL. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL RADD (A, IRA, R, IRR, N, M, MS, L) 
  
  PARAMETER        TYPE          DESCRIPTION
  ---------        ----          -----------
  A                REAL          NAME OF INPUT MATRIX 
  IRA              INTEGER       ROW IN MATRIX A TO BE ADDED TO ROW IRR 
                                 OF MATRIX R. 
  R                REAL          NAME OF OUTPUT MATRIX
  IRR              INTEGER       ROW IN MATRIX R WHERE SUMMATION IS 
                                 DEVELOPED. 
  N                INTEGER       NUMBER OF ROWS IN A
  M                INTEGER       NUMBER OF COLUMNS IN A AND R.
  MS               INTEGER       ONE DIGIT NUMBER FOR STORAGE MODE OF 
                                 MATRIX A WHERE:
                                          0 - GENERAL 
                                          1 - SYMMETRIC 
                                          2 - DIAGONAL
  L                INTEGER       NUMBER OF ROWS IN R
  
  CALL LOC (IRA, J, IA, N, M, MS) 
  
  PARAMETER        TYPE          DESCRIPTION
  ---------        ----          -----------
  J                INTEGER       A COLUMN COUNTER RANGING FROM I TO M 
  IR               INTEGER       ELEMENT OF ARRAY R 
  IA               INTEGER       ELEMENT OF ARRAY A 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS SUBROUTINE ADDS CORRESPONDING ELEMENTS OF A ROW OF ONE MATRIX TO 
  A ROW OF ANOTHER MATRIX.  THE OUTPUT MATRIX MUST BE A GENERAL MATRIX. 
  THE OUTPUT MATRIX MUST NOT BE STORED IN THE SAME LOCATION AS THE INPUT
  MATRIX UNLESS THE INPUT MATRIX IS GENERAL.  USES SUBROUTINE LOC TO
  LOCATE AN INPUT ELEMENT FOR ANY MATRIX STORAGE MODE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS FOR A AND R TO SUIT THE USER'S 
  APPLICATION.
X02801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  MFGR
 **PROGRAM TITLE: 
  RANK AND BASIS OF A MATRIX
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  FOR A GIVEN (M X N) MATRIX, THE FOLLOWING CALCULATIONS ARE PERFORMED
  BY THIS ROUTINE:
  A. DETERMINE RANK AND LINEARLY INDEPENDENT ROWS & COLUMNS (BASIS) 
  B. FACTORIZE A SUBMATRIX OF MAXIMAL RANK. 
  C. EXPRESS NONBASIC ROWS IN TERMS OF BASIC ROWS.
  D. EXPRESS BASIC VARIABLES IN TERMS OF FREE VARIABLES.
  
  THE LEFT HAND TRIANGULAR FACTOR IS NORMALIZED SO THAT THE DIAGONAL
  CONTAINS ALL 1'S, THUS ALLOWING STORAGE OF THE SUB-DIAGONAL PART. 
  GAUSSIAN ELIMINATION TECHNIQUE IS USED FOR CALCULATION OF THE TRIAN-
  GULAR FACTORS OF A GIVEN MATRIX.  COMPLETE PIVOTING IS BUILT IN.  IN
  THE CASE OF A SINGULAR MATRIX, ONLY THE TRIANGULAR FACTORS OF A SUB-
  MATRIX OF MAXIMAL RANK ARE RETAINED.  THE REMAINING PARTS OF THE
  RESULTANT MATRIX GIVE THE DEPENDENCIES OF ROWS AND THE SOLUTION OF THE
  HOMOGENEOUS MATRIX EQUATION A*X=0.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL MFGR (A, M, N, EPS, IRANK, IROW, ICOL) 
  
  PARAMETER        TYPE          DESCRIPTION
  ---------        ----          -----------
  A                REAL          GIVEN MATRIX WITH M ROWS AND N COLUMNS,
                                 ON RETURN A CONTAINS THE FIVE SUB- 
                                 MATRICES L,R,H,D,O.
  
  M                INTEGER       NUMBER OF ROWS OF MATRIX A 
  
  N                INTEGER       NUMBER OF COLUMNS OF MATRIX A
  
  EPS              REAL          TEST VALUE FOR ZERO AFFECTED BY ROUND- 
                                 OFF NOISE. 
  
  IRANK            INTEGER       RESULTANT RANK OF GIVEN MATRIX.
  
  IROW             INTEGER       INTEGER VECTOR OF DIMENSION M CONTAINING 
                                 THE SUBSCRIPTS OF BASIC ROWS IN
                                 IROW(1)...........IROW(IRANK)
  
  ICOL             INTEGER       INTEGER VECTOR OF DIMENSION N CONTAINING 
                                 THE SUBSCRIPTS OF BASIC COLUMNS IN 
                                 ICOL(1) UP TO ICOL(IRANK)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X02901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GELG
 **PROGRAM TITLE: 
  SOLUTION OF SIMULTANEOUS LINEAR EQUATIONS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USING GAUSS ELIMINATION WITH COMPLETE PIVOTING, THIS ROUTINE SOLVES A 
  GENERAL SYSTEM OF SIMULTANEOUS LINEAR EQUATIONS.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL GELG (R,A,M,N,EPS,IER) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  R             REAL     THE M BY N MATRIX OF RIGHT HAND SIDES. 
                         (DESTROYED) ON RETURN R CONTAINS THE SOLUTION
                         OF THE EQUATIONS.
  
  A             REAL     THE M BY N COEFFICIENT MATRIX (DESTROYED). 
  
  M             INTEGER  THE NUMBER OF EQUATIONS IN THE SYSTEM. 
  
  N             INTEGER  THE NUMBER OF RIGHT HAND SIDE VECTORS. 
  
  EPS           REAL     AN INPUT CONSTANT WHICH IS USED AS RELATIVE
                         TOLERANCE FOR TEST ON LOSS OF SIGNIFICANCE.
  
  IER           INTEGER  RESULTING ERROR PARAMETER CODED AS FOLLOWS:
                         IER=0  NO ERROR
                         IER=-1 NO RESULT BECAUSE OF M LESS THAN 1 OR 
                                PIVOT ELEMENT AT ANY ELIMINATION STEP 
                                EQUAL TO 0. 
  
                         IER=K  WARNING DUE TO POSSIBLE LOSS OF SIGNIFI-
                                CANCE INDICATED AT ELIMIMATION STEP K+1,
                                WHERE THE PIVOT ELEMENT WAS <= TO THE 
                                INTERNAL TOLERANCE EPS TIMES ABSOLUTELY 
                                GREATEST ELEMENT OF MATRIX A. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  NOTE:  INPUT MATRICES R AND A ARE ASSUMED TO BE STORED COLUMNWISE IN
  M*N RESP.  M*M SUCCESSIVE STORAGE LOCATIONS.  ON RETURN SOLUTION MATRIX 
  R IS STORED COLUMNWISE TOO. 
  
  THE PROCEDURE GIVES THE RESULTS IF THE NUMBER OF EQUATIONS M IS GREATER 
  THAN 0 AND PIVOT ELEMENTS AT ALL ELIMINATION STEPS ARE DIFFERENT FROM 
  0.  HOWEVER WARNING IER=K - IF GIVEN - INDICATES POSSIBLE LOSS OF 
  SIGNIFICANCE.  IN CASE OF A WELL-SCALED MATRIX A AND APPROPRIATE
  TOLERANCE EPS, IER=K MAY BE INTERPRETED THAT MATRIX A HAS THE RANK K. 
  NO WARNING IS GIVEN IN CASE M=1.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION 
X03001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GELB
 **PROGRAM TITLE: 
  SOLUTION OF SIMULTANEOUS LINEAR EQUATIONS - BAND MATRIX 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE SOLVES A SYSTEM OF SIMULTANEOUS LINEAR EQUATIONS WITH A
  COEFFICIENT MATRIX OF BAND STRUCTURES.  TO PRESERVE THE BAND STRUCTURE
  IN THE REMAINING COEFFICIENT MATRICES, THE SOLUTION IS OBTAINED BY
  MEANS OF THE GAUSS-ELIMINATION METHOD WITH COLUMN PIVOTING ONLY.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL GELB (R,A,M,N,MUD,MLD,EPS,IER) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  R             REAL     M BY N RIGHT HAND SIDE MATRIX (DESTROYED).  ON 
                         RETURN R CONTAINS THE SOLUTION OF THE EQUATIONS. 
  
  A             REAL     M BY M COEFFICIENT MATRIX WITH BAND STRUCTURE
                         (DESTROYED). 
  
  M             INTEGER  THE NUMBER OF EQUATIONS IN THE SYSTEM. 
  
  N             INTEGER  THE NUMBER OF RIGHT HAND SIDE VECTORS. 
  
  MUD           INTEGER  THE NUMBER OF UPPER CODIAGONALS (THAT MEANS
                         CODIAGONALS ABOVE MAIN DIAGONAL).
  
  MLD           INTEGER  THE NUMBER OF LOWER CODIAGONALS (THAT MEANS
                         CODIAGONALS BELOW MAIN DIAGONALS). 
  
  EPS           REAL     AN INPUT CONSTANT WHICH IS USED AS RELATIVE
                         TOLERANCE FOR TEST ON LOSS OF SIGNIFICANCE.
  
  IER           INTEGER  RESULTING ERROR PARAMETER CODED AS FOLLOWS:
                         IER=0  NO ERROR
                         IER=-1 NO RESULT BECAUSE OF WRONG INPUT
                                PARAMETERS M, MUD, MLD OR BECAUSE OF
                                PIVOT ELEMENT AT ANY ELIMINATION STEP 
                                EQUAL TO 0. 
                         IER=K  WARNING DUE TO POSSIBLE LOSS OF 
                                SIGNIFICANCE INDICATED AT ELIMINATION 
                                STEP K+1, WHERE PIVOT ELEMENT WAS LESS
                                THAN OR EQUAL TO THE INTERNAL TOLERANCE 
                                EPS TIMES ABSOLUTELY GREATEST ELEMENT OF
                                MATRIX A. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  REMARKS:
  BAND MATRIX A IS ASSUMED TO BE STORED ROWWISE IN THE FIRST ME 
  SUCCESSIVE STORAGE LOCATIONS OF TOTALLY NEEDED MA STORAGE LOCATIONS,
  WHERE MA=M*MC-ML*(ML+1)/2 AND ME=MA-MU*(MU+1)/2 WITH
        MC=MIN(M,1+MUD+MLD), ML=MC-1-MLD, MU=MC-1-MUD.
  RIGHT HAND SIDE MATRIX R IS ASSUMED TO BE STORED COLUMNWISE IN N*M
  SUCCESSIVE STORAGE LOCATIONS.  ON RETURN SOLUTION MATRIX R IS STORED
  COLUMNWISE TOO.  INPUT PARAMETERS M, MUD, MLD SHOULD SATISFY THE
  FOLLOWING RESTRICTIONS:  MUD NOT LESS THAN ZERO 
                           MLD NOT LESS THAN ZERO 
                           MUD + MLD NOT GREATER THAN 2*M-2 
  NO ACTION BESIDES ERROR MESSAGE IER=-1 TAKES PLACE IF THESE RESTRICTIONS
  ARE NOT SATISFIED.
  
  THE PROCEDURE GIVES RESULTS IF THE RESTRICTIONS ON INPUT PARAMETERS ARE 
  SATISFIED AND IF PIVOT ELEMENTS AT ALL ELIMINATION STEPS ARE DIFFERENT
  FROM 0.  HOWEVER WARNING IER=K -@IF GIVEN - INDICATES POSSIBLE LOSS OF
  SIGNIFICANCE.  IN CASE OF A WELL SCALED MATRIX A & APPROPRIATE TOLERANCE
  EPS, IER=K MAY BE INTERPRETED THAT MATRIX A HAS RANK K. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER DIMENSION STATEMENT TO SUIT USER'S APPLICATION. 
X03101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GELS
 **PROGRAM TITLE: 
  SOLUTION OF SIMULTANEOUS LINEAR EQUATIONS SYMMETRIC MATRIX
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX          LINEAR EQ.
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE SOLVES A SYSTEM OF SIMULTANEOUS LINEAR EQUATIONS WITH
  A SYMMETRIC COEFFICIENT MATRIX WHOSE UPPER TRIANGULAR PART IS ASSUMED 
  TO BE STORED COLUMNWISE.  TO PRESERVE SYMMETRY IN THE REMAINING 
  COEFFICIENT MATRICES, THE SOLUTION IS OBTAINED BY MEANS OF THE GAUSS- 
  ELIMINATION METHOD WITH COLUMN PIVOTING ONLY. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL GELS (R,A,M,N,EPS,IER,AUX) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  R             REAL     M BY N RIGHT HAND SIDE MATRIX (DESTROYED).  ON 
                         RETURN, R CONTAINS THE SOLUTION OF THE EQUATIONS.
  
  A             REAL     UPPER TRIANGULAR PART OF THE SYMMETRIC M BY N
                         COEFFICIENT MATRIX (DESTROYED).
  
  M             INTEGER  THE NUMBER OF EQUATIONS IN THE SYSTEM. 
  
  N             INTEGER  THE NUMBER OF RIGHT HAND SIDE VECTORS. 
  
  EPS           REAL     AN INPUT CONSTANT WHICH IS USED AS RELATIVE
                         TOLERANCE FOR TEST OF LOSS OF SIGNIFICANCE.
  
  IER           INTEGER  RESULTING ERROR PARAMETER CODED AS FOLLOWS:
                         IER=0  NO ERROR
                         IER=-1 NO RESULT BECAUSE OF M LESS THAN 1 OR 
                                PIVOT ELEMENT AT ANY ELIMINATION STEP 
                                EQUAL TO 0. 
                         IER=K  WARNING DUE TO POSSIBLE LOSS OF 
                                SIGNIFICANCE INDICATED AT ELIMINATION 
                                STEP K+1 WHERE PIVOT ELEMENT WAS LESS 
                                THAN OR EQUAL TO THE INTERNAL TOLERANCE 
                                EPS TIMES ABSOLUTELY GREATEST MAIN
                                DIAGONAL ELEMENT OF MATRIX A. 
  
  AUX           REAL     AN AUXILIARY STORAGE ARRAY WITH DIMENSION M-1
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  REMARKS:
  UPPER TRIANGULAR PART OF MATRIX A IS ASSUMED TO BE STORED COLUMNWISE
  IN M*(M+1)/2 SUCCESSIVE STORAGE LOCATIONS.  RIGHT HAND SIDE MATRIX R
  COLUMNWISE IN M*N SUCCESSIVE STORAGE LOCATIONS.  ON RETURN SOLUTION 
  MATRIX R IS STORED COLUMNWISE TOO.
  
  THE PROCEDURE GIVES RESULTS IF THE NUMBER OF EQUATIONS M IS GREATER 
  THAN 0 AND PIVOT ELEMENTS OR ALL ELIMINATION STEPS ARE DIFFERENT FROM 
  0.  HOWEVER WARNING IER=K - IF GIVEN - INDICATED POSSIBLE LOSS OF 
  SIGNIFICANCE.  IN CASE OF A WELL SCALED MATRIX A AND APPROPRIATE
  TOLERANCE EPS, IER=K MAY BE INTERPRETED THAT MATRIX A HAS THE RANK K. 
  NO WARNING IS GIVEN IN CASE M=1.  ERROR PARAMETER IER=-1 DOES NOT 
  NECESSARILY MEAN THAT MATRIX A IS SINGULAR, AS ONLY MAIN DIAGONAL 
  ELEMENTS ARE USED AS PIVOT ELEMENTS.  POSSIBLY SUBROUTINE GELE (WHICH 
  WORKS WITH TOTAL PIVOTING) WOULD BE ABLE TO FIND A SOLUTION.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X03201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RHARM 
 **PROGRAM TITLE: 
  REAL FOURIER TRANSFORM
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN CALLABLE ROUTINE FINDS THE FOURIER COEFFICIENTS OF A 
  ONE-DIMENSION REAL ARRAY.  USING THE COOLEY-TUKEY ALGORITHM, THE
  ROUTINE GIVES THE COEFFICIENTS OF 2*(2**M) REAL POINTS WHEN GIVEN 
  THE INPUT OF 2*(2**M) REAL FUNCTION VALUES WHOSE ARGUMENTS ARE EQUALLY
  SPACED. 
  
  CONTRIBUTED PROGRAM #22037 IS REQUIRED. 
  
  EQUIPMENT REQUIRED IS 16K OF CORE STORAGE TO COMPILE, 8K TO EXECUTE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL RHARM (A, M, INV, S, IFERR)
  
  PARAMETER     TYPE     DESCRIPTION
  
  A             REAL     AS INPUT, CONTAINS ONE DIMENSIONAL REAL DATA.
                         A IS 2*N+4 CORE LOCATIONS, WHERE N=2**M, 2*N 
                         REAL NUMBERS ARE PUT INTO THE FIRST 2*N CORE 
                         LOCATIONS OF A.
  
                         AS OUTPUT, A CONTAINS THE FOURIER COEFFICIENTS 
                         A0/2,B0=0,A1,B1,A2,B2,...,AN,BN=0 RESPECTIVELY 
                         IN THE FIRST 2N+2 CORE LOCATION OF A.
  
  M             INTEGER  AN INTEGER WHICH DETERMINES THE SIZE OF THE
                         VECTOR A.  THE SIZE OF A IS 2*(2**M)+4.
  
  INV           INTEGER  A VECTOR WORK AREA FOR BIT AND INDEX MANIPULATION
                         OF DIMENSION ONE EIGHTH THE NUMBER OF REAL INPUT,
                         VIZ.,(1/8)*2*(2**M)
  
  S             REAL     A VECTOR WORK AREA FOR SINE TABLES WITH
                         DIMENSION THE SAME AS INV. 
  
  IFERR         INTEGER  A RETURNED VALUE OF 1 MEANS THAT M IS LESS THAN
                         3 OR GREATER THAN 20.  OTHERWISE IFERR IS SET
                         = 0. 
  
  NOTE:  THIS SUBROUTINE GIVES THE FOURIER COEFFICIENTS OF 2*(2**M) REAL
         POINTS.  SEE SUBROUTINE HARM FOR THREE DIMENSIONAL, COMPLEX
         FOURIER TRANSFORMS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SUBROUTINE RHARM GIVES THE FOURIER COEFFICIENTS OF 2*(2**M) REAL POINTS 
  WHEN GIVEN THE INPUT OF 2*(2**M) REAL FUNCTION VALUES WHOSE ARGUMENTS 
  ARE EQUALLY SPACED. 
  
  THE FOURIER COEFFICIENTS A0, 80=0, A1, B1,....., AN, BN=0 ARE OBTAINED
  FOR INPUT XJ, J=0,1,2,.....,2N-1 FOR THE FOLLOWING EQUATION 
  (PI=3.14159....)
  
             N-1                                                J 
  XJ=(1/2)A0+SUM (AK*COS(PI*J*K/N)+BK*SIN(PI*J*K/N))+(1/2)AN(-1)
             K=1
  
  FORTRAN CALLABLE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X03301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  HARM
 **PROGRAM TITLE: 
  COMPLEX FOURIER TRANSFORM 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE FUNCTION OF THIS FORTRAN CALLABLE ROUTINE IS TO PERFORM DISCRETE
  COMPLEX FOURIER TRANSFORMS ON A COMPLEX 3-DIMENSION ARRAY WHERE EACH
  DIMENSION IS A POWER OF 2.
  
  EQUIPMENT REQUIRED IS 16K OF CORE STORAGE TO COMPILE, 8K TO EXECUTE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE LOCUS LIBRARY FUNCTION MAX0 FROM THE "LOCATE MINIMUM AND MAXIMUM
  INTEGER" CONTRIBUTION MUST ALSO BE LOADED.
  
  
 **RUN INSTRUCTIONS:
  
  CALL HARM (A, M, INV, S, IFSET, IFERR)
  
  PARAMETER  TYPE     DESCRIPTION 
  
  A          REAL     AS INPUT, A CONTAINS THE COMPLEX, 3-DIMENSIONAL 
                      ARRAY TO BE TRANSFORMED.  THE REAL PART OF A
                      (I1,I2,I3) IS STORED IN VECTOR FASHION IN A CELL
                      WITH INDEX 2*(/N*N1*N2+I2*N1+I1)+1 WHERE
                      NI=2**M(I), I=1,2,3 AND I1=0,1,...,K1-1, ETC. 
                      THE IMAGINARY PART IS IN THE CELL IMMEDIATELY 
                      FOLLOWING.  NOTE THAT THE SUBSCRIPT I1 INCREASES
                      MOST RAPIDLY AND I3 INCREASES LEAST RAPIDLY.  AS
                      OUTPUT, A CONTAINS THE COMPLEX FOURIER TRANSFORM. 
                      THE NUMBER OF CORE LOCATIONS OF ARRAY A IS 2* 
                      (N1*N2*N3)
  
  M          INTEGER  A THREE CELL VECTOR WHICH DETERMINES THE SIZE 
                      OF THE 3 DIMENSIONS OF THE ARRAY A.  THE SIZE 
                      NI, OF THE I DIMENSION OF A IS 2**M(I), I=1,2,3.
  
  INV        INTEGER  A VECTOR WORK AREA FOR BIT AND INDEX MANIPULATION 
                      OF DIMENSION ONE  EIGHTH THE NUMBER OF CORE 
                      LOCATIONS OF A,VIZ., (1/8)*2*N1*N2*N3.
  
  S          REAL     A VECTOR WORK AREA FOR SINE TABLE WITH DIMENSION
                      THE SAME AS INV.
  
  IFSET      INTEGER  AN OPTION PARAMETER WITH THE FOLLOWING SETTINGS:
                      0  SET UP SINE AND INV TABLES ONLY
                      1  SET UP SINE AND INV TABLES ONLY AND CALCULATE
                         FOURIER TRANSFORM
                     -1  SET UP SINE AND INV TABLES ONLY AND CALCULATE
                         INVERSE FOURIER TRANSFORM (FOR THE MEANING 
                         OF INVERSE SEE THE EQUATIONS UNDER SECTION 2.0)
                      2  CALCULATE FOURIER TRANSFORM ONLY (ASSUME SINE
                         AND INV TABLES EXIST)
                     -2  CALCULATE INVERSE FOURIER TRANSFORM ONLY 
                         (ASSUME SINE AND INV TABLES EXIST) 
  
  IFERR      INTEGER  ERROR INDICATOR.  WHEN IFSET IS 0-+1,-1,IFERR 1 
                      MEANS THE MAXIMUM M(I) IS LESS THAN THREE OR GREATER
                      THAN 20, I=1,2,3 WHEN IFSET IS +2,-2 IFERR=1 MEANS
                      THAT THE SINE AND INV TABLES ARE NOT LARGE ENOUGH 
                      OR HAVE NOT BEEN COMPUTED ON RETURN IFERR=0 THEN
                      NONE OF THE ABOVE CONDITIONS ARE PRESENT. 
  
  FUNCTION MAX0 FINDS THE MAXIMUM OF THE INTEGER PARAMETERS --
  
       MTT = MAX0(M(1),M(2),M(3))-2 
        MT = MAX0(M(1),M(2),M(3))-2 
        MT = MAX0(2,MT) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER DIMENSION STATEMENTS TO SUIT THE USER'S APPLICATION.
X03401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CORRE 
 **PROGRAM TITLE: 
  MEAN, DEVIATION, AND CORRELATION COEFFICIENTS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN CALLABLE ROUTINE COMPUTES MEANS, STANDARD DEVIATIONS,
  SUMS OF CROSS-PRODUCTS OF DEVIATIONS, AND CORRELATION COEFFICIENTS
  BY PRODUCT-MOMENT CORRELATION COEFFICIENTS.  THE NUMBER OF VARIABLES
  MUST BE GREATER THAN THE NUMBER OF OBSERVATIONS.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL CORRE (N,M,IO,X,XBAR,STD,RX,R,B,D,T) 
  
  PARAMETER     TYPE     DESCRIPTION
  
  N             INTEGER  NUMBER OF OBSERVATIONS 
  
  M             INTEGER  NUMBER OF VARIABLES
  
  IO            INTEGER  OPTION CODE FOR INPUT DATA --
                         0 IF DATA ARE TO BE READ IN FROM INPUT DEVICE
                         IN THE SPECIAL SUBROUTINE NAMED DATA 
                         1 IF ALL DATA ARE ALREADY IN CORE
  
  X             REAL     IF IO=0, THE VALUE OF X IS 0.0 
                         IF IO=1, X IS THE INPUT MATRIX (N BY M)
                         CONTAINING DATA
  
  XBAR          REAL     OUTPUT VECTOR OF LENGTH M CONTAINING MEANS 
  
  STD           REAL     OUTPUT VECTOR OF LENGTH CONTAINING STANDARD
                         DEVIATIONS.
  
  RX            REAL     OUTPUT MATRIX (M X M) CONTAINING SUMS OF CROSS-
                         PRODUCTS OF DEVIATIONS FROM MEANS. 
  
  R             REAL     OUTPUT MATRIX (ONLY UPPER TRIANGULAR PORTION 
                         OF THE SYMMETRIC MATRIX OF M BY M) CONTAINING
                         CORRELATION COEFFICIENTS.  (STORAGE MODE OF 1) 
  
  B             REAL     OUTPUT VECTOR OF LENGTH M CONTAINING THE DIAGONAL
                         OF THE MATRIX OF SUMS OF CROSS-PRODUCTS OF 
                         DEVIATIONS FROM MEANS
  
  D             REAL     WORKING VECTOR OF LENGTH M 
  
  T             REAL     WORKING VECTOR OF LENGTH M 
  
  CALL DATA (M,D) 
  
  THIS SUBROUTINE MUST BE PROVIDED BY THE USER. 
  (1)  IF IO=0, THIS SUBROUTINE IS EXPECTED TO FURNISH AN OBSERVATION IN
       VECTOR D FROM AN EXTERNAL INPUT DEVICE.
  (2)  IF IO=1, THIS SUBROUTINE IS NOT USED BY CORRE BUT MUST EXIST IN
       SOURCE DECK.  IF USER HAS NOT SUPPLIED A SUBROUTINE NAMED DATA,
       THE FOLLOWING IS SUGGESTED:       SUBROUTINE DATA
                                         RETURN 
                                         END
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE SOURCE LISTING MAKES PROVISION FOR A DOUBLE-PRECISION VERSION OF
  THIS ROUTINE, BUT THE DOUBLE-PRECISION LIBRARY ROUTINES WHICH IT
  REQUIRES MUST BE USER-PROVIDED IF THIS OPTION IS CHOSEN.
X03501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOUBLE PRECISION INTEGER LIBRARY
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PRECISION       INTEGER         LIBRARY 
  
  
 **LANGUAGES: 
    FTN2        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ADDS, SUBTRACTS, MULTIPLIES, AND DIVIDES DOUBLE PRECISION
  (32-BIT) NUMBERS.  NUMBERS UP TO (2,147,483,648) CAN BE HANDLED.
  
  THE PROGRAM IS FORTRAN OR ASSEMBLER CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  WHEN YOU PUSH RUN, NO MESSAGE WILL DIRECT YOUR INPUT. 
  
  ENTER SDDDDDDDDDD, WHERE S IS THE SIGN (BLANK MEANS +), AND D ARE DIGITS
  OR LEADING SPACES OR 0'S FOR A TOTAL OF TEN.
  
  CR/LF.
  
  ENTER THE SECOND DOUBLE PRECISION INTEGER IN THE SAME FORMAT FOLLOWED 
  BY CR/LF. 
  
  PROGRAM TEST WILL COMPUTE AND LIST OUTPUT ON THE LINE PRINTER.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL DREAD (IU, A(1), IN) 
  
  READS FORMATTED DOUBLE PRECISION INTEGERS SDDDDDDDDDD, WHERE S IS THE 
  SIGN (BLANK MEANS +), D'S ARE DIGITS OR LEADING SPACES OR 0'S FOR A 
  TOTAL OF TEN. 
  
  PARAMETER     TYPE     DESCRIPTION
  
  IU            INTEGER  LOGICAL UNIT NUMBER
  
  A(1)          REAL     BUFFER ADDRESS 
  
  IN            INTEGER  NUMBER OF INTEGERS TO BE INPUT.
  
  CALL DWRIT (IU, A(1), IN) 
  
  OUTPUTS ASCII DOUBLE PRECISION INTEGERS.
  ------------------------------------------------------------------------
  
  X = DIMUL (A,B) 
  
  FUNCTION WHICH PERFORMS A * B 
  
  PARAMETER     TYPE     DESCRIPTON 
  
  A             REAL     THE TWO NUMBERS TO BE MULTIPLIED BY DIMUL. 
  
  B             REAL
  
  X = DIDIV (A,B)  FUNCTION WHICH PERFORMS A : B
  
  X = DIDIV (A,B,R)  FUNCTION WHICH PERFORMS A : B, R=REMAINDER (IN 
                                                    ABSOLUTE VALUE) 
  ------------------------------------------------------------------------
  
  FCONV PERFORMS THE FOLLOWING CONVERSIONS: 
  
       I=ISCON(A)   CONVERTS TO SINGLE PRECISION. 
       X=DICON(I)   CONVERTS TO DOUBLE PRECISION. 
       I=IDSIG(A)   RETURNS I=1  FOR A > 0
                            I=0  FOR A = 0
                            I=-1 FOR A < 0
  
  THE FOLLOWING SUBROUTINES ARE CALLED BY THE PREVIOUS ROUTINES AND ARE 
  ONLY ASSEMBLY-CALLABLE. 
  
  DMPY MULTIPLIES DOUBLE PRECISION INTEGERS.
  
       DLD  MUL1
       JSB  DMPY
       DEF  MUL2
  
  DDIV DIVIDES DIVID BY DIVIS LEAVING THE QUOTIENT IN THE A AND B 
  REGISTERS AND THE REMAINDER IN REM1, REM2.
  ------------------------------------------------------------------------
  
  DCMAD TWO-COMPLEMENTS THE DOUBLE PRECISION INTEGER IN THE A AND B 
  REGISTERS.
  
       DLD  X 
       JSB  DCM 
  
  OR ADDS ADD1 TO ADD2
  
       DLD  ADD1
       JSB  DAD 
       DEF  ADD2
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ANY OVERFLOW HALTS THE COMPUTER.
  
  SINCE DOUBLE PRECISION INTEGERS ARE DECLARED LIKE REAL VARIABLES, 
  CARE MUST BE TAKEN NOT TO USE THEM WITH THE FORTRAN OPERATORS.
  
  EXAMPLE:          WRONG                    RIGHT
  
                IF (A) 2,3,4          IF (IDSIG(A)) 2,3,4 
                C = -A                C = DISUB (0.,A)
  
  REMAINDERS FROM DIVISION OPERATIONS ARE GIVEN IN ABSOLUTE VALUE.
X03601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS21 
 **PROGRAM TITLE: 
  LIBRARY OF ALGEBRAIC TRANSFORMATIONS
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    TRIGONOMETRY    ALGEBRA         TRANSFORM 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN PROGRAM PERFORMS ANY OF 25 TRANSFORMATIONS ON ONE OR TWO 
  INPUT VARIABLES.  RESULTS ARE PRINTED AND PUNCHED, IF DESIRED.  THE 
  TRANSFORMATIONS INCLUDE COMPUTATION OF SQUARE ROOTS, LOGARITHMS,
  EXPONENTIAL FUNCTIONS, AND COMBINATION TRIGONOMETIC AND SQUARE ROOT 
  FUNCTIONS, AS WELL AS VARIOUS LINEAR FUNCTIONS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MUST SUPPLY AN INPUT SUBROUTINE CALLED "READ" AND THIS 
  SUBROUTINE MUST BE LOADED BEFORE THE TRANSFORMATION LIBRARY.
  
  
 **RUN INSTRUCTIONS:
  
               COL.   VARIABLE   FORMAT   DESCRIPTION 
  
  HEADER       01-72             36A2     FREE TEXT 
  
  PARAMETER    01     ISW2       I1           =0: PRINT 
                                          NOT =0: PRINT AND PUNCH 
  
               02     ISW2       I1           =0: CALL EXIT 
                                          NOT =0: BATCH RUN 
  
               03-05  NPNT       I3       NUMBER OF DATA POINTS 
                                          (SEE RESTRICTIONS)
  
               06-07  NCODE      I2       SPECIFIED TRANSFORMATION
                                          CODE (1 < OR =NCODE < OR =25) 
  
               08-15  CONST      F8.0     SPECIFIED TRANSFORMATION
                                          CONSTANT (IF NEEDED)
  
  DATA         --     X          --       THE FIRST INPUT VARIABLE
               --     Y          --       THE SECOND INPUT VARIABLE 
                                          (IF NEEDED) 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  LISTING OF PERMISSABLE TRANSFORMATIONS AND CORRESPONDING TRANSFORMATION 
  CODES 
  
  NCODE                   TRANSFORMATION                  RANGE 
  
   01                     SQRT(X) => X                    X >/= 0 
  
   02                     X + SQRT(X+1)=> X               X >/= 0 
  
   03                     LOG(10)X => X                   X > 0 
  
   04                     EXP(X) => X 
  
   05                     ARCSIN(SQRT(X))=> X             0 </= X < 1 
  
   06                     ARCSIN(SQRT(X/(N+1)))+
                          ARCSIN SQRT((X+1)/(N+1)) => X   0 </=(X/N) < 1
  
  
   07                     1/X => X                        X NOT = 0 
  
   08                     X + X => X
  
   09                     X * C => X
  
   10                     X ** C => X 
  
   11                     X + y => X
  
   12                     X - Y => X
  
   13                     X * Y => X
  
   14                     X / Y => X                      Y NOT = 0 
  
   15                     IF(X >/=C),1=>X;OTHERWISE,0=>X
  
  
   16                     IF(X >/=Y),1=>X;OTHERWISE,0=>X
   17                     LOG(E)X => X                    X > 0 
  
   18                     X - XM => X 
  
   19                     X/S => X
  
   20                     SIN(X) => X 
  
   21                     COS(X) => X 
  
   22                     ARCTAN(X) => X
  
   23                     X ** Y => X                     X > 0 
  
   24                     C ** X => X                     C > 0 
  
   25                     IF(X=0),X=>C,OTHERWISE X=>X 
  
  
  NOTE:  N = NPNT 
         C = CONST
        XM = MEAN 
         S = STANDARD DEVIATION WHERE S**2 = SUM(XI - XM)**2/(N-1)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THE USER SELECTS ANY TRANSFORMATION EXCEPT NUMBERS 18 AND 19, THIS 
  PROGRAM WILL HANDLE UP TO 999 INDIVIDUAL DATA POINTS.  IF NUMBERS 18
  AND 19 ARE DESIRED, THE NUMBER OF DATA POINTS, DENOTED BY NPNT, IS
  RESTRICTED TO 500 FOR THE VARIABLE X.  ONLY ONE VALUE OF X AND Y ARE
  PERMITTED ON A LINE.  THE DATA MAY BE ENTERED IN ANY FORM, THE FORMAT 
  BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE.
X03701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS31 
 **PROGRAM TITLE: 
  MATRIX ARITHMETIC PROGRAM 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX          ALGEBRA 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ADDS, SUBTRACTS, OR MULTIPLIES TWO 2-DIMENSIONAL MATRICES
  WHICH ARE CONFORMABLE.  MAXIMUM MATRIX SIZE IS 20 X 20. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MUST SUPPLY A SUBROUTINE CALLED "READ" WHICH INPUTS DATA.
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS.
  
  DATA IS ENTERED ONE ROW AT A TIME, I.E.:
  
            X       X       X       ...       X 
             11      12      13                1N 
  
            X       X       X       ...       X 
             21      22      23                2N 
            . 
            . 
            . 
            X       X       X       ...       X 
             M1      M2      M3                MN 
  
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01-02    ISW2       I2       =0: CALL EXIT
                                           NOT =0; BATCH RUN
                                           =1: ADD
                                           =2: SUBTRACT 
                                           =3: MULTIPLY 
              05-06   NROWA       I2       NUMBER OF ROWS OF FIRST
                                           MATRIX (NROWA < OR =20)
  
              07-08   NCOLA       I2       NUMBER OF COLUMNS OF FIRST 
                                           MATRIX (NCOLA < OR =20)
  
              09-10    NROWB      I2       NUMBER OF COLUMNS OF SECOND
                                           MATRIX (NROWB < OR =20)
  
             11-12    NCOLB       I2       NUMBER OF COLUMNS OF SECOND
                                           MATRIX (NCOLB < OR =20)
  
  DATA       --       X(I)        --       MATRIX ELEMENTS
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X03801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  XRITH 
 **PROGRAM TITLE: 
  MATRIX ARITHMETIC LIBRARY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX          LIBRARY 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ADDS, SUBTRACTS OR MULTIPLIES TWO 2-DIMENSIONAL MATRICES
  WHICH ARE CONFORMABLE.  DATA IS ENTERED ONE ROW AT A TIME.  MAXIMUM SIZE
  IS 20 X 20. 
  
  THE ROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL XRITH (NCOLA, NROWA, NCOLB, NROWB, NTYPE, X, Y)
  
  PARAMETER     TYPE     DESCRIPTION
  
  NCOLA         INTEGER  THE NUMBER OF COLUMNS IN THE FIRST MATRIX
                         (NCOLA < OR = 20)
  
  NROWA         INTEGER  THE NUMBER OF ROWS OF THE FIRST MATRIX 
                         (NROWA < OR = 20)
  
  NCOLB         INTEGER  THE NUMBER OF COLUMNS OF THE SECOND MATRIX 
                         (NCOLB < OR = 20)
  
  NROWB         INTEGER  THE NUMBER OF ROWS OF THE SECOND MATRIX
                         (NROWB < OR = 20)
  
  NTYPE         INTEGER  IF EQUAL TO 1, ADD; IF EQUAL TO 2, SUBTRACT IF 
                         IF EQUAL TO 3, MULTIPLY. 
  
  X             REAL     THE ELEMENTS OF THE FIRST MATRIX IN THE ORDER: 
  
                         X       X       X       ...   X
                          11      12      13            1N
  
                         X       X       X       ...   X
                          21      22      23            2N
                          . 
                          . 
                          . 
                         X       X       X       ...   X
                          M1      M2      M3            MN
  
  Y             REAL     THE ELEMENTS OF THE SECOND MATRIX IN THE ORDER:
  
                         Y       Y       Y       ...   Y
                          11      12      13            1N
  
                         Y       Y       Y       ...   Y
                          21      22      23            2N
                          . 
                          . 
                          . 
                         Y       Y       Y       ...   Y
                          M1      M2      M3            MN
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ALTER THE ARRAY DIMENSIONS TO SUIT THE USER'S APPLICATION.
X03901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS32 
 **PROGRAM TITLE: 
  ARRAY CROSS TABULATION PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ARRAY           MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BC8 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS A CROSS-TABULATION OF TWO SINGLE-DIMENSION FIXED
  POINT ARRAYS WHICH USE A CARTESIAN COORDINATE SCHEME.  A MAXIMUM OF 9999
  VALUES CAN BE HANDLED FOR EACH CELL OF THE ARRAY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  A SUBROUTINE "READ", TO INPUT DATA, MUST BE LOADED BEFORE GCS32.
  
  
 **RUN INSTRUCTIONS:
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 9999 VALUES FOR EACH
  CELL OF THE CROSS-TABULATION ARRAY.  THE CROSS-TAB MATRIX WILL
  ACCOMMODATE 99 DISTINCT CLASSIFICATIONS ALONG THE Y-AXIS AND 25 DISTINCT
  CLASSIFICATIONS ALONG THE X-AXIS.  THE USER MUST SPECIFY THE MAXIMUM
  NUMBER OF CLASSIFICATIONS DIFFERENT FROM ZERO FOR BOTH AXES.  THIS
  PROGRAM WILL ALLOW 98 DIFFERENT CLASSIFICATIONS OTHER THAN ZERO ALONG 
  THE X-AXIS.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT
  BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE.
  
             COL.   VARIABLE   FORMAT   DESCRIPTION 
  
  HEADER     01-72  --         36A2     FREE TEXT 
  
  X-AXIS
  LABEL      01-58  --         --       FREE TEXT WHICH APPEARS ON OUTPUT.
  
  Y-AXIS
  LABEL      01-58  --         --       FREE TEXT WHICH APPEARS ON OUTPUT.
  
  PARAMETER  01     ISW2       I1       =0: CALL EXIT 
                                        NOT =0: BATCH RUN 
  
             02-05  NPRS       I4       NUMBER OF DATA PAIRS TO BE INPUT
                                        TO THE CROSS-TAB ARRAY
                                        (NPRS < OR =9999) 
  
             06-07  LIMX       I2       NUMBER OF DISTINCT CLASSIFICATIONS
                                        OTHER THAN ZERO ALONG THE X-AXIS
                                        (LIMX < OR =24) 
  
             08-09  LIMY       I2       NUMBER OF DISTINCT CLASSIFICATIONS
                                        OTHER THAN ZERO ALONG THE Y-AXIS
                                        (LIMY < OR =98) 
  
  DATA       --     NX         --       ELEMENT FOR X-AXIS
             --     NY         --       ELEMENT FOR Y-AXIS
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC13B 
 **PROGRAM TITLE: 
  SIMULTANEOUS EQUATION SOLVER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USING THE GAUSSIAN ELIMINATION METHOD, THIS PROGRAM SOLVES UP TO 22 
  SIMULTANEOUS EQUATIONS WHOSE COEFFICIENTS ARE IN A SINGLE INPUT MATRIX. 
  A CHECK FOR MATRIX SINGULARITY IS NOT PERFORMED.  THE PROGRAM CONTROLS
  ITS OWN I/O OPERATIONS, USING ANY I/O DRIVER IN THE OPERATING SYSTEM
  EMPLOYED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MUST WRITE A "READ" SUBROUTINE TO INPUT DATA AND LOAD IT 
  BEFORE LOADING GC13B. 
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE OR TELETYPE INPUT FORMAT REQUIREMENTS WILL BE SIMILAR TO THE 
  CARD INPUT REQUIREMENTS DESCRIBED HERE. 
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              02-03    M          I2       NUMBER OF INPUT EQUATIONS
                                           (M < OR =22) 
  
  DATA        --       A(1,J)     --       1ST COEFFICIENT OF THE JTH 
                                           EQUATION 
  
              --       A(I,J)     --       ITH COEFFICIENT OF THE JTH 
                                           EQUATION 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 22 EQUATIONS.  THE NUMBER OF
  COEFFICIENTS PER EQUATION MUST BE EQUAL TO THE (NUMBER OF EQUATIONS 
  + 1); I.E., AN AUGMENTED MATRIX.  THE INPUT DATA MAY BE ENTERED IN ANY
  FORM SUBJECT TO THE ORDERING RESTRICTION; THE FORMAT BEING SPECIFIED
  BY THE USER VIA THE READ SUBROUTINE.  THE ORDERING RESTRICTION IS THAT
  THE INPUT COEFFICIENTS OF THE JTH EQUATION MUST (A) BE PLACED IN
  ASCENDING SEQUENCE, A(1,J), A(2,J),..., A(I,J),... AND (B) THE
  COEFFICIENTS FOR (J+1)TH EQUATION MUST BEGIN ON A NEW LINE. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SIMEQ 
 **PROGRAM TITLE: 
  SIMULTANEOUS EQUATION SOLVER SUBROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX          LINEAR EQ.
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS PART OF THE STAT-PACK GROUP, AND IS FORTRAN CALLABLE. 
  
  USING THE GAUSSIAN ELIMINATION METHOD, THIS ROUTINE SOLVES UP TO 22 
  SIMULTANEOUS EQUATIONS WHOSE COEFFICIENTS ARE IN A SINGLE INPUT MATRIX. 
  A CHECK FOR MATRIX SINGULARITY IS NOT PERFORMED.  THIS ROUTINE DOES NOT 
  CONTROL ITS OWN I/O OPERATIONS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL SIMEQ (M)
  
  WHERE M = NUMBER OF INPUT EQUATIONS (M < =22) 
        A = COEFFICIENT MATRIX IN COMMON WITH CALLING PROGRAM 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 22 EQUATIONS.  THE NUMBER OF
  COEFFICIENTS PER EQUATION MUST BE EQUAL TO THE (# OF EQUATIONS +1); 
  I.E. AN AUGMENTED MATRIX.  THE INPUT DATA MAY BE ENTERED IN ANY FORM
  SUBJECT TO THE ORDERING RESTRICTION; THE FORMAT BEING SPECIFIED BY THE
  USER VIA THE READ SUBROUTINE. THE ORDERING RESTRICTION IS THAT THE
  INPUT COEFFICIENTS OF THE JTH EQUATION MUST (A) BE PLACED IN ASCENDING
  SEQUENCE, A(1,J), ..., A(I,J),... AND (B) THE COEFFICIENTS FOR (J+1)TH
  EQUATION MUST BEGIN ON A NEW LINE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC23A 
 **PROGRAM TITLE: 
  AUTOCORRELATION AND SPECTRAL DENSITY
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  FOR A GIVEN SET OF DATA POINTS AND A MAXIMUM LAG (I.E., HARMONIC), THIS 
  PROGRAM CALCULATES AUTOCORRELATION COEFFICIENTS AND POWER SPECTRAL
  DENSITY.  THE INPUT DATA CAN BE NORMALIZED, IF DESIRED.  THE PROGRAM
  WILL HANDLE A MAXIMUM OF 300 DATA POINTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  A "READ" SUBROUTINE TO INPUT DATA, MUST BE LOADED BEFORE THE MAIN 
  PROGRAM GC23A.
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 300 DATA POINTS.  THE INPUT DATA
  MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA
  THE READ SUBROUTINE.
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72    --         36A2     FREE TEXT
  
  PARAMETER   01       ISW1       I1       =0: PRINT
                                           NOT =0:  PRINT AND PUNCH 
  
              02       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              03-05    NPNT       I3       NUMBER OF DATA POINTS
                                           (NPNT < OR =300) 
  
              06-08    NLAGS      I3       MAXIMUM NUMBER OF LAGS DESIRED 
  
              09       NORM       I1       =0: NORMALIZE INPUT DATA 
  
  DATA        --       X(I)       --       ITH VALUE OF INPUT DATA
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC23B 
 **PROGRAM TITLE: 
  MOVING AVERAGES 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN PROGRAM COMPUTES A SET OF MOVING AVERAGES OF ORDER N 
  FROM A TIME-SERIES OF M ELEMENTS.  M - N + 1 MOVING AVERAGES ARE COM- 
  PUTED AND TABULATED.  THE TIME SERIES MAY HAVE A MAXIMUM OF 2000 ELE- 
  MENTS, AND THE ORDER OF THE MOVING AVERAGE MUST BE LESS THAN THE NUMBER 
  OF ELEMENTS IN THE TIME SERIES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER SUPPLIED "READ" SUBROUTINE TO INPUT DATA MUST BE LOADED BEFORE 
  GC23B.
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THE TIME SERIES MAY HAVE A MAXIMUM OF 2000 ELEMENTS AND THE ORDER OF
  THE MOVING AVERAGE MUST BE LESS THAN THE NUMBER OF ELEMENTS IN THE TIME 
  SERIES.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING
  SPECIFIED BY THE USER VIA THE READ SUBROUTINE.
  
                COL.    VARIABLE   FORMAT   DESCRIPTION 
                ----    --------   ------   ----------- 
  HEADER        01-72   --         36A2     FREE TEXT 
  
  PARAMETER     02-05   M          I4       NUMBER OF ELEMENTS IN TIME
                                            SERIES (M </= 2000) 
                07-10   N          I4       ORDER OF MOVING AVERAGE 
                                            (N<M) 
                15      IS1        I1       =1: PRINT 
                                            =2: PRINT AND PUNCH 
  
                20      IS2        I1       =0: CALL EXIT 
                                            ELSE: BATCH RUN 
  
  DATA          --      TS(I)      --       ELEMENTS OF TIME SERIES 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC23C 
 **PROGRAM TITLE: 
  CROSS CORRELATION ANALYSIS
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES A SET OF CROSS-CORRELATION COEFFICIENTS FOR TWO 
  TIME SERIES.  THE MINIMUM AND MAXIMUM LAG INPUT DETERMINES THE NUMBER 
  OF COEFFICIENTS COMPUTED.  THE PROGRAM WILL HANDLE A MAXIMUM OF 900 
  ELEMENTS FOR EACH TIME SERIES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MUST SUPPLY A SUBROUTINE "READ" TO INPUT DATA.  THIS SUBROUTINE
  MUST BE LOADED BEFORE GC23C.
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 900 ELEMENTS FOR EACH TIME SERIES.
  THE INPUT DATA MAY BE ENTERED IN ANY FORM THE FORMAT BEING SPECIFIED BY 
  THE USER VIA THE READ SUBROUTINE. 
  
              COL.   VARIABLE   FORMAT   DESCRIPTION
              ----   --------   ------   -----------
  HEADER      01-72  --         36A2     FREE TEXT
  
  PARAMETER   01     ISW1       I1       =0: PRINT
                                         ELSE: PRINT AND PUNCH
              02     ISW2       I1       =0: CALL EXIT
                                         ELSE: BATCH RUN
              03-05  LN         I3       MINIMUM LAG IN UNITS OF TIME 
              06-08  LX         I3       MAXIMUM LAG IN UNITS OF TIME 
                                         (LX<M) 
              09-11  M          I3       NUMBER OF ELEMENTS IN A TIME 
                                         SERIES (M </= 900) 
  
  DATA        --     TS1(I)     --       COEFFICIENTS OF FIRST TIME 
                                         SERIES 
              --     TS2(I)     --       COEFFICIENTS OF SECOND TIME
                                         SERIES 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X04501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DISCRI
 **PROGRAM TITLE: 
  DISCRIMINANT ANALYSIS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  GIVEN TWO GROUPS OF DATA WITH UP TO 20 VARIABLES PER GROUP, THIS PROGRAM
  CALCULATES A LINEAR FUNCTION OF THE VARIABLES BY WHICH THE TWO GROUPS 
  CAN BE DISCRIMINATED.  THE LINEAR FUNCTION FOUND IS THE ONE THAT MAX- 
  IMIZES THE RATIO OF THE FOLLOWING TWO ELEMENTS: 
     A. THE DIFFERENCE BETWEEN THE GROUP MEANS. 
     B. THE STANDARD DEVIATIONS WITHIN THE SPECIES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MAY PROVIDE HIS OWN "READ" SUBROUTINE TO INPUT DATA, OR USE
  THE ONE SUPPLIED. 
  
  
 **RUN INSTRUCTIONS:
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 20 VARIABLES PER GROUP.  THE
  INPUT DATA MAY BE ENTERED IN ANY FORM THE FORMAT BEING SPECIFIED BY 
  THE USER VIA THE READ SUBROUTINE. 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS.
  
               COL.    VARIABLE    FORMAT    DESCRIPTION
               ----    --------    ------    -----------
  HEADER       01-72               36A2      FREE TEXT
  
  PARAMETER    01      ISW2        I1        =0: CALL EXIT
                                             ELSE: BATCH RUN
               02-04   NVAR        I3        NUMBER OF VARIABLES PER
                                             GROUP (NVAR </= 20)
               05      ISW3        I1        =1: MAKE 2ND PASS OF 
                                                 DATA IN ORDER TO FIND
                                                 INDIVIDUAL DISCRIM-
                                                 INANT VALUES (RE-
                                                 ENTER DATA POINTS) 
  
                                             =0: DO NOT MAKE SECOND PASS
  
  DATA         --      X(1)        --        OBSERVATION FOR VARIABLE 1 
                       .
                       .
                       .
               --      X(I)        --        OBSERVATION FOR VARIABLE I 
                       .
                       .
                       .
  
  D.S.D.       01-02   LC          A2        GROUP DATA SET DELIMITER 
                                             (LC=**).  AFTER GROUP 1 AND
                                             2.  POSITION OF LC DEPENDENT 
                                             ON FORMAT OF READ SUBROUTINE.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE MAIN ROUTINE AND THE SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY 
  PROGRAMS. 
X04601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS01 
 **PROGRAM TITLE: 
  LEAST SQUARES REGRESSION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      POLYNOMIAL      STATISTICS
    MATRIX
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS THE CALCULATIONS FOR LEAST-SQUARES POLYNOMIAL 
  REGRESSION UP TO DEGREE THREE.  THE USER HAS THE OPTION OF SPECIFYING 
  THE DEGREE OF FIT (LINEAR, QUADRATIC, OR CUBIC), OR OF SPECIFYING A 
  FIT THROUGH ALL THREE DEGREES.  AN ANALYSIS OF VARIANCE IS PERFORMED FOR
  EACH POLYNOMIAL FIT, AS WELL AS ANALYSIS OF INDIVIDUAL TERMS.  IF 
  DESIRED, THE PREDICTED VALUES AND RESIDUALS ARE INCLUDED IN THE 
  ANALYSIS.  THE PROGRAM WILL HANDLE A MAXIMUM OF 400 (X,Y) DATA PAIRS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE USER MAY WISH TO REPLACE THE "READ" SUBROUTINE PROVIDED WITH HIS OWN
  "READ" ROUTINE. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL BE SIMILAR TO THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 400 (X,Y) DATA PAIRS.  THE INPUT
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER 
  VIA THE READ SUBROUTINE.
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              02-04    NPRS       I3       NUMBER OF (X,Y) DATA PAIRS 
                                           (NPRS < OR =400) 
  
              05       MODEL      I1       =1: LINEAR FIT ONLY
                                           =2: QUADRATIC FIT ONLY 
                                           =3: CUBIC FIT ONLY 
                                           =4: ALL THREE FITS 
  
              06       NBACK      I1       =0: NO BACK SOLUTIONS
                                           NOT =0: COMPUTE BACK SOLUTIONS 
  
  DATA        --       X(I)       --       VALUE OF INDEPENDENT VARIABLE
                                           FOR THE ITH (X,Y) DATA PAIR
  
              --       Y(I)       --       VALUE FOR THE DEPENDENT
                                           VARIABLE FOR THE ITH (X,Y) 
                                           DATA PAIR
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE SUBROUTINE "READ" MUST BE LOADED PRIOR TO LOADING ANY LIBRARY 
  PROGRAMS. 
X04701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS02 
 **PROGRAM TITLE: 
  LINEAR REGRESSION CONFIDENCE INTERVALS
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES THE LINEAR REGRESSION FUNCTION OF ONE INDEPEND- 
  ENT VARIABLE AND THE CONFIDENCE PREDICTION INTERVALS FOR PREDICTED
  VALUES OF THE DEPENDENT VARIABLE, GIVEN A 0.90, 0.95, OR 0.99 CON-
  FIDENCE INTERVAL.  THE REGRESSION FUNCTION IS EVALUATED BY THE METHOD 
  OF LEAST SQUARES.  AN ANALYSIS OF VARIANCE IS INCLUDED.  THE PROGRAM
  WILL HANDLE A MAXIMUM OF 750 (X,Y) DATA PAIRS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE MAIN PROGRAM AND SUBROUTINES MUST BE LOADED PRIOR TO LOADING ANY
  LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 750 (X,Y) DATA PAIRS. 
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
                COL.    VARIABLE    FORMAT    DESCRIPTION 
                ----    --------    ------    ----------- 
  HEADER        01-72               36A2      FREE TEXT 
  
  PARAMETER     01      ISW2        I1        =0: CALL EXIT 
                                              ELSE: BATCH RUN 
                02-04   NPNT        I3        NUMBER OF (X,Y) DATA
                                              PAIRS,  (NPNT </= 750)
                05-08   CLVL        F4.2      SPECIFIED CONFIDENCE
                                              LEVEL (O.90, 0.95, OR 0.99) 
  
  DATA          --      X(I)        --        VALUE OF INDEPENDENT
                                              VARIABLE FOR THE ITH
                                              (X,Y) DATA PAIR.
                --      Y(I)        --        VALUE OF DEPENDENT
                                              VARIABLE FOR THE ITH
                                              (X,Y) DATA PAIR.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY USE THE "READ" SUBROUTINE PROVIDED, OR WRITE HIS OWN.
X04801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS12 
 **PROGRAM TITLE: 
  POLYNOMIAL REGRESSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      POLYNOMIAL      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USING THE METHOD OF LEAST SQUARES, THIS PROGRAM GENERATES AN
  APPROXIMATING POLYNOMIAL UP TO THE 15TH DEGREE.  THE DEGREE OF
  REGRESSION IS DETERMINED BY AN ITERATIVE TECHNIQUE, THE ITERATIVE 
  PROCESS BEING TERMINATED BY EITHER OF THE FOLLOWING:
  
  A.  WHEN THE COMPUTED STANDARD ERROR OF THE DEPENDENT VARIABLE
      FOR THE (I)TH ITERATION (DEGREE I) IS LESS THAN OR EQUAL TO 
      THE MAXIMUM ALLOWABLE ERROR SPECIFIED BY THE USER.
  
  B.  WHEN THE PROGRAM HAS FITTED THE EXPERIMENTAL DATA THROUGH A 15TH
      DEGREE POLYNOMIAL.
  
  THE PROGRAM WILL HANDLE A MAXIMUM OF 350 (X,Y) DATA PAIRS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIUM OF 350 (X,Y) DATA PAIRS.  THIS
  PROGRAM WILL HANDLE WEIGHTED OBSERVATIONS.  FOR EACH UNWEIGHTED 
  OBSERVATION, THE WEIGHTING FACTOR ASSIGNED TO THAT OBSERVATION SHOULD BE
  ASSIGNED A VALUE OF 1.0.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE
  FORMAT BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE. 
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72               36A2     FREE TEXT
  
  
  PARAMETER   01       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              02-04    NPRS       I3       NUMBER OF (X,Y) DATA PAIR
                                           (NPRS < OR =350) 
  
              05-06    MXDEG      I2       HIGHEST POLYNOMIAL DEGREE
                                           DESIRED (MXDEG < OR =15) 
  
              07       NBACK      I1       =0: NO BACK SOLUTIONS
                                           =1; BACK SOLUTION FOR HIGHEST
                                               DEGREE 
                                           >1: BACK SOLUTIONS FOR ALL 
                                               DEGREES
  
              08-19    STDER      F12.0    MAXIMUM ALLOWABLE ERROR
  
  DATA        --       X(I)       --       VALUE OF INDEPENDENT VARIABLE
  
              --       Y(I)       --       VALUE OF DEPENDENT VARIABLE
  
              --       WGHT(I)    --       =0.0: UNWEIGHTED OBSERVATIONS
  
                                           NOT =0.0: WEIGHTED OBSERVATIONS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY REPLACE THE "READ" SUBROUTINE PROVIDED WITH HIS OWN ROUTINE
  TO INPUT DATA.
X04901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS14 
 **PROGRAM TITLE: 
  POLYNOMIAL REGRESSION CONFIDENCE INTERVALS
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      POLYNOMIAL      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM GENERATES CONFIDENCE INTERVAL ESTIMATES AT A SPECIFIED 
  CONFIDENCE LEVEL FOR EACH PREDICTED POINT OF AN (I)TH DEGREE
  APPROXIMATING POLYNOMIAL (I = 1,6).  THE USER MAY SELECT A CONFIDENCE 
  LEVEL OF 0.90, 0.95, OR 0.99.  ESTIMATES OF THE REGRESSION-COVARIANCE 
  MATRIX ALSO ARE MADE.  THE PROGRAM WILL HANDLE A MAXIMUM OF 400 (X,Y) 
  DATA PAIRS.  THE DEGREE OF THE INPUT POLYNOMIAL MUST BE LESS THAN, OR 
  EQUAL TO 6. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE PROGRAM AND ITS SUBROUTINES MUST BE LOADED PRIOR TO LOADING OF
   ROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 400 (X,Y) DATA PAIRS.  THE DEGREE 
  OF THE INPUT POLYNOMIAL MUST BE LESS THAN OR EQUAL TO 6.  THE INPUT DATA
  PAIRS MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER
  VIA THE READ SUBROUTINE.
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72    --         36A2     FREE TEXT
  
  PARAMETER   01       ISW2       I1       =0: DO NOT PUNCH 
  (RECORD 1)                               NOT =0: PUNCH OUTPUT 
  
              02       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              03-05    NPNT       I3       NUMBER OF (X,Y) DATA PAIRS 
                                           (NPNT < OR =400) 
  
              06       NDEG       I1       DEGREE OF INPUT POLYNOMIAL 
                                           (NDEG < OR =6) 
  
              07-10    CLVL       F4.2     SPECIFIED CONFIDENCE LEVEL 
                                           (0.90, 0.95, OR 0.99)
  
  PARAMETER   01-10    BO         F10.0    VALUE OF B 
  (RECORD 2)                                         0
  
              11-20    B(1)       F10.0    VALUE OF B 
                       .                             1
                . 
                       .
              61-70    B(6)       F10.0    VALUE OF B 
                                                     6
  DATA        --       X(I)       --       VALUE OF INDEPENDENT VARIABLE
                                           FOR THE ITH (X,Y) DATA PAIR. 
  
              --       Y(I)       --       VALUE OF DEPENDENT VARIABLE FOR
                                           THE ITH (X,Y) DATA PAIR. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY PROVIDE A "READ" SUBROUTINE TO INPUT DATA IF HE DESIRES. 
X05001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS18 
 **PROGRAM TITLE: 
  STEPWISE REGRESSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      POLYNOMIAL      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM USES MULTIPLE REGRESSION TO OBTAIN THE BEST FIT TO A 
  SET NUMBER OF OBSERVATIONS CONSISTING OF ONE DEPENDENT VARIABLE AND 
  MULTIPLE INDEPENDENT VARIABLES.  IN THE STEPWISE REGRESSION, A NUMBER 
  OF INTERMEDIATE REGRESSION EQUATIONS ARE OBTAINED, IN ADDITION TO THE 
  COMPLETE REGRESSION EQUATION.  THESE INTERMEDIATE EQUATIONS ARE DERIVED 
  BY ADDING ONE VARIABLE AT A TIME; THE VARIABLE ADDED IS THE ONE THAT
  MAKES THE GREATEST IMPROVEMENT IN THE LEAST SQUARES GOODNESS-OF-FIT.
  THE INSIGNIFICANT VARIABLES ARE REMOVED FROM THE REGRESSION EQUATION
  BEFORE THE ADDITION OF A NEW VARIABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT OR TTY INPUT REQUIREMENTS DESCRIBED HERE WILL BE SIMILAR TO
  CARD INPUT REQUIREMENTS.  NO CONTROL STATEMENT ON SOURCE TAPE.
  
  GIVEN (N X M)  MATRIX OF INPUT COEFFICIENTS:
      W1   X11   X12  ...  X1N        WHERE:
                                      WI= WEIGHTING FACTOR ASSIGNED TO
      W2   X21   X22  ...  X2N            ITH OBSERVATION VECTOR (I=1,M)
      .                               XI,J= VALUE OF JTH INDEPENDENT
      .                                   VARIABLE FOR ITH OBSERVATION
      .                                   VECTOR. 
      WM   XM,1  XM,2 ...  XM,N 
  
  THE FOLLOWING ITEMS SHOULD BE OBSERVED FOR PROPER EXECUTION OF THIS 
  PROGRAM:
  (A)  THERE MUST BE AN EQUAL NUMBER OF OBSERVATIONS FOR ALL INDEPENDENT
       AND DEPENDENT VARIABLES.  THERE IS NO RESTRICTION ON THE NUMBER
       OF OBSERVATIONS EXCEPT THAT THE NUMBER OF OBSERVATIONS PER VECTOR
       SHOULD BE GREATER THAN OR EQUAL TO THE NUMBER OF INDEPENDENT 
       VARIABLES.  THERE CAN BE NO MISSING VALUES.
  
  (B)  THE USER MUST SPECIFY A TOLERANCE LEVEL THAT WILL SERVE AS A 
       CRITERIA IN THE FORMATION OF THE INTERMEDIATE REGRESSION EQUATIONS.
       THE TOLERANCE LEVEL IS THE CONTROL TO REDUCE THE POSSIBILITY OF
       DEGENERACY (MATRIX SINGULARITY) WHEN AN INDEPENDENT VARIABLE IS
       IS APPROXIMATELY A LINEAR COMBINATION OF THE OTHER VARIABLES.  THE 
       VALUE OF THE TOLERANCE IS ARBITRARY, BUT GENERALLY, VALUES BETWEEN 
       0.001 AND 0.00001 ARE USED.
  
  (C)  A DUPLICATE SET OF INPUT DATA POINTS MUST BE PREPARED FOR EACH 
       RUN IN ORDER TO OBTAIN THE BACK SOLUTIONS. 
  
  (D)  THE WEIGHTING FACTOR MAY BE SPECIFIED FOR EACH OBSERVATION VECTOR
       AS FOLLOWS:
                        = 1.0: EQUAL WEIGHTS (I.E., UNWEIGHTED ITEMS) 
             W1         NOT EQUAL 1.0: EQUAL WEIGHTS
                        = 0.0: SET WEIGHT = 1.0 
  
       UNLESS THE SUM OF THE WEIGHTING FACTORS IS EQUAL TO THE NUMBER OF
       OBSERVATIONS PER VARIABLE, THE STANDARD ERRORS OF THE REGRESSION 
       COEFFICIENTS AND THE CRITERIA OF SIGNIFICANCE WILL BE DISTORTED. 
  
  (E)  THE MAXIMUM NUMBER OF DEPENDENT PLUS INDEPENDENT VARIABLES MUST BE 
       GREATER THAN 10.  THE DEPENDENT VARIABLE FOR THE ITH OBSERVATION 
       MUST BE PUNCHED LAST.
  
                 COL.     VARIABLE     FORMAT    DESCRIPTION
                 ----     --------     ------    -----------
  HEADER         01-72                 36A2      FREE TEXT
  
  PARAMETER      01       ISW2         I1        =0: CALL EXIT
                                                 ELSE: BATCH RUN
                 02-04    N            I3        NUMBER OF INDEPENDENT AND
                                                 DEPENDENT VARIABLES
                                                 (N </= 10) 
                 05-07    M            I3        NUMBER OF OBSERVATIONS 
                                                 PER VARIABLE 
                                                 (N </= (N-1))
                 08-17    TOL          F10.4     TOLERANCE LEVEL
                 18-27    F1           F10.4     F LEVEL FOR ENTERING A 
                                                 VARIABLE INTO THE RE-
                                                 GRESSION EQUATIONS.
                 28-37    F2           F10.4     F LEVEL FOR REMOVING A 
                                                 VARIABLE FROM THE RE-
                                                 GRESSION EQUATION. 
  
  DATA           --       W(I)         --        THE WEIGHTING FACTOR 
                                                 ASSIGNED TO THE ITH
                                                 OBSERVATION VECTOR.
                 --       X(I,J)       --        OBSERVATIONS (J=1,N) FOR 
                                                 THE ITH OBSERVATION
                                                 VECTOR.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY WRITE HIS OWN "READ" SUBROUTINE TO INPUT DATA IF HE WISHES.
X05101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS41 
 **PROGRAM TITLE: 
  BIOASSAY
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES PREDICTED X VALUES FOR GIVEN Y VALUES, AND THE
  LINEAR REGRESSION DATA FOR Y ON X.  IF THE REGRESSION DATA IS NOT 
  IMMEDIATELY AVAILABLE, THE PROGRAM ACCEPTS X AND Y VALUES, AND
  COMPUTES THE PREDICTED X VALUES FROM THE GIVEN Y VALUES.  FOR EACH
  PREDICTED X VALUE, THE OUTPUT CONSISTS OF THE GIVEN Y VALUES FOR
  THE POINT, THE AVERAGE OF THESE Y VALUES, THE PREDICTED X VALUE ITSELF, 
  AND THE UPPER AND LOWER BOUNDS OF THE 95-PERCENT CONFIDENCE INTERVAL
  FOR THE PREDICTED X VALUES.  THE PROGRAM IS DESIGNED TO HANDLE A MAXIMUM
  OF 600 (X,Y) DATA PAIRS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS.
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 600 (X,Y) DATA PAIRS. 
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72    --         36A2     FREE TEXT
  
  PARAMETER   05       ISW2       I1       =0: CALL EXIT
                                           NOT =0 BATCH RUN 
  
              10       ISW3       I1       =0: NO INVERSE PREDICTION OF 
                                               X'S DESIRED
                                           NOT =0: INVERSE PREDICTION OF
                                                   X'S USED IN REGRESSION 
                                                   CALCULATION
  
              13-15    NPNT       I3       NUMBER OF (X,Y) DATA PAIRS 
                                           (NPNT < =600)
  
              20       ISW        I1       =1: REGRESSION TO BE PERFORMED 
                                               FROM THE (X,Y) DATA PAIRS
                                           =2: PRE-COMPUTED REGRESSION
                                               PARAMETERS ARE INPUT TO
                                               PROGRAM
  
              23-25    NX         I3       NUMBER OF SETS OF X VALUES TO
                                           BE PREDICTED (NX < OR =999)
  
  DATA        --       X(I)       --       ITH VALUE OF X 
  (FOR ISW=1) --       Y(I)       --       ITH VALUE OF Y 
  
  (FOR ISW=2) 01-04    N          I4       NUMBER OF DATA POINTS FROM 
                                           WHICH REGRESSION WAS CALCULATED
                                           (N < OR =600)
  
              05-18    BO         E14.8    Y-INTERCEPT ESTIMATE 
              19-32    B1         E14.8    SLOPE INTERCEPT
              33-46    SXXB2      E14.8    SUM OF SQUARES OF INTECEPTION
              47-6-    SE2        E14.8    STANDARD ERROR OF ESTIMATE 
              61-74    YBAR       E14.8    AVERAGE Y VALUES 
  
  NEW RECORD  01-14    XBAR       E14.8    AVERAGE X VALUES 
  
  PREDICTION
  RECORD (USED ONLY 
  IF ISW3 > 0)--       Y(I)       --       Y VALUE USED IN PREDICTION.
                                           MUST USE SAME FORMAT AS WHEN 
                                           READING DATA RECORDS.  THERE 
                                           MUST BE NX VALUES IF INVERSE 
                                           PREDICTION IS DESIRED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE TO INPUT DATA IF HE 
  WISHES. 
X05201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS43 
 **PROGRAM TITLE: 
  ORTHOGONAL REGRESSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    POLYNOMIAL      STATISTICS      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  BY MEANS OF ORTHOGONAL POLYNOMIALS, THIS PROGRAM GENERATES A REGRESSION 
  POLYNOMIAL IN ONE INDEPENDENT VARIABLE UP TO THE FIFTH DEGREE.  A 
  GENERAL STATISTICAL ANALYSIS IS INCLUDED (INCLUDING THE MEAN, 
  VARIANCE, ETC.), AND CONFIDENCE LIMITS ARE GENERATED FOR THE SAMPLE 
  MEAN AT 0.90, 0.95, AND 0.99 CONFIDENCE LEVELS.  THE REGRESSION 
  ANALYSIS IS THEN COMPUTED, YIELDING UNCORRELATED ESTIMATORS.  THE 
  POLYNOMIAL IS REWRITTEN IN TERMS OF THE ORIGINAL VARIABLE X, AND AN 
  ANALYSIS OF VARIANCE IS PERFORMED TERM BY TERM.  BACK SOLUTIONS ARE 
  INCLUDED IN THE ANALYSIS.  THE PROGRAM IS DESIGNED TO HANDLE A MAXIMUM
  OF 26 DATA POINTS AT EQUALLY SPACED DISTANCES ALONG THE ORDINATE.  THE
  MAXIMUM POLYNOMIAL GENERATED IS OF DEGREE 5.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE PROGRAM AND SUBROUTINES MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 26 DATA POINTS AT 
  EQUALLY SPACED DISTANCES ALONG THE ORDINATE.  THE MAXIMUM POLYNOMIAL
  GENERATED IS OF DEGREE 5. 
  
              COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER       01-72             36A2    FREE TEXT
  
  PARAMETER    01      ISW2      I1      =0: CALL EXIT
                                         NOT =0: BATCH RUN
  
               02-03   NPNT      I2      NUMBER OF INPUT DATA POINTS
                                         (NPNT </=26) 
               04-15   DIST      F12.4   EQUI-DISTANT SPACING BETWEEN 
                                         DATA POINTS (DIST>0) 
  
  
               16-27   XSTART    F12.4   INITIAL VALUE OF ORDINATE
  
               28-35   FDIS1     F12.4   USER-SPECIFIED VALUE OF F -
                                         DISTRIBUTION 
  
               36-47   FDIS2     F12.4   USER-SPECIFIED VALUE OF F -
                                         DISTRIBUTION 
  
  DATA         01-12   X(1)      F12.4   VALUE OF 1ST OBSERVATION 
               13-24   X(2)      F12.4   VALUE OF 2ND OBSERVATION 
                       .
                       .
                       .
               61-72   X(6)      F12.4   VALUE OF 6TH OBSERVATION 
  
               NOTE:  FOR MORE THAN 6 OBSERVATIONS, REPEAT FORMAT ON A
                      NEW RECORD. 
  
  MULTIPLIER
  RECORD 1     01-12  L(0)*      F12.4    REDUCTION MULTIPLIER CORRES-
                                          PONDING TO B(0) 
  
               13-24  L(1)*      F12.4    REDUCTION MULTIPLIER CORRES-
                                          PONDING TO B(1) 
                       .
                       .
                       .
               61-72  L(5)*      F12.4    REDUCTION MULTIPLIER CORRES-
                                          PONDING TO B(5) 
  
  RECORD 2     01-12  L(0)       F12.4    REDUCTION MULTIPLIER CORRES-
                                          PONDING TO B(0) 
  
               13-24  L(1)       F12.4    REDUCTION MULTIPLIER CORRES-
                       .                  PONDING TO B(1) 
                       .
                       .
               61-72  L(5)       F12.4    REDUCTION MULTIPLIER CORRES-
                                          PONDING TO B(5) 
  
  NOTE:  ORTHOGONAL COEFFICENTS ARE USUALLY CHOSEN SO THAT THE TABULATED
         VALUES ARE INTEGERS REDUCED TO THEIR LOWEST TERMS.  THIS AMOUNTS 
         TO DEFINING A NEW SET OF POLYNOMIALS.
  
              X(R) (X,N) = L(R) . X(R) (X,N)
  
          GIVEN:  R = POLYNOMIAL DEGREE 
                  X = INDEPENDENT INDEX 
                  N = NUMBER OF DATA POINTS 
               L(R) = THE REDUCTION CONSTANT
  
          THE VALUES OF THE REDUCTION MULTIPLIERS CAN BE FOUND IN ANY 
          STANDARD TABLE OF ORTHOGONAL POLYNOMIAL COEFFICIENTS AND ARE
          TABULATED BY POLYNOMIAL DEGREE GIVEN THE NUMBER OF DATA POINTS. 
          THIS PROGRAM REQUIRES, IN ADDITION TO THE STANDARD SET OF 
          MULTIPLIERS, A "MODIFIED" SET DEFINED AS: 
  
                        L(R)* = 1/L(R)  (R = 0,...,5) 
  
          (E.G., FOR N=10, R=2, THEN L(R) = 1/2 AND L(R)* = 2). 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X05301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS49 
 **PROGRAM TITLE: 
  LINEAR REGRESSION WITH REPLICATION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX          LINEAR EQ.      STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES A LINEAR REGRESSION AND ANALYSIS OF VARIANCE ON 
  DATA WITH AN EQUAL OR UNEQUAL NUMBER OF REPLICATIONS (IE. MULTIPLE Y
  VALUES FOR A GIVEN X VALUE).  THE PROGRAM HANDLES A MAXIMUM OF 150
  UNWEIGHTED (X,Y) DATA PAIRS.  THE VALUES OF THE INDEPENDENT VARIABLE
  X MUST BE IN ASCENDING SEQUENCE IN ORDER TO ESTABLISH THE NUMBER OF 
  REPLICATES PER VALUE OF X.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED PRIOR TO ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 150 UNWEIGHTED (X,Y) DATA PAIRS.
  THE VALUES OF THE INDEPENDENT VARIABLE X MUST BE IN ASCENDING SEQUENCE
  IN ORDER TO ESTABLISH THE NUMBER OF REPLICATES PER VALUE OF X.  THE 
  INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY
  THE USER VIA THE READ SUBROUTINE. 
  
              COL.     VARIABLE  FORMAT  DESCRIPTON 
  
  HEADER      01-72    --        36A2    FREE TEXT
  
  PARAMETER   01       ISW2      I1      =0: CALL EXIT
                                         NOT =0: BATCH RUN
  
              02-04    NPNT      I3      NUMBER OF INPUT DATA 
                                         PAIRS (NPNT </=150)
  
  DATA        --       X(I)      --      VALUE OF INDEPENDENT VARIABLE
                                         FOR THE ITH (X,Y) DATA PAIR
  
              --       Y(I)      --      VALUE OF DEPENDENT VARIABLE FOR
                                         THE ITH (X,Y) DATA PAIR.  THE
                                         VALUES OF X MUST BE IN ASCENDING 
                                         SEQUENCE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY A "READ" SUBROUTINE TO INPUT DATA IF HE DESIRES.
X05401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC55A 
 **PROGRAM TITLE: 
  NON-LINEAR REGRESSION  (GAUSS-NEWTON METHOD)
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS NON-LINEAR REGRESSION CALCULATIONS TO FIT A SET 
  OF DATA TO A FUNCTION SPECIFIED BY THE USER.  CORRECTIONS TO A STARTING 
  VALUE OF THE PARAMETER VALUES ARE COMPUTED BY ITERATION CYCLES UNTIL THE
  CORRECTIONS MAKE NO CHANGE (WITHIN A SPECIFIED TOLERANCE) IN THE ERROR
  SUM OF SQUARES .  IT MUST BE NOTED THAT THE FINAL ERROR SUM OF SQUARES
  MAY BE QUITE LARGE IF THE DATA DOES NOT FIT THE DESIRED MODEL WELL.  THE
  PROGRAM IS SET UP TO HANDLE 10 PARAMETERS, AND THE MODEL USED MUST HAVE 
  ONLY ONE X VALUE FOR EACH Y VALUE.  THE PROCEDURE IS DIMENSIONED TO 
  ESTIMATE UP TO 10 PARAMETERS FROM 150 PAIRS OF X AND Y VALUES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM PERFORMS NON-LINEAR REGRESSION CALCULATIONS TO FIT A SET 
  OF DATA TO A FUNCTION SPECIFIED BY THE USER.
  
       MODEL:  Y = F(X; Q(1), Q(2),...,Q(K) + E), K</= 10.
  
  CORRECTIONS TO A STARTING VALUE OF THE PARAMETER VALUES ARE COMPUTED BY 
  ITERATION CYCLES UNTIL THE CORRECTIONS MAKE LITTLE OR NO CHANGE (WITHIN 
  A SPECIFIED TOLERANCE) IN THE ERROR SUM OF SQUARES.  IT SHOULD BE 
  POINTED OUT THAT EVEN THE FINAL ERROR SUM OF SQUARES MAY BE QUITE LARGE 
  IF THE DATA DOES NOT FIT THE DESIRED MODEL WELL.
  
  THE PROGRAM IS SET UP TO HANDLE 10 PARAMETERS AND THE MODEL USED MUST 
  HAVE ONLY ONE X VALUE FOR EACH Y VALUE.  IF THE NUMBER OF DATA PAIRS
  IS LARGE WITH RESPECT TO THE NUMBER OF PARAMETERS TO BE ESTIMATED, AN 
  AVERAGING OPTION, CONTROLLED BY THE VARIABLE ISW3, IS AVAILABLE.  IF
  THIS OPTION IS USED, THE NUMBER OF DATA PAIRS MUST BE AN EVEN MULTIPLE
  OF THE NUMBER OF PARAMETERS TO BE ESTIMATED.  THE PROGRAM WILL FORM AS
  MANY AVERAGES AS THERE ARE PARAMETERS, FIND SOLUTIONS FOR THE PARA- 
  METERS, THEN RECYCLE USING THIS SOLUTION AS THE STARTING VECTOR AND 
  USING THE INDIVIDUAL DATA POINTS INSTEAD OF THE AVERAGES. 
  
  IF THIS PROGRAM HAS PERFORMED THE MAXIMUM NUMBER OF ITERATIONS INDICATED
  AND HAS FOUND NO SOLUTION FOR THE PARAMETERS, THEN MESSAGE "MAXIMUM 
  NUMBER OF ITERATIONS HAS BEEN PERFORMED" WILL APPEAR ON THE OUTPUT
  LISTING AND PROGRAM EXECUTION WILL TERMINATE.  SEVERAL ALTERNATIVES ARE 
  AVAILABLE FOR THE USER: 
  
       1.  INCREASE MAXIMUM NUMBER OF ITERATIONS AND RUN AGAIN. 
       2.  PICK CLOSER STARTING VALUES FOR THE PARAMETERS AND RUN AGAIN.
       3.  SET TOLERANCE FOR ACCEPTABLE ERROR SUM OF SQUARES LARGER AND 
           RUN AGAIN. 
  
  A COMBINATION OF THESE THREE POSSIBILITIES WOULD PROBABLY OFFER THE 
  BEST SOLUTION.
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THE PROGRAM IS DIMENSIONED TO ESTIMATE UP TO TEN PARAMETERS FROM 150
  PAIRS OF X AND Y VALUES.  STARTING VALUES OF THE PARAMETERS ARE INCLUDED
  AS INPUT DATA.
  
              COL.     VARIABLE  FORMAT  DESCRIPTON 
  
  HEADER      01-72    --        36A2    FREE TEXT
  
  PARAMETER   01       ISW2      I1      =0: CALL EXIT
                                         NOT =0: BATCH RUN
  
              02       ISW3      I1      NOT =1: USE INDIVIDUAL VALUES
                                         =1: AVERAGE DATA POINTS
  
              03-05    NOBS      I3      NUMBER OF (X,Y) DATA PAIRS 
                                         (NOBS </=150)
  
              06-07    NP        I2      NUMBER OF INITIAL PARAMETER
                                         ESTIMATES (NP </= 10)
  
              08-10    IT        I3      MAXIMUM NUMBER OF ITERATIONS TO
                                         BE PERFORMED (0 </= IT </= 999)* 
  
              11-18    TOL       F8.0    TOLERANCE VALUE - IF THE CHANGE
                                         BETWEEN TWO ITERATIONS IS LESS 
                                         THAN TOL, ITERATION WILL TERMI-
                                         NATE.
  
  ESTIMATE    01-08    GUESS(1)  F8.0    ESTIMATE OF 1ST PARAMETER
              09-16    GUESS(2)  F8.0    ESTIMATE OF 2ND PARAMETER
                       .
                       .
                       .
              73-80    GUESS(10) F8.0    ESTIMATE OF 10TH PARAMETER 
  
  DATA        01-08    Y(I)      F8.0    INPUT DATA CARDS (1 CARD PER 
              09-16    X(I)      F8.0    (X,Y) DATA PAIR).
  
  *NOTE:  IF IT = 0, ONE ITERATION WILL BE PERFORMED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF POSSIBLE, LARGE AMOUNTS OF DATA SHOULD NOT BE RUN DUE TO THE TIME
  REQUIRED BY THE ITERATION CYCLES.  ON THE TEST RUNS, SIX DATA PAIRS WERE
  USED AND THREE PARAMETERS WERE ESTIMATED.  THE TIME REQUIRED FOR ONE
  ITERATION CYCLE UNDER THESE CIRCUMSTANCES WAS ABOUT ONE MINUTE.  CYCLE
  TIME SHOULD INCREASE LINEARLY WITH THE NUMBER OF DATA PAIRS; THUS, THE
  TIME COULD EASILY BECOME PROHIBITIVE FOR LARGE SETS OF DATA.
X05501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS52 
 **PROGRAM TITLE: 
  CUMULATIVE DISTRIBUTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM GENERATES A FREQUENCY DISTRIBUTION FOR A SINGLE DATASET
  CONSISTING OF 1500 POINTS OR LESS.  THE MEAN, MEDIAN, STANDARD DEVIATION
  AND INTERQUARTILES ARE INCLUDED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE PROGRAM AND ITS SUBROUTINES MUST BE LOADED BEFORE ANY LIBRARY 
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 1500 DATA POINTS.  THE
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER 
  VIA THE READ SUBROUTINE.
  
              COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER      01-72    -- 
  
  PARAMETER   01       ISW2      I1      =0: CALL EXIT
                                         NOT =0: BATCH RUN
              02-05    NPNT      I4      NUMBER OF DATA POINTS
                                         (NPNT </= 1500)
  
  DATA        --       X(I)      --      INPUT DATA POINTS
                                         (X(I), I=1, NPNT)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY PROVIDE HIS OWN "READ" SUBROUTINE TO ENTER DATA IF HE
  WISHES. 
X05601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC44A 
 **PROGRAM TITLE: 
  KENDALL'S COEFFICIENT OF CONCORDANCE W
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES KENDALL'S COEFFICIENT OF CONCORDANCE: W.
  THIS IS A MEASURE OF THE RELATION AMONG SEVERAL RANKINGS.  TIES ARE 
  CHECKED, AND THE DEGREE OF ASSOCIATION, W, IS ADJUSTED ACCORDINGLY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY SUBROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 31 SETS OF RANKINGS 
  WITH UP TO 20 OBJECTS BEING RANKED PER SET.  EACH SET MUST HAVE THE 
  SAME NUMBER OF OBJECTS.  ALL OBJECTS FOR THE ITH RANKING MUST BE READ 
  BEFORE THE OBJECTS FOR JTH RANKING (I < J).  THE INPUT DATA MAY BE
  ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA THE 
  READ SUBROUTINE.
  
              COL.    VARIABLE   FORMAT    DESCRIPTION
              ---     --------   ------    -----------
  HEADER      01-72   --         36A2      FREE TEXT
  
  PARAMETER   03      ISW2       I1        =0: CALL EXIST 
                                           ELSE: BATCH RUN
              04-05   NSETS      I2        NUMBER OF SETS OF RANKINGS 
                                            (NSETS </= 31)
  
              07-08   NPNT       I2        NUMBER OF OBJECTS PER SET
                                           BEING RANKED (NPNT </= 20) 
  
  DATA
  FIRST       --      X(1,1)     --        1ST RANKING, VALUE OF 1ST
                                            OBJECT
              --      X(1,2)     --        1ST RANKING, VALUE OF 2ND
                                            OBJECT
                        . 
                        . 
                        . 
              --      X(1,J)     --        1ST RANKING, VALUE OF JTH
                                            RANKING 
  
  ITH         --      X(I,1)     --        ITH RANKING, VALUE OF 1ST
                                            OBJECT
              --      X(I,2)     --        ITH RANKING, VALUE OF 2ND
                                            OBJECT
                        . 
                        . 
                        . 
              --      X(I,J)     --        ITH RANKING, VALUE OF JTH
                                            OBJECT
  
  NOTE:  1 < I < NSETS
         1 < J < NPNT 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE IF HE WISHES. 
X05701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC44B 
 **PROGRAM TITLE: 
  KENDALL'S COEFFICIENT OF CONCORDANCE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES KENDALL'S COEFFICIENT OF CONCORDANCE.  NO CHECK 
  IS MADE FOR TIES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY SUBROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE AN UNLIMITED NUMBER OF SETS OF 
  RANKINGS WITH A MAXIMUM OF 900 OBJECTS OVER ALL SETS.  EACH SET MUST
  HAVE THE SAME NUMBER OF OBJECTS.  ALL OBJECTS FOR THE ITH RANKING MUST
  BE READ BEFORE THE OBJECTS FOR THE JTH RANKING (I<J).  THE INPUT DATA 
  MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA
  THE READ SUBROUTINE.
  
                COL.  VARIABLE  FORMAT  DESCRIPTION 
  
  HEADER        01-72   --      36A2    FREE TEXT 
  
  PARAMETER     03      ISW2    I1      =0: CALL EXIT 
                                        NOT=0: BATCH RUN
  
                04-06   NPNT    I3      NUMBER OF OBJECTS FOR ALL SETS
                                        (NPNT </= 900)
  
  DATA          --      X(1)    --      1ST RANKING, VALUE OF 1ST OBJECT
  FIRST         --      X(2)    --      1ST RANKING, VALUE OF 2ND OBJECT
                        . 
                        . 
                        . 
                --      X(K)    --      1ST RANKING, VALUE OF KTH OBJECT
  
  JTH          --       X(1)    --      JTH RANKING, VALUE OF 1ST OBJECT
               --       X(2)    --      JTH RANKING, VALUE OF 2ND OBJECT
                        . 
                        . 
                        . 
               --       X(K)    --      JTH RANKING, VALUE OF KTH OBJECT
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY WRITE HIS OWN "READ" SUBROUTINE IF HE WISHES.
X05801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS47 
 **PROGRAM TITLE: 
  KENDALL'S TAU CORRELATION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES KENDALL'S TAU, A RANK CORRELATION COEFFICIENT,
  FOR A GIVEN SET OF ORDERED (X,Y) PAIRS.  ASSOCIATED STATISTICS ARE
  ALSO PRODUCED, AND THE PROGRAM DETERMINES THE PRESENCE OR ABSENCE OF
  TIES IN THE DATASET AND ADJUSTS TAU ACCORDINGLY.  THE PROGRAM HANDLES 
  A MAXIMUM OF 300 (X,Y) DATA PAIRS, WHICH MUST BE SORTED IN ASCENDING
  ALGEBRAIC SEQUENCE OF THE X VARIABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "REAL" SUBROUTINE MUST BE LOADED PRIOR TO ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 300 (X,Y) DATA PAIRS.  THE DATA 
  PAIRS MUST BE SORTED INTO ASCENDING ALGEBRAIC SEQUENCE OF THE X 
  VARIABLE.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING
  SPECIFIED BY THE USER VIA THE READ SUBROUTINE.
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW0      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NPRS      I3      NUMBER OF DATA PAIRS (X,Y) 
                                           (NPRS </= 300) 
  
  DATA          --       X(I)      --      VALUE OF THE FIRST VARIABLE FOR
                                           THE ITH (X,Y) DATA PAIR
  
                --       Y(I)      --      VALUE FOR THE SECOND VARIABLE
                                           FOR THE ITH (X,Y) DATA PAIR
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY PROVIDE HIS OWN "READ" SUBROUTINE TO INPUT DATA IF HE
  WISHES. 
X05901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC15A 
 **PROGRAM TITLE: 
  GENERAL STATISTICS
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM CHARACTERIZES A PARTICULAR SET OF DATA BY PERFORMING 
  ELEMENTARY STATISTICAL CALCULATIONS (POINT ESTIMATES), DETERMINING
  THE 0.95 AND 0.99 CONFIDENCE INTERVALS FOR THE SAMPLE MEAN (ASSUMING
  NORMAL DISTRIBUTION OF THE DATA), AND GENERATING A HISTOGRAM OF THE 
  DATA POINTS.  A MAXIMUM OF 900 UNWEIGHTED AND UNGROUPED DATA POINTS 
  CAN BE HANDLED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE THE LIBRARY ROUTINE.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 900 UNWEIGHTED AND UNGROUPED DATA 
  POINTS.  NOTHING IS ASSUMED ABOUT THE UNDERLYING DISTRIBUTION EXCEPT
  WHERE NORMALITY IS HYPOTHESIZED FOR THE CONFIDENCE INTERVALS FOR THE
  SAMPLE MEAN.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT 
  BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE.
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NPNT      I3      NUMBER OF DATA POINTS
                                           (NPNT </= 900) 
  
                05-06    NTRVL     I2      =0: PROGRAM SETS 11 INTERVALS
                                               FOR HISTOGRAM
                                           NOT=0: NUMBER OF INTERVALS FOR 
                                                  HISTOGRAM (2</= NTRVL 
                                                  </= 25) 
  
  DATA          --       X(I)      --      ITH INPUT DATA POINT 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X06001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC15B 
 **PROGRAM TITLE: 
  GENERAL STATISTICS FOR MULTIPLE GROUPS
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM GENERATES POINT ESTIMATES (MEAN, VARIANCE, STANDARD
  DEVIATION, AND STANDARD ERROR) AND CONFIDENCE INTERVAL ESTIMATES FOR
  THE SAMPLE MEAN.  THE ANALYSIS MAY BE PERFORMED FOR A MAXIMUM OF 99 
  SETS OR GROUPS OF DATA IN A SINGLE EXECUTION.  THE USER CAN ELECT TO
  DETERMINE CONFIDENCE INTERVALS FOR THE SAMPLE MEAN AT THE 0.90, 0.95
  OR 0.99 LEVEL OF CONFIDENCE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE MAIN PROGRAM AND SUBROUTINES MUST BE LOADED BEFORE ANY LIBRARY
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO PROCESS A MAXIMUM OF 99 GROUPS OF DATA AT 
  ONE TIME.  EACH GROUP MAY HAVE A MAXIMUM OF 9999 OBSERVATIONS AND THE 
  SAMPLE SIZE NEED NOT BE CONSTANT OVER ALL GROUPS.  FOR THE CASE OF
  UNEQUAL SAMPLE SIZES, THE "SAMPLE SIZE" INPUT DATA WILL INDICATE THE
  NUMBER OF OBSERVATIONS IN EACH GROUP.  THE DATA MAY BE ENTERED IN ANY 
  FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE. 
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-03    NGRUP     I2      NUMBER OF GROUPS OF DATA 
                                           (1</=NGRUP</=99) 
  
                04-07    NSIZE     I4      =0: UNEQUAL SAMPLE SIZES 
                                           NOT=0: CONSTANT SAMPLE SIZE
                                                  OVER ALL GROUPS 
  
                08-11    CLVL      F4.2    =0: NO CONFIDENCE LIMITS ON
                                               SAMPLE MEAN DESIRED
                                           NOT=0: CONFIDENCE LEVEL (0.90, 
                                                  0.95, 0.99) 
  
  SAMPLE SIZE 
  (ONLY IF
  NSIZE=0)      01-04    NPNT(1)   I4      NUMBER OF OBSERVATIONS FOR 
                                           GROUP 1
  
                05-08    NPNT(2)   I4      NUMBER OF OBSERVATIONS FOR 
                                           GROUP 2
                         .
                         .
                         .
                77-80    NPNT(20)  I4      NUMBER OF OBSERVATIONS FOR 
                                           GROUP 20 
  
  NOTE:  FOR NGRUP > 20 AND NSIZE = 0, CONTINUE TO SAME FORMAT ON 
         ANOTHER RECORD.
  
  DATA (ONE OR MORE 
  RECORD FOR THE ITH
  OBSERVATION OVER ALL GROUPS)
  
  RECORD(I) =   --       NLAST     --      A D.S.D. INDICATOR 
                --       X(1)      --      THE ITH OBSERVATION FOR THE
                                           1ST GROUP
                --       X(2)      --      THE ITH OBSERVATION FOR THE
                                           2ND GROUP
                         .
                         .
                         .
                --       X(J)      --      THE ITH OBSRVATION FOR THE 
                                           JTH GROUP
  
  NOTE:  THE D.S.D. INDICATOR (USED TO TERMINATE READING OF A PARTICULAR
         DATASET) MUST BE SET TO 9999 ON THE RECORD WITH THE LAST OBSER-
         VATION OVER ALL GROUPS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X06101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  PROBABILITY SUBPROGRAMS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SOFTWARE PRODUCT CONSISTS OF TEN ROUTINES WHICH CALCULATE THE
  FOLLOWING PROBABILITY FUNCTIONS:  NORMAL CUMULATIVE PROBABILITY 
  FUNCTION, CUMULATIVE BINOMIAL FUNCTION, CUMULATIVE POISSON FUNCTION, F
  CUMULATIVE PROBABILITY FUNCTION, CHI-SQUARE CUMULATIVE DISTRIBUTION 
  FUNCTION, CHI-SQUARE AREA FOR CRITICAL VALUES, INVERSE F DISTRIBUTION 
  FUNCTION, STUDENT'S T DISTRIBUTION, NORMAL PROBABILITY FUNCTION, AND
  STUDENT'S T CUMULATIVE PROBABILITY FUNCTION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  NORMAL CUMULATIVE PROBABILITY FUNCTION
  
  IABLE = ANORM(Z,TOL)
  
      X IS AN N(O,1) VARIATE, Z IS MEASURED IN UNITS OF STANDARD DEVIATION
      FROM THE MEAN, ABS(Z) </=6, TOL > 0.
  
  2.  CUMULATIVE BINOMIAL FUNCTION
  
      VARIABLE = BINOM(X,EN,P)
  
      0 </= X </= EN AND 0 < P < 1 WHERE X AND EN ARE FLOATING POINT
      INTEGERS.  UNDERFLOW OCCURS IF P**EN OR (1-P)**EN IS LESS THAN
      10**(-100)
  
  3.  CUMULATIVE POISSON FUNCTION 
  
      VARIABLE = POIS(ENP,X)
  
      ENP </= 230, X MAY BE ANY NON-NEGATIVE INTEGRAL VALUE.
  
  4.  CUMULATIVE PROBABILITY FUNCTION 
  
      VARIABLE = FPROB(R1,R2,EF)
  
      1 < R1 < R2, R1 AND R2 ARE INTEGERS, AND EF > 0.  UNDERFLOW OCCURS
      IF EF IS VERY LARGE OR NEARLY ZERO. 
  
  5.  CHI-SQUARE CUMULATIVE DISTRIBUTION FUNCTION 
  
      VARIABLE = CHIFN(R,EF,TOL)
  
      R > 1 AND R IS AN INTEGER.  EF > 0 BUT IF EF IS UNREASONABLE, THE 
      PROBABILITY VALUE WILL BE CORRECTED TO 0 OR 1.  TOL SHOULD NOT BE 
      SMALLER THAN 10**(-10). 
  
  6.  CHI-SQUARE SUBROUTINE 
  
      CALL CHISQ(N,XUPR,XLWR) 
  7.  INVERSE F DISTRIBUTION FUNCTION 
  
      VARIABLE = FDIST(M1, M2, P) 
  
      M1 NOT=1, MS NOT=1. 
  
  8.  STUDENT'S T DISTRIBUTION SUBROUTINE 
  
      CALL TDIST(DF,CLVL,TVAL)
  
      THE ARGUMENT CLVL IS RESTRICTED TO THE VALUES OF 0.90, 0.95 OR 0.99.
  
  9.  NORMAL PROBABILITY FUNCTION 
  
      VARIABLE = XAREA(YNORM) 
  
      0</=YNORM 
  
  10. STUDENT'S T CUMULATIVE PROBABILITY FUNCTION 
  
      VARIABLE = TPROB(T,R) 
  
      R > 1 AND R MUST BE A FLOATING POINT INTEGER.  USE NORMAL DISTRIBU- 
      TION FOR LARGE R. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X06201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  INTG1 
 **PROGRAM TITLE: 
  INTEGRATION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGRATION 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE EVALUATES THE DEFINITE INTEGRAL FOR A FUNCTION WITH VALUES 
  OF EQUIDISTANT DISCRETE POINTS.  THE INTEGRAL IS COMPUTED BY SIMPSON'S
  METHOD, GIVING THE EXACT VALUE OF THE INTEGRAL IF THE FUNCTION IS A 
  POLYNOMIAL OF DEGREE NOT GREATER THAN 3.  THERE MUST BE AN ODD NUMBER 
  OF DATA POINTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL INTG1(N, H, Y, RES)
  
  PARAMETER     TYPE     DESCRIPTION
  
      N         INTEGER  N IS THE NUMBER OF DATA POINTS AND MUST BE ODD 
  
      H         REAL     THE STEP SIZE BETWEEN TWO CONSECUTIVE DATA POINTS
  
      Y         REAL     Y(I), I=1, N ARE THE VALUES OF THE INTEGRAND 
  
     RES        REAL     THE VALUE OF THE DEFINITE INTEGRAL 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THERE MUST BE AN ODD NUMBER OF DATA POINTS. 
X06301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS37 
 **PROGRAM TITLE: 
  CONFIDENCE INTERVAL FOR MEAN AND VARIANCE OF NORMAL A DISTRIBUTION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM CALCULATES THE UPPER AND LOWER CONFIDENCE LIMITS FOR THE 
  MEAN AND VARIANCE OF A SAMPLE ASSUMING THE DATA TO BE NORMALLY DISTRI-
  BUTED.  THE USER MAY SPECIFY A CONFIDENCE LEVEL OF 0.90, 0.95 OR 0.99 
  FOR THE CONFIDENCE LIMITS OF THE SAMPLE MEAN.  THE PROGRAM GENERATES
  0.95 CONFIDENCE LIMITS FOR THE SAMPLE VARIANCE AND HANDLES A MAXIMUM
  OF 900 DATA POINTS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 900 DATA POINTS.  THE INPUT DATA
  MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA
  THE READ SUBROUTINE.
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NPNT      I3      NUMBER OF INPUT DATA POINTS
                                           (NPNT </= 900) 
  
                05-08    CLVL      F4.2    CONFIDENCE LEVEL FOR MEAN
                                           (0.90, 0.95 OR 0.99) 
  
  DATA          --       X(I)      --      ITH INPUT DATA POINT 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY WRITE HIS OWN "READ" SUBROUTINE TO INPUT DATA. 
X06401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC40A 
 **PROGRAM TITLE: 
  SAMPLE SIZE DETERMINATION ON SAMPLE VARIANCE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM UTILIZES AN ESTIMATE OF THE SAMPLE VARIANCE, BASED ON
  (M) DEGREES OF FREEDOM AND A SPECIFIED MAXIMUM CONFIDENCE INTERVAL
  LENGTH, TO DETERMINE THE SAMPLE SIZE REQUIRED TO GIVE ANY TEST LEVEL
  ESTIMATE OF THE POPULATION MEAN.  THE PROGRAM USES A TRIAL AND ERROR
  METHOD, WITH THE INITIAL SAMPLE SIZE SPECIFIED BY THE USER.  THE SAMPLE 
  SIZE IS DETERMINED FOR CONFIDENCE LEVELS OF 0.90, 0.95 AND 0.99.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE PROGRAM AND SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72              36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-05    NPNT      I4      INITIAL ESTIMATE OF THE SAMPLE 
                                           SIZE (NPNT </= 2)
  
                06-13    SS        F8.0    SAMPLE VARIANCE
  
                14-17    M2        I4      DEGREE OF FREEDOM ASSOCIATED 
                                           WITH SAMPLE VARIANCE 
  
                1821     CIL       I4      MAXIMUM LENGTH OF THE
                                           CONFIDENCE INTERVAL
  
                22-25    BETA      F4.2    PROBABILITY OF A TYPE II ERROR 
  
  DATA          NOT APPLICABLE
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X06501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CORR1 
 **PROGRAM TITLE: 
  MULTIPLE CORRELATION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  USING A MAXIMUM OF 20 VARIABLES, WITH UP TO 999 OBSERVATIONS PER
  VARIABLE THIS ROUTINE CALCULATES THE MEANS AND STANDARD DEVIATIONS OF 
  EACH VARIABLE.  THE RAW SUM OF SQUARES, CROSS-PRODUCT MATRIX, THE 
  VARIANCE-COVARIANCE MATRIX, AND THE CORRELATION MATRIX, ALSO ARE
  DETERMINED. 
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS SUBROUTINE IS DESIGNED TO HANDLE A MAXIMUM OF 20 VARIABLES AND A 
  MAXIMUM OF 999 OBSERVATIONS PER VARIABLE.  THE DATA MAY BE ENTERED IN 
  ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA THE READ SUB-
  ROUTINE.
  
  CALL CORR1(M, NPNT) 
  
  PARAMETER     TYPE     DESCRIPTION
  
     M          INTEGER  NUMBER OF VARIABLES (M </= 20) 
  
     NPNT       INTEGER  NUMBER OF OBSERVATIONS PER VARIABLE (NPNT </=999)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE FOR DATA INPUT IF DESIRED.
X06601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS04 
 **PROGRAM TITLE: 
  COMPLETELY RANDOMIZED DESIGN
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS AN ANALYSIS OF VARIANCE ON A COMPLETELY RANDOMIZED
  EXPERIMENTAL DESIGN.  A MAXIMUM OF 400 TREATMENTS CAN BE HANDLED, WITH
  NO RESTRICTIONS ON THE NUMBER OF OBSERVATIONS PER TREATMENT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "REAL" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM GENERATES THE NECESSARY INFORMATION TO PERFORM AN ANALYSIS 
  OF VARIANCE ON A COMPLETELY RANDOMIZED EXPERIMENTAL DESIGN. 
  
  MODEL:  Y(IJ) = M + T(I) + E(IJ) ; I = 1,..., K; J = 1,...,N(I) 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72              36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-05    K         I4      NUMBER OF TREATMENTS 
                                           (K </= 400)
  
  DATA          ---      ISET      ---     TREATMENT NUMBER 
                ---      Y         ---     OBSERVATION
  
  D.S.D         ---      ISET      ---     DATA SET DELIMITER (ISET=9999) 
                                           USED TO TERMINATE A PARTICULAR 
                                           DATASET. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 400 TREATMENTS AND AN 
  UNEQUAL NUMBER OF OBSERVATIONS PER TREATMENT WITH NO RESTRICTION ON 
  THIS NUMBER.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT 
  BEING SPECIFIED BY THE USER VIA THE READ SUBROUTINE.  HOWEVER, ONLY ONE 
  TREATMENT NUMBER AND ITS CORRESPONDING OBSERVATION ARE PERMITTED IN ONE 
  RECORD.  THERE MAY BE AN ARBITRARY ARRANGEMENT OF DATA; THE TREATMENT-
  OBSERVATION VALUES NEED NOT BE IN ANY SPECIFIC ORDER. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY WRITE HIS OWN "READ" SUBPROGRAM FOR DATA INPUT IF HE 
  DESIRES.
X06701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS06 
 **PROGRAM TITLE: 
  RANDOMIZED COMPLETE BLOCK DESIGN
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS AN ANALYSIS OF VARIANCE ON A RANDOMIZED COMPLETE
  BLOCK EXPERIMENTAL DESIGN.  A MAXIMUM OF 100 TREATMENTS AND BLOCKS CAN
  BE HANDLED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY SUBROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM GENERATES THE NECESSARY INFORMATION TO PERFORM AN ANALYSIS 
  OF VARIANCE ON A RANDOMIZED COMPLETE BLOCK EXPERIMENTAL DESIGN. 
  
  MODEL:  Y(IJ) = M + T(I) + B(J) + E(IJ); I=1,...,IT; J=1,...,IB 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 100 TREATMENTS AND A MAXIMUM OF 
  100 BLOCKS.  THERE MAY BE AN UNLIMITED NUMBER OF OBSERVATIONS BUT ONLY
  ONE OBSERVATION PER EXPERIMENTAL UNIT (I.E., TREATMENT-BLOCK
  COMBINATION).  MISSING OBSERVATIONS ARE NOT PERMITTED.  THE INPUT DATA
  MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA
  THE READ SUBROUTINE.  HOWEVER, ONLY ONE TREATMENT-BLOCK OBSERVATION UNIT
  IS ALLOWED ON EACH DATA RECORD.  THERE MAY BE AN ARBITRARY ARRANGEMENT
  OF DATA; THE INPUT NEED NOT BE IN ANY SPECIFIC ORDER. 
  
              COL.     VARIABLE   FORMAT   DESCRIPTON 
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01-03    ISW2       I3       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              04-06    IT         I3       NUMBER OF TREATMENTS 
                                           (IT < OR =100) 
  
              07-09    IB         I3       NUMBER OF BLOCKS 
                                           (IB < OR =100) 
  
  DATA        --       I          --       TREATMENT NUMBER 
              --       J          --       BLOCK NUMBER 
              --       X          --       OBSERVATION
  
  D.S.D.      --       I          --       DATA SET DELIMITER (I=9999)
                                           USED TO TERMINATE READING OF 
                                           A PARTICULAR DATA SET - SAME 
                                           COLUMN AS I IN DATA. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE IF HE DESIRES.
X06801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS07 
 **PROGRAM TITLE: 
  RANDOMIZED COMPLETE BLOCK DESIGN WITH SUB-SAMPLING
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS AN ANALYSIS OF VARIANCE ON A RANDOMIZED COMPLETE
  BLOCK DESIGN AND SUBSAMPLING.  A MAXIMUM OF 30 TREATMENTS AND 30 BLOCKS 
  CAN BE HANDLED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM GENERATES THE NECESSARY INFORMATION TO PERFORM AN ANALYSIS 
  OF VARIANCE FOR A RANDOMIZED COMPLETE BLOCK DESIGN WITH SUBSAMPLING.
  
  MODEL:
  
  Y(I,J,K)= M + G(I) + B(J) + E(IJ) + H(IJK); I=1,...,IT; J=1,...,IB; 
  
                                             K=1,...,N
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 30 TREATMENTS AND 30
  BLOCKS.  MISSING OBSERVATIONS ARE NOT PERMITTED.  IF THE PROGRAM
  ENCOUNTERS A MISSING OBSERVATION, THE MESSAGE "MISSING DATA - JOB 
  ABORTED" WILL INFORM THE USER OF AN UNBALANCED DESIGN AND EXECUTION 
  WILL TERMINATE.  THE DESIGN MUST BE "BALANCED",I.E., THERE MUST BE AN 
  EQUAL NUMBER OF READINGS FOR EACH SUBSAMPLE.  THE INPUT DATA MAY BE 
  ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA THE 
  READ SUBROUTINE.  HOWEVER, ONLY ONE EXPERIMENTAL UNIT IS PERMITTED ON 
  EACH DATA RECORD.  THERE MAY BE AN ARBITRARY ARRANGEMENT OF DATA; THE 
  INPUT NEED NOT BE IN ANY SPECIFIC ORDER.
  
       COL.     VARIABLE   FORMAT   DESCRIPTION 
  
  HEADER      01-72    --         36A2     FREE TEXT
  
  PARAMETER   01       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              02-03    IT         I2       # OF TREATMENTS (IT < OR =30)
              04-05    IB         I2       NUMBER OF BLOCKS (IB < OR =30) 
              06-07    N          I2       NUMBER OF OBSERVATIONS IN EACH 
                                           SUBSAMPLE
  
  TITLE       01-12    IEFF       6A2      FREE TEXT ID OF TREATMENTS 
              13-24    IBLK       6A2      FREE TEXT ID OF BLOCKS 
  
  DATA        --       I          --       TREATMENT NUMBER 
              --       J          --       BLOCK NUMBER 
              --       X          --       OBSERVATION
  
  D.S.D.      --       I          --       DATA SET DELIMITER (I=9999)
                                           USED TO TERMINATE READING OF 
                                           A PARTICULAR DATA SET - SAME 
                                           COLUMN AS I IN DATA RECORD.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" ROUTINE IF HE DESIRES. 
X06901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS08 
 **PROGRAM TITLE: 
  TWO-WAY FACTORIAL DESIGN
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE PROGRAM PERFORMS AN ANALYSIS OF VARIANCE FOR A TWO-WAY FACTORIAL
  IN A RANDOMIZED COMPLETE BLOCK DESIGN.  THE F TEST IS FOR A FIXED MODEL.
  EACH REPLICATE MUST BE BALANCED (I.E., THE SAME NUMBER OF OBSERVATIONS
  IS REQUIRED FOR EACH LEVEL OF EACH FACTOR.)  A MAXIMUM OF 20 LEVELS PER 
  FACTOR AND 8 REPLICATES PER LEVEL, CAN BE HANDLED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED PRIOR TO ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 20 LEVELS PER FACTOR AND 8
  REPLICATES PER LEVEL.  THE INPUT DATA MAY BE ENTERED IN ANY FORM, 
  SUBJECT TO AN ORDERING RESTRICTION, THE FORMAT BEING SPECIFIED BY THE 
  USER VIA THE SUBROUTINE READ. 
  
  THE ORDERING RESTRICTION TAKES THE FOLLOWING FORM: IRA IS THE REPLICATE 
  #; I AND J ARE THE LEVELS OF FACTORS A AND B RESPECTIVELY.  THE DATA
  MUST BE ORDERED SO THAT J VARIES FIRST, THEN I, THEN IRA.  FOR EXAMPLE, 
  A SET OF DATA WITH REPLICATES AND TWO LEVELS OF EACH FACTOR WOULD BE
  ORDERED AS FOLLOWS: 
  
            111, 112, 121, 122, 211, 212, 221, 222
  
  IF THE INPUT DATA IS NOT IN CORRECT ORDER, AN ERROR MESSAGE IS PRINTED
  AND EXECUTION IS TERMINATED.
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01-04    IRAP       I4       NUMBER OF REPLICATES 
                                           (1 < OR = IRAP < OR  =8) 
  
              05-08    IFACT      I4       NUMBER OF LEVELS FOR FACTOR A
                                           (1 < OR = IFACT < OR =20)
  
              09-12    JFACT      I4       NUMBER OF LEVELS FOR FACTOR B
                                           (1 < OR = JFACT < OR =20)
  
              13       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
  DATA        01-03    IRA        I3       REPLICATE NUMBER 
              04-06    I          I3       LEVEL OF FACTOR A
              07-09    J          I3       LEVEL OF FACTOR B
              --       X          --       OBSERVATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE IF HE WISHES. 
X07001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS09 
 **PROGRAM TITLE: 
  THREE-WAY FACTORIAL DESIGN
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS A 3-FACTOR FACTORIAL ANALYSIS OF VARIANCE FOR A 
  RANDOMIZED COMPLETE BLOCK DESIGN WITH REPLICATIONS.  THE F STATISTIC
  COMPUTATION ASSUMES A (FIXED EFFECT) MODEL.  A MAXIMUM OF 8 LEVELS
  OF FACTOR A, 8 LEVELS OF FACTOR B, 5 LEVELS OF FACTOR C, AND 8
  REPLICATIONS, CAN BE HANDLED.  MISSING OBSERVATIONS ARE NOT PERMITTED,
  AND THE DESIGN MUST BE BALANCED (I.E., THE SAME NUMBER OF OBSERVATIONS
  IS REQUIRED FOR ALL TREATMENT COMBINATIONS OVER ALL REPLICATES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED PRIOR TO LOADING OF ANY LIBRARY
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM GENERATES THE NECESSARY INFORMATION TO PERFORM A THREE-
  FACTOR FACTORIAL ANALYSIS OF VARIANCE FOR A RANDOMIZED COMPLETE BLOCK 
  DESIGN WITH REPLICATIONS.  THE COMPUTED F STATISTIC ASSUMES A "FIXED
  EFFECT" MODEL.
  
    MODEL:
  
   Y(I,J,K,L) = MU + RHO(I) + ALPHA(J) + BETA(K) + (ALPHA*BETA(JK)) + 
   UPSILON(1) + (ALPHA*UPSILON(JL)) + (BETA*UPSILON(KL)) +
   (ALPHA*BETA*UPSILON(IJKL)) + EPSILON(IJKL);
  
                           I = L,...,R
                           J = L,...,A
                           K = L,...,B
                           L = L,...,C
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 8 LEVELS OF FACTOR A, 8 
  LEVELS OF FACTOR B, 5 LEVELS OF FACTOR C, AND 8 REPLICATIONS.  MISSING
  OBSERVATIONS ARE NOT PERMITTED.  THE DESIGN MUST BE BALANCED ( THE SAME 
  # OF OBSERVATIONS FOR ALL TREATMENT COMBINATIONS OVER ALL REPLICATES).
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY
  THE USER VIA THE READ SUBROUTINE. ONLY ONE TREATMENT COMBINATION FOR ONE
  REPLICATE IS PERMITTED ON A LINE.  THE INPUT DATA MUST ALSO CORRESPOND
  WITH THE FOLLOWING ORDERING RESTRICTION.  LET IRAP = THE REPLICATE
  NUMBER, WHERE IFACT = THE LEVELS OF FACTOR A,  JFACT = THE LEVELS OF
  FACTOR B, AND LFACT = THE LEVELS OF FACTOR C. 
  THEN THE DATA MUST BE ENTERED SUCH THAT 
  LFACT VARIES FIRST, THEN JFACT, IFACT, AND FINALLY LRAP.  THE FOLLOWING 
  SCHEMATIC ILLUSTRATES THE ORDERING OF SUBSCRIPTS: 
  
            1111,1112,1113,...1121,1122,1123,...
  
  IF THE INPUT DATA IS NOT IN THE CORRECT ORDER, THE MESSAGE "DATA OUT
  OF ORDER - JOB ABORTED" IS PRINTED AND EXECUTION IS TERMINATED. 
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01-04    IRAP       I4       NUMBER OF REPLICATES 
                                           (1 < OR = IRAP < OR =8)
  
              05-08    IFACT      I4       NUMBER OF LEVELS OF FACTOR A 
                                           (1 < OR = IFACT < OR =8) 
  
              09-12    JFACT      I4       NUMBER OF LEVELS OF FACTOR B 
                                           (1 < OR = JFACT < OR =8) 
  
              13-16    LFACT      I4       NUMBER OF LEVELS OF FACTOR C 
                                           (1 < OR = LFACT < OR =8) 
  
              17       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
  DATA        --       IRAP       --       REPLICATE NUMBER 
              --       IFACT      --       LEVEL OF FACTOR A
              --       JFACT      --       LEVEL OF FACTOR B
              --       LFACT      --       LEVEL OF FACTOR C
              --       X          --       OBSERVATION
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
 THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE. 
X07101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS53 
 **PROGRAM TITLE: 
  ANALYSIS OF VARIANCE INFORMATION GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  EXPERIMENTAL DESIGN WITH SUBSAMPLING.  THERE MAY BE AN EQUAL OR UNEQUAL 
  NUMBER OF SUBSAMPLES PER EXPERIMENTAL UNIT (TREATMENT-BLOCK 
  COMBINATION).  COMPUTATION OF THE NONCENTRALITY PARAMETER IS INCLUDED 
  IN THE ANALYSIS.  INTERACTION BETWEEN TREATMENTS AND BLOCKS IS NOT
  ASSUMED.  THE PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 7 TREATMENTS 
  AND 7 BLOCKS AND A MAXIMUM OF 99 SUBSAMPLES PER TREATMENT-BLOCK 
  COMBINATION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM GENERATES THE NECESSARY INFORMATION TO PERFORM AN ANALYSIS 
  OF VARIANCE ON A RANDOMIZED BLOCK EXPERIMENTAL DESIGN WITH SUBSAMPLING. 
  THERE MAY BE AN EQUAL OR UNEQUAL NUMBER OF SUBSAMPLES PER EXPERIMENTAL
  UNIT (TREATMENT-BLOCK COMBINATION).  COMPUTATION OF THE NONCENTRALITY 
  PARAMETER IS ALSO INCLUDED IN THE ANALYSIS.  INTERACTION BETWEEN
  TREATMENTS AND BLOCKS IS NOT ASSUMED IN THE ANALYSIS. 
  
  MODEL: Y(I,J,K)=MU + BETA(I) + ALPHA(J) + EPSILON(I,J,K); I=1,2,...,IT
                                                            J=1,2,...,IB
                                                          K=0,1,...N(I,J) 
  
  THE MATRIX SYSTEM A*BETA = Q IS SET UP, AUGMENTED BY THE CONDITION
  SUM(BETA(I)) = 0 AND SOLVED FOR THE BETA(I).  THE ADJUSTED SUMS OF
  SQUARES FOR THE TREATMENTS IS COMPUTED USING THE DOOLITTLE REDUCTION
  ON THE SYSTEM 
  
                      (C11     C12  .  G1)
                      (C21     C22  .  G2)
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 7 TREATMENTS, 7 BLOCKS, 
  AND A MAXIMUM OF 99 SUBSAMPLES PER TREATMENT-BLOCK COMBINATION.  THE
  DATA POINTS MUST BE ENTERED, ONE POINT PER RECORD, AS SPECIFIED BELOW:
  
              COL.     VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72               36A2     FREE TEXT
  
  PARAMETER   01       ISW2       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
  
              02       IT         I1       NUMBER OF TREATMENTS 
                                           (IT < OR =7) 
  
              03       IB         I1       NUMBER OF BLOCKS (IB NOT =7) 
  
  DATA (ONE SET 
  FOR EACH TREATMENT- 
  BLOCK CELL) 
  
  FIRST      01-02     N(I,J)     I2       NUMBER OF SUBSAMPLES IN THE
  RECORD                                   CELL (I,J) [THE ITH TREATMENT
                                           AND THE JTH BLOCK] 
  
  NEXT N     01-08     ZI         F8.0     OBSERVATIONS (1 PER RECORD 
  (I,J) CARDS                              PUNCH DECIMAL, MUST HAVE 99
                                           OR LESS FOR CELL (I,J))
  
  NOTE:  STARTING WITH THE FIRST TREATMENT, THE SETS OF DATA SHOULD BE
         READ IN THE FOLLOWING ORDER:  CELL (1,1) CELL (1,2),...., CELL 
         (1,IB),  THUS, ALL THE CELLS FOR TRETMENT 1 ARE READ IN, THEN
         ALL THE CELLS FOR TREATMENT 2, ETC.. THEREFORE, THE ORDER IS:
  
                           N(1,1) 
                           CELL(1,1)
                              . 
                              . 
                              . 
                           CELL(1,IB) 
                           N(2,1) 
                           CELL(2,1)
                           CELL(2,2)
                              . 
                              . 
                              . 
                           CELL(2,IB) 
                           N(3,1) 
                           CELL(3,1)
                              . 
                              . 
                              . 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X07201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS03 
 **PROGRAM TITLE: 
  DUNCAN'S MULTIPLE RANGE TEST
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES ALL STATISTICS AND TESTS INVOLVED IN DUNCAN'S 
  MULTIPLE RANGE TEST WITH EQUAL OR UNEQUAL READINGS PER GROUP.  THE
  INPUT DATA CAN EITHER BE THE MEANS AND THE MEAN SQUARE ERROR, OR THE
  OBSERVATIONS THEMSELVES.  IN THE LATER CASE, AN ANALYSIS OF VARIANCE
  FOR A COMPLETELY RANDOMIZED DESIGN IS PERFORMED.  SIGNIFICANCE  LEVELS
  OF EITHER 0.05 OR 0.01 CAN BE SELECTED.  A MAXIMUM OF 100 TREATMENTS
  CAN BE HANDLED, WITH AN EQUAL OR UNEQUAL NUMBER OF OBSERVATIONS PER 
  TREATMENT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED BEFORE ANY LIBRARY SUBROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 100 TREATMENTS WITH AN
  EQUAL OR UNEQUAL NUMBER OF OBSERVATIONS PER TREATMENT.  RAW DATA MUST 
  BE ENTERED AS A COMPLETELY RANDOMIZED DESIGN.  IT IS ASSUMED THAT NONE
  OF THE TREATMENT MEANS ARE NUMERICALLY EQUAL. 
  
                    COL.     VARIABLE   FORMAT    DESCRIPTION 
                    ----     --------   ------    ----------- 
  DUNCAN'S TABLE    SEE      XT(I,J)    F5.2      TABULAR VALUES OF 
                    TABLE                         DUNCAN'S TABLE AT THE 
                                                  0.05 AND 0.01 LEVEL OF
                                                  SIGNIFICANCE
  
  HEADER            01-72    --         36A2      FREE TEXT 
  
  PARAMETER         01       ISW2       I1        =0: CALL EXIT 
                                                  ELSE: BATCH RUN 
                    02-04    NSETS      I3        NUMBER OF TREATMENTS OR 
                                                  SETS OF DATA (NSETS </= 
                                                  99) 
                    05-09    SLVL       F5.3      SIGNIFICANCE LEVEL DE-
                                                  SIRED (0.05 OR 0.01)
                    10       NTYPE      I1        =0: INPUT I DATA POINTS 
                                                  ELSE: INPUT IS PRE- 
                                                  COMPUTED TREATMENT MEANS
                    11-20    DFSUM      F10.4     =0: NTYPE=0 
                                                  ELSE; ERROR MEAN SQUARE 
  
  DATA (USED ONLY WHEN
  NTYPE = 0 
  RECORD 1          01                            BLANK 
                    02-21                         FREE TEXT FOR TREATMENT 
                                                  NAME
  
  RECORD 2          01-03    NPNT       I3        NUMBER OF DATA POINTS 
                                                  FOR THIS TREATMENT
                                                  (NPNT </= 999)
  RECORD 3          --       X          --        OBSERVATION FOR THE JTH 
                                                  TREATMENT 
     .
     .
     .
      REPEAT FOR ALL TREATMENT SETS 
  
  DATA (USED ONLY WHEN
  NTYPE NOT EQUAL TO 0) 
  
                    --       PNTS        --       SAMPLE SIZE USED IN 
                                                  COMPUTING MEANS 
                                                  (PNTS </= 999)
                    --       XMEAN (I)   --       VALUE OF THE ITH
                                                  TREATMENT MEAN
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X07301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS27 
 **PROGRAM TITLE: 
  PAIRED T-TEST 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE STUDENT'S T-TEST FOR PAIRED OBSERVATIONS APPLIES TO THE CASE OF TWO 
  SAMPLES IN WHICH THE OBSERVATIONS OF ONE SAMPLE MAY BE LOGICALLY
  RELATED OR PAIRED (IN TIME OR SPACE), ITEM BY ITEM, WITH THE OBSERVA- 
  TIONS OF THE SECOND SAMPLE.  THE PROGRAM CALCULATES POINT ESTIMATES 
  (MEAN, STANDARD DEVIATION, STANDARD ERROR OF THE MEAN) FOR BOTH SAMPLES,
  THEN CALCULATES THE POINT ESTIMATES AND VALUE OF STUDENT'S (T) ON THE 
  DIFFERENCE BETWEEN SAMPLES.  THE VALUE OF STUDENT'S (T) IS COMPUTED FOR 
  A SPECIFIED LEVEL OF CONFIDENCE, 0.90, 0.95, OR 0.99.  A MAXIMUM OF 
  600 UNWEIGHTED (X,Y) DATA PAIRS CAN BE HANDLED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED PRIOR TO ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 600 UNWEIGHTED (X,Y) DATA PAIRS.
  THE VALUE OF THE STUDENT'S T AT A SPECIFIED LEVEL OF CONFIDENCE DEPENDS 
  ON THE ASSUMPTION OF NORMALITY.  THE USER MAY ENTER THE INPUT DATA IN 
  ANY FORM, SUBJECT TO AN ORDERING RESTRICTION, THE FORMAT BEING SPECIFIED
  BY THE USER VIA THE READ SUBROUTINE.  THE USER MUST ENTER HIS INPUT DATA
  PAIRS IN THE FOLLOWING ORDER: 
  
       (X1(1),X2(1)), (X1(2),X2(2)),..., (X1(I),X2(I)),...
  
       WHERE:  X1(I) = THE ITH VALUE OF SAMPLE A
               X2(I) = THE ITH VALUE OF SAMPLE B
  
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NPRS      I3      NUMBER OF (X,Y) DATA PAIRS,
                                           (NPRS </= 600) 
  
                05-08    CLVL      F4.2    SPECIFIED CONFIDENCE LEVEL 
                                           (0.90, 0.95 OR 0.99) 
  
  DATA          --       X1(I)     --      ITH VALUE OF FIRST SAMPLE IN A 
                                           (X,Y) DATA PAIR. 
  
                --       X2(I)     --      ITH VALUE OF SECOND SAMPLE IN A
                                           (X,Y) DATA PAIR. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE IF DESIRED. 
X07401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS28 
 **PROGRAM TITLE: 
  BARTLETT'S HOMOGENEITY OF VARIANCE TEST 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM TESTS THE HYPOTHESIS THAT THE ESTIMATE VARIANCE FROM (K) 
  SAMPLES IS HOMOGENEOUS.  A ONE-SIDED ALTERNATIVE AT THE 0.95 CONFIDENCE 
  LEVEL IS USED AS THE TEST STATISTIC; THAT IS, IF THE CALCULATED CHI-
  SQUARE VALUE EXCEEDS THE TABULAR VALUE OF CHI-SQUARE AT THE DESIGNATED
  PROBABILITY.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE MAIN PROGRAM AND SUBROUTINES MUST BE LOADED PRIOR TO ANY LIBRARY
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM WILL TEST THE HYPOTHESIS THAT THE ESTIMATED VARIANCE FROM
  K SAMPLES ARE HOMOGENOUS.  A ONE-SIDED ALTERNATIVE AT THE 0.95 CONFI- 
  DENCE LEVEL IS USED AS THE TEST STATISTIC; THAT IS, IF THE CALCULATED 
  CHI-SQUARE VALUE EXCEEDS THE TABUALR VALUE OF CHI-SQUARE AT THE 
  DESIGNATED PROBABILITY OF A TYPE I ERROR, 0.05, THE ASSUMPTION OF 
  HOMOGENEOUS OR CONSTANT VARIANCES OVER THE K SAMPLES IS REJECTED. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 10 SAMPLES.  SAMPLE 
  SIZES NEED NOT BE BALANCED; I.E., THE USER MAY SPECIFY AN UNEQUAL 
  NUMBER OF OBSERVATIONS FOR EACH SAMPLE.  THE TOTAL NUMBER OF OBSERVA- 
  TIONS OVER ALL SAMPLES MUST BE LESS THAN OR EQUAL TO 900.  THE INPUT
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER 
  VIA THE READ SUBROUTINE.
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 10 SAMPLES.  SAMPLE 
  SIZES NEED NOT BE BALANCED; I.E., THE USER MAY SPECIFY AN UNEQUAL 
  NUMBER OF OBSERVATIONS FOR EACH SAMPLE.  THE TOTAL NUMBER OF OBSERVA- 
  TIONS OVER ALL SAMPLES MUST BE LESS THAN OR EQUAL TO 900.  THE INPUT
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER 
  VIA THE READ SUBROUTINE.
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72              36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-03    K         I2      NUMBER OF SAMPLES (K<10) 
  
                04-07    N(1)      I4      SIZE OF THE FIRST SAMPLE 
                         .
                         .
                         .
                20-23    N(K)      I4      SIZE OF THE KTH SAMPLE 
    DATA        --       X(I)      --      OBSERVATIONS CORRESPONDING TO
    1,....,J                               THE FIRST SAMPLE OF SIZE N(1)
                                           (I = 1,....,N(1))
  
  J+1,....,K    --       X(I)      --      OBSERVATIONS CORRESPONDING TO
                         .                 THE SECOND SAMPLE OF SIZE N(2) 
                         ./R               (I=N(1)+1,....,N(2)) 
                         .
    1,....,M    --       X(I)      --      OBSERVATIONS CORRESPONDING TO
                                           THE KTH SAMPLE OF SIZE N(K)
                                           (I=N(K)-1,....,N(K)) 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY CHOOSE TO SUPPLY HIS OWN "READ" SUBROUTINE.
X07501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS35 
 **PROGRAM TITLE: 
  KOLMOGOROV - SMIRNOV GOODNESS OF FIT TEST 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  FOR A MAXIMUM OF 999 DATA POINTS, THIS PROGRAM PERFORMS THE KOLMOGOROV- 
  SMIRNOV GOODNESS-OF-FIT TEST FOR A SPECIFIED PROBABILITY DISTRIBUTION.
  THE SOURCE DATA CAN BE TESTED FOR FIT AGAINST ANY OF THE FOLLOWING
  FUNCTIONS:  BINOMIAL, CHI-SQUARE, F, NORMAL, POISSON, OR STUDENT'S (T)
  (SEE HP22143 FOR ANY OF THESE FUNCTIONS).  THE USER HAS THE OPTION OF 
  (A) SPECIFYING THE NUMBER OF CLASS INTERVALS, (B) LETTING THE PROGRAM 
  GENERATE CLASS INTERVALS BY USE OF STURGE'S RULE, OR (C) SPECIFYING THE 
  NUMBER OF INTERVALS AND UPPER BOUNDS OF EACH INTERVAL.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF 999 DATA POINTS.  THE INPUT DATA
  MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA
  THE READ SUBROUTINE.
  
  ONCE A PARTICULAR PROBABILITY DISTRIBUTION HAS BEEN CHOSEN, THE 
  FOLLOWING "POPULATION PARAMETER" ESTIMATES ARE REQUIRED:
  
  (1)  BINOMIAL DISTRIBUTION
  
       PARM1 = PROBABILITY OF SUCCESS FOR EACH TRIAL
       PARM2 = 0.0
       PARM3 = 0.0
  
  (2)  CHI-SQUARE DISTRIBUTION
  
       PARM1 = DEGREES OF FREEDOM 
       PARM2 = 0.0
       PARM3 = 0.0
  
  (3)  F DISTRIBUTION 
  
       PARM1 = DEGREES OF FREEDOM FOR THE NUMERATOR 
       PARM2 = DEGREES OF FREEDOM FOR THE DENOMINATOR 
       PARM3 = 0.0
  
  (4)  NORMAL DISTRIBUTION
  
       PARM1 = SAMPLE MEAN
       PARM2 = SAMPLE STANDARD DEVIATION
       PARM3 = TOLERANCE FOR CORRECT PROBABILITY VALUES (0.001 OR 0.0001) 
  
  (5)  POISSON DISTRIBUTION 
  
       PARM1 = (NUMBER OF OBSERVATIONS)X(PROBABILITY OF SUCCESS ON ANY
               ONE TRIAL) 
       PARM2 = 0.0
       PARM3 = 0.0
  
  (6)  STUDENT'S T DISTRIBUTION 
  
       PARM1 = DEGREES OF FREEDOM 
       PARM2 = 0.0
       PARM3 = 0.0
  
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NPNT      I3      NUMBER OF DATA POINTS
                                           (NPNT </= 999) 
  
                05-06    NTRVL     I2      =0: NUMBER OF INTERVALS SET BY 
                                           STURGES' RULE
  
                                           =1: NUMBER OF INTERVALS AND
                                               UPPER BONDS ARE READ IN
  
                                           1: DESIRED NUMBER OF INTERVALS 
                                              (NTRVL </= 99)
  
                07-14    CV*       F8.4    =0: NPNT >/= 35
                                           NOT=0: NPNT < 35 
  
                15-22    SLVL      F8.4    SIGNIFICANCE LEVEL CORRESPOND- 
                                           ING TO VALUE OF CV 
  
  *CV = CRITICAL VALUE FROM PUBLISHED TABLES.  SEE OSTLE, B., STATISTICS
        IN RESEARCH, 2ND ED., P. 560. 
  
  DISTRIBUTION 01        --        --      BLANK
               02-21     NCOMT     10A2    IDENTIFICATION 
               22-33     PARM1     F12.4   POPULATION PARAMETER 
               34-45     PARM2     F12.4   ESTIMATES - SEE ABOVE
               46-57     PARM3     F12.4
  
  DATA         --        X(I)      --      INPUT DATA POINTS
  
  *INTERVAL    01-02     NTRVL     I2      DESIRED NUMBER OF INTERVALS
                                           (NTRVL </= 99) 
  
  **UPPER 
    BOUND      --        XU(I)     --      UPPER BOUND FOR THE INTERVALS
                                           (I = 1, NTRVL).  FORMAT SET IN 
                                           READ SUBROUTINE. 
  
  *USED ONLY WHEN NTRVL = 1 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MUST SUPPLY A "READ" SUBROUTINE TO ENTER DATA, AND A TEST FOR
  FIT VIA THE SUBROUTINE "EXPEC".  EXPEC MAY BE BINOMIAL, CHI-SQUARE, F,
  NORMAL, POISSON OR STUDENT'S T SUBROUTINE.
X07601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS36 
 **PROGRAM TITLE: 
  CHI-SQUARE GOODNESS OF FIT
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS THE CHI-SQUARE GOODNESS-OF-FIT TEST, AND COMPUTES 
  THE CHI-SQUARE VALUE OF THE TEST, FOR ANY OF THE FOLLOWING FUNCTIONS: 
  BINOMIAL, CHI-SQUARE, F, NORMAL, POISSON, STUDENT'S (T).  THE USER HAS
  THE OPTION OF SPECIFYING THE UPPER AND LOWER BOUNDS FOR A GIVEN NUMBER
  OF INTERVALS, OR OF READING IN THE END  POINTS OF EACH INTERVAL.  A 
  MAXIMUM OF 1,000 DATA POINTS CAN BE HANDLED.  HP PROGRAM 22143, CLASSI- 
  FICATION CODE A408, CAN BE USED TO FURNISH THE SOURCE DATA. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENT WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 1000 DATA POINTS.  THE
  INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY
  THE USER VIA THE READ SUBROUTINE. 
  
  ONCE A PROBABILITY DISTRIBUTION HAS BEEN SELECTED, "POPULATION
  PARAMETER" ESTIMATES ARE REQUIRED (SEE ENCLOSURE).  NOTE THAT IF THE
  NORMAL DISTRIBUTION IS SPECIFIED AS THE "TEST PDF" AND A STANDARD NORMAL
  TRANSFORM OF AN INDIVIDUAL DATA POINT EXCEEDS +/-6 FROM THE SAMPLE MEAN,
  THE STABILITY OF CONVERGENCE IN FUNCTION ANORM (A40-22143) IS NOT 
  GUARANTEED. 
  
  GIVEN A SPECIFIED PROBABILITY DISTRIBUTION, THE APPROPRIATE FORM OF 
  SUBROUTINE CDF SHOULD BE SELECTED.  SUBROUTINE CDF SUBSEQUENTLY CALLS A 
  SUBPROGRAM FROM A408-22143 AND RESTRICTIONS INVOLVING THE VARIOUS 
  PARAMETERS FOR THE PROBABILITY DISTRIBUTION SUBPROGRAM CAN BE FOUND IN
  THE DOCUMENTATION OF A408-22143.
  
  (1)  BINOMIAL DISTRIBUTION
  
           SUBROUTINE CDF (NTRVL, P1, P2, ENDPT, EF)
           DIMENSION ENPDT(1),EF(1) 
           XL=ENDPT(1)
           PL=BINOM(XL,NTRVL,P1)
           DO 100 I=1, NTRVL
           XU=ENDPT(I+1)
           PU=BINOM(XU,NTRVL,P1)
           EF(I)=PU-PL
       100 PL=PU
           RETURN 
           END
  
  (2)  CHI SQUARE DISTRIBUTION
  
           SUBROUTINE CDF (NTRVL,P1,P2,ENDPT,EF)
           DIMENSION ENDPT(1),EF(1) 
           TOL=0.0001 
           XL=ENDPT(1)
           PL=CHIFN (P1,XL,TOL) 
           DO100 I=1, NTRVL 
           XU=ENDPT(I+1)
           PU=CHIFN (P1,XU,TOL) 
           EF(I)=PU-PL
       100 PL=PU
           RETURN 
           END
  
  (3)  F DISTRIBUTION 
  
           SUBROUTINE CDF (NTRVL,P1,P2,ENDPT,EF)
           DIMENSION ENDPT(1),EF(1) 
           XL=ENDPT(1)
           PL=FPROB (P2,P1,XL)
           DO 100 I=1, NTRVL
           XU=ENDPT(I+1)
           EF(I)=PU-PL
       100 PL=PU
           RETURN 
           END
  
  (4)  NORMAL DISTRIBUTION
  
           SUBROUTINE CDF (NTRVL,P1,P2, ENDPT,EF) 
           DIMENSION ENDPT(1),EF(1) 
           TOL=0.0001 
           XL=(ENDPT(1)-P1)/P2
           PL=ANORM (XL,TOL)
           DO 100 I=1, NTRVL
           XU=(ENDPT(I+1)-P1)/P2
           PU=ANORM (XU,TOL)
           EF(I)=PU-PL
       100 PL=PU
           RETURN 
           END
  
  POPULATION PARAMETERS 
  
  1.  BINOMIAL DISTRIBUTION 
  
      PARM1 = PROBABILITY OF SUCCESS FOR EACH TRIAL 
      PARM2 = 0.0 
      PARM3 = 0.0 
  
  2.  CHI-SQUARE DISTRIBUTION 
  
      PARM1 = DEGREES OF FREEDOM
      PARM2 = 0.0 
      PARM3 = 0.0 
  
  3.  F DISTRIBUTION
  
      PARM1 = DEGREES OF FREDOM FOR THE NUMERATOR 
      PARM2 = DEGREES OF FREEDOM FOR THE DENOMINATOR
      PARM3 = 0.0 
  
  4.  NORMAL DISTRIBUTION 
  
      PARM1 = SAMPLE MEAN 
      PARM2 = SAMPLE STANDARD DEVIATION 
      PARM3 = TOLERANCE FOR CORRECT PROBABILITY VALUES (0.001 OR 0.0001)
  
  5.  POISSON DISTRIBUTION
  
      PARM1 = (NUMBER OF OBSERVATIONS)X(PROBABILITY OF SUCCESS ON ANY ONE 
              TRIAL)
      PARM2 = 0.0 
      PARM3 = 0.0 
  6.  STUDENT'S T DISTRIBUTION
  
      PARM1 = DEGREES OF FREEDOM
      PARM2 = 0.0 
      PARM3 = 0.0 
  
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-05    NPNT      I4      NUMBER OF DATA POINTS
                                           (1 </= NPNT </= 1000)
  
                06-09    NTRVL     I4      NUMBER OF INTERVALS DESIRED
                                           (2 </= NTRVL </= 50) 
  
                10-17    FBND      F8.0    LOWER BOUND FOR INTERVALS
                                           (OPTIONAL) 
  
                18-25    UBND      F8.0    UPPER BOUND FOR INTERVALS
                                           (OPTIONAL) 
  
                26-33    P1        F8.0    PROBABILITY DISTRIBUTION PARA- 
                                           METERS (SEE SPECIAL SECTION
                                           "POPULATION PARAMETERS"
                                           ENCLOSURE) 
  
  DATA          --       X(I)      --      INPUT DATA POINTS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY DEFINE AN INPUT SUBROUTINE READ AND MUST DEFINE A PROBABI- 
  LITY DISTRIBUTION SUBROUTINE CDF (CDF MAY BE ONE OF THE FOLLOWING:
  (1) BINOMIAL, (2) CHI-SQUARE, (3) F, (4) NORMAL, (5) POISSON, OR
  (6) STUDENT'S T.) 
X07701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS38 
 **PROGRAM TITLE: 
  TESTS OF HYPOTHESIS FOR VARIANCES 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE PROGRAM TESTS FOR ONE OF THE FOLLOWING: 
  
  A.  WHETHER THE VARIANCE OF A NORMAL POPULATION EQUALS A SPECIFIED
      VARIANCE. 
  
  B.  WHETHER THE VARIANCES ARE EQUAL, PROVIDING BOTH COME FROM A NORMAL
      POPULATION. 
  
  RESULTS ARE DETERMINED WITH A 95-PERCENT CONFIDENCE INTERVAL.  A
  MAXIMUM OF 500 (X,Y) DATA PAIRS OR 1,000 DATA POINTS CAN BE HANDLED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE MAIN PROGRAM AND SUBROUTINES MUST BE LOADED PRIOR TO ANY LIBRARY
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  IN ORDER TO TEST S**2=S(0)**2, SET NX = NUMBER OF DATA POINTS AND 
  NY = 0.  IF TWO SETS OF DATA ARE REQUIRED (E.G., TO TEST S(1)**2 =
  S(2)**2) THE DATA POINTS MUST BE READ IN THE FOLLOWING ORDER: 
  
       X(1),X(2),...,X(I),...X(NX),Y(1),Y(2),...,Y(J),...Y(NY). 
  
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
                 COL.     VARIABLE  FORMAT  DESCRIPTION 
  
  HEADER         01-72              36A2    FREE TEXT 
  
  PARAMETER      01       ISW2      I1      =0: CALL EXIT 
                                            NOT=0: BATCH RUN
  
                 02       NTEST     I1      =0: TEST IS S**2=S(0)**2
                                            NOT=0: TEST IS S**2=S(2)**2 
  
                 03-05    NX        I3      NUMBER OF 'X' DATA POINTS 
                                            (NX </= 500 IF NTEST NOT=0, 
                                            OTHERWISE, NX </= 1000) 
  
                 06-08    NY        I3      NUMBER OF 'Y' DATA POINTS 
                                            (NY </=500 IF NTEST NOT=0,
                                            OTHERWISE, NY = 0)
  
                 09-16    P         F8.3    =0: NTEST NOT=0 
                                            NOT=0: VALUE OF S(0)**2 
  
  DATA           ---      X(I)      ---     INPUT DATA POINTS - THE SECOND
                          AND/OR            SET OF INPUT DATA POINTS (WHEN
                          Y(I)              TESTING S(1)**2 = S(2)**2 
                                            FOLLOWS THE FIRST SET.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY SUPPLY HIS OWN "READ" SUBROUTINE TO INPUT DATA.
X07801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS39 
 **PROGRAM TITLE: 
  TESTS OF HYPOTAESIS FOR MEANS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM TESTS (A), WHETHER A MEAN OF A NORMAL POPULATION EQUALS
  A SPECIFIED VALUE OR (B), WHETHER THE MEANS ARE EQUAL (PROVIDING BOTH 
  COME FROM A NORMAL POPULATION).  RESULTS ARE DETERMINED WITH A
  CONFIDENCE INTERVAL OF 0.90, 0.95 OR 0.99.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE "READ" SUBROUTINE MUST BE LOADED PRIOR TO ANY LIBRARY ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL RESEMBLE CARD INPUT REQUIREMENTS. 
  
  TO TEST M = M(O), SET NX = NUMBER OF DATA POINTS (NX </= 1600) AND
  NY = 0.  TO TEST M(1) = M(2), SET NX = NUMBER OF DATA POINTS OF THE 
  FIRST SET (NX </= 800) AND  NY = NUMBER OF DATA POINTS OF THE SECOND
  SET (NY</=800).  THIS PROGRAM WILL THEN READ THE DATA POINTS IN THE 
  FOLLOWING ORDER:
  
       X(1), X(2), ..., X(NX), Y(1), Y(2), ..., Y(NY) 
  
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
                COL.     VARIABLE  FORMAT  DESCRIPTION
  
  HEADER        01-72    --        36A2    FREE TEXT
  
  PARAMETER     01       ISW2      I1      =0: CALL EXIT
                                           NOT=0: BATCH RUN 
  
                02-04    NX        I3      NUMBER OF 'X' DATA POINTS
                                           (NX </= 1600 IF NTEST NOT=0) 
  
                05-07    NY        I3      NUMBER OF 'Y' DATA POINTS
                                           (NY = 0) IF NTEST NOT=0, 
                                           OTHERWISE, NY </= 800) 
  
                08       NTEST     I1      =0: TEST IS M(1) = M(2)
                                           NOT=0: TEST IS M = M(0)
  
                09-13    CLVL      F5.2    CONFIDENCE INTERVAL (0.90, 
                                           0.95 OR 0.99)
  
                14-21    XMEAN     F8.0    =0: NTEST = 0
                                           NOT=0: VALUE OF M(O) 
  
  DATA          --       X(I) &/OR --      X(I) = THE FIRST SET OF DATA 
                         Y(I)              POINTS AND Y(I) = THE SECOND 
                                           SET OF DATA POINTS, FOLLOWS THE
                                           FIRST SET WHEN TESTING M(1) =
                                           M(2) 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY ELECT TO SUPPLY HIS OWN "READ" SUBROUTINE TO INPUT DATA. 
X07901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS16 
 **PROGRAM TITLE: 
  X-Y PLOTTER ON PRINTER
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    GRAPHIC         PLOTTER         PRINTER 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  THIS ROUTINE PRODUCES GRAPHS ON A TELEPRINTER.  AN X ARRAY IS SCALED
  TO SUIT THE PRINTED GRAPH, AND IS PLOTTED AGAINST EITHER THE ELEMENT
  NUMBERS IN THE ARRAY OR AGAINST ANOTHER ARRAY, Y.  EACH DATA POINT IS 
  MARKED ON THE GRAPH AS A LETTER (X) AND THE COORDINATES OF THE POINT
  ALSO ARE PRINTED.  THE ROUTINE CAN START AT ANY POINT IN THE ARRAY, 
  AND THE OUTPUT CAN BE EITHER A PRINT PLOT OR A BAR PLOT.  A MAXIMUM 
  OF 200 (X,Y) DATA PAIRS CAN BE ACCEPTED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE PROGRAM AND SUBROUTINE MUST BE LOADED WITH ANY LIBRARY ROUTINES.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  THIS ROUTINE WILL ACCEPT A MAX OF 200 (X,Y) DATA PAIRS.  THE INPUT
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE
  USER VIA THE READ SUBROUTINE. 
  
              COL      VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72    --         36A2     FREE TEXT
  
  PARAMETER   01       ISW1       I1       =0: POINT OUTPUT 
                                           =1: BAR OUTPUT 
              02       ISW2       I1       =0: 2 LINES PER ELEMENT
                                           =1: 1 LINE PER ELEMENT 
              03       ISW3       I1       =0: X PLOTTED VS. ELEMENT
                                               NUMBER 
                                           =1: X PLOTTED VS. Y
              04       ISW4       I1       =0: CALL EXIT
                                           NOT =0: BATCH RUN
              05       ISW5       I1       DEFINED AS 0 
              06-09    N          I4       NUMBER OF ELEMENTS IN X ARRAY
              10       CHARA      A1       PLOTTING CHARACTER (MAY BE +,
                                           *, ETC.) 
  DATA (ONE RECORD
  FOR EACH (X,Y) PAIR)
              --       X(I)       --       X VALUE TO BE PLOTTED
              --       Y(I)       --       Y VALUE TO BE PLOTTED
  
  NOTE:A SUBROUTINE VERSION OF THE X,Y PLOTTER IS EXECUTED BY THE 
       CALL STATEMENT:
  
                     CALL PTSCL  (X,Y,N,NAME,ISW,CHARA,MIN) 
  
       PARAMETER     TYPE     DESCRIPTION 
  
       X             REAL     X ARRAY TO BE PLOTTED 
  
       Y             REAL     Y ARRAY TO BE PLOTTED 
       N             INTEGER  NUMBER OF ELEMENTS IN X ARRAY 
  
       NAME          INTEGER  TABLE HEADING 
  
       ISW(1-5)      INTEGER  SWITCHES
  
       CHARA         REAL     PLOTTING CHARACTER
  
       MIN           INTEGER  STARTING POINT IN PLOTTING X ARRAY
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY CHOOSE TO SUPPLY HIS OWN "READ" SUBROUTINE TO INPUT DATA.
X08001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SPLTR 
 **PROGRAM TITLE: 
  TIME SERIES PLOTTER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    GRAPHIC         PLOTTER         PRINTER 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  AVAILABLE IN FUNCTION FORM, THIS SUBPROGRAM PLOTS FIXED-POINTS INTEGERS 
  ON THE TELEPRINTER.  IF THE VALUE OF THE INTEGER IS FROM 0 TO 50, THE 
  POINT APPEARS AS AN ASTERISK, THE DISTANCE FROM THE LEFT MARGIN OF THE
  PAGE BEING PROPORTIONATE TO THE VALUE OF THE POINT.  IF THE VALUE IS
  OVER 50, THE INTEGER ITSELF IS PRINTED IN NUMERICAL FORM AT THE RIGHT 
  HAND EDGE OF THE PAGE.  SUCCESSIVE DATA POINTS ARE PLOTTED ON SUCCESSIVE
  LINES DOWN THE PAGE.
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  (VARIABLE) - SPLTR(N)  WHERE N IS RETURNED TO THE MAINLINE PROGRAM
                         UNCHANGED. 
  
  PARAMETER     TYPE     DESCRIPTION
  
     N          INTEGER  IF 0 < OR = N < OR = 100, N WILL BE REPRESENTED
                         AS AN ASTERISK.
  
                         IF N > 100, THE VALUE OF THE INTEGER WILL BE 
                         PRINTED IN THE EXTREME RIGHT HAND SIDE OF THE
                         OUTPUT.
  
                         IF N=-999, A HEADER ARRAY IS PRINTED AND THIS
                         SHOULD EITHER BE DONE ON THE FIRST OR A LAST 
                         CALL.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS19 
 **PROGRAM TITLE: 
  HISTOGRAM PLOTTER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    GRAPHIC         PLOTTER         PRINTER 
    STATISTICS
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM SORTS A SINGLE DIMENSION FLOATING POINT ARRAY INTO 
  ASCENDING SEQUENCE, AND (A) PRODUCES A HISTOGRAM OF THE DATA POINTS 
  ON THE TELEPRINTER OR LINE PRINTER, OR (B) FURNISHES THE FREQUENCY
  DISTRIBUTION OF DATA POINTS, OR (C) PRODUCES BOTH A HISTOGRAM AND A 
  FREQUENCY DISTRIBUTION. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  THE MAIN PROGRAM AND SUBROUTINES MUST BE LOADED PRIOR TO ANY LIBRARY
  ROUTINES. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPES
  INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS. 
  
              COL.   VARIABLE   FORMAT   DESCRIPTION
  
  HEADER      01-72  --         36A2     FREE TEXT
  
  PARAMETER   01-04  N          I4       NUMBER OF DATA POINTS
                                         (N < OR =400)
  
              05     ISW1       I1       =0: FREQUENCY DISTRIBUTION 
                                         =1: HISTOGRAM
                                         =2: FREQUENCY DISTRIBUTION AND 
                                             HISTOGRAM
  
  DATA        --     X(I)       --       DATA POINTS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY CHOOSE TO PROVIDE HIS OWN "READ" SUBROUTINE FOR DATA INPUT.
X08201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UNREF 
 **PROGRAM TITLE: 
  FORTRAN UNIT REFERENCE NUMBER EDITOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    I/O 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM ALLOWS THE USER TO CHANGE THE UNIT REFERENCE NUMBER OF AN
  INPUT/OUTPUT STATEMENT IN A FORTRAN PROGRAM WRITTEN IN HEWLETT-PACKARD
  FORTRAN II. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  NO CONTROL STATEMENT IS ON THE SOURCE TAPE.  USUAL COMPILE, LOAD AND
  RUN PROCEDURES ARE USED.  THE INPUT IS A FORTRAN PROGRAM ON PAPER TAPE
  WHICH IS READ BY THE PHOTOREADER (UNIT REFERENCE NO. 5).  THE NECESSARY 
  INFORMATION IS REQUESTED BY THE TELEPRINTER (UNIT REFERENCE NO. 2)
  AND THE ANSWERS ARE ENTERED ON THE KEYBOARD (UNIT REFERENCE NO. 1)
  IN A CONVERSATIONAL MODE.  THE OUTPUT IS THE MODIFIED FORTRAN PROGRAM 
  WHICH IS PUNCHED ON A HIGH-SPEED PUNCH (UNIT REFERENCE 4).
  
  WHEN AN END STATEMENT IS REACHED ON THE TAPE, A MESSAGE IS PRINTED
  ON THE TELEPRINTER, TEN FEED FRAMES ARE PUNCHED AND THE PROGRAM PAUSES. 
  IF SWITCH 1 IS SWITCHED UP, THE PROGRAM WILL HALT UPON PUSHING RUN. 
  IF SWITCH 2 IS PUSHED UP, UPON PUSHING RUN, THE PROGRAM WILL BE 
  STARTED AND THE INTIAL EDIT QUESTIONS WILL BE REQUESTED AGAIN.  IF
  SWITCHES 1 AND 2 ARE DOWN, WHEN THE RUN BUTTON IS PUSHED, THE NEXT
  PROGRAM SUBPROGRAM WILL BE EDITED ACCORDING TO THE INSTRUCTIONS FOR 
  THE LAST PROGRAM. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IN POSITIONING THE INPUT TAPE IN THE PHOTOREADER, PUT THE LAST FEED 
  FRAME BEFORE THE FIRST NON-NULL CHARACTER ON THE TAPE UNDER THE READ
  HEAD IN ORDER TO INSURE THAT ALL THE CHARACTERS OF THE FIRST LINE ARE 
  READ IF THE FIRST LINE OF THE PROGRAM IS 72 CHARACTERS LONG.
  
  THE FIRST 72 CHARACTERS (INCLUDING FEED FRAMES) READ BY THE READER ARE
  CONSIDERED TO BE THE FIRST LINE.  IF THE NUMBER OF FEED FRAMES AND THE
  NUMBER OF CHARACTERS READ ARE MORE THAN 72, THE LAST PART OF THE FIRST
  LINE WILL BE OMITTED. 
  
  IF THE FIRST STATEMENT OF THE PROG IS SHORT (SAY A PROGRAM STATEMENT
  OR A CONTROL STATEMENT), THIS CRITICAL POSITIONING IS NOT NECESSARY.
  FOR EXAMPLE, IF THERE ARE ONLY 10 CHARS IN THE FIRST LINE, UP TO 62 
  FEED FRAMES CAN BE READ WITH NO ERRORS. 
X08301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  HSTPL 
 **PROGRAM TITLE: 
  HISTOGRAM PLOTTER SUBROUTINE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    GRAPHIC         PLOTTER         STATISTICS
    PRINTER 
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS FORTRAN CALLABLE. 
  
  THIS ROUTINE SORTS A SINGLE-DIMENSION FLOATING POINT ARRAY INTO 
  ASCENDING SEQUENCE, AND (A) PRODUCES A HISTOGRAM OF THE DATA POINTS 
  ON THE TELEPRINTER, OR (B) FURNISHES THE FREQUENCY DISTRIBUTION OF THE
  DATA POINTS, OR (C) PRODUCES BOTH A HISTOGRAM AND A FREQUENCY 
  DISTRIBUTION.  A MAXIMUM OF 400 DATA POINTS CAN BE HANDLED; ANY NUMBER
  OF DUPLICATIONS IS ALLOWED.  (WITH A SLIGHT CHANGE IN THE ROUTINE, MORE 
  THAN 400 POINTS CAN BE PROCESSED.)
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DATA IS SUPPLIED TO THE SUBROUTINE THROUGH PARAMETERS IN THE
  SUBROUTINE CALL FROM THE MAIN PROGRAM.
  
  THIS SUBROUTINE IS DESIGNED TO HANDLE A MAXIMUM OF 400 DIFFERENT VALUES 
  OF THE VARIABLE X (ANY NUMBER OF DUPLICATIONS IS ALLOWED).  IF MORE 
  THAN THIS IS REQUIRED, CHANGE THE DIMENSION OF HIST FROM HIST(400) IN 
  SUBROUTINE HSTPL. 
  
  THE CALLING SEQUENCE FOR THE SUBROUTINE VERSION OF THIS PROGRAM IS: 
  
                 CALL HSTPL  (NAME, N,X,ISW1) 
  
  WHERE:  NAME = HEADER IDENTIFICATION (36A2) 
             N = NUMBER OF OBSERVATIONS IN ARRAY
             X = NAME OF ARRAY
          ISW1 = 0, FREQUENCY DISTRIBUTION
               = 1, HISTOGRAM PLOTTER 
             >/= 2, FREQUENCY DISTRIBUTION AND HISTOGRAM PLOTTER
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  SAMPLE SIZE DETERMINATION TO TEST H(O)
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES THE SAMPLE SIZE, N, TO TEST EITHER H(O): M=M(1) 
  OR H(O): U(1)=U(2) SO THAT THE PROBABILITY OF DETECTING THE SIGNIFICANT 
  DIFFERENCE, A, IS EQUAL TO B.  A PREVIOUS REQUIREMENT IS AN ESTIMATE OF 
  THE POPULATION VARIANCE (FOR U=U(1)) OR FOR THE COMMON VARIANCE 
  (FOR U(1)=U(2)), S**2, BASED ON M DEGREES OF FREEDOM.  THE TABLE USED 
  IN DETERMINING THE SAMPLE SIZE IS READ IN AS DATA.  THE VALUE OF
  K = A**2/S**2 IS COMPUTED, LOCATED IN THE TABLE, AND THE VALUE OF N CAN 
  THEN BE DETERMINED.  THE VALUE OF A, THE PROBABILITY OF REJECTING H(O)
  WHEN IT IS TRUE, IS 0.10 FOR A TWO-TAILED TEST AND 0.05 FOR A ONE-
  TAILED TEST.  THE VALUES DETERMINED FOR B ARE 0.80 AND 0.95.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  TABLES USED TO DETERMINE THE REQUIRED SAMPLE SIZE MUST BE INCLUDED
  WITHIN THE INPUT DATA.  THE USER MUST SPECIFY THE APPROPRIATE DEGREES 
  OF FREEDOM FOR THE ESTIMATE OF VARIANCE.  THIS CHOICE IS RESTRICTED 
  TO THE VALUES 1, 2, 3, 4, 5, 6, 8, 12, 16, 24, OR 32 IF THE DEGREES 
  OF FREEDOM FOR THE SAMPLE VARIANCE IS LESS THAN 35. 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL RESEMBLE THE CARD INPUT REQUIREMENTS.
  
  INPUT REQUIRMENTS   COL.   VARIABLE  FORMAT  DESCRIPTION
  
  (1)HEADER           01-72                    FREE TEXT
  
  (2)INPUT TABLES     *      STAB(I,J)  F4.2   SAMPLE SIZE TABLES FOR PR. 
                                               TYPE II ERROR = 0.80 
  
                      *      STAB(I,J)  F4.2   SAMPLE SIZE TABLES FOR PR. 
                                               TYPE II ERROR = 0.95 
  
  (3)PARAMETERS       01     ISW2       I1     =0: CALL EXIT
                                               NOT =0: BATCH RUN
  
                      02-04  M          I3     DEGREES OF FREEDOM FOR THE 
                                               ESTIMATE OF VARIANCE (SEE
                                               RESTRICTIONS IF M < 35)
  
                      05-14  A          F10.3  SIGNIFICANT DIFFERENCE 
                                               BETWEEN U AND U(1) OR U(1) 
                                               AND U(2) TO BE DETECTED. 
  
                      15-24  STDEV      F10.3  SAMPLE STANDARD DEVIATION
  
  (4)DATA(NOT APPLICABLE) 
  
  
  *THE INPUT TABLES ARE READ USING FORMAT (12(F4.2, 2X))
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  POOLING OF GROUPS IN REGRESSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      LINEAR EQ.
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  DESIGNED TO HANDLE A MAXIMUM OF 15 GROUPS, THIS PROGRAM DETERMINES
  WHETHER SEVERAL GROUPS OF DATA CAN BE POOLED INTO ONE LINEAR REGRESSION.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM IS DESIGNED TO HANDLE A MAXIMUM OF 15 GROUPS.  THE NUMBER
  OF OBSERVATIONS PER GROUP IS NOT RESTRICTED AND NEED NOT BE EQUAL.  ALL 
  (X,Y) DATA PAIRS FOR THE ITH GROUP MUST BE READ BEFORE THE DATA FOR THE 
  JTH GROUP (I<J).  ONE (X,Y) PAIR MAY APPEAR ON ONE RECORD.  THE INPUT 
  DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER 
  VIA THE READ SUBROUTINE.
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL BE SIMILAR TO THE CARD INPUT REQUIREMENTS.
  
  INPUT REQUIREMENTS    COL.   VARIABLE FORMAT DESCRIPTON 
  
  (1)HEADER             01-72                  FREE TEXT
  
  (2)PARAMETERS         01     ISW1       I1   =0: CALL EXIT
                                               NOT =0: BATCH RUN
  
                        02-04  K          I3   NUMBER OF GROUPS (K< OR=15)
  
                        05-08  N(1)       I4   NUMBER OF OBSERVATIONS FOR 
                                               GROUP 1
  
                        09-12  N(2)       I4   NUMBER OF OBSERVATIONS FOR 
                                .              GROUP 2
                                . 
                                . 
                        61-64  N(15)      I4   NUMBER OF OBSERVATIONS FOR 
                                               GROUP 15 
  
  (3)DATA               ---    X          ---  THE ITH X VALUE FOR THE JTH
                                               GROUP
    (1 RECORD/(X,Y)PAIR)---    Y          ---  THE ITH Y VALUE FOR THE JTH
                                               GROUP
  
                                             (GROUP 1 FOLLOWED BY GROUP 2,
                                              ETC.) 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS45 
 **PROGRAM TITLE: 
  MULTIPLE REGRESSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES AN EXTREMELY COMPLETE STATISTICAL ANALYSIS, 
  INCLUDING AN ANALYSIS OF VARIANCE TABLE, FOR ESTIMATING THE COEFFICIENTS
  IN THE FOLLOWING MODEL: 
  
       Y(I) = B(0) + B1X(1I) + B(2)X(2I) + ... + B(K)X(KI)+E(I)(K< OR =9) 
  
  OUTPUT IS IN PRINTED FORM, AND ONLY A SINGLE SET OF DATA CAN BE 
  PROCESSED IN ONE RUN. 
  
  THERE CAN BE NO MORE THAN NINE INDEPENDENT AND ONE DEPENDENT VARIABLE.
  THE NUMBER OF OBSERVATIONS IS RESTRICTED ONLY WHEN THE ONE-PASS OPTION
  IS EXERCISED, AND THEN TO 2,400 OBSERVATION VECTORS FOR 10 VARIABLES. 
  FOR N VARIABLES THERE MUST BE AT LEAST (N+1) OBSERVATION VECTORS.  THE
  ONLY INPUT CONSTRAINT IS THAT THE ITH OBSERVATION VECTOR (Y(I),X(1I), 
  X(2I),...,X(KI)) MUST BE FURNISHED BEFORE THE ITH + 1 VECTOR.  THE
  DEPENDENT VARIABLE CAN BE IN ANY FIELD. 
  
  THERE CAN BE NO MORE THAN NINE INDEPENDENT AND ONE DEPENDENT VARIABLE.
  THE NUMBER OF OBSERVATIONS IS RESTRICTED ONLY WHEN THE ONE-PASS OPTION
  IS EXERCISED, AND THEN TO 2,400 OBSERVATION VECTORS FOR 10 VARIABLES. 
  FOR N VARIABLES THERE MUST BE AT LEAST (N+1) OBSERVATION VECTORS.  THE
  ONLY INPUT CONSTRAINT IS THAT THE ITH OBSERVATION VECTOR (Y(I),X(1I), 
  X(2I),...,X(KI)) MUST BE FURNISHED BEFORE THE ITH + 1 VECTOR.  THE
  DEPENDENT VARIABLE CAN BE IN ANY FIELD. 
  
  EQUIPMENT REQUIRED IS 8K OF CORE STORAGE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THERE CAN BE NO MORE THAN NINE INDEPENDENT AND ONE DEPENDENT VARIABLE.
  THE NUMBER OF OBSERVATIONS IS RESTRICTED ONLY WHEN THE ONE PASS OPTION
  IS EXERCISED, AND THEN, TO 2,400 OBSERVATION VECTORS FOR TEN VARIABLES. 
  FOR N VARIABLES THERE MUST BE AT LEAST (N+1) OBSERVATION VECTORS.  THE
  INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE
  USER VIA THE READ SUBROUTINE.  THE ONLY INPUT CONSTRAINT IS THAT THE
  ITH OBSERVATION VECTOR (Y(I), X(1I), X(2I),..., X(KI) MUST BE INPUT 
  BEFORE THE ITH + 1 VECTOR.  THE DEPENDENT VARIABLE CAN BE IN ANY FIELD. 
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  INPUT REQUIREMENTS WILL BE SIMILAR TO THE CARD INPUT REQUIREMENTS.
  
  INPUT REQUIREMENTS    COL.   VARIABLE FORMAT DESCRIPTION
  
  (1)HEADER             01-72           36A2   HEADER IDENTIFICATION
                                               FREE FIELD 
  
  (2)PARAMETERS         01-03    N      I3     NUMBER OF VARIABLES
                                               (INCLUDE DEPENDENT 
                                               VARIABLE). 
  
                        04-06    M      I3     NUMBER OF OBSERVATIONS 
  
                        07-09    IY     I3     SUBSCRIPT(POSITION ON CARD)
                                               OF DEPENDENT VARIABLE
  
                        10-12    IWT    I3     =0: NO WEIGHTING FACTOR
                                               =1: WEIGHTING FACTOR 
                                               INCLUDED 
  
                        13-22    PROB   I5     PROBLEM NUMBER 
  
                        23       INPUT  I1     =1: ONE PASS OF DATA 
                                               =2: TWO PASSES OF DATA 
                                               (DATA IS THEN READ IN AGAIN
                                               AFTER ANALYSIS OF VARIANCE 
                                               TABLE IS PRINTED).  THIS 
                                               OPTION YIELDS A BACK 
                                               SOLUTION.
  (3)DATA 
  
     A.  IWT=1 (FOR EACH OBSERVATIONAL VECTOR, THERE MUST BE A RECORD WITH
         THE WEIGHTING FACTOR AND ONE WITH THE VARIABLES) 
  
     FIRST CARD         ---      W      ---    WEIGHTING FACTOR FOR EACH
                                               OBSERVATION OF THE KTH 
                                               OBSERVATION VECTOR (PUNCH
                                               DECIMAL) 
  
     SECOND CARD        ---      X(1)    ---   VALUE OF 1ST VARIABLE OF 
                                               KTH OBSERVATION VECTOR 
                                               (PUNCH DECIMAL)
  
                        ---      X(2)    ---   VALUE OF 2ND VARIABLE OF 
                                               KTH OBSERVATION VECTOR 
  
                                               (PUNCH DECIMAL)
                                  . 
                                  . 
                                  . 
                        ---      X(N)    ---   VALUE OF LAST VARIABLE FOR 
                                               KTH OBSERVATION VECTOR 
                                               (PUNCH DECIMAL)
  
     B.  IWT=0 (ONE RECORD FOR EACH OBSERVATION, PUNCH DECIMAL) 
  
                        ---      X(1)    ---   VALUE FOR 1ST VARIABLE FOR 
                                               KTH OBSERVATION VECTOR 
  
                        ---      X(2)    ---   VALUE FOR 2ND VARIABLE FOR 
                                               KTH OBSERVATION VECTOR 
                                  . 
                                  . 
                                  . 
  
                        ---      X(N)    ---   VALUE OF LAST VARIABLE FOR 
                                               KTH OBSERVATION VECTOR 
  
  NOTE:  IF INPUT = 2, THE OBSERVATION VECTOR DATA TAPE MUST BE READ
         AGAIN IN ORDER TO COMPUTE BACK SOLUTIONS.  A SIMPLE METHOD IS TO 
         DUPLICATE THE X(I) DATA AND APPEND THE COPY TO THE ORIGINAL
         DATA TAPE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GCS48 
 **PROGRAM TITLE: 
  MULTIPLE CORRELATION MATRIX 
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS      MATRIX
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM COMPUTES THE MEAN, STANDARD DEVIATION, AND PEARSON'S 
  CORRELATION COEFFICIENT (R) FOR 2 TO 52 VARIABLES.  THERE IS NO LIMIT 
  ON THE NUMBER OF OBSERVATIONS PER VARIABLE.  THE DISTINGUISHING FEATURE 
  OF THE PROGRAM IS THAT THE COMPUTED CORRELATIONS ARE FURNISHED IN 
  MATRIX FORM WITH VARIABLE NUMBERS LISTED, MAKING IT EASY TO IDENTIFY
  VALUES. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM IS DESIGNED TO HANDLE FROM 2 TO 52 VARIABLES WITH NO LIMIT 
  ON THE NUMBER OF OBSERVATIONS PER VARIABLE.  THE INPUT DATA MAY 
  BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED BY THE USER VIA THE
  READ SUBROUTINE.
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS WILL BE SIMILAR TO THE CARD INPUT REQUIREMENTS. 
  
  INPUT REQUIREMENTS  COL.   VARIABLE FORMAT  DESCRIPTION 
  
  )HEADER            01-72                    FREE TEXT 
  
  )PARAMETERS        01       ISW1      I1    =0: CALL EXIT 
                                              NOT =0: BATCH RUN 
  
                     02-04    N         I3    NUMBER OF VARIABLES 
                                              (2 < OR = n < OR = 52)
  
                     05-06    MX1       A2    LAST CARD INDICATOR (=**).
                                              USED TO TERMINATE READING OF
                                              A PARTICULAR DATA SET.
  
  (3)DATA (ONE SET OF RECORDS FOR THE ITH OBSERVATION OVER ALL VARIABLES) 
  
  CARDS 1, ..., I      ---      V(I)      ---   1ST VALUES FOR VARIABLES. 
                                                1, ..., N 
  
  CARDS I+1, ..., J    ---      V(I)      ---   2ND VALUES FOR VARIABLES. 
                                                1, ..., N 
                                 .
                                 .
                                 .
  CARDS 1, .., M       ---      V(I)      ---   NTH VALUES FOR VARIABLES. 
                                                1, ..., N 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X08801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC55B 
 **PROGRAM TITLE: 
  NONLINEAR REGRESSION OF A SINGLE-VARIABLE FUNCTION
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS NONLINEAR LEAST SQUARES REGRESSION ON A SINGLE
  VARIABLE FUNCTION.  THE PROGRAM CAN OPERATE ON ANY REGRESSION MODEL 
  WHICH FORTRAN FUNCTIONS CAN BE WRITTEN FOR EVALUATION OF THE PARTIALS 
  OF THE REGRESSION MODEL WITH RESPECT TO ITS REGRESSION COEFFICIENTS.
  A USER-WRITTEN PROGRAM IS REQUIRED FOR EVALUATION OF THE FUNCTION AND 
  FIRST PARTIALS.  A MAXIMUM OF THREE INDEPENDENT VARIABLES AND ONE 
  DEPENDENT VARIABLE CAN BE HANDLED, AND A MAXIMUM OF 150 (X,Y) DATA PAIRS
  MAY BE ENTERED PER RUN. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF THREE INDEPENDENT VARIABLES,
  ONE DEPENDENT VARIABLE, AND WILL ESTIMATE A MAXIMUM OF SIX REGRESSION 
  PARAMETERS.  A MAXIMUM OF 150(X,Y) DATA PAIRS MAY BE ENTERED PER RUN. 
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
  THE PROGRAM REQUIRES A USER-WRITTEN SUBPROGRAM TO EVALUATE THE FUNCTION 
  AND ITS FIRST PARTIALS.  THE SUBPROGRAM FUNCTION F (INDEX, IH) EVALUATES
  THE FUNCTION INVOLVED IN THE PROGRAM OR ITS PARTIALS WITH RESPECT TO THE
  VARIOUS PARAMETERS.  FOR EXAMPLE, IF THE FUNCTION INVOLVED IS 
  
              F(Y) = A*EXP(B*T) + C*EXP(D*T)
  
  WHERE:  A,B,C, AND D ARE PARAMETERS TO BE ESTIMATED 
  
  FOR INDEX=0, THE FUNCTION EVALUATES THE REGRESSION MODEL WITH RESPECT 
  TO A, B, C, AND D RESPECTIVELY.  IH INDICATES WHICH SET OF X'S TO USE 
  IN THE EVALUATION.
  
  INPUT REQUIREMENTS       C C   VARIABLE FORMAT DESCRIPTION
  
  (1)HEADER CARD           01-72                 FREE TEXT
  
  (2)PARAMETER CARD #1     01-05 NSD       15    TOTAL NUMBER OF SETS OF
                           06-10 NRTH      15    DATA NUMBER OF PARAMETERS
                                                 TO BE ESTIMATED IN 
                                                 REGRESSION MODEL 
                                                 (NRTH < OR =6) 
  
  (3)I.D. CARD             01-72                 FREE TEXT (MAY DENOTE
                                                 NAME OF FUNCTION BEING 
                                                 EVALUATED) 
  
  (4)PARAMETER CARD #2     01-05 NRX       15    NUMBER OF (X,Y) DATA 
                                                 PAIRS IN THE SET (NRX <
                                                 OR =150) 
  
  (5)TOLERANCE CARD        01-14 TOL       E14.8 ACCURACY REQUIREMENT FOR 
                                                 ITERATIONS 
  NOTE:  .10000000E-04 IS USED, ITERATION WILL STOP AS SOON AS 2
         SUCCESSIVE ITERATIONS HAVE IDENTICAL VALUES FOR THE FIRST FOUR 
         SIGNIFICANT NUMBERS. 
  
  (6)ESTIMATE CARDS (ONE CARD FOR EACH PARAMETER) 
  
                           01-14 PARAMETERS 
                                 TO BE     E14.8 INITIAL ESTIMATE OF THE
                                 ESTIMATED       ITH REGRESSION PARAMETER 
  
  (7)DATA CARDS (ONE CARD PER (X,Y) DATA PAIR)
  
                           ---   Y(J)      ---   JTH VALUE OF Y 
                           ---   X(I,J)    ---   VALUES OF X(I=1,...,3) 
                                          FOR THE JTH INDEPENDENT 
                                                 VARIABLE.
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER TAPE 
  AND TELETYPE REQUIREMENTS WILL BE SIMILAR TO THE CARD INPUT REQUIRE-
  MENTS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE "READ" SUBROUTINE AND FUNCTION "F" MAY BE MODIFIED TO SUIT THE
  USER. 
  
  CORRECTIONS TO A STARTING VECTOR OF THE PARAMETER VALUES ARE COMPUTED 
  BY ITERATION CYCLES UNTIL THE CORRECTIONS MAKE LITTLE OR NO CHANGE
  (WITHIN A SPECIFIED TOLERANCE) IN THE ERROR SUM OF SQUARES.  IT SHOULD
  BE POINTED OUT THAT EVEN THE FINAL ERROR SUM OF SQUARES MAY BE QUITE
  LARGE IF THE DATA DOES NOT FIT THE DESIRED MODEL WELL.
  
  IF THE ITERATION DOES NOT CONVERGE TO AN ACCEPTABLE SOLUTION: 
  
  1.  PICK CLOSER STARTING VALUES FOR THE PARAMETERS AND RUN AGAIN. 
  
  
  2.  SET TOLERANCE FOR ACCEPTABLE ERROR SUM OF SQUARES LARGER AND RUN
      AGAIN.
  
  A COMBINATION OF THESE 2 POSSIBILITIES WOULD PROBABLY OFFER THE BEST
  SOLUTION. 
X08901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GC55C 
 **PROGRAM TITLE: 
  NONLINEAR REGRESSION OF AN ARBITRARY FUNCTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PERFORMS NONLINEAR LEAST SQUARES REGRESSION ON AN
  ARBITRARY FUNCTION.  THE PROGRAM CAN OPERATE ON ANY REGRESSION MODEL
  FOR WHICH FORTRAN FUNCTIONS CAN BE WRITTEN FOR EVALUATION OF THE
  PARTIALS OF THE REGRESSION MODEL WITH RESPECT TO ITS REGRESSION 
  COEFFICIENTS.  (A USER-WRITTEN PROGRAM IS REQUIRED FOR EVALUATION 
  OF THE FUNCTION AND ITS FIRST PARTIALS.)  A MAXIMUM OF THREE
  INDEPENDENT VARIABLES AND ONE DEPENDENT VARIABLE CAN BE HANDLED, AND
  A MAXIMUM OF 150 (X,Y) DATA PAIRS MAY BE ENTERED PER RUN. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM WILL HANDLE A MAXIMUM OF THREE INDEPENDENT VARIABLES, ONE
  DEPENDENT VARIABLE, AND WILL ESTIMATE A MAXIMUM OF SIX REGRESSION 
  PARAMETERS. A MAXIMUM OF 150 (X,Y) DATA PAIRS MAY BE ENTERED PER RUN. 
  THE INPUT DATA MAY BE ENTERED IN ANY FORM, THE FORMAT BEING SPECIFIED 
  BY THE USER VIA THE READ SUBROUTINE.
  
  THE PROG REQUIRES A USER-WRITTEN SUBPROGRAM TO EVALUATE THE FUNCTION
  
                     F(Y) = A*EXP(B*T) + C*EXP(D*T) 
  
  WHERE:  A,B,C,D = PARAMETERS TO BE ESTIMATED
  
  FOR INDEX=0, THE FUNCTION EVALUATES THE REGRESSION MODEL. FOR INDEX=1,
  2, 3, OR 4, THE FUNCTION EVALUATES THE PARTIAL OF THE REGRESSION MODEL
  WITH RESPECT TO A, B, C, AND D RESPECTIVELY.  IH INDICATES WHICH SET
  TO USE IN THE EVALUATION. 
  
  INPUT REQUIREMENTS          C C   VARIABLE FORMAT DESCRIPTION 
  
  (1)HEADER CARD             01-72                  FREE TEXT 
  
  (2)PARAMETER CARD #1       01-05  NSD       15    TOTAL NUMBER OF SETS
                             06-10            15    OF DATA NUMBER OF 
                                                    PARAMETERS TO BE
                                                    ESTIMATED IN
                                                    REGRESSION MODEL
                                                    (NRTH < OR =6)
  
  (3)I.D. CARD               01-72                FREE TEXT (MAY DENOTE 
                                                  NAME OF FUNCTION
                                                  BEING EVALUATED)
  
  (4)PARAMETER CARD #2       01-05  NRX       15    NUMBER OF (X,Y) DATA
                                                    PAIRS IN THE SET(NRX
                                                    < OR =150)
  
  (5)TOLERANCE CARD          01-14  TOL       E14.8 ACCURACY REQUIREMENT
                                                    FOR ITERATIONS
  
  NOTE:  IF .10000000E-04 IS USED, ITERATION WILL STOP AS SOON AS 2 
         SUCCESSIVE ITERATIONS HAVE IDENTICAL VALUES FOR THE FIRST FOUR 
         SIGNIFICANT NUMBERS. 
  
  (6)ESTIMATE CARD (ONE CARD FOR EACH PARAMETER)
  
                           01-14  PARAMETER E14.8 INITIAL ESTIMATES OF
                                  TO BE           THE ITH REGRESSION
                                  ESTIMATED       PARAMETER.
  
  (7)DATA CARDS (ONE CARD PER (X,Y) DATA PAIR)
  
                      ---    Y(J)      ---   JTH VALUE OF Y 
                      ---    X(I,J)    ---   VALUES OF X(I=1,...,3) 
                                             FOR THE JTH INDEPEN- 
                                             DENT VARIABLE
  
  SINCE THIS PROGRAM WAS ADAPTED FROM A CARD INPUT FORMAT, THE PAPER
  TAPE INPUT REQUIREMENTS ARE SIMILAR TO THE CARD INPUT REQUIREMENTS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  READ SUBROUTINE WHICH IS SUPPLIED WITH SOURCE TAPE AND MAY BE USER
  MODIFIED TO CONFORM TO AVAILABLE DATA.
  
  FUNCTION F WHICH HAS A SAMPLE VERSION SUPPLIED WITH SOURCE TAPE AND 
  CAN BE DEFINED ACCORDING TO USER'S REQUIREMENTS.
  
  CORRECTIONS TO A STARTING VECTOR OF THE PARAMETER VALUES ARE COMPUTED 
  BY ITERATION CYCLES UNTIL THE CORRECTIONS MAKE LITTLE OR NO CHANGE
  WITHIN A SPECIFIED TOLERANCE) IN THE ERROR SUM OF SQUARES.  IT SHOULD 
  BE POINTED OUT THAT EVEN THE FINAL ERROR SUM OF SQUARES MAY BE QUITE
  LARGE IF THE DATA DOES NOT FIT THE DESIRED MODEL WELL.
  
  IF THE ITERATION DOES NOT CONVERGE TO AN ACCEPTABLE SOLUTION: 
  
  1.  PICK CLOSER STARTING VALUES FOR THE PARAMETERS AND RUN AGAIN. 
  
  2.  SET TOLERANCE FOR ACCEPTABLE ERROR SUM OF SQUARES LARGER AND RUN
      AGAIN.
  
  A COMBINATION OF THESE 2 POSSIBILITIES WOULD PROBABLY OFFER THE BEST
   SOLUTION.
X09001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FRIER 
 **PROGRAM TITLE: 
  GENERAL FAST FOURIER TRANSFORM
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE EMPLOYS AN EFFICIENT ALGORITHM FOR FINDING THE FOURIER 
  TRANSFORM OF A FUNCTION.  THE EXPRESSION EVALUATED IS:
  
               N-1      -JIN 2(PI)/N
  F(N) = 1/N   SUM  F(I)E 
               I=0
  
  WHERE THE F(I) ARE IN GENERAL COMPLEX.  THE COOLEY-TURKEY ALGORITHM 
  IS USED, OFFERING LARGE SAVINGS IN TIME AND STORAGE OVER OTHER
  METHODS.  THE NUMBER OF INPUT DATA MUST BE AN INTEGER POWER OF TWO, 
  AND THE DATA MUST BE COMPLEX. 
  
  INVERSE TRANSFORMS CAN ALSO BE TAKEN WITH THIS ROUTINE.  THE INVERSE
  TRANSFORM IS: 
  
         N-1      JIN 2(PI)/N 
  F(I) = SUM F(N)E
         N=0
  
  THE ROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL FRIER (X,Y,IG) 
  
  PARAMETER     TYPE     DESCRIPTION
  
      X         REAL     THE REAL PART OF THE FIRST COMPLEX NUMBER IN THE 
                         ARRAY X (DIMENSIONED APPROPRIATELY IN THE CALLING
                         PROGRAM).
  
      Y         REAL     THE IMAGINARY PART OF THE FIRST COMPLEX NUMBER 
                         IN THE ARRAY Y (DIMENSIONED APPROPRIATELY IN 
                         THE CALLING PROGRAM).
  
      IG        INTEGER  IG=LOG(2) (NUMBER OF COMPLEX DATA INPUT VALUES), 
                         IE, LETTING IG=3 IMPLIES THERE ARE 8 COMPLEX 
                         INPUT VALUES.  THERE MUST BE AN INTEGER POWER
                         OF 2 INPUT VALUES. 
  
  NOTE:  THE TRANSFORM IS THEN TAKEN AND PRINTED OUT AS:
  
       HARMONIC NUMBER       REAL PART       IMAGINARY PART 
  
  CALL IMAGE IS AUTOMATICALLY REFERENCED BY FRIER.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  FRIER DOES NO I/O.  THE USER MUST MAKE HIS OWN ALTERATIONS TO THE 
  PROGRAM TO FIND THE INVERSE TRANSFORM.
X09101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  EIGENVALUES OF A SYMMETRIC REAL MATRIX
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    MATRIX
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  DEPENDENT ON MATRIX SIZE
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE USES HOUSEHOLDER'S METHOD AND THE QR ALGORITHM TO FIND 
  ALL EIGENVALUES OF A SYMMETRIC MATRIX.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SYMQR3
  
  PARAMETER       DESCRIPTION 
  
      N           INTEGER, ORDER (SIZE) OF THE MATRIX.
  
      G           REAL ARRAY, THE MATRIX OF ORDER N WHOSE EIGENVALUES 
                  ARE TO BE FOUND.  THE EIGENVALUES WILL REPLACE THE
                  DIAGONAL ELEMENTS.
  
  DECLARATION REQUIRED IN CALLING PROGRAM:
  
     PROCEDURE SYMQR3(N, G);
        VALUE N; INTEGER N; REAL ARRAY G; CODE; 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  ACCURACY:  THE EIGENVALUE OF LARGEST MAGNITUDE IS USUALLY GOOD TO SIX 
             SIGNIFICANT DIGITS WITH ACCURACY DECREASING FOR SMALERLER
             EIGENVALUES.  EIGENVALUES SMALLER THAN 10**-6 TIMES THE
             LARGEST WILL CONTAIN NO CORRECT DIGITS.
  
  TIME:      ABOUT 2 SECONDS FOR N = 10 (HP2116B).
X09201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RANDM 
 **PROGRAM TITLE: 
  PSEUDO RANDOM NUMBER GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FORTRAN CALLABLE ROUTINE PRODUCES 32-BIT RANDOM NUMBERS BETWEEN
  0.000000 AND 0.999999.  IF THE ROUTINE IS REPEATED, THE SAME NUMBERS
  ARE PRODUCED IN THE SAME SEQUENCE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  A FORTRAN SAMPLE CALLING PROGRAM IS PROVIDED.  IT REQUIRES A TELETYPE 
  TO COMMUNICATE WITH THE OPERATOR.  THE FORTRAN CALLING PROGRAM ASKS THE 
  OPERATOR "HOW MANY RANDOM NUMBERS?"  THE OPERATOR SHOULD RESPOND BY 
  TYPING IN ANY POSITIVE NUMBER, FREE FIELD INPUT.  THE FORTRAN PROGRAM 
  CALLS THE RANDOM NUMBER GENERATOR, PRINTS THE RESULT AND LOOPS THROUGH
  THIS SEQUENCE UNTIL THE SPECIFIED NUMBER HAS BEEN PRINTED.  THE 
  OPERATION MAY THEN BE REPEATED.  THE RANDOM NUMBERS WILL BE DIFFERENT 
  UNTIL THE PROGRAM IS RELOADED, OR LOCATIONS "XL" AND "XH" ARE MANUALLY
  RESET TO OCT 1 AND 0 RESPECTIVELY.  THEN THE SAME RANDOM NUMBER SEQUENCE
  WILL APPEAR.
  
  CALLING SEQUENCE: 
  
       FORTRAN:  CALL RANDM(X)
  
       ASSEMBLY LANGUAGE: 
  
            EXT RANDM 
        X   BSS 2 
            . 
            . 
            . 
            JSB RANDM 
            DEF *+2     RETURN ADDRESS
            DEF X       RESULT ADDRESS
  
       X IS A FLOATING POINT NUMBER.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  A, B, E, AND POSSIBLY THE O REGISTERS ARE ALL USED AND THEIR CONTENTS 
  NOT RESTORED. 
X09301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  FOURT 
 **PROGRAM TITLE: 
  FAST FOURIER TRANSFORM
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE FINDS THE FOURIER TRANSFORM OF COMPLEX, MULTI-DIMENSIONAL, 
  COMPLEX DATA. 
  
            TRANSFORM (K1, K2,...)=SUM(DATAJ1,J2...)
                                   *EXP(ISIGN*2* PI*
                                   SQRT(-1)*((J1-1)*
                                   (K1-1)/NN(1)+(J2-1)
                                   (K2-1)/NN(2)+...)))
  
  THIS QUANTITY IS SUMMED FOR ALL J1, K1 BETWEEN 1 AND NN(1), J2K2
  BETWEEN 1 AND NN(2), ETC.  THERE IS NO LIMIT TO THE NUMBER OF K'S 
  (I.E., NO LIMIT ON THE NUMBER OF DIMENSIONS).  ALSO, THERE IS NO
  RESTRICTION ON THE LENGTH OF THE DIMENSIONS, ALTHOUGH THE PROGRAM 
  RUNS FASTER WHEN THE LENGTHS ARE COMPOSITE INTEGERS, AND ESPECIALLY 
  FAST WHEN THE LENGTHS ARE POWERS OF TWO.
  
  BOTH FORWARD (ISIGN=-1) AND INVERSE (ISIGN=+1) TRANSFORMS CAN BE
  CALCULATED.  IF A -1 TRANSFORM IS FOLLOWED BY A +1 TRANSFORM, THE 
  ORIGINAL DATA WILL REAPPEAR MULTIPLIED BY NTOT=(NN(1)*NN(2)*...). 
  
  THE ROUTINE PLACES THE FOLLOWING RESTRICTIONS ON INPUT DATA AND 
  TRANSFORM VALUES: 
  
  A.  THE NUMBER OF INPUT DATA AND THE NUMBER OF TRANSFORM VALUES MUST
      BE THE SAME.
  
  B.  BOTH THE INPUT DATA AND THE TRANSFORM VALUES MUST REPRESENT 
      EQUISPACED POINTS IN THEIR RESPECTIVE DOMAINS OF TIME AND 
      FREQUENCY, CALLING THESE SPACINGS DELTAT AND DETAF, IT MUST BE
      TRUE THAT DELTAF = 2*P1/[NN(I)*DELTAT].  OF COURSE, DELTAT NEED NOT 
      BE THE SAME FOR EVERY DIMENSION.
  
  C.  CONCEPTUALLY, AT LEAST, THE INPUT DATA AND THE TRANSFORMER OUTPUT 
      REPRESENT SINGLE CYCLES OF PERIODIC FUNCTIONS.
  
  THE ROUTINE IS FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  CALL FOURT (DATA,NN,NDIM,ISIGN,IFORM,WORK)
  
    DATA...AS INPUT, DATA IS A MULTIDIMENSIONAL COMPLEX ARRAY (NUMBER OF
           DIMENSIONS=NDIM) CONTAINING THE COMPLEX DATA TO BE 
           TRANSFORMED.  (THE REAL PART OF EACH COMPLEX POINT IS FOLLOWED 
           IMMEDIATELY IN THE ARRAY BY ITS IMAGINARY PART.)  AS OUTPUT
           DATA RETURNS THE MULTIDIMENSIONAL, COMPLEX FOURIER TRANSFORM.
  
    NN.....AN ARRAY OF DIMENSION NDIM.  THE LENGTHS OF THE DIMENSIONS 
           ARE STORED IN NN.  THESE LENGTHS MUST BE POSITIVE INTEGERS.
  
    NDIM...THE NUMBER OF DIMENSIONS OF ARRAY DATA.
  
    ISIGN..AN INTEGER PARAMETER WITH THE FOLLOWING VALUES AND MEANINGS: 
  
           -1  THE FORWARD TRANSFORM IS CALCULATED
           +1  THE INVERSE TRANSFORM IS CALCULATED
  
    IFORM..AN INTEGER PARAMETER WITH THE FOLLOWING VALUES AND MEANINGS: 
  
           0  ALL IMAGINARY PARTS OF DATA ARE ZERO
          +1  OTHERWISE 
  
    WORK...A COMPLEX ARRAY TO BE MADE AVAILABLE BY THE USER IF ALL
           DIMENSIONS OF ARRAY DATA ARE NOT POWERS OF TWO.  THE LENGTH
           OF ARRAY WORK IS EQUAL TO THE LENGTH OF THE LARGEST DIMENSION
           WHICH IS NOT A POWER OF TWO.  IF ALL DIMENSIONS ARE POWERS OF
           TWO, REPLACE WORK BY ZERO IN THE CALLING SEQUENCE. 
  
  NOTE:  TO FORM A COMPLEX ARRAY OF LENGTH M FROM A REAL ARRAY OF LENGTH
         2M, PLACE THE REAL PARTS OF THE DATA IN THE ODD-NUMBERED 
         LOCATIONS AND THE IMAGINARY PARTS IN THE EVEN-NUMBERED LOCATIONS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  RUNNING TIME IS MUCH SHORTER THAN THE NAIVE NTOT**2, BEING GIVEN BY THE 
  FOLLOWING FORMULA, DECOMPOSE NTOT INTO 2**K2 * 3**K3 * 5**K5 * .... 
  LET SUM2 = 2*K2, SUMF = 3*K3 + 5*K5 +... AND NF = K3 + K5+ .... THE 
  TIME TAKEN BY A MULTIDIMENSIONAL TRANSFORM ON THESE NTOT DATA IS T=TO 
  + NTOT*(T1+T2*SUM2+T3*SUMF+T4*NF).  ON THE CDC 3300 (FLOATING POINT ADD 
  TIME OF SIX MICROSECONDS), T = 3000 + NTOT*(500+43*SUM2+68*SUMF+320*NF) 
  MICROSECONDS ON COMPLEX DATA.  IN ADDITION, THE ACCURACY IS GREATLY 
  IMPROVED.  AS THE RMS RELATIVE ERROR IS BOUNDED BY 3*0**(-B)*SUM(FACTOR 
  (J)**1.5), WHERE B IS THE NUMBER OF BITS IN THE FLOATING POINT FRACTION 
  AND FACTOR (J) ARE THE PRIME FACTORS OF NTOT. 
X09401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  LINEAR LEAST SQUARES PROBLEM SOLVER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
    2114
  
 **OPERATING SYSTEMS: 
    BCS       DOS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  ALGOL CALLABLE, THIS PROCEDURE SOLVES THE LINEAR LEAST SQUARES PROBLEM: 
  
          ||A(X) - B||(2) = MINIMUM 
  
  WHERE || ||(2) INDICATES THE EUCLIDEAN NORM AND A IS AN M BY N
  (M > OR = H) REAL MATRIX OR RANK N.  A MATRIX DECOMPOSITION BASED ON
  ORTHOGONAL HOUSEHOLDER TRANSFORMATIONS IS USED, RATHER THAN SOLVING 
  THE NORMAL EQUATIONS A(TRANSPOSED)A(X) = A(TRANSPOSED) B. 
  
  MANY VECTORS, B, MAY BE GIVEN FOR SOLUTION WITH INCREASED EFFICIENCY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALL:  LSQ1 (MODE, A, X, B, M, N, AXBNRM, SING);
  
       PARAMETERS       TYPE       DESCRIPTION
  
       MODE             INTEGER    SEE BELOW
  
       A                REAL       TWO DIMENSION ARRAY CONTAINING THE 
                        ARRAY      COEFFICIENTS OF THE OVERDETERMINED 
                                   SYSTEM.
  
       X                REAL       A VECTOR WHERE THE SOLUTION WILL BE
                        ARRAY      STORED.
  
       B                REAL       THE RIGHT HAND SIDE VECTOR.
                        ARRAY 
  
       M,N              INTEGER    THE NUMBER OF ROWS (EQUATIONS) AND THE 
                                   NUMBER OF COLUMNS (UNKNOWNS) OF A. 
  
       AXBNRM           REAL       THE CONDITION NUMBER OR THE MINIMUM
                                   NORM (SEE BELOW).
  
       SING             LABEL       AN ERROR RETURN TAKEN IF THE COLUMNS
                                    OF A ARE DEPENDENT. 
  
  PROGRAM DESCRIPTION:  THE GENERAL LINEAR LEAST SQUARE PROBLEM MAY BE
  STATED AS FINDING THAT LINEAR COMBINATION OF FIXED VECTORS WHICH BEST 
  APPROXIMATES A GIVEN VECTOR; THAT IS, TO MINIMIZE THE DISTANCE
  (MEASURED BY A NORM) BETWEEN;  N            AND THE VECTOR B, WHERE THE 
                                SUM X(J)*ALPHA(J) 
                                J=1 
  ALPHA(J) ARE THE FIXED VECTORS.  IN LEAST SQUARES APPROXIMATION THE 
  NORM IS THE EUCLIDEAN VECTOR NORM 
  
                      2    M    2 
               NORM(Y)  = SUM  Y
                      2   I=1   I 
  
  LET THE ALPH(J) AND B VECTORS BE IN M-SPACE AND LET THE ELEMENTS OF 
  ALPHA(J) BE A(1J), A(2J),...,A(MJ), THEN THE LINEAR COMBINATION 
  MENTIONED ABOVE CAN BE WRITTEN AS AN MXN MATRIX "A" TIMES A VECTOR OF 
  UNKNOWNS "X" AND THE LEAST SQUARES PROBLEM IS SIMPLY
  
         NORM(AX - B) = MINIMUM 
                     2
  WHEN THE VECTORS ALPHA(J) ARE LINEARLY INDEPENDENT THE RANK OF A IS N.
  LEAST SQUARES MAY BE APPLIED TO SOLVING SYSTEMS OF M LINEAR EQUATIONS 
  WITH N UNKNOWNS M > OR =N, AN OVERDETERMINED SYSTEM, BY FINDING A 
  SOLUTION WHICH MINIMIZES THE ERROR AX -B, SINCE THE EQUATIONS HAVE NO 
  UNIQUE SOLUTION AND POSSIBLY HAVE NO SOLUTION.
  
  MODE = 0:  THE MATRIX STORED IN A IS DECOMPOSED AND ITS APPROXIMATE 
             CONDITION NUMBER IS STORED IN AXBNRM.  THE ARRAYS A AND X
             ARE DISTURBED, B IS IGNORED. 
  
  MODE = 1:  THE LEAST SQUARES PROBLEM IS SOLVED USING THE DECOMPOSED 
             MATRIX FROM MODE =0.  THE VECTOR X CONTAINS THE SOLUTION 
             AND AXBNRM CONTAINS THE ERROR NORM (AX -B).  B IS
             IGNORED.                                  2
  
  THE PROCEDURE MAY BE CALLED ANY NUMBER OF TIMES WITH MODE =1 (FOR 
  DIFFERENT B'S) AFTER ONE CALL WITH MODE =0. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR CONDITIONS AND MESSAGES:  IF AT ANY STAGE OF THE DECOMPOSITION
  OF A THE NORM OF THE NEXT COLUMN TO BE REDUCED IS EXACTLY ZERO
  INDICATING THAT THE MATRIX A APPARENTLY HAS RANK <N, THEN AXBNRM IS 
  SET TO -1 AND CONTROL TRANSFERRED TO LABEL CORRESPONDING TO SING. 
  
  
 **MISCELLANEOUS: 
  
  THERE ARE MORE EFFICIENT METHODS THAN LSSQ1 TO DO POLYNOMIAL LEAST
  SQUARES FITTING.  AS AN EXAMPLE OF A MORE GENERAL PROBLEM, SUPPOSE
  THAT THE 10 DATA POINTS (F(I), T(I)) ARE TO BE APPROXIMATED BY THE
  FUNCTION: 
  
       F(T) = P + QE**LT + R SINOT, WHERE L AND O ARE KNOWN (IT WOULD 
       NOT BE LINEAR LEAST SQUARES OTHERWISE) AND P, Q AND R ARE TO BE
       FOUND.  THE PROBLEM SET UP IS: 
  
                     A    *     X      B
  
         .      T           .  . .    .     . 
         . 1, E  1, SIN T(1).  .P.    .F(1) . 
         .                  .  . .    .     . 
         .      T           .  . .    .     . 
         . 1, E  2, SIN T(2).  .Q. =  .F(2) . 
         .                  .  . .    .     . 
         .                  .  .R.    .     . 
         .      T           .  . .    .     . 
         . 1, E  10,SIN T(10.  . .    .F(10). 
  
  WITH M = 10. AND N = 3.  AFTER TWO CALLS TO LSSQ1 (MODE = 0 AND 1), 
  P IS X(1), Q IS X(2), AND R IS X(3).
  
  IN THE PROCEDURE LSSQ1, M, N < OR =15, BUT IF MEMORY SIZE PERMITS MAY 
  BE CHANGED IN THE DECLARATION OF ALPHA, Y AND PIVOT.
X09501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  EXPRE 
 **PROGRAM TITLE: 
  BCS EXTENDED PRECISION ARITHMETIC 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PRECISION       LIBRARY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS GROUP OF BCS ROUTINES PROVIDES THE CAPABILITY FOR EXTENDED-
  PRECISION ADDITION, SUBTRACTION, MULTIPLICATION, AND DIVISION.  ALSO
  PROVIDED ARE FACILITIES FOR EXTENDED-PRECISION I/O OPERATIONS.
  
  THE ROUTINES ARE FORTRAN CALLABLE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DP
  
  1) DP IS CALLED IMMEDIATELY BEFORE EACH WRITE- OR READ- STATEMENT TO
     MODIFY THE FORTRAN-CALLING-SEQUENCE FROM INTEGER ARRAY TO EXT. 
     PREC.-ARRAY. 
     EXAMPLE: 
     DIMENSION IA (3), IX (6) 
     .
     .
     .
     CALL DP (IA,1)             IA,IX=NAME OF EXT.PREC.ARRAY
     READ (1,10) IA             1,2=LENGTH "   "    "    "
     .
     .
     .
     CALL DP (IX,2) 
     WRITE (2,20) IX
     .
     .
  10 FORMAT  (D15.9)
  20 FORMAT  (2G15.9) 
     .
     .
  2) DA  (ADDITION) 
  3) DS  (SUBTRACTION)
  4) DM  (MULTIPLICATION) 
  5) DD  (DIVISION) 
  
     EXAMPLE: 
  
     DIMENSION IZ (3),IX  (3), IY (3) 
     .
     .
     .
     CALL DA (IZ,IX,IY)    ADD
     CALL DS (IZ,IX,IY)    SUB     IZ = RESULT
     CALL DM (IZ,IX,IY)    MPY
     CALL DD (IZ,IX,IY)    DIV
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X09601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  COMPLEX MATH PACKAGE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    COMPLEX         STORAGE         CONVERSION
    FLOATING POINT
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM OFFERS FUNDAMENTAL COMPLEX-MATHEMATICS CAPABILITIES FOR
  FLOATING POINT NUMBERS AND FOR NUMBERS IN A SPECIAL PACKED FORMAT WHICH 
  MAKES EFFICIENT USE OF STORAGE SPACE.  THE RESOLUTION OF THE PACKED 
  NUMBER IS APPROXIMATELY 0.025 PERCENT (12 SIGNIFICANT BITS).
  
  IN FLOATING POINT FORMAT, ADDITION, SUBTRACTION, MULTIPLICATION, AND
  DIVISION CAN BE PERFORMED, REFERENCING DIRECTLY THE PACKED NUMBERS
  AS ARGUMENTS.  THE CAPABILITY TO CONVERT TO POLAR FORM, AND TO CONVERT
  TO AND FROM PACKED FORMAT, ARE INCLUDED.
  
  THIS PROGRAM IS FORTRAN AND ALGOL CALLABLE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SAVE3 IS USED TO PACK AND UNPACK COMPLEX NUMBERS INTO AND FROM A
  CONVENIENT TWO-WORD FORMAT FOR EFFICIENT USE OF STORAGE AREA.  THE
  RESOLUTION OF THE MAGNITUDE OF THE COMPLEX NUMBER IS 12 BITS, OR .025%. 
  THE FORMAT IS:
  
  
                         15 14              3  2  1 
                          + M   MANTISSA    L  +  M 
            P             - S      OF       S  -  S 
                            B   REAL PART   B     B 
                         MANTISSA OF  L  M        L 
            P+1          IMAGINARY    S  S    EXP S + 
                         PART         B  B        B - 
  
                    BITS 15           6  5        1 0 
  
  THE SINGLE EXPONENT SCALES BOTH MANTISSAS.  FOR THE LARGER OF THE TWO 
  MANTISSAS, THE MSB IS 2**-1 (BEFORE SCALING) AND THE SMALLER MANTISSA 
  IS RIGHT SHIFTED SUCH THAT THE MSB IS 2**-1 (BEFORE SCALING).  THEREFORE
  THE SINGLE EXPONENT CORRECTLY SCALES BOTH MANTISSAS WHEN UNPACKING THIS 
  SPECIAL FORMAT. 
  
  A COMPLEX NUMBER IS PACKED INTO THE SPECIAL FORMAT BY MEANS OF A FTOP3
  CALL WITH THREE ARGUMENTS.  THE REAL AND IMAGINARY PARTS (FLOATING
  POINT) ARE SPECIFIED BY THE FIRST TWO ARGUMENTS AND THE STORAGE LOCATION
  (TWO WORDS) FOR THE PACKED NUMBER IS SPECIFIED BY THE THIRD ARGUMENT. 
  IN A SIMILAR MANNER, A PACKED NUMBER MAY BE UNPACKED BY MEANS OF A
  PTOF3 CALL WHERE THE FIRST ARGUMENT SPECIFIES THE PACKED NUMBER AND THE 
  SECOND AND THIRD ARGUMENTS SPECIFY THE REAL AND IMAGINARY PARTS 
  RESPECTIVELY. 
  
  CALLING SEQUENCE: 
  
  1.  FORTRAN 
  
      CALL FTOP3(XR,XI,C1)     (FLOATING POINT TO PACKED) 
      CALL PTOF3(C1,ZR,ZI)     (PACKED TO FLOATING POINT) 
        (XR=ZR & XI=ZI) 
  
  2.  ASSEMBLY
  
      EXT PTOF3, FTOP3
  
      JSB FTOP3 
      DEF *+4 
      DEF XR
      DEF XI
      DEF CI
      . 
      . 
      . 
   XR BSS2
   X1 BSS2
   C1 BSS2. 
  
  PARAMETER DEFINITION: 
  
  1.  FTOP3 (XR,XI,C1)
      XR:  FLOATING POINT, REAL PART OF THE COMPLEX NO. RX=XR+JXI.
      XI:  FLOATING POINT, IMAGINARY PART OF THE COMPLEX NO. RX=XR+JXI. 
      CI:  ADDRESS OF TWO WORD STORAGE AREA FOR THE PACKED FORMAT 
           REPRESENTATION OF THE COMPLEX NUMBER XR+JXI. 
  
  2.  PTOF3(C1,XR,XI) 
  
      C1:   SAME AS C1 ABOVE. 
      XR:   SAME AS XR ABOVE, THE "UNPACKED" REAL PART OF C1. 
      XI:   SAME AS X1 ABOVE, THE "UNPACKED" IMAGINARY PART OF C1.
  
  NOTE:  1) THIS SUBROUTINE IS THE FUNDAMENTAL SUBROUTINE OF THE COMPLEX
            MATH PACKAGE WHICH INCLUDES:  CPLX3, PSFT3, SHYZ3, AND SAVF3. 
  
         2) IN FTOP3, C1 MAY BE THE SAME AS XR, OR XI; ALSO IN PTOF3, XR
            OR XI MAY BE THE SAME AS C1.
  THE ALGORITHMS USED TO CALCULATE THE COMPLEX RESULTS FOR BOTH PACKED
  AND FULL FLOATING POINT FORMATS ARE THE SAME, THE DIFFERENCE BEING
  FOUND IN THAT THE ARGUMENTS IN THE PACKED FORMAT ARE UNPACKED INTO
  FLOATING POINT, THE OPERATION CARRIED OUT, AND THE RESULT REPACKED INTO 
  PACKED FORMAT WHEREAS THE ARGUMENTS IN FULL FLOATING POINT CAN BE 
  OPERATED ON DIRECTLY USING THE ALGORITHMS BELOW.
  
  THE ALGORITHMS ARE AS FOLLOWS:
  
  1.  ADDITION: 
  
      [R1+JX1] + [R2+JX2] = (R1+R2) + (X1+X2)J = R3+JX3 
  
  2.  SUBTRACTION:
  
      [R1+JX2] - (R2+JX2) = (R1-R2) + J(X1-X2) = R3+JX3 
  
  3.  MULTIPLICATION: 
  
     [R1+JX1] * [R2+JX2] = [R1*R2+X1*X2] + J[R1*X2+R2*X1] = R3+JX3
  
  4.  DIVISION: 
  
      [R1+JX1]   [R1+JX1] [R2-JX2]   [R1*R2+X1*X2]    [R2*X1-R1*X2] 
      --------   -----------------   -------------    ------------- 
      [R2+JX2]   [R2+JX2] [R2-JX2]   [R2**2+X2**2]    [R2**2+X2**2] 
  
               = R3+JX3 
  
  PACK AND UNPACK ALGORITHMS: 
  
  1.  CPAK3:  C1, C2 [IN FULL FLOATING POINT FORMAT] ARE THE REAL AND 
      IMAGINARY PARTS RESPECTIVELY, AND THEY ARE CONVERTED TO PACKED
      FORMAT AND STORED IN C3 [EG. CALL CPAK3 [C1,C2,C3]].
  2.  CUPK3:  C1 IS IN PACKED FORMAT AND IS UNPACKED INTO C2,C3 WHICH 
      ARE THE REAL AND IMAGINARY PARTS RESPECTIVELY, [EG. CALL CUPK3
      [C1,C2,C3]].  [THE ALGORITHMS FOR CPAK3 AND CUPK3 CAN BE FOUND
      IN SAVE3 DOCUMENTATION].
  
  3.  CPAK1:  C1,C2 ARE REAL AND IMAGINARY PARTS RESPECTIVELY EACH OF 
      WHICH ARE IN FULL FLOATING POINT FORMAL.  THEY ARE STORED CONSECU-
      TIVELY IN C3 WHICH MUST BE DIMENSIONED AS 2 FLOATING POINT LOCATIONS
      [4 WORDS] [EG. CALL CPAK1 (C1,C2,C3)].
  
  4.  CUPK1:  C1 CONTAINS IN 4 CONSECUTIVE LOCATIONS THE REAL AND 
      IMAGINARY PARTS OF THE COMPLEX NUMBER.  THESE ARE UNPACKED
      RESPECTIVELY INTO C2 AND C3 [EG. CALL CUPK1 (C1,C2,C3)].
  
  POLAR CONVERSION: 
  
  1.  CPOL3:  C1 (IN PACKED FORMAT) IS UNPACKED INTO REAL AND IMAGINARY 
      COMPONENTS X2 AND Y2 AND THEN CONVERTED INTO POLAR FORM WHERE V 
      IS MAGNITUDE AND A IS ANGLE IN DEGREES [EG. CALL CPOL3 (C1,V,A)]. 
  
  2.  CPOL1: [IN CPAK1 FORMAT] IS UNPACKED INTO REAL AND IMAGINARY
      COMPONENTS X2 AND Y2 AND THEN CONVERTED INTO POLAR FORM WHERE 
      AGAIN V IS MAGNITUDE AND A IS ANGLE IN DEGREES. 
  
  BOTH POLAR ROUTINES USED THE FOLLOWING MATHEMATICAL ALGORITHM ONCE C1 
  HAS BEEN PROPERLY UNPACKED INTO ITS REAL AND IMAGINARY COMPONENTS 
  [X2 AND Y2].
  
       V = [X2*X2+Y2*Y2]**1/2 
      T1 = 57.2957 * ATAN (X2/Y2) 
      IF X2>0 THEN A=T1 
      IF [Y2<0] THEN A = T1-180.0 
      IF [Y2>0] THEN A = T1+180.0 
      STORE V AND A.
  CALLING SEQUENCE: 
  
  1.  FORTRAN 
  
      PACKED FORMAT:
  
     CALL CADD3 [C1,C2,C3] (C3=C1+C2) 
  
     FULL FLOATING POINT FORMAT:
        . 
        . 
        . 
        DIMENSION C1(2), C2(2), C3(2) 
        . 
        . 
        . 
        CALL CADD1 [C1,C2,C3] (C3 = C1+C2)
  
  2.  ASSEMBLY: 
  
      PACKED FORMAT:
  
        . 
        . 
        EXT. CADD3, SAVE3 
        JSB CADD3 
        JMP * +4
  
  
        DEF C1
        DEF C2
        DEF C3
        . 
        . 
        . 
     C1 BSS 2 
     C2 BSS 2 
     C3 BSS 2 
        . 
        . 
     FULL FLOATING POINT FORMAT 
        . 
        . 
        . 
        EXT. CADD1
        JSB CADD1 
        JMP * +1
        DEF C1
        DEF C2
        DEF C3
        . 
        . 
        . 
     C1 BSS 4 
     C2 BSS 4 
     C3 BSS 4 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  RESOLUTION AND RANGE: 
  
     PACKED FORMAT: 
  
        MANTISSA RESOLUTION:  12 BIT MANTISSA 
        RESOLUTION = 1/2**+12 = .00024 FOR ALL X WHERE 1< OR = X < OR = -1
  
        WHEN -1<X<1 THE LARGEST COMPONENT OF THE COMPLEX NUMBER RETAINS 
        THE RESOLUTION ABOVE, BUT THE SMALLER COMPONENT LOSES RESOLUTION
        DEPENDING ON THE NUMBER OF ZEROES PRECEEDING THE FIRST 1 [EG. 
        .1(10) = [.000110. . .](2); 3 ZEROES].  THE RESOLUTION OF THE 
        SMALLER COMPONENT IS NOW EQUAL TO [1/(2**(+12-Y))] WHERE Y IS THE 
        NUMBER OF LEADING ZEROES. 
  
  DYNAMIC RANGE:
  
       5 BIT EXPONENT (PLUS SIGN BIT) ALLOWS A DYNAMIC RESOLUTION OF
       2**-31 < OR = X < OR = 2**31 
  
  FULL FLOATING POINT FORMAT: 
  
       MANTISSA RESOLUTION:  23 BIT MATISSA 
  
  RESOLUTION = 1/2**23 ~= .0000001192... FOR ALL X WHERE 1 </= X </= -1 
  
  WHEN -1 < X < 1 THE LARGEST COMPONENT OF THE COMPLEX NUMBER RETAINS THE 
  RESOLUTION ABOVE, BUT THE SMALLER COMPONENT LOSES RESOLUTION DEPENDING
  ON THE NUMBER OF ZEROES PRECEEDING THE FIRST 1.  THE RESOLUTION OF THE
  SMALLER COMPONENT IS NOW EQUAL TO [1/(2**(+23-Y))] WHERE Y IS THE NUMBER
  OF LEADING ZEROES.
  
  DYNAMIC RANGE:
  
       7 BIT EXPONENT (PLUS SIGN BIT) ALLOWS A DYNAMIC RESOLUTION OF
       2**-127 < OR = X < OR = 2**127.
X09701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  INVERSE ASSEMBLER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ACCEPTS AN ABSOLUTE BINARY PROGRAM TAPE AND CREATES FROM 
  IT AN ASSEMBLY LANGUAGE LISTING.  WHEN THE INVERSE ASSEMBLER IS USED, 
  THE NORMAL PHOTOREADER DRIVER IS REPLACED BY AN EQUIVALENT OF THE 
  BASIC BINARY LOADER.
  
  SOFTWARE REQUIREMENTS:  8K RELOCATABLE LOADER I/O CONTROL, TELETYPE 
  DRIVER, BCS TAPE READER DRIVER. 
  HARDWARE REQUIREMENTS:  EAU.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  1.  ASSEMBLE
  2.  LOAD WITH BCS 
  3.  POSITION USER'S ABSOLUTE BINARY TAPE IN PHOTOREADER 
  4.  PUSH RUN
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE PROGRAM ACCEPTS AN ABSOLUTE-BINARY TAPE AND RECREATES A PSEUDO- 
  ASSEMBLER SOURCE LISTING FROM IT.  IT OPERATES WITH THE INTERRUPT 
  SYSTEM ENABLED, UNDER BCS, BUT WITH THE NORMAL PHOTOREADER INPUT
  ROUTINE REPLACED BY AN EQUIVALENT OF THE BASIC-BINARY LOADER. 
  
  NO ATTEMPT IS MADE TO TRACE THE INSTRUCTION TREE; ALL LOCATIONS ARE 
  LISTED BY LOCATION, CONTENTS (OCTAL), ASSEMBLER SOURCE STATEMENT
  (WHETHER VALID OR NOT), AND, IF A VALID ASCII CHARACTER PAIR IS 
  FORMED (A-Z, 0-9, CR, LF, OR BLANK), THIS IS ALSO PRINTED.  IN THE
  CASE OF MEMORY-REFERENCE INSTRUCTIONS, THE OPERAND ADDRESS IS PRINTED 
  (OCTAL).
  
  OUTPUT IS BLOCKED INTO 11" PAGES.  THE BEGINNING OF AN ABSOLUTE-
  BINARY BLOCK IS INDICATED BY "B", ALL SKIP AND JUMP INSTRUCTIONS ARE
  IDENTIFIED BY "S" OR "J" IN A SPECIAL COLUMN TO FACILITATE FOLLOWING
  THE LISTING.  ALL ERROR CONDITIONS RESULT IN A PRINTED MESSAGE ONLY 
  (EXCEPT END-OF-TAPE). 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  NOTE:  EDIT STATEMENT #5, "GENL EQU 21B", TO CONFIGURE PROGRAM TO 
  YOUR PHOTOREADER'S SELECT CODE; EDIT #11 AND #87 TO USE THE ADDRESS 
  OF THE PHOTOREADER LINK WORD. 
X09801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RAND
 **PROGRAM TITLE: 
  FLOATING POINT RANDOM NUMBER GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM          FLOATING POINT
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS FUNCTION GENERATES RANDOM NUMBERS BETWEEN (0) AND (1) IN FLOATING
  POINT AND RETURNS THE VALUES IN THE A AND B REGISTERS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ASSEMBLY - CALLING SEQUENCE 
  
  EXT RAND
    . 
  JSB RAND
  
  WITH A + B-REGISTER CONTAINING THE RANDOM NUMBER (FLOATING- 
  POINT)
  
  FORTRAN:
  
  R = RAND (0)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X09901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  GAUSS 
 **PROGRAM TITLE: 
  GAUSSIAN RANDOM NUMBER GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM          STATISTICS
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ALGOL REAL PROCEDURE GAUSS(I) GENERATES GAUSSIAN (NORMAL)
  DISTRIBUTED RANDOM NUMBERS WITH MEAN (MY=0) AND VARIANCE SIGMA 2=1. 
  THE PROCEDURE REQUIRES TWO RANDOM NUMBERS X1 AND X2 CALLED FROM THE 
  ASSEMBLY LANGUAGE FUNCTION RANDM2 WHICH GENERATES RANDOM NUMBERS IN THE 
  INTERVAL  (O,1). THE TEST CASE (GAUT) PLOTS THE DISTRIBUTION IN THE 
  FORM OF A HISTOGRAM WITH MEAN ZERO AND VARIANCE ONE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  FORTRAN            ALGOL
  
  CALL GAUSS(I)      GAUSS(I) 
  
  I = POSITIVE: RANDOM NUMBERS OF PRECEEDING CALL ARE USED FOR THE
                COMPUTATION OF THE PRESENT. 
  
  I = NEGATIVE:  DEFINITE START.
  
  RANDM(I) COMPUTES A RANDOM NUMBER 
  
  FROM THE FORMULAS:
  
  X(N)=A*X(N1)+C(MOD 2**30)   (A=5**11,C=2**30(1/2-1/SQRT(12))) 
  RANDM = X/2**30 MIN (1-2**-23)
  I = POSITIVE USE PREVIOUS VALUE,
  I = NEGATIVE MAKE A NEW SEED. 
  THE RANDOM NUMBERS ARE UNIFORMLY DISTRIBUTED IN THE INTEVAL 0 < X < 1.
  
  GAUT          ALGOL MAIN PROGRAM
  GAUSS         ALGOL REAL PROCEDURE
  RANDM         ASMB REAL FUNCTION
  
  THE PROGRAM GAUT GENERATES GAUSSIAN DISTRIBUTED RANDOM NUMBERS AND TESTS
  THEM AGAINST A COMPUTED GAUSSIAN DISTRIBUTION.  THE X-RANGE FROM -3.5 TO
  +3.5 IS DIVIDED INTO 2XAI INTERVALS.  THE DISTRIBUTION IS GENERATED 
  BY N RANDOM NUMBERS. FINALLY, THE DISTRIBUTION OF THE NUMBERS IS PLOTTED
  IN FORM OF A HISTOGRAM. 
  
  THERE ARE PRINTED THE FOLLOWING PARAMETERS: 
  
       I = THE NUMBR OF THE INTERVAL, 
  
       Y = THE FREQUENCY OF THE RANDOM NUMBERS IN THE SPECIAL INTERVAL, 
  
       X = THE CORRESPONDING ABSZISSA,
  
      YN = THE CORRESPONDING VALUE TO Y, BUT NORMALIZED TO ONE, 
  
   GAUSS = THE COMPUTED GAUSSIAN DISTRIBUTION,
  
   DELTA = THE DIFFERENCE YN = GAUSS. 
  
  FINALLY:  S MEANS THE SUM OF THE QUADRATIC DEVIATIONS DELTA.
  
  SWITCH-OPTION:
  
       ALL SWITCHES = 0:  DEFINITE START OF RANDOM GENERATOR, 
       ANY SWITCH NOT =0: IF NEW START, PREVIOUS RANDOM NUMBERS ARE 
                          USED FOR THE COMPUTATION OF THE PRESENT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X10001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  IMCP
 **PROGRAM TITLE: 
  INTEGRATED MATH CALCULATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    CALCULATOR
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE (IMCP) PROGRAM ALLOWS THE ENTRY OF PROGRAMS INTO THE COMPUTER 
  WITHOUT THE NECESSITY FOR A FORMAL WRITTEN PROGRAM.  TO ACCOMPLISH
  THIS THE COMPUTER AND TELEPRINTER ARE EMPLOYED IN A MANNER SIMILAR
  TO THAT USED FOR OPERATING MANY DESK-TOP CALCULATORS.  THE TELEPRINTER
  KEYBOARD SERVES TO ENTER INTEGER OR FLOATING POINT DECIMAL NUMBERS, 
  AND TO COMMAND 54 DIFFERENT ARITHMETIC OPERATIONS AND FUNCTIONS.  THIS
  CALCULATOR SYSTEM MAY BE USED (IN PROGRAM MODE) FOR COMPUTATION OF LONG 
  FORMULAS CONSISTING OF MANY DISSIMILAR STEPS.  SIX DECIMAL PLACES OF
  ACCURACY ARE GUARANTEED.
  
  THE BCS FORTRAN IV LIBRARY, 24149 IS REQUIRED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  1.  USUAL ASSEMBLY AND LOAD PROCEDURES FOR IMCP AND ITS SUBROUTINES 
      TTYIO, ACOS, ASIN.
  
  2.  SET THE SELECT CODE FOR YOUR TELETYPE INTO THE SWITCH REGISTER, 
      BITS 0 - 5, AND PRESS "RUN".  PROGRAM IMCP IS SELF-CONFIGURING
      AND I/O IS CONVERSATIONAL.
  
  3.  AT PROGRAM START, ALL REGISTERS ARE RESET AND THE PROGRAM TITLE 
      IS PRINTED: 
  
      INTEGRATED MATH CALCULATOR PROGRAM
  
      TYPE # OF FRACTIONAL DIGITS YOU WANT: 
      6 
      READY 
  
      0.000000       0.000000        0.000000       0.000000
  
      INPUT OF A SINGLE DECIMAL DIGIT IS USED TO SELECT THE NUMBER OF 
      DECIMAL PLACES TO THE RIGHT OF THE DECIMAL POINT TO BE DISPLAYED
      IN RESULTS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ARITHMETIC FUNCTIONS: 
  
  ALL FUNCTIONS ARE PERFORMED UPON THE CURRENT VALUE IN ACC:
  
            A FOLLOWED BY S = ARCSIN(ACC) 
                  "    "  T = ARCTAN(ACC) 
                  "    "  C = ARCCOS(ACC) 
  
            B   =   CLEAR ALL REGISTERS + LOOPCOUNTER 
            C   =   COS(ACC)
            D   =   ACC * 2.0 (DOUBLE-UP ACC) 
            E   =   EXP(ACC)
            G FOLLOWED BY X = RECALL X INTO ACC 
                          Y =   "    Y   "   "
                          Z =   "    Z   "   "
                          U =   "    U   "   "
                          V =   "    V   "   "
                          W =   "    W   "   "
                          # =  LOOPCOUNTER INTO ACC 
                          P = ("PI") = 3.141592... INTO ACC 
                          E = ("EXP")= 2.718281... INTO ACC 
            H   =   PROGRAM HALT, PRESS "RUN" TO CONTINUE, REGISTERS
                    REMAIN UNALTERED. 
            I   =   1.0/ACC      (ACC RECIPROCAL) 
            L   =   LOG(ACC)
            M   =   ABS(ACC)
            N   =   -ACC
            O   =   ACC<=X<=Y<=Z<=ACC (ROTATE REGISTERS)
            R   =   SQRT(ACC) 
            S   =   SIN(ACC)
            T   =   TAN(ACC)
            U   =   STORE   ACC   IN   U
            V   =   STORE   ACC   IN   V
            W   =   STORE   ACC   IN   W
            X   =   STORE   ACC   IN   X
            Y   =   STORE   ACC   IN   Y
            Z   =   STORE   ACC   IN   Z
  
      (SPACE)   =   CLEAR   ACC TO 0.0
            .   =   DECIMAL POINT IN VARIABLES
                =   OR CHANGE OF DECIMAL PLACES IN DISPLAY
            ?   =   DISPLAY ACC 
            =   =   DISPLAY ACC, X, Y AND Z 
           CR   =   CR (NO OPERATION) 
           LF   =   LF (NO OPERATION) 
  
        0 - 9   =   VALID DECIMAL DIGITS
            $   =   SUM-UP N(VAR) IN ACC UNTIL ZERO IS ENTERED
            &   =   FOLLOWED BY X, Y OR Z 
                    SAME AS "$" AND THE SQUARES OF N(VAR) ARE ACCUMULATED 
                    IN X, Y OR Z
  
  THE "IMCP"-PROGRAM ALLOWS TO USE THE HP-COMPUTER AND THE TELETYPE PERI- 
  PHERAL AS A CALCULATOR-CONFIGURATION, WHICH IS SIMILAR TO OPERATE TO
  MANY DESK-TOP CALCULATORS PRESENTLY ON THE MARKET.  THE KEYBOARD OF THE 
  TELETYPE SERVES TO COMMAND UP TO 54 DIFFERENT ARITHMETIC OPERATIONS AND 
  FUNCTIONS AND TO ENTER DECIMAL VARIABLES. 
  
  THE PROGRAM MAY BE USED IN "PROGRAM-MODE" FOR REPEATED COMPUTATION OF 
  LONG FORMULAS CONSISTING OF MANY DIFFERENT OPERATING STEPS. 
  
  THE PROGRAM CONSISTS OF ONE ACCUMULATOR (ACC) 
  3 STORAGE REGISTERS X, Y AND Z AND
  3 DATA-BUFFERS U, V AND W.
  
  THE ACC AND X, Y AND Z ARE DISPLAYED ON TELETYPE. 
  
  ARITHMETIC OPERATIONS:
  
       P = RAISE ACC TO THE POWER OF VAR
       * = MULTIPLY ACC BY VAR
       / = DIVIDE ACC BY VAR
       + = ADD VAR TO ACC 
       - = SUBTRACT VAR FROM ACC
         = NEGATIVE SIGN FOR DECIMAL VARIABLES
       % = ACC IN % OF VAR (VAR=100%) 
  
  AFTER ENTRY OF SUCH AN OPERATOR-CODE, A DECIMAL VARIABLE MUST BE EN-
  TERED TO EXECUTE THE OPERATION.  EVERY VARIABLE ENTERED, MUST TERMI-
  NATE WITH CR/LF.  IF DECIMAL ZERO IS ENTERED, THE VARIABLE IS ASSUMED 
  TO BE SYMBOLIC.  A NAME OF A REGISTER OF "E" (I.E., 2.71828...) OR
  "PI"(I.E.,3.1415...) CAN THEN BE TYPED IN.
  
  FOR USE IN "PROGRAM-MODE":
  
          ( = START ENTERING PROGRAM STEPS
          # = STORE ACC INTO LOOPTERMINATOR 
            = OR TO REPRESENT THE LOOPCOUNTER AS A SYMBOLIC VARIABLE, 
              WHICH IS INCREASED BY +1.0 EACH LOOP.  ENTER ONLY INTEGER 
              VARIABLES INTO LOOP TERMINATOR TO ENSURE SUCCESSFUL COM-
              PLETION OF LOOP.  NOTE THAT A SINGLE LOOP ONLY IS PERMIT- 
              TED IN A PROGRAM. 
          : = ENTER LOOP STATE
          < = REPEAT LOOP, IF NOT FINISHED
          _ = DELETES STEP PREVIOUSLY ENTERED (UNDERLINE OR LEFT ARROW) 
          ) = STOP PROGRAM ENTERING MODE
          > = START EXECUTING PROGRAM IN STORE
  CTRL/TAPE = LISTS(PUNCHES) THE STORED PROGRAM WITH TRAILERS.
                    HALT 77 OCCURS; PRESS "RUN" TO CONTINUE OPERATIONS. 
  
  (MAXIMUM STORAGE SPACE FOR PROGRAM STEPS IS 200.  ONE PROGRAM ONLY CAN
  BE LOADED INTO PROGRAM STORAGE AT ANY GIVEN TIME.)
  "           " 2 QUOTATION MARKS SERVE TO INCLUDE ANY COMMENT DURING 
                CALCULATIONS. 
  
  THIS SYSTEM PRINTS "ILLEGAL!" SHOULD ANY UNLISTED COMMAND-CODE BE 
  ENTERED.
  
  OPTIONS:
  SWITCHREGISTER SWITCH 0 UP SUPPRESSES DISPLAY OF Z
                        1 UP                       Y
                        2 UP                       X
                        3 UP                       ACC
                       12 UP CANCELS ANY EXECUTION MODE 
                       15 UP VALUES IN DEGREES
                       15 DN VALUES IN RADIANS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF ANY COMMAND-CODE, NOT CONTAINED IN THE ATTACHED LIST IS ENTERED, THE 
  TELETYPE PRINTS "ILLEGAL?".  NO ERROR-HALT OCCURS AND NONE OF THE REGI- 
  STER VALUES IS LOST.
  
  IF THE TELEPRINTER WRITES OVERFLOW, THE CURRENT VALUE IN THE ACCUMULATOR
  IS LOST DUE TO EXCEEDING REGISTER CAPACITY. 
  
  
 **MISCELLANEOUS: 
  
  THE TWO FUNCTIONS "$" AND "&" ARE AVAILABLE ONLY FOR NORMAL-MODE-OPERA- 
  TION AND NOT FOR PROGRAM-MODE-OPERATION BECAUSE OF 4K STORAGE CONSIDERA-
  TIONS.  THE CTRL/TAPE FUNCTION IS NOT AVAILABLE ON THE 2752A TTY. 
X10101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  XCAL
 **PROGRAM TITLE: 
  EXTENDED PRECISION CALCULATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    CALCULATOR      PRECISION 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE (XCAL) PROGRAM ALLOWS THE ENTRY OF PROGRAMS INTO THE COMPUTER 
  WITHOUT THE NECESSITY FOR A FORMAL WRITTEN PROGRAM.  TO ACCOMPLISH
  THIS THE COMPUTER AND TELEPRINTER ARE EMPLOYED IN A MANNER SIMILAR
  TO THAT USED FOR OPERATING MANY DESK-TOP CALCULATORS.  THE TELEPRINTER
  KEYBOARD SERVES TO ENTER INTEGER OR FLOATING POINT DECIMAL NUMBERS, 
  AND COMMAND 48 DIFFERENT ARITHMETIC OPERATIONS AND FUNCTIONS.  THIS 
  CALCULATOR SYSTEM MAY BE USED IN (PROGRAM MODE) FOR REPEATED COMPUTATION
  OF LONG FORMULAS CONSISTING OF MANY DISSIMILAR STEPS.  TEN DECIMAL
  PLACES OF ACCURACY ARE GUARANTEED.
  
  THE BCS FORTRAN IV LIBRARY (24149) IS REQUIRED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  1.  USUAL ASSEMBLY AND LOAD PROCEDURES FOR XCAL AND ITS SUBROUTINES TTX 
      AND XTAN.  THE BCS FORTRAN IV LIBRARY 24149 AND THE REGULAR LIBRARY 
      MUST BE LOADED. 
  
  2.  SET SELECT CODE FOR TELETYPE INTO SWITCH REGISTER, BITS 0 - 5.
      PRESS "RUN".  PROGRAM XCAL IS SELF-CONFIGURING AND I/O IS 
      CONVERSATIONAL. 
  
  3.  AT PROGRAM-START ALL REGISTERS ARE RESET, AND THE PROGRAM TITLE IS
      PRINTED:
  
      EXTENDED PRECISION CALCULATOR 
  
      TYPE # OF FRACTIONAL DIGITS YOU WANT: 
      8 
      READY 
  
          0.00000000     0.00000000     0.00000000     0.00000000 
  
      INPUT OF A SINGLE DECIMAL DIGIT IS USED TO SELECT THE NUMBER OF 
      DECIMAL PLACES TO THE RIGHT OF THE DECIMAL POINT TO BE DISPLAYED IN 
      RESULTS.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE "XCAL"-PROGRAM ALLOWS TO USE THE HP-COMPUTER AND THE TELETYPE 
  PERIPHERAL AS A CALCULATOR-CONFIGURATION, WHICH IS SIMILAR TO OPERATE 
  TO MANY DESK-TOP CALCULATORS PRESENTLY ON THE MARKET.  THE KEYBOARD 
  OF THE TELETYPE SERVES TO COMMAND UP TO 48 DIFFERENT ARITHMETIC 
  OPERATIONS AND FUNCTIONS AND TO ENTER DECIMAL VARIABLES.
  
  THE PROGRAM MAY BE USED IN "PROGRAM-MODE" FOR REPEATED COMPUTATION OF 
  LONG FORMULAS CONSISTING OF MANY DIFFERENT OPERATING STEPS. 
  
  THE PROGRAM CONSISTS OF ONE ACCUMULATOR (ACC) 
  3 STORAGE REGISTERS X, Y AND Z AND
  3 DATA-BUFFERS      U, V AND W. 
  
  THE ACC AND X, Y AND Z ARE DISPLAYED ON TELETYPE. 
  
  ARITHMETIC OPERATIONS:
  
       * = MULTIPLY ACC BY VAR
       / = DIVIDE ACC BY VAR
       + = ADD VAR TO ACC 
       - = SUBTRACT VAR FROM ACC
         = NEGATIVE SIGN FOR DECIMAL VARIABLES
       % = ACC IN % OF VAR (VAR=100%) 
  
  AFTER ENTRY OF SUCH AN OPERATOR-CODE, A DECIMAL VARIABLE MUST BE ENTERED
  TO EXECUTE THE OPERATION.  EVERY VARIABLE ENTERED, MUST TERMINATE WITH
  CR/LF.  IF DECIMAL ZERO IS ENTERED, THE VARIABLE IS ASSUMED TO BE 
  SYMBOLIC.  A NAME OF A REGISTER OR "E"(I.E., 2.71828...) OR "PI"
  (I.E., 3.1415...) CAN THEN BE TYPED.
  
  ARITHMETIC FUNCTIONS: 
  
  ALL FUNCTIONS ARE PERFORMED UPON THE CURRENT VALUE IN ACC:
  
       B = CLEAR ALL REGISTERS + LOOPCOUNTER
       C = COS(ACC) 
       D = ACC * 2.0 (DOUBLE-UP ACC)
  
       G = FOLLOWED BY X = RECALL X INTO ACC
                       Y =    "   Y  "    " 
                       Z =    "   Z  "    " 
                       U =    "   U  "    " 
                       V =    "   V  "    " 
                       W =    "   W  "    " 
                       # =  LOOPCOUNTER INTO ACC
                       P = "PI"  = 3.141592... INTO ACC 
                       E = "EXP" = 2.718281... INTO ACC 
       H = PROGRAM HALT, PRESS "RUN" TO CONTINUE, REGISTERS REMAIN
           UNALTERED. 
       I = 1.0 / ACC   (ACC RECIPROCAL) 
  
       M = ABS(ACC) 
       N = -ACC 
       O = ACC<=X<=Y<=Z<=ACC  (ROTATE REGISTERS)
       R = SQRT(ACC)
       S = SIN(ACC) 
       T = TAN(ACC) 
       U = STORE ACC IN U 
       V =   "    "  "  V 
       W =   "    "  "  W 
       X =   "    "  "  X 
       Y =   "    "  "  Y 
       Z =   "    "  "  Z 
  
  (SPACE)= CLEAR ACC TO 0.0 
       . = DECIMAL POINT IN VARIABLES 
         = OR CHANGE OF DECIMAL PLACES IN DISPLAY 
       ? = DISPLAY ACC
       = = DISPLAY ACC, X, Y AND Z
      CR = CR (NO OPERATION)
      LF = LF (NO OPERATION)
  
   0 - 9 = VALID DECIMAL DIGITS 
       $ = SUM-UP N(VAR) IN ACC 
           UNTIL ZERO IS ENTERED
       & = FOLLOWED BY X, Y OR Z
           SAME AS "$" AND THE SQUARES OF N(VAR) ARE ACCUMULATED IN 
           X, Y OR Z
  
  FOR USE IN "PROGRAM-MODE":
  
       ( = START ENTERING PROGRAM STEPS 
       # = STORE ACC INTO LOOPTERMINATOR
         = OR TO REPRESENT THE LOOPCOUNTER
           IS INCREASED BY +1.0 EACH LOOP.  ENTER ONLY INTEGER VARIABLES
           INTO LOOPTERMINATOR TO ENSURE SUCCESSFUL COMPLETION OF LOOP. 
           NOTE THAT A SINGLE LOOP ONLY IS PERMITTED IN A PROGRAM.
       : = ENTER LOOP STATE 
       < = REPEAT LOOP, IF NOT FINISHED 
       _ = DELETES STEP PREVIOUSLY ENTERED  (UNDERLINE OR LEFT ARROW) 
       ) = STOP PROGRAM ENTERING MODE 
       > = START EXECUTING PROGRAM IN STORE 
  CTRL/TAPE = LISTS(PUNCHES) THE STORED PROGRAM WITH TRAILERS.
                 HALT 77 OCCURS; PRESS "RUN" TO CONTINUE OPERATIONS.
  
  (MAXIMUM STORAGE SPACE FOR PROGRAM STEPS IS 200.  ONE PROGRAM ONLY
  CAN BE LOADED INTO PROGRAM STORAGE AT ANY GIVEN TIME.)
  
  "          " 2 QUOTATION MARKS SERVE TO INCLUDE ANY COMMENT DURING
               CALCULATIONS.
  
  THIS SYSTEM PRINTS "ILLEGAL!" SHOULD ANY UNLISTED COMMAND CODE BE 
  ENTERED.
  
  OPTIONS:
  
  SWITCHREGISTER SWITCH 0 UP SUPPRESSES DISPLAY OF Z
                        1 UP                       Y
                        2 UP                       X
                        3 UP                       ACC
                       12 UP CANCELS ANY EXECUTION MODE 
                       15 UP VALUES IN DEGREES
                       15 DN VALUES IN RADIANS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF ANY COMMAND CODE, NOT CONTAINED IN THE ATTACHED LIST, IS ENTERED, THE
  TELETYPE PRINTS "ILLEGAL!".  NO ERROR-HALT OCCURS AND NONE OF THE REGI- 
  STER VALUES IS LOST.
  
  IF THE TELETYPE WRITES "OVERFLOW", THE CURRENT VALUE IN THE ACCUMULATOR 
  IS LOST DUE TO EXCEEDING REGISTER CAPACITY. 
  
  
 **MISCELLANEOUS: 
  
  THE TWO FUNCTIONS "$" AND "&" ARE AVAILABLE ONLY FOR NORMAL-MODE- 
  OPERATION AND NOT FOR PROGRAM-MODE-OPERATION BECAUSE OF 4K STORAGE
  CONSIDERATIONS.  THE CTRL/TAPE FUNCTION IS NOT AVAILABLE ON THE 
  2752A TTY.
X10201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP BASIC TO FORTRAN TRANSLATOR FOR DOS/DOS-M
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    BASIC           FORTRAN         TRANSLATOR
  
  
 **LANGUAGES: 
    SNOBOL
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM TRANSLATES AN HP BASIC PROGRAM INTO A FORTRAN PROGRAM. 
  IT TRANSLATES THE FOLLOWING STATEMENTS:  DATA, LET, GO TO, INPUT, 
  DIM, END, IF...THEN, READ, PRINT, GOSUB, RETURN, FOR, NEXT, RESTORE,
  DEF, AND STOP.  LIMITATIONS ARE STATEMENTS CONSTRAINING MAT AND STRING
  CHARACTERS SUCH AS A$.
  
  THE TRANSLATOR OPERATES IN A DOS OR DOS-M ENVIRONMENT WITH AT LEAST 
  24K OF CORE.  IT IS WRITTEN IN SNOBOL AND REQUIRES THE SNOBOL TRANSLATOR
  FROM THE CONTRIBUTED LIBRARY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  THIS TRANSLATION REQUIRES TWO PASSES: 
  
  *CALL BASIC/FORTRAN TRANSLATOR BY USUAL PROCEDURE:
   (SUPPOSING THE SOURCE FILE OF BASIC/FORTRAN TRANSLATOR HAS BEEN STORED 
  WITH THE NAME:  BASF) 
  TYPE:           :JF,BASF
                  :PR,SNOB,2,99 
  OR (SUPPOSING THE RELOCATABLE FILE OF BASIC/FORTRAN TRANSLATOR HAS BEEN 
  STORED WITH THE NAME:  RBF) 
  TYPE:           :PR,SNOB,,,,2 
  THE FOLLOWING MESSAGE IS PRINTED ON TELEPRINTER:
                ENTER FILE NAME 
  TYPE:         RBF 
  
  * WAIT UNTIL THE MESSAGE "NOM DU PROGRAMME" IS PRINTED ON TELEPRINTER.
  * TYPE THE NAME YOU WANT THE FORTRAN PROGRAM TO BE GIVEN.  (THIS NAME 
    MUST HAVE UP TO FIVE CHARACTERS.) 
  
  THE FOLLOWING QUESTIONS WILL APPEAR ON THE TELEPRINTER: 
       LU DU PERIF. DE SORTIE ? 
  GIVE LOGICAL UNIT OF THE OUTPUT DEVICE FOR THE FORTRAN TRANSLATION. 
  (4 FOR TAPE PUNCH, 8 FOR MAGNETIC TAPE UNIT.) SWITCH ON THE DEVICE. 
       LU DU PERIF, D'ENTREE? 
  GIVE LOGICAL UNIT OF THE INPUT DEVICE FROM WHICH THE BASIC PROGRAM WILL 
  BE READ.  (5 FOR TAPE READER, 8 FOR MAGNETIC TAPE UNIT, 2 FOR DISC.)
  SWITCH ON THE DEVICE.  IF YOU HAVE ANSWERED : 2, TO THE LAST QUESTION,
  THE FOLLOWING QUESTION APPEARS: 
       NOM DE VOTRE FILE? 
  GIVE THE NAME OF THE FILE IN WHICH THE BASIC PROGRAM IS.
  
  THE FIRST PASS BEGINS.  A LISTING OF THE BASIC PROGRAM IS PROVIDED. 
  
  AT THE END OF THE FIRST PASS, IF THE LOGICAL UNIT OF THE INPUT DEVICE 
  IS 5, THE FOLLOWING MESSAGE IS PRINTED ON TELEPRINTER:
       I/O ERR ET EQT ## N
       REPLACER LA BANDE SUR LE LECTEUR 
       ET TAPEZ : GO
  
  * MAKE THE LINE PRINTER EJECT ONE PAGE
  * PLACE THE BASIC TAPE ON TAPE READER AGAIN 
  
  * TYPE: 
  
                        GO
  
    THE RESULT OF THE FIRST PASS IS PRINTED ON LINE PRINTER AND PUNCHED.
  
  * WHEN ALL STOPS :
  TYPE: 
            : UP,N
            : GO
  
    THE SECOND PASS BEGINS, PROVIDING A LISTING AND A TAPE OF THE 
    TRANSLATED PROGRAM. 
  
    AT THE END, THE FOLLOWING MESSAGE IS PRINTED ON TELEPRINTER:
  
            I/O ERR ET EQT ## N 
        SNOBOL HP FRANCE - FIN DE L'INTERPRETATION
                           XXXX GARBAGE COLLECTION
  
  * BEFORE GETTING THE TRANSLATED TAPE, PUNCH ABOUT FOUR INCHES OF FEED-
    HOLES BY PRESSING THE SWITCH "FEED-HOLES" ON TAPE PUNCH.
                              ----
  DURING THE TRANSLATION, THE FOLLOWING MESSAGES MAY BE PRINTED:
  
  * ORDRE NON TRADIUT, IF AN ATTEMPT IS MADE TO TRANSLATE A STATEMENT 
    NOT YET TREATED, TRANSLATION GOES ON BUT THE TRANSLATED TAPE IS 
    UNUSABLE. 
  
    TRADUCTION IMPOSSIBLE TASSEZ LES NOS DE LIGNE 
  
    IF THE STATEMENT-NUMBERS USED IN THE BASIC PROGRAM ARE TOO BIG: 
    BASIC/FORTRAN TRANSLATOR NEEDS TO CREATE NEW STATEMENT-NUMBERS. 
    THESE NUMBERS DECREASE FROM 9900, AND WHEN THEY HAPPEN TO MEET THE
    NUMBERS OF THE BASIC PROGRAM, TRANSLATION IS STOPPED. 
  
  NOTE:  THE LAST INSTRUCTION IN A BASIC PROGRAM IS OFTEN:  9999 END. 
         THIS INSTRUCTION, OF COURSE, CAUSES THE PRECEDING MESSAGE TO BE
         WRITTEN. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X10301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  SUPER BASIC FOR DOS-M 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    BASIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  SUPER BASIC FOR DOS-M IS ESSENTIALLY EQUIVALENT TO HP'S SINGLE TERMINAL 
  BASIC SYSTEM HP20392A.  SOME IMPORTANT DIFFERENCES INCLUDE THREE (3)
  ADDITIONAL COMMANDS:  PUNCH FOR HIGH-SPEED PUNCH TAPE OUTPUT, PLIST FOR 
  LINE PRINTER OUTPUT, AND LOAD FOR INPUTTING USER PROGRAMS FROM DOS-M
  SOURCE FILES.  THIS PROGRAM USES THE DISC WORK AREA FOR TEMPORARY 
  STORAGE ALLOWING A TOTAL USER PROGRAM AND ARRAY STORAGE OF 32K WORDS. 
  SWITCH REGISTER CONTROL OUTPUT, TERMINATE EXECUTION, AND DELETE (REMARK)
  STATEMENTS.  STATEMENT NUMBERS RANGE FROM 1 TO 32767. 'GOTO' AND 'GOSUB'
  STATEMENTS MAY BE FOLLOWED BY ARITHMETIC EXPRESSIONS OR LINE NUMBERS. 
  
  REQUIRES 16K DOS-M WITH EAU.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: RELOCATABLE 
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: SOURCE
  FILE# 10: SOURCE
  FILE# 11: SOURCE
  FILE# 12: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE FOLLOWING DIFFERENCES BETWEEN SINGLE TERMINAL BASIC AND SUPER BASIC 
  EXIST:
  
  1.  IN RUN MODE, HITTING A KEY RETURNS YOU TO DOS-M "@" RATHER THAN TO
      BASIC.
  
  2.  INTERRUPT ON ESC HAS BEEN DELETED.
  
  3.  THE EDITING FEATURES OF DOS-M HAVE BEEN RETAINED. 
  
      CNTL-A DELETES THE PREVIOUS CHARACTER 
      RUBOUT DELETES THE CURRENT LINE 
      CR LF MUST BE USED INSTEAD OF CR
  
  4.  WHEN THE SYSTEM HAS ACCEPTED THE PREVIOUS INPUT LINE IT SIGNALS THE 
      USER BY PRINTING "!" AND A SPACE " ".  THE NEXT STATEMENT OR
      COMMAND CAN THEN BE TYPED IN BY THE USER. 
  
  5.  THE FOLLOWING THREE (3) SYSTEM COMMANDS HAVE BEEN ADDED:
  
      A.  PUNCH UTILIZES THE HIGH SPEED PUNCH FOR OUTPUT. 
  
      B.  PLIST UTILIZES THE LINE PRINTER FOR OUTPUT. 
  
      THE SYNTAX FOR THE PUNCH, PLIST, AND LIST COMMANDS IS AS FOLLOWS: 
       COMMAND M,N
       WHERE M IS STARTING LINE NUMBER
             N IS ENDING LINE NUMBER
  
       IF N IS ABSENT ALL STATEMENTS STARTING WITH M WILL BE LISTED.
       IF BOTH M AND N ARE ABSENT ALL STATEMENTS WILL BE LISTED.
  
      C.  LOAD ALLOWS BASIC SOURCE STATEMENTS PREVIOUSLY STORED IN DOS-M
          FILES TO BE ENTERED INTO THE PROGRAM.  NO PROVISION IS MADE TO
          SAVE FILES. 
  
           EXAMPLE:    LOAD XXXXX 
  
          WHERE XXXXX IS ANY ACCEPTABLE DOS-M FILE NAME 
          NO CHECK IS MADE ON THE FILE TYPE BEFORE LOADING. 
      NOTE:  IT IS SUGGESTED THAT $EX18 BE CORE RESIDENT IN THE DOS-M 
             SYSTEM AS IT GREATLY REDUCES LOAD TIME FROM DISK FILES.
  
  6.  SEVERAL SPECIAL SWITCH REGISTER FUNCTIONS HAVE BEEN INCORPORATED. 
  
      SW15=1  ALL PROGRAM OUTPUT GOES TO LINE PRINTER 
      SW15-0  ALL PROGRAM OUTPUT GOES TO SYSTEM TTY OR CRT
      SW14=1  TERMINATE EXECUTION OR LISTING AND RETURN TO READY. 
              SWITCH 14 MUST BE RESET TO 0 AFTER READY IS PRINTED.
      SW13=1  DELETE ALL REM STATEMENTS FROM PROGRAM.  IF SWITCH 13 IS
              SET TO 1 ALL SUCCEEDING REM STATEMENTS WILL BE IGNORED UNTIL
              SWITCH 13 IS SET TO 0.
  
  7.  THE SYNTAX HAS BEEN MODIFIED TO ALLOW CONDITIONAL EXECUTION OF
      STATEMENTS OF THE FORM. 
  
      XXX IF (EXP) THEN (ANY EXECUTABLE STATEMENT)
      WHERE XXX = LINE NUMBER 
          (EXP) = VALID BASIC EXPRESSION
  
      IF THEN STATEMENTS FROM CURRENT SINGLE TERMINAL BASIC PROGRAMS ARE
      ACCEPTABLE BUT WILL LIST AS IF THEN GOTO STATEMENTS.
  
      EXAMPLE:
                  10 IF I=1 THEN LET J=10 
                  20 IF I=1 THEN GOTO 5 
                  30 IF I=1 THEN PRINT I
                  40 IF J=0 THEN RETURN 
  
      THE GOTO AND GOSUB STATEMENT SYNTAX HAS BEEN MODIFIED TO ALLOW
      ARITHMETIC EXPRESSIONS OR LINE NUMBERS AS THE BRANCH POINT.  THE
      EXPRESSIONS WILL BE EVALUATED AND TRUNCATED TO AN INTEGER BEFORE
      EXECUTION OF THE PROGRAM BRANCH.
  
      EXAMPLE:
                   5 GOTO 5 
                  10 GOTO I   WILL GO TO THE LINE NUMBER SPECIFIED BY 
                              CURRENT VALUE OF I
                  20 GOSUB (J*100+5)  FOR J=1 THIS STATEMENT IS THE SAME
                                      AS 20 GOSUB 105 
  
  8.  VARIABLE NAMES HAVE BEEN RESTRICTED TO AX WHERE X=BLANK,1,0.
  
      EXAMPLE:  A1,AO,A 
  
      ARRAY VARIABLES REMAIN UNCHANGED
  
  9.  32K OF PROGRAM AND ARRAY STORAGE IS AVAILABLE FOR USER PROGRAMS.
      THIS IS SUFFICIENT FOR A 2000 TO 3000 STATEMENT PROGRAM.
  
  10. SEVERAL ERROR MESSAGES HAVE BEEN ADDED. 
  
      ERROR #     DEFINITION
  
       72         OUT OF CORE DURING BUFFER ALLOCATION (AT LEAST 256
                  WORDS OF FREE CORE IS REQUIRED FOR BUFFERS.  THE SYSTEM 
                  MUST BE REGENERATED WITH FEWER CORE RESIDENT MODULES) 
  
       73         BASIC SYSTEM PROGRAM ERROR (BASIC IS TRYING TO WRITE TO 
                  AN INVALID VIRTUAL ADDRESS.  THIS SHOULD NEVER OCCUR BUT
                  IF IT DOES THE SYSTEM PROGRAM HAS A BUG IN IT.) 
  
       74         INVALID CONDITIONAL EXECUTABLE STATEMENT (STATEMENT 
                  TYPE FOLLOWING IF THEN PAIR IS NOT RECOGNIZABLE.) 
  
       75         FILE NOT ON DISC (LOAD STATEMENT WITH FILE NAME NOT IN
                  DISC DIRECTORY).
  
  11. ACCEPTABLE STATEMENT NUMBERS NOW RANGE FROM 1-32767.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  DVR12 MUST BE MODIFIED TO INCLUDE BASIC IN ITS NAME TABLE OF SPECIAL
  PROGRAMS FOR PROPER OPERATION OF THIS PROGRAM.
  
  DOS-M BASE PAGE CONSTANTS ARE UTILIZED FOR BASIC.  CALL STATEMENTS HAVE 
  BEEN RETAINED SO THE USER COULD IMPLEMENT HIS OWN SUBROUTINES.
X10401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS-M RELOCATABLE REVERSE ASSEMBLER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER       INVERSE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL REVERSE ASSEMBLE (PRODUCE AN ASSEMBLY TYPE LISTING) 
  FROM RELOCATABLE OBJECT CODE LOCATED IN DISC FILES, THE 'JBIN' AREA OF
  THE DISC, THE DISC-RESIDENT LIBRARY, MAGNETIC TAPE, OR PAPER TAPE.  THE 
  RELOCATABLE OBJECT CODE MAY HAVE BEEN PRODUCED BY EITHER THE ASSEMBLER
  OR A COMPILER USING A DOS-M SYSTEM. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  TO START THE PROGRAM EXECUTING, GIVE THE COMMAND: 
  
        :PROG,RBMSA,P1,P2,P3
  
  WHERE P1 = LOGICAL UNIT NUMBER OF INPUT DEVICE
             0 (OR NOT GIVEN): JBIN AREA
             2: USER FILE--PROGRAM WILL REQUEST FILE NAME 
             3: DISC-RESIDENT LIBRARY 
             OTHER: LUN P1
        P2 = LOGICAL UNIT NUMBER OF LIST DEVICE (6 ASSUMED IF NOT GIVEN)
        P3 = LINES/PAGE ON LISTING (56 ASSUMED IF NOT GIVEN)
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  PAGE  0001  RBMSA       PROGRAM NAME IS PUT IN THE PAGE HEADER. 
  
                          PARAMETERS PRINTED IN OCTAL (IF PRESENT)
  0001                     NAM RBMSA,3,143,0,0,0,0,0,0
  0002* A  03625R  00000B  00000C 
  ASSEMBLED  !       !       !--------COMMON LENGTH(OCTAL)
             !       !----------------BASE PAGE LENGTH(OCTAL) 
             !------------------------MAIN PROGRAM LENGTH(OCTAL) ASSEMBLED
                                      PROGRAMS ONLY 
  0002* C  00000B  00000C 
  COMPILED   !       !----------------COMMON LENGTH(OCTAL)
             !------------------------BASE PAGE LENGTH(OCTAL) 
  
  ENT AND EXT RECORDS ARE PRINTED ONE ENTRY PER LINE.  THESE ENTRIES ARE
  USED FOR OPERANDS, AND THE ENT ENTRIES ARE USED FOR LABELS (SEE EXAMPLE 
  OUTPUT).
  
  END STATEMENTS WILL INCLUDE THE TRANSFER ADDRESS IF PRESENT.  IT MAY BE 
  EITHER A RELOCATABLE ADDRESS OR A SYMBOLIC OPERAND (FROM ENT ENTRIES).
  
  :PR,RBMSA,2 
  INPUT FILENAME OR /E     FILE NAMES ARE INPUT FROM THE BATCH DEVICE.
  REDEX                    IF THE BATCH DEVICE IS NOT THE SYSTEM TTY, 
  INPUT FILENAME OR /E     THE PROGRAM DOES NOT ASK FOR THE FILE NAME 
  /E                       BUT READS THE FILE NAME FROM THE BATCH DEVICE. 
X10501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  8K SIO RELOCATABLE REVERSE ASSEMBLER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER       INVERSE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    MTS       SIO 
  
 **MEMORY REQUIREMENTS: 
  8K + MAG TAPE FOR MTS; 4K FOR SIO 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL REVERSE ASSEMBLE (PRODUCE AN ASSEMBLY TYPE LISTING) 
  FROM RELOCATABLE OBJECT CODE LOCATED ON PAPER TAPE.  THE RELOCATABLE
  OBJECT CODE MAY HAVE BEEN PRODUCED BY EITHER THE ASSEMBLER OR A 
  COMPILER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1:  ASSEMBLE THE SOURCE TAPES TO PRODUCE AN OBJECT ABSOLUTE BINARY
      TAPE.  ASSEMBLE WITH THE Z OPTION IF THE LIST DEVICE IS A LINE- 
      PRINTER.  ASSEMBLE WITH THE N OPTION IF THE LIST DEVICE IS NOT A
      LINEPRINTER.
  
  2:  LOAD THE BINARY TAPE USING THE BASIC BINARY LOADER. 
  
  3:  LOAD AND CONFIGURE THE DESIRED SIO LIST AND INPUT DRIVERS.
  
  4:  IF A CONFIGURED TAPE IS DESIRED, LOAD AND EXECUTE THE SIO SYSTEM
      DUMP. 
  
  5:  SET STARTING ADDRESS TO 100B. 
  
  6:  LOAD THE RELOCATABE TAPE IN THE INPUT DEVICE. 
  
  7:  RUN     (THE TAPE WILL BE REVERSE ASSEMBLED)
  
  
             HLT 11B     CHECKSUM ERROR.
             HLT 75B     ERROR:  ILLEGAL RECORD TYPE OR ORDER.
             HLT 76B     END-OF-TAPE ON OTHER THAN END RECORDS. 
             HLT 77B     END-OF-TAPE AFTER END RECORDS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE PROGRAM NAME IS PUT IN THE PAGE HEADER. 
  
  IN NAM RECORDS, THE OPTIONAL PARAMETERS ARE PRINTED IN OCTAL (IF
  PRESENT ON THE TAPE).  THE LINE IMMEDIATELY FOLLOWING THE NAM STATEMENT 
  IS IN THE FORM OF A COMMENT.  THE FIRST LETTER DESIGNATES WHETHER THE 
  PROGRAM WAS ASSEMBLED ("A"), OR COMPILED ("C").  THE TWO OR THREE 
  NUMBERS FOLLOWING THE LETTER DESIGNATE THE PROGRAM LENGTHS.  AN "R" 
  FOLLOWING THE NUMBER SIGNIFIES THE MAIN PROGRAM LENGTH (NOT AVAILABLE 
  FOR COMPILED PROGRAMS), A "B" FOR BASE PAGE LENGTH, AND "C" FOR COMMON
  LENGTH.  ALL OF THESE NUMBERS ARE OCTAL.
  
  
  ENT AND EXT RECORDS ARE PRINTED ONE ENTRY PER LINE.  THESE ENTRIES ARE
  USED FOR LABELS AND OPERANDS. 
  
  END STATEMENTS WILL INCLUDE THE TRANSFER ADDRESS IF PRESENT.
  
  THE OPERANDS MAY BE EITHER SYMBOLIC (FROM THE ENT/EXT ENTRIES) OR A 
  RELOCATABLE ADDRESS.  THE ADDRESSES ARE IN OCTAL FOLLOWED BY A LETTER 
  DESIGNATING THE TYPE OF ADDRESS: "R"-MAIN PROGRAM, "B"-BASE PAGE
  RELOCATABLE, "C"-COMMON, "X"-EXTERNAL REFERENCE, OR NO LETTER-ABSOLUTE
  BASE PAGE.
  
  WHEN LISTING ON A LINEPRINTER, THE PROGRAM ASSUMES 60 LINES/PAGE AND
  THAT THE PRINTER IS IN THE AUTO-PAGE-EJECT MODE OF OPERATION. 
X10601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  8K SIO ABSOLUTE REVERSE ASSEMBLER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER       INVERSE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SIO       MTS 
  
 **MEMORY REQUIREMENTS: 
  4K - SIO;  8K & MAG TAPE FOR MTS
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL REVERSE ASSEMBLE (PRODUCE AN ASSEMBLY TYPE LISTING) 
  FROM ABSOLUTE OBJECT CODE LOCATED ON PAPER TAPE.  THE ABSOLUTE OBJECT 
  CODE MAY HAVE BEEN PRODUCED BY EITHER THE ASSEMBLER OR THE BCS RELOCAT- 
  ING LOADER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  ASSEMBLE THE SOURCE TAPE TO PRODUCE AN OBJECT ABSOLUTE BINARY TAPE. 
      ASSEMBLE WITH THE Z OPTION IF THE LIST DEVICE IS A LINEPRINTER. 
      ASSEMBLE WITH THE N OPTION IF THE LIST DEVICE IS NOT A LINEPRINTER. 
  
  2.  LOAD THE BINARY TAPE USING THE BASIC BINARY LOADER. 
  
  3.  SET ADDRESS 2.
  
  4.  LOAD THE SWITCH REGISTER WITH THE SELECT CODE OF THE INPUT DEVICE.
  
  5.  RUN 
  
  6.  THE COMPUTER WILL HALT WITH 102077(8) IN THE T-REGISTER.
  
  7.  LOAD AND CONFIGURE THE DESIRED SIO LIST DRIVER. 
  
  8.  IF A CONFIGURED TAPE IS DESIRED, LOAD AND EXECUTE THE SIO SYSTEM
      DUMP. 
  
  9.  SET STARTING ADDRESS TO 100B. 
  
  10. LOAD THE ABSOLUTE TAPE IN THE INPUT DEVICE. 
  
  11.  RUN     (THE TAPE WILL BE REVERSE ASSEMBLED).
  
  
  HALTS:          HLT 11B     CHECKSUM ERROR
                  HLT 77B     END-OF-TAPE 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE OPERAND ADDRESSES ARE IN OCTAL. 
  
  WHEN LISTING ON A LINEPRINTER, THE PROGRAM ASSUMES 60 LINES/PAGE AND
  THAT THE PRINTER IS IN THE AUTO-PAGE-EJECT MODE OF OPERATION. 
X10701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  EXTENDED PRECISION ARITHMETIC ROUTINES
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PRECISION       LIBRARY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE OF FIVE SUBROUTINES ALLOWS A USER TO PERFORM THREE-WORD
  EXTENDED PRECISION ARITHMETIC OPERATIONS.  THE EXTENDED REAL NUMBERS
  HAVE A 38-BIT MANTISSA PLUS A SIGN BIT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINT(S)
  
  DTE - CONVERSION OF REAL NUMBER (A 23-BIT MANTISSA) TO "EXTEND" 
        (A 38-BIT MANTISSA) 
  
  EDT - CONVERSION OF "EXTEND" TO REAL
  
  EAD - ADDITION OF TWO "EXTEND" NUMBERS
  
  EMP - MULTIPLICATION OF TWO "EXTEND" NUMBERS
  
  EDV - DIVISION OF TWO "EXTEND" NUMBERS
  
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
  EXT DTE 
  
  JSB DTE 
  
  DEF *+5 
  
  DEF D     ADDRESS OF 1ST WORD 
  
  DEF IE1)
         )
  DEF IE2> REPRESENTATION OF D (REAL) IN THREE WORDS OF "EXTEND"
         ) (19(DECIMAL) WORDS)
  DEF IE3)
  
  
  EXT ETD 
  
  JSB ETD 
  
  DEF *+5 
  
  DEF IE1)
         )
  DEF IE2>  "EXTEND" - TYPE NUMBER
         )
  DEF IE3)
  
  DEF D     REPRESENTATION OF AN "EXTEND" NUMBER IN REAL (22(10) WORDS) 
  
  
  EXT EAD 
  
  JSB EAD 
  
  DEF *+10
  
  DEF IA1)
         )
  DEF IA2>  FIRST ADDEND OF THE "EXTEND" NUMBER 
         )
  DEF IA3)
  
  DEF IB1)
         )
  DEF IB2>  SECOND ADDEND OF THE "EXTEND" NUMBER
         )
  DEF IB3)
  
  DEF IAD1
  
  DEF IAD2   ADDITION OF THE "EXTEND" (225(10) WORDS) 
  
  DEF IAD3
  
  
  EXT EMP 
  
  JSB EMP 
  DEF *+10
  
  DEF IA1)
         )
  DEF IA2>  1ST MULTIPLICAND OF THE "EXTEND" TYPE 
         )
  DEF IA3)
  
  DEF IB1)
         )
  DEF IB2>  2 MULTIPLICAND OF THE "EXTEND" TYPE 
         )
  DEF IB3)
  
  DEF IMP1) 
          ) 
  DEF IMP2>  PRODUCT OF THE "EXTEND" TYPE (339(10) WORDS) 
          ) 
  DEF IMP3) 
  
  
  EXT EDV 
  
  JSB EDV 
  
  DEF *+10
  
  DEF IA1)
         )
  DEF IA2>  DIVIDEND OF THE "EXTEND" TYPE 
         )
  DEF IA3)
  
  DEF IB1)
         )
  DEF IB2>  DIVISOR OF THE "EXTEND" TYPE
         )
  DEF IB3)
  
  DEF IDV1) 
          ) 
  DEF IDV2>  QUOTIENT OF THE "EXTEND" TYPE (261(10) WORDS)
          ) 
  DEF IDV3) 
  
  DECLARATIONS AND CALLING SEQUENCE - ALGOL 
  
  PROCEDURE DTE (D,IE1,EI2,EI3);
  VALUE D: REAL D; INTEGER IE1, IE2, IE3; CODE; 
         .
         .
         .
  DTE (. . .);
         .
         .
         .
         .
  PROCEDURE ETD (IE1,IE2,IE3,D);
  INTEGER IE1,IE2,IE3; REAL D; CODE;
         .
         .
         .
  ETD (. . .);
         .
         .
         .
  PROCEDURE EAD(IA1,IA2,IA3,IB1,IB2,IB3,IAD1,ADP2,ADP3);
  INTEGER IA1,IA2,IA3,IB1,IB2,IB3,IAD1,IAD2,IAD3;CODE 
         .
         .
         .
  EAD (. . .);
         .
         .
  PROCEDURE EMP(IA1,IA2,IA3,IB1,IB2,IB3,IMP1,IMP2,IMP3);
  INTEGER IA1,IA2,IA3,IB1,IB2,IB3,IMP1,IMP2,IMP3;CODE 
         .
         .
         .
  EMP (. . .);
         .
         .
          . 
  PROCEDURE EDV (IA1, IA2, IA3, IB1, IB2, IB3, IDV1, IDV2, IDV3); 
  INTEGER IA1,IA2,IA3,IB1,IB2,IB3,IDV1,IDV2,IDV3; CODE; 
         .
         .
         .
  EDV (. . .);
         .
         .
         .
  
  CALLING SEQUENCE - FORTRAN
  
            DTE(...)
              . 
              . 
              . 
            ETD(...)
              . 
              . 
              . 
            EAD(...)
              . 
              . 
              . 
            EMP(...)
              . 
              . 
              . 
           EDV(...) 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE RESULT OF EACH AND EVERY ARITHMETICAL OPERATION IS TESTED FOR 
  OVERFLOW BY ONE AND THE SAME METHOD.  IN CASE THAT THE EXPONENT OF THE
  RESULT EXCEEDS 177(8), THE RESULT IS ASSUMED TO BE THE MAX. NUMBER
  PERMITTED, WITH REGARD TO SIGN (I.E., EITHER 077777(8) 177777(8)
  177776(8) OR 100000(8) 000000(8) 000376(8)).
X10801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FIVE WORD EXTENDED PRECISION ARITHMETIC ROUTINES
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PRECISION       LIBRARY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE OF SIX SUBROUTINES ALLOWS A USER TO PERFORM FIVE-WORD
  EXTENDED PRECISION ARITHMETIC OPERATIONS. EACH REAL NUMBER HAS A
  63 BIT MANTISSA PLUS SIGN AND AN EXPONENT OF 7 BITS PLUS SIGN AND AN
  EXPONENT OF 7 BITS PLUS SIGN.  ARITHMETIC OPERATIONS ARE ROUNDED. 
  
  THESE ROUTINES ARE CALLABLE FROM ALGOL, FORTRAN, AND ASSEMBLER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINTS: 
  
  HAD - ADDITION OF TWO "HIGH" NUMBERS
  
  HMP - MULTIPLICATION OF TWO "HIGH" NUMBERS
  
  HDV - DIVISION OF TWO "HIGH" NUMBERS
  
  HCM - CHANGE OF SIGN OF A "HIGH" - TYPE NUMBER
  
  DTH - CONVERSION OF REAL-TYPE NUMBER TO "HIGH" - TYPE 
  
  HTD - CONVERSION OF "HIGH" - TYPE NUMBER TO REAL TYPE 
  
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
  EXT HAD 
  
  JSB HAD 
  
  DEF *+16
  
  DEF IA1 
  
  DEF IA3   ADDEND IN HIGH
  
  DEF IA4 
  
  DEF IA5 
  
  DEF IB1 
  
  DEF IB2 
  
  DEF IB3  ADDEND IN HIGH 
  
  DEF IB4 
  
  DEF IB5 
  
  DEF IC1 
  
  DEF IC2 
  
  DEF IC3  PRODUCT IN HIGH
  
  DEF IC4 
  
  DEF IC5  (306(10) WORDS)
  
  
  EXT HMP 
  
  JSB HMP 
  
  DEF *+16
  
  DEF IA1 
  
  DEF IA2 
  
  DEF IA3  1. MULTIPLICAND IN HIGH
  
  DEF IA4 
  
  DEF IA5 
  
  DEF IB1 
  
  DEF IB2 
  
  DEF IB3  2. MULTIPLICAND IN HIGH
  
  DEF IB4 
  
  DEF IB5 
  
  DEF IC1 
  
  DEF IC2 
  
  DEF IC3  PRODUCT IN HIGH
  
  DEF IC4 
  
  DEF IC5  (598(10) WORDS)
  
  
  EXT HDV 
  
  JSB HDV 
  
  DEF *+16
  
  DEF IA1 
  
  DEF IA2 
  
  DEF IA3  DIVIDEND IN HIGH 
  
  DEF IA4 
  
  DEF IA5 
  
  DEF IB1 
  DEF IB2 
  
  DEF IB3  DIVISOR IN HIGH
  DEF IB4 
  
  DEF IB5 
  
  DEF IC1 
  
  DEF IC2 
  
  DEF IC3  RESULT IN HIGH 
  
  DEF IC4 
  
  DEF IC5 (463(10) WORDS) 
  
  
  EXT HCM 
  
  JSB HCM 
  
  DEF *+11
  
  DEF IA1 
  
  DEF IA2 
  
  DEF IA3  THE NUMBER THE SIGN OF WHICH IS TO BE CHANGED
                           HIGH-TYPE
  DEF IA4 
  
  DEF IA5 
  
  DEF IC1 
  
  DEF IC2 
  DEF IC3  RESULT, AGAIN IN HIGH
  
  DEF IC4 
  
  DEF IC5  (40(10) WORDS) 
  
  
  DEF DTH 
  
  JSB DTH 
  
  DEF *+7  ADDRESS OF 1. WORD, REAL-TYPE
  
  DEF D 
  
  DEF IH1 
  
  DEF IH2 
  
  DEF IH3  REPRESENTATION OF D IN 5 WORDS, HIGH-TYPE
  
  DEF IH4 
  
  DEF IH5  (57(10) WORDS) 
  
  
  EXT HTD 
  
  JSB HTD 
  
  DEF *+5 
  
  DEF IH1  1.,2.,5., WORD OF THE HIGH-TYPE REPRESENTATION OF A NUMBER 
  
  DEF IH2 
  
  DEF IH5 
  
  DEF D    (23(10) WORDS)  RESULT, REAL-TYPE
  
  
  DECLARATION AND CALLING SEQUENCE - ALGOL
  
  PROCEDURE HAD (IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,IB5,IC1,IC2,IC3, 
                IC4,IC5); 
  INTEGER IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,IB5,IC1,IC2,IC3,IC4,IC5;
  
  CODE: 
  
  HAD(....);
  
  PROCEDURE HMP (IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,B5,IC1,IC2,IC3,
                IC4,IC5); 
  INTEGER IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,IB5,IC1,IC2,C3,IC4,IC5, 
  
  CODE: 
  
  HMP(....);
  
  PROCDURE HDV (IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,IB5,IC1,IC2,IC3,
               IC4,IC5);
  INTEGER IA1,IA2,IA3,IA4,IA5,IB1,IB2,IB3,IB4,IB5,IC1,IC2,IC3,IC4,IC5;
  
  CODE: 
  
  HDV(...); 
  
  PROCEDURE HCM (IA1,IA2,IA3,IA4,IA5,IC1,IC2,IC3,IC4,IC5);
  INTEGER IA1,IA2,IA3,IA4,IA5,IC1,IC2,IC3,IC4,IC5;
  CODE: 
  
  HCM(...); 
  
  PROCEDURE DTH (D,IH1,IH2,IH3,IH4,IH5);
  VALUE D; REAL D; INTEGER IH1,IH2,IH3,IH4,IH5: CODE; 
  
  
  
  
  DTH(....);
  
  PROCEDURE HTD (IH1,IH2,IH3,IH4) 
  
  PROCEDURE HTD (IH1,IH2,IH5,D);
  INTEGER IH1,IH2,IH5;REAL D; 
  
  CODE: 
  
  HTD(...); 
  
  CALLING SEQUENCE-FORTRAN
  HAD(.....)
  HMP(.....)
  HDV(.....)
  HCM(.....)
  
  
  DTH(.....)
  HTD(.....)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE RESULT OF EVERY ARITHMETICAL OPERATION ON HIGH-TYPE NUMBERS IS
  TESTED FOR OVERFLOW.  IN CASE THAT THE EXPONENT OF THE RESULT EXCEEDS 
  177, THE RESULT OF THE ARITHMETICAL OPERATION IN QUESTION IS ASSUMED
  TO EQUAL THE MAXIMUM NUMBER THAT CAN BE REPRESENTED, I.E., EITHER 
  07777(8)........, OR 10000......WITH AN EXPONENT OF 177(8).  NO OVERFLOW
  INDICATION IS PROVIDED. 
X10901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  IRND
 **PROGRAM TITLE: 
  RANDOM INTEGER NUMBER GENERATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  IRND(M) IS A FUNCTION SUBPROGRAM WHICH GENERATES PSEUDO RANDOM NUMBER 
  INTEGERS IN THE RANGE 0 < X < M - 1.  THE GENERATING RANDOM NUMBER
  STRING IS NOT AUTOMATICALLY RESTARTED WHEN THE PROGRAM IS RESTARTED.
  THIS CAN BE ACHIEVED BY THE FORTRAN CALLABLE SUBROUTINE (STRND).
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  IRND - CALCULATE RANDOM NUMBER
  STRND- RETURN TO THE START POINT OF THE FILE OF PSEUDO RANDOM NUMBERS.
  
  SAMPLE CALL IN FORTRAN LANGUAGE:
  
       N = IRND (5) 
  
  (ON RETURN N = NBR. IN RANGE 0 .. 4.) 
  
       CALL STRND 
  
  (THE RANDOM NUMBER GENERATOR WILL PRODUCE THE SAME FILE OF NUMBERS
  AGAIN.) 
  
  SAMPLE CALLS IN ASSEMBLER LANGUAGE: 
  
       JSB IRND                        IRND DECLARED AS EXTERNAL
       DEF * + 2
       DEF DEC5                        LABEL OF DECIMAL 5 
           (RETURN; (A) = NBR. IN RANGE 0 .. 4) 
       JSB STRND                       STRND DECLARED AS EXTERNAL 
       DEF * + 1
           (RETURN; RANDOM NUMBER GENERATOR RESET TO START POINT) 
  
  FOR MORE INFORMATION SEE SAMPLE PROGRAM "RNTST".
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE ARGUMENT M OR IRND(M) SHOULD BE A POSITIVE INTEGER.  HOWEVER, IF A
  NEGATIVE ARGUMENT IS USED, NO ERROR MESSAGE IS ISSUED; THE PROGRAM WILL 
  USE THE ABSOLUTE VALUE OF THE ARGUMENT. 
X11001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  RNDAF 
 **PROGRAM TITLE: 
  UNIFORMLY DISTRIBUTED PSUEDO-RANDOM NUMBER GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM          RANDOM
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  TWO SUBROUTINES USING THE SAME ALGORITHM TO COMPUTE UNIFORMLY 
  DISTRIBUTED PSEUDO-RANDOM NUMBERS AT THE INTERVAL (0,1) ARE INCLUDED
  IN THIS PACKAGE.  ONE IS FORTRAN OR ALGOL CALLABLE.  THE OTHER IS 
  STRICTLY FOR USE WITH ASSEMBLER MAIN PROGRAMS AND IS MUCH FASTER. 
  THE METHOD EMPLOYED IS DESCRIBED IN:  'APPLIED NUMERICAL METHODS',
  BY CARNAHAN, LUTHER, AND WILKES, P. 545.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DECLARATIONS AND CALLING SEQUENCE IN ALGOL
  
  REAL PROCEDURE RNDAF(AF); REAL AF; CODE;
        . 
        . 
        . 
  ... RNDAF(A) ...
        . 
        . 
        . 
  
  CALLING SEQUENCE IN FORTRAN 
  
        . 
        . 
        . 
  ... RNDAF(A) ...
        . 
        . 
        . 
  
  RNDAS 
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
      EXT RNDAS ... 
        . 
        . 
        . 
      JSB RNDAS 
        . 
        . 
        . 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X11101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CSMP
 **PROGRAM TITLE: 
  CONTINUOUS SYSTEM MODELING PROGRAM
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    SIMULATOR 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  (CSMP) IS A SET OF ROUTINES WHICH PROVIDE THE ENGINEER AND SCIENTIST
  WITH A SIMPLE YET VERSATILE MEANS FOR SIMULATING CONTINUOUS PROCESSES.
  IT PROVIDES A BLOCK-ORIENTED LANGUAGE HAVING A LARGE COMPLEMENT OF FUNC-
  TIONAL ELEMENTS FOR SPECIFYING THEIR INTERCONNECTION. 
  
  IT IS OPERABLE UNDER A DOS-M ENVIRONMENT ON A 16K MINIMUM MACHINE. INPUT
  IS ON CARDS, INITIALLY, AND THEN CAN BE TRANSFERRED TO PAPER TAPE 
  THROUGH THE USES OF THE PROGRAM.  OUTPUT IS 120 CHARACTERS WIDE AND 
  SHOULD BE ON A LINE PRINTER.
  
  REFERENCE IBM-1130 APPLICATION PROGRAM OPERATIONS MANUAL "1130 CSMP", 
  PART #GH20-0282-2.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  BEFORE CSMP IS USED FOR THE FIRST TIME, THE MAIN PROGRAM, SEGMENTS, AND 
  ASSOCIATED SUBROUTINES (IN SOURCE) MUST BE COMPILED OR ASSEMBLED AND THE
  ENSUING RELOCATABLES LOADED.  THIS PROCEDURE MUST BE FOLLOWED ONLY WHEN 
  A NEW SYSTEM IS BEING USED , WHEN A NEW SPECIAL SUBROUTINE IS BEING 
  IMPLEMENTED, OR WHEN A CHANGE HAS BEEN MADE TO ONE OF THE MAIN ROUTINES.
     STEP 0: TPYE - :PU,CSMP,CSM0,CSM1,CSM2,CSM3,CSM4,CSM5,CSM6,CSM7,CSMPF
  
     STEP 1: CREATE 3 SOURCE FILES THUSLY,
            A) LOAD TAPE 1 INTO PAPER TAPED READER AND STORE INTO A SOURCE
               FILE UNDER NAME (SORC1). TTY OR CRT WILL ASK: DONE?
            B) LOAD TAPE 2 INTO PAPER TAPE READER (PTR), TYPE NO ON THE 
               KEYBD. PTR WILL THEN READ TAPE 2 AND TTY OR CRT WILL ASK 
               ONCE AGAIN IF DONE.
            C) LOAD TAPE 3 INTO PRT AND TYPE NO ON KEYBD. PTR WILL THEN 
               READ TAPE 3 AND TTY OR CRT WILL ASK DONE? TYPE "YES" AND 
            D) LOAD TAPE 4 INTO PTR AND STORE IN SOURCE THE FIRST PART
               INTO ANY NAMED FILE (SORC2). WHEN TTY OR CRT ASKS IF DONE, 
               TYPED YES.  STORE IN THE SAME MANNER THE NEXT PART OF THE
               TAPE INTO ANOTHER SOURCE FILE (SORC3). 
  
     STEP 2: AT THIS POINT ANY MODIFICATON CAN BE MADE TO SORC1 IF DESIRED
             IE. SUB1, SUB2, SUB3, SUB4, OR SUB5 CAN BE ADDED. SORC2 AND
             SORC3 MUST NOT BE MODIFIED.
  
     STEP 3: TYPE A) :JO
                  B) :JF,SORC1
                  C) :PR,FTN4,2,99
                     :ST,R,RSOR1
                   :JO
                D) :JF,SORC2
                E) :PR,ASMB,2,99
                   :ST,R,RSOR2
                   :JO
                F) :JF,SORC3
                G) :PR,ASMB,2,99
                   :ST,R,RSOR3
                   :JO
                H) :PR,LOADR,2,,,1,1
                    RSOR1,RSOR2,RSOR3,/E
                I) :ST,P
  
     STEP 4: STORE A BINARY DATA FILE NAMED CSMPF  HAVING A SIZE OF 
             TWO SECTORS. 
  
                  :ST,B,CSMPF,2 
  
             AT THIS POINT CSMP IS READY FOR EXECUTION. 
  
             1. :PR,CSMP
             2. PUT CARDS IN THE CARD READER AND PRESS READY OR PUT THE 
                PAPER TAPE IN THE PHOTO READER AND PRESS LOAD IF INPUT
                IS ON TAPE. 
  
             RIGHT NOW INITIAL RUN MUST BE FROM CARDS.  THIS INITIAL RUN
             CAN BE USED TO MAKE A PAPER TAPE (LIKE THE ENCLOSED SAMPLE 
             TAPE) FOR FUTURE RUNS. 
  
  H-P CSMP WORKS WITH LOGICAL UNIT NUMBERS ASSIGNED THUSLY: 
  
           LU       EQUIPMENT 
          ----     -----------
           1        TTY OR CRT
           4        PAPER TAPE PUNCH UNIT 
           5        PAPER TAPE READER 
           6        LINE PRINTER
           8        CARD READER 
  
  AT DISK GEN TIME, IT IS RECOMMENDED TO EXCLUDE EFMP FROM THE DISC PACK
  AND ALSO TO PUT THE FOLLOWING ROUTINES IN CORE: 
  
      $SRCH 
      $EX05 
      $EX10 
      $EX11 
      $EX18 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SEE ALSO IBM 1130 APPLICATION PROGRAM OPERATIONS MANUAL "1130 CSMP" 
  PART NUMBER GH20-0282-2 
X11201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CIVIL ENGINEERING COORDINATE GEOMETRY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    GEOMETRY
  
  
 **LANGUAGES: 
    ASMB        FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K WITHOUT EFMP
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  HP (COGO) PROVIDES CIVIL ENGINEERS WITH AN EASY-TO-LEARN PROGRAMMING
  TOOL FOR SOLVING COORDINATE GEOMETRY PROBLEMS.  ENGINEERS CAN STATE 
  PROBLEMS IN FAMILIAR TERMINOLOGY SUCH AS AZIMUTH, 
  DEFLECTION, AND TRAVERSE AJUSTMENT, THUS NO PROGRAMMING IN THE USUAL
  SENSE, IS NECESSARY.  THE PROGRAMMING SYSTEM IS DESIGNED SPECIFICALLY 
  FOR COMPUTATION PROBLEMS IN AREAS SUCH AS CONTROL SURVEYS, HIGHWAY
  DESIGNS, SUBDIVISION WORK, LAND SURVEYING, RIGHT-OF-WAY SURVEYS, INTER- 
  CHANGE DESIGN, BRIDGE GEOMETRY AND CONSTRUCTION LAYOUT.  HOWEVER, (COGO)
  MAY BE USED IN OTHER APPLICATION AREAS. 
  
  REFERENCE IBM-1130 APPLICATION PROGRAM MANUAL, PART #GH20-0301-2
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  STORE ALL OF COGO IN ONE SOURCE FILE. COMPILE. STORE THE ASSEMBLER
  ROUTINE IN A SEPERATE SOURCE FILE. ASSEMBLE. USUAL LOAD PROCEDURES. 
  
  CREATE A DISC FILE COGOF HAVING 60 SECTORS; 
     :ST,B,COGOF,60 
  
  FOR MORE DETAILED INSTRUCTIONS SEE "STORING THE COGO PROGRAM ON DISK" 
  IN THE USERS MANUAL.
  
  RUN PROCEDURES AND DATA REQUIREMENTS ARE ALSO FOUND IN THE USER 
  MANUAL. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1. IT MAY BE NECESSARY FOR A USER TO CHANGE CERTAIN LU NUMBERS WITHIN 
     THE SOURCE LISTING BY USING THE FOLLOWING EDIT CMNDS.
  
      :EDIT,SCOGO,INPUT LU
       /R,64
             MOUT= LU OF PRINCIPLE OUTPUT DEVICE FOR COGO 
       /R,65
             IN= LU OF PRINCIPAL INPUT DEVICE FOR COGO
       /R,66
             MTYPE= LU OF TTY OR CRT IF DIFFERENT THAN THE NORMAL LU OF 1 
       /E 
  
     PRESENTLY, MOUT=6
                IN= 8 (CARD)
                MTYPE= 1
  
     IF A PUNCH UNIT OTHER THAN THE STANDARD PUNCH UNIT (LU=4) IS DESIRED 
     FOR PUNCHED TAPE OUTPUT, THE FOLLOWING EDIT PROCEDURE IS RECOMMENDED 
     BEFORE LOADING COGO: 
  
      :EDIT,SCOGO,1 
      /R,2508 
      300   MPCH= LU OF PUNCH DEVICE
      /R,2520 
      301   IF (MOUT - LU OF PUNCH DEVICE)) 304,310,304 
      /R,2537 
      315   IF (MOUT - (LU OF PUNCH DEVICE)) 316,317,316
      /E
  
  IF THE LU NUMBER OF THE PAPER TAPE READER IS NOT EQUAL TO 5, THE FOLLOW-
  ING EDIT PROCEDURE IS RECOMMENDED BEFORE LOADING COGO:
  
     :EDIT,SCOGO,1
     /R,375 
           IN= (LU OF PAPER TAPE READER)
     /E 
  
  THE PROCEDURE FOR LOADING COGO IS FOUND IN THE COGO USER'S MANUAL.
  
  2. FOR A FASTER EXECUTION OF COGO IT IS RECOMMMENDED THAT AT GEN TIME 
     (DISC) THE FOLLOWING MODULES BE MADE CORE RESIDENT:
       PRINTER DRIVER, DISC DRIVER, $EX05, $EX10, $EX11, $EX18, 
          AND $SRCH 
  
     WITH THESE MODULES CORE RESIDENT AN MP ERROR IS ENCOUNTERED; HOWEVER 
     IT IS WORTH WHILE TO RESOLVE THIS PROBLEM, ALLOWING COGO TO EXECUTE
     MUCH FASTER THAN WITH THESE MODULES DISC RESIDENT. 
X11301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PROBN 
 **PROGRAM TITLE: 
  NORMAL DISTRIBUTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    STATISTICS
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE FUNCTION RETURNS THE PROBABILITY OF EXCEEDING THE ABSOLUTE VALUE
  OF AN ARGUMENT, WHICH IS NORMALLY DISTRIBUTED WITH MEAN 0 AND VARIANCE
  1.  THE FUNCTION IS BASED ON A POLYNOMIAL TYPE APPROXIMATION WHICH GIVES
  A MAXIMUM ERROR OF 3*10**-7 (BETTER THAN MACHINE ACCURACY).  UNLIKE THE 
  NORMAL DISTRIBUTION INCLUDED IN THE HP22143 PACKAGE, WHICH LIMITS THE 
  ARGUMENT TO LESS THAN 6.0, THIS FUNCTION ALLOWS ALL VALUES OF THE ARGU- 
  MENT.  IT OPERATES IN A DOS OR DOS-M ENVIRONMENT AND IS CALLABLE FROM 
  FORTRAN AND ASSEMBLY LANGUAGE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
   PROBN
  
   CALLING SEQUENCE:   P=PROBN(X) 
  
                 OR:  JSB PROBN 
                      EXT PROBN 
                      DEF *+2 
                      DEF X 
                          (PROBABILITY RETURNED IN A AND B) 
  
              NO ERROR CONDITIONS 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X11401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  COMPLEX ARITHMETIC FOR HP BASIC 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    COMPLEX         BASIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    HP BASIC
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS BASIC CALLABLE SUBROUTINE ALLOWS ADDITION, SUBTRACTION, MULTIPLICA-
  TION AND DIVISION OF COMPLEX NUMBERS.  IT ALSO ALLOWS A NUMBER OF THE 
  FORM X1 + IX2 TO BE CONVERTED TO THE FORM L1 * E**(IF1) AND VICE VERSA. 
  THE CONTRIBUTED PROGRAM HP22078, HIGH SPEED PUNCH DRIVER - BASIC
  CALLABLE, CAN BE USED WITH THIS SUBROUTINE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE SUBROUTINE CONSISTS OF TWO CALL-ROUTINES: 
       CALL (8, T, X1, X2, Y1, Y2, Z1, Z2)
       CALL (9, T, X1, X2, L1, F1)
  WHERE T IS A SWITCH AND (X1, X2) = (X1 + IX2), (Y1, Y2) = (Y1 + IY2), 
  (Z1, Z2) - (Z1 + IZ2) AND (L1, F1) = L1* E**(IF1) ARE COMPLEX NUMBERS.
  
  IN CALL (8...) T, (X1, X2), (Y1, Y2) ARE INPUT VALUES AND (Z1, Z2) ARE
  OUTPUT VALUES.
  
  THE VALUE OF T DEFINES THE ARITHMETIC OPERATION:
       T=1   (Z1, Z2) <= (X1, X2) + (Y1, Y2)
       T=2   (Z1, Z2) <= (X1, X2) - (Y1, Y2)
       T=3   (Z1, Z2) <= (X1, X2) * (Y1, Y2)
       T=4   (Z1, Z2) <= (X1, X2) / (Y1, Y2)
  
  IN CALL (9...) CONVERSION TAKES PLACE.  THE VALUE OF T DETERMINES THE 
  DIRECTION OF CONVERSION:
       T=1   (X1, X2) => (L1, F1), (X1, X2) INPUT 
       T=2   (X1, X2) <= (L1, F1), (L1, F1) INPUT 
  
             (-PI < F1 </= PI)
  AN ERROR MESSAGE IS PRINTED IF T IS GIVEN AN ILLEGAL VALUE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1.THE FOLLOWING LINES IN THE SUBROUTINE MAY BE ALTERED TO SUIT ANOTHER
    BASIC COMPILER: 
                 LINE:
  
                  294               LDA     264B
                  300               STA     264B
                  307               STA     264B
  
                  318     TTY       EQU     102B
                  319     .BACK     OCT     2027
                  328     IFIX      EQU     1364B 
                  329     FMP       OCT     7416
                  330     FDV       OCT     7463
                  331     FAD       OCT     7343
                  332     FSB       OCT     7347
                  333     SIN       OCT     10647 
                  334     ATN       OCT     10532 
                  335     SQRT      OCT     10765 
  
                  343     PIBY2     OCT     10611 
                 (384*    M2        EQU     432B) 
  
  2.  THE SUBROUTINE EXPECTS AN ENTRY-ROUTINE, .ENTR, ON BASE PAGE.  IF 
      THE CONTRIBUTED DRIVER HP 22078 IS NOT USED, THE FOLLOWING ENTRY
      ROUTINE MUST BE COMPILED WITH THIS SUBROUTINE:
  
                            ORG 30B 
                      .ENTR NOP 
                            STA SORCE 
                            LDB .ENTR,I 
                            STB DEST
                            CMB,INB 
                            ADB .ENTR 
                            ADB M2
                            CMB,INB 
                            ISZ .ENTR 
                      .ENT1 LDA SORCE,I 
                            STA DEST,I
                            CCA 
                            ADA SORCE 
                            STA SORCE 
                            ISZ DEST
                            INB,SZB 
                            JMP .ENT1 
                            JMP .ENTR,I 
                      M2    EQU 432B
                      SORCE NOP 
                      DEST  NOP 
                                      END 
X11501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  64 BIT INTEGER LIBRARY
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    INTEGER         PRECISION       LIBRARY 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS LIBRARY PROVIDES THE CAPABILITY OF HANDLING INTEGER NUMBERS OF UP
  TO TWENTY DIGITS IN FORTRAN PROGRAMS.  IT IS ESPECIALLY USEFUL IN 
  PROGRAMS WHICH DEAL WITH LARGE NUMBERS AND REQUIRE PRECISION EVEN ON
  THE LEAST SIGNIFICANT DIGITS, SUCH AS BOOKKEEPING PROGRAMS.  IT WAS 
  DESIGNED TO OPERATE ON ANY DOS OR DOS-M SYSTEM WITH A FORTRAN COMPILER. 
  
  THE USER NEEDS ONLY TO DECLARE THE APPROPRIATE VARIABLES IN HIS FORTRAN 
  PROGRAM AS COMPLEX VARIABLES.  FOUR CONSECUTIVE WORDS WILL GENERATE 
  CALLS TO THE DIFFERENT SUBROUTINES OF THE 64-BIT INTEGER LIBRARY. 
  THESE LIBRARY SUBROUTINES HAVE THE SAME NAMES AS THE STANDARD COMPLEX 
  SUBROUTINES.
  
  THIS LIBRARY ALSO INCLUDES TWO ROUTINES TO CONVERT NUMBERS IN ASCII 
  FORMAT TO FOUR-WORD BINARY FORMAT AND VICE VERSA. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ASSEMBLE ALL SUBROUTINES, STORING RELOCATABLE BINARY IN JBIN USING 99 
  OPTION.  THEN BUILD RELOCATABLE FILE TYPING:
  
       :ST,R,RCLIB
  
  EACH 64-BIT INTEGER IS STORED IN 4 CONSECUTIVE WORDS, WITH BIT 15 
  OF THE FOURTH WORD BEING THE SIGN BIT.
  
  SO, EACH 64-BIT INTEGER MUST BE DECLARED AS A COMPLEX VARIABLE. 
  
  EXAMPLE:  IF Z = X + Y IS TO BE COMPUTED, WHERE X, Y AND Z ARE 64-BIT 
  INTEGERS, THE PROGRAM WILL BE:
  
            FTN4
               COMPLEX X, Y, Z
               -------
               -------
               Z = X + Y
  
  TO CHANGE A NUMBER IN ASCII FORMAT INTO A FOUR-WORD BINARY FORMAT, THE
  SUBROUTINE BIN4 MUST BE USED (SEE SECTION 4.3). 
  
  ON THE OTHER HAND, TO CHANGE A FOUR-WORD BINARY NUMBER INTO ASCII 
  FORMAT, THE SUBROUTINE ALPHA MUST BE USED (SEE SECTION 4.3):
  
  EXAMPLE:    FTN4
                 DIMENSION IX(7), IY(7), IZ(Z)
                 COMPLEX X,Y,Z
                 READ (1,2) IX
                 READ (1,2) IY
  
  
                 CALL BIN4 (IX,14,0,X)
                 CALL BIN4 (IY,14,0,Y)
                 ---- 
                 Z = X + Y
                 ---- 
                 CALL ALPHA (Z, 14, 0, IZ)
                 WRITE (1,2) IZ 
                 ---- 
                 ---- 
               2 FORMAT (7A2) 
  
  AT COMPILATION TIME, ANY OPERATION ON COMPLEX VARIABLES GENERATES CALLS 
  TO SOME OF THE FOLLOWING COMPLEX STANDARD SUBROUTINES.
  
                 .CADD
                 .CSUB
                 .CMPY
                 .CDIV
                 ..CCM
                 .ICPX
                 .CIWP
                 CMPLX
                 REAL 
  
  THE 64-BIT SUBROUTINES HAVE BEEN GIVEN THE SAME NAMES.  AT LOADING TIME,
  THEY ARE GIVEN FIRST SO AS TO BE LOADED INSTEAD OF THE STANDARD SUBROU- 
  TINES.
  
  PROCEDURE ON DOS-M: 
  
             :JO
             :PR,LOAD,2 
             ENTER FILE NAMES OR /E 
             RPROG, RCLIB, /E 
               |      |_________________NAME OF THE 64-BIT LIBRARY
               |                        RELOCATABLE FILE    | 
               |                                            | 
               |________________________NAME OF THE USER    | 
                                        PROGRAM RELOCATABLE | 
                                        FILE     |          | 
                  WHERE:                         |          | 
                    RPROG = NAME...<-------------|          | 
                    RCLIB = NAME___<------------------------| 
  
  64-BIT LIBRARY COMPOSITION: 
  
  BIN4          FOUR-WORD 
  ALPHA         FORMATTER 
  
  .CADD 
  .CSUB         FOUR-WORD 
  .CMPY         GENERATIONS 
  .CDIV 
  
  QDIV          CALLED BY .CDIV 
  
  ..CCM         2 COMPLEMENT
  
  .ICPX         CHANGES A 1-WORD INTEGER INTO A 4-WORD INTEGER
  
  .CINT         CHANGES A 4-WORD INTEGER INTO A 1-WORD INTEGER
  
  CMPLX         CHANGES A REAL NUMBER INTO A 4-WORD INTEGER 
  
  REAL          CHANGES A 4-WORD INTEGER INTO A REAL NUMBER 
  
  PARAMETERS OF SUBROUTINE BIN4 
  
            CALL BIN4  (IASCI, NBDIG, IPOW, IBIN) 
  
  IASCI     IS THE BUFFER CONTAINING THE NUMBER IN ASCII FORMAT, 2 DIGITS 
            PER WORD.  THE SIGN CAN BE AT THE BEGINNING OR AT THE END OF
            THE NUMBER. 
  
  NBDIG   IS THE NUMBER OF CHARACTERS THAT WILL BE TAKEN IN CONSIDERATION 
          IN IASCI BUFFER.  (NBDIG = DIMENSION OF IASCI BUFFER) 
  
          (USUALLY NBDIG IS LARGE ENOUGH NOT TO CUT DOWN THE ASCII
          NUMBER!)
  
  IPOW    MULTIPLIES THE VALUE OF IBIN BY 10 TO THE POWER OF IPOW.
  
  IBIN    IS A FOUR-WORD BUFFER WHERE THE 64-BIT BINARY NUMBER WILL BE
          RETURNED. 
  
          NOTE:  THE NUMBER LOCATED IN IASCI BUFFER MAY CONTAIN A DECIMAL 
                 POINT.  DEPENDING ON THE VALUE OF IPOW, IBIN TAKES 
                 DIFFERENT VALUES.
  
          THIS DECIMAL POINT CAN BE USEFUL TO ENTER AMOUNTS OF MONEY, WITH
          OR WITHOUT CENTS!.. 
  
          EXAMPLE:
  
               TO ENTER THE AMOUNT $350 ONE WILL TYPE: 350
               (IT IS NOT NECESSARY TO TYPE: 350.00)
  
               TO ENTER THE AMOUNT $350 AND 50 CENTS, ONE WILL
               TYPE: 350.50 
  
               IF IPOW = 2   IBIN = 35000 IN THE FIRST CASE 
                             IBIN = 35050 IN THE SECOND CASE
  
               AND THEN ALL CALCULATIONS WILL BE MADE IN CENTS. 
  
  PARAMETERS OF SUBROUTINE ALPHA
  
            CALL ALPHA (IBIN, NBDIG, IPOW, IASCI) 
  
            IBIN   IS A 64-BIT BINARY NUMBER
            NBDIG  IS THE MAXIMUM NUMBER OF CHARACTERS IN WHICH THE 
                   ASCII NUMBER WILL BE RETURNED (DIMENSION OF IASCI
                   BUFFER). 
            IPOW   MULTIPLIES IBIN BY 10 TO THE POWER OF IPOW 
            IASCI  IS THE BUFFER WHERE THE ASCII NUMBER WILL BE RETURNED
  
            EXAMPLE:
                         IBIN = 12325 
  
       CALL ALPHA (IBIN, 10, -2, IASCI) => IASCI     1  2  3  .  2  5 
       CALL ALPHA (IBIN, 10, 0 IASCI)   => IASCI        1  2  3  2  5 
       CALL ALPHA (IBIN, 10, 2, IASCI)  => IASCI  1  2  3  2  5  0  0 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X11601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FAST FOURIER TRANSFORM WITH RESCALING UPON OVERFLOW 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS MICROCODED INTEGER SUBROUTINE PERFORMS A FAST FOURIER TRANSFORM ON 
  EITHER REAL OR COMPLEX INPUT DATA IN A BCS OR DOS-M ENVIRONMENT.  THE 
  TRANSFORM IS PERFORMED IN PLACE, DESTROYING THE INPUT DATA.  THE ARRAY
  LENGTHS OF THE INPUT DATA MUST BE A POWER OF .2.  AUTOMATIC RESCALING 
  OCCURS IF AN OVERFLOW IS DETECTED.
  
  THE SUBROUTINE IS CALLABLE FROM ASSEMBLY LANGUAGE OR FORTRAN. 
  EQUIPMENT REQUIRED INCLUDES 8K CORE AND WCS.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  LOAD AND RUN INSTRUCTIONS 
  1.  ASSEMBLE THE MICROCODED FFT SUBROUTINE USING THE DOS-M OR BCS 
      MICROPROCESSOR. 
  
  2.  LOAD THE WCS BOARD USING THE DOS-M OR BCS MICRO DEBUG EDITOR. 
  
  3.  COMPILE/ASSEMBLE THE CALLING PROGRAM. 
  
  4.  IF THE CALLING PROGRAM IS WRITTEN IN FORTRAN, ASSEMBLE THE LINKING
      PROGRAM MFFT. 
  
  5.  ASSEMBLE THE BINVERSION (BIT INVERSION, END TO END) SUBROUTINE. 
  
  6.  LOAD THE CALLING PROGRAM, THE BINVERSION SUBROUTINE, AND (IF
      NECESSARY) THE LINKING SUBROUTINE.
  
  7.  EXECUTE THE CALLING PROGRAM.
  
  NOTE:  THE BINVERSION LINK PROGRAM, BINV, MAY BE USED IF DESIRED TO 
         GENERATE THE COMPLEX WEIGHT TABLE. 
  
  SUBROUTINES OR MICROPROGRAMS
  1.  MICROCODED FFET SUBROUTINE
      A.  ASSEMBLY LANGUAGE CALLING SEQUENCE
          OCT 105160   MACRO INSTRUCTION TO JUMP TO WCS LOCATION 1007 
          DEF *+5      ADDRESS OF RETURN POINT
          DEF LEN      ADDRESS OF ARRAY LENGTH
          DEF IMAG     ADDRESS OF THE FIRST ELEMENT OF THE IMAGINARY ARRAY
          DEF IREAL    ADDRESS OF THE FIRST ELEMENT OF THE REAL ARRAY.
          DEF TABLE    ADDRESS OF THE FIRST ELEMENT OF THE COMPLEX WEIGHT 
                       TABLE. 
  
      B.  FORTRAN CALLING SEQUENCE
          CALL MFFT(LEN,IMAG,IREAL,TABLE) 
          WHERE MFFT IS AN ASSEMBLY LANGUAGE LINK TO THE MICROCODE
  
  2.  BINVERSION SUBROUTINE.  THIS ROUTINE DOES A BIT INVERSION, FROM END 
      TO END OF A FIELD.
      A.  ASSEMBLY LANGUAGE CALLING SEQUENCE. 
          JSB BIN      JUMP TO THE SUBROUTINE 
          DEF *+4      ADDRESS OF THE RETURN POINT
          DEF LEN      ADDRESS OF THE FIRST ELEMENT OF THE IMAGINARY ARRAY
          DEF IMAG     ADDRESS OF THE FIRST ELEMENT OF THE IMAGINARY ARRAY
          DEF IREAL    ADDRESS OF THE FIRST ELEMENT OF THE REAL ARRAY 
  
      B.  FORTRAN CALLING SEQUENCE
  
  3.  BINVERSION LINK SUBROUTINE FOR GENERATING WEIGHT TABLE. 
   ASSEMBLY LANGUAGE CALLING SEQUENCE 
          LDA I        ADDRESS OF THE NUMBER TO BE BINVERTED
          LDB NBITS    ADDRESS OF THE NUMBER OF BITS TO BINVERT 
          OCT 105140   MACRO INSTRUCTION TO JUMP TO WCS LOCATION 1006 
          STB J        RESULT OF THE BINVERSION IS RETURNED IN THE B
                       REGISTER 
  
      B.  FORTRAN CALLING SEQUENCE
          CALL BINV(NBITS,I,J)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  AUTOMATIC RESCALING IS PERFORMED IF OVERFLOW IS DETECTED DURING ANY 
  CALCULATION STEP. 
  
  THE TRANSFORM IS PERFORMED IN PLACE, DESTROYING THE INPUT DATA. 
  
  THE FENCE REGISTER IS RESTORED IN MICRCODE TO 10000.  IF A DIFFERENT
  FENCE IS APPLICABLE TO YOUR SYSTEM, CHANGE THE CORRESPONDING LINE IN
  MICROCODE.
  
  THE CONTROL CARD OF THE MICRO FFT IS $ORIGIN=1000.  IF USING A MODULE 
  OTHER THAN WCS MODULE 2, CHANGE THIS CONTROL STATEMENT. 
  
  EXECUTION TIME IS APPROXIMATELY 0.2 SECONDS FOR A 1024-POINT TRANSFORM. 
X11701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  TRIPLE PRECISION ROUTINES 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PRECISION       ASCII           CONVERSION
    CHARACTER 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS       DOS3
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE OF EIGHT ROUTINES ALLOWS TRIPLE WORD FUNCTIONS TO BE 
  EXECUTED IN A DOS-M, DOS III, OR BCS ENVIRONMENT.  A USER CAN CONVERT 
  FROM 3 CHARACTERS PER WORD TO 2 CHARACTERS PER WORD, AND VICE VERSA;
  CONVERT A TRIPLE WORD INTEGER VALUE TO ASCII FORMAT, AND VICE VERSA;
  ADD AND SUBTRACT TRIPLE WORD INTEGERS; AND DIVIDE AND MULTIPLY A TRIPLE 
  WORD INTEGER BY A SINGLE WORD INTEGER.  THESE ROUTINES REQUIRE 16K
  OF CORE.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: SOURCE
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
                 A3 TO ASCII FORMATTING ROUTINE 
  
  1.  NAME     FJ 
  
  2.  FUNCTION - TO CONVERT AN A3 ALPHANUMERIC STRING TO ASCII (THAT IS,
      FROM 3 CHARACTERS PER WORD TO 2 CHARACTERS PER WORD). 
  
  3.  CALLING SEQUENCE
  
      3.1  FORTRAN
  
           CALL FJ (SRCE, DEST, CHRS) 
           SRCE = A3 SOURCE DATA ADDRESS
           DEST = ASCII RESULT ADDRESS
           CHRS = THE NUMBER OF CHARACTERS TO BE CONVERTED. 
  
      3.2  ASSEMBLER
  
           JSB   FJ 
           DEF   *+4
           DEF   SRCE 
           DEF   DEST 
           DEF   CHRS 
  
  4.  GENERAL 
  
      ALL REGISTERS UNDEFINED ON EXIT.
  
                    ASCII TO A3 FORMATTING ROUTINE
  
  1.  NAME   FG 
  
  2.  FUNCTION - TO CONVERT ASCII ALPHANUMERIC CHARACTERS TO A3 FORMAT
      (THAT IS, FROM 2 CHARACTERS PER WORD TO 3 CHARACTERS PER WORD). 
  
  3.  CALLING SEQUENCE
  
      3.1  FORTRAN
  
           CALL FG (SRCE, DEST, CHRS) 
           SRCE = ASCII SOURCE DATA ADDRESS 
           DEST = A3 RESULT ADDRESS 
           CHRS = THE NUMBER OF CHARACTERS TO BE CONVERTED
  
      3.2  ASSEMBLER
  
           JSB   FG 
           DEF   *+4
           DEF   SRCE 
           DEF   DEST 
           DEF   CHRS 
  
  4.  GENERAL 
  
      ALL REGISTERS UNDEF