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 UNDEFINED ON EXIT.
  
      A3 FORMAT (PACKED ASCII CODE FOR CONVERSION)
  
                            ASCII   CODE FOR CONVERSION 
                 SPACE       40B           0
                   '         56B           1
                   ;         54B           2
                   /         57B           3
                   0         60B           4
                   1         61B           5
                   2         62B           6
                   3         63B           7
                   4         64B           8
                   5         65B           9
                   6         66B          10
                   7         67B          11
                   8         70B          12
                   9         71B          13
                   A        101B          14
                   B        102B          15
                   C        103B          16
                   D        104B          17
                   E        105B          18
                   F        106B          19
                   G        107B          20
                   H        110B          21
                   I        111B          22
                   J        112B          23
                   K        113B          24
                   L        114B          25
                   M        115B          26
                   N        116B          27
                   O        117B          28
                   P        120B          29
                   Q        121B          30
                   R        122B          31
                   S        123B          32
                   T        124B          33
                   U        125B          34
                   V        126B          35
                   W        127B          36
                   X        130B          37
                   Y        131B          38
                   Z        132B          39
  
  
                    TRIPLE WORD INTEGER TO ASCII
  
  1.  NAME  ATC 
  
  N.  FUNCTION - TO CONVERT A TRIPLE WORD INTEGER VALUE TO ASCII FORMAT 
      (15 DIGITS EXCLUDING A DECIMAL POINT).  THE CONVERTED ASCII STRING
      IS PLACED IN THE OUTPUT BUFFER (RIGHT JUSTIFIED) WITH LEADING ZEROES
      SET TO BLANKS, A DECIMAL POINT INSERTED WHERE REQUESTED.
  
      NOTE 1: 
      WHERE N IS THE REQUIRED NUMBER OF DECIMAL DIGITS, IF THE TRIPLE 
      WORD INTEGER IS LESS THAN 10 TO THE NTH POWER, THE RESULT IS
      FORMATTED AS: 
  
           0.X(1)X(2)....X(N) WHERE SOME OR ALL OF THE X(I) ARE ZERO. 
  
      NOTE 2
  
      WHERE N = 0, ALL NUMBERS WILL HAVE A TRAILING DECIMAL POINT, THUS:
            123456. 
  
  3.  CALLING SEQUENCES 
  
      3.1  FORTRAN
  
           CALL ATC (IAD, IAR, N, IE) 
           IAD = SOURCE ADDRESS (3 WORDS) 
           N   = NUMBER OF DECIMAL DIGITS AFTER THE DECIMAL POINT(1 WORD) 
           IAR = OUTPUT BUFFER ADDRESS (8 WORDS)
           IE  = STATUS FLAG
                 BIT 0 IS SET TO 1 IF THE OUTPUT ASCII STRING CONTAINS
                 MORE THAN 7 DECIMAL DIGITS.
                 BIT 15 IS SET TO 1 IF THE SOURCE STRING WAS NEGATIVE.
  
      3.2  ASSEMBLER
  
           JSB ATC
           DEF RETURN (DEF *+4) 
           DEF SOURCE DATA
           DEF BUFFER ADDRESS 
           DEF N
           DEF IE 
  4.  GENERAL 
  
      ALL REGISTERS UNDEFINED ON EXIT.
  
      CALL THE TRIPLE WORD 2'S COMPLEMENTER ROUTINE, .TWC.
  
  
                     ASCII TO TRIPLE WORD INTEGER 
  
  1.  NAME  ATF 
  
  2.  FUNCTION - TO CONVERT AN ASCII NUMBER (MAX OF 15 CHARACTERS) TO 
      THREE WORD INTEGER FORMAT.  TERMINATE ON ASCII SPACE OR CR. 
  
  3.  CALLING SEQUENCE
  
     3.1  FORTRAN 
  
          CALL ATF (IAD, IUL, IAR, IE)
          IAD = SOURCE DATA ADDRESS 
          IUL = 0 FIRST CHARACTER IN MOST SIGNIFICANT HALF OF FIRST WORD
              = 1 FIRST CHARACTER IN LEAST SIGNIFICANT HALF OF FIRST WORD 
          IAR = RESULT DATA ADDRESS 
          IE  = 1 ERROR ON RETURN (MORE THAN 14 CHARACTERS OR NON-NUMERIC 
                CHARACTERS EXCEPT DECIMAL POINT)
              = 0 NO ERROR
  
      3.2  ASSEMBLER
  
           JSB  ATF 
           DEF  RETURN (DEF *+5)
           DEF  SOURCE BUFFER 
           DEF  UPPER/LOWER FLAG
           DEF  RESULT BUFFER 
           DEF  ERROR FLAG
           RETURN 
  
  4.  GENERAL 
  
      ALL REGISTERS UNDEFINED ON EXIT.
  
      CALL ROUTINE ATM. 
  
  
                 DIVIDE/MULTIPLY TRIPLE WORD INTEGER
  
  1.  NAME  ATD AND ATM 
  
  2.  FUNCTION - DIVIDE (ATD) OR MULTIPLY (ATM) A TRIPLE WORD INTEGER 
      NUMBER BY A SINGLE WORD INTEGER NUMBER. 
  
  3.  CALLING SEQUENCES 
  
      3.1  FORTRAN
  
           CALL ATD (IAD, N, IAR, IE) 
                ATM 
           IAD = TRIPLE WORD INTEGER
           N   = SINGLE WORD INTEGER
           IAR = TRIPLE WORD INTEGER RESULT 
           IE  = REMAINDER (OR 100000 IF OVERFLOW)
               = 0 NO REMAINDER (NO OVERFLOW) 
  
      3.2  ASSEMBLER
  
           JSB ATD/ATM
           DEF RETURN (DEF *+5) 
           DEF TRIPLE WORD INTEGER
           DEF SINGLE WORD INTEGER
           DEF TRIPLE WORD RESULT 
           DEF REMAINDER (SET TO 100000 IF OVERFLOW)
  
  4.  GENERAL 
  
      ALL REGISTERS UNDEFINED ON EXIT.
  
  
                   ADD/SUBTRACT TRIPLE WORD INTEGER 
  
  1.  NAME  ATA AND ATS 
  
  2.  FUNCTION - ADD (ATA) OR SUBTRACT (ATS) TRIPLE WORD INTEGERS - 
      RESULT IS HELD IN FIRST TRIPLE WORD INTEGER LOCATIONS.
  
  3.  CALLING SEQUENCE
  
      3.1 FORTRAN 
  
          CALL ATA (IA1, IA2, IE) 
              (ATS) 
          IA1 = TRIPLE WORD INTEGER 1 
          IA2 = TRIPLE WORD INTEGER 2 
          IE  = 1 ERROR (OVERFLOW)
              = 0 NO ERROR
  
      3.2  ASSEMBLER
  
           JSB ATA/ATS
           DEF RETURN (DEF *+4) 
           DEF TRIPLE WORD 1
           DEF TRIPLE WORD 2
           DEF ERROR FLAG 
           RETURN 
  
  4.  GENERAL 
  
      ALL REGISTERS UNDEFINED ON EXIT.
  
      ROUTINE ATS CALLS ATA.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X11801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CURVE FITTING WEIGHTED AVERAGING
  
 **REVISION?  YES 
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    PLOTTER         GRAPHIC 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'FOCUS' MERITS CONSIDERATION AS A CURVE FITTING METHOD, WHEN WORKING
  WITH DATA THAT DOES NOT APPROXIMATE A RECOGNIZABLE FUNCTION.  AS LONG 
  AS THERE IS SUFFICIENT DATA, 'FOCUS' WILL WORK, UNCHANGED, ON A VARIETY 
  OF DATA PATTERNS.  IT WILL QUICKLY FIT DATA WITHOUT EITHER CONVERGENCE
  OR ACCURACY PROBLEMS.  'FOCUS' TAKES THE WRINKLES OUT OF OTHERWISE
  ERRATIC DATA BY USING A WEIGHTED AVERAGE.  WEIGHTS USED ARE W1=1, 
  W2=2, AND W3=1. 
  
     P(N)= W1*P(N-1) + W2*P(N) + W3*P(N+1)/(W1 + W2 + W3) 
  
  LACKING ENOUGH NEIGHBORS, END POINTS REQUIRE SPECIAL ATTENTION.  FOR
  THE FIRST POINT, W1 IS SET TO 0, AND THE LAST POINT USES W3=0.  THE 
  AVERAGING IS REPEATED FOR EACH POINT A SPECIFIED NUMBER OF TIMES.  THE
  USER OF 'FOCUS' SHOULD ADJUST THAT NUMBER TO HIS/HER APPLICATION. 
  THE DATA BEGINS TO LOSE SIGNIFICANCE AS THE AVERAGING CONTINUES.
  ULTIMATELY, A STRAIGHT LINE ON THE ABSOLUTE AVERAGE WOULD RESULT. 
  
  HARDWARE REQUIREMENT INCLUDE 4K AND A TELETYPE.  HE 7210A IS OPTIONAL.
  BCS 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
           FIT2 (AVE1, DELT1, DELT2)
  
  OUTPUT - AVE1 IS THE AVERAGE RESIDUAL* FROM THE FIRST WEIGHTED
           AVERAGING. 
  
  OUTPUT - AVE IS THE AVERAGE RESIDUAL FROM A SECOND WEIGHTED AVERAGING 
           AFTER DATA HAS BEEN SELECTIVELY REMOVED. 
  
  OUTPUT - DELT1 IS THE WORST RESIDUAL FROM THE FIRST PASS. 
  
  OUTPUT - DELT2 IS THE WORST RESIDUAL FROM THE SECOND PASS.
  
        CALLING SEQUENCE - FORTRAN
  
            CALL FIT2(AVE1, AVE, DELT1, DELT2)
  
  ------------------------------------------------------------------------
  
            FOCUS(NDATA, DATA, NFOC, AVE, ORIG, DELT1)
  
  INPUT  - NDATA IS THE NUMBER OF DATA POINTS TO BE FIT 
  
  INPUT  - DATA IS THE DATA ARRAY, OUTPUT CONTAINS FIT DATA 
  
  INPUT  - NFOC IS THE NUMBER OF TIMES THE AVERAGING IS TO BE REPEATED
  
  OUTPUT - AVE IS THE AVERAGE RESIDUAL
  
  OUTPUT - ORIG IS THE ORIGINAL DATA
  
  OUTPUT - DELT1 IS THE WORST RESIDUAL
  
       CALLING SEQUENCE - FORTRAN 
  
            CALL FOCUS(NDATA, DATA, NFOC, AVE, ORIG, DELT1) 
  
  
  *DIFFERENCE BETWEEN ORIGINAL DATA AND AVERAGED DATA.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  BEFORE FIT2 WAS CALLED, AB (INDEPENDENT AXIS) AND ER (DEPENDENT AXIS) 
  WERE STORED, THE COORDINATE PAIRS WERE ORDERED IN INCREASING VALUES 
  OF AB, AND OBVIOUSLY BAD VALUES OF ER WERE REMOVED.  FIT2 FOLLOWS THESE 
  STEPS:
  
       1.  A CALL TO FOCUS AVERAGES ER TEN TIMES (IT=10). 
  
       2.  ER VALUES THAT ARE 2.5 TIMES THE RESIDUAL (AVERAGE DIFFERENCE
           BETWEEN ORIGINAL AND FINAL POINTS) ARE REMOVED.
  
       3.  WITH THIS "BAD" DATA REMOVED, FOCUS IS CALLED AGAIN. 
  
       4.  THE RESULTS ARE PLOTTED AND KEY FIT VALUES ARE PRINTED.
  
  FOCUS FOLLOWS THESE STEPS:
  
       1.  DATA TO BE AVERAGED ARE STORED IN ORIG TO DETERMINE RESIDUALS. 
  
       2.  DATA POINTS ARE AVERAGED NFOC TIMES. 
  
       3.  THE AVERAGE RESIDUAL IS CALCULATED.
X11901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  EXOR RANDOM NUMBER GENERATOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    RANDOM
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    MTS       BASIC     ED BASIC
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE PROVIDES SINGLE-TERMINAL BASIC WITH A HIGH-QUALITY
  RANDOM NUMBER GENERATOR BY COMBINING FIBONACCI AND TWO DIFFERENT
  MULTIPLICATIVE RANDOM NUMBER GENERATORS.
  
  AN 8K OR 16K EDUCATIONAL BASIC SYSTEM (SINGLE-TERMINAL) IS REQUIRED.
  THE ROUTINE USES EAU INSTRUCTIONS.
  
  THE ROUTINE CALLS INTERNAL BASIC ROUTINE .PACK AT LOCATION 1020.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  BASIC CALL: 
  
       NN  CALL (1,X(K),Y1) 
  
  WHERE 
  
       NN     IS THE STATEMENT NUMBER 
  
        1     IS THE SUBROUTINE IDENTIFICATION
  
     X(K)     IS AN ARRAY ELEMENT; X MUST HAVE DIMENSION K+1 OR HIGHER. 
              X MUST NOT BE COMMON.  X(K) AND X(K+1) ARE THE SEED OF THE
              GENERATOR AND MUST BE INITIALIZED BY THE USER.  NOTE:  AN 
              INITIAL VALUE OF ZERO DECREASES THE GENERATOR PERFORMANCE*).
              X(K) AND X(K+1) ARE UPDATED BY THE GENERATOR AND SHOULD 
              NOT BE MANIPULATED BY THE USER EXCEPT WHEN RESTARTING THE 
              GENERATOR (OF: 5.0).
  
       Y1     IS A SIMPLE VARIABLE.  UPON RETURN, IT CONTAINS THE RANDOM
              NUMBER. 
  
  
                    MIN(Y1) = 2^(-17) 
                    MAX(Y1) = 1 - 2^(-17) 
                    Y1 - RESOLUTION = 2^(-16) 
  
   *) 
       X(1) = 0 WILL DISABLE THE FIBONACCI-GENERATOR
  
       X(2) = 0 WILL GIVE THE MULT-1 GENERATOR THE SEED 000001(8), AND
              THE MULT-2 GENERATOR THE SEED 000000(8).
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERR IN CALL ARGM X
  
       THE SEED GIVEN IS NOT A PROPER ARRAY.
  
  ERR IN CALL ARGM Y
  
       THE RETURN VARIABLE IS NOT SIMPLE. 
  
  ERROR ACTION: 
  
  AFTER PRINTING ERROR MESSAGE, THE PARAMETER TYPE CHECK CONTINUES, AND 
  A RETURN TO THE BASIC PROGRAM IS MADE WITH UNCHANGED VALUES OF THE
  PARAMETERS. 
  
  
 **MISCELLANEOUS: 
  
  1)  THE ELEMENT X(K) AND X(K+1) GENERALLY HAVE UNNORMALIZED CONTENTS, 
      AND NORMALIZATION SHOULD BE AVOIDED.  OPERATIONS WHICH DO NOT 
      NORMALIZE ARE:
  
         MAT  A = B 
         LET  Y2=Y1 
  
      NAMELY THOSE WHICH REPRESENT SIMPLE COPYING.
  
  2)  LOCATIONS 1020(6) AND 154(8) OF BASIC ARE REFERRED DIRECTLY.  SEE 
      SECTION 3.2.
  
  3)  THE EXECUTION TIME ON A 2100A WITH EAU FOR THE STATEMENT CALL 
      (1,X(1),Y) IS 1.95 MSECS; THE STATEMENT LET Y = RND(1) EXECUTES 
      IN 0.87 MSECS.
X12001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  SMPLX 
 **PROGRAM TITLE: 
  SIMPLEX LINEAR PROGRAMMING FOR DOS-3
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    LINEAR EQ.      MATRIX
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-3 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM SOLVES LINEAR PROGRAMMING PROBLEMS BY USING THE SIMPLEX
  OR DANTZIG METHOD.  THE PROGRAM MINIMIZES AN OBJECTIVE FUNCTION SUBJECT 
  UP TO 100 CONSTRAINTS WITH NO MORE THAN 1000 VARIABLES (REAL +
  ARTIFICIAL + SLACK); THE PROGRAM NEEDS AS DATA THE FIRST TABLEAU OF 
  THE SIMPLEX METHOD, AND THEN ELABORATES THE FOLLOWING TABLEAUS OF THE 
  METHOD GETTING TO THE OPTIMAL SOLUTION. 
  
  THE PROGRAM CAN MAXIMIZE PROBLEMS IF THE OBJECTIVE FUNCTION OF THE
  MATHEMATICAL MODEL IS MULTIPLIED BY -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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
                           5
  
  
 **PROGRAM DESCRIPTION: 
  
  DATA FORMAT   (LU#5)
  
  N,M                   REGISTER #1   N = NUMBER OF CONSTRAINTS 
                                      M = NUMBER OF VARIABLES 
  
  (C(I),I=1,M)          REGISTER #2   C(I) = COEFFICIENTS OF THE
                                             OBJECTIVE FUNCTION 
  
  (A(I),I=1,N)          REGISTER #3   A(I) = COLUMN NO. 1 OF THE -
                                             MATRIX OF CONSTRAINTS
                                             COEFFICIENT
  
  (A(I),I=1,N)          REGISTER #M+2 A(I) = COLUMN NO. M 
  
  (B(I),I=1,N)          REGISTER #M+3 B(I) = CONSTRAINTS LIMITS 
  
  (IBASE(I),I=1,N)      REGISTER #M+4 IBASE(I) = NUMBER OF THE VECTOR 
                                                 THAT IS IN ORIGINAL
                                                 BASE 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X12101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FAST FOURIER TRANSFORM WITH DATA STORAGE ON DISC
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    FOURIER         TRANSFORM 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM FINDS THE FORWARD FOURIER TRANSFORM OF A LARGE COMPLEX 
  DATA ARRAY STORED ON DISC, USING THE COOLEY-TUKEY ALGORITHM.  THE 
  PROGRAM IS WRITTEN FOR A BLOCK SIZE OF 4096 BUT THIS LENGTH (AN INTEGER 
  POWER OF 2) CAN EASILY BE CHANGED.  THE TRANSFORM IS EXECUTED IN PLACE, 
  SO THE ORIGINAL DATA ARE LOST.  THE RESULT IS LEFT IN BIT REVERSE ORDER,
  BUT A SEPARATE PROGRAM FOR PRINTOUT IN THE RIGHT ORDER IS PROVIDED. 
  THE TRANSFORM PROGRAM USES A SECOND ARRAY ON DISC FOR STORAGE OF SINE - 
  AND COSINE VALUES NEEDED. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  RESERVE SPACE ON DISK FOR THE DATA ARRAY IN THE FILE DIFFT :
   :ST,B,DIFFT,128 (SPACE FOR 4096 COMPLEX NUMBERS).
  RESERVE SPACE ON DISK FOR THE SINE-COSINE ARRAY IN THE FILE CEXPO : 
   :ST,B,CEXPO,64 (SPACE FOR 2048 COMPLEX NUMBERS). 
  RUN A PROGRAM TO STORE DATA ON DISK.  COMPILE AND LOAD THE TRANSFORM
  PROGRAM FTD.  RUN THE PROGRAM : PR, FTD.  COMPILE AND LOAD THE PRINTOUT 
  PROGRAM FTDO.  RUN THE PROGRAM : PR, FTDO.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IN ORDER TO PROCESS LARGER DATA ARRAYS ONLY THE VARIABLES N AND N2, 
  WHERE N = 2**N2, NEED TO BE CHANGED IN THE PROGRAM FTD.  (N IS MINIMUM
  128).  FOR THE PRINTOUT PROGRAM FTDO THESE VARIABLES ARE NAMED N AND M. 
  THE NUMBER OF LINES PRINTED IS SET BY NH. 
X12201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  3 DIMENSIONAL PLOT SUBROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    GRAPHIC         PLOTTER 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE PROJECTS A THREE-DIMENSIONAL OBJECT IN PERSPECTIVE ON A
  SIMPLE X-Y PLOTTING SYSTEM OR GRAPHIC DISPLAY TERMINAL.  IT TRANSFORMS
  AN (X,Y,Z) COORDINATE IN THREE SPACE TO AN ORTHOGRAPHIC PROJECTION
  IN TWO SPACE, USING FOUR CALLS.  THE FIRST CALL DEFINES THE ANGLES
  OF THE COORDINATE AXES X,Y,Z ALLOWING DISPLAY OF VARIOUS ROTATIONS OF 
  AN OBJECT.  THE SECOND AND THIRD CALLS SET MINIMUM AND MAXIMUM (X,Y,Z)
  VALUES, WHILE THE FOURTH CALL TRANSFORMS AN (X,Y,Z) COORDINATE IN THREE 
  SPACE TO AN (IX,IY) COORDINATE REPRESENTATION IN TWO SPACE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  COMPILE PLOT 3 SUBROUTINE IN ACCORDANCE WITH OPERATING INSTRUCTIONS 
      GIVEN IN HP FORTRAN PROGRAMMER'S REFERENCE MANUAL.
  
  B.  LOAD CALLING PROGRAM AND PLOT 3 SUBROUTINE USING THE BASIC CONTROL
      SYSTEM. 
  
  C.  SET ANGLES FOR AXES, MINIMUM VALUES TO BE PLOTTED, AND MAXIMUM
      VALUES TO BE PLOTTED USING THE APPROPRIATE CALLS.  (SEE ENTRY POINTS
      FOR DESCRIPTION OF CALL STATEMENTS.)
  
  D.  THE SUBROUTINE MAY NOW BE CALLED TO PERFORM COORDINATE TRANSFORMA-
      TIONS.
  
  ENTRY POINT(S)
  
  A.  CALL (1,X,Y,Z,IX,IY)
  
      THIS CALL SETS THE ANGLES FOR THE PLOT PROCESSOR.  X IS THE NUMBER
      OF DEGREES THE X-AXIS IS TO BE ROTATED FROM THE HORIZONTAL.  LIKE-
      WISE, Y AND Z SPECIFY THE ROTATIONS OF THE Y AND Z-AXIS RESPECTIVELY
      FROM THE HORIZONTAL.  IX AND IY ARE MEANINGLESS IN THIS CALL. 
  
  B.  CALL (2,X,Y,Z,IX,IY)
  
      X, Y AND Z SPECIFY THE MINIMUM (X,Y,Z) COORDINATE TO BE DISPLAYED.
      IX AND IY ARE MEANINGLESS.
  
  C.  CALL(3,X,Y,Z,IX,IY) 
  
      X, Y AND Z SPECIFY THE MAXIMUM (X,Y,Z) COORDINATE TO BE DISPLAYED.
      IX AND IY ARE MEANINGLESS.
  
  D.  CALL (4,X,Y,Z,IX,IY)
  
      X, Y AND Z DEFINE THE COORDINATE OF A POINT IN THREE-DIMENSIONAL
      SPACE.  UPON RETURN IX AND IY ARE THE SCALED, TWO-DIMENSIONAL 
      (X,Y) COORDINATE REPRESENTING THE DESIRED THREE-DIMENSIONAL 
      PROJECTION.  IX AND IY GENERALLY RETURN AS INTEGERS IN THE 0 TO 
      255 RANGE.  THE ACTUAL VALUES OF IX AND IY WILL VARY, HOWEVER, WITH 
      DIFFERENT ANGLE SETTINGS.  SEE SPECIAL CONSIDERATIONS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SPECIAL CONSIDERATIONS
  
  PLOT 3 IS WRITTEN TO NORMALIZE ALL (X,Y) COORDINATES TO RETURN AS 
  INTEGERS IN THE RANGE OF 0 TO 255.  HOWEVER, THE ACTUAL COORDINATE
  VALUES RETURNED DOES DEPEND ON WHAT ANGLES HAVE BEEN INPUT AND WHAT 
  MAXIMUM AND MINIMUMS HAVE BEEN ENTERED.  OBVIOUSLY, IF AN (X,Y,Z) 
  COORDINATE GIVEN EXCEEDS THE MAXIMUM VALUES OR IS SMALLER THAN THE
  MINIMUM VALUES, THEN THE (IX,IY) VALUE RETURNED WILL MOST LIKELY BE OUT 
  OF THE 0 TO 255 RANGE.  SINCE THERE IS NO RULE OR ALGORITHM WHICH WILL
  READILY GIVE AN ESTIMATE OF THE RANGE TO BE EXPECTED WITH VARYING THE 
  ANGLES OF THE AXES, THE MOST PRACTICAL PROCEDURE IS JUST TRIAL AND
  ERROR.
X12301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  TEKTRONIX 4010 DRIVER AND GRAPH PACKAGE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  2    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    TEKTRONIX       GRAPHIC         LIBRARY 
    DRIVER
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE CONSISTS OF THREE PARTS: 
  
  1.  DVR00, A DOS-M SYSTEM DEVICE DRIVER FOR THE TEKTRONIX 4010 KEYBOARD 
      DISPLAY.  IN ADDITION TO ALL THE ASCII INPUT/OUTPUT FACILITIES OF 
      THE DOS-M SYSTEM TELETYPE DRIVER, THIS DRIVER FULLY EXPLOITS THE
      GRAPHICS AND CURSOR-POSITION INPUT FACILITIES OF THE 4010 BY THE USE
      OF BINARY READ/WRITE EXEC CALLS.  DATA PAIRS SPECIFYING THE X AND Y 
      COORDINATES BETWEEN WHICH LINES ARE TO BE DRAWN CAN BE PACKED IN
      SINGLE WORDS OR UNPACKED IN 2 WORDS, EITHER LEFT OR RIGHT JUSTIFIED.
      THE X COORDINATE CAN BE SUPPLIED, OR IMPLIED VALUES STARTING FROM 
      ZERO AND INCREMENTED BY ONE CAN BE USED.  CONTROL CALLS ARE USED TO 
      ERASE THE SCREEN; RESET THE ASCII SCREEN POSITION TO THE TOP LEFT;
      OUTPUT A SERIES OF LINE FEEDS, LINE BACKUPS, SPACES FORWARD AND 
      BACKWARDS; UNDERLINE; AND ACTIVATE THE HARD COPY UNIT AND ALTER-
      NATIVE CHARACTER SETS.
  
  2.  TWO FORTRAN PROGRAMS AND SUBROUTINES TO TEST THE FACILITIES OF
      DVR00.
  
  3.  A SET OF FORTRAN SUBROUTINES, BASED ON CALCOMP ROUTINES, EXPLOITING 
      DVR00.  THESE ROUTINES ALLOW THE USER TO SORT AND SCALE DATA, 
      PRODUCE GRAPHS AND DRAW HISTOGRAMS ON THE 4010. 
  
  THE DRIVER AND SUBROUTINES WILL OPERATE IN A MINIMUM DOS-M 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
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: EXTENDED DOCUMENTATION
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEE EXTENDED DOCUMENTATION. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X12401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  COPPER - CONSTANTAN THERMOCOUPLE VOLTAGE TO DEGREES CELSIUS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  3    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    CONVERSION      MEASUREMENT 
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SUBROUTINE ACCEPTS A VALUE OF THE VOLTAGE READ FROM A COPPER-
  CONSTANTAN THERMOCOUPLE IN MICROVOLTS AND RETURNS A TEMPERATURE VALUE 
  IN DEGREES CENTIGRADE.  THIS VALUE IS CORRECT TO .1 OF A CELSIUS DEGREE.
  THE METHOD FOR DETERMINING THE TEMPERATURE IS INTERPOLATION OF STANDARD 
  THERMOCOUPLE TABLES AT 10 DEGREE INTERVALS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 ACCEPTS A VALUE OF THE VOLTAGE READ FROM A COPPER- 
  CONSTANTAN THERMOCOUPLE IN MICROVOLTS.  IT RETURNS TO THE CALLING 
  PROGRAM A VALUE FOR THE TEMPERATURE IN CENTIGRADE DEGREES.  THIS VALUE
  IS CORRECT TO .1 OF A CELSIUS DEGREE.  THE METHOD FOR DETERMINING THE 
  TEMPERATURE IS INTERPOLATION OF STANDARD THERMOCOUPLE TABLES AT 10
  DEGREE INTERVALS. 
  
  THE SUBROUTINE MAY BE CONVERTED TO USE WITH OTHER TYPES OF THERMO-
  COUPLES BY CHANGING VALUES OF NEMF AND IEMF.
  
  IT IS IMPORTANT TO NOTE THAT THE DIMENSION OF TEMP AND ITC ARE 1 IN THE 
  SUBROUTINE.  THEIR CORRESPONDING VARIABLES MAY BE DIMENSIONED TO ANY
  SIZE IN THE CALLING PROGRAM WITHOUT CHANGING THE DIMENSION STATEMENT IN 
  THE SUBROUTINE. 
  
  CALL CONVT (ITS,N,TEMP) 
  
  WHERE     ITC  - VALUE OF THERMOCOUPLE READING IN MICROVOLTS
              N  - NUMBER OF POINTS TO BE CONVERTED 
           TEMP  - CENTIGRADE TEMPERATURE RETURNED TO CALLING PROGRAM 
  
  NOTE THAT THE TEMPERATURE RANGE IS -199 TO +399 DEGREES 
  CELSIUS.  VALUES OUTSIDE THIS RANGE SHOULD NOT BE ENTERED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE USER MAY WISH TO MODIFY THE SUBROUTINE TO NARROW THE TEMPERATURE
  RANGE TO ONE IN WHICH HE IS MOST INTERESTED.  THIS WILL RESULT IN SOME
  SAVING OF MEMORY. 
  
  SYMBOLIC EDIT INSTRUCTIONS FOR THREE EXAMPLES ARE SHOWN BELOW.
  
  1)  RANGE - 199 TO 0
      /CD,14,40,48
      /D,36,76
      /D,78 
      /D,90,99
  
  2)  RANGE 0 TO 399
      /CD,14,32,30
      /D,15,35
      /D,78,89
  
  3)  RANGE -99 TO 99 
      /R,14 
                  DIMENSION ITS(1),TEMP(1),IEMF(11),NEMF(11)
      /D,36,35
      /D,47,76
      /CR,79,17,17
      10
      /CR,90,17,18
      10
X12501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  DBIN
 **PROGRAM TITLE: 
  SCIENTIFIC PROGRAMMER BCD BINARY CONVERSION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  3    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    BCD             CONVERSION
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS BCD BINARY CONVERSION SUBROUTINE CONVERTS A FOUR DIGIT BCD NUMBER
  TO BINARY USING ONLY TWO MULTIPLES.  THE ROUTINE RETURNS ANSWER IN THE
  SAME ARGUMENT.  EACH DIGIT IS CONSIDERED TO BE FOUR BITS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 DBIN(NUMBR)
  
       NUMBR - A FOUR DIGIT BCD INTEGER NUMBER
             - CONVERTED NUMBER RETURNED HERE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  TO TEST BCD NUMBERS GREATER THAN 7999, YOU WILL HAVE TO MANUALLY STORE
  NUMBER IN A-REGISTER BEFORE ROUTINE EXECUTES.  THE REASON FOR THIS IS 
  THAT ANY NUMBER GREATER THAN 32767(10) IN FORTRAN IS CONSIDERED 
  NEGATIVE. 
X12601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  BCS ASYNCHRONOUS DATA SET INTERFACE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  4    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    DRIVER          ASYNCHRONOUS    DATA COMM 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER ESTABLISHES DATA COMMUNICATIONS BETWEEN HP2100 SERIES 
  COMPUTERS AND THE TC-380 OLIVETTI BUFFERED TERMINAL.  IT ALLOWS THE HP
  COMPUTER TO INPUT OR OUTPUT CONTROL SIGNALS WITH THE FOLLOWING FEATURES;
  HALF-DUPLEX TRANSMISSION, 1200 BITS/SEC., EVEN PARITY, 8-BIT CHARACTERS,
  1 START BIT, AND 1 STOP BIT.  THE DRIVER ALSO INITIATES, CONTINUES, 
  AND COMPLETES ALL DATA TRANSMISSION OR RECEPTION COMMANDS VIA AN
  HP12587A INTERFACE BOARD.  ON READ REQUESTS, THE DRIVER RECEIVES
  CHARACTER PER CHARACTER ONE OLIVETTI FORMATTED BUFFER WITH A MAXIMUM OF 
  230 ISO CODE CHARACTERS.  IT TRANSLATES THESE CHARACTERS INTO AN ASCII
  PACKED BUFFER OR AN XS-3 BUFFER PROPERLY FROMATTED FOR COMMUNICATION
  WITH A UNIVAC 1108 COMPUTER.  ON WRITE REQUESTS, THE DRIVER TRANSLATES
  INTO ISO CODE AND SENDS ONE ASCII PACKED BUFFER OR ONE FORMATTED XS-3 
  BUFFER CHARACTER TO THE OLIVETTI TERMINAL.
  THE COMMUNICATION PROCEDURES ARE SELECTING AND POLLING.  ONE USEFUL 
  APPLICATION OF THIS DRIVER IS IN THE ENVIRONMENT WHERE AN HP MINI-
  COMPUTER HANDLES I/O FOR A UNIVAC 1108 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: SOURCE
  FILE#  3: SOURCE (CONTINUED)
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DRIVER MUST BE CONFIGURED INTO SYSTEM AT PCS TIME.  THE COMMUNICATION 
  PROCEDURES ARE: 
  
  SELECTING:
  
    COMPUTER:  EOT+ADR   EOT+ADR   STX+ADR+TEXT+ETB/ETX+LRC 
  
    DEVICE:           EOT       ACK                        NACK 
  
    COMPUTER:  STX+ADR+TEXT+ETB/ETX+LRC 
  
    DEVICE:                            ACK
  
  POLLING:
  
    COMPUTER:  EOT+ADR   EOT+ADR                        NACK
  
    DEVICE:           EOT       STX+ADR+TEXT+ETB/ETX+LRC
  
    COMPUTER:                          ACK
  
    DEVICE:    STX+ADR+TEXT+ETB/ETX+LRC 
  
  WHERE:
  
    EOT, STX, EB, ETX, ACK, NACK ARE CONVERSATION CHARACTERS, 
    TEXT IS THE BUFFER TO BE TRANSMITTED OR RECEIVED, 
    LRC IS THE CALCULATED CHARACTER FOR PARITY CHECK
    ADR IS THE ADDRESS OF THE PERIPHERAL DEVICE PERFORMED BY THE DRIVER 
    FOLLOWING THE FUNCTION WORD OF THE IOC REQUEST. 
  
  THE .IOC. CALL IS:
  
    - JSB .IOC. 
    - FUNCTION CODE 
    - REJECT INSTRUCTION
    - DEF BUFFER ADDRESS
    - NB OF CHARACTERS IF < 0 
    - NB OF WORDS IF > 0
  THE FUNCTION WORD MAY BE: 
  
    B15-12=1 READ B11=0 XS3/ASCII UNPACKED B10=0 ETB B9-6=DEV.ADD.
    B5-0=S.C. 
  
                     = 1 ASCII PACKED         =1 ETX
    =2 WRITE
  
    =0 CLEAR
  
    =4 STATUS 
  
    THE DRIVER ACCEPTS AND PROCESSES A READ OR WRITE REQUEST IN EITHER
    PACKED ASCII OR XS3 MODES (Z VERSION) AND PACKED ASCII OR UNPACKED
    ASCII MODES (N VERSION).
  
  FOR A READ REQUEST, THE DRIVER RECEIVES AND TRANSLATES CHARACTER PER
  CHARACTER ONE OLIVETTI FORMATTED BUFFER OF MAXIMUM 230 ISO CODED
  CHARACTERS, INTO ASCII PACKED BUFFER OR UNIVAC BUFFER WITH A PROPER 
  FORMAT FOR COMMUNICATION WITH A 1108 UNIVAC COMPUTER (IN THE Z VERSION).
  FOR A WRITE REQUEST, THE DRIVER TRANSLATES INTO ISO MODE AND SENDS
  CHARACTER PER CHARACTER ONE ASCII PACKED BUFFER OR ONE FORMATTED XS3
  BUFFER TO THE PERIPHERAL DEVICE (Z VERSION).
  
  AFTER THE REINITIALIZATION ATTEMPTS THE DRIVER RETURNS WITH AN ERROR
  INDICATION IN CASE OF:
  
    POLLING SEQUENCE: 
       -MORE OF 30 PARASITES, OR 600 EOT IN BEGINNNG OF PROCEDURE 
       -EXCEEDED TIME-OUT IN DATASET SWITCHING
       -MORE OF 4 NACK FOR A LINE RECEPTION 
  
    SELECTING SEQUENCE: 
  
       - EXCEEDED TIME-OUT IN DATASET SWITCHING 
       - MORE OF 500 NACK IN BEGINNING OF PROCEDURE 
       - MORE OF 5 NACK AFTER RETRANSMISSION OF A LINE
  
  THE DRIVER WILL REJECT A REQUEST IF:
       - FUNCTION CODE IS ILLEGAL 
       - DATASET IS NOT READY 
       - DEVICE IS NOT READY
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X12701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2100 REMOTE JOB ENTRY TO IBM HOST CPU
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  4    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DATA COMM       IBM             BATCH 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  (HPRJE) IS A PROGRAM DESIGNED TO ALLOW MEDIUM-TO-HIGH-SPEED REMOTE
  JOB ENTRY FUNCTIONS TO BE CARRIED OUT BETWEEN AN IBM (HOST) COMPUTER
  AND AN HP2100 SERIES COMPUTER.  THE PROGRAM SIMULATES THE FUNCTION OF 
  AN IBM 2780 TERMINAL WHICH IS ONE OF IBM'S POPULAR MEDIUM-SPEED RJE 
  TERMINALS.
  
  IN PARTICULAR, THE FUNCTIONS AVAILABLE WITH (HPRJE) ARE AS FOLLOWS: 
  
  1. JOB ENTRY.  A FILE OF DATA, AS A COBOL SOURCE COMPILE, IS TRANS- 
                 MITTED TO THE IBM (HOST) CPU FOR PROCESSING. 
  
  2. JOB RETRIEVAL.  OUTPUT FILES FROM ENTERED JOBS ARE RECEIVED FROM THE 
                 IBM (HOST) CPU AND SPOOLED TO TAPE IN LINE PRINTER 
                 FORMAT.
  
  3. JOB STATUS & CONTROL.  STATISTICS ON ENTERED JOBS, AS PROCESSING 
                 QUEUES, AND JOB CONTROL FUNCTIONS, AS JOB CANCELLA-
                 TION, ARE AVAILABLE UPON REQUEST FROM THE HP2100 
                 SYSTEM'S CONSOLE.
  
  4. CARD TO TAPE.  (HPRJE) WILL READ CARDS AND WRITE TO MAG TAPE, THUS 
                 GENERATING AN INPUT FILE FOR TRANSMISSION TO THE (HOST)
                 CPU. 
  
  5. FILE PRINT  (HPRJE) WILL PRINT JOB FILES RECEIVED FROM THE (HOST)
                 CPU. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  THE FOLLOWING IS A STEP-BY-STEP DESCRIPTION OF PROCEDURES REQUIRED TO 
  BRING HPRJE INTO OPERATION: 
  
  1.  OBTAIN HP HARDWARE REQUIRED AS SPECIFIED (AND AS DESIRED) IN
      SECTION 3.5  RUN HARDWARE DIAGNOSTIC ROUTINES ON RECEIVED HARDWARE. 
  
  2.  OBTAIN A MODEM COMPATIBLE WITH "HOST" CPU'S MODEM(S).  (BELL 201'S
      ARE USUALLY STANDARD FOR DIAL-UP TRANSMISSIONS AT 2000 BPS). IF 
      THE MODEM IS NON-BELL, OBTAIN A DATA ACCESS ARRANGEMENT "DAA" 
      FOR IT. 
      (WITH AUTO-ANSWER FEATURE!  D.50'C' EXPECTS IT!)
  
  3.  PREPARE A CONTROL SYSTEM USING PCS FOR EITHER A BCS BASIC CONTROL 
      SYSTEM) OR MTS (MAG. TAPE OPERATING SYSTEM).  INCLUDE DRIVERS FOR 
      ALL DEVICES DESCRIBED IN SECTION 3.5. INCLUDING TELECOMMUNICATION 
      DRIVER D.50'C' (CONTRIBUTED PROGRAM 22328) AND ITS REQUIRED 
      MODIFIED TIME BASE GENERATOR DRIVER D.43.  (NOTE: D.50'C' MUST BE 
      LOADED AT RUN TIME BECAUSE OF ITS SIZE.)
  
  4.  COMPILE HPRJE AND REQUIRED SUBROUTINES CONVT, B2ASC, & AS2BI PRO- 
      DUCING RELOCATABLE PAPER TAPE OUTPUT.  LINK THESE PROGRAMS AND
      D.50'C' TOGETHER USING THE BCS LOADER GENERATED IN STEP #3.  THE
      ABSOLUTE OUTPUT TAPE MAY BE LOADED WITH THE BBL AND IS THE FINAL
      PRODUCT, I.E. HPRJE.
  
  5.  INFORM YOUR "HOST" COMPUTER'S SYSTEM ANALYST OF YOUR FEATURES, AS 
      CODE (EBCDIC), TRAILING BLANK SUPPRESSION, MULTIPLE RECORDS, ETC. 
      SO HE MAY DO A SYSGEN ON HIS SYSTEM TO INCLUDE YOU AS A REMOTE. 
      NOTE ANY "SIGNON" REQUIREMENTS HE MAY ASSIGN YOU. 
  
  6.  YOU'RE ON THE AIR!! 
  
  
 **RUN INSTRUCTIONS:
  
  1. LOAD HPRJE EITHER FROM MAGNETIC TAPE BY TYPING ":PROG,HPRJE" TO THE
     "NEXT?" COMMAND OF MTS OR FROM PAPER TAPE USING THE BBL. 
  
  2. HPRJE TYPES A HEADER MESSAGE FOLLOWED BY THE FUNCTION LIST:
     1.= PRINT FUNCTION LIST
     2 = TRANSMIT JOB FILE
     3 = RECEIVE JOB OUTPUT 
     4 = STATUS REQUEST 
     5 = ADVANCE MAG. TAPE
     6 = CARD TO MAG. TAPE
     7 = PRINT FILE 
     8 = RETURN TO MTS
  
     (SETTING OF SWITCH ZERO IN THE SWITCH REGISTER ELIMINATES THE
     WRITING OF THE FUNCTION LIST TO THE CONSOLE WHEN THE PROGRAM IS
     INITIALLY STARTED.)
  
     ENTER DESIRED FUNCTION:
  
  3. TYPE A ONE-DIGIT RESPONSE CORRESPONDING TO THE FUNCTION DESIRED FOR
     EXECUTION.  HPRJE WILL CARRY OUT THAT FUNCTION AND UPON COMPLETION,
     ALLOW ANOTHER FUNCTION TO BE SELECTED. 
  
  4. JOB SUBMITTAL
     TO PREPARE AND SUBMIT A JOB(S) FOR PROCESSING, CARRY OUT THE 
     FOLLOWING STEPS: 
  
     A. RUN CARD TO TAPE ON ALL JOBS FOR SUBMITTAL (TO GENERATE AN INPUT
        FILE FOR TRANSMISSION).  USE FUNCTION #6 OF HPRJE OR ANY OTHER
        STANDARD CARD TO TAPE ROUTINE.  CREATE ONE FILE ONLY.  MULTIPLE 
        JOBS MAY BE APPENDED TOGETHER ON INPUT.  MOUNT TAPE.
  
     B. SELECT THE TRANSMIT JOB FILE FUNCTION (#2) OR RESPOND "/S" TO 
        "COMMAND?" IF EXECUTING THE STATISTICS FUNCTION (#4). 
  
     C. HPRJE WILL ASK "INPUT CODE?".  RESPOND "AS" FOR ASCII CODE, IF
        HPRJE'S OWN CARD TO TAPE ROUTINE WAS USED TO GENERATE THE INPUT 
        FILE.  RESPOND "EB" FOR EBCDIC CODE IF SOME OTHER CARD TO TAPE
        ROUTINE WAS USED THAT GENERATED AN EBCDIC DATA FILE.
     D. HPRJE WILL TYPE "DIAL REMOTE". DIAL THE "HOST" CPU, WAIT FOR THE
        ECHO SUPRESSOR TONE TO DIE (HIGH PITCHED TONE) AND PRESS DATA.
        THE INPUT FILE WILL THEN BE TRANSMITTED TO THE "HOST" CPU FOR 
        PROCESSING. 
  
     E. UPON COMPLETION, HPRJE WILL DISPLAY JOB ID STATISTICS 
        FOLLOWED BY A RECORD COUNT CORRESPONDING TO THE NUMBER OF CARD
        IMAGES READ FROM TAPE AND THEN WAIT FOR ANY OUTPUT THE HOST MAY 
        HAVE WITHOUT REQUIRING A NEW PHONE CONNECTION.
  
     F. CONTROL IS THEN RETURNED TO ALLOW A NEW FUNCTION TO BE SELECTED.
  
  5. JOB RETRIEVAL
  
     TO RECEIVE THE OUTPUT FROM SUBMITTED JOBS, CARRY OUT THE FOLLOWING 
     STEPS: 
  
     A. MOUNT AND ADVANCE TO, IF NECESSARY, THE CORRECT MAG. TAPE 
        POSITION. 
  
     B. SELECT THE "RECEIVE JOB OUTPUT" FUNCTION (#3) OR RESPOND "/R" 
        TO "COMMAND?" IF EXECUTING THE STATISTICS FUNCTION (#4).  (NOTE:
        IF YOU ARE NOT SURE IF OUTPUT IS READY, IT IS BEST TO EXECUTE THE 
        APPROPRIATE STAT COMMAND TO DETERMINE SUCH INFORMATION, THUS PRE- 
        VENTING A PHONE CONNECTION IN WHICH THERE IS NO DATA TO BE SENT 
        BY EITHER CPU.) 
  
     C. HPRJE WILL ASK "OUTPUT CODE?". RESPOND "AS" FOR ASCII IF HPRJE'S
  
        OWN PRINT ROUTINE IS TO BE USED.  RESPOND "EB" FOR EBCDIC IF
        SOME OTHER PRINT ROUTINE IS TO BE USED THAT EXPECTS EBCDIC
        SPOOLED DATA. 
  
     D. HPRJE WILL TYPE "DIAL REMOTE".  DIAL THE "HOST" CPU AS IN "4.D."
        ABOVE.  THE DATA FILE WILL THEN BE RECEIVED AND SPOOLED TO MAG. 
        TAPE. 
  
     E. UPON COMPLETION, HPRJE WILL PRINT A COUNT OF RECORDS WRITTEN TO 
        MAG. TAPE, SHUT DOWN THE PHONE LINE, AND ALLOW A NEW FUNCTION TO
        BE SELECTED.
  
     F. MULTIPLE JOBS WILL AUTOMATICALLY BE BROUGHT BACK.  A RECORD 
        COUNT IS DISPLAYED ON THE CONSOLE FOR EACH JOB BROUGHT BACK AND 
        ONE EOF IS WRITTEN TO MAG TAPE FOR EACH JOB.
  
     G. SETTING OF SWITCH 15 IN THE SWITCH REGISTER WILL CAUSE THE 2100 
        TO STOP WAITING FOR OUTPUT JOBS FROM THE HOST CPU AND SIGN-OFF
        WITH HIM.  ONE ADDITIONAL EOF IS WRITTEN TO TAPE AT THIS TIME.
  
  6. JOB STATISTICS 
  
     TO OBTAIN JOB STATISTICS INITIATE FUNCTION #4. 
     A. HPRJE WILL TYPE "COMMAND?".  SELECT A VALID "HOST" CPU'S STAT 
        COMMAND (SEE ATTACHED SHEET FOR VALID HASP COMMANDS) AND TYPE IT
        ON THE CONSOLE FOLLOWED BY CR,LF. 
  
     B. IF A PRIOR CONNECTION HAS NOT BEEN ESTABLISHED, HPRJE WILL
        DIRECT YOU TO "DIAL REMOTE".  ESTABLISH A DATA LINK AS DESCRIBED
        IN "4.D.".
  
     C. AFTER APPROXIMATELY A 3-SECOND DELAY, YOUR REQUESTED STATISTICS 
        WILL BE TYPED ON THE CONSOLE AND THE "COMMAND?" QUESTION RE-
        INITIATED (GO TO STEP A.) 
  
     D. TO TERMINATE THE JOB STATISTICS FUNCTION, TYPE: 
  
        1. "/E" - THIS DISCONNECTS THE PHONE LINE AND ALLOWS A NEW
           FUNCTION TO BE INITIATED.
  
        2. "/S" - THIS INITIATES FUNCTION #2. 
  
        3. "/R" - THIS INITIATES FUNCTION #3. 
  
     E. SOME USEFUL "COMMAND" RESPONSES WHEN COMMUNICATING WITH A 
        "HASP" SYSTEM ARE:
  
        COMMAND                             DESCRIPTION 
        -------                             ----------- 
        /E                     EXIT THE STAT ROUTINE
        /S                     EXIT THE STAT ROUTINE AND BEGIN SENDING
                               INPUT FILE 
        /R                     EXIT THE STAT ROUTINE, BEGIN RECEPTION 
                               OF OUTPUT FROM "HOST" CPU. 
        $DA                    DISPLAY ACTIVE JOBS
        $DN                    DISPLAY INFORMATION ON QUEUED JOBS 
        $DQ                    DISPLAY NUMBER OF QUEUED JOBS
        $DF                    DISPLAY NUMBER OF QUEUED JOBS AWAITING 
                               FORMS. 
        $CJXXX                 CANCEL JOB "XXX". ("XXX" IS JOB NUMBER)
        $D'JOB NAME'           DISPLAY INFORMATION ON SPECIFIC JOB (NOTE
                               NAME MUST BE 8 CHARACTERS LONG, I.E., PAD
                               WITH BLANKS) 
        $PJXXX                 STOP SPECIFIC JOB "XXX" AFTER CURRENT
                               ACTIVITY 
  
  7. CARD TO TAPE 
  
     A. PLACE YOUR JOB DECK(S) IN THE CARD READER, MOUNT AND POSITION,
        IF NECESSARY, A MAG. TAPE (WITH A WRITE RING) AND ENTER 6 ON
        THE CONSOLE.
  
     B. YOUR SOURCE DECK WILL BE READ AND WRITTEN TO MAG. TAPE IN 
        ASCII CODE, ONE CARD PER MAG. TAPE RECORD.
  
     C. A BLANK CARD WILL TERMINATE THE FUNCTION.  TWO TAPE MARKS ARE 
        WRITTEN ON MAG. TAPE UPON TERMINATION.
  
  8. PRINT FILE 
  
     A. MOUNT THE MAG. TAPE CONTAINING RECEIVED JOB OUTPUT FILES. 
        POSITION TO THE DESIRED FILE. 
  
     B. PREPARE THE LINE PRINTER AND ENTER 7 ON THE CONSOLE.
  
     C. ONE FILE OF DATA WILL BE PRINTED ON THE LINE PRINTER. 
  
  9. ADVANCE MAG TAPE 
  
     A. ENTER 5 ON THE CONSOLE.  HPRJE WILL RESPOND "HOW MANY 'FILES, 
        RECORDS'?".  ENTER THE DESIRED AMOUNT YOU WISH TO ADVANCE THE 
        MAG. TAPE.  THE FORMAT IS FREE FIELD.  VALID EXAMPLES ARE:
  
             1.  3,125 = 3 FILES, THEN 125 RECORDS
             2.    ,27 = JUST 27 RECORDS
             3.      1 = 1 FILE ONLY
  
     B. THE MAG. TAPE WILL BE ADVANCED THE GIVEN NUMBER OF FILES AND/ 
        OR RECORDS. 
  
  10. RETURN TO MTS 
  
     ENTE 8 ON THE CONSOLE.  THE SUBROUTINE ".STOP" WILL BE CALLED AND
     CONTROL RETURNED TO THE MAGNETIC TAPE OPERATING SYSTEM.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DESCRIPTION OF INPUT AND OUTPUT 
  
  HPRJE'S, OR ANY OTHER STANDARD CARD TO MAGNETIC TAPE ROUTINE MUST BE
  RUN TO GENERATE AN INPUT FILE FOR TRANSMISSION.  HPRJE WILL HANDLE
  EITHER ASCII OR EBCDIC DATA FILES.  BLOCKING FACTOR MUST BE ONE CARD
  IMAGE PER BLOCK.  HPRJE GENERATES ONE OUTPUT FILE ON MAGNETIC TAPE UPON 
  RECEPTION FROM THE "HOST" CPU.  RECORDS CAN BE SPOOLED IN EITHER ASCII
  OR EBCDIC CODE AND ARE CONFIGURED FOR LINE PRINTING, I.E., 1ST
  CHARACTER DEFINES LINE PRINTER CARRIAGE CONTROL.* RECORDS ARE SPOOLED 
  ONE RECORD PER PRINT LIEN.
  
  * EBCDIC CODE GENERATES EBCDIC MACHINE CODE CARRIAGE CONTROL CHARS. 
    ASCII CODE GENERATES STANDARD HP 2778 LINE PRINTER CARRIAGE CONTROL 
    CHARACTERS. 
  
  ON-LINE FEATURES OF HPRJE 
  
  1. DATA COMPRESSION 
  
     COMPILATION OF HPRJE WITH "Z" IN THE "ASMB" STATEMENT CAUSES TRAIL-
     ING BLANKS TO BE REMOVED FROM CARD IMAGES AND REPLACED BY AN "EM" -
     END OF MEDIA CHARACTER.  COMPILATION WITH "N" DOES NOT CAUSE THIS
     TO HAPPEN. 
  
  2. MULTIPLE RECORDS 
  
     HPRJE FILLS A 400 CHARACTER BUFFER WITH AS MANY CARD IMAGES AS 
     POSSIBLE BEFORE TRANSMITTING THE BLOCK.  ("IUS" - INNER-UNIT 
     SEPARATOR CHARACTERS AND 2 BCC CHARACTERS ARE APPENDED ON TO EACH
     CARD IMAGE).  THIS FEATURE ELIMINATES LINE TURN-AROUNDS AND HELPS
     INCREASE THRU-PUT.  THE NET EFFECT OF FEATURE #1 & #2 (&D.50 ACTION) 
     IS A BLOCK OF DATA IN THE FOLLOWING FORMAT.
  
     (SYN) (SYN) (SYN) (STX) (BLOCK #1) (EM) (IUS) (BCC) (BCC)
     (BLOCK #2) (EM) (IUS) (BCC) (BCC)....(BLOCK N) (ETX) (BCC) (BCC) 
  
  3. RECORD UNBLOCKING OF OUTPUT
  
     HPRJE ACCEPTS UP TO 400 CHAR. BLOCKS FROM THE "HOST" CPU CONTAIN-
     ING PRINT LINES.  PRINT LINES ARE DELINEATED AND UNBLOCKED IN THE
     FOLLOWING FASHION: 
  
     A. "ESC" - DATA LINK ESCAPE CHARACTERS ARE SCANNED.  WHEN FOUND, 
        THE FOLLOWING CHARACTER IS TREATED AS A PRINTER CARRIAGE
        CONTROL CHARACTER.
  
     B. THE CARRIAGE CONTROL CHARACTER IS CONVERTED TO ITS APPROPRIATE
        HP OR IBM COMPATIBLE CONTROL CHARACTER.  IT IS APPENDED TO THE
        FOLLOWING PRINT LINE CHARACTERS AND THE ENTIRE PRINT LINE SET IS
        WRITTEN TO MAGNETIC TAPE.  CONVERSION OF CARRIAGE CONTROL CHARAC- 
        TERS IS AS FOLLOWS: 
  
     RECEIVED           EBCDIC        ASCII       PRINTER 
     CHARACTER*         SPOOL**       SPOOL**     ACTION
     ----------         -------       -------     ------- 
        /                11             40        SINGLE SPACE
        S                21             60        DOUBLE SPACE
        T                31             56        TRIPLE SPACE
        A               211             61        SKIP TO CHANNEL 1 
        B               221             62          "   "    "    2 
        C               231             63          "   "    "    3 
        D               241             64          "   "    "    4 
        E               251             65          "   "    "    5 
        F               261             66          "   "    "    6 
        G               271             67          "   "    "    7 
        H               301             70          "   "    "    8 
  
                        (IBM MACHINE    (HP2778A) 
                               CODE)
        * - EBCDIC
       ** - OCTAL (BASE 8)
  3. C. "IUS" - INTER UNIT SEPARATOR AND THE NEXT 2 SUCCEEDING 'BCC'
        CHARACTERS ARE STRIPPED FROM THE INPUT WITH NO OPERATION. 
  
  4. CODE INTERCHANGE 
  
     HPRJE WILL HANDLE EITHER ASCII OR EBCDIC CODE ON BOTH INPUT AND
     OUTPUT.  EBCDIC CODE IS ALWAYS USED AS THE TRANSMISSION CODE.
     THEREFORE, IF ASCII CARD IMAGES ARE READ, THEY ARE CONVERTED TO
     EBCDIC BEFORE TRANSMISSION.  SIMILARLY, IF ASCII PRINT LINES ARE 
     REQUESTED, RECEIVED EBCDIC PRINT LINES ARE CONVERTED TO ASCII BE-
     FORE SPOOLING TO TAPE. 
  
  
  5. I/O OVERLAP
  
     HPRJE EMPLOYS DOUBLE BUFFERING TECHNIQUES ON ALL OPERATIONS
     (EXCEPT THE OFF-LINE CARD TO TAPE FUNCTION).  THUS DATA TRANSMISSIONS
     ARE DONE IN PARALLEL WITH THE ABOVE MENTIONED FEATURES.  THIS
     OPTIMIZES PHONE LINE THRU-PUT. 
  
  6. 'HOST' CPU STATUS
  
     HPRJE ALLOWS JOB STATISTICS AND SYSTEM QUEUES TO BE RECEIVED FROM THE
     'HOST' CPU AND DISPLAYED ON THE HP 2100'S SYSTEM CONSOLE.  THIS AS-
     SUMES, OF COURSE, THAT THE 'HOST' CPU HAS JOB STAT FEATURES.  AN 
     OPERATOR MAY ENTER AS MANY STAT REQUESTS AS DESIRED, WITH A CORRES-
     PONDING RESPONSE FOR EACH, AND THEN FURTHER INITIATE TRANSMISSION OR 
     RECEPTION OF DATA FILES ALL WHILE 'ON-LINE' TO THE 'HOST' CPU.  THIS 
     MAY PROVE QUITE HELPFUL IN DETERMINING WHEN OUTPUT IS READY FOR RE-
     CEPTION AND THUS ELIMINATE 'TYING-UP' THE 2100 SYSTEM WAITING FOR
     OUTPUT WHEN LARGE PROCESSING QUEUES DEVELOP AT THE 'HOST' LOCATION.
  
     UPON COMPLETION OF JOB ENTRY, HPRJE WILL WAIT FOR A JOB ID 
     MESSAGE FROM THE 'HOST' CPU WITHOUT REQUIRING A NEW PHONE CONNECTION.
     UPON RECEPTION, THIS MESSAGE IS DISPLAYED ON THE 2100'S CONSOLE. THE 
     MESSAGE SHOULD CONTAIN INFORMATION AS ASSIGNED JOB NUMBER, PRIORITY, 
     ETC.  (NOTE: THIS FEATURE SHOULD BE COMPILED OUT OF HPRJE IF NOT EM- 
     PLOYED BY THE 'HOST' SYSTEM.  OTHERWISE, IT WILL CAUSE AN ERROR
     CONDITION AT THE 2100 END UPON JOB INPUT COMPLETION.)
  
  
  7. HPEJW "SIGNS ON" AND "OFF" WITH THE HOST CPU AUTOMATICALLY.  (REMOTE 
     NUMBER IN THE CONTRIBUTED SOURCE IS "REMOTE8") 
  
  OFF-LINE FEATURES 
  
  1. CARD TO TAPE 
  
     HPRJE WILL EXECUTE CARD TO TAPE ON JOB DECKS TO GENERATE A CARD FILE 
     ON MAG. TAPE FOR INPUT TO THE ON-LINE DATA TRANSMISSION FUNCTION. AN 
     ASCII FILE WITH BLOCKING FACTOR = IS GENERATED.  A BLANK CARD IS 
     TREATED AS THE END OF INPUT INDICATOR. 
  
  2. PRINT ROUTINE
  
     HPRJE WILL PRINT ONE FILE OF DATA FROM MAG. TAPE AS THE ON-LINE
     RECEIVE OUTPUT FUNCTION GENERATES.  THE DATA ON MAG. TAPE IS EXPECTED
     TO BE IN ASCII CODE, ONE PRINT LINE PER BLOCK, AND THE 1ST CHARACTER 
     OF EACH LINE DEFINING PRINTER CARRIAGE CONTROL.(NOTE: THE CARD TO
     TAPE FUNCTION DOES NOT GENERATE CARRIAGE CONTROL CHARS..  THEREFORE, 
     PRINTING OF IT WITH THIS ROUTINE WILL GENERATE A LISTING WITH THE 1ST
     CHAR. MISSING AND RANDOM PAGE SPACING DEPENDING ON THE ACTUAL 1ST
     CHARCTER FOUND ON THE CARD IMAGES.)
  
  3. MAG. TAPE POSITIONING
  
     HPRJE ALLOWS ADVANCING OF A MAG. TAPE TO ANY FILE OR RECORD POSITION.
     THIS IS HELPFUL WHEN THE SAME MAG. TAPE IS TO BE USED FOR INPUT AND
     OUTPUT FEATURES. FILE 1 COULD CONTAIN CARD IMAGES OF A JOB AND FILE 2
     ITS CORRESPONDING PRINT OUTPUT.  THE POSITIONING FEATURE WOULD ENABLE
     ADVANCING TO FILE 2 FOR PRINTING. (NOTE: AFTER TRANSMISSION OF INPUT,
     THE MAG. TAPE IS POSITIONED JUST AFTER THE 'TM' OF FILE 1.  THIS 
     OUTPUT CAN BE RECEIVED WITHOUT FURTHER POSITIONING.) 
  FEATURES NOT EMPLOYED:
  
  1. DATA TRANSMISSION OF ASCII CODE.  EBCDIC IS ALWAYS SENT TO AND 
     EXPECTED FROM THE 'HOST' CPU.
  
  2. DATA COMPRESSION OF IMBEDED BLANKS, REPEATING CHARACTERS, OR TABBING 
     FEATURES.
  
  3. TRANSPARENT TEXT (TRANSMISSION/RECEPTION OF BINARY DATA).  (NOTE:
     EMPLOYED DRIVER D.50'C' DOES ALLOW THIS FEATURE, THUS ONLY HPRJE 
     NEED BE MODIFIED TO EMPLOY TRANSPARENT TEXT CAPABILITIES.) 
  
  4. POLLING FEATURES BY 'HOST'  CPU FOR MULTIDROP LINES. 
  
  5. ON-LINE CARD READING OR LINE PRINTING.  HPRJE USES MAG. TAPE FOR ITS 
     ON-LINE I/O DEVICE.  THIS WAS EMPLOYED TO BYPASS TRADITIONAL CARD
     READER PROBLEMS (PICK FAILURES, CARD MOTION, AND MISREADS) AND LINE
     PRINTER PROBLEMS, AS PAPER JAM, DURING ON-LINE OPERATION. IF DESIRED,
     ON-LINE CARD READING AND LINE PRINTING CAN BE EMPLOYED BY MERELY 
     CHANGING MAG. TAPE I/O CALLS TO CARD READER OR LINE PRINTER CALLS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR RECOVERY PROCEDURES 
  
  THERE ARE ONLY TWO ABORT CONDITIONS WHICH MAY OCCUR.  SHOULD A MAG. TAPE
  ERROR OCCUR, AS A PARITY ERROR, END-OF-TAPE, ETC., HPRJE WILL TYPE
  "ABORT-MAG TAPE ERROR" AND ALLOW A NEW FUNCTION TO BE SELECTED.  THE
  ONLY RECOVERY IS TO CORRECT THE ERROR CONDITION (RECREATION OF THE TAPE 
  MAY BE NECESSARY) AND RESTART HPRJE.
  
  IRRECOVERABLE PHONE LINE CONDITIONS ARE IDENTIFIED BY THE STATEMENT 
  "ABORT-PHONE LINE PROBLEMS".  RECOVERY IS AS FOLLOWS: 
  
  1. IF SUBMITTING A JOB(S):
  
     A. RELOAD HPRJE
  
     B. OBTAIN A STATUS OF "$DA" TO FIND OUT WHAT JOB NUMBER WAS
        ASSIGNED TO THE PARTIAL INPUT FILE. 
  
     C. CANCEL THAT JOB WITH STAT COMMAND OF $CJXXX WHERE "XXX" = JOB #.
  
     D. RESUBMIT ENTIRE JOB FILE. 
  
  2. IF RECEIVING OUTPUT: 
  
     A. RESTART HPRJE 
  
     B. INITIALIZE A READ FUNCTION: #3
  
     C. ESTABLISH DATA LINK AND RECEIV REMAINDER OF DATA FILE.  DO NOT
        REWIND OR REPOSITION MAG. TAPE, JUST LEAVE AS IS. 
  
  3. DURING A STAT COMMAND: 
  
     A. MERELY RESTART HPRJE AND OBTAIN A NEW DATA LINK.
  
  
 **MISCELLANEOUS: 
  
                      HASP COMMANDS FROM REMOTE TERMINALS 
  
  COMMAND                                COMMENTS 
  -------                                -------- 
  JOB QUEUE 
  $DA                     DISPLAY ACTIVE JOBS 
  $DF                     DISPLAY NUMBER OF QUEUED JOBS AWAITING FORMS
  $DN                     DISPLAY JOB INFORMATION ON QUEUED JOBS
  $DQ                     DISPLAY NUMBER OF QUEUED JOBS 
  
  JOB LIST
  $C 'JOB LIST'           CANCEL SPECIFIED JOB(S) 
  $D 'JOB LIST'           DISPLAY JOB INFORMATION ON SPECIFIED JOB(S) 
  $P 'JOB LIST'           STOP SPECIFIED JOB(S) AFTER CURRENT ACTIVITY
  
  MISCELLANEOUS JOB 
  $D 'JOB NAME'           DISPLAY JOB INFO ON JOB(S) WITH OS JOB NAME 
  
  DEVICE LIST 
  $B DEVICE LIST          BACKSPACE DEVICE (S)
  $D DEVICE LIST          CANCEL CURRENT FUNCTION ON DEVICES(S) 
  $E DEVICE LIST          RESTART CURRENT FUNCTION ON DEVICE(S) 
  $F DEVICE LIST          FORWARD SPACE DEVICE(S) 
  $I DEVICE LIST          INTERRUPT THE CURRENT FUNCTION ON DEVICES(S)
  $N DEVICE LIST          REPEAT CURRENT FUNCTION ON DEVICES(S) 
  $P DEVICE LIST          STOP THE DEVICES(S) 
  $T DEVICE LIST          SET DEVICE
  $Z DEVICE LIST          HALT DEVICES(S)  (SUSPEND OPERATION)
  $S DEVICE LIST          START THE DEVICE(S) 
  REMOTE JOB ENTRY
  $DM                     DISPLAY MESSAGE 
  $R                      ROUTE OUTPUT FOR SPECIFIED JOB OR DEVICE
                          GROUP TO ANOTHER DEVICE GROUP 
  
  IF CARDS ARE USED FOR COMMAND INPUT THEN A"/*" MUST BE IN CARD
  COLUMN 1 & 2 FOLLOWED BY THE COMMAND. E.G., "/*$DN".
X12801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CHARACTER CODE TRANSLATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  4    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    ASCII           EBCDIC          TRANSLATOR
    CHARACTER 
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    MTS 3030
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS MTS PROGRAM TRANSLATES FROM ASCII TO EBCDIC, AND FROM EBCDIC TO
  ASCII.  EACH TRANSLATED CHARACTER CAN BE PLACED IN THE CORE STORAGE 
  LOCATION FROM WHICH THE CORRESPONDING UNTRANSLATED CHARACTER WAS
  ACQUIRED.  ALTERNATIVELY, THE TRANSLATED CHARACTER CAN BE PLACED IN A 
  DIFFERENT CORE STORAGE LOCATION.  THE ORIGINAL CHARACTERS AND THE 
  TRANSLATED CHARACTERS ARE PACKED TWO CHARACTERS PER 16-BIT WORD.
  
  BY PREPARING DIFFERENT CONVERSION TABLES FOR THE PROGRAM, A USER CAN
  CONVERT ANY 8-BIT (OR LESS) CODE TO ANY OTHER 8-BIT (OR LESS) CODE. 
  
  MAGNETIC TAPE (9-TRACK) I/O NOT REQUIRED, BUT THE BIGGEST USE FOR THIS
  PROGRAM WILL PROBABLY BE TRANSLATING BETWEEN ASCII AND EBCDIC ON
  MAGNETIC 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: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  USUAL ASSEMBLY, LOAD AND RUN PROCEDURES.
  
  2.  THE TRANSLATE TAPE AND TWO TABLE LOOK-UP DATA TAPES MUST BE READ
      IN BY THE CALLING PROGRAM UNDER K6 FORMAT, OCTAL INTEGER.  THE
      TABLES INCLUDED HERE ARE: 
  
                      EBCDIC TO ASCII  AND
                       ASCII TO EBCDIC
  
  CALL TLATE (I,J,K,L) WHERE... 
  
  PARAMETER     TYPE     DESCRIPTION
  
      I         INTEGER  NAME OF THE SOURCE STRING TO BE TRANSLATED 
  
      J         INTEGER  THE TRANSLATED STRING
  
      K         INTEGER  ADDRESS OF THE LOOK-UP TALE
  
      L         INTEGER  POSITIVE INDICATES LENGTH OF BUFFER IN WORDS 
                         NEGATIVE INDICATES LENGTH OF BUFFER IN CHARACTERS
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X12901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MAG TAPE TO PRINT UTILITY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    MAGNETIC TAPE   PRINTER         DUMP
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  UNDER TELEPRINTER KEYBOARD CONTROL, THIS PROGRAM DUMPS MAGNETIC TAPE
  FILES ONTO A LINE PRINTER.  THE TAPE RECORDS MAY HAVE ANY OF A VARIETY
  OF FORMATS, AND EITHER ASCII OR EBCDIC FILES CAN BE ACCOMMODATED. 
  
  EQUIPMENT REQUIRED IS THE DIRECT MEMORY ACCESS OPTION FOR THE COMPUTER, 
  ONE HP3030 MAGNETIC TAPE UNIT WITH INTERFACE KIT, AND ONE LINE PRINTER
  WITH 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: 
  
  ASSEMBLE THE SUPPLIED SOURCE TAPE USING THE EXTENDED ASSEMBLER RESULTING
  IN A RELOCATABLE OBJECT TAPE.  (THE SUPPLIED SOURCE TAPE HAS THE
  ASSEMBLY CONTROL STATEMENT.)
  
  CONFIGURE A BCS FOR THE HARDWARE ON WHICH THIS UTILITY IS TO RUN.  THE
  TAPE I/O MUST BE ASSIGNED UNIT REFERENCE NUMBER 10B.  THE BCS CONFIGURA-
  TION MUST ALSO CONTAIN A TTY AND A LINE PRINTER.
  
  LOAD THE CONFIGURED BCS FROM STEP II, AND USING THE BCS RELOCATING
  LOADER, LOAD THE RELOCATABLE OBJECT TAPE PRODUCED AS A RESULT FROM
  STEP I.  SET SW 14 ON SO AS TO PRODUCE AN ABSOLUTE OUTPUT TAPE.  NEXT,
  LOAD THE RELOCATABLE PROGRAM LIBRARY AND COMPLETE LOADING OPERATIONS. 
  
  LOAD THE ABSOLUTE BINARY TAPE PRODUCED BY STEP III, USING THE BASIC 
  BINARY LOADER.
  
  
 **RUN INSTRUCTIONS:
  
  PLACE A REEL OF MAGNETIC TAPE ON THE TAPE UNIT AND MAKE IT READY, I.E., 
  LOAD POINT AND AUTO MODE. 
  
  CHECK TO SEE THAT THE LINE PRINTER IS READY AND ON LINE.
  
  ENTER 2B IN THE SWITCH REGISTER AND PRESS "LOAD ADDRESS". 
  
  AT THIS POINT, A DECISION MUST BE MADE AS TO WHETHER OR NOT DEFAULT 
  PARAMETERS ARE DESIRED.  DEFAULT PARAMETERS ARE AS FOLLOWS: 
  
       LOGICAL RECORD LENGTH = 80 CHARACTERS
       TAPE RECORD LENGTH (BLOCKSIZE) = 800 CHARACTERS
       TAPE CODE = EBCDIC 
  
  TO ASSUME THESE PARAMETERS, TURN OFF ALL SWITCH REGISTER SWITCHES AND 
  PRESS "PRESET" AND "RUN".  TO ASSUME ANY OTHER PARAMETERS, SET SW 0 ON
  AND PRESS "PRESET" AND "RUN".  MESSAGES WILL BE LOGGED ON THE TTY 
  REQUESTING THE LOGICAL RECORD LENGTH, BLOCKSIZE, AND TAPE CODE.  TYPE 
  ANSWERS ON TTY AND FOLLOW BY RETURN AND LINEFEED CHARACTERS.
  
  WHENEVER AN EOF MARK IS DETECTED ON THE TAPE, A MESSAGE IS PRINTED ON 
  THE TTY, AND THE COMPUTER HALTS (T REGISTER = 102077B).  TO DUMP NEXT 
  FILE, SET SW 15 OFF AND PRESS "RUN".  THE TAPE WILL BE REWOUND TO LOCAL.
  
  A PAGE NUMBER, FILE COUNT, AND RECORD COUNT IS MAINTAINED BY THE PROGRAM
  AND LISTED ON THE OUTPUT. 
  
  IF THE COMPUTER HALTS WITH THE T-REGISTER EQUAL TO 102011B, A TAPE ERROR
  HAS BEEN DETECTED.  PRESS "RUN" TO RETRY. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X13001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DRUM BASED MAGNETIC TAPE DUPLICATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    MAGNETIC TAPE   DUMP
  
  
 **LANGUAGES: 
  
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
  
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  USING SOURCE MAGNETIC TAPES WITH THE FORMAT PRODUCED BY PROGRAM 22198 
  (CLASSIFICATION CODE 102), THIS INDEPENDENT PROGRAM PERFORMS ANY OF THE 
  FOLLOWING FUNCTIONS:
  
  A.  THE PROGRAM MAKES COPIES OF A MAG TAPE USING A SINGLE MAG TAPE UNIT.
      THE DRUM IS USED FOR INTERMEDIATE STORAGE.
  
  B.  THE PROGRAM ALLOWS MANY MAG TAPES TO BE COMBINED ON THE DRUM.  A
      SINGLE MAG TAPE CAN THEN BE PREPARED FROM THE DRUM FILES. 
  
  C.  THE PROGRAM CAN PURGE ANY SPECIFIED FILE FROM THE DRUM. 
  
  D.  MAG TAPE FILES ON THE DRUM CAN BE SORTED BY ID NUMBER.
  
  E.  SELECTED FILES ON THE DRUM CAN BE RECORDED ON MAG TAPE. 
  
  F.  A DIRECTORY OF PROGRAM RECORDED ON MAG TAPE CAN BE LISTED ON LINE 
      PRINTER OR TELEPRINTER. 
  
  BECAUSE THIS IS AN INDEPENDENT PROGRAM, THE MAG TAPE FORMAT AND DRUM
  FORMAT ARE NOT COMPATIBLE WITH THE FORMATS USED IN STANDARD HP OPERATING
  SYSTEMS.  THEREFORE, THE MAG TAPES PRODUCED MUST BE TRANSFERRED TO
  PUNCHED TAPE, USING PROGRAM 22198, BEFORE USE IN AN OPERATING SYSTEM. 
  
  EQUIPMENT REQUIRED IS 16K OF CORE STORAGE, AND THE DIRECT MEMORY ACCESS 
  AND EXTENDED ARITHMETIC UNIT OPTIONS FOR THE COMPUTER.  ALSO REQUIRED 
  IS AN HP2773/4/5 DRUM MEMORY WITH POWER SUPPLY AND INTERFACE KIT, AND AN
  HP3030 MAGNETIC TAPE UNIT WITH 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: 
  
  TO PUT A MAG TAPE ONTO A DRUM:
  
  1.  LOAD ADDRESS 2, PRESS PRESET AND RUN
  
      HLT 0     DRUM NOT READY, WARM UP, PUSH RUN 
      HLT 11B   OUT OF DRUM SPACE, LOAD ADDRESS 3 AND PUSH RUN TO WRITE 
                EOF ON DRUM 
      HLT 13B   MAG TAPE PARITY ERROR, PUSH RUN OR TERMINATE AT 3 
      HLT 44B   TAPE IN LOCAL, FIX, PUSH RUN
      HLT 77B   TAPE ON DRUM
  
      A-REG = MAXIMUM DRUM ADDRESS
      B-REG = CURRENT DRUM ADDRESS
  
  TO DUMP A MAG TAPE FROM DRUM: 
  
  1.  LOAD MAG TAPE WITH WRITE RING 
  
  2.  PRESS "PRESET" AND "RUN"
  
      HLT 0     DRUM NOT READY, WARM UP, PUSH RUN 
      HLT 6     DRUM PARITY ERROR, PUSH RUN 
      HLT 13B   MAG TAPE PARITY ERROR, PUSH RUN AND RESTART 
      HLT 14B   BAD SPOT ON TAPE, RUN TERMINATED
      HLT 44B   TAPE IN LOCAL, FIX, PUSH RUN
      HLT 77B   NEW TAPE CREATED
  
  TO APPEND A TAPE TO THE DRUM FILE:
  
  1.  MOUNT NEXT TAPE, PUT IN "AUTO", "LOAD POINT"
  
  2.  LOAD ADDRESS 5, PUSH PRESET AND RUN 
  
      HALTS AS IN "TO PUT A MAG TAPE ONTO THE DRUM" 
  
  TO SORT DRUM ONTO TAPE: 
  
  1.  LOAD ADDRESS 40B, PUSH RUN
  
      THE CONTENTS OF THE DRUM WILL NOT BE CHANGED.  HOWEVER, THE FILES 
      ON THE DRUM WILL BE DUMPED TO MAG TAPE IN ASCENDING ORDER.
  
      TO GET AN IMAGE OF THE SORTED FILE ONTO THE DRUM, FOLLOW THE STEPS
      UNDER "TO PUT A MAG TAPE ONTO THE DRUM" 
  
          HLT 0     DRUM NOT READY, WARM UP, PUSH RUN 
          HLT 6     DRUM PARITY ERROR, PUSH IN
          HLT 13B   MAG TAPE PARITY ERROR, PUSH RUN 
          HLT 40B   DONE
          HLT 44B   MAG TAPE IN LOCAL, FIX, PUSH RUN
          HLT 45B   WRITE NOT ENABLED, FIX, PUSH RUN
  
  00037              ORG 37B
  00037 102040       HLT 40B
  00040 024554       JMP SORTD
  
  TO PURGE FILES FROM DRUM: 
  
  1.  LOAD ADDRESS 50B
  
  2.  TYPE ID CODE
  
      HLT 0     DRUM NOT READY, WARM UP, PUSH RUN 
      HLT 1     ID CODE NOT FOUND ON DRUM 
      HLT 6     DRUM PARITY ERROR, PUSH RUN 
      HLT 50B   FILE PURGED 
  
  00047              ORG 47B
  00047 102050       HLT 50B
  00050 024500       JMP PURGE
  
      NOTE:  THE PURGE WILL WORK BEST IF ROUTINES ARE REMOVED FROM THE
             END OF THE LIST FIRST, AS UNWANTED ROUTINES WILL BE REMOVED
             AND TIME NEED NOT BE WASTED MAINTAINING THEM.
  TO DUMP SELECTED FILES ONTO MAG TAPE: 
  
  1.  LOAD ADDRESS 70B
  
  2. TYPE ID CODE 
  
     HLT 0     DRUM NOT READY, WARM UP, PUSH RUN
     HLT 1     ID CODE NOT FOUND ON DRUM
     HLT 6     DRUM PARITY ERROR, PUSH RUN
     HLT 44B   TAPE UNIT IN LOCAL, FIX PUSH RUN 
     HLT 45B   WRITE NOT ENABLED, FIX, PUSH RUN 
     HLT 70B   FILE DUMPED ONTO MAGNETIC TAPE 
  
  TO DUMP A TAPE DIRECTORY ON LINE PRINTER: 
  
  LOAD ADDRESS 102B, PUSH "PRESET" AND "RUN"
  
     HLT 13B     MAG TAPE PARITY ERROR, PUSH RUN
     HLT 44B     MAG TAPE IN LOCAL, FIX, PUSH RUN 
     HLT 77B     DONE 
  
  TO CONFIGURE THIS TAPE FOR YOUR SYSTEM, EDIT THE FOLLOWING STATEMENTS:
  
     #14     .DRUM EQU 14B     VRC 12-MB DRUM 
     #17     .DATA EQU 17B     HP3030 9-TRACK MAG TAPE
     #23     LP    EQU 23B     HP2778A LP 
     #12     TTY   EQU 12B     BUFFERED TTY CHANNEL 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IT WOULD BE POSSIBLE TO MODIFY THIS SCHEME TO MAKE A COMPLETELY DRUM
  BASED TAPE DUPLICATOR, OR TO WORK OUT A DRUM BASED EDITOR FOR CD-II 
  FORMATTED MAG TAPES.
  
  IN ORDER TO MAKE MANY COPIES OF THE SORTED TAPE, IT SHOULD BE LOADED
  BACK ONTO THE DRUM IN SORTED FORM, SINCE THE DRUM DUMP IS MUCH FASTER 
  THAN THE "SORT & DUMP" OPTION.
X13101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MTS/BCS SYSTEM ABSOLUTE DUMP
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    DUMP
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM DUMPS AN ABSOLUTE TAPE UNDER BCS.  WHEN USED AS INPUT
  TO PREPARE TAPE SYSTEM, IT GENERATES ONLY THREE DATA RECORDS ON FILE
  INSTEAD OF THE USUAL SEVERAL HUNDRED.  FASTER ACCESS TIME UNDER MTS 
  AND A SIGNIFICANT SAVINGS IN MAGNETIC TAPE ARE THE BENEFITS OF THIS 
  PROGRAM.  IT CAN BE USED ALONG WITH OR INSTEAD OF THE BASIC CONTROL 
  SYSTEM ABSOLUTE DUMP OPTION.
  
  WHEN USED AS A GENERAL ROUTINE, IT CAN DUMP AN ENTIRE BCS SYSTEM OR 
  SELECTED CORE SECTIONS ENABLING SYSTEM MODIFICATION WITHOUT REASSEMBLY
  AND GENERATION OF A NEW ABSOLUTE 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: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  TO DUMP:
     1. THE COMPLETE BCS SYSTEM FROM CORE (NORMAL LOAD COMPLETED IN-
        CLUDING SYSDM)
        A. CONSULT LOADER LIST FOR ENTRY POINT "STRDM". 
           PRESET AND RUN.
        B. COMPUTER WILL HALT 10B.  THE A REGISTER SHOULD CONTAIN THE 
           MAIN PROGRAM STARTING ADDRESS (SEE 6.0).  IF IT DOES NOT, LOAD 
           THE A REGISTER WITH THE PROPER ADDRESS, PRESS PRESET AND RUN.
        C. THE ENTIRE SYSTEM WILL BE DUMPED INCLUDING LEADER AND TRAILER
           FOLLOWED BY A HALT 77B.  TO OBTAIN ADDITIONAL COPIES, PRESS
           RUN. 
  
     2. THE COMPLETE SYSTEM WITH ABSOLUTE OPTION, SW14=1
        A. CONSULT LOADER LIST FOR ENTRY POINT "STRDM". 
           PRESET AND RUN.
        B. AN ABSOLUTE LOAD ALREADY CONTAINS THE PROPER LINKAGE TO THE
           PROGRAM STARTING ADDRESS AT LOCATIONS 2 AND 3.  THERE WILL 
           BE NO HALT 10B OTHERSWISE PROCEED AS IN STEP 1-B.
        C. THE ENTIRE SYSTEM WILL BE DUMPED INCLUDING LEADER AND TRAILER
           FOLLOWED BY A HALT 77B.  TO OBTAIN ADDITIONAL COPIES, PRESS
           RUN. 
  
     3. ANY SECTION OF MEMORY --
        A. CONSULT LOADER LIST FOR ENTRY POINT "MANDM" AND LOAD THAT
           ADDRESS. 
        B. LOAD THE A REGISTER WITH THE ADDRESS OF THE FIRST WORD OF
           CORE TO BE DUMPED AND THE B REGISTER WITH THE ADDRESS OF 
           THE LAST WORD OF CORE TO BE DUMPED.
        C. PRESS PRESET AND RUN TO OBTAIN AN OBSOLUTE COPY OF THE DE- 
           SIRED CORE SECTION.
           NOTE:  NO LEADER OR TRAILER ARE PROVIDED.
        D. HALT 76B INDICATES SECTION IS DUMPED.  TO DUMP ADDITIONAL
           SECTIONS, REPEAT FROM STEP 3-B.
  
  THE PROGRAM WAS WRITTEN SPECIFICALLY TO ELIMINATE THE MANY RECORDS
  CREATED WHEN A BCS ABSOLUTE OUTPUT IS LOADED WITH PTS TO FILE 1 OF
  MTOS.  IF SYSDM IS USED TO DUMP THE ABSOLUTE COPY, ONLY 3 RECORDS PER 
  SYSDM DUMP WILL BE PUT ON FILE 1. (THE DUMPED TAPE IS COMPATIBLE WITH 
  THE BBL.) 
  NOTE:  SYSDM IS COMPATIBLE WITH E VERSION RELOCATING LOADER AND AS
         RELOCATABLE ONLY WORKS PROPERLY WITH MULTIPLES OF 8K CORE. 
         (IF 4K IS USED, EDIT RELATIVE LOCATION 40 TO: "IOR  =B7700".)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  HALTS:
     HALT 10B WILL OCCUR IF THE LOAD WAS DONE BY A NORMAL BCS LOAD TO 
     CORE.  SYSDM TRIES TO OBTAIN THE MAIN STARTING ADDRESS AND PLACE IT
     IN LOCATION 3B ALONG WITH A "JMP 3,I" IN LOCATION 2B.  IT IS 
     POSSIBLE THAT THE STARTING ADDRESS MAY NOT BE PRESENT AT THE TIME
     THE DUMP IS REQUESTED.  JUST PRIOR TO PLACING THE ADDRESS IN LOCATION
     3B, THE PROGRAM HALTS WITH A HALT 10B TO ALLOW THE USER TO VIEW THE
     A REGISTER WHICH SHOULD CONTAIN THE MAIN STARTING ADDRESS.  IF IT
  
     DOES NOT, THE USER CAN SET THE A REGISTER TO THE PROPER ADDRESS
     AND PRESS RUN. 
  
     HALT 66B INDICATES A "TAPE LOW" CONDITION.  RESTORE TAPE SUPPLY AND: 
        1. TO RESTART A SYSTEM DUMP, PRESS RUN - COMPLETE SYSTEM WILL BE
           DUMPED ON NEW TAPE.
  
        2. TO RESTART A CORE SECTION DUMP, GO TO 4.0, D.3.A.
X13201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS TO MAGNETIC TAPE DUMP 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    DUMP            MAGNETIC TAPE 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ABSOLUTE PROGRAM DUMPS SELECTED SOURCE FILES OF LENGTH LESS THAN 
  237 SECTORS, FROM DOS TO A NINE-TRACK 7970/3030 IN A FORMAT COMPATIBLE
  WITH THE MAGNETIC TAPE STORAGE AND RETRIEVAL PROGRAM 22198.  IT IS
  LOADED OVER A (HALTED) DOS AND USES BASE PAGE CONSTANTS TO FIND THE 
  SYSTEM DIRECTORY TRACK AND HANDLE THE 90/128 SECTOR PER TRACK DISCS.
  
  HARDWARE REQUIRED:  FIXED HEAD DISC, 3030/7970 9-TRACK TAPE DECK
  TELEPRINTER WITH BUFFERED INTERFACE, DMA. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 SS FILE MUST BE LESS THAN 237 SECTORS LONG, AND A 16K COMPUTER IS 
  REQUIRED.  THE PROGRAM MUST BE CONFIGURED AFTER LOADING FOR THE MAG TAPE
  AND DISC SELECT CODE, BUT IT WILL USE DOS BASE PAGE CONSTANTS TO FIND 
  THE SYSTEM DIRECTORY TRACK AND TO HANDLE THE 90/128 SECTOR PER TRACK
  DISCS.
  
  THE PROGRAM MAY BE CONFIGURED AFTER LOADING FOR THE HP-3030 OR HP-7970
  9-TRACK TAPE DECK.
  
  THE PROGRAM MUST BE LOADED OVER A "HALTED" DOS SINCE DOS BASE PAGE
  CONSTANTS ARE USED. 
  
  CONFIGURATION INSTRUCTIONS: 
  
  1.  LOAD BINARY TAPE
  
      THE CONFIGURATION SECTION IS IN THE DATA BUFFER, AND THUS THE RAW 
      BINARY TAPE MUST BE LOADED TO CONFIGURE IT. 
  
  2.  LOAD ADDRESS 2, PUSH RUN
  
      HLT 00B     PUT TTY SC IN SW-REG, PUSH RUN
      HLT 20B     PUT MAG TAPE DATA SC IN SW-REG
                  TURN ON BIT 15 OF SW-REG IF A 7970 PUSH RUN 
      HLT 30B     PUT DISC DATA SC IN SW-REG, PUSH RUN
      HLT 55B     GO TO STEP #1 
      HLT 77B     CONFIGURATION COMPLETE
  
  TO DUMP AN SS FILE FROM DOS TO MAG TAPE:
  
  1.  IF THIS IS A NEW TAPE, SET AT LOAD POINT, WRITE ENABLED, AND GO TO
      STEP #3.
  
  2. TO APPEND TO AN EXISTING TAPE, LOAD ADDRESS 12, PUSH RUN.  THE TAPE
      WILL BE SPACED TO THE END-OF-FILE.  (DO NOT APPEND A TAPE GENERATED 
      ON A 7970 USING THE 3030, OR VICE VERSA). 
  
  3.  LOAD ADDRESS 100B, PUSH RUN 
  
      THE COMPUTER WILL TYPE:  ENTER FILE NAME
  
  4.  ENTER THE NAME OF A DOS SS FILE 
  
      HLT 00B     DISC NOT READY, WARM UP, PUSH IN
      HLT 06B     DISC PARITY ERROR 
      HLT 13B     FILE NOT FOUND ON DOS 
      HLT 17B     GARBAGE ON DISC FILE
  
      COMPUTER WILL (ERROR) HALT AS ABOVE, OR TYPE: 
  
      ENTER ID CODE    -OR-    FILE NOT TYPE SS 
  
                               ENTER FILE NAME
  
      IN THE CASE OF THE LATTER, GO BACK TO STEP #4 
  
  5.  ENTER A 1-20 CHARACTER ID CODE
  
      THE FILE WILL BE WRITTEN ONTO MAGNETIC TAPE, IN CD-II FORMAT. 
  
      HLT 14B     MAG PARITY ERROR, PUSH RUN
      HLT 15B     RUN TERMINATED, BAD SPOT ON TAPE
      HLT 44B     WRITE NOT ENABLED ON MAG TAPE 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1.  IF AN SS FILE IS DUMPED FROM DOS ONTO PAPER TAPE, IT WILL COMPARE 
      EXACTLY WITH THE SS FILE AS DUMPED ONTO THE MAG TAPE.  THE MTSAR
      PROGRAM SHOULD THUS VERIFY AN SS PAPER TAPE FILE DUMPED FROM DOS
      WITH THE MAG TAPE FILE DUMPED WITH THIS PROGRAM.
  
      HOWEVER, IF AN SS PAPER TAPE FILE IS LOADED ONTO DOS, AND HAS AN
      ODD NUMBER OF CHARACTERS PER LINE, THE DOS WILL CHANGE THE FORMAT 
      TO AN EVEN NUMBER OF CHARACTERS PER LINE, AND THE DOS DUMP (ON
      PAPER TAPE OR ON MAG TAPE) OF THAT FILE WILL BE DIFFERENT FROM THE
      ORIGINAL. 
  
  2.  IF THE MAG TAPE IS NOT SET TO ACCEPT A WRITE REQUEST (I.E., LOCAL,
      WRITE NOT ENABLED, OFF/ON, ETC.), THE PROGRAM MAY HANG UP.
  
  SEE THE FAMILY OF MTSAR PROGRAMS, WHICH INCLUDES THE MTSAR, THE DRUM
  DUPLICATOR AND A PROGRAM WHICH ALLOWS MTSAR COMPATIBLE TAPES TO BE
  LOADED DIRECTLY ONTO DOS AS SS FILES. 
  
  MTSAR -- MAGNETIC TAPE STORAGE AND RETRIEVAL, HP102-22198 
X13301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MAGNETIC TAPE TO DOS DUMP 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    MAGNETIC TAPE   DUMP
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ABSOLUTE PROGRAM LOADS SOURCE FILES OVER A (HALTED) 16K DOS FROM 
  A NONE-TRACK MAGNETIC TAPE WHICH HAS BEEN PREVIOUSLY PREPARED BY THE
  MAGNETIC TAPE STORAGE AND RETRIEVAL PROGRAM, 22198.  ANY NUMBER OF TAPE 
  RECORDS MAY BE CONCATENATED TO FORM A SINGLE SOURCE FILE ON DOS.  THE 
  16K DOS MAY HAVE A 90 OR 128 DISC/DRUM WITH AN HP7970 OR 3030 MAGNETIC
  TAPE UNIT.
  
  HARDWARE REQUIREMENTS:  16K DOS 7970 OR 3030 MAGNETIC TAPE DECK, 90 OR
  128 DISC/DRUM, DMA. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  IT MAY BE CONFIGURED AFTER LOADING FOR THE HP-3030 OR HP-7970 9-TRACK 
  TAPE DECK.
  
  THE PROGRAM MUST BE LOADED OVER A "HALTED" DOS SINCE DOS BASE PAGE
  CONSTANTS ARE USED. 
  
  TO USE THIS PROGRAM, DO AN :EJOB ON DOS, HALT THE COMPUTER, AND LOAD
  THIS PROGRAM INTO CORE. 
  
  ANY NUMBER OF FILES FROM MAG TAPE MAY BE CONCATENATED TO FORM A SINGLE
  SS FILE ON DOS. 
  
  CONFIGURATION INSTRUCTIONS: 
  
  1.  LOAD BINARY TAPE
  
      THE CONFIGURATION SECTION IS IN THE DATA BUFFER, AND THUS THE RAW 
      BINARY TAPE MUST BE LOADED TO CONFIGURE IT. 
  
  2.  LOAD ADDRESS 2, PUSH RUN
  
      HLT 00B     PUT TTY SC IN SW-REG, PUSH RUN
      HLT 20B     PUT MAG TAPE DATA SC IN SW-REG
                  TURN ON BIT 15 OF SW-REG IF A 7970
      HLT 30B     PUT DISC DAA SC IN SW-REG, PUSH RUN 
      HLT 77B     DONE
  
  OPERATING INSTRUCTIONS: 
  
  1.  LOAD ADDRESS 100B 
  
  2.  TURN ON SW #15 FOR READ-FORWARD ONLY ON MAG TAPE
  
  3.  PUSH RUN
  
      HLT 00B     DISC NOT READY, ARM, UP, PUSH RUN 
      HLT 06B     DISC PARITY ERROR, PUSH RUN 
  
  4.  ENTER ID CODE OF FILE ON MAG TAPE 
      THE COMPUTER WILL TYPE:  ENTER FILE NAME
  
      HLT 03B     MAG TAPE FILE > CORE BUFFER SIZE, GIVE UP 
  
  5.  ENTER 1-5 CHARACTER NAME FOR THE SS FILE
  
      HLT 05B     DISC WRITE PROTECT ON, CLEAR, PUSH RUN
      HLT 178     MAG TAPE BUFFER UNDECIPHERABLE, IS IT SS? 
  
      THE COMPUTER WILL TYPE "ENTER ID CODE OR /E"
      GO TO STEP #6 OR STEP #7
  
  6.  TO WRITE THE CURRENT FILE ONTO DISC, ENTER /E 
      THE FILE WILL BE WRITTEN ONTO DISC, AND THE COMPUTER WILL TYPE
      "ENTER ID CODE".
  
      IF YOU ARE DONE, PUSH HALT AND BRING UP DOS, ELSE GO TO STEP #4 TO
      CREATE A NEW SS FILE ON DISC. 
  
  7.  TO CONCATENATE ANOTHER MAG TAPE RECORD TO THE FILE BEING CREATED ON 
      DISC.  ENTER THE NAME OF THE NEXT MAG TAPE RECORD.  THE FIRST TWO 
      CHARACTERS OF THE NAME OF THE RECORD MUST NOT BE "/E".
  
      IF THE RECORD IS NOT FOUND ON TAPE, YOU MAY RE-ENTER THE RECORD NAME
      WITHOUT LOSS OF CONTINUITY. 
  
      LOOP BACK TO STEP #6 OR #7. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1.  THE PROGRAM WILL HANG UP IF THE MAGNETIC TAPE UNIT IS NOT IN THE
      "AUTO" "ON LINE" STATE. 
  
  2.  THE PROGRAM DOES NOT CHECK FOR END OF DISC, AND WILL HANG UP SHOULD 
      YOU ATTEMPT TO LOAD TOO MANY SS FILES ONTO YOUR DOS.
X13401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ABSOLUTE CORE DUMP ROUTINE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    DUMP            MEMORY
  
  
 **LANGUAGES: 
    ASMB        ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE ALLOWS DUMPING SELECTED AREAS OF CORE ONTO TAPE IN A FORMAT
  COMPATIBLE FOR LOADING WITH THE BASIC BINARY LOADER.  TWO VERSIONS ARE
  SUPPLIED TO THE USER; ONE ABSOLUTE FOR LOADING THROUGH THE BASIC BINARY 
  LOADER, AND ONE RELOCATABLE FOR LOADING THROUGH THE BASIC CONTROL 
  SYSTEM.  NO EXTERNAL SUBPROGRAMS ARE CALLED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  USUAL ASSEMBLE PROCEDURES:
  
  1.  SELECT WHETHER THE ABSOLUTE OR RELOCATABLE VERSION IS DESIRED.
  
  2.  IF THE ABSOLUTE VERSION IS SELECTED, MODIFY ORG STATEMENT IF A
      STARTING ADDRESS OF 12000(8) IS NOT DESIRED.
  
  3.  ASSEMBLE THE PROGRAM. 
  
  4.  IF THE ABSOLUTE VERSION HAS BEEN ASSEMBLED, LOAD THE OBJECT TAPE
      THROUGH THE BASIC BINARY LOADER.
  
  5.  IF THE RELOCATABLE VERSION HAS BEEN ASSEMBLED, LOAD THE OBJECT TAPE 
      THROUGH THE BASIC CONTROL SYSTEM. 
  
  6.  TO ENTER THE PROGRAM, SET SWITCH REGISTER TO STARTING ADDRESS OF
      'CDUMP' ROUTINE, PRESS 'LOAD ADDRESS', SET SWITCH REGISTER TO OCTAL 
      ADDRESS OF IO LOCATION OF PUNCH DEVICE, PRESS 'PRESET' AND 'RUN'. 
      A LEADER WILL BE PUNCHED. 
  
  7.  THE PROGRAM WILL HLT 1 (102001B).  SET SWITCH REGISTER TO STARTING
      ADDRESS TO BE PUNCHED AND PRESS 'RUN'.
  
  8.  THE PROGRAM WILL HLT 2 (102002B).  SET SWITCH REGISTER TO ENDING
      ADDRESS TO BE PUNCHED AND PRESS 'RUN'.
  
  9.  AFTER TAPE HAS BEEN PUNCHED, THE PROGRAM WILL HLT 1 (102001B).
  
      A.  TO PUNCH ANOTHER BLOCK, REPEAT ABOVE PROCEDURE. 
  
      B.  TO TERMINATE, SET SWITCH REGISTER TO 0 OR 1 AND PRESS 'RUN'.
          A TRAILER WILL BE PUNCHED AND THE PROGRAM WILL HLT 77B
          (102077B).
  
      C.  TO PUNCH ANOTHER TAPE, PRESS 'RUN' TO PUNCH A LEADER AND REPEAT 
          ABOVE PROCEDURE.
  
  10. IF ENDING ADDRESS IS LESS THAN STARTING ADDRESS, THE PROGRAM WILL 
      HLT 0 (102000B).  SET SWITCH REGISTER TO CORRECT STARTING ADDRESS 
      AND CONTINUE ABOVE PROCEDURE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X13501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MEDIA CONVERSION
  
 **REVISION?
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    CONVERSION      DUMP
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM CONVERTS ASCII CODE FROM ONE TYPE OF STORAGE MEDIA TO
  ANOTHER.  CONVERSION MODES ALLOWED ARE: CARD TO MAG TAPE, CARD TO 
  LIST AND CARD TO PAPER TAPE; MAG TAPE TO LIST AND MAG TAPE TO PAPER 
  TAPE; PAPER TAPE TO LIST, PAPER TAPE TO MAG TAPE, AND PAPER TAPE TO 
  PAPER TAPE.  THE PROGRAM RESPONDS TO USER COMMANDS UNDER DOS-M AND IS 
  COMPATIBLE WITH THE :STORE AND :DUMP DIRECTIVES.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  USUAL ASSEMBLY, LOADS AND RUN PROCEDURES
  THE PROGRAM OPERATES IN RESPONSE TO 4-LETTER COMMANDS.
  
  1.  CARD TO MAG TAPE (/CTM) 
  2.  CARD TO PAPER TAPE (/CTP) 
  3.  CARD TO LIST (/CTL) 
  4.  MAG TAPE TO LIST (/MTL) 
  5.  MAG TAPE TO PAPER TAPE (/MTP) 
  6.  PAPER TAPE TO LIST (/PTL) 
  7.  PAPER TAPE TO MAG TAPE (/PTM) 
  
  THE LAST COMMAND SHOULD ALWAYS BE /END
  THE FOLLOWING LOGICAL UNITS ARE ASSUMED:
  
  1 -SYSTEM CONSOLE 
  4 -PAPER TAPE PUNCH 
  5 -PAPER TAPE READER
  6 -LIST DEVICE
  7 -CARD READER
  8 -MAG TAPE 
  
  IF A DEVICE DOES NOT EXIST IN THE PARTICULAR SYSTEM, THE PROGRAM MAY
  STILL BE USED BUT ALL REFERENCES TO THE NON-EXISTENT DEVICE SHOULD BE 
  AVOIDED.  THE L.U. FOR A PARTICULAR DEVICE MAY BE PERMANENTLY ALTERED 
  BY RE-ASSEMBLING THE PROGRAM: 
  
  D4 SHOULD CONTAIN PUNCH L.U.
  D5 SHOULD CONTAIN PAPER TAPE READER L.U.
  D6 SHOULD CONTAIN LIST L.U. 
  D7 SHOULD CONTAIN CARD READER L.U.
  D8 SHOULD CONTAIN MAG TAPE L.U. 
  
  THE INPUT DATA SHOULD CONFORM TO THE STANDARD ASCII FORMAT, EXCEPT FOR
  CARD WHERE EBCDIC FORMAT IS USED. 
  
  THE LAST GIVEN COMMAND SHOULD ALWAYS BE /END. 
  AT THE END OF THE INPUT DATA STREAM, MEDIA IS SUSPENDED.  THE USER HAS
  THE OPTION OF TERMINATING THE PROCESS BY TYPING :GO,0 OR TO CARRYING ON 
  BY :GO,N WHERE N IS THE INPUT DEVICE.  IN THIS WAY IT IS POSSIBLE 
  TO FORM ONE DATA SET OF SEVERAL (I.E. TO CREATE A MAG TAPE FROM BOTH
  PAPER TAPE AND CARDS.)
  
  THE END OF THE INPUT DATA STREAMS IS CAUSED BY ONE OF THE FOLLOWING 
  CONDITIONS: 
  
  - END-OF-TAPE          (PAPER TAPE, MAG TAPE) 
  - INPUT HOPPER EMPTY   (CARD READER)
  - OUTPUT STACKER FULL  (CARD READER)
  - END-OF-FILE          (MAG TAPE) 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X13601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 7900 DISC TO DISC DUMP 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    DUMP            DISC
  
  
 **LANGUAGES: 
    ASMB        FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SET OF PROGRAMS WILL ALLOW THE OPERATOR TO TRANSFER DATA BETWEEN 
  THE FIXED AND REMOVEABLE PLATTERS OF AN HP7900A MOVING HEAD DISC. 
  PROTECTED AND DEFECTIVE CYLINDER FLAGS ARE TRANSFERRED TO THE 
  DESTINATION DISC.  ANY CONTIGUOUS BLOCK OF TRACKS CAN BE TRANSFERRED
  OR VERIFIED.  ALL DATA WRITTEN ON A DISC TRACK IS READ AND COMPARED 
  WITH ORIGINAL DATA DURING A COPY OPERATION.  THE OPERATOR CAN CHOOSE
  TO PATCH UP TO TWENTY RANDOM LOCATIONS DURING A TRANSFER. 
  
  IT OPERATES UNDER BCS AND REQUIRES 16K WITH DMA.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  EDIT ASSEMBLY PROGRAM (IDISK) TO INDICATE LOWER DISC INTERFACE
      SELECT CODE AS FOLLOWS: 
  
      /R,543
      DISC1 EQU XXB 
      /E
  
      NOTE:  PRESENT SOURCE TAPE CONFIGURED FOR S.C. 14B. 
  
  2.  ASSEMBLE "IDISK", COMPILE FORTRAN PROGRAM "DCOPY" AND FUNCTIONS 
      "ISTAT" AND "IERR".  (TAPES STRUNG IN THIS ORDER).
  
  3.  LOAD A CONFIGURED BCS OPERATING SYSTEM. 
  
  4.  USING THE BCS LOADER LOAD DCOPY, ISTAT, IERR, IDISK AND THE BCS 
      RELOCATABLE LIBRARY.
  
  5.  ANSWER QUESTIONS DISPLAYED ON LU #2.  (SEE EXAMPLE SECTION 7.0) 
  
      NOTE:  PLACE DISC PROTECT SWITCH IN "OVERRIDE" POSITION WHEN
             COPYING. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE DISC DRIVER (IDISK) NEEDS ACCESS TO THE DMA CONTROL WORDS (DMAC1
  AND DMAC2) IN THE BCS SYSTEM.  SINCE THESE LOCATIONS ARE NOT AVAILABLE
  AS EXT'S AT LOAD TIME, THEY ARE ASSUMED TO BE LOCATED 221(8) LOCATIONS
  AFTER EXT LABEL .IOC. AS THE CASE WITH I/O CONTROL 24173-60001 REV A. 
  THE USER MUST INSURE HIS CONFIGURED BCS TAPE CONTAINS THIS  REVISION
  OF IOC.  ALSO, THE BCS SYSTEM MUST HAVE DMA ALLOCATED AT GENERATION 
  TIME. 
X13701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2870/7900 DISC/MAGNETIC TAPE UTILITY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    DISC            MAGNETIC TAPE   DUMP
    COPY
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SIO 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ABSOLUTE ASSEMBLY PROGRAM USES THE MAGNETIC TAPE AND TELEPRINTER 
  SIO DRIVERS TO PERFORM DISC TO DISC, DISC TO MAGNETIC TAPE, AND MAGNETIC
  TAPE TO DISC COPIES.  IT IS DESIGNED TO WORK WITH AT LEAST 16K CORE,
  DMA, AND AN HP2870 OR HP7900 DISC.  UP TO FOUR DISC DRIVERS (SUBCHANNEL 
  0 THROUGH 7) CAN BE USED, AND THE MAGNETIC TAPE CAN HAVE UP TO 7 FILES
  WITH AUTOMATIC FILE POSITIONING.
  
  THE OPERATOR COMMUNICATES WITH THE PROGRAM BY ANSWERING QUESTIONS ON THE
  TELETYPE.  THE OPTIONS AVAILABLE ARE: 
  
  DU - DUMP DISC
  LO - LOAD DISC FROM MAGNETIC TAPE WITH AUTOMATIC VERIFY 
  VE - VERIFY DISC WITH MAGNETIC TAPE 
  CO - COPY DISC TO DISC WITH AUTOMATIC VERIFY
  TE - TERMINATE
  
  DISCS WITH CYLINDER FLAGGED DEFECTIVE CANNOT BE COPIED OR DUMPED. 
  
  HARDWARE REQUIREMENT:  HP 7970/2020/3030 MAGNETIC TAPE DRIVE, HP 7900 OR
  2870 DISC SYSTEM TELETYPE OR CRT, DMA.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 ABSOLUTE ASSEMBLY PROGRAM USES THE MAGNETIC TAPE AND TELEPRINTER 
  SIO DRIVERS TO PERFORM DISC TO DISC, DISC TO MAGNETIC TAPE, AND 
  MAGNETIC TAPE TO DISC COPIES.  IT IS DESIGNED TO WORK WITH AT LEAST 
  16K CORE, DMA, AND AN HP 2870 OR HP 7900 DISC.  UP TO FOUR DISC DRIVERS 
  (SUBCHANNEL 0 THROUGH 7) CAN BE USED, AND THE MAGNETIC TAPE CAN HAVE
  UP TO 7 FILES WITH AUTOMATIC FILE POSITIONING.
  
  THE OPERATOR COMMUNICATES WITH THE PROGRAM BY ANSWERING QUESTIONS ON THE
  TELETYPE.  THE OPTIONS AVAILABLE ARE: 
  
       DU - DUMP DISC TO MAGNETIC TAPE
       LO - LOAD DISC FROM MAGNETIC TAPE WITH AUTOMATIC VERIFY
       VE - VERIFY DISC WITH MAGNETIC TAPE
       CO - COPY DISC TO DISC WITH AUTOMATIC VERIFY 
       TE - TERMINATE 
  
  SEVERAL ERROR HALTS ARE INCLUDED IN THIS PROGRAM TO INSURE PROPER HARD- 
  WARE OPERATION.  DISCS WITH CYLINDERS FLAGGED DEFECTIVE CANNOT BE 
  COPIED OR DUMPED.  PROTECTED CYCLINDERS ARE COPIED AS PROTECTED.
  
  THERE HAS BEEN A NEED FOR A PROGRAM, NOT DEPENDENT ON A PARTICULAR
  OPERATION SOFTWARE SYSTEM, WHICH WILL ALLOW DUMPING, LOADING AND
  COPYING OF DISC PLATTERS TO MAGNETIC TAPE, FROM MAGNETIC TAPE OR TO 
  OTHER DISC PLATTERS.  SOME PROGRAMS EXIST FOR SPECIFIC DISCS, SPECIFIC
  OPERATING SYSTEMS OR SPECIFIC DISC FORMATS.  OTHER PROGRAMS EXIST WHICH 
  WILL DO PART OF THE JOB BUT DO NOT HAVE VERIFICATION OR ARE SLOW, ETC.
  MADIU (MAGNETIC TAPE DISC UTILITY) COMBINES ALL OF THE DESIRED CHARAC-
  TERISTICS OF THE ABOVE PROGRAMS INTO ONE PROGRAM.  CHARACTERISTICS OF 
  MADIU ARE:
  
  1.  COPIES FROM MAGNETIC TAPE TO DISC, DISC TO MAGNETIC TAPE, AND 
      DISC TO DISC. 
  
  2.  MULTIPLE DISC DRIVERS POSSIBLE. 
  
  3.  HP 7900 SERIES OR HP 2870 SERIES DISCS ALLOWED. 
  
  4.  HP 7970 (9 TRACK OR 7 TRACK), HP 2020, HP 3030 MAGNETIC TAPE
      DRIVES ALLOWED. 
  5.  MULTIPLE TAPE FILES POSSIBLE UP TO 7 PER TAPE.
  
  6.  MANY ERROR HALTS TO INSURE PROPER HARDWARE OPERATION. 
  
  7.  VERIFICATION (VERY IMPORTANT).
  
  8.  DISC TIME OUT LOOPS (IF NO FLAG RETURNED IN SET TIME PERIOD, A
      HALT OCCURS). 
  
  9.  DISCS WITH CYLINDERS FLAGGED DEFECTIVE CANNOT BE COPIED OR
      DUMPED.  REV B (FUTURE) WILL ALLOW COPIES AND DUMPS OF THESE
      DISCS.
  
  10. PROTECTED CYLINDERS ARE COPIED AS PROTECTED.
  
  11. ALL 203 CYLINDERS ARE COPIED. 
  
  12. CONFIGURATION IS SAME AS FOR AN SIO DRIVER. 
  
  13. THE ONLY OTHER SOFTWARE REQUIRED IS THE 16K SIO TELETYPE DRIVER 
      AND THE APPROPRIATE 16K SIO MAGNETIC TAPE DRIVER. 
  
  14. AUTOMATIC MAGNETIC TAPE FORMAT CHECKING (EXCEPT DENSITY). 
  
  15. DURING DISC LOAD OR COPY, THE DESTINATION DISC IS ALWAYS INITIAL- 
      IZED. 
  
  16. ON THE HP 2100, THE SWITCH REGISTER DISPLAYS THE OCTAL TRACK NUMBER 
      OF THE PRESENT DISC TRACK BEING READ. 
  
  CONFIGURING MADIU 
  
  IT IS IMPORTANT THAT THE TAPES BE LOADED IN THE FOLLOWING ORDER:
  
  1.  LOAD THE MADIU BINARY TAPE USING BBL (16K OR LARGER CORE IS 
      REQUIRED).
  
  2.  LOAD ADDRESS 2 (OCTAL). 
  
  3.  SET SWITCH REGISTER BITS 0-5 TO THE DISC HIGHER PRIORITY I/O SLOT 
      CHANNEL NUMBER. 
  
  4.  FOR THE HP 7900 DISC, SET SWITCH REGISTER BIT 15 "OFF". 
  
  5.  FOR THE HP 2870 DISC, SET SWITCH REGISTER BIT 15 "ON".
  
  6.  PUSH PRESET.
  
  7.  PUSH RUN. 
  
  8.  HALT 77B INDICATES GOOD CONFIGURATION.
  
  9.  LOAD AND CONFIGURE THE 16K SIO TTY DRIVER; THE 16K SIO PUNCH DRIVER 
      (OPTIONAL); THE 16K SIO MAG TAPE DRIVER.
  
  10. DUMP A CONFIGURED TAPE WITH THE 16K SIO DUMP (OPTIONAL).
  
  TO RUN MADIU
  
  1.  READY ALL EQUIPMENT.  TURN THE PROTECT OVERRIDE SWITCH TO "OVERRIDE"
      ("ON" ON THE 2870). 
  
  2.  STARTING MADIU - LOAD THE CONFIGURED MADIU TAPE (OR LOAD AND CON- 
      FIGURE MADIU AND SIO DRIVERS).  SET THE STARTING ADDRESS EQUAL TO 
      100 (OCTAL), CLEAR THE SWITCH REGISTER - PRESS PRESET AND RUN.
  
      NOTE:  IF A MAG TAPE IS NOT TO BE USED (I.E., DISC-TO-DISC COPY 
             ONLY) USE STARTING ADDRESS 120B.  THIS WILL BYPASS THE 
             REWIND AND AVOID A HALT 44B (SIO DRIVER HALT FOR UNIT NOT
             READY).
  
  3.  MESSAGES AND RESPONSES - MADIU HAS SEVERAL MESSAGES REQUIRING 
      RESPONSES.
  
      **MESSAGE 
  
        (FOR 7900) TYPE "LO" "DU" "VE" "CO" OR "TE" 
  
       *MEANING - SYSTEM IS CONFIGURED FOR HP 7900 DISC.  SPECIFY DESIRED 
        OPERATION.
  
       *RESPONSES POSSIBLE: 
        LO - LOAD MAG TAPE TO DISC (WITH AUTOMATIC VERIFY)
        DU - DUMP DISC TO MAG TAPE
        VE - VERIFY MAG TAPE AND DISC 
        CO - COPY DISC TO DISC (WITH AUTOMATIC VERIFY)
        TE - TERMINATE (HALT 77B) 
  
      **MESSAGE 
  
       (FOR 2870) TYPE "LO" "DU" "VE" OR "TE" 
  
  
       *MEANING - CONFIGURED FOR 2870 DISC - SPECIFY DESIRED OPERATION
  
       *RESPONSE - SAME AS FOR 7900 
  
      **MESSAGE 
  
        SUBCHANNEL # ?     SOURCE SUBCHANNEL # ?
  
       *MEANING - IF DUMP, LOAD OR VERIFY - MEANS WHAT DISC SUBCHANNEL IS 
                  TO BE USED. 
  
                - IF COPY - MEANS WHAT DISC SUBCHANNEL IS THE SOURCE DISC 
  
       *RESPONSE - ANY SUBCHANNEL FROM 0 TO 7 (ONE ASCII NUMBER, CR, LF). 
                   SEE 4 BELOW. 
  
  
      **MESSAGE 
  
        DESTINATION SUBCHANNEL # ?
  
       *MEANING - WHAT IS THE DESTINATION CHANNEL FOR THE DISC TO DISC
                  COPY (COPY ONLY)
  
       *RESPONSE - ANY SUBCHANNEL FROM 0 TO 7 (ONE ASCII NUMBER, CR, LF.) 
  
     **MESSAGE
  
       TAPE FILE # ?
  
       *MEANING - WHICH FILE IS TO BE USED ON THE MAG TAPE
  
       *RESPONSE - ANY NUMBER FROM 1 TO 7.  THE FIRST PHYSICAL FILE ON MAG
                   TAPE IS FILE #1.  THE PROGRAM ASSUMES THAT THERE ARE 
                   N-1 FILES ALREADY ON THE TAPE FOR AN ENTRY OF N DURING 
                   A DUMP.  DURING A LOAD, THE PROGRAM ASSUMES THAT THERE 
                   ARE N FILES (AT LEAST) ON THE TAPE.  OF COURSE, DUMPING
                   TO FILE N WILL DESTROY ALL FILES GREATER THAN N. 
  
      NOTE:  ALWAYS RESTART AT 100B IF A NEW TAPE IS LOADED OR THE TAPE IS
             MANUALLY MOVED.  THIS WILL INSURE PROPER FILE COUNT. 
  
  4.  DISC UNIT NUMBERS AND SUBCHANNEL NUMBERS TABLE: 
  
                                          FIXED DISC   REMOVEABLE DISC
      PHYSICAL DRIVE      DRIVE #       SUBCHANNEL #    SUBCHANNEL #
          1ST               0                0               1
          2ND               1                2               3
          3RD               2                4               5
          4TH               3                6               7
  
      USE THESE NUMBERS IN RESPONSE TO "SUBCHANNEL # ?" 
  
  5.  AFTER MADIU IS RUN
  
      *BE SURE TO LABEL YOUR DISC AND MAGNIFY TAPES.
  
      *MAGNETIC TAPES SHOULD BE IDENTIFIED BY (1) SOURCE DISK TYPE, (2) 
       DENSITY, (3) 7 OR 9 TRACK TAPE, (4) NUMBER OF FILES, AND (5) 
       CONTENT OF EACH FILE.
  
      *BE SURE TO RETURN THE DISC PROTECT OVERRIDE SWITCH BACK TO 
       "PROTECT" ("OFF" ON 2870). 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  HLT 00B - DISC NOT READY (BITS 2 OR 6 SET)
  
  HLT O3B - TIME OUT ON DISC DATA FLAG.  PUSH RUN TO GET STATUS IN "A"
            REGISTER.  STATUS 31B= DEFECTIVE CYLINDER.
  
  HLT 04B - POWER FAIL
  
  HLT 05B - TIME OUT ON DISC COMMAND FLAG.  PUSH RUN TO GET DISC STATUS 
            IN "A" REGISTER.
  
  HLT 07B - DISC SEEK ERROR OR DATA PROTECT (BITS 8, 9 OR 10 SET).  PUSH
            RUN TO GET DISC STATUS IN "A" REGISTER. 
  
  HLT 10B - ANY DISC STATUS BIT SET EXCEPT 3 AND 4 AFTER A READ OR WRITE
            (CHECK OVERRIDE/PROTECT SWITCH).  PUSH RUN TO GET STATUS IN 
            "A" REGISTER. 
  
  HLT 11B - SIO MAG TAPE DRIVER HLT (NO WRITE RING).
  
  HLT 13B - ILLEGAL CYLINDER STATUS (2ND WORD ON MAG TAPE)  OR DURING 
            COPY. 
  
  HLT 16B - BAD CYLINDER STATUS DURING LOAD VERIFY (MAG TAPE STATUS 
            (WORD 2) AND DISC READBACK STATUS DISAGREE).
  
  HLT 17B - EOF OR EOT ON MAG TAPE
  
  HLT 20B - MAG TAPE ERROR
  
  HLT 21B - BAD DATA VERIFY 
  
  HLT 33B - MAG TAPE RECORD LENGTH WRONG, I.E., WRONG FORMAT FOR A LOAD.
  
  HLT 35B - CYLINDER COUNT UNEQUAL TO 203 
  
  HLT 36B - INCOMPLETE DATA TRANSFER FOR DISC CURRENT CYLINDER
  
  HLT 40B - MAG TAPE SIO DRIVER NOT LOADED
  
  HLT 44B - MAG TAPE SIO DRIVER HLT (7970)
  
  HLT 55B - THE CURRENT CYLINDER IS DEFECTIVE 
  
  HLT 77B - ORDERLY HALT, PUSH RUN TO CONTINUE
  
  
 **MISCELLANEOUS: 
  
  A.  TO INSURE PROPER TAPE POSITIONING A REWIND IS INITIATED WHEN
      STARTING AT ADDRESS = 100B. 
  
  B.  ANY BACKWARD POSITIONING OF THE MAG TAPE RESULTS IN A REWIND THEN A 
      FORWARD POSITION TO THE PROPER FILE #.
  
  C.  UNLOADING, LOADING DISCS OR OPENING DISC DOORS MAY CAUSE STATUS TO
      THE CONTROLLER WHICH WILL HALT THE COMPUTER.  AVOID SUCH CHANGES
      EXCEPT WHILE THE PROGRAM IS WAITING FOR THE RESPONSE TO THE 
      OPERATION DESIRED MESSAGE.  "DATA PROTECTED" PLATTERS CANNOT BE 
      ACCESSED. 
  
  D.  VERIFICATION IS ACCOMPLISHED DURING THE LOAD AS FOLLOWS:
  
      * READ MAG TAPE RECORD (BUFFER 1) 
  
      * WRITE ON DISC (FROM BUFFER 1) 
  
      * READ DISC BACK (BUFFER 2) 
  
      *COMPARE BUFFERS (1 AND 2)
  
      CYLINDER STATUS (PROTECTED, ETC.) IS ALSO VERIFIED. 
  
  E.  VERIFICATION DURING VERIFY IS AS FOLLOWS: 
  
      * READ MAG TAPE RECORD (BUFFER 1) 
  
      * READ DISC TRACK (BUFFER 2)
  
      * COMPARE BUFFERS (1 AND 2) 
  
        CYLINDER STATUS IS COMPARED ALSO. 
  
  F.  NO VERIFICATION IS ACCOMPLISHED DURING A DUMP.  A VERIFY IS 
      RECOMMENDED FOLLOWING A DUMP. 
  
  G.  DISC TO DISC COPY IS VERIFIED AS IN THE LOAD FUNCTION.
  
  H.  HALT 55 INDICATES A DEFECTIVE TRACK.  THE TRACK NUMBER (OCTAL) IS 
      IN THE "A" REGISTER.
  
  I.  HALT 77B IS AN ORDERLY GOOD HALT.  TO RESTART MADIU, PUSH RUN.
  
  J.  ANY OTHER HALT OTHER THAN HLT 77B INDICATES A MALFUNCTION,  FIX THE 
      PROBLEM THEN RESTART AT P = 100B (OR 120B IF DISC COPY ONLY). 
  
  K.  MAG TAPE FORMAT (2 CHARACTERS/WORD (3 FOR 7 TRACK)
      1ST WORD = NUMBER OF WORDS IN THE RECORD (SIO CHARACTERISTIC) 
      2ND WORD = 16 BIT DISC STATUS AFTER READING TRACK 
      REST OF RECORD = DISC TRACK DATA
X13801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  UTDMP 
 **PROGRAM TITLE: 
  UNIVERSAL MAGNETIC TAPE DUMP
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  3 
  
 **KEYWORDS:
    MAGNETIC TAPE   DUMP
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES A FORMATTED DUMP OF MAG TAPE DATA.  THE DATA MAY
  BE IN ANY FORMAT AND THE BLOCK SIZE MAY BE OF ANY PRACTICAL LENGTH. 
  THE PROGRAM IS CONVERSATIONAL IN OBTAINING THE INFORMATION NEEDED FOR 
  A JOB.  (DUMPS ARE ON A PER-FILE BASIS).  THE PROGRAM GIVES BOTH AN 
  OCTAL AND AN ALPHANUMERIC REPRESENTATION OF THE DATA IN A CONVENIENT
  FORM. 
  
  HARDWARE REQUIRED:  2100 CPU, 7900 DISC DRIVE, 7908B MAG TAPE DRIVE,
  TTY, AND LINE PRINTER DESIRABLE FOR OUTPUT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  LOAD
       :STORE, S, XXXXX, 5  (STORE TAPE IN A SOURCE FILE) 
       :JFILE, XXXXX
       :PR,FTN4,2,99        (COMPILE) 
       :PR, LOADR           (LOAD)
       :STORE, P            (STORE) 
  
  2.  RUN 
       :PR, UTDMP 
        PROGRAM REQUESTS TAPE TO BE DUMPED AND PAUSES.
        OPERATOR MUST MOUNT TAPE. 
       :GO
        PROGRAM REQUESTS FILE TO BE DUMPED.  FIRST FILE ON TAPE IS
        NUMBER 1, ETC.
        PROGRAM PAUSES. 
       :GO FOR NEXT FILE  :STOP IF FINISHED 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X13901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  TIME OF DAY CLOCK 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    TIME
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  AFTER INITIALLY BEING SET TO THE CORRECT TIME, THIS ROUTINE FURNISHES 
  THE TIME OF DAY ON DEMAND.  UNITS ARE HOURS, MINUTES AND SECONDS.  AN 
  ADDITIONAL FEATURE, ELAPSED TIME CAN BE MEASURED WITHOUT INTERFERENCE 
  WITH THE TIME-OF-DAY FUNCTION. THE CLOCK STOPS WHEN THE COMPUTER HALTS. 
  
  ONE HP12539 TIME BASE GENERATOR 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:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CLOCK IS ALWAYS TO BE LOADED BEFORE THE RELOCATABLE LIBRARY.  TO
  INITIALIZE THE TIME OF DAY CLOCK, THE USER PROGRAM MUST:
       CALL SETUP 
  WHEN THIS INSTRUCTION IS EXECUTED, THE CLOCK ROUTINE WILL PRINT:
       ENTER TIME (HRS:MIN:SEC:)
  AND THE OPERATOR WILL THEN ENTER THE TIME OF DAY PLUS A HALF MINUTE OR
  SO.  THE OPERATOR THEN TYPES THE KEYS CR,LF, AND THE COMPUTER WILL HALT 
  WITH:      102077     IN THE T REGISTER.
  
  WHEN THE USER PRESSES RUN, THE REAL TIME OF DAY WILL BE MAINTAINED BY 
  THE CLOCK ENTRY POINT (NOT CALLABLE FROM THE USER PROGRAM). 
  
  HALT OR PAUSE CEASES INCREMENTATION OF THE CLOCK.  WHEN PROGRAM 
  OPERATION IS RESUMED, CLOCK IS INCREMENTED FROM THE EXISTING VALUE. 
  .CLOK MAINTAINS AN INTEGER CLOCK AT THIS ENTRY POINT NOT CALLABLE BY A
  USER PROGRAM.  IT MAY BE SET OR CHECKED THROUGH THE USE OF STCLK AND
  RDCLK ENTRY POINTS. 
  
  SEE SECTION 4.2.1 FOR OTHER POSSIBLE ENTRY POINTS.
  
  ENTRY POINT(S)
  
  CALL DATIM (IH,IM,IS) READS THE REAL TIME OF DAY. 
  
  PARAMETER     TYPE     DESCRIPTION
  
     IH         INTEGER  SUBROUTINE ASSIGNS HOURS WHERE 0</=IH</=23 
  
     IM         INTEGER  SUBROUTINE ASSIGNS MINUTES WHERE 0</=IM</=59 
  
     IS         INTEGER  SUBROUTINE ASSIGNS SECONDS 0</=IS</=59 
  
  CALL HALT CEASES INCREMENTATION OF THE CLOCK AND RESETS IT TO ZERO.  IT 
  IS SIMILAR TO THE PAUSE STATEMENT IN THAT IT WAITS FOR THE COMPLETION OF
  ALL I/O OPERATIONS BEFORE HALTING THE COMPUTER.  IN ADDITION, HOWEVER,
  IT CLEARS THE TIME OF DAY CLOCK AND INHIBITS INCREMENTATION OF THE
  BINARY CLOCK.  NO MESSAGE IS WRITTEN ON THE TELEPRINTER WHEN THE HALT 
  OCCURS. 
  
  CALL STCLK (N) SETS THE CLOCK TO ZERO AND CAUSES IT TO BE INCREMENTED 
  BY ONE EVERY (N*10) MILLISECONDS. 
  
  PARAMETER     TYPE     DESCRIPTION
  
      N         INTEGER  N MUST BE AN INTEGER CONSTANT WHERE 1</=N</=32767
  
  CALL RDCLK (M) ASSIGNS THE VALUE OF THE CLOCK TO THE INTEGER VARIABLE M.
  THE CLOCK CONTINUES TO BE INCREMENTED AT THE MOST RECENTLY SPECIFIED
  INTERVAL UNTIL RESET BY ANOTHER CALL TO STCLK.
  
                 THE TIME OF DAY CLOCK LIBRARY
  
  CUSTOMERS WHO HAVE A TIME BASE GENERATOR HAVE CONTINUALLY REQUESTED A 
  TIME OF DAY CLOCK ROUTINE FOR USE OUTSIDE THE WORLD OF THE 2018 
  EXECUTIVE SYSTEM.  HEREIN IS CONTAINED DOCUMENTATION FOR THE BAILEY 
  CLOCK ROUTINE.
  
  SINCE THIS IS A LIBRARY SUBROUTINE, IT SHOULD BE LOADED AFTER THE MAIN
  PROGRAM BUT BEFORE THE FORTRAN/ALGOL LIBRARY. 
  
  THE SUB-PROGRAM IS CALLED CLOCK AND HAS ENTRY POINTS
                       SETUP
                       CLOCK
                       .CLOK
                       STCLK
                       RDCLK
                       DATIM
                       HALT 
  WHICH MAY BE CALLED FROM THE SOURCE PROGRAM.
  
  TO INITIALIZE THE TIME OF DAY CLOCK, THE USER PROGRAM MUST
  
  (FORTRAN)         CALL SETUP
  OR
  (ASSEMBLY)        JSB SETUP 
                    DEF (RETURN ADDRESS)
  
  WHEN THIS INSTRUCTION IS EXECUTED THE CLOCK ROUTINE WILL PRINT
                  ENTER TIME (HRS: MIN: SEC:) 
  AND THE OPERATOR WILL THEN ENTER THE TIME OF DAY PLUS A HALF MINUTE OR
  SO.  THE OPERATOR THEN TYPES THE KEYS CR, LF, AND THE COMPUTER WILL 
  HALT WITH      102077      IN THE T REGISTER.  WHEN THE OPERATOR PRESSES
  THE RETURN BUTTON, THE REAL TIME OF DAY WILL BE MAINTAINED BY THE CLOCK 
  ENTRY POINT (NOT CALLABLE FROM USER PROGRAM). 
  
  AFTER THE CLOCK HAS BEEN INITIALIZED, REAL TIME OF DAY MAY BE READ BY 
  MEANS OF A
  
  (FORTRAN)          CALL DATIM (IH, IM, IS)
  OR
  (ASSEMBLY)         JSB DATIM
                     DEF (RETURN ADDRESS) 
                     DEF IH 
                     DEF IM 
                     DEF IS 
                     .
                     .
                     .
  
  THE ACTUAL ARGUMENTS ARE THREE INTEGER VARIABLES TO WHICH THE SUBROUTINE
  ASSIGNS VALUES OF THE TIME IN HOURS (0 TO 23), MINUTES (0 TO 59), AND 
  SECONDS (0 TO 59).  THE CLOCK IS INITIALLY SET BY MEANS OF A CALL SETUP.
  THE CLOCK CEASES TO BE INCREMENTED WHEN A HALT OPERATION IS EXECUTED. 
  
  IF THE HALT OPERATION WAS A RESULT OF A CALL TO THE HALT SUBROUTINE,
  THE CLOCK IS RESET TO ZERO.  ITS VALUE WILL REMAIN AT ZERO UNTIL SET
  THROUGH A CALL TO SETUP.
  
  IF THE HALT WAS DUE TO A PAUSE STATEMENT OR PRESSING OF THE HALT
  BUTTON ON THE CONSOLE, THE TIME IS UNCHANGED.  WHEN PROGRAM OPERATION 
  IS RESUMED, THE CLOCK IS INCREMENTED FROM THE EXISTING VALUE. 
  
  THE BAILEY CLOCK ROUTINE MAINTAINS AN INTEGER CLOCK AT ENTRY POINT
  .CLOK (NOT CALLABLE BY A USER PROGRAM).  IT MAY BE SET OR CHECKED 
  THROUGH THE USE OF STCLK AND RDCLK SUBROUTINES.  A
  
  (FORTRAN)          CALL STCLK (N) 
  OR
  (ASSEMBLY)         JSB STCLK
                     DEF (RETURN ADDRESS) 
                     DEF N
                     .
                     .
                     .
  
  SETS THE CLOCK TO ZERO AND CAUSES IT TO BE INCREMENTED BY ONE EVERY 
  (N*10) MILLISECONDS.  THE N MUST BE AN INTEGER CONSTANT (1-32, = 767).
  
  (FORTRAN)          CALL RDCLK (M) 
  OR
  (ASSEMBLY)         JSB RDCLK
                     DEF (RETURN ADDRESS) 
                     DEF M
  
  ASSIGNS THE VALUE OF THE CLOCK TO THE INTEGER VARIABLE M.  THE CLOCK
  CONTINUES TO BE INCREMENTED AT THE MOST RECENTLY SPECIFIED INTERVAL 
  UNTIL RESET BY ANOTHER CALL TO STCLK. 
  
  THE SUBROUTINE HALT IS USED TO HALT THE COMPUTER.  IT IS SIMILAR TO THE 
  PAUSE STATEMENT IN THAT IT WAITS FOR THE COMPLETION OF ALL INPUT/OUTPUT 
  OPERATIONS BEFORE HALTING THE COMPUTER.  IN ADDITION, HOWEVER, IT CLEARS
  THE TIME OF DAY CLOCK AND INHIBITS INCREMENTATION OF THE BINARY CLOCK.
  NO MESSAGE IS WRITTEN ON THE TELEPRINTER WHEN THE HALT OCCURS.  THE 
  FORMAT OF THE CALL IS:
  (FORTRAN)          CALL HALT
  OR
  (ASSEMBLY)         JSB HALT 
                     DEF (RETURN ADDRESS) 
  
  IF THE HALT SUBROUTINE IS USED, THE TIME OF DAY CLOCK REMAINS SET TO
  ZERO (MIDNIGHT) UNTIL RESET THROUGH A CALL SET UP.
  
  IF THE PAUSE STATEMENT IS USED, OR IF THE HALT BUTTON ON THE COMPUTER 
  CONSOLE IS PRESSED, THE TIME OF DAY CLOCK IS INCREMENTED WHEN THE 
  PROGRAM OPERATION IS RESTARTED, BUT THE TIME WILL BE INCORRECT. 
  INCREMENTATION CONTINUES WITH THE TIME WHEN THE HALT OCCURRED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X14001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  SYMBOLIC ALPHANUMERIC GENERATOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    PAPER TAPE      LABEL 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  FURNISHING A MEANS OF LABELING A PROGRAM OR ROUTINE, THIS PROGRAM 
  GENERATES A BLOCK-LETTERING LEADER OR TRAILER FOR A PUNCHED TAPE. 
  
  A BUF-ASR-33/HIGH SPEED PUNCH OR BUF-ASR-35 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:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  TO CONFIGURE THE GENERATOR: 
  
  PUT THE ADDRESS OF THE BUFFERED TELEPRINTER IN THE A-REG
  PUT THE ADDRESS OF THE PUNCH (OR BUF-ASR-35) IN THE B-REG 
  LOAD ADDRESS 2 AND PUSH RUN 
  
  TO USE THE GENERATOR: 
  
  SET THE TELEPRINTER ON LINE 
  TURN ON THE PUNCH (ASR-35 ON KT)
  LOAD ADDRESS 100B, PUSH RUN, AND TYPE 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X14101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  RUN-TIME DATA INPUT FOR BASIC 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    DATA MGMT       PAPER TAPE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    HP BASIC
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS ROUTINE TERMED SCANR, ALLOWS A PROGRAMMER TO FURNISH FREE-FIELD
  DATA TO A RUNNING BASIC PROGRAM THROUGH A PHOTOREADER OR TELEPRINTER, 
  EMPLOYING THE NORMAL BASIC I/O DRIVERS.  ANY NUMBER OF DATA ITEMS ARE 
  TRANSFERRED INTO AN ARRAY SPECIFIED BY THE USER PROGRAM.
  
  THE SCANR ROUTINE, AN ASSEMBLY LANGUAGE MODIFICATION OF THE 20392A
  BASIC OPERATING SYSTEM, CHANGES THE ROUTINE NORMALLY USED TO SCAN A DATA
  STATEMENT SO THAT THE VALUES ARE READ FROM THE PHOTOREADER OR TELE- 
  PRINTER.
  
  AFTER THE VALUES ARE PASSED TO THE USER PROGRAM, SCANR RESTORES THE 
  BASIC OPERATING SYSTEM TO ITS ORIGINAL STATE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  ASSEMBLE, CONFIGURE WITH PBS AND BASIC COMPILER.  INPUT IS FREE-FIELD.
  ANY NUMBER OF DATA ITEMS ON A TAPE WILL BE ACCEPTED WHEN SEPARATED
  BY COMMAS AND TERMINATED BY A CARRIAGE RETURN.  MAXIMUM RECORD LENGTH 
  IS 72 CHARACTERS PER RECORD.
  
  ENTRY POINT(S): 
  
  CALL (1,X,1,D)
            - 
  PARAMETER     TYPE     DESCRIPTION
  
     1          INTEGER  SUBROUTINE REFERENCE NUMBER
  
     X          REAL     DATA VALUE PASSED TO HP BASIC THROUGH PHOTOREADER
                         OR TELEPRINTER IN A RUNNING PROGRAM. 
  
     1          INTEGER  SPECIFIES ONE INPUT VALUE
     -
     D          REAL     IF D>=0, THEN INPUT IS VIA THE TELEPRINTER.
                         IF D<0, THEN INPUT IS VIA THE PHOTOREADER. 
  
  CALL (1, A(1), N, D)
  
  PARAMETER     TYPE     DESCRIPTION
  
    A(1)        REAL     THE FIRST ELEMENT (INPUT VALUE) OF ARRAY "A" 
                         WHERE "A" IS DIMENSIONED "N".
  
    N           INTEGER  0<N<3276 
  
  THIS CALL EXPECTS "N" INPUT VALUES. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF A SYNTAX ERROR EXISTS IN THE DATA, OR IF A PARAMETER IS OUT OF RANGE,
  OR IF THE INPUT DEVICE IS NOT READER, AN "ERROR 18 IN LINE XX" IS 
  PRINTED, AND BASIC RETURNS TO THE SYNTAX MODE.
  
  
 **MISCELLANEOUS: 
  
  
X14201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  BASIC PHOTOREADER DATA INPUT
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    DATA MGMT       PAPER TAPE
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    HP BASIC
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE ALLOWS A PROGRAMMER TO FURNISH FREE-FIELD DATA TO A
  RUNNING BASIC PROGRAM BY MEANS OF A PHOTOREADER.  THE USER REQUESTS 
  INPUT DATA BY MEANS OF AN INPUT STATEMENT.  IF THE PHOTOREADER IS 
  READY WHEN THE STATEMENT IS EXECUTED, DATA IS FURNISHED TO THE PROGRAM
  FROM THE PUNCHED TAPE IN THE PHOTOREADER.  IF THE PHOTOREADER IS NOT
  READY (I.E., NO TAPE INSTALLED OR GATE DOWN), THE TELEPRINTER TYPES A 
  QUESTION MARK AND DATA IS THEN ENTERED IN THE NORMAL MANNER FROM THE
  KEYBOARD.  THE ROUTINE IS AN ABSOLUTE-ADDRESS MODIFICATION OF THE 20392A
  BASIC OPERATING SYSTEM. 
  
  EQUIPMENT REQUIRED INCLUDES AT LEAST 8K OF CORE STORAGE, AND A PHOTO- 
  READER WITH 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: 
  
  ASSEMBLE ABSOLUTE OBJECT PROGRAM, THEN LOAD PBS, BASIC HP20392A AND THE 
  ABSOLUTE OBJECT PROGRAM IN THAT ORDER WITH BASIC BINARY LOADER AND
  CONFIGURE BY RUNNING PBS. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM ALLOWS THE USER TO ENTER DATA TO A RUNNING BASIC PROGRAM 
  BY MEANS OF THE HIGH SPEED PHOTOREADER.  THE USER REQUESTS INPUT DATA 
  WITH AN INPUT STATEMENT.  IF THE PHOTOREADER IS READY WHEN THE INPUT
  STATEMENT IS EXECUTED, DATA IS READ INTO THE PROGRAM FROM PAPER TAPE
  BY THE PHOTOREADER.  IF THE PHOTOREADER IS NOT READY (I.E. NO TAPE OR 
  GATE DOWN), A QUESTION MARK IS PRINTED ON THE TELETYPE, AND DATA IS 
  ENTERED IN THE NORMAL MANNER FROM THE KEYBOARD. 
  
  FORMAT OF THE DATA ON PAPER TAPE IS FREE-FIELD, WITH THE NUMBER OF DATA 
  ITEMS PER RECORD DETERMINED BY THE NUMBER OF ARGUMENTS OF THE INPUT 
  STATEMENT.  MAXIMUM RECORD LENGTH IS 72 CHARACTERS.  SPACES MAY BE USED 
  TO SEPARATE DATA ITEMS WITHIN A RECORD, AND COMMENTS MAY APPEAR BETWEEN 
  DATA ITEMS, PROVIDED THAT THE FIRST CHARACTER OF A RECORD IS NOT S. 
  (S AS THE FIRST CHARACTER OF THE RECORD CAUSES TERMINATION OF 
  EXECUTION.)  THE COMMENTS MUST NOT THEMSELVES CONTAIN NUMBERS.  DATA
  GENERATED BY A BASIC PRINT STATEMENT IS IN A FORMAT SUITABLE FOR
  READING BY AN INPUT STATEMENT.
  
  THIS SUBROUTINE CONSISTS OF THREE BASIC PARTS.  THE FIRST PART MODIFIES 
  THAT PART OF THE BASIC INTERPRETER USED TO EXECUTE ON INPUT STATEMENT SO
  THAT IT READS DATA FROM THE PHOTOREADER IF IT IS READY.  THE
  SECOND PART  MODIFIES THE RECORD PROCESSING SECTION OF THE BASIC INTER- 
  PRETER SO THAT SPACES ARE COUNTED AS SIGNIFICANT WHEN AN INPUT RECORD IS
  BEING PROCESSED.  THE THIRD PART IS A BASIC CALL SUBROUTINE WHICH 
  ALLOWS THE USER TO EFFECTIVELY DELETE OR RESTORE THIS MODIFICATION BY 
  A CALL FROM A BASIC PROGRAM.  THE CALL STATEMENT DELETES THE MODIFICA-
  TION IF IT IS PRESENT OR RESTORES IT IF IT HAS BEEN DELETED.
  
  CALL (1)
  
  AFTER THE PROCEDURE GIVEN IN 4.1, THE MODIFICATIONS DESCRIBED IN 2.0
  WILL BE IMPLEMENTED.  THESE MODIFICATIONS MAY BE EFFECTIVELY DELETED
  AT ANY TIME BY THE CALL STATEMENT GIVEN ABOVE.  A SUBSEQUENT CALL (1) 
  RESTORES THE MODIFICATIONS.  THE NEXT CALL (1) DELETES THEM AGAIN, ETC. 
  
  USE OF THIS CALL PERMITS THE USER TO INPUT ISOLATED DATA ITEMS FROM THE 
  KEYBOARD WHILE OBTAINING MOST OF THE DATA FROM A TAPE IN THE PHOTO- 
  READER.  THE INPUT STATEMENTS FOR KEYBOARD INPUT DATA ARE BRACKETED 
  BY CALL (1) STATEMENTS. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE DELAY THAT OCCURS BEFORE THE PRINTING OF THE QUESTION MARK ON THE 
  TTY IS DUE TO THE TIME REQUIRED TO DETERMINE THE STATUS OF THE
  PHOTOREADER.  IF THE USER DOES NOT WISH TO USE THE PHOTOREADER FOR
  DATA INPUT, THIS DELAY MAY BE ELIMINATED BY DELETING THE MODIFICATIONS
  WITH A CALL (1) STATEMENT.
  
  THIS SUBROUTINE REQUIRES A PARTICULAR VERSION OF THE BASIC INTERPRETER, 
  BASIC HP20392A.  WITH SOME MODIFICATIONS, IT COULD PROBABLY BE MADE TO
  WORK WITH OTHER VERSIONS OF BASIC.
X14301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FORTRAN POWER FAIL LINK 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    FORTRAN         SCHEDULING
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS       DACE
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE IS A RELOCATABLE FUNCTION WHICH, WHEN CALLED LINKS THE 
  POWER-FAIL RESTART INTERRUPT TO A FORTRAN PROGRAM.  THIS PERMITS
  THE PROGRAM TO BE RESTARTED WITHOUT MANIPULATION OF PANEL CONTROLS. 
  SIMPLIFIED RESTART IS EXTREMELY USEFUL WHEN A COMPUTER WITHOUT HIGH-
  SPEED I/O DEVICES IS USED BY UNTRAINED PERSONNEL. 
  
  EQUIPMENT REQUIRED IN THE POWER FAILURE AUTO-RESTART 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ENTRY POINT(S)
  
  
    PWRFL 
  
    CALL ROUTINE
  
    ASMB,R,B,L
  
  
            JSB PWRFL 
            DEF *+1 
            SSA 
            JMP CONT          LINK ACCOMPLISHED 
              .               (RESTART RETURN)
              . 
              . 
  
  FTN,B,L 
  
        IF (PWRFL)100,200 
  100   (RETURN AFTER LINKING)
  200   (RETURN AFTER RESTART)
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE POWER FAIL LINK POINT MAY BE MOVED DURING PROGRAM EXECUTION BY
  REPEATED CALLING OF THE POWER FAIL ROUTINE. 
X14401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CORE PUNCH IN BBL FORMAT
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    PAPER TAPE      DUMP            MEMORY
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SELF-CON
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM PUNCHES SELECTED AREAS OF CORE IN A FORMAT WHICH CAN BE
  RELOADED BY THE BASIC BINARY LOADER.  THE USER INPUTS THE NECESSARY 
  PARAMETERS THROUGH THE SWITCH REGISTER AT RUN TIME.  PROVISIONS EXIST 
  TO ALLOW PUNCHING AN ABSOLUTE TAPE WHICH WILL RELOAD TO ANOTHER PART
  OF THE CORE.
  
  THIS FEATURE IS USEFUL FOR MOVING 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: 
  
  THIS PROGRAM PUNCHES CORE IN BBL-FORMAT.  IT IS DRIVEN BY AN INTERNAL 
  TABLE.  EACH 32-BIT TABLE ENTRY DEFINES ONE AREA TO BE PUNCHED.  THE
  TABLE MAY CONTAIN AN ARBITRARY NUMBER OF ENTRIES AND IS RECONFIGURABLE
  WITHOUT RE-ASSEMBLY.
  
  PROVISIONS EXIST TO ALLOW PUNCHING AN ABSOLUTE TAPE WHICH WILL LOAD 
  ANYWHERE.  THE FEATURE IS USEFUL FOR MOVING DATA AREAS AND, IN FACT,
  FOR CREATING NEW PNCH-PROGRAM-TAPES WHICH LOAD ANYWHERE.
  
  PNCH, PUNCHES CORE IN 128 WORD BBL FORMAT RECORDS.  IT IS DRIVEN BY 
  THE PNCHX TABLE TO ALLOW MULTI-BLOCK OUTPUT.  PROVISIONS EXIST TO 
  ALLOW PUNCHING AN ABSOLUTE TAPE WHICH WILL LOAD ANYWHERE.  THIS FEATURE 
  IS USEFUL FOR MOVING DATA AREAS AND, IN FACT, FOR CREATING NEW PNCH-
  PROGRAM-TAPES WHICH LOAD ANYWHERE.
  
  CONFIGURATION:
  
  THE PNCH-PROGRAM ORG THE BBL-RECORD SIZE, THE I/O CHANNEL, AND THE
  PNCHX TABLE ARE DEFINED AT ASSEMBLY TIME.  THESE MAY BE ARBITRARILY 
  REDEFINED IN CORE AND A NEW PNCH-PROGRAM-TAPE PUNCHED BY PNCH ITSELF
  (SEE SPECIAL USAGE #2 DESCRIBED BELOW). 
  
  EDIT LINE #8 PNCH EQU 12B I/O CHANNEL OF PUNCH TO CONFIGURE TO YOUR 
  SYSTEM. 
  
  INSTRUCTIONS: 
  
  1.  LOAD PNCH-PROGRAM-TAPE WITH BBL 
  
  2.  SETUP PNCHX TABLE WITH ENTRIES IN ONE OF THE FOLLOWING FORMATS
      (SEE EXAMPLE BELOW):
  
      DEF FIRST               (PUNCHES FIRST THROUGH LAST AND 
      DEF LAST+1              GOES TO NEXT TABLE ENTRY).
  
      DEF XXXXX               (CAUSES JMP TO ADDR). 
      DEF ADDR,I
  
      DEF BBBBB,I             (CAUSES HLT 77B.  IF RUN IS PUSHED, THE 
      DEF AAAAA               BA-REG IS INTERPRETED AS 32-BIT ENTRY). 
  
  3.  LOAD P-REGISTER WITH PNCH STARTING ADDRESS (I.E., THE LOCATION OF 
      THE SYMBOL "PNCH", THEN PUSH RUN.  THE PNCHX TABLE WILL BE PROCESSED
      ENTRY BY ENTRY. 
  
  NORMAL USAGE (PUNCHING DATA & PROGRAMS):
  
  ASSUME PNCH IS LOADED AT 2000 (SO PNCHX STARTS AT 2074), THEN TO PUNCH
  BASEPGE (2-1777) EXCEPT SIO AREA (100-107), 
     LOAD SWREG:   THEN PUSH: 
            2074   LOAD ADDR      (PNCHX=PNCH+74) 
               2   LOAD MEM       (PUNCH 2-77)
             100      " 
             110      "           (PUNCH 110-1777)
            2000      " 
          100000      "           (HLT, THEN JMP TO 2000) 
          102000      " 
  NOW LOAD ADDRESS 2000 AND PUSH RUN.  MULTIPLE COPIES OF THE PUNCHED TAPE
  ARE OBTAINED BY MANUALLY GENERATING FEEDER AND PUSHING RUN WHEN THE HLT 
  77 IS ENCOUNTERED.
  
  
  SPECIAL USAGE #1 (MOVING DATA): 
  
  PNCH MAY BE USED SO THAT THE ABSOLUTE TAPE PUNCHED WILL BBL-LOAD INTO 
  AN ARBITRARY LOCATION.  TO DO THIS, SET PNCHO TO THE DESIRED ADDRESS
  INCREMENT BEFORE STEP 3 ABOVE.
  
  EG, ASSUME PNCH IS LOADED AT 2000 (SO PNCHO IS AT 2072 AND PNCHX IS AT
  2074), THEN TO PUNCH CORE FROM 3000-4600 SO IT WILL LOAD BACK INTO
  4000-5600, LOAD ADDRESS 2072 WITH:
          ABS 1000B          TARGET MINUS SOURCE ADDRESS
  AND ADDRESSES 2074-2076 WITH THE FOLLOWING: 
          OCT 2000,3061      PUNCH 2000-3600
          OCT 100000         THEN HALT
  
  
  SPECIAL USAGE #2 (MOVING PROGRAMS): 
  
  PNCH MAY BE USED TO BOOTSTRAP ITSELF TO ANOTHER PAGE.  LOCATION PNCHX-1 
  IN THE TARGET TAPE MUST BE MODIFIED, HOWEVER, TO POINT TO THE NEW PNCHX 
  TABLE.  IN THIS CASE, AND IN GENERAL WHEN PROGRAMS ARE "RELOCATED", 
  PNCHO IS AN INTEGRAL NUMBER OF PAGES (I.E., BITS 9-0 ARE ZERO) SO THAT
  10-BIT ADDRESS INSTRUCTIONS WILL WORK.  ANY 16-BIT ADDRESS (I.E., DEF'S 
  LIKE PNCHX-1) MUST BE MODIFIED MANUALLY.
  
  EG, ASSUME PNCH (AT 2000) IS TO BE MOVED TO HIGHCORE (AT 16000).
  LOAD ADDRESS 2072 WITH
          OCT 14000          TARGET MINUS SOURCE ADDRESS
  AND ADDRESS 2074-2100 
          OCT 102000,2100    HLT, THEN PUNCH 2000-2077
          OCT 116000,16100   HLT, THEN PUNCH 16000-16077
          OCT 100000         HLT, ALL DONE. 
  WHEN FIRST HLT OCCURS, PUSH RUN.  USE BBL TO LOAD TAPE JUST PUNCHED.
  LOAD ADDRESS 16072-16073 WITH 
          OCT 00000,16074 
  AND, IF DESIRED, SET THE PNCHX TABLE AT 16074 WITH ANYTHING DESIRED.
  RESTART PNCH AT 20000.  WHEN FIRST HLT OCCURS, CLEAR BA AND PUSH RUN
  TWICE.  THE PNCH-PROGRAM-TAPE WILL BE PUNCHED.
  
  
  ENTRY POINTS(S) 
  
       ADDRESS     SYMBOL 
  
                   PNCH     STARTING ADDRESS (TYPICALLY 2000B)
  
       PNCH+74     PNCHX    BEGINNING OF PNCH TABLE 
  
       PNCH+73     -----    DEF TO PNCHX
  
       PNCH+72     PNCHO    OFFSET, TARGET ADDRESS MINUS SOURCE 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SINCE THE PROGRAM TAPE IS ONLY ABUT ONE FOOT LONG, IT IS CONVENIENT TO
  HAVE SEVERAL VERSIONS ON ONE TAPE, FOR EXAMPLE, ONE WHICH LOADS AT
  100B, 2000B, 17600B, ETC., OR ONE WHICH SPRINGLOADS (VIA PNCHX TABLE) 
  TO PUNCH VARIOUS SEGMENTS OF CORE.
X14501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  OCTAL ASSEMBLY PROCESSOR AND UTILITY SYSTEM 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    ASSEMBLER 
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SELF-CON
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  OCTAPUS IS A TROUBLESHOOTING AID WHICH ELIMINATES TIME CONSUMING
  TOGGLING FROM THE SWITCH REGISTER.  IT IS A SELF-CONFIGURING, SELF- 
  CONTAINED PROGRAM RESIDING WITHIN THE BOUNDS OF A SINGLE PAGE IN CORE.
  COMMUNICATION IS CONVERSATIONAL THROUGH THE TELEPRINTER.  THE FOLLOWING 
  FUNCTIONS CAN BE PERFORMED:  ASSEMBLY INTO CORE, PUNCH ABSOLUTE TAPE
  FROM CORE, LOAD ABSOLUTE TAPE TO CORE, VERIFY ABSOLUTE TAPE TO CORE,
  LIST MEMORY BOUNDS OF ABSOLUTE TAPE, DUMP CORE TO TELEPRINTER (OCTAL
  AND INVERSE ASSEMBLY), JUMP TO ANY LOCATION IN CORE, AND SEARCH CORE
  FOR ANY OCTAL VALUE.
  
  IN ADDITION, IT PROVIDES THE CAPABILITY OF HANDLING EAU INSTRUCTIONS, TO
  REVERSE THE SKIP SENSE OF ASG INSTRUCTIONS, TO DO AN INVERSE ASB. OF A
  BINARY TAPE WITHOUT LOADING IT, AND TO RELOCATE SECTIONS OF CORE EITHER 
  ONLINE OR BY THE PRODUCTION OF A BINARY 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
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  ASSEMBLE AND LOAD OCTAPUS-C: SET THE TTY SELECT CODE IN THE S-REGISTER, 
  2 IN P-REGISTER AND PRESS RUN.  IN RESPONSE TO QUESTIONS SUPPLY THE 
  SELECT CODES FOR PAPER-TAPE READER, PUNCH AND LINE PRINTER IF AVAILABLE 
  (FORMAT 3).  TTY WILL PRINT 
  
       "*** OCTAPUS-C *** 
       ?" 
       AND WAIT FOR CONTROL COMMANDS. 
  
  AT THIS STAGE A CONFIGURED TAPE MAY BE PUNCHED OR THE PROGRAM CAN BE
  SELF-RELOCATED TO ANOTHER PAGE (SEE EX 1: 14000 IS COMPATIBLE WITH 8K 
  BASIC).  THE SUBSEQUENT ENTRY POINT TO THE PROGRAM IS ITS HEAD (4000B 
  OR NEW RELOCATED ORIGIN). 
  
  THE FOLLOWING CONTROL COMMANDS MAY BE USED TO PERFORM THE FUNCTIONS 
  DESCRIBED.
  
            CONTROL + A                ASSEMBLY 
  
  THE TTY ASKS FOR A STARTING ADDRESS (FORMAT 3), REPRINTS IT AND WAITS 
  FOR MNEUMONIC CODE AND OPERAND TO BE ASSEMBLED INTO THAT LOCATION.  THE 
  INSTRUCTIONS ARE TYPED IN FORMAT 1 AND ARE SUBJECT TO THE FOLLOWING 
  RESTRICTIONS: 
  
  1.  ONLY MACHINE INSTRUCTIONS AND THE PSEUDO-INSTRUCTION OCT (FOR OCTAL 
      CONSTANTS) MAY BE GIVEN.  ANY OTHER WILL PRODUCE AN "OPCODE ERROR"
      MESSAGE.
  
  2.  ONLY ONE INSTRUCTION IS ALLOWED PER LINE, EXCEPT ,RSS WHICH MAY BE
      APPENDED TO ANY ASG INSTRUCTION.
  
  3.  THE INSTRUCTION CODE MUST BE FOLLOWED BY EITHER A CR IF NO OPERAND
      EXISTS, OR BY A SINGLE SPACE FOLLOWED BY THE OPERAND WHICH MUST BE
      OCTAL (1 TO 6 DIGITS - NO B). 
  
  4.  ,I AND ,C MAY BE APPENDED TO THE OPERANDS OF MGR + 10G INSTRUCTIONS 
      RESPECTIVELY. 
  
  5.  SINGLE WORD EAU INSTRUCTIONS WITH 16 SHIFTS SHOULD BE INPUT AS
      HAVING ZERO SHIFTS (AND WILL BE SIMILARLY INVERSELY ASSEMBLED). SWP 
      IS NOT RECOGNIZED.
  
  6.  TWO-WORD EAU INSTRUCTIONS MUST BE INPUT AS TWO WORDS, THE FIRST 
      BEING AN INSTRUCTION MNEUMONIC, AND THE SECOND, THE ADDRESS.
  
  THE ASSEMBLY ADDRESS MAY BE CHANGED AT ANY TIME BY INPUTTING AN OBLIQUE 
  FOLLOWED BY THE NEW ADDRESS.
  
  THE ESCAPE KEY WILL RECOMMENCE ANY LINE.  THE RUBOUT KEY WILL ABORT 
  ASSEMBLY AND RETURN TO THE COMMAND REQUEST STATE. 
  
  PRESSING CONTROL + C WILL CAUSE THE PRINTING OF THE CONTENTS OF THE 
  CURRENT ADDRESS IN OCTAL AND IN MNEUMONIC FORM IF INTERPRETABLE AS SUCH.
  
           CONTROL + D            OCTAL DUMP + INVERSE
  
  CAUSES TTY TO PRINT "DUMP RANGE?" AND THE OPERATOR RESPONDS WITH A
  STARTING AND ENDING LOCATION IN FORMAT 2.  THE CONTENTS OF ALL LOCATIONS
  INCLUSIVE OF THE SPECIFIED ADDRESS ARE THEN PRINTED IN OCTAL TOGETHER 
  WITH THEIR INSTRUCTION MNEUMONICS IF INTERPRETABLE. 
  
           CONTROL + P            PUNCH 
  
  CAUSES TTY TO PRINT PUNCH?  THE OPERATOR SPECIFIES A RANGE OF MEMORY
  IN FORMAT 2, AND A BINARY (BBL COMPATIBLE) TAPE OF THE CONTENTS OF
  THOSE LOCATIONS IS PUNCHED. 
  
            CONTROL + T           LOAD TAPE 
  
  LOADS TAPE IN READER INTO CORE
  PRINTS "*EOT" IF SUCCESSFUL 
         "CHECKSUM" FOR CHECKSUM FAILURE
         "ADDRESS=XXX" IF ATTEMPT MADE TO OVERLAY OCTAPUS-C 
  
            CONTROL + V           VERIFY
  
  COMPARES TAPE IN READER & CORE, & PRINTS OUT ANY LOCATIONS AND THEIR
  CONTENTS WHERE THE TAPE IS DIFFERENT. 
  
            CONTROL + B           BOUND 
  
  PRINTS LOADING ADDRESS DESTINATION OF EACH BINARY TAPE SECTION. 
  
            CONTROL + I           INVERSE OF TAPES
  
  PRINTS DUMP + INVERSE (AS FOR DUMP ROUTINE) OF BINARY TAPE WITHOUT
  LOADING IT. 
  
            CONTROL + R           RUN 
  
  TTY ASKS FOR ADDRESS (FORMAT 3), AND WILL TRANSFER CONTROL AND START
  RUNNING PROGRAM AT THE SPECIFIED ADDRESS. 
  
            CONTROL + S           SEARCH
  
  IN REPLY TO "SEARCH FOR?", GIVE OCTAL CODE (FORMAT 3) 
  IN REPLY TO "RANGE?" ,     GIVE RANGE (FORMAT 2)
  
  THE ADDRESSES OF ALL LOCATIONS CONTAINING THE CODE IN THE SPECIFIED 
  RANGE WILL BE PRINTED.
  
            CONTROL + L           RELOCATE
  
  IN REPLY TO "RELOCATE?", THE USER GIVES THE SECTION TO BE RELOCATED 
  (FORMAT 2). 
  
  THE MESSAGE "NEW ORIGIN?" CALLS FOR THE NEW STARTING ADDRESS FOR THE
  SECTION (FORMAT 3). 
  
  THE MESSAGE "ADDRESSES OF POINTERS?" (TERM.BY 0)" CALLS FOR THE ADDRESS 
  OR ADDRESSES OF ANY LOCATIONS IN THE SECTION THAT ARE USED FOR INDIRECT 
  ADDRESSING:  THE PROGRAM EVALUATES WHETHER THESE NEED ALTERING (IF
  LOCATION POINTED TO IS IN SECTION BEING RELOCATED) OR NOT.  THESE 
  ADDRESSES MAY BE INPUT EITHER SINGLY, (FORMAT 3) OR IN BLOCKS, USING
  FORMAT 2 (SEE EXAMPLES).  THE LIST MUST BE TERMINATED (OR IF NULL LIST) 
  BY ZERO.
  
  IF THE SECTION IS BEING RELOCATED TO A DIFFERENT PART OF A PAGE, SO THAT
  MEMORY REFERENCE INSTRUCTIONS NEED ALTERATION, THE PROGRAM ASKS 
  "CONSTANTS?".  REPLY BY INPUTTING THE ADDRESSES OF ANY CONSTANTS, IN
  PARTICULAR ANY THAT MIGHT APPEAR TO BE A MRG OR EAG INSTRUCTION,
  SINGLY OR IN BLOCKS AS FOR THE POINTERS.  THE CONSTANT BLOCKS MAY (BUT
  NEED NOT) INCLUDE THE POINTER ADDRESS.
  
  AGAIN TERMINATE BY ZERO.
  
  A BINARY TAPE WILL THEN BE PUNCHED, THE MESSAGE "LAST WORD = XXX" GIVEN 
  AND THE PROGRAM RETURNS TO THE "?" INPUT REQUEST MODE.
  
  OPTION:  IF SWITCH REGISTER BIT ZERO IS SET ON, THE RELOCATION WILL BE
           DONE ON-LINE AND THE MESSAGE "LAST WORD=XXX" GIVEN WHEN
           FINISHED.
  
  CAUTION:  THIS SHOULD NOT BE USED TO MOVE A SECTION OF PROGRAM DOWN 
            WHERE IT WILL OVERLAY ITSELF BEFORE ALL OF IT HAS BEEN
            RELOCATED.  PUNCH A TAPE, OR MOVE TO A DIFFERENT PAGE AND THEN
            BACK. 
  
  NOTES ON RELOCATING 
  
  1.  THE PROGRAM DOES NOT GENERATE INDIRECT ADDRESSING IF RELOCATION 
      CAUSES AN ADDRESSED LOCATION TO RESIDE IN CORE ON A DIFFERENT PAGE
      FROM THE INSTRUCTION.  A "PAGE ERROR, LINE NUMBER" MESSAGE IS GIVEN,
      THE PROGRAM BEING LEFT IN THE ASSEMBLY MODE.
  2.  THE WORD EAU INSTRUCTIONS ARE HANDLED AUTOMATICALLY:  IT IS NOT 
      NECESSARY TO DESIGNATE THE SECOND WORD AS A POINTER.
  
  3.  WHENEVER A SECTION OF MEMORY IS RELOCATED, ALL JUMPS AND REFERENCES 
      TO IT FROM OUTSIDE THE SECTION BECOME INVALID.  THESE MAY BE
      ADJUSTED MANUALLY (SEE EX 2A) OR THE RELOCATION CAN OFTEN BE DONE 
      IN TWO STAGES (SEE EX 2B).
  
  FIRST SHIFT ALL THE PROGRAM INVOLVED.  THIS WILL UPDATE THE REFERENCING 
  INSTRUCTIONS.  THEN SHIFT BACK ALL THE PROGRAM EXCEPT THE SECTION 
  DESIRED TO BE RELOCATED.
  
  4.  WHEN MOVING A SECTION OF THE PROGRAM TO ANOTHER PAGE, INSTRUCTIONS
      WHICH REFERENCE OTHER UNMOVED LOCATIONS BECOME INVALID.  THIS MAY 
      BE DELIBERATE IF A TWO-STAGE RELOCATION IS BEING PERFORMED.  AS A 
      WARNING OF THIS CONDITION, BITS 12-14 OF THE SWITCH REGISTER ARE
      SET ON. 
  
  GENERAL 
  
  OCTAPUS-C DOES NOT USE THE INTERRUPT SYSTEM.  ANY PROCESS MAY BE ABORTED
  BY SETTING SWITCH REGISTER BIT 15 ON IF PRINTING IS OCCURRING OR BY 
  PRESSING THE RUBOUT KEY IF THE KEYBOARD IS LIVE.
  
  TTY LIST OUTPUT MAY BE DIVERTED TO THE LINE PRINTER BY SETTING SWITCH 
  REGISTER BIT 1 ON.  OUTPUT RETURNS AUTOMATICALLY TO THE TTY WHEN THE
  LISTING PROCESS IS COMPLETE.
  
  THE POINTER AND CONSTANT TABLE IS BUILT UP FROM LOCATION 6161B(+N000B,
  N EVEN, FOR DIFFERENT ORIGIN).  ONE WORD IS REQUIRED FOR EACH CONSTANT
  OR POINTER. 
  
  ALTHOUGH OCTAPUS-C WILL HANDLE EAU INSTRUCTIONS, IT DOES NOT REQUIRE
  AN EAU FOR ITS OPERATION. 
  FORMATS 
  
                                    CR REPRESENTS CARRIAGE RETURN KEY 
  
       FORMAT I                     CLA CR
                                    SZA,RSS CR
                                    LDA 7233 CR 
                                    LDB 7234,I CR 
  
       FORMAT II                    XXXX,YYYY CR
  
  
               IMPLIES ALL LOCATIONS FROM XXXX TO YYYY INCLUSIVE. 
  
       FORMAT III                   XXXX CR 
  
               A SINGLE OCTAL VALUE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X14601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MAGNETIC TAPE DUMP UTILITY
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    MAGNETIC TAPE   DUMP            PAPER TAPE
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS       MTS 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM ACCEPTS ASCII PAPER TAPE OR IBM 029 PUNCHED CARDS AS INPUT 
  AND DUMPS IMAGES TO AN OS/360 COMPATIBLE 9-TRACK MAG TAPE.  OUTPUT MAY
  BE ASCII OR EBCDIC CODE, STANDARD LABELED OR UNLABELED MAG TAPES WITH 
  FIXED OR VARIABLE BLOCKED RECORDS.  IT OPERATES UNDER CONTROL OF BCS. 
  
  EQUIPMENT REQUIRED INCLUDES 16K CORE, ANY HP PHOTOREADER OR HP2761
  CARD READER, AND AN HP7970 NINE TRACK MAGNETIC TAPE UNIT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  THE MAIN PURPOSE OF THE ROUTINE IS TO WRITE MAGNETIC TAPE FILES WHICH 
  ARE COMPATIBLE WITH THE IBM SYSTEM/360 OPERATING SYSTEMS. 
  
  LABELS: 
  - THE TAPES CREATED WOULD NORMALLY HAVE IBM SYSTEM/360 OPERATING
    SYSTEM (OS/360) STANDARD LABELS (DOWNWARD COMPATIBLE), ALTHOUGH 
    UNLABELED TAPES CAN BE CREATED. 
  - MULTIPLE FILES PER REEL ARE SUPPORTED.  MULTIPLE REEL FILES ARE 
    NOT SUPPORTED.
  - ASCII LABELS SUPPORTED IN OS/360 (RELEASE 20 AND ABOVE) ARE NOT 
    SUPPORTED.
  
  RECORD FORMATS: 
  - FIXED BLOCKED (FB) AND VARIABLE BLOCKED (VB) RECORD FORMATS ARE 
    SUPPORTED.
  - THE BLOCKING FACTOR MAY BE ONE, ALTHOUGH THE LABELS WILL STILL
    INDICATE BLOCKED RECORDS. 
  
  DATA FORMATS: 
  - THE PROGRAM ASSUMES THAT THE INPUT DATA IS CODED IN HP
    COMPATIBLE ASCII CODE (ASCII) OR IBM COMPATIBLE 029 KEYPUNCH CODE.
  - THE OUTPUT DATA CODE WILL EITHER BE THE INTERNAL FORMAT (ASCII) 
    OR WILL BE TRANSLATED TO THE IBM EXTENDED BINARY-CODED-DECIMAL
    INTERCHANGE CODE (EBCDIC) EQUIVALENT OF THE INTERNAL REPRESEN-
    TATION. 
  
  FEATURES AND RESTRICTIONS:
  - PROGRAM ASSUMES NINE TRACK MAGNETIC TAPE WITH DENSITY OF 800 BPI. 
  - NO EDITING OF THE INPUT DATA RECORDS IS PERFORMED.
  - MAGNETIC TAPE RECORDS SHORTER THAN EIGHTEEN BYTES (NINE HP WORDS) 
    CAN BE PRODUCED BUT ARE NOT SUPPORTED BY IBM HARDWARE/OS. 
  - THE INPUT RECORDS MUST BE COMPATIBLE WITH THE STANDARD HP BASIC 
    CONTROL SYSTEM (BCS) UNIT RECORD INPUT DRIVERS. 
  - THIS VERSION HAS THE RESTRICTION THAT THE LOGICAL RECORD LENGTH 
    MUST BE AN EVEN NUMBER OF BYTES.
  - VARIABLE BUFFER ALLOCATION IS MADE AND THEREFORE BLOCK SIZES ARE
    RESTRICTED ONLY BY THE AMOUNT OF CORE STORAGE AVAILABLE 
    (APPROXIMATELY 7500 BYTES ON A 16K WORD COMPUTER DEPENDENT UPON 
    THE CONFIGURATION OF THE OPERATING ENVIRONMENT).
  OPERATING PROCEDURES: 
  - USE STANDARD ALGOL AND ASSEMBLER COMPILATION METHODS, AND PRODUCE 
    A BCS CONFIGURED ABSOLUTE MODULE. 
  - LOAD THE ABSOLUTE MODULE (STARTING ADDRESS 000002 OCTAL). 
  - THE FOLLOWING MESSAGES WILL APPEAR ON THE CONSOLE TELEPRINTER:
         RECFM - F OR V ?      (REPLY: F FOR FB RECORDS 
                                       V FOR VB RECORDS)
  
         LRECL = ?             (REPLY: N WHERE N IS THE MAXIMUM 
                                         LOGICAL RECORD LENGTH OF THE 
                                         INPUT (OUTPUT) RECORDS)
  
         BLKSIZE = ?           (REPLY: M WHERE M IS THE DESIRED BLOCK 
                                         SIZE OF THE OUTPUT RECORDS)
  
  NOTE: 
    FOR FB RECORDS THE LOGICAL RECORD LENGTH SPECIFIED MUST BE AN EVEN
    MULTIPLE OF THE BLOCK SIZE SPECIFIED.  FOR VB RECORDS THE LOGICAL 
    RECORD LENGTH INCLUDES A FOUR-BYTE RECORD DESCRIPTOR WORD (RDW).
    THE MINIMUM BLOCK SIZE IS FOUR BYTES GREATER THAN THE LOGICAL RECORD
    LENGTH. 
  
    I/O UNIT REF. #=IN,OUT ?  (REPLY: I,J WHERE I AND J ARE THE UNIT
                                     REFERENCE NUMBERS (BASE TEN) 
                                          OF THE INPUT AND OUTPUT UNITS 
                                          RESPECTIVELY) 
  
         OS/360 LABELS ?      (REPLY: YES IF OS/360 STANDARD LABELS 
                                          ARE DESIRED 
                                       NO IF AN UNLABELED TAPE IS DESIRED 
  
         FILE # =             (REPLY:   I WHERE I IS THE NUMBER OF
                                          THE FILE TO BE CREATED) 
  
  NOTE: 
    WHEN POSITIONING THE MAGNETIC TAPE VOLUME TO THE SPECIFIED FILE, THE
    PROGRAM ASSUMES THAT ALL FILES OF THE VOLUME HAVE OS/360 STANDARD 
    LABELS OR THAT ALL FILES ARE UNLABELED AS SPECIFIED IN A REPLY ABOVE. 
  
   IF STANDARD OS/360 LABELS HAVE BEEN SPECIFIED THEN THE FOLLOWING 
   MESSAGES WILL APPEAR ON THE CONSOLE TELEPRINTER: 
  
   VOLUME=SER-XXXXXX ?   (REPLY: THE SIX CHARACTER IDENTIFICATION 
                                      CODE ASSIGNED TO THE VOLUME)
  
   DSNAME = ?                 (REPLY: THE RIGHTMOST SEVENTEEN CHARAC- 
                                      TERS OF THE DATA SET NAME)
  
   CREATION DATE - YYDDD ?    (REPLY: THE YEAR AND DAY OF THE YEAR WHERE
                                      YY=YEAR (00-99) AND DAY (001-366))
  
   EXPIRATION DATE = YYDDD ?  (REPLY: THE YEAR AND DAY OF THE YEAR WHEN 
                                      THE DATA SET MAY BE SCRATCHED OR
                                      OVERWRITTEN AS ABOVE) 
  
    THE FOLLOWING MESSAGE WILL APPEAR ON THE CONSOLE TELEPRINTER: 
   TRANSLATE ASCII TO EBCDIC ? (REPLY: YES IF TRANSLATION IS DESIRED
                                       NO IF NO TRANSLATION DESIRED)
  
  - THE FOLLOWING MESSAGE MAY APPEAR ON THE CONSOLE TELEPRINTER:
    **UNRECOGNIZED            (RESPONSE: RE-ENTER THE CORRECTED REPLY)
  
    **LRECL MUST BE AN EVEN 
      NUMBER OF BYTES         (RESPONSE: RE-ENTER THE CORRECTED REPLY)
  
    **MUST BE <- XXX          (RESPONSE: RE-ENTER THE CORRECTED REPLY)
  
    **INVALID BLOCKING FOR    (RESPONSE: RE-ENTER THE CORRECTED LRECL AND 
     (F OR V) FORMAT RECORDS               BLKSIZE PARAMETERS)
    **INVALID INPUT DEVICE    (RESPONSE: THE UTILITY EXPECTS A DEVICE 
                                         WHOSE EQT EQUIPMENT TYPE CODE
                                         IS @17 OR LESS)
  
    **INVALID OUTPUT DEVICE   (RESPONSE: THE UTILITY EXPECTS A NINE TRACK 
                                         800 BPI MAGNETIC TAPE UNIT WHOSE 
                                         EQT EQUIPMENT TYPE CODE IS @21,
                                         @22, OR @23) 
  
    **LOAD MAGNETIC TAPE
    PAUSE                     (RESPONSE: READY THE MAGNETIC TAPE UNIT AND 
                                       PUSH RUN ON COMPUTER)
                                       UNIT PUSH RUN ON COMPUTER) 
  
    **END OF MAGNETIC TAPE**  (RESPONSE: THE FILE HAS BEEN TRUNCATED THE
                                         LAST FULL BLOCK AND THE VOLUME 
                                         CLOSED.) 
  
  - THE FOLLOWING MESSAGE WILL APPEAR ON THE CONSOLE TELEPRINTER TO 
    INDICATE THAT AN END-OF-FILE CONDITION EXISTS ON THE INPUT UNIT:
  
    *EOT                      (REPLY: /C TO INDICATE THAT THIS IS NOT THE 
                                        END OF THE INPUT DATA FILE AND
                                         THAT THE DEVICE IS READY 
                                      /E TO INDICATE THAT THIS IS THE 
                                         END OF THE INPUT DATA FILE)
  
  - THE FOLLOWING MESSAGE WILL APPEAR ON THE CONSOLE TELEPRINTER WHEN 
    THE MAGNETIC TAPE FILE HAS BEEN CLOSED: 
         **XXXX BLOCKS WERE WRITTEN** 
         STOP 
  
  ENTRY POINT(S)
  
  "GET"   - INITIATES THE TRANSFER OF ASCII CHARACTERS INTO A BUFFER
            FROM A UNIT RECORD INPUT DEVICE DEFINED BY A BCS DRIVER IN
            .IOC. 
  
  "STATG"  - CHECKS THE STATUS OF THE PREVIOUS DATA TRANSFER INITIATED
             WITH "GET" 
  
  "TRANS" - TRANSLATES BOTH 7-BIT CHARACTERS OF EACH WORD OF A BUFFER 
            ACCORDING TO A USER SUPPLIED TRANSLATE TABLE NAMED "TRTAB"
  
  "PUT"   - INITIATES THE TRANSFER OF DATA FROM A BUFFER TO A MAGNETIC
               TAPE UNIT DEFINED BY A BCS DRIVER IN .IOC. 
  
  "STATP"  - CHECKS THE STATUS OF THE PREVIOUS DATA TRANSFER INITIATED
             WITH "PUT" 
  
  "ALOC"   - ALLOCATES THE MAXIMUM BUFFER SIZE AVAILABLE IN MEMORY FOR
             THE INPUT/OUTPUT OPERATIONS
  
  "IEQT"   - ISOLATES THE EQUIPMENT TYPE CODE OF A SPECIFIED UNIT 
             REFERENCE NUMBER 
  
  "LOCAL"   - DETERMINES WHETHER A SPECIFIED UNIT IS IN LOCAL MODE
  
  INTERNAL PROCEDURES 
  
  "ENDBLOCK" - HANDLES THE TRANSFER OF A BLOCK OF DATA TO MAG TAPE. 
  
  "CLOSE"    - CLOSES THE MAGNETIC TAPE FILE. 
  
  "OUTLAB" - TRANSLATES AND WRITES TO MAGNETIC TAPE THE 80 BYTE OS/360
             LABEL INFORMATION
  
  "HDREOF"   - FORMATS THE 80 BYTE OS/360 HEADER AND TRAILER LABELS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  MODIFICATION HINTS: 
  - DIFFERENT INPUT/OUTPUT CODES CAN BE SUPPORTED BY CHANGING ONLY THE
    TRANSLATE TABLE ("TRTAB") ASSUMING THAT THE BCS INPUT DRIVER WILL 
    SUPPLY A UNIQUE MAPPING FUNCTION OF THE INPUT DATA. 
  - WITH VB RECORDS OS/360 WILL ACCEPT PHYSICAL RECORDS THAT ARE LONGER 
    THAN THE BLOCK SIZE SPECIFIED IN THE BLOCK DESCRIPTOR WORD (BOW) THE
    REMAINDER OF THE BLOCK WILL BE IGNORED.  BY MINOR MODS IT IS
    POSSIBLE TO ACCEPT LOGICAL RECORDS HAVING FEWER THAN EIGHTEEN BYTES.
    THIS IS NOT TRUE FOR FB RECORDS.
  - TO ACCEPT LOGICAL RECORDS HAVING AN ODD NUMBER OF BYTES WOULD ENTAIL
    A MAJOR RE-WRITE OF THE PROGRAMS. 
  
    LABELS               -IBM SYSTEM/360 OPERATING SYSTEM TAPE LABELS 
                          FORM C28-6680 
  
    RECORD FORMATS       -IBM SYSTEM/360 OPERATING SYSTEM SUPERVISOR
                          AND DATA MANAGEMENT SERVICES
                          FORM C28-6646 
  
    DATA FORMATS        -IBM SYSTEM/360 OPERATING SYSTEM PRINCIPLES OF
                          OPERATION 
                          FORM A22-6821 
                         -HEWLETT PACKARD BASIC CONTROL SYSTEM
                          REFERENCE MANUAL
                          FORM 02116-9017 
  
    OPERATING PROCEDURES  -HEWLETT PACKARD HP ALGOL 
                           FORM 02116-9072
                          -HEWLETT PACKARD HP ASSEMBLER 
                           FORM 02116-9014
                          -HEWLETT PACKARD BASIC CONTROL SYSTEM 
                           REFERENCE MANUAL 
                           FORM 02116-9017
                          -HEWLETT PACKARD A POCKET GUIDE TO INTERFACING
                           HP COMPUTERS 
                           FORM 5950-8718 
                          -HEWLETT PACKARD MAGNETIC TAPE SYSTEM 
                           FORM 02116-91752 
                          -HEWLETT PACKARD RELOCATABLE SUBROUTINES
                           FORM 02116-91780 
X14701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  STACK ROUTINES
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    STACK 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS SET OF SUBROUTINES ALLOWS AN ASSEMBLY LANGUAGE PROGRAM TO PERFORM
  STACK OPERATIONS.  THE PACKAGE CONTAINS THE FOLLOWING ROUTINES: CLRST,
  PUSH, PULL AND RMOVE.  CLRST CLEARS THE STACK BY SETTING THE UPPER LIMIT
  FOR THE NUMBER OF ITEMS IN THE STACK IN THE FIRST LOCATION OF THE STACK.
  IT ALSO SETS THE POINTER IN THE SECOND POSITION TO POINT TO THE FIRST 
  FREE LOCATION IN THE STACK (WHICH IS THE THIRD WORD OF THE STACK).  THE 
  UPPER LIMIT MUST BE STACK LENGTH-2.  PUSH STORES AN ITEM ONTO THE STACK 
  AND INCREMENTS THE POINTER.  PULL TAKES AN ITEM FROM THE TOP OF THE 
  STACK AND DECREMENTS THE POINTER.  RMOVE REMOVES THE TOP ITEM FROM THE
  STACK BY DECREMENTING THE POINTER.  THE PACKAGE SERVES AS A TOOL FOR
  RECURSIVE CALLS OF PROGRAMS.
  
  THESE SUBROUTINES MAYBE CONFIGURED INTO THE USER'S SYSTEM LIBRARY UNDER 
  DOS OR DOS-M.  ERROR EXITS RESULT IN CALLS TO THE EXEC. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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)
  
        CLRST 
        PUSH
        PULL
        RMOVE 
  
        CALLING SEQUENCE
  
        EXT CLRST 
        JSB CLRST 
        DEF L1         DEFINES RETURN ADDRESS 
        DEF PTRAD      DEFINES ADDRESS OF POINTER ADDRESS 
        DEF UPBND      DEFINES UPPER LIMIT
  
  STACK BSS N 
  PTRAD DEF STACK+1 
  UPBND DEC N-2 
  L1    CONTINUE
  
        EXT PUSH (OR PULL)
        JSB PUSH (OR PULL)
        DEF L2              DEFINES RETURN ADDRESS. 
        DEF PTRAD          DEFINES ADDRESS OF POINTER ADDRESS.
        DEF THING          DEFINES THING TO BE STORED INTO STACK (OR TO 
  L2    CONTINUE           BE OBTAINED FROM STACK IN PULL)
  
        EXT RMOVE 
        JSB RMOVE 
        DEF L3             DEFINES RETURN ADDRESS.
        DEF PTRAD          DEFINES ADDRESS OF POINTER ADDRESS.
  L3    CONTINUE
  
  ON CERTAIN ERRORS, CALL TO EXEC ARE MADE: 
  
  1.  STACK IS FULL AND AN ELEMENT IS TRIED TO INSERT INTO THE STACK
      "OUT OF RANGE OF STACK, PUSH" IS PRINTED AND RETURN TO CALLING
      PROGRAM IS MADE.
  
  2.  STACK IS EMPTY AND A TRY TO PULL OR REMOVE AN ELEMENT FROM THE
      STACK:
      "OUT OF RANGE OF STACK, PULL (OR RMOVE)"
      IS PRINTED AND RETURN TO CALLING PROGRAM IS MADE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X14801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  FLOATING POINT OVERLAY FOR HP BASIC 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    FLOATING POINT  BASIC 
  
  
 **LANGUAGES: 
    ASMB(ABS)   HP BASIC
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
  
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM PROVIDES AN OVERLAY FOR BASIC (HP20392) WHICH TAKES
  ADVANTAGE OF THE FLOATING POINT HARDWARE OPTION ON THE HP2100 COMPUTER. 
  THE OVERLAY RESULTS IN FLOATING POINT MACHINE CODE REPLACING BASIC
  ARITHMETIC SUBROUTINES.  THE IMPROVEMENT IN RUNNING TIME IS ON THE
  ORDER OF FIVE AS COMPARED TO THE NON-FLOATING POINT VERSION OF BASIC. 
  THIS OVERLAY IS COMPATIBLE WITH PREVIOUSLY WRITTEN USER ASSEMBLY
  ROUTINES BECAUSE BASE PAGE LINKAGE ADDRESSES ARE NOT ALTERED. 
  
  HARDWARE REQUIREMENT:  HP 2100A WITH FLOATING POINT 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  ASSEMBLE THE FIRST PROGRAM ON THE TAPE.  FLOATING POINT ASSEMBLER 
  NOT REQUIRED.  DO NOT ATTEMPT TO ASSEMBLE BASIC SOURCE PROGRAM.  WHEN 
  CONFIGURING BASIC, LOAD THE OVERLAY AFTER THE BASIC SYSTEM TAPE IF A
  COMPOSITE TAPE IS DESIRED.  OTHERWISE OVERLAY MAY BE LOADED ANYTIME 
  AFTER CONFIGURED BASIC HAS BEEN LOADED. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THE DIVIDE BY ZERO WARNING IS DISABLED.  DIVIDING BY ZERO WILL RESULT 
  IN BASIC RETURNING 1.70141E+38, FOR EITHER A POSITIVE OR NEGATIVE 
  DIVIDEND. 
X14901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS-M ABSOLUTE BINARY TAPE LOADER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    PAPER TAPE      ABSOLUTE        LOADER
  
  
 **LANGUAGES: 
    ASMB        FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS SET OF PROGRAMS, OPERATING AS A USER PROGRAM UNDER DOS-M, ENABLES
  THE USER TO PERFORM THE FOLLOWING OPERATIONS:  STORE ABSOLUTE BINARY
  TAPE IN DOS-M USER FILES OF TYPE B AND LOAD PROGRAMS FROM THESE FILES 
  INTO CORE.
  
  THIS PACKAGE REQUIRES AN HP7900 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
  
  
 **LOAD INSTRUCTIONS: 
  
  1.  COMPILE THE FIRST PROGRAM ON TAPE USING DOS-M FORTRAN COMPILER. 
      STORE RELOCATABLE BINARY IN JOB BINARY AREA OF DISC BY USING
      OPTION 99 PARAMETER.
  
  2.  ASSEMBLE THE NEXT TWO PROGRAMS ON TAPE USING DOS-M ASSEMBLER. 
      STORE RELOCATABLE BINARY IN JOB BINARY AREA OF DISC BY USING
      OPTION 99 PARAMETER.
  
  3.  LOAD FROM JOB BINARY AREA OF DISC WITH: 
  
           :PROG, LOADR DIRECTIVE 
  
      THEN MAKE PERMANENT WITH: 
  
           :STOR,P      DIRECTIVE 
  
  4.  CLEAR THE JOB BINARY AREA.
  
  5.  START AGAIN 1-2 AND 3 FOR THE OTHER PROGRAMS ON THE TAPE. 
  
  NOTE:  LOADING SHOULD BE DONE WITH THE CURRENT USER DISC SUBCHANNEL 
         ON THE SYSTEM DISC SUBCHANNEL FOR THESE PROGRAMS TO SUBSEQUENTLY 
         WORK PROPERLY WHEN EXECUTED. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS SET OF PROGRAMS, OPERATING AS A USER PROGRAM UNDER DOS-M, ENABLES
  THE USER TO PERFORM THE FOLLOWING OPERATIONS: 
  
  1.  STORE ABSOLUTE BINARY TAPE ON DOS-M USER FILE, RESERVED BY A :ST,B..
  
  2.  LOAD THESE PROGRAMS INTO CORE.  THESE PROGRAMS SHOULD BE PRODUCED 
      BY BCS OR BY ANY SYSTEM LIKE THE PREPARE BASIC. 
  
      NEVERTHELESS, THE ABSOLUTE PROGRAM DESTROYS THE DOS-M SYSTEM AND
      WE HAVE TO BOOTSTRAP ONE MORE TIME AFTER THE EXECUTION OF THIS
      ABSOLUTE PROGRAM. 
  
  OPERATING INSTRUCTIONS
  
  1.  CREATE A USER FILE TYPE-B BY THE FOLLOWING DIRECTIVE: 
  
                   : STORE, B, NAME, XXX
  
                   XXX MUST BE ONE OF THE FOLLOWING NUMBERS:
  
      65 IF THE ABSOLUTE PROGRAM TO BE LOADED OCCUPIES LESS THAN 8K 
      WORDS MEMORY
  
      130 IF THE ABSOLUTE PROGRAM TO BE LOADED OCCUPIES LESS THAN 16K 
      WORDS MEMORY
  
      195 IF THE ABSOLUTE PROGRAM TO BE LOADED OCCUPIES LESS THAN 24K 
      WORDS MEMORY
  
  2.  STORE THE ABSOLUTE TAPE IN THE RESERVED FILE BY ENTERING THE
      FOLLOWING DIRECTIVE:
  
                : PROG, BBL, XX 
  
                WHERE XX IS:
  
                 8 IF XXX WAS  65 
                16 IF XXX WAS 130 
                24 IF XXX WAS 195 
                32 IF XXX WAS 260 
  
  3.  THE PROGRAM WILL OUTPUT THE FOLLOWING MESSAGE:
  
                FILE NAME ? 
  
  4.  RESPOND BY ENTERING THE NAME OF THE FILE. 
  
                IF THE SIZE OF THE FILE DOESN'T MATCH WITH THE
                CORE SIZE IN K WORDS SPECIFIED IN THE DIRECTIVE 
                :PROG, BBL, XX
                THE PROGRAM WILL OUTPUT THE FOLLOWING MESSAGE:
  
                NAME:  ILLEGAL LENGTH 
  
                AND THEN ABORTS 
  
  5.  IN NORMAL CASE, THE PROGRAM OUTPUTS THE MESSAGE:
  
                LOAD ABSOLUTE TAPE
                BBL SUSP
                @ 
  
  6.  LOAD ABSOLUTE TAPE ON THE DEVICE LU = 5, AND RESPOND BY ENTERING
  
                :GO 
  
  7.  THE TAPE IS READ AND STORED IN THE FILE :NAME.  AT THE END OF THE 
      TAPE, THE PROGRAM TYPES:
  
                 DONE?
  
  8.  IF THERE ARE MORE ABSOLUTE TAPES TO BE LOADED (LIKE CONFIGURED SIO
      FOR EXAMPLE), PLACE THESE TAPES ON THE DEVICE AND REPLY:
  
                 NO 
  
      OTHERWISE, REPLY: 
  
                 YES
  
  9.  IF SW 15 IS SET DURING THE EXECUTION OF THIS PROGRAM, THE ABSOLUTE
      TAPE IS ALSO LISTED ON THE DEVICE LU NOT=6. 
  
      THE FORMAT OF THE LISTING IS AS FOLLOWS:
  
                 ADDRESSE : 0002  NB. DE MOTS :  121
                 00000                          0000
                   '
                   '
                   '
                           (SEE ATTACHED EXAMPLE) 
  
      ADRESSE MEANS ABSOLUTE LOAD ADDRESS OF THE BLOCK AND NB.  DE MOTS IS
      THE DECIMAL LENGTH OF THE BLOCK IN WORDS. 
  
  10. IF SW 14 IS SET, THE PROGRAM WILL OUTPUT THE FOLLOWING MESSAGE: 
  
                 FIRST INSTRUCTION TO EXECUTE ? 
  
      THE PROGRAM ASKS FOR THE FIRST INSRUCTION TO BE EXECUTED WHEN THE 
      ABSOLUTE BINARY IS LOADED INTO CORE.
  
      FOR EXAMPLE:
  
           - FOR BASIC, YOU CAN RESPOND:  24100 (JMP 100B)
           - FOR A BCS PROGRAM            24002 (JMP 2) 
  
      IN ANY CASE, YOU MUST RESPOND BY A JMP INSTRUCTION ONLY IN THE BASE 
      PAGE.  THIS INSTRUCTION WILL BE EXECUTED AFTER THE HLT 77 (SEE STEP 
       17) WHEN YOU PRESS RUN.
  
  11. THEN THE PROGRAM TYPES: 
  
                   MESSAGE TO OPERATOR ?
  
      AT LOADING TIME, YOU HAVE ONE LINE FOR AN EVENTUAL COMMENT TO 
      THE OPERATOR.  THIS LINE WILL BE REPRODUCED WHEN THE PROGRAM IS 
      LOADED INTO CORE. 
  
  12. THEN, THE PROGRAM STOPS.
  
  13. TO LOAD THESE ABSOLUTE PROGRAMS INTO CORE, YOU MUST NOW TYPE: 
  
                   :PROG, LOAD
  
  14. THE PROGRAM ASKS: 
  
                   FILE NAME? 
  
      ANSWER WITH THE FILE NAME.  IF THE SIZE OF THE FILE IS NOT 65-130 - 
      195 OR 260, THE PROGRAM WILL OUTPUT:
  
                   NAME:  ILLEGAL LENGTH
  
      AND THEN ABORTS.
  
  15. IF SW 15 IS SET, THE PROGRAM TYPES: 
  
                   FIRST INSTRUCTION TO EXECUTE ? 
  
      IT IS EXACTLY THE SAME AS THAT IN BBL PROGRAM, SO IT'S POSSIBLE,
      AT ANY TIME, TO CHANGE THIS FIRST INSTRUCTION, JUST BEFORE LOADING
      THE PROGRAM.
  
  16. THEN, THE PROGRAM TYPES THE OPERATOR'S MESSAGE AND LOADS THE
      PROGRAM INTO CORE.
  
  17. AT THE END OF LOADING OPERATION, THE COMPUTER STOPS WITH DISPLAY
      102077. 
  
      (IF PARITY ERRORS OCCUR DURING THE LOADING TIME, THE COMPUTER STOPS 
      WITH 102055). 
  
      AT THIS POINT, THE PROGRAM IS IN CORE EXACTLY LIKE WITH THE HARDWARE
      PROTECTED BBL, AND YOU CAN START THE EXECUTION. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  IF THE COMPUTER IS AN HP 2100, BEFORE TOUCHING ANY SWITCH YOU MUST
  PRESS MEMORY DATA.  IF YOU GAVE A "FIRST INSTRUCTION TO EXECUTE", YOU 
  CAN PRESS RUN ONLY.  IF YOU DID NOT GIVE THE "FIRST INSTRUCTION", YOU 
  HAVE TO LOAD PROGRAM COUNTER WITH THE CORRECT VALUE AND THEN, PRESS RUN.
  
  WHEN THE BBL PROGRAM IS RUNNING, THE TWO FOLLOWING MESSAGES MAY APPEAR
  ON THE TELEPRINTER SYSTEM:
  
                   ILLEGAL ADDRESS
  
  IF THE ABSOLUTE TAPE TAKES MORE THAN XX K WORDS DECLARED PREVIOUSLY 
  (LIKE HLT 55B IN HARDWARE BBL): 
  
                   CHECKSUM ERROR 
  
  IF A CHECKSUM ERROR IS DETECTED WHEN READING THE TAPE (LIKE HLT 11B IN
  HARDWARE BBL).
X15001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  VIRTUAL ARRAY HANDLER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    ARRAY 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE FOUR SUBROUTINES CONTAINED IN THIS PACKAGE HANDLE DATA SETS WHICH 
  ARE TOO LARGE TO FIT INTO CORE.  THIS IS ACCOMPLISHED BY MEANS OF A 
  VIRTUAL ARRAY WHICH EXTENDS 'OUT OF CORE' INTO THE DISC.  A SMALL (1K)
  CORE AREA ACTS AS A WINDOW WHICH AUTOMATICALLY MOVES ALONG THE DISC 
  FILE (IN INCREMENTS OF 1K). 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 SOURCE COPY OF THE ROUTINE IS KEPT ON THE DISC FILE .VIRT AND HAS TO
  BE COMPILED TOGETHER WITH THE CALLING PROGRAM.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  USING VIRTUAL ARRAY ROUTINES ON INTEGER OR MIXED FILES, LET DATAF BE
  A DISK FILE ORGANIZED AS FOLLOWS: 
  
  WORDS 1 - 100 (VIRAR (1) - VIRAR (50)): INTEGER (ASCII CHARACTERS)
  
  WORDS 101 + 102, 103 + 104...(VIRAR (51) ....): REAL
  
  THIS FILE CAN BE READ WITH THE FOLLOWING PROGRAM: 
  
  FTN,L 
       INTEGER FILE(3)
       DIMENSION REAR(50) 
       COMMON VIRTL(1026),INTAR(100)
       EQUIVALENCE (REAR(1),INTAR(1)) 
       DATA FILE(1),FILE(2),FILE(3)/2HDA,2HTA,2HF / 
       CALL VIROP (FILE)
       DO 1000 I=1,50 
  1000 REAR(I)=VIRAR(I) 
       WRITE (1,100) (INTAR(I),I=1,100) 
   100 FORMAT (100A1) 
       .
       .
       .
  
  
 **PROGRAM DESCRIPTION: 
  
  VIRTUAL ARRAYS
  
  A SET OF VIRTUAL ARRAY HANDLING ROUTINES HAS BEEN DEVELOPED FOR DEALING 
  WITH DATA SETS THAT ARE TOO LARGE TO FIT INTO CORE. 
  
  A VIRTUAL ARRAY EXTENDS OUT OF CORE INTO THE DISK.  A SMALL (1K) CORE 
  AREA ACTS AS A WINDOW WHICH AUTOMATICALLY MOVES ALONG THE DISK FILE 
  (IN INCREMENTS OF 1 K).  A VIRTUAL ARRAY IS ALWAYS A TYPE REAL ARRAY. 
  
  ANY DISK FILE FULFILLING THE LENGTH REQUIREMENTS (SEE: RESTRICTIONS)
  CAN BE DECLARED A VIRTUAL ARRAY BY OPENING IT 
  
            CALL VIROP (NAME) 
  
  NAME IS THE NAME OF THE DISK FILE.  IT MUST HAVE AN ASCII CHARACTER 
  STRING ASSIGNED TO IT IN THE USUAL WAY.  AFTER OPENING IT THE DISK FILE 
  CAN BE CONSIDERED AN ARRAY WITH A SUBSCRIPT RUNNING BETWEEN 1 AND (64 X 
  FILE LENGTH). 
  
  WRITING INTO THE VIRTUAL ARRAY IS DONE BY 
  
            CALL VIRIN (IX,VALUE) 
  
  WHERE IX IS THE VIRTUAL ARRAY SUBSCRIPT (INTEGER) AND VALUE IS ANY LEGAL
  FORTRAN SUBROUTINE PARAMETER (REAL).  VALUE IS BEING PLACED INTO
  POSITION IX OF THE VIRTUAL ARRAY. 
  
  READING FROM A VIRTUAL ARRAY IS DONE BY 
  
             VAR = VIRAR (IX) 
  
  WHERE VAR IS A FORTRAN VARIABLE (REAL) AND IX IS THE SUBSCRIPT OF THE 
  VIRTUAL ARRAY (INTEGER).
  
  VIRAR IS THE NAME OF THE VIRTUAL ARRAY FOR READING OPERATIONS.  VIRAR 
  CAN BE PART OF ANY LEGAL FORTRAN MATHEMATICAL EXPRESSION AND MAY BE 
  USED MORE THAN ONCE IN A STATEMENT, SUCH AS:
  
            AVER = (VIRAR (I) + VIRAR (I+1))/2. 
  CLOSING THE VIRTUAL ARRAY 
  
            CALL VIRCL
  
  THIS CAUSES VIRTUAL ARRAY OPERATIONS TO BE TERMINATED.  ALWAYS CLOSE
  A VIRTUAL ARRAY: A WRITE OPERATION ON THE VIRTUAL ARRAY DOES NOT
  NECESSARILY CAUSE A PHYSICAL WRITE ON THE DISK.  THE ROUTINE VIRCL
  EXECUTES ANY PENDING DISK OPERATIONS, THEREBY UPDATING THE DISK FILE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE VIRTUAL ARRAY HANDLER DOES NOT CHECK THE NAME AND THE SIZE OF THE 
  SPECIFIED FILE.  ATTEMPTS TO REFERENCE A NONEXISTING FILE OR TO WRITE 
  BEYOND FILE BOUNDARIES WILL RESULT IN SYSTEM RUN TIME ERROR MESSAGES
  (IT XXXXX AND FI XXXXX).
  
  
 **MISCELLANEOUS: 
  
  RESTRICTIONS
  
  THE STATEMENT:  COMMON VIRTL (1028) 
  MUST APPEAR IN THE SPECIFICATION PART OF THE MAIN LINE.  IT MUST
  PRECEDE ANY OF THE USER'S COMMONS.
  
  LENGTH
  LENGTH OF A VIRTUAL ARRAY DISK FILE:
  
            L (SECTORS) = N * 16
  
  WHERE N = 1,2....32     (16 SECTORS HOLD 1 K OF DATA) 
  
  DUE TO THE RANGE OF THE INTEGER VARIABLES VIRTUAL ARRAYS ARE LIMITED
  TO 512 DISK SECTORS (32 K REAL ELEMENTS). 
  
  VIRAR (IX) MUST NOT APPEAR ON THE LEFT SIDE OF AN ASSIGNMENT STATEMENT. 
  
  VIRAR (IX) MUST NOT BE USED IN AN IMPLIED DO.  SEE SAMPLE PROGRAM 
  APPENDIX A. 
  
  A VIRTUAL ARRAY IS ALWAYS REAL AND ONE-DIMENSIONAL.  FOR USING IT WITH
  INTEGER AND MIXED FILES SEE APP. B. 
  
  RECOMMENDATIONS 
  
  MOVING THE SCANNING WINDOW UP AND DOWN THE VIRTUAL ARRAY REQUIRES DISK
  OPERATIONS AND IS THEREFORE TIME CONSUMING.  ALWAYS TRY TO KEEP WITHIN
  THE PRESENT 1 K WINDOW.  FOR EXAMPLE: 
  
            DO 1000 I = 1, 1000 
  
       1000 SUM = SUM + VIRAR (I) + VIRAR (I+1000)
  
  WILL TAKE FOREVER.
  
  BETTER: 
  
          DIMENSION HELP (1000) 
          . 
          . 
          . 
          DO 1000 I = 1,1000
  
     1000 HELP (I) = VIRAR (I)
  
          DO 2000 I = 1,1000
     2000 SUM = SUM + HELP (I) + VIRAR (I+1000) 
X15101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MPY FAST MICROCODED MULIPLY INSTRUCTION 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    MICROCODE       WCS 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS MICROCODED MULTIPLY INSTRUCTION IS LIKE THE STANDARD HP2100
  MULTIPLY INSTRUCTION (OPCODE 100200) EXCEPT THAT IT IS TWICE AS FAST
  (I.E., 5.9 MICROSECONDS INSTEAD OF 10.8 MICROSECONDS).  BOTH
  INSTRUCTIONS MULTIPLY TWO 16 BIT SIGNED OPERANDS AND PRODUCE IDENTICAL
  32 BIT RESULTS. 
  
  THIS INSTRUCTION IS USEFUL WHEN INTEGER MULTIPLIES FORM AN APPRECIABLE
  FRACTION OF A PROGRAM'S EXECUTION TIMING. 
  
  THIS PROGRAM REQUIRES AN HP2100 WITH WRITABLE 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  1.  USE BCS TO PRODUCE AN ABSOLUTE TAPE CONTAINING THE TEST1 PROGRAM
      AND THE STANDARD MICRO-DEBUG-EDITOR.
  
  2.  LOAD THE ABSOLUTE TAPE AND START AT ADDRESS P=2.
  
  3.  RESPOND TO THE "COMMAND?" DIRECTIVE WITH REQUEST TO 
  
      A.  LOAD AND MPY MICROCODE PAPER TAPE 
  
      B.  WRITE THE MICROCODE TO WCS
  
      C.  EXECUTE THE TEST1 TEST PROGRAM (IT WILL HALT IF THE ANSWER IS 
          COMPUTED INCORRECTLY) 
  
      D.  IF DESIRED, THE USER CAN MODIFY THE PARAMETERS AGR1 AND ARG2
          WITHIN TEST1 AND RE-EXECUTE THE TEST. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
  ABS 105140B  THIS INSTRUCTION MULTIPLIES THE A BY THE B REGISTER AND
               LEAVES THE DOUBLE LENGTH RESULT IN BA (B=MSB, A=LSB).
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  WCS MUST BE LOADED WITH THIS MICROPROGRAM BEFORE THE 105140 OPCODE IS 
  USED. 
  
  THE USER MAY REASSIGN THE OPCODE TO ANY OTHER VALUE BY SIMPLY MODIFYING 
  THE SOURCE PROGRAM AND RE-MASSEMBLING.
  
  THIS INSTRUCTION REQUIRES 5.5 USEC PLUS WHATEVER IS REQUIRED FOR JUMP-
  TABLE CONVENTIONS.  THIS OVERHEAD WILL RANGE BETWEEN 0.0 USEC (IF WCS 
  IS THE ENTRY MODULE) AND 1.2 USEC (IF THE FLOATING POINT MODULE 1 IS
  THE ENTRY MODULE AND WCS UTILIZES BOTH A PRIMARY AND A SECONDARY JUMP-
  TABLE FOR THIS OPCODE.
X15201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  STRUCTURAL ENGINEERING PROBLEM SOLVER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ENGINEERING 
  
  
 **LANGUAGES: 
    ASMB        FTN4
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  STRUCTURAL ENGINEERING SYSTEM SOLVER (STRESS) GIVES STRUCTURAL ENGINEERS
  COMPUTER PROBLEM SOLVING ADVANTAGES WITHOUT REQUIRING COMPUTER
  PROGRAMMING IN THE USUAL SENSE. IT IS A PROGRAMMING SYSTEM COMPOSED OF
  TWO PARTS: A LANGUAGE FOR DESCRIBING A PROBLEM TO THE COMPUTER AND A
  PROGRAM FOR INTERPRETING THIS LANGUAGE AND SOLVING THE PROBLEM. THE 
  LANGUAGE USES A VOCABULARY FAMILIAR TO STRUCTURAL ENGINEERS, ALLOWING 
  THEM TO INPUT PROBLEMS BY SPECIFYING THE TYPE AND SIZE, THE PHYSICAL
  DIMENSIONS, AND THE LOADS OF A STRUCTURE. STRESS WILL OUTPUT INFORMATION
  ON STRUCTURES WITH PRISMATIC MEMBERS IN TWO OR THREE DIMENSIONS AND WITH
  EITHER PINNED OR RIGID JOINTS. THE EFFECTS OF CONCENTRATED OR 
  DISTRIBUTED LOADS, DISPLACEMENT, AND TEMPERATURE ARE ALSO ANALYZED. 
  
  STRESS CONSISTS OF FORTRAN AND ASSEMBLY LANGUAGE ROUTINES WHICH ARE 
  OPERABLE UNDER A DOS-M ENVIRONMENT ON A 16K (MINIMUM) MACHINE. INPUT IS 
  ON CARDS AND OUTPUT IS ON A 120 COLUMN LINE PRINTER.
  
  REQUIRED MANUAL: STRUCTURAL ENGINEERING SYSTEM SOLVER (STRESS) FOR THE
  IBM 1130 VERSION 2, USER'S MANUAL; PROGRAM NUMBER 1130-EC-03X.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE SAME NAME AS THE
     DOCUMENTATION FILE WITH THE LAST 2 DIGITS INCREMENTED. 
     E.G.: A00101, A00102, A00103, ETC.)
  
  FILE#  1: DOCUMENTATION FILE
  FILE#  2: FORTRAN SOURCE
  FILE#  3: ASMB SOURCE 
  FILE#  4: ASMB SOURCE 
  FILE#  5: ASMB SOURCE 
  FILE#  6: ASMB SOURCE 
  FILE#  7: ASMB SOURCE 
  FILE#  8: ASMB SOURCE 
  FILE#  9: ASMB SOURCE 
  FILE# 10: ASMB SOURCE 
  FILE# 11: ASMB SOURCE 
  FILE# 12: ASMB SOURCE 
  FILE# 13: SAMPLE INPUT DECK 
  
  
 **LOAD INSTRUCTIONS: 
  
  EACH OF THE 11 SOURCE FILES SHOULD BE STORED UNDER A DIFFERENT NAME ON
  THE DISC. BELOW IS AN EXAMPLE PRINTOUT ON THE CRT OR TTY: 
  
    :PU,SSTRE,SSPA1,SSPA2,SSPA4,SSA1A,SDATA,SPACK,SUNPK,SMCHR,SSLOC,SDPAC 
  (6496 LINES) :ST,S,SSTRE,(LU OF MAG TAPE UNIT)
    DONE? 
    YES 
  (88 LINES)   :ST,S,SSPA1,(LU OF MAG TAPE UNIT)
                   .
                   .
                   .
      STRESS IS NOW ON DISC IN 11 SOURCE FILES. IN ORDER TO OBTAIN THE
      RELOCATABLES FOR LOADING STRESS, THE FOLLOWING LIST OF INSTRUCTIONS 
      SHOULD BE FOLLOWED BY TYPING THEM ON THE CRT OR BY MAKING A TAPE OR 
      DECK OF CARDS FOR BATCH OPERATION OF THE COMPUTER.
  :JOB
  :PU,STRES,SPH1A,START,S001A,S002A,SOJTS,SOMEM,SEXT1,SOLDS,SOREL,SPH1B,
   SLNK2,SLNK3,SLNK5,SLNK6,SLNK7,SLNK8,SPTIF,SLNK9,SLN10,STRF1,RFTN4,RASMB
  :JF,SSTRE 
  :PROG,FTN4,2,1,99 
  :ST,R,RFTN4 
  :JOB
  :JF,SSPA1 
  :PROG,ASMB,2,1,99 
  :JF,SSPA2 
  :PROGR,ASMB,2,1,99
     .
     .
     .
  :TY (IF IN BATCH MODE)
      STRESS IS NOW READY FOR EXECUTION. TO START STRESS THE FOLLOWING
      COMMAND SHOULD BE TYPED ON THE CRT OR TTY:
              :PR,START 
      THE DATA DECK SHOULD BE IN THE CARD READER AT THIS TIME.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
            MODIFICATIONS TO IBM STRESS MANUAL
  
  
  1. DISREGARD SWITCH SETTINGS AND MEANINGS IN MANUAL (PAGE 45) 
  
     SW 3 ON IMPLIES - PRINT OUTPUT 
     SW 4 ON IMPLIES - ALL FORCES ON EACH MEMBER FOR ALL LOADINGS 
                         WILL BE GROUPED AND PRINTED TOGETHER 
     SW 5 ON IMPLIES - INTERNAL MEMBER FORCES ARE TO BE PRINTED 
  
  2. IF SW 5 IS ON, INTERNAL MEMBER FORCES ARE REQUIRED. CARDS TELLING THE
     NUMBER OF SECTIONS AND THE MEMBERS FOR WHICH INTERNAL FORCES ARE TO
     BE CALCULATED MUST BE PLACED AFTER THE 'SOLVE' CARD. THE CARD FORMAT 
     IS FREE FIELD AND IS AS FOLLOWS: 
  
         LENGTHS N MEMBERS L (OR L THRU M) END
  
     THE 'LENGTHS' IS THE NUMBER OF LENGTHS (MAX OF 20) THE BEAM IS TO BE 
     BROKEN INTO FOR INTERNAL FORCE SUMMATION, I.E., N=3 WOULD GIVE FORCES
     AT THIRD POINTS. 'MEMBERS' TELLS FOR WHICH MEMBERS INTERNAL FORCES 
     ARE TO BE TABULATED. ALL LOADING CASES WILL BE GIVEN FOR A MEMBER. 
  
     THE USER IS LIMITED TO A MAXIMUM OF 20 SECTIONS ALONG A MEMBER. THE
     PROGRAM CAN HANDLE COMBINATION LOADS UP TO THE SECOND LEVEL OF 
     EMBEDDED COMBINATIONS BUT NOT BEYOND. I.E., A COMBINATION LOADING
     WHICH CONTAINS ANOTHER COMBINATION LOADING CAN BE HANDLED, UNLESS THE
     SECOND COMBINATION ALSO CALLS ON A COMBINATION LOAD. IF THIS HAPPENS 
     THE PROGRAM PRINTS "LOADING N HAS TOO MANY EMBEDDED COMBINATIONS", 
     AND CALLS STRESS BACK INTO CORE TO CONTINUE WITH A NEW PROBLEM.
     DO NOT USE COLUMN 72.
  
     INPUT- OUTPUT DESCRIPTION: INTERNAL FORCES ARE PRINTED FOR ALL 
     LOADING CASES ON A MEMBER. THE SIGN - CONVENTION IS STRESS MEMBER
     (LOCAL) COORDINATE SYSTEM FOR THE 'END' END OF A MEMBER. 
     FOR EXAMPLE, IF MEMBER 25 IS SPECIFIED UNDER 'MEMBER INCIDENCES' AS
     25 50 51, THE FORCES AT ANY POINT X ALONG THE MEMBER WOULD BE SUMMED 
     FROM JOINT 50 AS THOUGH THE POINT AT X WAS THE MEMBER END POINT. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  1. HP STRESS WORKS WITH THE FOLLOWING UNIT MEMBERS: 
  
     LU  EQUIPMENT
      1  CRT OR TTY 
      6  LINE PRINTER 
      8  CARD READER
  
  2. AT SYSTEM GENERATION TIME, IT IS RECOMMENDED TO EXCLUDE EFMP FROM THE
     DISC PACK AND ALSO TO PUT THE FOLLOWING ROUTINES IN CORE FOR MORE
     EFFICIENT OPERATION OF STRESS: 
  
         $SRCH
         $EX05
         $EX11
         $EX18
  
  3. THE SAME PROBLEM WAS RUN ON THE IBM 1130 AND HP 2100, WITH THE IBM 
     1130 TAKING 4 HOURS AND THE HP 2100 TAKING 45 MINUTES. 
X15301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2000F BASIC FOR DOS-M/DOS III
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    BASIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS III 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DOS-M/DOS III BASIC IS ESSENTIALLY A SINGLE TERMINAL VERSION OF HP 2000F
  TIME-SHARED BASIC.  IT RUNS UNDER THE DOS-M OR DOS III OPERATING SYSTEM,
  GIVING THE USERS OF THESE SYSTEMS A POWERFUL, YET EASY TO USE COMPUTING 
  FACILITY.  FEATURES OF DOS-M/DOS III BASIC NOT FOUND IN OTHER DOS-M 
  BASIC'S INCLUDE:  STRING VARIABLES, FORMATTED OUTPUT, USER PROGRAM DISC 
  STORAGE AND RETRIEVAL, USER DATA FILES, PROGRAM CHAINING, ERROR MESSAGES
  INSTEAD OF ERROR NUMBERS, LINE PRINTER SUPPORT, BETTER PROGRAM EDITING
  FACILITIES, HIGH-SPEED PAPER TAPE INPUT AND OUTPUT OF PROGRAMS, MIN AND 
  MAX OPERATORS, MORE FLEXIBLE INPUT WITH ENTER STATEMENT, MULTI-BRANCH 
  GOTO AND GOSUB STATEMENTS, ADDITIONAL FUNCTIONS, SOURCE INPUT FROM ANY
  INPUT DEVICE VIA "LOAD" COMMAND, ETC. 
  
  ANOTHER IMPORTANT CONSIDERATION IS THE PROVISION FOR RETRIEVING BASIC 
  PROGRAMS FROM 2000F TIME-SHARED SYSTEM DUMP TAPES.  THIS GIVES THE DOS-M
  /DOS III USER ACCESS TO THE GREAT NUMBER OF USEFUL HP BASIC LIBRARY 
  PROGRAMS AND ALLOWS EASY TRANSFER OF OTHER USER-DEVELOPED PROGRAMS FROM 
  A TIME-SHARED SYSTEM TO A DOS ENVIRONMENT.  USER DATA FILES MAY ALSO
  BE TRANSFERRED FROM SYSTEM TO SYSTEM.  TO MAKE THESE CONVERSIONS THE
  DOS-M/2000C TSB FILE HANDLER, HP 24228, MUST BE USED IN CONJUNCTION 
  WITH SPECIAL ROUTINES INCLUDED IN THIS PACKAGE. 
  
  CURRENTLY, DOS-M/DOS III BASIC REQUIRES AT LEAST 14K WORDS OF MEMORY
  IN ADDITION TO SYSTEM REQUIREMENTS.  THEREFORE, A CPU WITH AT LEAST 
  24K WILL BE NECESSARY.  (A 32K CPU GIVES THE USER MORE PROGRAM SPACE
  THAN IS AVAILABLE ON THE 2000F.)
  
  A TIME BASE GENERATOR IS NECESSARY IF THE TIME COMMAND, TIM( ) FUNCTION,
  OR TIMED ENTER WILL BE USED.
  
  SEE "2000F: A GUIDE TO TIME-SHARED BASIC", HP ORDER NUMBER 02000-90044
  FOR DETAILED INFORMATION ABOUT THE LANGUAGE AND PROGRAM 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: SOURCE
  FILE#  3: SOURCE(CONTINUED) 
  FILE#  4: SOURCE(CONTINUED) 
  FILE#  5: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  AN ATTEMPT HAS BEEN MADE TO DUPLICATE 2000F TIME-SHARED BASIC AS
  CLOSELY AS POSSIBLE.  THEREFORE, THE USER IS REFERRED TO "2000F:  A 
  GUIDE TO TIME-SHARED BASIC" (HP ORDER NUMBER 02000-90044) FOR DETAILED
  INFORMATION ABOUT THE LANGUAGE AND PROGRAM EXECUTION.  ONLY DIFFERENCES 
  BETWEEN 2000F AND DOS-M/DOS III BASIC WILL BE NOTED HERE. 
  
  TO RUN DOS-M/DOS III BASIC WITH THE SYSTEM CONSOLE AS THE USER TERMINAL 
  TYPE: 
            :PR,BASIC 
  
  TO RUN WITH ANOTHER CONSOLE AS THE USER TERMINAL TYPE:
  
            :PR,BASIC,(LU # OF CONSOLE) 
  
  IN EITHER CASE, BASIC RESPONDS WITH "READY", AND THE USER MAY TYPE
  PROGRAM STATEMENTS AND COMMANDS AS DESCRIBED IN "2000F: A GUIDE TO
  TIME-SHARED BASIC" WITH THE FOLLOWING EXCEPTIONS: 
  
       1.  THE "LOG IN" PROCEDURE IS NOT USED.
  
       2.  THE "BREAK" KEY IS NOT USED WITH DOS-M/DOS III BASIC.  TO STOP 
           A LISTING, RUNNING PROGRAM, OR OTHER LENGTHY OPERATION, SET
           BIT 15 OF THE SWITCH REGISTER ON.  THIS WILL TERMINATE THE 
           CURRENT OPERATION (EXCEPT FOR A RUNNING PROGRAM IF THE "BRK( )"
           FUNCTION HAS DISABLED "BREAK").
  
       3.  THE "ECHO" COMMAND IS NOT USED.
  
       4.  THE "PUNCH" AND "XPUNCH" COMMANDS PUNCH THE CURRENT PROGRAM ON 
           THE PAPER TAPE PUNCH (MUST BE LU #4).
  
       5.  THE "TAPE" COMMAND READS A PROGRAM TAPE FROM THE PHOTO-READER
           (MUST BE LU # 5).  IT EXPECTS A SPECIAL CHARACTER, CNTL-Z
           (Z TYPED WHILE HOLDING DOWN THE CNTL KEY), AT THE END OF THE 
           TAPE.  "PUNCH" AND "XPUNCH" PROVIDE THIS TERMINAL CHARACTER
           AUTOMATICALLY.  A TAPE PUNCHED ON A 2000 TIME-SHARED SYSTEM
           SHOULD HAVE THIS CHARACTER PUNCHED AFTER THE TRAILER AND 
           ANOTHER TRAILER PRODUCED FOLLOWING IT BEFORE THE TAPE IS 
           REMOVED FROM THE TERMINAL. 
  
       6.  NO MESSAGES ARE ISSUED ON THE STATUS OF THE LINE PRINTER 
           EXCEPT "LP FREE" WHEN A LISTING OR PROGRAM COMPLETES.
  
       7.  THE "TIME" COMMAND WORKS ONLY IF A TIME-BASE GENERATOR IS IN 
           THE SYSTEM.
  
       8.  THE "MESSAGE" COMMAND IS NOT USED. 
  
       9.  THERE IS NO DISTINCTION BETWEEN USER LIBRARY, GROUP LIBRARY, 
           AND SYSTEM LIBRARY.  ALL PROGRAM AND DATA FILES ARE USER 
           LIBRARY FILES.  THE "LIBRARY" AND "GROUP" COMMANDS ARE NOT 
           USED.
  
      10.  FOR THE "TIM( )" FUNCTION TO WORK PROPERLY, TWO THINGS ARE 
           REQUIRED.
  
           A.  A TIME-BASE GENERATOR MUST BE IN THE SYSTEM IF HOURS AND 
               MINUTES ARE DESIRED. 
  
           B.  A SPECIALLY FORMATTED ":DATE" DIRECTIVE MUST BE GIVEN TO 
               THE DOS-M OR DOS III SYSTEM IF THE DAY AND YEAR ARE
               DESIRED. 
  
               :DA,XXX/YY,M,N 
  
               WHERE XXX IS A THREE-DIGIT NUMBER GIVING THE CURRENT DAY 
               OF THE YEAR, AND YY IS THE YEAR OF THE CENTURY.  M IS THE
               CURRENT HOUR AND N THE CURRENT MINUTE OF THE DAY.
  
               :DA032/73,9,30 FOR FEB. 1, 1973 AT 9:30 AM 
  
      11.  CURRENTLY A MAXIMUM OF 31 PROGRAMS AND DATA FILES ALLOWED. 
  
      12.  A CNTL-L (L TYPED WHILE HOLDING DOWN THE CNTL KEY) IN AN OUTPUT
           STRING CAUSES A PAGE EJECT WHEN IT IS PRINTED ON THE LINE- 
           PRINTER. 
  
      13.  A NEW COMMAND, "LOAD-8", ALLOWS SOURCE STATEMENTS TO BE INPUT
           FROM A DEVICE OTHER THAN THE TTY.  FOR EXAMPLE, "LOAD-8" WOULD 
           INPUT SOURCE FROM LU #8.  "LOAD" ALONE DEFAULTS TO LU#5. 
           LOADING STOPS WHEN AN END-OF-FILE OR VALID COMMAND IS
           ENCOUNTERED IN THE SOURCE STREAM.
  
  BFILE 
  
  BFILE INITIALIZES A DOS-M OR DOS III FILE FOR USE BY BASIC.  THE USER 
  MUST RESERVE SPACE ON THE DISC FOR THIS FILE BY CREATING A FILE WITH THE
  ":ST,B,$FILS,N" DIRECTIVE.  ("$FILES" MUST BE ON THE SAME DISC SUB- 
  CHANNEL AS BASIC AND ITS SEGMENTS, BFILE, AND CFILE).  N IS THE NUMBER
  OF SECTORS THAT THE USER WISHES TO RESERVE FOR BASIC PROGRAM AND DATA 
  FILE STORAGE.  THE FILE IS THEN INITIALIZED BY RUNNING BFILE: 
  
       :PR,BFILE
  
  THIS BUILDS AN EMPTY DIRECTORY IN THE FIRST TWO SECTORS OF "$FILS". 
  (TWO SECTORS OF DIRECTORY ALLOW SPACE FOR UP TO 31 PROGRAMS OR DATA 
  FILE ENTRIES.)
  
  BFILE ISSUES AN ERROR MESSAGE IF A FILE NAMED "$FILS" DOES NOT EXIST
  OR IF IT IS LESS THAN THREE SECTORS LONG.  IF BFILE IS RUN AND IT FINDS 
  A DIRECTORY ALREADY IN "$FILS", IT ASKS "OK TO PURGE BASIC FILES?" AND
  WAITS FOR A RESPONSE FROM THE USER.  A RESPONSE OF "Y" INFORMS BFILE
  THAT IS SHOULD DESTROY THE OLD DIRECTORY AND CREATE A NEW ONE.  A 
  RESPONSE OF "N" TERMINATES BFILE WITHOUT FURTHER ACTION.
  
  CFILE 
  
  CFILE, USED IN CONJUNCTION WITH THE DOS-M/2000C FILE HANDLER, GIVES THE 
  USER THE CAPABILITY OF TRANSFERRING PROGRAMS AND DATA FILES BETWEEN A 
  2000C/F TSB SYSTEM AND A DOS-/DOS III SYSTEM.  THE FILE HANDLER CONVERTS
  PROGRAM AND DATA FILES FROM 2000C/F DUMP TAPES TO DOS-M/DOS III DISC
  FILES.  IT ALSO TRANSFERS PROPERLY FORMATTED DOS-M/DOS III DATA FILES 
  TO MAGNETIC TAPE FOR SUBSEQUENT LOADING ON A 2000C/F TSB SYSTEM.  CFILE 
  CONVERTS THE DOS-M/DOS III FILES CREATED BY THE FILE HANDLER TO BASIC 
  FILES WITHIN "$FILS".  CFILE ALSO CONVERTS BASIC FILES WITHIN "$FILS" 
  TO DOS-M/DOS III FILES THAT ARE FORMATTED FOR THE TSB FILE HANDLER. 
  
  CFILE IS RUN BY TYPING: 
  
       :PR,CFILE
  
  CHECK IS FIRST MADE TO SEE THAT A FILE NAMED "$FILS" EXISTS AND HAS 
  BEEN INITIALIZED BY BFILE.  IF NOT, AN ERROR MESSAGE IS PRINTED AND 
  CFILE TERMINATES.  IF "$FILS" IS READY, CFILE REQUESTS WHICH OPTION 
  IS DESIRED: 
  
       SELECT OPTION: 
  
         1 = DOS FILE TO BASIC
         2 = BASIC FILE TO DOS
  
  THE USER RESPONDS WITH "1" OR "2", FOLLOWED BY CARRIAGE RETURN, LINE- 
  FEED.  IF A RESPONSE OTHER THAN "1" OR "2" IS GIVEN, CFILE REPEATS THE
  OPTION REQUEST. 
  
  IF OPTION "1" IS SELECTED:
  
       CFILE TYPES "FILENAME?" AND WAITS FOR THE USER TO TYPE THE NAME
       OF THE DOS FILE THAT IS TO BE CONVERTED TO A BASIC FILE WITHIN 
       "$FILS".  THE USER TYPES THE FILENAME OR "/E".  "/E" TERMINATES
       CFILE.  IF A FILENAME IS TYPED, CFILE CHECKS TO SEE THAT IT EXISTS.
       ITS SIZE IS CHECKED AND THE DIRECTORY IN "$FILS" IS EXAMINED TO SEE
       IF THERE IS SPACE FOR ANOTHER ENTRY.  IF SO, AN ENTRY IS BUILT FOR 
       THE NAMED FILE AND IT IS COPIED TO "$FILS".  OTHERWISE, AN ERROR 
       MESSAGE IS PRINTED AND CFILE TERMINATES.  AFTER A SUCCESSFUL FILE
       COPY, CFILE REPEATS THE QUESTION "FILENAME?" AND THE PROCESS 
       CONTINUES AS ABOVE.
  
  IF OPTION "2" IS SELECTED:
  
       BEFORE RUNNING CFILE, THE USER SHOULD CREATE AN ASCII DOS DATA 
       FILE LARGE ENOUGH TO HOLD THE BASIC DATA FILE TO BE CONVERTED. 
       TO CALCULATE THE NUMBER OF SECTORS NEEDED, DOUBLE THE NUMBER OF
       RECORDS IN THE BASIC FILE AND ADD ONE.  (E.G. IF THE BASIC FILE
       HAS 5 RECORDS, :ST,A,FILENAME,11) THE NAME OF THE DOS FILE MUST BE 
       THE SAME AS THE FIRST FIVE CHARACTERS OF THE BASIC FILENAME. 
  
       CFILE TYPES "FLENAME?" AND WAITS FOR THE USER TO TYPE THE NAME OF
       THE BASIC FILE THAT IS TO BE CONVERTED TO A DOS FILE.  THE USER
       TYPES A FILENAME OR "/E".  "/E" TERMINATES CFILE.  IF A FILENAME 
       IS TYPED, CFILE CHECKS TO SEE THAT IT EXISTS WITHIN "$FILS", THAT
       IT IS NOT A PROGRAM FILE, AND THAT A DOS FILE OF THE APPROPRIATE 
       NAME AND SIZE ALSO EXISTS.  ERROR MESSAGES ARE PRINTED IF ANY OF 
       THESE CONDITIONS ARE NOT MET AND CFILE TERMINATES.  IF ALL IS WELL,
       CFILE PRINTS "ENTER USER ID" AND WAITS FOR THE USER'S RESPONSE.
       THE USER MUST ENTER THE TSB USER ID INTO WHICH HE WANTS THE FILE 
       TO BE TRANSFERRED.  THE FILE IS THEN CONVERTED TO A DOS FILE AND 
       FORMATTED FOR THE FILE HANDLER.  THEN THE QUESTION "FILENAME?" IS
       REPEATED AND PROCESSING CONTINUES AS DESCRIBED ABOVE.
  
  
   TO USE BASIC:
  
  1.  LOAD BASIC AS DESCRIBED IN OPERATING PROCEDURES BELOW.
  
  2.  RUN BASIC:
                     :PR,BASIC
  
  3.  AFTER "READY" IS PRINTED, TYPE YOUR PROGRAM.
  
  4.  TYPE "RUN". 
  
  5.  TYPE:          BYE
  
  6.  BASIC WILL TERMINATE WITH THE FOLLOWING MESSAGE:
  
           XXX MINUTES OF TERMINAL TIME  WHERE XXX IS THE NUMBER OF WHOLE 
                                         MINUTES THAT BASIC HAS BEEN
                                         RUNNING OR "000" IF NO TIME-BASE 
                                         GENERATOR IS IN THE SYSTEM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR MESSAGES ARE CONTAINED IN THE REFERENCES LISTED IN THE SECTION
  ON LITERATURE REFERENCE UNDER "MISCELLANEOUS".
  
  IF A COMMAND IS GIVEN TO DOS-M/DOS III BASIC THAT REQUIRES DISC STORAGE,
  A CHECK IS MADE TO SEE THAT A DOS FILE NAMED "$FILS" EXISTS AND HAS BEEN
  INITIALIZED WITH BFILE.  IF NOT, THE MESSAGE "$FILS NOT INITIALIZED"
  IS PRINTED. 
  
  
 **MISCELLANEOUS: 
  
  "CSAVE"'D PROGRAMS MAY NOT BE TRANSFERRED FROM A 2000 SYSTEM TO DOS-M/
  DOS III BASIC.
  
  VDR00 (MP 20985) MUST BE USED AS THE TELETYPE DRIVER, NOT DVR05.
  
  (BASIC REQUIRES THE "BINARY" I/O CAPABILITIES OF DVR00, WHICH ARE NOT 
  INCLUDED IN DVR05.)  BASIC (AND ITS SEGMENTS), BFILE, CFILE, AND $FILS
  MUST ALL RESIDE ON THE SAME DISC SUBCHANNEL.
  
  NOTE:SOME VERSIONS OF THE STANDARD DOS III RELOCATING LOADER WILL NOT 
       LOAD BASIC PROPERLY, EVEN THOUGH THEY SUPPORT CURRENT PAGE LINKING.
       USE THE LOADER INCLUDED IN THIS PACKAGE IF YOU HAVE BASE PAGE OVER-
       FLOW PROBLEMS. 
  
  LITERATURE REFERENCE: 
  
    2000F: A GUIDE TO TIME-SHARED BASIC, HP 02000-90044 
    DOS-M/2000C TSB FILE HANDLER, HP SMALL PROGRAMS MANUAL 5951-1381
X15401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DYNAMIC LOAD OF FAST FORTRAN PROCESSOR TO WCS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    MICROCODE       FORTRAN         WCS 
  
  
 **LANGUAGES: 
  
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-3 
  
 **MEMORY REQUIREMENTS: 
  12K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE ALLOWS THE DOS-M/DOS-III USER TO DYNAMICALLY LOAD THE FAST 
  FORTRAN PROCESSOR (FFP) TO WCS.  THE PACKAGE CONSISTS OF TWO I/O UTILITY
  PROGRAMS, THE DOS WCS I/O UTILITY ROUTINE (HP 2433), THE FFP SOURCE FOR 
  CONTROL STORE MODULES #2 AND #3, AND AN FFP OVERLAY ROUTINE.
  
  ONE UTILITY PROGRAM READS A BINARY PAPER TAPE OF FFP AND STORES IT INTO 
  A DISC FILE.  FFP FOR MODULES #2 AND #3 ARE STORED IN TWO SEPARATE
  FILES.  WHEN FFP IS REQUIRED, THE USER NEEDS ONLY TO EXECUTE THE SECOND 
  UTILITY PROGRAM AND THE FFP FILES WILL BE WRITTEN TO WCS.  THIS SECOND
  UTILITY MUST BE LOADED WITH THE WCS I/O ROUTINE.
  
  THE OVERLAY ROUTINE CONSISTS OF PSEUDO ENTRY POINTS OF THE RELOCATABLE
  LIBRARY AND IS TO BE LOADED WITH THE FORTRAN PROGRAM USING FFP. 
  
  THIS PACKAGE REQUIRES THE FOLLOWING HARDWARE:  A MINIMUM OF 12K CORE, 
  A DISC, PAPER TAPE READER AND PUNCH, LINE PRINTER, CONSOLE TERMINAL, THE
  FLOATING POINT FIRMWARE (HP 12901A), AND TWO WRITABLE CONTROL STORES
  (HP12908B). 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  CREATE TWO BINARY FILES ON DISC WITH AT LEAST 5 SECTORS EACH: 
      FFP1 AND FFP2.
  
  2.  MOUNT 2 WCS CARDS.
  
  3.  ASSEMBLE THE SOURCE OF FFP FOR BOTH MODULES #2 AND #3.
  
  4.  COMPILE THE PROGRAM A, SETP1 AND SETP2 SEPARATELY.  LOAD WITH THE 
      LOADR AND STORE THE PROGRAMS.  EXECUTE.  SETP1 LOADS THE FFP BINARY 
      TAPE FOR MODULE #2 IN THE FILE FFP1.  SETP2 LOADS THE FFP BINARY
      TAPE FOR MODULE #3 IN THE FILE FFP2.
  
  5.  COMPILE THE PROGRAM B, RUN THE LOADR WITH THE WCS I/O UTILITY 
      ROUTINE, AND STORE THE PROGRAM.  EXECUTE AND FFP WILL BE LOADED 
      TO WCS. 
  
  NOW YOU ARE READY TO EXECUTE A FORTRAN PROGRAM REQUIRING FFP.  COMPILE
  THE FORTRAN PROGRAM AND INSERT OR ENTER THE OVERLAY ROUTINE DURING THE
  EXECUTION OF LOADR. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  AT THE END OF EXECUTION PROGRAM A DISPLAYS THE FOLLOWING MESSAGES:
  
      A.  I/O ERR ET EQT #03 - INDICATES END OF PAPER TAPE
  
      B.  WORD COUNT = XXX - INDICATES THE NUMBER OF WORDS WRITTEN ON 
                             DISC 
  
  PROGRAM B USES THE NUMBER OF WORDS XXX TO READ A DISC FILE INTO A CORE
  BUFFER AND THE NUMBER OF WORDS XXX/2 TO WRITE THE MICROPROGRAM FROM A 
  CORE BUFFER TO WCS. 
  
  
 **MISCELLANEOUS: 
  
  MAKE SURE THAT THE WCS JUMPER BOARD IS CONNECTED PROPERLY.  MAY RUN INTO
  MEMORY PROTECT PROBLEMS IF THE MAIN CPU DOES NOT PUT OUT 4.85 VOLTS OF
  POWER SUPPLY. 
X15501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  OCTAPUS FOR CASSETTE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    DUMP            ASSEMBLER       ABSOLUTE
    MEMORY
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SELF-CON
  
 **MEMORY REQUIREMENTS: 
  1K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  'OCTASET' IS A TROUBLESHOOTING AID FOR COMPUTER SERVICE ENGINEERS AND 
  PROGRAMMERS.  IT ELIMINATES TIME CONSUMING SWITCH REGISTER TOGGLING 
  BY PERFORMING THE FOLLOWING FUNCTIONS ON-LINE IN REAL TIME: 
  
  
       ASSEMBLY INTO CORE 
       WRITE ABSOLUTE TAPE FROM CORE
       LOAD ABSOLUTE TAPE TO CORE 
       VERIFY ABSOLUTE TAPE TO CORE 
       LIST MEMORY BOUND OF ABSOLUTE TAPE 
       DUMP CORE TO TELEPRINTER (OCTAL & INVERSE ASSEMBLY)
       JUMP TO ANY LOCATION IN CORE 
       SEARCH CORE FOR ANY OCTAL VALUE
  
  'OCTASET' IS CONFIGURED, SELF-CONTAINED, AND NEEDS NO OTHER DRIVERS OR
  ROUTINES.  IT RESIDES WITHIN THE BOUNDS OF A SINGLE PAGE IN CORE. 
  OPERATOR COMMUNICATION WAS A PRIME CONSIDERATION IN ITS DESIGN AND
  ANYONE FAMILIAR WITH HP ASSEMBLY LANGUAGE CAN MASTER ITS USE IN A VERY
  SHORT TIME. 
  
  MINIMUM CONFIGURATION IS AN 8500 CONSOLE (MIN.) ALTHOUGH A TAPE UNIT
  EXTENDS ITS USEFULNESS CONSIDERABLY.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  OCTASET IS A TROUBLESHOOTING AID FOR COMPUTER SERVICE ENGINEERS AND 
  PROGRAMMERS.  IT ELIMINATES TIME CONSUMING SWITCH REGISTER TOGGLING BY
  PERFORMING THE FOLLOWING FUNCTIONS ON LINE IN REAL TIME:
  
  OPERATING INSTRUCTIONS: 
  
       1.  LOAD OBJECT TAPE USING PBCL. 
  
       2.  PRESS PRESET AND PRESS RUN.
  
  THEREAFTER, ALL COMMUNICATION IS THROUGH THE PRINTER KEYBOARD.
  
  OPERATION:
  
  OCTASET PRINTS "?(BELL)".  THIS IS THE FUNCTION REQUEST STATE.  OCTASET 
  EXPECTS ONE OF THE FOLLOWING CONTROL CHARACTERS:
  
            CHARACTER         FUNCTION
  
            CONTROL A         ASSEMBLY
            CONTROL B         MEMORY BOUNDS OF ABS TAPE (TAPE IS NOT
                              LOADED INTO CORE) 
            CONTROL D         DUMP CORE TO TELEPRINTER
            CONTROL P         WRITE ABSOLUTE TAPE FROM CORE 
            CONTROL R         RUN FROM GIVEN ADDRESS
            CONTROL S         SEARCH CORE FOR GIVEN VALUE 
            CONTROL T         LOAD ABSOLUTE TAPE INTO CORE
            CONTROL V         VERIFY ABSOLUTE TAPE WITH CORE
  
  ANY OTHER RESPONSE IS AN ERROR AND OCTASET REPEATS THE QUESTION MARK. 
  OPERATOR COMMUNICATION WITH THE VARIOUS FUNCTIONS IS DISCUSSED BELOW. 
  
       CR SIGNIFIES THE "CARRIAGE RETURN" KEY.
  
  ALL NUMERICS ARE OCTAL.  NO SUFFIX B SHOULD BE TYPED AFTER NUMERICS.
  LEADING ZEROES ARE IGNORED ON INPUT.
  
  PRINTOUT        OPERATOR RESPONSE  ACTION 
  
  LOAD            NONE               TAPE IN DECK 3 IS LOADED INTO CORE 
  
  *EOT            NONE               LOAD OR VERIFY OPERATION WAS SUCCESS-
                                     FUL.  END OF TAPE. 
  
  CHECKSUM        NONE               THE TAPE BEING LOADED HAS A CHECKSUM 
                                     ERROR. 
  
  ADDRESS=XXX     NONE               THE TAPE BEING LOADED TRIED TO OVER- 
                                     LAY OCTASET.  XXX=OFFENDING ADDRESS. 
  
  WRITE?          XXX,YYY  CR        CORE LOCATIONS XXX TO YYY INCLUSIVE
                                     ARE WRITTEN IN ABSOLUTE FORMAT.
  
  DUMP RANGE?     XXX,YYY  CR        THE ADDRESSES AND CONTENTS OF ALL
                                     LOCATIONS FROM XXX TO YYY ARE PRINTED
  
  ADDR CORE TAPE
  ---- ---- ----  NONE               THE TAPE BEING READ DOES NOT COMPARE 
  XXXX YYYY ZZZZ                     WITH CORE. 
  
  SEARCH FOR?     VVV  CR            CORE IS SEARCHED FOR THE VALUE VVV 
                                     FROM XXX TO YYY.  ADDRESSES ARE
  RANGE?          XXX,YYY   CR       LISTED WHERE VVV IS FOUND. 
  
  ADDRESS=        XXX  CR            IN RESPONSE TO CONTROL R, OCTAPUS
                                     WILL JUMP TO XXX.
  
  
  ASSEMBLY
  000123 ___________________ CURRENT ADDRESS(LEFT OVER FROM PRECEEDING
  ASSEMBLY) 
  
  FOLLOWING THE PRINTOUT OF THE CURRENT ADDRESS, THE OPERATOR MAY RESPOND 
  IN ONE OF THREE WAYS: 
  1.  TYPE /XXX  CR                  THIS IS EQUIVALENT TO ORG XXX.  THE
                                     ADDRESS IS CHANGED TO XXX. 
  
  2.  HOLD DOWN CONTROL KEY          THE CONTENTS OF THE CURRENT ADDRESS
      AND PRESS C.                   ARE PRINTED.  ADDRESS IS NOT 
                                     INCREMENTED. 
  
  3.  TYPE AN ASSEMBLY LANGUAGE SOURCE STATEMENT IN THE FOLLOWING FORMAT: 
  
      LDA   567,I     CR
  A.  ASSEMBLY MODE 
  
      1.  NOP AND OCT 0 ARE EQUIVALENT
  
      2.  OCTASET WAS NOT MADE TO RECOGNIZE MACRO-INSTRUCTIONS (E.G., 
          ALF,ALF).  THEY MAY BE ENTERED USING THE OCT INSTRUCTION
          (E.G., OCT 1727).  ALTERNATELY, CERTAIN MICROS MAY BE FORCED: 
  
          IF A SPACE IS DETECTED FOLLOWING THE 3 CHARACTER OPCODE, OCTASET
          ASSUMES THAT IT IS A MEMORY REFERENCE OR I/O INSTRUCTIO.  THE 
          OCTAL OPERAND FOLLOWING THE SPACE IS CONVERTED TO BINARY AND
          INCLUSIVELY OR'ED WITH THE OPCODE.  IT IS THEREFORE POSSIBLE TO 
          TRICK OCTASET INTO OR'ING BITS INTO A REGISTER REFERENCE
          INSTRUCTION.
  
  
               EXAMPLES:  ALF 27 PRODUCES ALF,ALF(001727) 
                          SZA 1 PRODUCES SZA,RSS(002003)
                          SLA 1 DOES NOT PRODUCE SLA,RSS
  
  B.  CORE DUMP 
  
      1.OCCASIONALLY AN "OPEN ENDED" DUMP IS DESIRED (NO ENDING ADDRESS). 
        GIVE OCTASET 0 AS AN ENDING ADDRESS AND IT WILL DUMP FOREVER.  IT 
        MAY BE STOPPED USING SWITCH 15. 
  
               EXAMPLE:  TO DUMP FROM LOCATION 100, TYPE IN RESPONSE
                         DUMP RANGE?  100, CR .  THE MISSING PARAMETER
                         FOLLOWING THE COMMA IS EQUIVALENT TO 0.
  
                               *****CAUTION*****
  
                         DON'T TRY THIS WITH DICOM.  DICOM DOES NOT 
                         LOOK AT SWITCH 15. 
  
  C.  THE FOLLOWING INSTRUCTIONS ARE NOT RECOGNIZED:
  
      1.  EQU                             6.  ENT 
      2.  DEF (USE "OCT")                 7.  EXT 
      3.  ASC                             8.  ORG (USE "/") 
      4.  * IN OPERAND (E.G., JMP*-1)     9.  ORR 
      5.  RSS (RSS ALONE IS REDUNDANT    10.  ORB 
          SINCE JMP MAY BE USED IN ITS   11.  DEC (CONVERT DECIMAL TO 
          PLACE)                              OCTAL AND USE OCT)
  
  NOTE:  REWINDING AND POSITIONING OF TAPE MUST BE DONE MANUALLY.  MAG
         TAPE I/O IS ALWAYS PERFORMED WITH DECK #3. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  "OPCODE ERROR" - OPCODE ILLEGAL 
  "PAGE ERROR"   - A MEMORY REFERENCE WAS MADE TO A PAGE OTHER THAN THE 
                   CURRENT PAGE OR THE BASE PAGE. 
  "ILLEGAL SPACE" - ILLEGAL USE OF A SPACE. 
  
  
 **MISCELLANEOUS: 
  
  OCTASET DOES NOT USE THE INTERRUPT SYSTEM.   DURING PRINTING OPERATIONS 
  THE OPERATION MAY BE ABORTED BY SETTING BIT 15 OF THE SWITCH REGISTER.
X15601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HIGH-SPEED DISC INPUT OUTPUT
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    DISC            I/O 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-3 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  'HSDIO' ENABLES THE DOS-M/DOS-III USER TO HAVE THE FOLLOWING IMPROVE- 
  MENTS FOR FILE ACCESSING AS COMPARED TO THE STANDARD SYSTEM EXEC 14 AND 
  EXEC 15 DISC I/O REQUESTS.
  
  1.  DIRECT ACCESS OF A FILE INSTEAD OF SEARCHING THE FILE DIRECTORY EACH
      TIME FOR THE FILE ADDRESS, THEN ACCESSING THE FILE.  (INCREASES 
      ACCESS SPEED APPROXIMATELY 10 TO 20 TIMES.) 
  
  2.  ALLOWS THE USER TO ACCESS THE SCRATCH AREA OF THE CURRENT USER DISC 
      AS ANOTHER DATA FILE IDENTIFIED BY THE NAME '$USER'.
  
  3.  ALLOWS THE USER TO ACCESS THE SCRATCH AREA OF THE SYSTEM DISC AS
      ANOTHER DATA FILE IDENTIFIED BY THE NAME '$SYSM'. 
  
  4.  ALLOWS THE USER TO READ OR WRITE TO ANY DISC FILE ON THE CURRENT
      DISC. 
  
  HARDWARE REQUIREMENTS INCLUDE 8K COMPUTER AND 7900A 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: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  ASSEMBLE THE HIGH SPEED DISK INPUT/OUTPUT ROUTINE.
  
  2.  COMPILE/ASSEMBLE THE CALLING PROGRAM. 
  
  3.  LOAD THE CALLING PROGRAM, 'HSDIC' ROUTINE, AND THE RELOCATABLE
      PROGRAM LIBRARY.
  
  4.  EXECUTE THE PROGRAM USING THE ':RU' OR ':PR' DIRECTIVE. 
  
  USIZE - RETURNS THE NUMBER OF SECTORS AVAILABLE IN THE SCRATCH AREA 
          OF THE CURRENT USER DISK. 
  
  SSIZE - RETURNS THE NUMBER OF SECTORS AVAILABLE IN THE SCRATCH AREA 
          OF THE SYSTEM DISK (JBIN AREA). 
  
  CLRTB - REMOVES UNUSED FILES FROM THE SUBROUTINE'S FILE ADDRESS TABLE.
          IT IS USEFUL WHEN MORE THAN 10 FILES MUST BE USED, BUT AT 
          DIFFERENT TIMES IN THE MAIN PROGRAM.
  
  HSDIO - FILE INPUT/OUTPUT ROUTINE.
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
       EXT USIZE
        . 
        . 
        . 
       JSB USIZE   ENTER THE ROUTINE TO RETURN THE NUMBER OF SECTORS
       DEF *+2     AVAILABLE ON THE CURRENT USER DISK.  LENGTH OF SCRATCH 
       DEF SIZE    AREA RETURNED IN SIZE. 
        . 
        . 
        . 
  SIZE BSS 1
  
  CALLING SEQUENCE - FORTRAN
  
       CALL USIZE ( ISIZE ) 
  
  ISIZE CONTAINS THE NUMBER OF SECTORS IN THE CURRENT USER DISK SCRATCH 
  AREA, UPON RETURN.
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
       EXT SSIZE
        . 
        . 
        . 
       JSB SSIZE     ENTER THE ROUTINE TO RETURN THE NUMBER OF SECTORS
       DEF *+2       AVAILABLE ON THE SYSTEM DISK.  LENGTH OF SCRATCH 
       DEF SIZE      AREA RETURNED IN SIZE. 
        . 
        . 
        . 
  SIZE BSS 1
  
  CALLING SEQUENCE - FORTRAN
  
       CALL SSIZE ( ISIZE ) 
  
  ISIZE CONTAINS THE NUMBER OF SECTORS IN THE SYSTEM DISK SCRATCH AREA
  (JBIN), UPON RETURN.
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
       EXT CLRTB
        . 
        . 
        . 
       JSB CLRTB     CLEAR THE FILE ADDRESS TABLE (IE., SET THE NUMBER
       DEF *+1       OF OPEN FILES TO ZERO.)
  
  CALLING SEQUENCE - FORTRAN
  
       CALL CLRTB 
  
  CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
       EXT HSDIO
        . 
        . 
        . 
       JSB HSDIO
       DEF *+6
       DEF RCODE     (14=READ     15=WRITE) 
       DEF BUFAD     BUFFER INPUT/OUTPUT ADDRESS
       DEF WDCNT     NUMBER OF WORDS TO BE TRANSFERRED
       DEF SECTR     STARTING SECTOR NUMBER IN FILE 
       DEF FNAME     ADDRESS OF FILE NAME 
        . 
        . 
        . 
  RCODE DEC 14 OR 15
  BUFAD BSS 128 
  WDCNT DEC 128 
  SECTR DEC 0 
  FNAME ASC 3,FNAME 
  
  CALLING SEQUENCE - FORTRAN
  
       CALL HSDIO ( ICODE, IBUFR, IBUFL, ISECT, FNAME ) 
  
  ICODE - INPUT/OUTPUT REQUEST CODE.  (14=READ 15=WRITE)
  IBUFR - NAME OF ARRAY IN WHICH DATA IS TRANSFERRED. 
  IBUFL - NUMBER OF WORDS TO BE TRANSFERRED TO/FROM ARRAY/DISK FILE.
  ISECT - STARTING SECTOR NUMBER WITHIN THE DISK FILE.
  FNAME - NAME OF ARRAY CONTAINING THE NAME OF THE DISK FILE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ALL ERROR MESSAGES APPEAR ON LOGICAL UNIT #6 IN THE FOLLOWING FORM: 
  
                 XXXXX : HS YY
                 NNNNN
  WHERE:
          XXXXX - NAME OF THE PROGRAM THAT THE ERROR OCCURRED IN. 
          YY    - NUMERIC ERROR CODE. 
          NNNNN - NAME OF THE FILE BEING ACCESSED (ON UNIT #1)
  
  YY     PROBLEM
  
  01     I/O REQUEST ERROR    (VALUE IS NOT 14 OR 15) 
  02     WORD COUNT ERROR     (VALUE IS ZERO OR NEGATIVE) 
  03     FILE NAME ERROR      (MISSING FILE OR TOO MANY FILES ACCESSED
                              AT ONE TIME)
  04     SECTOR ADDRESS ERROR (FILE OVERWRITE ATTEMPTED OR NEGATIVE SECTOR
                              NUMBER) 
  
  
 **MISCELLANEOUS: 
  
  IF THE USER ACCESSES MORE THAN TEN FILES AT ONE TIME, IT IS NECESSARY 
  TO MODIFY THE PROGRAM TO ACCOMMODATE THE ADDITIONAL OPENED FILES. 
  
  CHANGE LABEL
  
       D10   DEC XXX
       TAB5  BSS XXX
       TAB4  BSS XXX
       TAB3  BSS XXX
       TAB2  BSS XXX
       TAB1  BSS XXX
  
       WHERE:  XXX IS THE MAXIMUM NUMBER OF FILES TO BE OPENED AT ONE TIME
X15701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  "LOAD ON CALL" (LOCAL) PACKAGE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  4 
  
 **KEYWORDS:
    SEGMENTATION    FORTRAN 
  
  
 **LANGUAGES: 
    FTN2        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PACKAGE ALLOWS EACH SUBROUTINE CALLED BY A FORTRAN MAIN PROGRAM, 
  TO BE PLACED IN A SEGMENT.  SEGMENTS ARE LOADED AT RUN TIME.  THE FIRST 
  PROGRAM RUNS AFTER COMPILATIONS AND BEFORE THE RELOCATING LOADER.  IT 
  ASKS FOR THE MAIN AND SUBROUTINE NAMES AND AFTER SEVERAL VERIFICATIONS
  CREATES SEGMENTS IN JOB BINARY AREA.  THE SECOND PROGRAM IS A SUB-
  ROUTINE CALLED BY THE MAIN PROGRAM.  IT VERIFIES AND ASSUMES ARGUMENT 
  TRANSFER TO THE PROPER SUBROUTINE BY LOADING THE APPROPRIATE SEGMENT
  IF NON-PRECEDING IN CORE.  THIS PACKAGE ALLOWS APPRECIABLE CORE SPACE 
  AND THE STORAGE TOTAL REQUIRED IS EQUIVALENT TO THE MAIN, THE LARGEST 
  SUBROUTINE, PLUS 150/10 WORDS FOR THE (LOAD CALL) ROUTINE.  A TEST
  PROGRAM IS INCLUDED.
  
  HARDWARE REQUIREMENTS:  A MINIMUM 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
  FILE#  3: SOURCE
  FILE#  4: SOURCE
  FILE#  5: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  COMPILE THE MAIN PROGRAM "DEFLC" AND ASSEMBLE THE ASSEMBLY ROUTINES 
  
  2.  LOAD THE MAIN PROGRAM AND MAKE IT PERMANENT FILE BY TYPING THE
      DIRECTIVE : ST, P 
  
  3.  CLEAR THE JOB BINARY AREA.
  
  4.  ASSEMBLE THE "LOCAL" ASSEMBLY ROUTINE AND MAKE IT PERMANENT FILE BY 
      TYPING THE DIRECTIVE : ST, R, LOCAL.
  
  5.  CLEAR THE JOB BINARY AREA.
  
  6.  MODIFY THE MAIN PROGRAM IN THIS WAY : 
  
      - REPLACE THE FIRST SUBROUTINE CALL BY
  
             CALL LOCAL (1, ARG 1, ARG 2 ...) 
  
      1 IDENTIFY THE SUBROUTINE NAME
  
      ARG 1, ARG 2, ARE ARGUMENTS OF THIS SUBROUTINE
  
  NOTE:  THE MAXIMUM NUMBER OF ARGUMENTS IS LIMITED TO 16 
  
      - REPLACE THE SECOND SUBROUTINE CALL BY 
  
            CALL LOCAL (2, ARG 1,...) 
  
       AND SO ON FOR OTHER SUBROUTINES, BUT THE MAXIMUM NUMBER OF 
       SUBROUTINES IS LIMITED TO 10.
  
  7.  COMPILE THE MAIN PROGRAM AND THE SUBROUTINES
  
  8.  RUN THE PROGRAM "DEFLC" BY THE DIRECTIVE : PR, DEFLC
  
      IF THE SYSTEM IS NOT IN BATCH MODE, THE PROGRAM ASKS
  
          ENTER MAIN NAME, SUBROUTINE NAMES AND /E
  
   TYPE OR READ ON THE BATCH UNIT THE MAIN PROG NAME AND THE SUBROUTINE 
   NAMES, USING COMMA AS SEPARATOR AND /E TO CLOSE THE INPUT.  THE FIRST
   SUBROUTINE NAME WILL BE ASSOCIATED WITH THE NUMBER ONE, (WHICH IDENTI- 
   FIES THE SUBROUTINE NAME IN THE CALL LOCAL (1, ...)
   THE SECOND SUBROUTINE NAME WILL BE ASSOCIATED TO THE NUMBER TWO, ETC.
   THE PROGRAM VERIFIES THE NUMBER OF SUBROUTINE NAMES ENTERED, THEN
   EXAMINES THE JOB BINARY AREA AND THE USER DIRECTORY FOR DUPLICATE FILE 
   NAMES.  IF NO ERROR IS DETECTED, HE PLACES RELOCATABLE SEGMENTS IN JOB 
   BINARY AREA AND WRITES THE MESSAGE LOCAL COMPLETE ON THE SYSTEM CONSOL 
  
  9.  RUN THE RELOCATING LOADER BY THE DIRECTIVE
  
           : PR, LOADER, 2
  
   AND TYPE THE NAME OF THE RELOCATABLE FILE CONTAINING THE SUBROUTINE
   "LOCAL".  AT THE END OF THE LOADING, EACH SUBROUTINE CALLED BY THE 
   INSTRUCTION CALL LOCAL IS IN A USER SEGMENT. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF ERRORS OCCUR DURING EXECUTION OF THE USER PROGRAM THE FOLLOWING
  MESSAGE 
                  LC XXX
                  LOCAL TERMINATED
  
  IS TYPED ON THE SYSTEM CONSOLE, AND CONTROL RETURNS TO DOS-M. 
  
  LC 01   THE NUMBER IDENTIFYING THE SUBROUTINE IN CALL LOCAL IS GREATER
          THAN THE NUMBER OF SUBROUTINES SPECIFIED DURING CREATION OF 
          SEGMENTS. 
  
  LC 02   THE NUMBER IDENTIFYING THE SUBROUTINE IS LESS THAN OR EQUAL TO
          ZERO OR MISSING (INSTRUCTION CALL LOCAL WITHOUT ARGMENT LIST).
          IF ERROR OCCURS DURING CREATION OF SEGMENTS, THE FOLLOWING
          MESSAGE IS TYPED AND CONTROL RETURNS TO DOS-M.
  
  
  
                 NNNNN                           NNNN 
                                                        PROGRAM NAMES 
                 MMMMM                           MMMM 
  
                 -----
  
                 -----
  
                 LC XX
  
                 LOCAL TERMINATED                XX = 03 TO 13
  
  LC 03   TWO COMMAS CONSECUTIVELY ARE DETECTED IN THE RECORD IN THE
          OF SUBROUTINES NAME 
  
  LC 04   NO SUBROUTINE NAME FOUND IN THE RECORD
  
  LC 05   THE JOB BINARY AREA IS EMPTY
  
  LC 06   INVALID LENGTH FOR RELOCATABLE RECORD IN JOB BINARY AREA
  
  LC 07   THE MAIN PROGRAM NAME IS FOUND TWICE IN JOB BINARY AREA 
  
  LC 08   THE MAIN PROGRAM ENTRY POINT IS FOUND TWICE IN JOB
          BINARY AREA 
  
  LC 09   THE MAIN PROGRAM ENTRY POINT IS NOT FOUND IN JOB BINARY 
          AREA
  
  LC 10   THE NAME = SEGM APPEARS IN JOB BINARY (OCCURS IF DEFLC IS 
          RUN TWICE A JOB 
  
  NNNNN 
  
  LC 11 THE SEGMENT NAME NNNNN IS ALREADY IN JOB BINARY AREA
  
  NNNNN 
  
  LC 12 THE SEGMENT ENTRY POINT NNNNN IS ALREADY IN JOB BINARY AREA 
  
  MMMMM 
  
  LC 13     PROGRAM OR SEGMENT NAME DUPLICATION 
  
  
 **MISCELLANEOUS: 
  
  THE SEGMENT NAME IS MADE BY ADDING TO THE FIRST 3 CHARACTERS OF THE 
  MAIN NAME, THE STRING.0 FOR THE FIRST SEGMENT, .1 FOR THE SECOND, AND 
  .9 FOR THE 10, TO AVOID DUPLICATE SEGMENT NAME IT IS NECESSARY TO NOT 
  USE LOCAL TECHNIQUE ON TWO OR SEVERAL PROGRAMS WHOSE NAME BEGINS BY 
  THE SAME FIRST THREE CHARACTERS.
  
  DURING PROGRAM EXECUTION IF 2 CALL LOCAL CONSECUTIVE REFER TO THE SAME
  SUBROUTINE, THE APPROPRIATE SEGMENT IS LOADED ONCE ON THE FIRST CALL. 
  HOWEVER, IT'S POSSIBLE TO CHANGE THE ARGUMENT NUMBER.  IF IT'S IN THE 
  SCOPE OF SUBROUTINE.
  
       EXAMPLE:  IF THE FOLLOWING CALLS ARE POSSIBLE
  
                 CALL SUBR 1 (ARG 1, ARG 2, ARG 3, ARG 4...)
  
                 CALL SUBR 1 (ARG 1, ARG 2, ARG 3)
  
                 THE LOCAL CALLS
  
                 CALL LOCAL (1, ARG 1, ... ARG 4) 
  
                 CALL LOCAL (1, ARG 1, ... ARG 3) 
  
                 ASSUME PROPER ARGUMENTS TRANSFERRED. 
X15801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  BASIC LINE NUMBER RESEQUENCER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  5 
  
 **KEYWORDS:
    BASIC           SORT
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SIO 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE BASIC LINE RESEQUENCER PROGRAM PROVIDES A MEANS OF CHANGING THE LINE
  NUMBERS OF A BASIC PROGRAM.  ANY STATEMENT IN THE BASIC PROGRAM WHICH 
  REFERENCES A CHANGED LINE NUMBER IS ALTERED TO CORRESPOND.  THE ORIGINAL
  EXECUTION SEQUENCE OF THE BASIC PROGRAM IS RETAINED.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  LOAD THE BASIC RESEQUENCE PROGRAM USING THE BASIC BINARY LOADER.
  B.  SET THE SWITCH REGISTER TO 000100.
  C.  PRESS LOAD ADDRESS. 
  D.  PRESS PRESET
  E.  PRESS RUN 
  
  1.  SWITCH 0 DOWN 
  
      TYPE THE NUMBER AT WHICH THE BASIC PROGRAM SHOULD START, A COMMA, 
      THE INCREMENT BETWEEN SUCCEEDING STATEMENTS, AND AN END OF RECORD 
      MARK (CR/LF). 
  
  2.  SWITCH 0 UP 
  
      THIS OPTION ADDS A CONSTANT TO THE LINE NUMBERS OF THE BASIC PROG.
      TYPE THIS NUMBER FOLLOWED BY AN END OF RECORD MARK (CR/LF). 
  
  IF THE COMPUTER TYPES "FORMAT ERROR", RECHECK THE OPTION SWITCH AND 
  TYPE THE INFORMATION AGAIN. 
  
  WHEN THIS PHASE IS COMPLETED, THE COMPUTER WILL TYPE "RUN" AND HALT 
  (T REGISTER CONTAINS 102000). 
  
  A.  PLACE THE BASIC LANGUAGE SOURCE TAPE IN THE SYSTEM INPUT DEVICE.
  
  B.  PRESS "RUN".
  
  WHEN COMPUTER HALTS (T REGISTER CONTAINS 102055), PASS 1 IS COMPLETED.
  
  C.  TO EXECUTE PASS 2, REPLACE THE SOURCE TAPE IN THE SYSTEM INPUT
      DEVICE, TURN ON THE SYSTEM TAPE PUNCH AND PRESS "RUN".
  
  WHEN THE COMPUTER HALTS (T REGISTER CONTAINS 102077) THE RESEQUENCED
  PROGRAM WILL HAVE BEEN PUNCHED ALONG WITH A 10 INCH LEADER AND
  TRAILER.  TO RESEQUENCE ANOTHER PROGRAM PRESS RUN.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  HALTS AND ERROR CONDITIONS
  
  T REGISTER       MESSAGE        EXPLANATION 
  
  102000           RUN            READY FOR PASS 1.  GO TO STEP F.
  
  102011           ---            UNDEFINED LABEL.  PRESS RUN TO CONTINUE 
                                  PROCESSING, THE NUMBER PRINTED WILL BE
                                  UNPREDICTABLE.
  
  102012           ---            OUT OF MEMORY.  IRRECOVERABLE ERROR.
                                  REVISE TAPE AND START FROM STEP B.
  
  ------           FORMAT ERROR   DATA NOT IN CORRECT FORMAT, TYPE AGAIN. 
  
  102055           ---            READY FOR PASS 2.  GO TO STEP H.
  
  102077           ---            PROCESSING COMPLETE.  TO PROCESS ANOTHER
                                  TAPE, PRESS RUN.
  
  
 **MISCELLANEOUS: 
  
  
X15901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ON-LINE EDITOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  5 
  
 **KEYWORDS:
    EDITOR
  
  
 **LANGUAGES: 
    ASMB(ABS) 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SELF-CON
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS EDITOR PROGRAM ALLOWS THE USER TO PREPARE A SYMBOLIC FILE BY 
  ENTERING IT DIRECTLY INTO AVAILABLE MEMORY FROM THE TTY.  ALTERNATIVELY,
  A FILE MAY BE PREPARED OFF-LINE ON PAPER TAPE AND LOADED INTO MEMORY
  WITH A TAPE READER.  EDITING OPERATIONS ARE CONVERSATIONAL, AND ARE 
  PERFORMED ON-LINE USING THE TTY.  THE PROCEDURES ARE SIMILAR TO THOSE 
  USED IN CONSTRUCTING A (BASIC) PROGRAM.  AVAILABLE EDITING OPERATIONS 
  INCLUDE; DELETING, REPLACING, AND INSERTING LINES OR SERIES OF LINES. 
  A LIMITED DEGREE OF CHARACTER EDITING IS POSSIBLE.  THE FILE OR PORTIONS
  OF IT MAY BE LISTED ON THE TTY (WITH OR WITHOUT LINE NUMBERS), OR 
  PUNCHED OUT ON EITHER THE TTY OR A HIGH-SPEED PUNCH.  THE PROGRAM IS
  CODED IN ABSOLUTE ASSEMBLY LANGUAGE, RESIDES ENTIRELY ON BASE PAGE, AND 
  USES ITS OWN I/O DRIVERS.  ONE PAGE OF MEMORY IS RESERVED FOR ADDRESS 
  STORAGE.  THE REMAINING AVAILABLE MEMORY IS USED TO STORE THE SYMBOLIC
  FILE, TWO ASCII CHARACTERS PER WORD.
  
  HARDWARE:  4K, EAU, TTY, TAPE READER AND 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  #885  PUNCH EQU 11B 
   886  RDR   EQU 10B 
  (TTY IS INPUT THROUGH THE SWITCH REGISTER)
  
  THE EDITOR PROGRAM, AND TTY I/O DRIVERS MUST BE ASSEMBLED SEPARATELY. 
  THE ORDER OF LOADING IS NOT IMPORTANT.  THE USER MUST CONFIGURE THE 
  PROGRAMS TO HIS SYSTEM BY APPROPRIATELY ALTERING THE "PUNCH", "RDR", AND
  "TTY" SYMBOLS.  ALSO THE VALUE OF "UPLIM" MUST BE SET SOMEWHAT BELOW
  (2-8 LOCATIONS) THE UPPER LIMIT OF AVAILABLE CORE.
  
  THE STARTING ADDRESS OF THE PROGRAM IS 100B.  AFTER PRESSING THE RUN
  BUTTON, A "?" WILL BE PRINTED ON THE TTY INDICATING THAT THE PROGRAM
  IS WAITING FOR AN INSTRUCTION TO PERFORM AN OPERATION.  THE AVAILABLE 
  OPERATIONS ARE LISTED IN THE TABLE BELOW. AFTER THE DESIRED OPERATION 
  HAS BEEN SELECTED, TYPE THE APPROPRIATE ONE-LETTER OPERATION CODE 
  (COLUMN ONE OF THE TABLE) FOLLOWED BY WHATEVER PARAMETERS ARE REQUIRED. 
  THE PARAMETERS N1 AND N2 ARE NON-NEGATIVE DECIMAL INTEGERS OF FROM ONE
  TO FOUR DIGITS.  A DELIMETER FOR A NUMERICAL INPUT MAY BE A SPACE,
  COMMA, OR CARRIAGE RETURN.  IF EITHER N1 OR N2 IS A LINE NUMBER, IT MUST
  NOT BE GREATER THAN 1023.  THE "ESC" KEY MAY BE USED TO CANCEL THE
  OPERATION PROVIDED THE LAST PARAMETER HAS NOT BEEN TERMINATED.
  
  IF THE "E", "R", OR "K" OPERATION IS SELECTED, AN ASCII RECORD
  (REFERRED TO FROM NOW ON AS A "LINE") OR SERIES OF RECORDS IS TO BE 
  ENTERED ON THE TTY.   A LINE CONSISTS OF A STRING OF ANY NUMBER OF ASCII
  CHARACTERS TERMINATED BY A CARRIAGE RETURN.  THE PROGRAM SUPPLIES THE 
  LINE FEED.  A LINE THAT HAS NOT BEEN TERMINATED MAY BE DELETED WITH THE 
  "RUBOUT" KEY.  INDIVIDUAL CHARACTERS MAY BE DELETED IN A NON-TERMINATED 
  LINE BY HOLDING DOWN THE "CTRL" KEY AND HITTING THE "E" KEY.  CHARACTERS
  ARE SUCCESSIVELY DELETED STARTING FROM THE LAST ONE ENTERED.  A "<-" IS 
  PRINTED FOR EACH DELETION.  THE USER MAY SELECT HIS OWN CHARACTER 
  DELETION CODE BY ALTERING THE VALUE OF "CDELT". 
  
  IF THE "I" OPERATION IS SELECTED, A SERIES OF LINES ON PUNCHED PAPER
  TAPE IS TO BE READ IN FROM THE TAPE READER.  A LINE ON PAPER TAPE MUST
  BE TERMINATED BY BOTH A CARRIAGE RETURN AND A LINE FEED.  ANY LINE
  CONTAINING A "RUBOUT" WILL BE DELETED.
  
  THE PRINT OPERATIONS ("P", "L", AND"M") ALLOW SELECTED SECTIONS OF THE
  SYMBOLIC FILE TO BE PRINTED OUT ON THE TTY.  PRINTING MAY BE TERMINATED 
  AT ANY TIME BY HITTING THE SPACE BAR. 
  
  THE ENTIRE FILE MAY BE SCRATCHED BY TYPING "D" FOLLOWED BY A DELIMITER
  (SPACE, CARRIAGE RETURN, OR COMMA).  THE PROGRAM WILL THEN PRINT
  "??????" ALERTING THE USER TO THE FACT THAT HE HAS SELECTED THIS
  OPERATION.  TYPING "S" WILL THEN SCRATCH THE FILE.  TYPING ANY OTHER
  CHARACTER WILL CANCEL THE OPERATION.
  
  THE "H" OPERATION IS USED TO HALT THE COMPUTER IN SUCH A WAY THAT THE 
  SYMBOLIC FILE WILL NOT BE ACCIDENTLY DESTROYED. 
  
  WHILE USING THE EDITOR THE FOLLOWING HALTS MAY OCCUR: 
  
             T-REGISTER           REASON FOR HALT 
  
             102000               SELECTED "H" OPERATION
  
             102011               EXCEEDED AVAILABLE MEMORY 
  
             102022               ASSIGNED LINE NUMBER IS 
                                  GREATER THAN 1023 
  
                      TABLE OF OPERATIONS 
  
                     B = SPACE, COMMA, OR CARRIAGE RETURN 
  
  OPERATION         INPUT FORMAT       FUNCTION 
  
     E              E N1 B             ENTER LINE N1 ON THE TTY.  RUBOUT
                                       BEFORE CARRIAGE RETURN DELETES THE 
                                       LINE.
  
     K              K N1 B N2 B        INPUT SERIES OF LINES ON THE TTY.
                                       LINE NUMBERS ASSIGNED STARTING WITH
                                       N1 AND INCREMENT N2.  TERMINATE
                                       THE SERIES WITH THE "ESC" KEY, 
                                       HITTING RUBOUT BEFORE CARRIAGE 
                                       RETURN DELETES THE LINE. 
  
     R              R N1 B             REPLACE LINE N1 WITH LINE TO BE
                                       ENTERED ON THE TTY, HITTING RUBOUT 
                                       BEFORE CARRIAGE RETURN DELETES THE 
                                       LINE.
  
     D              D N1 B N2 B        DELETE LINES N1 THROUGH N2 
  
     D              D N1 B B           DELETES LINE N1
  
     D                D B              PREPARATION TO SCRATCH ENTIRE FILE 
  
     S                 S               SCRATCH THE ENTIRE FILE.  MUST 
                                       FOLLOW THE ABOVE OPERATION.
  
     P              P N1 B N2 B        PRINT LINES N1 THROUGH N2 ON THE 
                                       TTY WITH LINE NUMBERS. 
  
     P              P N1 B B           PRINT LINE N1 WITH LINE NUMBERS
  
     P                P B              PRINT ENTIRE FILE WITH LINE NUMBERS
  
     M              SAME AS "P"        SAME AS "P" EXCEPT THAT THE LINE 
                                       NUMBERS ARE DELETED. 
  
     L              SAME AS "P"        SAME AS "M" EXCEPT THAT LEADING
                                       AND TRAILING FEED FRAMES ARE 
                                       PROVIDED.
  
     T              SAME AS "P"        PUNCH OUT THE ENTIRE FILE OR 
                                       PORTIONS OF IT ON THE HIGH-SPEED 
                                       PUNCH.  LINE NUMBERS ARE OMITTED 
                                       AND NO FEED FRAMES ARE PROVIDED. 
  
     F              F                  PRODUCE FEED FRAMES ON THE HIGH
                                       SPEED PUNCH. 
  
     I              I N1 B N2 B        FILE ON PAPER TAPE TO BE READ IN 
                                       FROM THE TAPE READER.  LINE NUMBERS
                                       ASSIGNED STARTING WITH N1. 
                                       SUCCEEDING LINES EQUALLY SPACED
                                       WITH INCREMENT N2.  LINES CON- 
                                       TAINING RUBOUTS ARE DELETED. 
  
     O              O N1 B N2 B        STARTING WITH LINE N1 INCREASE 
                                       SPACING BETWEEN EACH LINE
                                       ACCORDING TO THE FORMULA: NEW LINE 
                                       NO. = OLD LINE NO. + (OLD LINE NO. 
                                       -N1)*N2
  
     G              G N1 B N2 B        STARTING WITH LINE N1 INCREASE EACH
                                       LINE NUMBER BY N2
  
     C              C                  ASSIGN LINE NO 0 TO THE FIRST LINE.
                                       SUCCEEDING LINES ARE EQUALLY 
                                       SPACED WITH INCREMENT 1. 
  
     H              H                  HALT THE COMPUTER.  TO RESUME
                                       OPERATION, PUNCH THE RUN BUTTON. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X16001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS-M DISC EDITOR 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  5 
  
 **KEYWORDS:
    EDITOR
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM IS A DOS-M BASED CONVERSATIONAL DISC EDITOR WHICH HAS
  COMPLETE FREEDOM TO EXAMINE OR ALTER ANY PORTION OF A DOS-M DISC ON A 
  TRACK-SECTOR BASIS.  LIST OR CHANGE OPERATIONS CAN BE DONE IN ASCII,
  INTEGER, OCTAL, OR FLOATING-POINT (EVEN OR ODD WORD) FORMAT.
  
  A MINIMAL DOS-M, WITH AN HP2116 OR HP2100 CPU, CRT OR TELETYPE, AND A 
  7900 DISC CONSTITUTE THE REQUIRED EQUIPMENT.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 UTILITY PROVIDES EDITING FREEDOM TO EXAMINE OR ALTER ANY PORTION 
  OF A DOS-M DISC.  OPERATIONS ARE PERFORMED ON A TRACK-SECTOR BASIS. 
  LIST OR CHANGE OPERATIONS CAN BE DONE IN ASCII, INTEGER, OCTAL, OR
  FLOATING POINT (EVEN OR ODD WORD) FORMAT.  TAPE OUTPUT AND INPUT
  COMMANDS ALLOW SELECTIVE DATA DUMPING AND INPUTTING FOR BULK EDIT 
  TRANSFERS.  LIST OUTPUT CAN BE CHANGED TO ANY LOGICAL UNIT.  EDIT 
  OPERATIONS CAN BE PERFORMED ON THE OPPOSITE PLATTER WITH EDIT TERMINA-
  TION RETURNING CONTROL TO THE ORIGINAL PLATTER. 
  
  A "?" COMMAND WILL DISPLAY THE AVAILABLE EDIT COMMANDS.  THE 'LIMITS?'
  REQUEST HAS A STANDARD FORMAT.  IF AN IMPROPER INPUT IS GIVEN THE 
  REQUEST WILL BE REPEATED.  IF A SINGLE LIMIT IS GIVEN OR THE FIRST
  IS GREATER THAN THE LAST THE FIRST IS TAKEN FOR BOTH THE FIRST AND THE
  LAST.  IF NO INPUT IS GIVEN (I.E., A BLANK, 'CR-LF') THEN THE LIMIT WILL
  BE TAKEN AS PROGRAM DEFINED (I.E., MAXIMUM AVAILABLE).  AN ENTRY PASS-
  WORD (SEE SOURCE LISTING) IS REQUIRED FOR OPERATING SYSTEM SAFETY 
  PURPOSES.  THIS PROG IN GENERAL FUNCTIONS INTERACTIVELY WITH THE USER.
  
  THE SOURCE OF THE FORTRAN PROGRAM LISTS ALL AVAILABLE EDITOR COMMANDS.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  INVALID OPERATOR INPUTS WILL USUALLY CAUSE THE PROGRAM TO REPEAT THE
  INPUT REQUEST.
  
  "MOVING-HEAD DISC OPERATING SYSTEM" HP #02116-91779 OF MACH 1971. 
  
  USE PROGRAM WITH CAUTION SINCE THE OPERATING SYSTEM CAN BE DESTROYED. 
  SUGGEST FOR ANY OPERATION OF AN EXPERIMENTAL NATURE THAT THE DISC 
  FIRST BE DUPLICATED.
X16101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS-3 B INTERACTIVE EDITOR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  5 
  
 **KEYWORDS:
    EDITOR
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-3B
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  EDITR IS A DOS VERSION OF THE RTE INTERACTIVE EDITOR.  IT ALLOWS A USER 
  TO EDIT TYPE-S (SOURCE) FILES CONVERSATIONALLY THROUGH A TELEPRINTER
  CONSOLE.  BOTH LINE AND CHARACTER EDITS ARE SUPPORTED.  THE USER ENTERS 
  A SERIES OF CONTROL COMMANDS TO EDIT THE ORIGINAL FILE.  LINES CAN BE 
  INSERTED OR DELETED, AND TEXT EXCHANGES CAN BE MADE.  UNLIKE THE
  STANDARD DOS EDITOR (:ED), EDITR WILL ALLOW THE FILE TO BE RESCANNED
  FOR FURTHER EDITING.  A DOS-IIIB OPERATING SYSTEM MUST BE USED BECAUSE
  EDITR USES THE FILE CREATE, FILE PURGE, AND FILE RENAME EXEC CALLS
  (EXEC 32, 33, 34).  DOS-IIIA AND DOS-M WILL NOT WORK UNLESS THIS PROG.
  IS MODIFIED TO HANDLE ITS OWN DIRECTORY CHANGES.  EDITR USES ALL
  AVAILABLE CORE (EXCLUSIVE OF ITSELF) FOR BUFFERING THE DISC. THEREFORE, 
  PROGRAM EFFICIENCY INCREASES IF MORE THAN THE MINIMUM MEMORY REQUIREMENT
  IS AVAILABLE.  FOR COMPLETE OPERATING PROCEDURES, THE USER IS REFERRED
  TO EITHER OF THE FOLLOWING TEXTS: 
  
  RTE-II PROGRAMMING AND OPERATING MANUAL (92001-93001), SEC. 4, PART 2.
  
  RTE INTERACTIVE EDITOR (92060-90014). 
  
  MINIMAL DOS-III, I.E. 16K COMPUTER, MOVING HEAD DISC AND A TELEPRINTER. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  THE SOURCE IS ENCLOSED ON THREE TAPES.  ASSEMBLE THESE TAPES BY PLACING 
  THE FIRST IN THE TAPE READER AND RUNNING THE ASSEMBLER
  
  :PR,ASMB,99 
  
  WHEN THE ASSEMBLER SUSPENDS, PLACE THE 2ND TAPE IN THE READER AND TYPE
  --
  :UP,5 
  :GO,ASMB
  
  REPEAT THE ABOVE PROCEDURE FOR THE LAST TAPE.  LOAD THE PROG. WITH THE
  DOS LOADR 
  
  :PR,LOADR 
  
  
 **RUN INSTRUCTIONS:
  
  RUN THE EDITOR WITH THE FOLLOWING DIRECTIVE 
  
  :PR,EDITR (,TTYLU(,LINE LENGTH))
  
   WHERE:  TTYLU   IS THE L.U. OF THE TELEPRINTER USED FOR COMMAND
                   INPUT.  DEFAULT IS LOGICAL UNIT 1. 
  
     LINE LENGTH   IS THE MAXIMUM OUTPUT RECORD LENGTH IN CHARACTERS. 
                   DEFAULT IS 150 CHARACTERS. 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  DOS=IIIB INTERACTIVE EDITOR 
  
  GENERAL DESCRIPTION 
  
  THE DOS-IIIB INTERACTIVE EDITOR  ENABLES THE USER 
  TO SELECTIVELY ALTER THE CONTENTS OF DOS TYPE-S (SOURCE) FILES. SOURCE
  FILES TO BE EDITED MAY BE RESIDENT IN THE USER AREA OF A DISC, OR 
  THEY MAY BE ENTERED THROUGH THE KB. (ALLOWING THE USER TO INTERACTIVELY 
  CREATE NEW SOURCE FILES).  THE USER CAN MONITOR THE PROGRESSION OF THE
  EDITING BY LISTING THE CURRENT SOURCE FILE LINE NUMBER OF THE CURRENT 
  SOURCE FILE LINE ON THE CONSOLE.
  
  
  
  THE USER IS ABLE TO SEARCH FOR OCCURRENCES OF CHAR. STRINGS AND SELEC-
  TIVELY ALTER THEM.  FULL CHARACTER EDITING IS SUPPORTED, AND CHARS. MAY 
  BE REPLACED, INSERTED, OR DELETED.  TEXT EXCHANGES CAN BE MADE THROUGH- 
  OUT ALL OR PART OF THE SOURCE FILE. 
  
  THE USER IS STRONGLY RECOMMENDED TO OBTAIN A COPY OF EITHER OF THE TWO
  MANUALS LISTED IN SECTION 5.0.  THE SECOND OF THE TWO MANUALS (RTE
  INTERACTIVE MANUAL) IS PERHAPS MORE INSTRUCTIVE.
  
  ONLY THE DEVIANCIES FROM THE RTE-II EDITOR WILL BE COVERED BELOW. 
  
  DIFFERENCES FROM THE RTE-II EDITR:
  
  1.THERE IS NO LS AREA.  THEREFORE, A SPACE IN RESPONSE TO THE QUESTION
   SOURCE FILE? WILL ASSUME INPUT IS FROM THE KEYBOARD, AND EOF WILL BE 
   PRINTED IMMEDIATELY.  EDITR WILL NOT ALLOW A FILE TO BE REPLACED IF
   IT WAS CREATED FROM THE KEYBOARD.
  
  2.THE L OPTION (PLACE INPUT IN LS AREA) IN THE END COMMAND IS DISABLED. 
  
  3.SECURITY CODES AND CARTRIDGE REFERENCE NUMBERS ARE NOT USED.
  
  4.THERE ARE NO FMGR ERROR MESSAGES.  INSTEAD, IF A FILENAME ISNT FOUND, 
   ONE OF THREE ACTIONS WILL BE TAKEN: IF THE FILENAME IS IN RESPONSE TO
   SOURCE FILE?, THE QUESTION WILL REPEAT.  IF THE FILENAME IS PART OF
   A MERGE COMMAND, THE MESSAGE SOURCE UNDEFINED WILL BE PRINTED, AND THE 
   NEXT LINE WILL BECOME THE PENDING LINE.  IF THE FILENAME IS PART OF AN 
   EC OR ER COMMAND, THE STANDARD EDITR ERROR MESSAGE (??) IS PRINTED.
  
  5.IF AN ILLEGAL FILENAME IS ENCOUNTERED (I.E. A FILENAME BEGINNING WITH 
   A DIGIT), EDITR RESPONDS WITH ILLEGAL FILENAME.  IN THE CASE OF THE M
   COMMAND, THE PENDING LINE IS UNCHANGED (NO TRANSFER TAKES PLACE).
  
  6.THERE ARE NO ZERO-LENGTH LINES. IF ONE IS CREATED, IT WILL BE REMOVED 
   ON THE NEXT PASS OF THE EDITOR.  THEREFORE, IF CNTL @ IS ENTERED AS A
   FIND FIELD, THE END OF THE FILE WILL NOT BE FOUND, AND EOF WILL PRINT. 
  
  7.THE ALTERNATE ESCAPE KEY HAS BEEN CHANGED TO A BACKSLASH (\). 
  
  8.THE DELETE OPTION FOR THE CHARACTER EDIT OPTIONS (P, C AND O) HAS 
   BEEN CHANGED TO A CNTL D (CNTL C FORCES AND END-OF-LINE WHEN USING 
   DVR00).
  
  9.IF THE FILENAME IN AN ECNAME OR ERNAME ALREADY EXISTS, THE MESSAGE
   DUPLICATE FILENAME IS ISSUED, AND THE USER MUST REISSUE THE END CMND.
  
  10.EDITR USES A TEMPORARY FILE CALLED /\/\/ WHEN REPLACING A FILE (I.E. 
   AFTER AN ER OR ERNAME COMMAND).  THIS FILENAME MUST NOT EXIST IN THE 
   USER AREA WHEN EDITR IS RUN.  IF IT DOES, THE MESSAGE MUST :PU,/\/\/ 
   IS PRINTED.  THE ONLY OPTION TO THE USER IS TO CREATE A NEW FILE WITH
   THE ECNAME COMMAND AND THEN PURGE /\/\/ AS SOON AS POSSIBLE. 
  
  11. WHEN THE ALTERNATE ESCAPE CODE IS ENCOUNTERED IN A LINE OF TEXT TO
   BE INSERTED, IT IS NO LONGER REPLACED BY THE REGULAR ESCAPE CODE.
  
  12. THE H COMMAND IS ILLEGAL AT THE END-OF-FILE WHERE IT HAS NO MEANING.
  
  13. IF DISC SPACE IS NOT AVAILABLE, THE MSG. DISC OVERFLOW IS 
    PRINTED AND EDITR WILL ABORT.  EDITR WILL USE ALL DISC SPACE BETWEEN
    THE END OF THE USER AREA (AFTER THE LAST FILE) AND THE START OF THE 
    JBIN AREA.
    EDITR WILL NOT WRITE OVER RELOCATABLE IN THE JBIN AREA. 
  
  14. LU'S FOR LIST (THE L COMMAND) ARE RESTRICTED TO EITHER 1 OR 6.
  
  15. IF SYSTEM SEARCH IS IN EFFECT WHEN EDITR IS RUN, THE MESSAGE ISSUE
      :SS,99 WILL BE PRINTED, AND EDITR WILL ABORT. 
  
  16. TRAILING BLANKS ARE NOT DELETED FROM THE SOURCE FILE WHEN IT IS READ
      IN THE ONLY WAY TO REMOVE TRAILING BLANKS IS WITH THE K COMMAND.
  
    NOTE:  IF EDITR IS :RUNNED INSTEAD OF :PROGED, THE POSITION OF THE
          JBIN AREA WILL BE INCORRECTLY INTERPRETED AND THE EDITOR WILL 
          ABORT AS UNDER NOTE 13 ABOVE.  ONLY RUN EDITR WITH A :PR CMND.
  
  THE FULL CAPABILITIES OF EDITR ARE APPRECIATED BY EXPERIMENTATION.
  THE TEST CASE ONLY SAMPLES A SMALL PORTION OF THE EDITING CMNDS.
  
  HOWEVER, IT SHOULD TEST TO SEE THAT THE BASIC ROUTINES OF THE EDITOR
  ARE FUNCTIONAL. 
  
  @ 
  :PR,EDITR              DIRECTIVE TO START EDITING 
   SOURCE FILE?          REQUEST FOR SOURCE FILENAME
  /FRED1                 FILENAME GIVEN 
   SOURCE FILE?          FILE WAS EITHER NOT FOUND OR NOT A SOURCE FILE 
  /FRED                  TRY ANOTHER FILE 
    ASMB,R,L             FILE FOUND AND FIRST LINE PRINTED
  /L5                    LIST 5 LINES 
    ASMB,R,L
  
        NAM WALDO,3         EDITR COMPLIES
        ENT ENTRY 
        SPC 2 
        EXT .DEL,..FCM,EXEC 
        SPC 3                EDITOR DISPLAYS PENDING LINE 
  /1                         GO BACK TO LINE 1
    ASMB,R,L                 EDITOR COMPLIES
    /EC1STFL                 CREATE THE FILE 1STFL
    ILLEGAL FILENAME         CAN'T HAVE A NUMBER AS FIRST CHAR. 
    /ECFERD                  GIVE IT A GOOD NAME
    END OF EDIT              WE'RE ALL DONE 
    @ 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  SYSTEM SEARCH MUST BE DISABLED BEFORE RUNNING EDITR (:SS,99).  IF 
  THIS IS NOT DONE, EDITR WILL PRINT "MUST ISSUE :SS,99" AND ABORT. 
X16201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  MODIFIED DOS-M WITH FORTRAN READ/WRITE OF DISC FILES
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    FORTRAN         I/O             FILES 
    DISC
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PACKAGE PROVIDES SEVERAL MODIFICATIONS TO THE DOS-M SYSTEM,
  REVISION F.  THE MAIN FEATURE OF THE REVISED SYSTEM IS THE ABILITY TO 
  READ AND WRITE DISC FILES USING FORTRAN I/O STATEMENTS.  THE FILES
  CREATED OR USED IN THIS WAY ARE (SS) TYPE FILES AND CAN BE LISTED AND 
  EDITED USING THE DOS-M DIRECTIVES (:LI,S AND :ED).  TO ACHIEVE THESE
  CAPABILITIES, THE USER FILES ARE TREATED AS A SEPARATE PERIPHERAL, WITH 
  THEIR OWN DRIVER, DVR37, AND THEIR OWN EQT ENTRY.  IN OPERATION THE 
  FILES ARE EQUATED TO LOGICAL UNIT NUMBERS AND CAN THEN BE TREATED IN AN 
  ANALOGOUS WAY TO MAGNETIC TAPE, WITH REWIND, END FILE, AND BACKSPACE
  AVAILABLE.  OTHER MODIFICATIONS TO THE DOS-M SYSTEM PROVIDE A CONSIDER- 
  ABLE INCREASE IN CONVENIENCE TO THE AVERAGE USER.  THEY INCLUDE THE 
  CAPABILITY TO REPLACE RUN TIME ERROR MESSAGES FROM THE LIBRARY WITH 
  EXPLICIT DESCRIPTIONS OF THE FAULT AND ASSIGN LOGICAL UNIT NUMBER 6 TO
  THE SYSTEM TELETYPE AT THE START OF THE JOB.
  
  THE ONLY REQUIRED EQUIPMENT IS THE NORMAL 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: SOURCE (REL)
  FILE#  3: SOURCE (REL)
  FILE#  4: SOURCE (REL)
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SEVERAL MODIFICATIONS HAVE BEEN MADE TO THE DOS-M SYSTEM, REV. F, WITH
  ASSOCIATED DRIVERS, ETC. AS AT THE TIME OF RELEASE OF REV. F. 
  
  THE MAIN FEATURE OF THE SYSTEM IS THE ABILITY TO READ/WRITE FROM/TO DISC
  FILES WITH NORMAL FORTRAN I/O STATEMENTS.  THE FILES CREATED OR USED IN 
  THIS WAY ARE SS TYPE FILES, AND CAN BE INSPECTED OR EDITED IN THE NORMAL
  WAY WITH :LI,S OR :ED DIRECTIVES.  THIS HAS BEEN ACHIEVED BY THE
  ADDITION OF A "DRIVER" FOR HANDLING THIS I/O.  THESE USER FILES ARE THUS
  TREATED AS SEPARATE PERIPHERALS, WITH THEIR OWN DRIVER AND EQT ENTRY. 
  THIS IS MADE POSSIBLE BY THE CREATION OF FILE LINKAGE TABLES (FLT'S)
  AT THE TOP OF BASE PAGE, IMMEDIATELY BELOW DISCM.  THESE OCCUPY FOUR
  WORDS PER FILE IN CURRENT USE AND, IN A 16K SYSTEM, DO NOT CAUSE ANY
  RESTRICTIONS EVEN WITH LONG PROGRAMS.  ONLY ONE 17 WORD EQT ENTRY IS
  NEEDED IRRESPECTIVE OF HOW MANY FILES ARE IN USE. 
  
  THE OTHER MODIFICATIONS ARE OF A RELATIVELY MINOR NATURE, BUT RESULT
  IN A CONSIDERABLE INCREASE IN CONVENIENCE TO THE AVERAGE USER.  THE RUN 
  TIME ERROR MESSAGES FROM THE LIBRARY HAVE BEEN REPLACED BY EXPLICIT 
  DESCRIPTIONS OF THE FAULT, WITH THE OPTION OF REVERTING TO THE ORIGINAL 
  FORMAT. 
  
  SYSTEM GENERATION IS CARRIED OUT EXACTLY AS IN THE ORIGINAL HP
  INSTRUCTIONS, EXCEPT FOR THE LOADING OF ADDITIONAL TAPES.  DISCM, JOBPR 
  AND LOADR REPLACE THE SUPPORTED VERSIONS.  $EX12 AND $EX25 MUST BE
  LOADED AFTER THE SUPPORTED EXEC MODULES.  "ERROR" MESSAGES WILL BE
  GENERATED WHEN $EX12 IS LOADED; THESE ARE SHOWN BELOW AND SHOULD BE 
  IGNORED.  SIMILARLY, ERR0 MUST BE LOADED AFTER THE RELOCATABLE
  LIBRARIES; AGAIN, IGNORE ERROR MESSAGES.  DVR37 AND $ERRM ARE ADDITIONAL
  TAPES AND MAY BE LOADED AT ANY CONVENIENT TIME.   DVR37 MAY BE CORE OR
  DISC RESIDENT AND DOES NOT REQUIRE DMA (IT USES DVR31 FOR THE ACTUAL
  DISC I/O).  IT SHOULD BE ASSIGNED AN UNUSED I/O SLOT IN THE EQUIPMENT 
  TABLE, AND OMITTED FROM THE INTERRUPT TABLE.  ALSO LOGICAL UNIT NUMBERS 
  (LUN'S) MUST NOT BE ASSIGNED THE "EQUIPMENT" NUMBER CORRESPONDING TO
  DVR37 DURING SYSTEM GENERATION. 
  
  IN OPERATION, THE REQUIRED FILE IS EQUATED TO A LOGICAL UNIT, AND CAN 
  THEN BE TREATED IN AN ANALOGOUS WAY TO MAGNETIC TAPE, WITH REWIND, END
  FILE AND BACKSPACE AVAILABLE.  ASCII RECORDS OF LENGTH 1 TO 160 CHARAC- 
  TERS CAN BE MANIPULATED AS DESIRED.  READ/WRITE "WITHOUT WAIT" IS 
  TREATED AS "WITH WAIT".  REQUESTS FOR BINARY READ/WRITE MAY BE POSSIBLE 
  -- THIS HAS NOT BEEN TRIED.  DETAILS OF USE OF THE SYSTEM ARE COVERED 
  UNDER "NEW DIRECTIVES" BELOW. 
  
  AS EACH FILE LINKAGE TABLE (FLT) IS SET UP BY JOBPR, THE LAST WORD
  ADDRESS OF USER BASE PAGE AREA (UBLWA) IS ADJUSTED ACCORDINGLY, SO THAT 
  ANY NUMBER OF LUN'S CAN BE EQUATED TO SS FILES.  NOTE THAT LUN'S 1 TO 
  CANNOT BE USED IN THIS WAY THROUGH THE I/O STATUS EXEC CALL, STATUS IS
  AVAILABLE FOR ANY LUN AFTER AN OPERATION OF THAT LUN AND BEFORE ANOTHER 
  OPERATION ON ANOTHER USER FILE LUN -- THAT IS, THE STATUS GIVEN IS THAT 
  OF THE LAST FLT OPERATION.  STATUS BITS ARE:
  
       BIT 7:  END OF FILE HAS BEEN READ. 
  
       BIT 6:  START OF FILE (LOAD POINT ON MAGNETIC TAPE). 
  
       BIT 5:  1.  FOLLOWING READ -- END OF DOCUMENT, I.E., NO RECORDS
                   AFTER THIS END OF FILE MARK. 
  
               2.  FOLLOWING WRITE -- LAST SECTOR HAS BEEN STARTED, 
                   HENCE FURTHER WRITING DISALLOWED.
  
       BIT 3:  LAST OPERATION WAS WRITE.
  
       BIT 2:  READ ONLY FILE, WRITE NOT ALLOWED. 
  
  THROUGH THE I/O CONTROL EXEC CALL, CERTAIN CONTROL REQUESTS, WHICH
  LEAVE STATUS APPROPRIATE TO THE LUN ACCESSED CAN BE MADE.  THE FUNCTION 
  CODES AVAILABLE ARE:
  
      CODE 0:  NO ACTION OTHER THAN TO SET STATUS.
  
      CODE 1:  1.  FOLLOWING WRITE -- WRITE END OF FILE, I.E., RECORD OF
                   ZERO LENGTH. 
  
               2.  FOLLOWING READ -- CLEAR END OF FILE BIT UNLESS BIT 5 
                   IS ALSO SET. 
  
      CODE 2:  BACKSPACE ONE RECORD (EOF IS REGARDED AS A RECORD).
  
  
      CODE 4:  REWIND TO "LOAD POINT".
  
  
       _____________________
      |                     | 
      | ERR  08      ERR0   | 
      | $EX12        ERR 05 | 
      | ERR  85      ERR0   | <-------ERROR MESSAGES
      | $EX12               |         (REFERRED TO ON PREVIOUS PAGE)
      | ERR  08             | 
      |_____________________| 
  
  
  IT CAN BE SEEN FROM THESE THAT A FILE MAY BE BROKEN INTO SUBFILES BY EOF
  MARKS EXACTLY AS ON MAGNETIC TAPE.  IF AN END OF FILE IS READ, APPRO- 
  PRIATE STATUS IS SET AND LENGTH ZERO IS RETURNED.  FURTHER READING IS 
  INHIBITED UNTIL THE EOF STATUS BIT IS CLEARED (IF THIS IS POSSIBLE, 
  I.E., NOT AT END OF DOCUMENT).
  
  AS THE FILE NAME IS NOT SAVED IN THE FLT ENTRY, ANY RELOCATION OF USED
  FILES WOULD WRECK THE FLT ENTRIES.  FOR THIS REASON, ANY :PU, :DD OR
  OTHER OPERATION WHICH WOULD CAUSE THIS TROUBLE WILL RESULT IN THE 
  AFFECTED LUN'S BEING RELEASED, WITH ZERO PLACED IN THE LUN TABLE.  IT IS
  HOPED THAT THIS PROCEDURE IS "IDIOT PROOF" (BUT NOT GUARANTEED).  ALSO, 
  ALL FILES MUST BE ON THE SAME SUBCHANNEL, AND THIS SUBCHANNEL MUST BE 
  THE CURRENT SUBCHANNEL WHEN ANY OPERATIONS ARE REQUESTED.  EIGHT MONTHS 
  OPERATION BY SEVERAL USERS HAS NOT PRODUCED ANY LOST FILES OR OTHER 
  DIFFICULTIES. 
  
  NEW DIRECTIVES
  
  1.  :LU,N,FNAME 
  
  THIS EQUATES LUN N TO AN EXISTING FILE FNAME, WHICH MUST BE TYPE SS.  IT
  IS NOT POSSIBLE TO WRITE ON THIS FILE.  AFTER THE LAST RECORD IS READ,
  A FURTHER READ WILL RETURN ZERO LENGTH (I.E., EOF) AND STATUS BITS 5
  AND 7 SET.  ANOTHER READ GIVES RQ ERROR.  THE FILE MAY HAVE BEEN WRITTEN
  BY A PREVIOUS JOB OR STORED (:ST,S) IN THE NORMAL WAY, OR RESULT FROM AN
  EDIT RUN. 
  
  
  2.  :LU,N,FNAME,M 
  
  THIS EQUATES LUN N TO A NEW FILE FNAME, OF LENGTH M SECTORS (PROVIDED 
  ONE DOES NOT EXIST).  THIS FILE IS CREATED, TYPE SS, AND A ZERO LENGTH
  RECORD IS WRITTEN (I.E., EOF) AND BACKSPACED OVER.  THE FILE HAS ITS P
  BIT SET, SO UNLESS AN ST,P DIRECTIVE IS GIVEN IT IS NOT SAVED AT END OF 
  JOB.  THE FILE IN THIS CASE IS WRITE ENABLE SO THAT RECORDS CAN BE
  WRITTEN AND SUBSEQUENTLY READ AFTER REWIND OR BACKSPACE.  AS EACH RECORD
  IS WRITTEN, A ZERO LENGTH RECORD (EOF) IS WRITTEN AFTER IT AND BACK-
  SPACED OVER READY FOR THE NEXT WRITE.  READ FOLLOWING WRITE (WITHOUT
  REWIND OR BACKSPACE) IS ILLEGAL.
  
  3.  :LU,N,M 
  
  WHERE M IS THE "EQUIPMENT" TYPE FOR THE SS FILE DRIVE DVR37.  IN THIS 
  CASE, LUN N IS EQUATED TO A SCRATCH FILE IN THE WORK AREA, AND IS WRITE 
  ENABLED.
  
  4.  :JO,NAME,C
  
  WHERE C IS ANY CHARACTER.  THIS RESULTS IN LUN6 BEING ASSIGNED TO THE 
  SYSTEM TTY AS THE JOB IS COMMENCED, ALLOWING CONVENIENT USE OF THE
  SYSTEM IF THE LINE PRINTER IS DOWN OR NOT WANTED.  ALTERNATIVELY, ANY 
  BIT SET IN THE S REGISTER BEFORE :JO HAS THE SAME EFFECT. 
  
  5.  :LI,N,N,C,D,ETC.
  
  THIS CAUSES A LISTING ON LUN N OF PART OF THE USER DIRECTORY, COMPRISING
  THOSE FILES WHOSE NAMES START WITH C, D, ETC.  ONE OR MORE LETTERS CAN
  BE USED.  THUS VARIOUS USERS OF THE SYSTEM MAY BE ALLOCATED AN INITIAL
  LETTER FOR THEIR FILE NAMES.
  
  6.  :SD 
  
  THIS SETS SHORT FORMAT FOR RUN TIME DIAGNOSTICS ON LUN 6, I.E., THE 
  SAME FORMAT AS THE SUPPORTED VERSION.  DIAGNOSTICS APPEAR ON LUN 1
  AS WELL.
  
  7.  :LD 
  
  THIS SETS LONG FORMAT FOR RUN TIME DIAGNOSTICS ON LUN 6, THE DEFAULT
  FORM.  THESE DIAGNOSTICS CONSIST OF ONE OR MORE INFORMATIVE LINES.  THE 
  SHORT FORMAT APPEARS ALSO ON LUN 1.  THE LONG FORMAT IS SET AT START OF 
  JOB.
  
  OTHER MODIFICATIONS 
  
  1.  IF THE FIRST TWO CHARACTERS OF THE DATE ARE ENTERED AS NUMERALS,
      (I.E., DAY OF MONTH) THEY ARE UPDATED AT THE START OF THE FIRST JOB 
      AFTER MIDNIGHT (I.E., ENTER DATE AS :DA,07-MAY-74,H,M). 
  
  2.  AT JOB HEADING, TIME IS PRINTED OUT IN THE NORMAL FORMAT. 
  
  3.  AT START OF JOB, ALL FLT'S ARE CLEARED, AND DVR37 AND ANY OTHER 
      DRIVERS AS NEEDED ARE SET TO A STANDARD CONDITION (E.G., AUTO-EJECT 
      MODE FOR LINE PRINTER, STANDARD CODE FOR A TRANSLATING TAPE READER
      DRIVER).
  
  4.  THE :DU DIRECTIVE HAS BEEN MODIFIED SO THAT REQUESTS FOR ASCII PAPER
      TAPE OUTPUT ARE EXECUTED AS ASCII MODE INSTEAD OF BINARY. 
  
  5.  A :RU DIRECTIVE MOVES LINE PRINTER TO HEAD OF A NEW PAGE. 
  
  6.  ALL DIRECTIVES ARE LISTED ON LUN 7 AS WELL AS THE SYSTEM TTY.  :EJ
      IS LISTED ON A NEW PAGE, ENABLING A JOB LISTING TO BE REMOVED FROM
      THE PRINTER (WITHOUT THE EJ MESSAGE) AS SOON AS COMPLETED.
  
  7.  LOADR DOES NOT NOW CALL FOR A NEW PAGE ON LUN 6.
  
  8.  THE FUNCTION OF THE LOADR MEMORY MAP PARAMETERS HAVE BEEN REVERSED. 
      (I.E., :PR,LOADR DOES NOT PRODUCE A MAP.) 
  
  9.  THE *IGNORED MESSAGE LISTS APPROPRIATE DIRECTIVES WHICH MAY BE
      ENTERED.
  
  10. THE REQUEST FOR THE :DATE DIRECTIVE HAS BEEN MADE MORE EXPLICIT.
  
  11. :ST,S  :LI,S AND :ED ALLOW MANIPULATION OF RECORDS UP TO 160
      CHARACTERS IN LENGTH. 
  
  12. :LI,S LISTS END OF FILE RECORDS IN SS FILES.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  THE TEXT OF THE EXTENDED RUN TIME ERROR MESSAGES IS KEPT ON THE DISC IN 
  A DUMMY USER PROGRAM $ERRM.  THE MESSAGES HAVE BEEN WRITTEN ON THE BASIS
  OF A 132 COLUMN LINE PRINTER, AND MAY BE ALTERED IF AND AS NECESSARY BY 
  APPROPRIATE CHANGES TO $ERRM.  THE FORMAT OF EACH MESSAGE IS: 
  
       OCT  N*400B
       ASC  N,TEXT     FOR EACH LINE
       NOP
       BSS  -- SUFFICIENT TO FILL A SECTOR (I.E., 128 WORDS TOTAL FOR 
               MESSAGE).
  
  $ERRM MAY BE OMITTED IF THE LONG FORMAT DIAGNOSTICS ARE NOT WANTED. 
  
  
 **MISCELLANEOUS: 
  
  THIS SYSTEM IS A MODIFICATION OF DOS-M REV F AND MAY NEED MODIFICATION
  TO BE COMPATIBLE WITH FURTHER DOS-M REVISIONS.  IT IS NOT COMPATIBLE
  WITH REV E OR EARLIER VERSIONS. 
  
  THE NUMBER OF LUNS WHICH CAN BE EQUATED TO DISC FILES IS LIMITED ONLY 
  BY THE AVAILABILITY OF BASE PAGE LOCATIONS, FOUR WORDS OF WHICH ARE 
  REQUIRED FOR EACH LUN FOR THE FLT.  NOTE THAT IF LUNS ARE REDEFINED 
  DURING A JOB, THE SPACE FOR THE UNUSED FLT IS NOT RELEASED UNTIL END
  OF JOB. 
X16301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS-III FILE SAVER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    FILES           SAVE/RESTORE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM IS CAPABLE OF SAVING PURGED FILES WHOSE BOUNDARIES ARE NOT 
  THE SAME IN THE USER DIRECTORY AS THEY ARE ACTUALLY ON THE DISC.
  
  THIS IS A FLEXIBLE FILE SAVING PROGRAM WHICH RESIDES ON DISC WITHIN THE 
  HP DOS-III SYSTEM.  THE PROGRAM WHEN CALLED INTO CORE IS ABLE TO (SAVE) 
  PURGED FILES OR FILES WHOSE BOUNDARIES ARE NOT THE SAME IN THE USER 
  DIRECTORY AS THEY ARE ACTUALLY ON THE DISC.  FOR ADDED PROTECTION OF
  THE USER FILES, A SECURITY CODE IS INCORPORATED INTO THE PROGRAM ALONG
  WITH A NO ECHO INPUT FEATURE AFTER THE PROGRAM HAS BEEN CALLED INTO 
  CORE. 
  
  HARDWARE REQUIRED:  DISC, TELETYPE AND A MINIMUM DOS-III 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: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  TO CALL THE PROGRAM 
  
  :PROG,SAVER,P1,P2,P3,P4 
  
  THIS CALLS DOWN FROM THE DISC, THE DISC FILE AND RUNS THE PROGRAM FOR 
  THE USER (SEE DOS-III MANUAL).
  
  PARAMETERS
  
  P1 = CURRENT SECURITY CODE (INITIALLY 32767).  THE SECURITY CODE IS 
       CHANGED EACH TIME THE PROGRAM IS EXECUTED SUCCESSFULLY.
  
  P2 = CURRENT FILE STATUS
  
       WHERE:  1 = THE DISC BOUNDARIES OF THE FILE IN USER DIRECTORY
                   DO NOT CORRESPOND WITH THE PHYSICAL BOUNDARIES OF
                   THE FILE ON THE DISC 
  
               2 = A PURGED FILE (AS LONG AS THE DISC HAS NOT BEEN
                   REPACKED)
  
  P3 = CORRECT TRACK NUMBER OF FILE 
  
  P4 = CORRECT SECTOR NUMBER OF FILE
  
  PROGRAM EXECUTION 
  
  UPON ENTERING THE PROGRAM, IF THE SECURITY CODE ENTERED IN THE :PROG
  DIRECTIVE DOES NOT CORRESPOND WITH THE SECURITY CODE RECOGNIZED BY
  PROGRAM CONTROL, PROGRAM CONTROL RESPONDS WITH: 
  
         ILLEGAL SECURITY CODE!  (AND THE PROGRAM IS ABORTED!)
  
         @
  
  BUT IF THE SECURITY CODE ENTERED IS THE SAME AS THE ONE RECOGNIZED BY 
  PROGRAM CONTROL, PROGRAM CONTROL RESPONDS WITH: 
  
         ENTER FILENAME 
  AT THIS TIME, THE NAME OF THE FILE THAT IS TO BE SAVED IS ENTERED 
  THROUGH THE BATCH INPUT DEVICE (OR SYSTEM TELETYPE).
  
  P2 = 1
  
  THIS ROUTINE IS DESIGNED TO ENTER THE USER DIRECTORY, FIND THE ENTRY
  CORRESPONDING WITH THE NAME OF THE FILE THAT WAS ENTERED BY THE USER
  AND CHANGE THE TRACK/SECTOR ADDRESS OF THE FILE ON THE USER DISC WITH 
  THE PROVIDED TRACK AND SECTOR ADDRESS.
  
  IF THE NAME OF THE FILE IS NOT FOUND IN THE USER DIRECTORY, THE PROGRAM 
  OUTPUTS:
  
         NO SUCH FILE 
  
  AND THEN PROCEEDS TO GET A NEW SECURITY CODE.  BUT IF THE FILE ENTRY IS 
  FOUND IN THE USER DIRECTORY, THE PROGRAM COMPARES THE TRACK/SECTOR
  ADDRESSES.  IF THE TWO ADDRESSES ARE THE SAME, THE PROGRAM OUTPUTS: 
  
         NO CHANGES OCCURRED! 
  
  AND PROCEEDS TO GET A NEW SECURITY CODE.  IF THE TWO ADDRESSES ARE NOT
  THE SAME, THE PROGRAM EXCHANGES THE TRACK/SECTOR ADDRESS IN THE ENTRY 
  WITH THE ONE PROVIDED BY THE USER AND THEN PROCEEDS TO GET A NEW
  SECURITY CODE.
  
  P2 = 2
  THIS ROUTINE IS SUPPOSED TO RESTORE PURGED FILE ENTRIES IN THE USER 
  DIRECTORY AS SPECIFIED BY THE USER. 
  
  THE PROGRAM FIRST SEARCHES THE DIRECTORY TO SEE IF THE FILE SPECIFIED 
  BY THE USER STILL EXISTS OR IF THE FILE NAME SPECIFIED BY THE USER HAS
  BEEN USED BY ANOTHER USER.  IF A FILE IS FOUND TO HAVE THE SAME NAME, 
  THE PROGRAM OUTPUTS:
                   DUPLICATE FILE 
  
  AND PROCEEDS TO GET A NEW SECURITY CODE.  IF NO DUPLICATE FILE CAN BE 
  FOUND, THE PROGRAM SEARCHES FOR THE PURGED FILE NAME IN THE USER
  DIRECTORY.  IF A FILE NAME IS FOUND THAT RESEMBLES THAT WHICH WAS 
  SPECIFIED, THE TRACK/SECTOR ADDRESS IN THE ENTRY AND THE ADDRESS
  SPECIFIED BY THE USER IN THE :PROG DIRECTIVE IS CHECKED TO SEE IF THE 
  ENTRY IS INDEED THE ENTRY OF THE CORRESPONDING FILE.  IF THE ADDRESS
  IN THE ENTRY IS CORRECT, THE FILE ENTRY IS RESTORED.  BUT IF THE
  ADDRESSES ARE NOT THE SAME, THE SEARCH IS CONTINUED UNTIL ANOTHER FILE
  ENTRY IS THE SAME OR UNTIL THE END OF THE USER DIRECTORY IS SENSED, 
  WHERE-UPON THE PROGRAM RESPONDS WITH: 
  
                   NO SUCH FILE 
  
  MEANING THAT THE DISC HAS BEEN REPACKED OR THE TRACK AND SECTOR ADDRESS 
  PROVIDED IN THE :PROG DIRECTIVE IS INCORRECT. 
  
  SECURITY CODE CHANGE
  
  WHEN THE PROGRAM TRANSFERS CONTROL TO THE SECURITY CODE CHANGE ROUTINE, 
  THE PROGRAM RESPONDS WITH:
  
                   ENTER NEW SECURITY CODE
  
  AND THE NEW SECURITY CODE IS ENTERED THROUGH THE BATCH INPUT DEVICE (OR 
  THE SYSTEM TELETYPE).  THEN THE NEW SECURITY CODE IS CHANGED WITHIN 
  THE FILE ON DISC. 
  
  BATCH OPERATION 
  
  IF DOS-III IS IN THE BATCH MODE, THEN THE FILE NAME AND NEW SECURITY
  CODE ARE ENTERED THROUGH THE BATCH INPUT DEVICE.  "ENTER FILENAME" AND
  "ENTER NEW SECURITY CODE" ARE NOT PRINTED ON THE SYSTEM TELETYPE. 
  A NOTE TO THE USER: 
  
  1.  IT IS IMPERATIVE THAT THE USER OF THIS PROGRAM, WHEN USING P2 = 1,
      KNOWS THE ACTUAL FILE BOUNDARY ON THE USER DISC.  YOU AS THE USER 
      MUST BE CAPABLE OF FINDING AND ISOLATING THE PHYSICAL BOUNDARY OF 
      THE FILE IF THIS ROUTINE OF THE PROGRAM IS TO BE SUCCESSFUL.
      EXAMPLE 1.) 
  
  2.  IF THE PROGRAM, WHEN USING P2 = 2, OUTPUTS "DUPLICATE FILENAME", DO 
      NOT GIVE UP!  IF YOU ARE SURE THAT THE DISC HAS NOT BEEN REPACKED,
      AND ANOTHER FILE HAS BEEN ESTABLISHED USING THE FILE NAME OF THE
      PURGED FILE, CHANGE THE SECOND LETTER OF THE PURGED FILE NAME AND 
      RE-EXECUTE THE PROGRAM.  (SEE EXAMPLE 3.) 
  
  WARNING!! 
  
  THIS PROGRAM SHOULD NOT BE ALLOWED TO BE USED BY IRRESPONSIBLE PERSONS
  WHO WOULD LIKE TO "SABOTAGE" ANOTHER USERS FILE BY CHANGING THE TRACK 
  AND SECTOR ADDRESS OF THE FILE WITHIN THE USER DIRECTORY (P2 = 1).  IT
  IS FOR THIS REASON THAT THE SECURITY CODE AND NO ECHO FEATURES WERE 
  INCORPORATED INTO THE PROGRAM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  MESSAGES AND MEANINGS 
  
  @                        THE PROGRAM HAS TERMINATED NATURALLY AND 
                           CONTROL IS NOW WITH DOS-III. 
  
  DUPLICATE FILE           ENCOUNTERED WHEN P2 = 2 AND ANOTHER FILE USES
                           THE FILE NAME SPECIFIED BY THE USER OR THAT THE
                           FILE SPECIFIED BY THE USER HAS NOT BEEN PURGED.
  
  ENTER FILENAME           THE PROGRAM WISHES THE USER TO INPUT THE NAME
                           OF THE FILE THAT HE WISHES TO SAVE.
  
  ENTER NEW SECURITY CODE  THE PROGRAM WISHES THE USER TO INPUT THE NEW 
                           SECURITY CODE FOR THE NEXT TIME THE PROGRAM IS 
                           EXECUTED.
  
  ILLEGAL SECURITY CODE!   THE SECURITY CODE, THAT WAS ENTERED BY THE USER
                           THROUGH THE :PROG DIRECTIVE, DOES NOT CORRES-
  @                        POND WITH THAT WHICH IS RECOGNIZED BY PROGRAM
                           CONTROL.  THE NEXT ACTION OF PROGRAM CONTROL IS
                           TO ABORT THE PROGRAM.
  
  NO CHANGES OCCURRED!     ENCOUNTERED WHEN P2=1 AND THE TRACK AND SECTOR 
                           ADDRESS, THAT WAS SPECIFIED BY THE USER IN THE 
                           :PROG DIRECTIVE, IS THE SAME AS THE TRACK AND
                           SECTOR ADDRESS IN THE USER DIRECTORY ENTRY FOR 
                           THE FILE THAT WAS SPECIFIED BY THE USER. 
                           BECAUSE THE ADDRESSES ARE THE SAME, THERE IS NO
                           NEED TO ALTER THE USER DIRECTORY ENTRY.
  
  NO SUCH FILE             THE NAME OF THE FILE SPECIFIED BY THE USER IS
                           NOT IN THE USER DIRECTORY. 
  
  
 **MISCELLANEOUS: 
  
  THE USER MUST KNOW THE PHYSICAL TRACK/SECTOR BOUNDARIES OF FILE WHEN
  P2=1 FOR THE PROGRAM TO WORK AS INTENDED. 
X16401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ASCII SOURCE FILE WRITE SUBROUTINE
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    ASCII           FILES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE ASCII SOURCE FILE WRITE SUBROUTINE ENABLES THE USER TO HAVE THE 
  FOLLOWING CAPABILITIES: 
  
  1.  SOURCE FILE WRITE CAPABILITY
  
      THE USER MAY CONCURRENTLY WRITE TO A MAXIMUM OF TEN DISC FILES. 
      THESE DISC FILES NEED NOT BE ASCII DISC FILES, BUT IF THEY ARE, THE 
      FILE WRITE FORMAT IS COMPATIBLE WITH DOS SOURCE FILE STRUCTURE. 
      EACH OPENED FILE IS ASSIGNED A BUFFER, I/O EFFICIENCY MAY BE GREATLY
      INCREASED SINCE THE ROUTINE PERFORMS BOTH LOGICAL AND PHYSICAL
      WRITES. 
  
  
  
  
  2.  SEQUENTIAL WRITE CAPABILITY 
  
      AS MENTIONED ABOVE THE DESTINATION FILE DOES NOT HAVE TO BE A 
      SOURCE FILE, THUS THE USER MAY USE THIS SUBROUTINE SIMPLY AS A
      POWERFUL HIGH SPEED SEQUENTIAL FILE WRITE SUBROUTINE. 
  
  SINCE THE HIGH SPEED DISC INPUT/OUTPUT SUBROUTINE IS REQUIRED 
  (HP# 22681-18981), THE USER MAY WRITE ON THE SCRATCH AREAS OF BOTH
  THE CURRENT USER DISC AND THE SYSTEM DISC BY USING THE FILE NAMES $USER 
  AND $SYSTM. 
  
  HARDWARE REQUIREMENTS:  MINIMAL DOS WITH A 7900A DISC DRIVE.  DOS-III 
  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: SOURCE
  FILE#  3: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  FOPEN - OPENS A FILE AND MAKES IT READY FOR ACCESS BY THE OTHER ENTRY 
          POINTS. 
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FOPEN (FNAME,BUFFER,NSECT,IERR) 
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FOPEN
               DEF *+5
               DEF FNAME
               DEF BUFR 
               DEF NSECT
               DEF IERR 
  
       WHERE:   FNAME - 3 WORD ARRAY CONTAINING THE FILE NAME 
  
                BUFFER - BUFFER ALLOCATED FOR I/O WORK.  MUST BE AT LENGTH
                         128 WORDS LONG OR A MULTIPLE OF 128. 
  
                NSECT  - LENGTH OF BUFFER IN SECTORS - INT (BUFFER LENGTH/
                         128) 
  
                IERR   - ERROR INDICATOR
  
               THE 'BUFFER' MUST NOT BE USED WHILE THE FILE IS OPEN.  ONCE
               THE FILE IS CLOSED BY THE 'FWEOF', THE BUFFER MAY BE USED
               BY ANOTHER FILE. 
  
               THE FILE MUST NOT BE OPENED MORE THAN ONCE, OTHERWISE I/O
               ERRORS MAY RESULT. 
  
  
  FWRTE - WRITES ONE RECORD TO THE FILE.
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FWRTE (FNAME,RECORD,IERR) 
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FWRTE
               DEF *+4
               DEF FNAME
               DEF RECRD
               DEF IERR 
  
         WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME 
  
            RECORD - RECORD(1) EQUALS THE NUMBER OF WORDS TO BE WRITTEN 
                     RECORD (2 THROUGH N) CONTAIN THE WORDS/CHARACTERS
                     TO BE WRITTEN. 
  
            IERR   - ERROR INDICATOR
  
  FWEOF - WRITES A PHYSICAL END OF FILE AND ANY LOGICAL RECORDS THAT
          HAVEN'T BEEN WRITTEN.  IT ALSO REMOVES THE FILE FROM THE FOPEN
          FILE TABLE AND RELEASES THE FILE AND ITS BUFFER.
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FWEOF (FNAME,IERR)
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FWEOF
               DEF *+3
               DEF FNAME
               DEF IERR 
  
       WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME 
  
               IERR   - ERROR INDICATOR 
  FLEN - RETURNS THE LOGICAL NUMBER OF SECTORS WRITTEN.  IT IS USEFUL IN
         CREATING A FILE UNDER PROGRAM CONTROL AND COPING TO IT FROM THE
         SCRATCH AREA.
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FLEN (FNAME, NSECTS, IERR)
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FLEN 
               DEF *+4
               DEF FNAME
               DEF NSECTS 
               DEF IERR 
  
       WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME 
  
               NSECTS - # LOGICAL SECTORS USED
  
               IERR   - ERROR INDICATOR 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  EACH CAN RETURNS A STATUS VALUE 'IERR'.  THE POSSIBLE VALUES ARE AS 
  FOLLOWS:
  
  IERR                                                      ROUTINE 
  VALUE    MEANING                                          CALLED
  
    0      NORMAL RETURN - NO  ERRORS                       (ALL) 
  
    1      REQUESTED FILE DOES NOT EXIST                    FOPEN 
  
    2      MORE THAN 10 FILES OPEN AT ONE TIME              FOPEN 
  
    3      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST     FWRTE 
  
    4      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST     FWEOF 
  
    5      ATTEMPTED TO WRITE BEYOND PHYSICAL END OF FILE   FWRTE 
  
    6      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST     FLEN
  
  WHEN AN ERROR IS ENCOUNTERED, THE ROUTINE DOES NOT TERMINATE THE
  PROGRAM, THUS AN ERROR CHECK SHOULD BE PERFORMED AFTER EACH CALL TO 
  INSURE PROPER PROGRAM EXECUTION.
  
  
 **MISCELLANEOUS: 
  
  CARE SHOULD BE TAKEN WHEN WRITING IN EITHER THE SYSTEM OR USER AREA OF
  THE DISK.  IF A FILE IS CREATED WHILE THE SCRATCH AREA OF THE DISK IS 
  BEING USED, THE INFORMATION STORED IN THE SCRATCH AREA MAY BE LOST. 
  
  CARE ALSO SHOULD BE TAKEN WHEN READING AND WRITING IN BOTH USER AND 
  SYSTEM AREAS ($USER AND $SYSM).  IF THE CURRENT USER DISK IS THE SYSTEM 
  DISK, THE $USER FILE IS THE SAME AS THE $SYSTM. 
X16501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  ASCII SOURCE FILE READ SUBROUTINE 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    ASCII           FILES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-III 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THE ASCII SOURCE FILE READ SUBROUTINE ENABLES THE USER TO HAVE THE
  FOLLOWING CAPABILITIES: 
  
  1.  SOURCE FILE READ CAPABILITY:
  
      THE USER MAY CONCURRENTLY READ TO A MAXIMUM OF TEN DISC FILES.
      THESE DISC FILES NEED NOT BE AN ASCII DISC FILE, BUT THE FILE BEING 
      READ MUST BE STRUCTURED THE SAME AS AN ASCII DISC FILE.  EACH 
      OPENED FILE IS ASSIGNED A BUFFER (128 WORD MINIMUM).  DEPENDING 
      UPON THE SIZE OF THE BUFFER I/O EFFICIENCY MAY BE GREATLY INCREASED 
      SINCE THE ROUTINE PERFORMS BOTH LOGICAL AND PHYSICAL READS. 
  
  2.  SEQUENTIAL READ CAPABILITY: 
  
      AS MENTIONED ABOVE THE INPUT FILE DOES NOT HAVE TO BE A SOURCE
      FILE, BUT THE FILE STRUCTURE MUST BE IDENTICAL TO A SOURCE FILE.
      THE USER MAY USE THIS SUBROUTINE SIMPLY AS A POWERFUL HIGH-SPEED
      SEQUENTIAL FILE READ SUBROUTINE.
  
  SINCE THE HIGH-SPEED DISC INPUT/OUTPUT SUBROUTINE IS REQUIRED (HP#22681-
  18981) THE USER MAY READ THE SCRATCH AREAS OF BOTH THE CURRENT USER DISC
  AND THE SYSTEM DISC BY USING THE FILE NAMES $USER AND $SYSM.  (THESE
  FILES MUST COMPLY WITH THE ASCII FILE STRUCTURE ALSO).
  
  HARDWARE REQUIRED:  MINIMAL DOS-M OR DOS-III OPERATING SYSTEM INCLUDING 
  A 7900A 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: SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  OPENF - OPENS A FILE AND MAKES IT READY FOR ACCESS BY THE OTHER ENTRY 
          POINTS. 
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL OPENF (FNAME,BUFR,NSECT,IERR) 
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB OPENF
               DEF *+5
               DEF FNAME
               DEF BUFR 
               DEF NSECT
               DEF IERR 
  
          WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME
  
             BUFR   - BUFFER ALLOCATED FOR I/O WORK.  MUST BE AT LEAST
                      128 WORDS LONG OR A MULTIPLE OF 128.
  
             NSECT  - LENGTH OF THE BUFFER IN SECTORS INT(BUFFER LENGTH/
                      128)
  
             IERR   - ERROR INDICATOR 
  
      THE 'BUFR' MUST NOT BE USED WHILE THE FILE IS OPEN.  ONCE THE FILE
      IS CLOSED BY THE 'FEND', THE BUFR MAY BE USED BY ANOTHER FILE.
  
      THE FILE MUST NOT BE OPENED MORE THAN ONCE, OTHERWISE I/O ERRORS
      WILL RESULT.
  
  FREAD - READS ONE RECORD FROM THE FILE. 
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FREAD (FNAME,RECORD,IERR) 
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
               JSB FREAD
               DEF *+4
               DEF FNAME
               DEF RECRD
               DEF IERR 
  
          WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME
  
         RECRD  - BUFFER IN WHICH THE RECORD IS STORED RECRD(1) 
                  CONTAINS THE NUMBER OF WORDS (RECORD LENGTH IN
                  WORDS).  RECRD(2) THROUGH RECRD(RECRD(1)+1) CONTAINS
  
  
                  THE ACTUAL INFORMATION READ 
  
         IERR:  - ERROR INDICATOR 
  
  FRSET - RESETS THE POINTER TO THE BEGINNING OF THE FILE.  SIMILAR TO
          THE MAG TAPE 'REWIND' STATEMENT.
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FRSET (FNAME,IERR)
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FRSET
               DEF *+3
               DEF FNAME
               DEF IERR 
  
          WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME
                  IERR   - ERROR INDICATOR
  
  FEND - CLOSES THE FILE AND RELEASES THE BUFFER FOR OTHER REASSIGNMENT.
  
          CALLING SEQUENCE:  FORTRAN
  
               CALL FEND (FNAME,IERR) 
  
          CALLING SEQUENCE:  ASSEMBLY LANGUAGE
  
               JSB FEND 
               DEF *+3
               DEF FNAME
               DEF IERR 
  
          WHERE:  FNAME  - 3 WORD ARRAY CONTAINING THE FILE NAME
  
                  IERR   - ERROR INDICATOR
  
  NOTE:  ALL VARIABLES USED IN THE FORTRAN AND ASSEMBLY LANGUAGE CALLS
            ARE INTEGER.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  EACH CALL RETURNS A STATUS VALUE 'IERR'.  THE POSSIBLE VALUES ARE AS
  FOLLOWS:
  
  IERR                                                    ROUTINE 
  VALUE    MEANING                                        CALLED
  
    0      NORMAL RETURN - NO ERRORS                      (ALL) 
  
    1      REQUESTED FILE DOES NOT EXIST                  OPENF 
  
    2      MORE THAN 10 FILES OPENED AT ONE TIME          OPENF 
  
    3      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST   FRSET 
  
    4      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST   FEND
  
    5      REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST   FREAD 
  
    6      END OF FILE ENCOUNTERED                        FREAD 
  
  WHEN AN ERROR IS ENCOUNTERED, THE ROUTINE DOES NOT TERMINATE THE
  PROGRAM, THUS AN ERROR CHECK SHOULD BE PROVIDED AFTER EACH CALL TO
  INSURE PROPER PROGRAM EXECUTION.
  
  
 **MISCELLANEOUS: 
  
  CARE SHOULD BE TAKEN WHEN WRITING IN EITHER THE SYSTEM OR USER AREA 
  OF THE DISK.  IF A FILE IS CREATED WHILE THE SCRATCH AREA OF THE DISK 
  IS BEING USED, THE INFORMATION STORED IN THE SCRATCH AREA MAY BE LOST.
  
  CARE ALSO SHOULD BE TAKEN WHEN READING AND WRITING IN BOTH USER AND 
  SYSTEM AREAS ($USER & $SYSM).  IF THE CURRENT USER DISK IS THE SYSTEM 
  DISK, THE $USER FILE IS THE SAME AS THE $SYSTM. 
X16601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  R/W TO DISC FILES USING FORTRAN READ/WRITE STATEMENTS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  6 
  
 **KEYWORDS:
    FILES           FORTRAN         I/O 
    DISC
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-IIIB
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM IS SIMILAR TO THE 'CODE' PROGRAM IN THE FORTRAN LIBRARY. 
  WHEN A CALL DISK (FNAME,ISTAT) IS MADE BEFORE THE FORMATTED READ OR 
  WRITE STATEMENT, THE DATA IS TRANSFERRED TO/FROM THE SPECIFIED FILE.
  THIS GIVES THE ABILITY TO FORMAT DATA USED ON THE DISC.  (ASCII SOURCE
  FILES MAY BE EITHER WRITTEN OR READ).  THE CALL DISK AND THE READ/WRITE 
  FOLLOWING ARE TREATED AS IF THEY WERE ONE STATEMENT.  IF THE READ WRITE 
  IS EXECUTED WITHOUT EXECUTING THE CALL DISK, THEN IT FUNCTIONS NORMALLY.
  WHEN EXECUTING THE CALL DISK, THE UNIT NUMBER IS IGNORED.  THE TRANFER
  IS DIRECTED TOWARDS THE FILE NAMED IN FNAME.  'DISK' IS INTENDED FOR USE
  WITH ONLY ASCII RECORDS.
  
  A MINIMAL DOS-III SYSTEM IS REQUIRED. 
  
  SOFTWARE REQUIRED:  22682-18940 ASCII SOURCE FILE WRITE SUBROUTINE ASCII
  SOURCE FILE READ SUBROUTINE.  22681-18981 HIGH-SPEED DISC INPUT/OUTPUT. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  CALLING SEQUENCE:  FORTRAN
  
       CALL DISK (FNAME,ISTAT)
       (READ OR WRITE STATEMENT IMMEDIATELY FOLLOWING)
  
  WHERE:  FNAME CONTAINS THE NAME OF THE FILE. (3 ELEMENT INTEGER ARRAY)
  
          ISTAT IS THE INTEGER VARIABLE FOR STATUS RETURN AFTER EXECUTION 
          OF THE TWO STATEMENTS.
  
  GENERAL PROGRAM STRUCTURE:
  
            OPEN THE FILE:  FOPEN-WRITE     OPENF-READ
                       .
                       .
                       .
                       .
                       .
            CALL DISK (FNAME,ISTAT) 
            (READ OR WRITE STATEMENT) 
                       .
                       .
                       .
                       .
                       .
            CLOSE THE FILE:  FWRTE-WRITE    FEND-READ 
  
  IT IS NOT NECESSARY TO CLOSE A READ FILE UNLESS THE "TOO MANY FILES 
  OPENED" ERROR OCCURS.  IT IS IMPERATIVE THAT A WRITE FILE IS CLOSED 
  BEFORE PROGRAM TERMINATION TO INSURE ALL THE BUFFERED DATA IS TRANS-
  FERRED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERRORS WHEN USED WITH THE READ STATEMENT
  
                   CALL DISK (FNAME,ISTAT)
  
  ISTAT      MEANING
  
    0        NO ERRORS, NORMAL RETURN 
  
    1        REQUESTED FILE DOES NOT EXIST
  
    2        MORE THAN 10 FILES OPEN FOR READING AT ONE TIME
  
    3        REQUESTED FILE DOES NOT EXIST OR IS NOT OPEN 
  
    4        REQUESTED FILE DOES NOT EXIST OR IS NOT OPEN 
  
    5        REQUESTED FILE DOES NOT EXIST OR IS NOT OPEN 
  
    6        END OF FILE ENCOUNTERED
  
       (SEE ASCII FILE READ SUBROUTINE FOR FURTHER EXPLANATION) 
  
  ERRORS WHEN USED WITH THE WRITE STATEMENT 
  
                   CALL DISK (FNAME,ISTAT)
  
  ISTAT     MEANING 
  
    0       NO ERRORS, NORMAL RETURN
  
    1       REQUESTED FILE DOES NOT EXIST 
  
    2       MORE THAN 10 FILES OPEN AT ONE TIME (FOR WRITING) 
  
    3       REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST
  
    4       REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST
  
    5       ATTEMPTED TO WRITE BEYOND THE PHYSICAL END OF FILE
    6       REQUESTED FILE IS NOT OPEN OR DOES NOT EXIST
  
  
 **MISCELLANEOUS: 
  
    THE FILE MUST BE OPEN USING EITHER THE 'FOPEN' OR 'OPENF' SUBROUTINES 
    FOR WRITE OR READ RESPECTIVELY BEFORE USING THE CALL DISK.
  
    THE END OF FILE MUST BE WRITTEN BEFORE THE TERMINATION OF THE PROGRAM 
    IF THE PROGRAM HAS WRITTEN TO A FILE. 
  
    BE SURE YOU UNDERSTAND THE OTHER CONTRIBUTED PROGRAMS BEFORE USING THE
    DISK SUBROUTINES.  THIS WILL AID YOU IN UNDERSTANDING HOW TO STRUCTURE
    YOUR PROGRAMS USING THESE ROUTINES. 
X16701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CHESS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  6    **SUBCATEGORY:
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    ALGOL 
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL PLAY CHESS BY GENERATING A (BEST MOVE) FROM A MINIMAX 
  GAME TREE.  IT IS DIVIDED INTO TWO DISTINCT PHASES - POSITIONAL ANALYSIS
  AND TACTICAL ANALYSIS.
  
  THE POSITIONAL ANALYSIS SECTION CONTAINS ALL OF THE CHESS SPECIFIC
  HEURISTICS.  IT ASSIGNS POINTS TO EACH MOVE BASED ON A SERIES OF
  PROGRAMMED GUIDELINES (SUCH AS ASSIGN 50 POINTS TO P-K4 DURING OPENING).
  THE GUIDELINES ALSO INCLUDE POINT AWARDS FOR CENTER CONTROL, ATTACKING
  THE OPPONENT'S KING, ETC.  AFTER EACH POSSIBLE MOVE IS ASSIGNED A TOTAL 
  POINT VALUE, THE MOVES ARE SORTED SO THAT THE HIGHEST POINT VALUE MOVES 
  ARE CONSIDERED FIRST BY THE TACTICAL ANALYSIS PHASE.
  
  THE TACTICAL ANALYSIS PHASE THEN BUILDS A MOVE TREE WHICH LOOKS THREE 
  HALF MOVES AHEAD.  AT EACH BOTTOM OF THE MOVE TREE (AT DEPTH = 3), THE
  MATERIAL (VALUE OF CHESS PIECES) GAINED OR LOST DURING THE THREE HALF 
  MOVES IS CALCULATED.  THE MINIMAX ALGORITHM WITH ALPHA-BETA PRUNING IS
  APPLIED ONLY ON THAT MATERIAL GAIN OR LOSS.  EACH MOVE IS EVALUATED IN
  TURN UNTIL A BEST MOVE IS FOUND AND EXECUTED. 
  
  THE PROGRAM FALLS IN THE (BRUTE-FORCE) CLASS OF CHESS PLAYING PROGRAMS. 
  BY LOOKING AT EACH MOVE THREE HALF MOVES AHEAD, IT MAY CONSIDER AS MANY 
  AS TEN THOUSAND TO A HUNDRED THOUSAND COMBINATIONS IN ITS SEARCH.  THE
  HP2100 COMPUTER DOES THIS IN AN AVERAGE TIME OF ONE TO THREE MINUTES. 
  
  THE PROGRAM WAS DESIGNED FOR A DOS-M SYSTEM WITH 16K CORE MEMORY.  HOW- 
  EVER, WITH SLIGHT MODIFICATIONS, IT WILL RUN ON BCS TODS SYSTEMS ALSO.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  ASSEMBLY AND COMPILATION OF SOURCE TAPES: 
  
  A.  LOAD ASSEMBLY LANGUAGE SUBROUTINES ONTO DISK. 
  
                   :JOB, SUBR 
                   :STORE,S,ECUTS,5 
                      YES 
                   :STORE,S,CHS2S,5 
                      YES 
                   :STORE,S,SBITS,5 
                      YES 
                   :STORE,S,CBITS,5 
                      YES 
                   :STORE,S,ZERO,5
                      YES 
  
  B.  ASSEMBLE EACH ROUTINE AND STORE RELOCATABLE CODE. 
  
                   :JFILE,ECUTS 
                   :PR,ASMB,2,,,99
                   :JFILE,CHS2S 
                   :PR,ASMB,2,,,99
                   :JFILE,SBITS 
                   :PR,ASMB,2,,,99
                   :JFILE,CBITS 
                   :PR,ASMB,2,,,99
                   :JFILE,ZERO
                   :PR,ASMB,2,,,99
                   :ST,R,CHESL
  
  C.  COMPILE THE MAIN PROGRAM, LOAD, AND EXECUTE.
  
                   :JOB, MAIN 
                   :STORE,S,GCHES,5 
                   :JFILE,GCHES 
                   :PR,ALGOL,2,,,99 
                   :PR,LOADR,2
                        CHESL, /E 
                   :ST,P
                   :PR,CHESS
  
  SEE SECTION 7.0 FOR SAMPLE RUNS OF THE PROGRAM. 
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  SUBROUTINES INTERNAL TO ALGOL MAIN PROGRAM: 
  
  TRY - PRINTS MATERIAL DUMPED IN "FULL DUMP" OPTION (SW2 UP) 
  
  BUMP - INCREMENTS TREEPTR (INDEX TO MOVE TREE STACK) AND CHECKS FOR 
         OVERFLOW.
  
  TYPEB - PRINTS OUT CHESS BOARD WITH PIECES
  
  PUSHM - MAIN PROCEDURE TO PUSH ALL POSSIBLE MOVES ONTO MOVE TREE STACK
          FOR A GIVEN BOARD CONFIGURATION.
  
       PROCEDURES IN PUSHM: 
  
       CHECK  - DETERMINES WHETHER CASTLING IS ALLOWED OR NOT 
       CAS    - PLACES CASTLING MOVES ON MOVE TREE STACK
       CASTL  - IF CASTLING IS ALLOWED IT CALLS PROCEDURE CAS 
       KINGN  - PLACES KING OR KNIGHT MOVES ON MOVE TREE STACK
       BPRKQN - PLACES BISHOP, ROOK, OR QUEEN MOVES ON STACK
       PAWNC  - DETERMINES IF A CAPTURE BY A PAWN IS ALLOWED
       PROMO  - DETERMINES IF A PAWN CAN BE PROMOTED OR NOT.
  
  READM - READS AN OPPONENT'S MOVE, VERIFIES IT, AND EXECUTES IT
  
  POSIT - MAIN PROCEDURE TO EXECUTE POSITIONAL ANALYSIS SECTION.
  
          PROCEDURES USED IN POSIT: 
  
          CENCON - ASSIGNS CENTER CONTROL BONUS POINTS TO A MOVE
          SORT   - SORTS MOVES AFTER BONUS POINTS ASSIGNED TO EACH
          MDGAME - CALCULATES TOTAL PIECE WORTH OF EACH SIDE AND ASSIGNS
                   IT TO WHITEPOINTS & BLACKPOINTS. 
          MOBILE - CALCULATES MOBILITY FACTOR FOR A MOVE
          KINGCH - AWARDS BONUS POINTS FOR HARASSING OPPONENT'S KING
          OPENB  - DURING OPENING, ASSIGNS BONUS POINTS TO EACH MOVE
          MDBON  - DURING MIDGAME, ASSIGNS BONUS POINTS TO EACH MOVE
  
  GENMOV - PROCEDURE WHICH EXECUTES TACTICAL ANALYSIS SECTION - BY MINIMAX
           ALGORITHM WITH ALPHA-BETA PRUNING
  SETBOARD - PROCEDURE TO INPUT AN OLD BOARD CONFIGURATION AND PARAMETERS.
  
  SUBROUTINES IMPLEMENTED IN ASSEMBLY LANGUAGE: 
  
              BLANK(A) - WRITES BLANKS (ASCII CHARACTER CODE OCTAL 40)
                         INTO INTEGER ARRAY A.
  
              IZERO(A) - WRITES ZERO INTO INTEGER ARRAY A.
  
          CBITF(A,B,C) - EXTRACTS AND RIGHT-JUSTIFIES A BIT FIELD FROM BIT
                         POSITION B OF LENGTH C BITS IN THE DOUBLE WORD 
                         LOCATED AT ADDRESS A.
  
        SBITF(A,B,C,D) - SETS A BIT FIELD FROM BIT POSITION B OF LENGTH C 
                         BITS IN THE DOUBLE WORD LOCATED AT ADDRESS A TO
                         THE QUANTITY D.
  
         SAVE(A,B,C,D) - SAVES THE VALUE OF THE LAST MOVE A, THE BOARD
                         CONFIGURATION B, AND THE MATERIAL C IN AN
                         INTERNAL STORAGE ARRAY BUFF AT POSITION INDEXED
                         BY DEPTH D.
  
      RETRO(A,B,C,D,E) - RETRACTS THE VALUE OF THE LAST MOVE A, THE BOARD 
                         CONFIGURATION B, AND THE MATERIAL D FROM ARRAY 
                         BUFF AT A POSITION INDEXED BY DEPTH D.  ALSO 
                         TOGGLES THE VALUE OF THE CONTROL VARIABLE F AT 
                         ADDRESS C. 
  
  ECUTE(A,B,C,D,E,F,G) - EXECUTES THE MOVE GIVEN IN THE ADDRESS A.  IT
                         UPDATES THE VALUE OF THE LAST MOVE B, THE BOARD
                         CONFIGURATION C, THE CONTROL VARIABLE F AT 
                         ADDRESS F, AND THE MATERIAL G. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  SEVERAL SWITCH OPTIONS ARE AVAILABLE TO HELP DEBUG THE PROGRAM: 
  
  SW0 - DUMPS RESULT OF POSITIONAL ANALYSIS ROUTINE POSIT 
  
  SW1 - DUMPS THE BOTTOM NODES OF THE MOVE TREE DURING ITS GENERATION.
        IT IS USEFUL TO DETERMINE WHY A PARTICULAR MOVE WAS CHOSEN. 
  
  SW2 - DUMPS A VERY LENGTHY DUMP USEFUL FOR TRACING SUBTLE BUGS IN THE 
        PROGRAM.
  
  NOTE:  THESE DUMPS ARE NOT NORMALLY USED DURING CONVENTIONAL PROGRAM
         PLAY BUT ARE USEFUL FOR TRACKING DOWN BUGS.
  
  
 **MISCELLANEOUS: 
  
  ONE SHOULD NOT EXPECT THIS PROGRAM TO PLAY "GRAND MASTER" STYLE CHESS.
  IF THE PROGRAM WAS A HUMAN PLAYER, IT WOULD BE CLASSIFIED AS A "FISH" - 
  AN OPPONENT WITH LITTLE OR NO TALENT.  HOWEVER, IT IS CAPABLE OF SOME-
  TIMES VERY INTERESTING SEQUENCES, AND IS UNMERCIFUL IF ITS HUMAN
  OPPONENT BLUNDERS BADLY.
  
  THERE IS MUCH ROOM FOR IMPROVEMENT IN THE DEVELOPMENT OF THE PROGRAM. 
  SEVERAL IMPORTANT FEATURES CAN BE ADDED IN A "VERSION B".  AMONG THESE
  ARE "QUIESCENCE" - THAT IS CONTINUING THE EVALUATION OF A MOVE SEQUENCE 
  IN PROCEDURE GENMV PAST THE DEPTH OF THREE LIMITATION IF IT ENDS IN A 
  CAPTURE.  THIS WOULD PREVENT HUMAN OPPONENTS FROM SUCKERING THE PROGRAM 
  BY PRESENTING UNFAVORABLE EXCHANGES LONGER THAN THREE HALF MOVES.  ALSO 
  SEVERAL IMPORTANT END-GAME CHESS HEURISTICS CAN BE COMBINED TO FORM AN
  END GAME SECTION IN THE POSITIONAL ANALYSIS PROCEDURE POSIT.
  
  HOPEFULLY, ENTRY OF THIS PROGRAM INTO THE CONTRIBUTOR'S LIBRARY WILL
  SPARK ENOUGH INTEREST SO THAT HEWLETT-PACKARD MIGHT BE A SERIOUS
  CONTENDER IN THE NEXT ACM COMPUTER CHESS TOURNAMENT.
X16801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  CALEN 
 **PROGRAM TITLE: 
  PERPETUAL CALENDAR
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  6    **SUBCATEGORY:
  
 **KEYWORDS:
    GAMES           TIME
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS PROGRAM WILL PRODUCE, ON THE TELETYPE, LINE PRINTER OR OTHER I/O 
  DEVICE, A CALENDAR FOR THE YEAR SPECIFIED BY THE USER.  THIS PROGRAM
  ASKS FOR RESPONSES BY THE USER ON THE TELETYPE AND THESE RESPONSES ARE
  THEN USED TO PRODUCE THE DESIRED CALENDAR.
  
  HARDWARE REQUIREMENTS FOR PERPETUAL CALENDAR ARE 4K AND 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
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  1.  COMPILE THE SOURCE USING THE FORTRAN COMPILER.
  
  2.  PROCESS THROUGH BCS - PREPARE AN ABSOLUTE TAPE OR LOAD DIRECT,
      INCLUDING THE RELOCATABLE PROGRAM LIBRARY.
  
  3.  PRESS RUN.
  
      THE TELETYPE WILL THEN RESPOND WITH:
  
           ENTER THE LOGICAL UNIT NUMBER OF THE OUTPUT DEVICE.
  
      THE USER SHOULD THEN TYPE THE LOGICAL UNIT NUMBER OF THE DESIRED
      OUTPUT DEVICE, CR/LF. 
  
      THE TELETYPE WILL THEN RESPOND WITH:
  
           ENTER YEAR NUMBER
  
      THE USER THEN ENTERS THE YEAR NUMBER FOR THE CALENDAR DESIRED,
      CR/LF.
  
      THE TELETYPE WILL THEN RESPOND WITH:
  
           ENTER NUMBER OF COPIES DESIRED 
  
      THE TELETYPE WILL THEN RESPOND WITH:
  
          ENTER STARTING DAY FOR JAN 1; (SUN = 1, MON = 2, TUE = 3, ETC.) 
  
      THE USER THEN ENTERS THE APPROPRIATE NUMBER, CR/LF. 
  
      THE TELETYPE THEN RESPONDS WITH:
  
           IS THIS A LEAP YEAR?  ANSWER YES OR NO 
  
      THE USER PROVIDES THE APPROPRIATE RESPONSE, CR/LF 
  
      THE CALENDAR IS THEN PRODUCED AS REQUESTED. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X16901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  PING PONG 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  6    **SUBCATEGORY:
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    FTN4        ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PLAYS PING-PONG USING THE 2100 SWITCH REGISTER TO DISPLAY THE BALL PATH 
  AND USING BITS (0) AND (15) AS PADDLE POSITIONS.  THE (BALL) SPEEDS UP
  OR SLOWS DOWN, DEPENDING ON WHETHER IT WAS MISSED OR RETURNED, AND THE
  SCORE IS KEPT ON THE SYSTEM CONSOLE.
  
  HARDWARE REQUIREMENTS INCLUDE DOS-M SYSTEM AND A BCS LOAD AS OPTIONAL,
  ALLOWING THIS PROGRAM TO BE RUN IN 4K WITH A TTY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  
X17001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  31 - ODD GAME 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  6    **SUBCATEGORY:
  
 **KEYWORDS:
    GAMES 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS IS A GAME IN WHICH THE PLAYER IS PITTED AGAINST THE COMPUTER.  TO
  WIN, THE PLAYER MUST END WITH AN ODD TOTAL OF COUNTERS WHEN THE KITTY IS
  EXHAUSTED.  THE KITTY STARTS WITH 31 COUNTERS.  THE PLAYER CHOOSES
  WHETHER TO GO FIRST OR TO HAVE THE COMPUTER GO FIRST, THEN THE COMPUTER 
  AND THE PLAYER ALTERNATE CHOOSING BETWEEN 1 AND 5 COUNTERS TO BE ADDED
  TO THEIR TOTALS.  THE COMPUTER PLAYS AN OPTIMUM GAME WITH ONLY 3125 
  WAYS TO LOSE.  THE PLAYER, HOWEVER, HAS ALMOST 10 MILLION WAYS TO LOSE
  SO THAT COMPLETELY RANDOM CHOICES WILL RARELY LEAD TO A WIN.
  
  HARDWARE REQUIREMENTS:  4K AND TTY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 USES .IOC. FOR INPUT/OUTPUT OPERATION. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  HALT FROM IRRECOVERABLE INPUT ERROR MEMORY = 102001 
  HALT FROM IRRECOVERABLE OUTPUT ERROR MEMORY = 102002
  
  
 **MISCELLANEOUS: 
  
  THIS PROGRAM OPERATES IN A COMPLETELY CONVERSATIONAL MODE.
X17101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:  PERT0 
 **PROGRAM TITLE: 
  PERT PACKAGE FOR DOS-III
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  1    **SUBCATEGORY:  7 
  
 **KEYWORDS:
    MANAGEMENT      PERFORMANCE 
  
  
 **LANGUAGES: 
    FTN4
  
 **COMPUTER TYPE: 
    2100
  
 **OPERATING SYSTEMS: 
    DOS-III 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  PERT (PROGRAM EVALUATION AND REVIEW TECHNIQUE) PACKAGE IS A PROGRAM 
  SET.  THIS SET IS DIVIDED INTO TWO SUBSETS:  SUBSET 1 FOR COMPUTATION 
  BEFORE THE PROJECT STARTS, AND SUBSET 2 FOR COMPUTATION OF ACTUALIZA- 
  TION DURING THE PROJECT EXECUTION.  THE PROJECT CAN BE REPRESENTED
  GRAPHICALLY BY A NETWORK CONSISTING OF EVENTS AND ACTIVITIES; THE 
  PROJECT CAN BE DETERMINISTIC OR INDETERMINISTIC.
  
  AN EVENT (NODE) IS DEFINED AS A POINT IN TIME INDICATING THE BEGINNING
  OR THE END OF SPECIFIC ACTIVITY, BUT NOT THE EXECUTION OF IT.  AN 
  ACTIVITY THEN, IS A PART OF THE PROJECT WHICH DEVELOPS BETWEEN TWO
  SUCCESSIVE EVENTS.
  
  SUBSET 1 PROGRAMS:
  LOGIC PERT NETWORK REVISION (PERT0) 
  
  FILE CREATION AND PERT COMPUTATION (PERT1)
  ORIGINAL AND ACTUAL BAR DIAGRAM OF PERT (PERT2) 
  PERT COMPUTATION AND COST REPORT (PERT3)
  
  SUBSET 2 PROGRAMS:
  ACTUAL PERT COMPUTATION (PERT4) 
  ACTUAL COSTS AND PERT COMPUTATION (PERT5) 
  
  PERT1,2,3,4,5 REQUIRE AN EFMP 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: RELOCATABLE 
  FILE#  3: SOURCE
  FILE#  4: DATA
  FILE#  5: SOURCE
  FILE#  6: SOURCE
  FILE#  7: SOURCE
  FILE#  8: SOURCE
  FILE#  9: DATA
  FILE# 10: SOURCE
  FILE# 11: DATA
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  RUN INSTRUCTIONS - PERT0: 
  
  DATA FORMAT FOR PERT0:
  FIELD          DESCRIPTION
    A            TOTAL NUMBER OF ACTIVITIES 
    B            NAME OF TIME UNITS OF THE PROJECT
    C            INITIAL PROJECT DATE        DAY:  XX 
                                           MONTH:  XXXX 
                                            YEAR:  XX 
         RECORD 1 FORMAT = I4, 2(1X,4R2)
    D            PROJECT TITLE  (26R2)
         RECORD 2 FORMAT = 26R2 
    E            START NODE (I4)
    F            FINISH NODE (I4) 
    G            OPTIMISTIC TIME (F4.1) 
    H            MOST LIKELY TIME (F4.1)
    I            PESSIMISTIC TIME (F4.1)
    J            ACTIVITY COST   (F7.2) 
    K            ACTIVITY DESCRIPTION (10R2)
  
    FROM INPUT RECORD #3 TO N THERE IS ONE RECORD PER ACTIVITY. 
         RECORD 3 - N FORMATS = 2I4, 3F4.1, F7.2, 10R2
  
  RUN INSTRUCTIONS - PERT1: 
  
  STORE THE SOURCE PROGRAM, THEN STORE THE RELOCATABLE SUBROUTINE WITH
  THE NAME RHC00 WITH THESE DIRECTIVES. 
  
                   :ST, S, FPER1, 5 
                   :ST, R, RHC00, 5 
  
  COMPILE PERT1 WITH THE FORTRAN IV COMPILER AND LOAD WITH THE RHC00 SUB- 
  ROUTINE.  IF A BAR DIAGRAM IS DESIRED, COMPILE PERT2 ALSO.
  
                  CALL PERT1 WITH THIS DIRECTIVE: 
                   :PR, PERT1 
  
  THE PROGRAM WILL ASK THROUGH THE CRT CONSOLE (LU#1) THE RUN DATE AND
  THE NAME OF THE EFMP FILE FOR THE PROJECT.
  
  THE REPORTS WILL BE PRINTED ON THE LINE PRINTER.
  
  RUN INSTRUCTIONS - PERT2: 
  
  PERT2 NEEDS A RELOCATABLE SUBROUTINE CALLED BY THE LOADER AS RHC00. 
  PERT2 IS CALLED BY PERT1 AND TAKES INFORMATION FROM THE EFMP FILE.
  
  RUN INSTRUCTIONS - PERT3: 
  
  COMPILE THE SOURCE CODED SUBROUTINE WITH FORTRAN IV COMPILER AND STORE
  IT IN RELOCATABLE FORM, THEN COMPILE THE PROGRAM PERT3 WITH THE SAME
  COMPILER AND LOAD IT WITH THE RELOCATABLE SUBROUTINE JUST STORED, AND 
  THE PREVIOUS RHC00 SUBROUTINE.
  
  CALL THE PROGRAM PERT3 WITH THE DIRECTIVE:
  
                   :PR,PERT3
  
  THE PROGRAM WILL ASK THE OPERATOR TO WRITE ON CONSOLE THE RUN DATE AND
  THE EFMP FILE NAME OF THE PROJECT TO BE PRINTED.
  THEN THE PROGRAM WILL READ THE FIRST RECORD OF THE PAPER TAPE.
  
  WHEN YOU LOAD THE COMPILED PROGRAM YOU HAVE TO LOAD THE TWO PREVIOUS
  SUBROUTINES FALLA AND SJC03.
  
  RUN INSTRUCTIONS - PERT4: 
  
  COMPILE PERT4 WITH THE FORTRAN IV COMPILER AND LOAD IT WITH TWO RE- 
  LOCATABLE SUBROUTINES (FALLA AND SJC03) THAT HAD BEEN PREVIOUSLY STORED 
  IN RELOCATABLE FORM.
  
  THEN CALL PERT 4 WITH THE DIRECTIVE    :PR,PERT4. 
  
  THE PROGRAM WILL ASK FOR THE RUN DATE AND THE EFMP PROJECT FILE ON
  LOGICAL UNIT #1, THEN THE REPORTS WILL BE PRINTED ON THE LINE 
  PRINTER.
  
  THE DATA FORMAT FOR THIS PROGRAM IS AS FOLLOWS: 
  RECORD #1 - A B C D 
  RECORD #2 - E F 
  RECORD #3 - G H I 
       .        . 
       .        . 
  RECORD #N - G H I 
           WHERE: N = F-2 
  
  FIELD              DESCRIPTION
    A                TOTAL NUMBER OF ACTIVITIES (I4)
    B                NAME OF TIME UNITS (4R2) 
    C                INITIAL DATE PROJECT (R2,2R2,R2) 
    D                COST INDICATOR:
                           0 - THERE IS NO COST DATA
                           1 - THERE IS COST DATA 
    E                ACTUALIZATION TIME (I4)
    F                NUMBER OF ACTIVITIES TO BE ACTUALIZED (I3) 
    G                NUMBER OF THE ACTIVITY (I4)
    H                PERCENTAGE OF ADVANCE OF THE ACTIVITY (I3) 
    I                ACTUALIZED COST OF THE ACTIVITY (F10.2)
  
  
  RUN INSTRUCTIONS - PERT5: 
  
  COMPILE PERT5 WITH THE FORTRAN IV COMPILER AND LOAD IT WITH THE 
  RELOCATABLE SUBROUTINE FALLA STORED AS RHC00. 
  
  CALL PERT4 WITH A SET OF DATA.  PERT4 WILL CALL PERT5.
  
  THE DATA FORMAT FOR PERT5 IS THE SAME AS FOR PERT4, THE ONLY
  DIFFERENCE IS THAT THE COST INDICATOR SHOULD BE SET TO (1). 
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  PERT0:
  THIS PROGRAM OF THE PERT PACKAGE CHECKS THE LOGIC OF THE ACTIVITIES 
  NETWORK, LOOKING FOR ANY CLOSE LOOP IN IT, IF THERE ARE ANY, THE PRO- 
  GRAM WRITES ON WHAT NODES IS THE LOOP.
  
  PERT0 WILL ACCEPT UP TO 490 EVENTS (NODES) AND 450 ACTIVITIES.  IT
  REQUIRES 24K DOS-III SYSTEM.
  
  PERT1:
  PERT1 CREATES AN EFMP FILE WITH THE PROJECT INFORMATION THAT HAS JUST 
  BEEN TESTED WITH PERT0. 
  
  THIS PROGRAM COMPUTES THE EXPECTED VALUE, THE STANDARD DEVIATION AND
  THE VARIANCE WITH THE ASSUMPTION THAT THE VARIABLE DURATION OF THE
  ACTIVITY, FOLLOWS A NORMAL PROBABILITY DISTRIBUTION, THEN CALCULATES
  THE EARLY START, EARLY FINISH, LATE START, LATE FINISH, TOTAL FLOAT 
  AND FREE FLOAT OF EVERY ACTIVITY. 
  
  THE PROGRAM MAKES A CALL TO THE PROGRAM PERT2.
  
  PERT1 WILL ACCEPT UP TO 490 EVENTS AND 450 ACTIVITIES.
  
  IT REQUIRES A 24K DOS-III SYSTEM. 
  
  PERT2:
  PERT2 PRINTS THE BAR DIAGRAM OF A PROJECT, THIS PROGRAM GETS THE
  INFORMATION OF THE EFMP FILE THAT PERT1 HAS CREATED.
  
  PERT2 PRINTS A SPECIAL SYMBOL FOR EVERY ACTIVITY DEPENDING ON ITS 
  STATUS, FOR CRITICAL ACTIVITIES PRINTS AN ASTERISK ON A PROPORTION
  WITH ITS AVERAGE TIME, AN X FOR NON-CRITICAL AND FOR THE FLOAT TIME.
  
  THE PROGRAM IS CALLED BY PERT1. 
  
  PERT2 WILL ACCEPT UP TO 490 EVENTS AND 450 ACTIVITIES.  IT REQUIRES 
  A 24K DOS-III SYSTEM. 
  
  PERT3:
  PERT3 PRINTS THE PERT TIMES OF THE PROJECT COMPUTED BY PERT1 AND ALSO 
  PRINTS THE COST OF EACH ACTIVITY AS SUPPLIED ON THE DATA SET. 
  
  THE PERT TIMES CONSIST OF AN EXPECTED TIME, EARLY START, EARLY FINISH,
  LATE START, LATE FINISH, TOTAL FLOAT AND FREE FLOAT FOR EACH ACTIVITY,
  ALSO THE PROGRAM POINTS OUT THE CRITICAL ACTIVITIES PRINTING ITS STATUS.
  
  THE PROGRAM TAKES THE INFORMATION OF THE EFMP FILE FOR THE PROJECT
  CREATED BY PERT1. 
  
  PERT4:
  PERT4 REALIZES THE PERT COMPUTATION WHEN AN ACTUALIZATION ON THE
  PROJECT NETWORK IS DESIRED, THIS PROGRAM PRINTS THE REPORT IF NO COST 
  ARE GOING TO BE ACTUALIZED, THEN IT CALLS TO PERT2 TO PRINT THE 
  ACTUALIZED BAR DIAGRAM. 
  
  IF THERE IS GOING TO BE SOME CHANGE IN COSTS AND THE COST INDICATOR IS
  ON (1) PERT4 CALLS PERT5 TO PRINT THE DESIRED REPORT. 
  
  THE TIME REPORT GENERATED BY PERT4 HAS THE PERT TIMES INDICATED ON
  PERT1 AND THE PERCENTAGE OF ADVANCE OF THE ACTIVITIES.
  
  PERT5:
  PERT5 PRINTS THE ACTUALIZED COST AND TIME REPORT THAT PERT4 HAS JUST
  CALCULATED, AND THEN CALLS PERT2 TO PRINT THE ACTUALIZED PERT BAR 
  DIAGRAM.
  
  PERT5 PRINTS, BESIDE THE PERT TIMES, THE EXPECTED COST AND THE ACTUAL-
  IZED COSTS, THE EXPECTED TIME AND THE ACTUALIZED TIME, AND THE STATUS 
  OF EVERY ACTIVITY.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X17201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2000F BASIC FOR DOS-M/DOS III
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    BASIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-3 
  
 **MEMORY REQUIREMENTS: 
  24K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  DOS-M/DOS III BASIC IS ESSENTIALLY A SINGLE TERMINAL VERSION OF HP 2000F
  TIME-SHARED BASIC.  IT RUNS UNDER THE DOS-M OR DOS III OPERATING SYSTEM,
  GIVING THE USERS OF THESE SYSTEMS A POWERFUL, YET EASY TO USE COMPUTING 
  FACILITY.  FEATURES OF DOS-M/DOS III BASIC NOT FOUND IN OTHER DOS-M 
  BASIC'S INCLUDE:  STRING VARIABLES, FORMATTED OUTPUT, USER PROGRAM DISC 
  STORAGE AND RETRIEVAL, USER DATA FILES, PROGRAM CHAINING, ERROR MESSAGES
  INSTEAD OF ERROR NUMBERS; LINE PRINTER SUPPORT, BETTER PROGRAM EDITING
  FACILITIES, HIGH-SPEED PAPER TAPE INPUT AND OUTPUT OF PROGRAMS, MIN AND 
  MAX OPERATORS, MORE FLEXIBLE INPUT WITH ENTER STATEMENT, MULTI-BRANCH 
  GOTO AND GOSUB STATEMENTS, ADDITIONAL FUNCTIONS, SOURCE INPUT FROM ANY
  INPUT DEVICE VIA "LOAD" COMMAND, ETC. 
  
  ANOTHER IMPORTANT CONSIDERATION IS THE PROVISION FOR RETRIEVING BASIC 
  PROGRAMS FROM 2000F TIME-SHARED SYSTEM DUMP TAPES.  THIS GIVES THE
  DOS-M/DOS III USER ACCESS TO THE GREAT NUMBER OF USEFUL HP BASIC LIBRARY
  PROGRAMS AND ALLOWS EASY TRANSFER OF OTHER USER-DEVELOPED PROGRAMS FROM 
  A TIME-SHARED SYSTEM TO A DOS ENVIRONMENT.  USER DATA FILES MAY ALSO
  BE TRANSFERRED FROM SYSTEM TO SYSTEM.  TO MAKE THESE CONVERSIONS THE
  DOS-M/2000C TSB FILE HANDLER, HP 24228, MUST BE USED IN CONJUNCTION 
  WITH SPECIAL ROUTINES INCLUDED IN THIS PACKAGE. 
  
  CURRENTLY, DOS-M/DOS III BASIC REQUIRES AT LEAST 14K WORDS OF MEMORY
  IN ADDITION TO SYSTEM REQUIREMENTS.  THEREFORE, A CPU WITH AT LEAST 
  24K WILL BE NECESSARY.  (A 32K CPU GIVES THE USER MORE PROGRAM SPACE
  THAN IS AVAILABLE ON THE 2000F.)
  
  A TIME BASE GENERATOR IS NECESSARY IF THE TIME COMMAND, TIM( ) FUNCTION,
  OR TIMED ENTER WILL BE 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: DOS-M/DOS III BASIC RELOCATABLE MODULES 
  FILE#  3: BFILE RELOC. MODULE 
  FILE#  4: CFILE RELOC. MODULE 
  FILE#  5: LOADR RELOC. MODULE 
  FILE#  6: DOS-M/DOS III BASIC MAIN SOURCE 
  FILE#  7: DOS-M/DOS III BASIC SUBROUTINES SOURCES 
  FILE#  8:    SOURCE 
  FILE#  9:    SOURCE 
  FILE# 10:    SOURCE 
  FILE# 11:    SOURCE 
  FILE# 12:    SOURCE 
  FILE# 13:    SOURCE 
  FILE# 14:    SOURCE 
  FILE# 15:    SOURCE 
  FILE# 16:    SOURCE 
  FILE# 17:    SOURCE 
  FILE# 18:    SOURCE 
  FILE# 19:    SOURCE 
  FILE# 20:    SOURCE 
  FILE# 21:    SOURCE 
  FILE# 22:    SOURCE 
  FILE# 23:    SOURCE 
  FILE# 24:    SOURCE 
  FILE# 25:    SOURCE 
  FILE# 26:    SOURCE 
  FILE# 27:    SOURCE 
  FILE# 28:    SOURCE 
  FILE# 29:    SOURCE 
  FILE# 30:    SOURCE 
  FILE# 31:    SOURCE 
  FILE# 32:    SOURCE 
  FILE# 33:    SOURCE 
  FILE# 34:    SOURCE 
  FILE# 35:    SOURCE 
  FILE# 36: DOS-M/DOS III BASIC SEGMENTS SOURCES
  FILE# 37:    SOURCE 
  FILE# 38:    SOURCE 
  FILE# 39:    SOURCE 
  FILE# 40:    SOURCE 
  FILE# 41:    SOURCE 
  FILE# 42:    SOURCE 
  FILE# 43:    SOURCE 
  FILE# 44:    SOURCE 
  FILE# 45:    SOURCE 
  FILE# 46:    SOURCE 
  FILE# 47:    SOURCE 
  FILE# 48:    SOURCE 
  FILE# 49:    SOURCE 
  FILE# 50:    SOURCE 
  FILE# 51:    SOURCE 
  FILE# 52:    SOURCE 
  FILE# 53: BFILE SOURCE
  FILE# 54: CFILE SOURCE
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  AN ATTEMPT HAS BEEN MADE TO DUPLICATE 2000F TIME-SHARED BASIC AS
  CLOSELY AS POSSIBLE.  THEREFORE, THE USER IS REFERRED TO "2000F:  A 
  GUIDE TO TIME-SHARED BASIC" (HP ORDER NUMBER 02000-90044) FOR DETAILED
  INFORMATION ABOUT THE LANGUAGE AND PROGRAM EXECUTION.  ONLY DIFFERENCES 
  BETWEEN 2000F AND DOS-M/DOS III BASIC WILL BE NOTED HERE. 
  
  TO RUN DOS-M/DOS III BASIC WITH THE SYSTEM CONSOLE AS THE USER TERMINAL 
  TYPE: 
            :PR,BASIC 
  
  TO RUN WITH ANOTHER CONSOLE AS THE USER TERMINAL TYPE:
  
            :PR,BASIC,(LU # OF CONSOLE) 
  
  IN EITHER CASE, BASIC RESPONDS WITH "READY", AND THE USER MAY TYPE
  PROGRAM STATEMENTS AND COMMANDS AS DESCRIBED IN "2000F: A GUIDE TO
  TIME-SHARED BASIC" WITH THE FOLLOWING EXCEPTIONS: 
  
       1.  THE "LOG IN" PROCEDURE IS NOT USED.
  
       2.  THE "BREAK" KEY IS NOT USED WITH DOS-M/DOS III BASIC.  TO STOP 
           A LISTING, RUNNING PROGRAM, OR OTHER LENGTHY OPERATION, SET
           BIT 15 OF THE SWITCH REGISTER ON.  THIS WILL TERMINATE THE 
           CURRENT OPERATION (EXCEPT FOR A RUNNING PROGRAM IF THE "BRK( )"
           FUNCTION HAS DISABLED "BREAK").
  
       3.  THE "ECHO" COMMAND IS NOT USED.
  
       4.  THE "PUNCH" AND "XPUNCH" COMMANDS PUNCH THE CURRENT PROGRAM ON 
           THE PAPER TAPE PUNCH (MUST BE LU #4).
  
       5.  THE "TAPE" COMMAND READS A PROGRAM TAPE FROM THE PHOTO-READER
           (MUST BE LU # 5).  IT EXPECTS A SPECIAL CHARACTER, CNTL-Z
           (Z TYPED WHILE HOLDING DOWN THE CNTL KEY), AT THE END OF THE 
           TAPE.  "PUNCH" AND "XPUNCH" PROVIDE THIS TERMINAL CHARACTER
           AUTOMATICALLY.  A TAPE PUNCHED ON A 2000 TIME-SHARED SYSTEM
           SHOULD HAVE THIS CHARACTER PUNCHED AFTER THE TRAILER AND 
           ANOTHER TRAILER PRODUCED FOLLOWING IT BEFORE THE TAPE IS 
           REMOVED FROM THE TERMINAL. 
  
       6.  NO MESSAGES ARE ISSUED ON THE STATUS OF THE LINE PRINTER 
           EXCEPT "LP FREE" WHEN A LISTING OR PROGRAM COMPLETES.
  
       7.  THE "TIME" COMMAND WORKS ONLY IF A TIME-BASE GENERATOR IS IN 
           THE SYSTEM.
  
       8.  THE "MESSAGE" COMMAND IS NOT USED. 
  
       9.  THERE IS NO DISTINCTION BETWEEN USER LIBRARY, GROUP LIBRARY, 
           AND SYSTEM LIBRARY.  ALL PROGRAM AND DATA FILES ARE USER 
           LIBRARY FILES.  THE "LIBRARY" AND "GROUP" COMMANDS ARE NOT 
           USED.
  
      10.  FOR THE "TIM( )" FUNCTION TO WORK PROPERLY, TWO THINGS ARE 
           REQUIRED.
  
           A.  A TIME-BASE GENERATOR MUST BE IN THE SYSTEM IF HOURS AND 
               MINUTES ARE DESIRED. 
  
           B.  A SPECIALLY FORMATTED ":DATE" DIRECTIVE MUST BE GIVEN TO 
               THE DOS-M OR DOS III SYSTEM IF THE DAY AND YEAR ARE
               DESIRED. 
  
               :DA,XXX/YY,M,N 
  
               WHERE XXX IS A THREE-DIGIT NUMBER GIVING THE CURRENT DAY 
               OF THE YEAR, AND YY IS THE YEAR OF THE CENTURY.  M IS THE
               CURRENT HOUR AND N THE CURRENT MINUTE OF THE DAY.
  
               :DA,032/73,9,30 FOR FEB. 1, 1973 AT 9:30 AM
  
      11.  CURRENTLY A MAXIMUM OF 31 PROGRAMS AND DATA FILES ALLOWED. 
  
      12.  A CNTL-L (L TYPED WHILE HOLDING DOWN THE CNTL KEY) IN AN OUTPUT
           STRING CAUSES A PAGE EJECT WHEN IT IS PRINTED ON THE LINE- 
           PRINTER. 
  
      13.  A NEW COMMAND, "LOAD-8", ALLOWS SOURCE STATEMENTS TO BE INPUT
           FROM A DEVICE OTHER THAN THE TTY.  FOR EXAMPLE, "LOAD-8" WOULD 
           INPUT SOURCE FROM LU #8.  "LOAD" ALONE DEFAULTS TO LU#5. 
           LOADING STOPS WHEN AN END-OF-FILE OR VALID COMMAND IS
           ENCOUNTERED IN THE SOURCE STREAM.
  
  BFILE 
  
  BFILE INITIALIZES A DOS-M OR DOS III FILE FOR USE BY BASIC.  THE USER 
  MUST RESERVE SPACE ON THE DISC FOR THIS FILE BY CREATING A FILE WITH THE
  ":ST,B,$FILS,N" DIRECTIVE.  ("$FILES" MUST BE ON THE SAME DISC SUB- 
  CHANNEL AS BASIC AND ITS SEGMENTS, BFILE, AND CFILE).  N IS THE NUMBER
  OF SECTORS THAT THE USER WISHES TO RESERVE FOR BASIC PROGRAM AND DATA 
  FILE STORAGE.  THE FILE IS THEN INITIALIZED BY RUNNING BFILE: 
  
       :PR,BFILE
  
  THIS BUILDS AN EMPTY DIRECTORY IN THE FIRST TWO SECTORS OF "$FILS". 
  (TWO SECTORS OF DIRECTORY ALLOW SPACE FOR UP TO 31 PROGRAMS OR DATA 
  FILE ENTRIES.)
  
  BFILE ISSUES AN ERROR MESSAGE IF A FILE NAMED "$FILS" DOES NOT EXIST
  OR IF IT IS LESS THAN THREE SECTORS LONG.  IF BFILE IS RUN AND IT FINDS 
  A DIRECTORY ALREADY IN "$FILS", IT ASKS "OK TO PURGE BASIC FILES?" AND
  WAITS FOR A RESPONSE FROM THE USER.  A RESPONSE OF "Y" INFORMS BFILE
  THAT IT SHOULD DESTROY THE OLD DIRECTORY AND CREATE A NEW ONE.  A 
  RESPONSE OF "N" TERMINATES BFILE WITHOUT FURTHER ACTION.
  
  CFILE 
  
  CFILE, USED IN CONJUNCTION WITH THE DOS-M/2000C FILE HANDLER, GIVES THE 
  USER THE CAPABILITY OF TRANSFERRING PROGRAMS AND DATA FILES BETWEEN A 
  2000C/F TSB SYSTEM AND A DOS-/DOS III SYSTEM.  THE FILE HANDLER CONVERTS
  PROGRAM AND DATA FILES FROM 2000C/F DUMP TAPES TO DOS-M/DOS III DISC
  FILES.  IT ALSO TRANSFERS PROPERLY FORMATTED DOS-M/DOS III DATA FILES 
  TO MAGNETIC TAPE FOR SUBSEQUENT LOADING ON A 2000C/F TSB SYSTEM.  CFILE 
  CONVERTS THE DOS-M/DOS III FILES CREATED BY THE FILE HANDLER TO BASIC 
  FILES WITHIN "$FILS".  CFILE ALSO CONVERTS BASIC FILES WITHIN "$FILS" 
  TO DOS-M/DOS III FILES THAT ARE FORMATTED FOR THE TSB FILE HANDLER. 
  
  CFILE IS RUN BY TYPING: 
  
       :PR,CFILE
  
  A CHECK IS FIRST MADE TO SEE THAT A FILE NAMED "$FILS" EXISTS AND HAS 
  BEEN INITIALIZED BY BFILE.  IF NOT, AN ERROR MESSAGE IS PRINTED AND 
  CFILE TERMINATES.  IF "$FILS" IS READY, CFILE REQUESTS WHICH OPTION 
  IS DESIRED: 
  
       SELECT OPTION: 
  
         1 = DOS FILE TO BASIC
         2 = BASIC FILE TO DOS
  
  THE USER RESPONDS WITH "1" OR "2", FOLLOWED BY CARRIAGE RETURN, LINE- 
  FEED.  IF A RESPONSE OTHER THAN "1" OR "2" IS GIVEN, CFILE REPEATS THE
  OPTION REQUEST. 
  
  IF OPTION "1" IS SELECTED:
  
       CFILE TYPES "FILENAME?" AND WAITS FOR THE USER TO TYPE THE NAME
       OF THE DOS FILE THAT IS TO BE CONVERTED TO A BASIC FILE WITHIN 
       "$FILS".  THE USER TYPES THE FILENAME OR "/E".  "/E" TERMINATES
       CFILE.  IF A FILENAME IS TYPED, CFILE CHECKS TO SEE THAT IT EXISTS.
       ITS SIZE IS CHECKED AND THE DIRECTORY IN "$FILS" IS EXAMINED TO SEE
       IF THERE IS SPACE FOR ANOTHER ENTRY.  IF SO, AN ENTRY IS BUILT FOR 
       THE NAMED FILE AND IT IS COPIED TO "$FILS".  OTHERWISE, AN ERROR 
       MESSAGE IS PRINTED AND CFILE TERMINATES.  AFTER A SUCCESSFUL FILE
       COPY, CFILE REPEATS THE QUESTION "FILENAME?" AND THE PROCESS 
       CONTINUES AS ABOVE.
  
  IF OPTION "2" IS SELECTED:
  
       BEFORE RUNNING CFILE, THE USER SHOULD CREATE AN ASCII DOS DATA 
       FILE LARGE ENOUGH TO HOLD THE BASIC DATA FILE TO BE CONVERTED.  TO 
       CALCULATE THE NUMBER OF SECTORS NEEDED, DOUBLE THE NUMBER OF 
       RECORDS IN THE BASIC FILE AND ADD ONE.  (E.G. IF THE BASIC FILE
       HAS 5 RECORDS, :ST,A,FILENAME,11) THE NAME OF THE DOS FILE MUST BE 
       THE SAME AS THE FIRST FIVE CHARACTERS OF THE BASIC FILENAME. 
  
       CFILE TYPES "FLENAME?" AND WAITS FOR THE USER TO TYPE THE NAME OF
       THE BASIC FILE THAT IS TO BE CONVERTED TO A DOS FILE.  THE USER
       TYPES A FILENAME OR "/E".  "/E" TERMINATES CFILE.  IF A FILENAME 
       IS TYPED, CFILE CHECKS TO SEE THAT IT EXISTS WITHIN "$FILS", THAT
       IT IS NOT A PROGRAM FILE, AND THAT A DOS FILE OF THE APPROPRIATE 
       NAME AND SIZE ALSO EXISTS.  ERROR MESSAGES ARE PRINTED IF ANY OF 
       THESE CONDITIONS ARE NOT MET AND CFILE TERMINATES.  IF ALL IS WELL,
       CFILE PRINTS "ENTER USER ID" AND WAITS FOR THE USER'S RESPONSE.
       THE USER MUST ENTER THE TSB USER ID INTO WHICH HE WANTS THE FILE 
       TO BE TRANSFERRED.  THE FILE IS THEN CONVERTED TO A DOS FILE AND 
       FORMATTED FOR THE FILE HANDLER.  THEN THE QUESTION "FILENAME?" IS
       REPEATED AND PROCESSING CONTINUES AS DESCRIBED ABOVE.
  
  1.  LOAD BASIC AS DESCRIBED IN OPERATING PROCEDURES BELOW.
  
  2.  RUN BASIC:
                     :PR,BASIC
  
  3.  AFTER "READY" IS PRINTED, TYPE YOUR PROGRAM.
  
  4.  TYPE "RUN". 
  
  5.  TYPE:          BYE
  
  6.  BASIC WILL TERMINATE WITH THE FOLLOWING MESSAGE:
  
           XXX MINUTES OF TERMINAL TIME  WHERE XXX IS THE NUMBER OF WHOLE 
                                         MINUTES THAT BASIC HAS BEEN
                                         RUNNING OR "000" IF NO TIME-BASE 
                                         GENERATOR IS IN THE SYSTEM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  ERROR MESSAGES ARE CONTAINED IN THE REFERENCES LISTED IN THE SECTION
  ON LITERATURE REFERENCE UNDER 'MISCELLANEOUS'.
  
  IF A COMMAND IS GIVEN TO DOS-M/DOS III BASIC THAT REQUIRES DISC STORAGE,
  A CHECK IS MADE TO SEE THAT A DOS FILE NAMED "$FILS" EXISTS AND HAS BEEN
  INITIALIZED WITH BFILE.  IF NOT, THE MESSAGE "$FILS NOT INITIALIZED"
  IS PRINTED. 
  
  
 **MISCELLANEOUS: 
  
  "CSAVE"'D PROGRAMS MAY NOT BE TRANSFERRED FROM A 2000 SYSTEM TO DOS-M/
  DOS III BASIC.
  
  VDR00 (HP 20985) MUST BE USED AS THE TELETYPE DRIVER, NOT DVR05.
  
  (BASIC REQUIRES THE "BINARY" I/O CAPABILITIES OF DVR00, WHICH ARE NOT 
  INCLUDED IN DVR05.)  BASIC (AND ITS SEGMENTS), BFILE, CFILE, AND $FILS
  MUST ALL RESIDE ON THE SAME DISC SUBCHANNEL.
  
  NOTE: SOME VERSIONS OF THE STANDARD DOS III RELOCATING LOADER WILL NOT
       LOAD BASIC PROPERLY, EVEN THOUGH THEY SUPPORT CURRENT PAGE LINKING.
       USE THE LOADER INCLUDED IN THIS PACKAGE IF YOU HAVE BASE PAGE OVER-
       FLOW PROBLEMS. 
  
  LITERATURE REFERENCE: 
    2000F: A GUIDE TO TIME-SHARED BASIC, HP02000-90044. 
    DOS-M/2000C TSB FILE HANDLER, HP SMALL PROGRAMS MANUAL, 5951-1381.
X17301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  LANGUAGE PARSING
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    CHARACTER       SORT
  
  
 **LANGUAGES: 
    FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS PROGRAM READS A GRAMMAR, EXPRESSED IN PRODUCTION NOTATION, THEN
  READS ONE OR MORE STRINGS OF 1-60 CHARACTERS, TESTING EACH STRING TO
  DETERMINE IF IT IS IN THE LANGUAGE GENERATED BY THE GRAMMER.  IF IT IS, 
  A SYNTAX TREE IS PRODUCED.  THE PROGRAM IS OPERABLE IN BCS.  EQUIPMENT
  REQUIRED IS 8K OF CORE STORAGE, A PHOTOREADER AND 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
  
  
 **LOAD INSTRUCTIONS: 
  
  
  
  
 **RUN INSTRUCTIONS:
  
  1.  COMPILE AND ASSEMBLE THE FORTRAN II SOURCE TAPE.
  2.  LOAD THE ABSOLUTE TAPE. 
  3.  SET S.R. TO 2.
  4.  PLACE DATA TAPE IN PHOTOREADER. 
  5.  PRESS RUN.
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  PROGRAM PARSE 
  
  THIS PROGRAM READS A GRAMMAR, EXPRESSED IN PRODUCTION NOTATION, THEN
  READS ONE OR MORE STRINGS OF 1-60 CHARACTERS, TESTING EACH STRING TO
  DETERMINE IF IT IS IN THE LANGUAGE GENERATED BY THE GRAMMAR.  IF IT IS, 
  A SYNTAX TREE IS PRODUCED.
  
  
  METHOD: 
  
  THIS PROGRAM USES THE METHOD OF TOP-DOWN SYNTAX ANALYSIS TO ATTEMPT 
  TO BUILD A SYNTAX TREE FOR THE INPUT STRING.  DESCRIPTIONS OF THIS
  METHOD MAY BE FOUND IN THE PAPER BY CHEATHAM AND SATTLEY AND THE BOOK 
  BY KELLER AND WRIGHT.  SOME OF THE PROGRAMMING TECHNIQUES CAN BE FOUND
  IN BARRON'S BOOK. 
  
  INPUT:
  
  THE FIRST INPUT STATEMENT MUST BE A $ / IN A 3A1 FORMAT TO SATISFY
  THE PROGRAM LITERAL CONSTANT REQUIREMENTS.
  
  INPUT TO THIS PROGRAM IS SOME GRAMMAR, G, FOLLOWED BY ONE OR MORE 
  STRINGS WHICH WILL BE TESTED TO DETERMINE WHETHER OR NOT THEY ARE IN
  THE LANGUAGE L(G).
  
  THERE IS ONE INPUT STATEMENT FOR EACH PRODUCTION.  COLUMN ONE CONTAINS
  THE NONTERMINAL SYMBOL WHICH IS THE LEFT PART OF THE PRODUCTION.
  COLUMN FIVE CONTAINS THE LENGTH OF THE RIGHT PART OF THE PRODUCTION.
  COLUMNS 7-12 CONTAIN THE RIGHT PART OF THE PRODUCTION IN A 5A1 FORMAT.
  COLUMNS 15-24 CONTAIN THE NUMERICAL REPRESENTATION OF THE RIGHT PART IN 
  A 5I2 FORMAT.  THE LAST PRODUCTION IS A NULL PRODUCTION FOR LATER 
  TESTING PURPOSES. 
  
  A STATEMENT PRECEDING THE GRAMMAR IS REQUIRED.  IT CONTAINS THE NUMBER
  OF PRODUCTIONS IN THE GRAMMAR IN COLUMNS 1-2.  THIS STATEMENT IS ALSO 
  USED TO REQUEST A PROGRAM TRACE.  A TRACE IS REQUESTED BY PLACING A 1 
  IN COLUMN 21. 
  
  AN EXAMPLE OF THE INPUT FOR ONE TEST CASE FOLLOWS:
  
  COLUMNS  11111111112222222222333333333344444444445
  12345678901234567890123456789012345678901234567890
  
  $ / 
   8                0 
  Q  2 E;     0200
  E  3 T+E    040002
  E  1 T      04
  T  3 P*T    060004
  T  1 P      06
  P  3 (E)    000200
  P  1 V      00
  ? 
  V;
  V+V;
  V+V+V;
  V+V+V+V+V+V+V+V+V+V;
  V*(V+V)*(V+V);
  (V+V)*(V+V)*V+(V*V+V) 
  (V+V)*V+V)*V+(V*V+V); 
  (V);
  ((V));
  (((V)));
  ((((V))));
  (((((V)))));
  / 
  
  STATEMENT ONE INDICATES THAT THERE ARE EIGHT PRODUCTIONS IN THE GRAMMAR 
  WHICH FOLLOWS.  STATEMENTS 2-8 DESCRIBE THE GRAMMAR.  STATEMENT 9 IS THE
  REQUIRED NULL PRODUCTION.  STATEMENTS 10-16 ARE THE STRINGS TO BE 
  EXAMINED.  STATEMENT 17 (/ IN COLUMN 1) INDICATES THAT THERE ARE NO 
  MORE INPUT STRINGS.  IF A TRACE WAS DESIRED A ONE WOULD HAVE BEEN 
  PLACED IN COLUMN 21 OF STATEMENT ONE.  EACH INPUT STRING IS LIMITED 
  TO 60 CHARACTERS, MUST START IN COLUMN ONE AND MUST NOT CONTAIN 
  EMBEDDED BLANKS.
  
  OUTPUT: 
  
  THE FIRST SECTION OF OUTPUT IN ANY RUN OF THIS PROGRAM IS A COPY OF THE 
  GRAMMAR, G, IN TABULAR FORM.  THERE ARE AT LEAST TWO LINES OF OUTPUT
  FOR EACH INPUT STRING.  THE FIRST OF THESE LINES IS A COPY OF THE INPUT 
  STRING AND THE SECOND INDICATES WHETHER OR NOT IT IS VALID IN L(G).  IN 
  ADDITION, A DESCRIPTION OF THE SYNTAX TREE IS PRINTED FOR VALID STRINGS.
  
  TEST DATA AND (PARTIAL) VERIFICATION: 
  
  THIS PROGRAM HAS BEEN TESTED WITH THE INPUT DESCRIBED ABOVE AND FOUND 
  TO BE WORKING.  IT HAS ALSO BEEN TESTED WITH THE DATA BELOW.
  
  IN THE ABOVE CASE THE P IN PARENTHESIS IS A WORST CASE SEARCH.  THE 
  ADDITIONAL TIME REQUIRED FOR THE SEARCH IS PROPORTIONAL TO N! WHERE N 
  IS THE NUMBER OF PARENTHESIS PAIRS.  THE TIME REQUIRED FOR THE WORST
  CASE SEARCH CAN BE DECREASED SIGNIFICANTLY BY REWRITING THE GRAMMAR.
  THE GRAMMAR REMAINS IN THIS FORM FOR DEMONSTRATION PURPOSES.
  
  TO PERFORM A TRACE, THE FOLLOWING MAY BE USED:
  
  $ / 
   8                1 
  Q   2 E     0200
  E   3 T+E   040002
  E   1 T     04
  T   3 P*T   060004
  T   1 P     06
  P   3 (E)   000200
  P   1 V     00
  ? 
  V+V 
  / 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  REFERENCES: 
  
  CHEATHAM, T.E. AND SATTLEY, KIRK.  SYNTAX DIRECTED COMPILING. 
    PROCEEDINGS, 1964 SJCC. 
  BARRON, D.W.  RECURSIVE TECHNIQUES IN PROGRAMMING.
    NEW YORK.  AMERICAN ELSEVIER PUBLISHING CO.  C1968. 
  KELLER, ROY F. AND WRIGHT, CHARLES T.  ALGEBRAIC LANGUAGES
    AND THEIR TRANSLATORS.  NEW YORK.  HOLT RINEHART AND WINSTON.  C1970. 
  GRIES, DAVID.  COMPILER CONSTRUCTION FOR DIGITAL COMPUTERS.  JOHN 
    WILEY AND SONS INC.  NEW YORK.  C1971.
  LEE, JOHN A.N.  COMPUTER SEMANTICS.  VAN NOSTRAND REINHOLD COMPANY, 
    NEW YORK.  C1972. 
X17401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2IMX PAPER TAPE ASSEMBLER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER 
  
  
 **LANGUAGES: 
    ASMB (ABS)
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    SIO 
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  THIS IS A PAPER TAPE BASED ASSEMBLER FOR THE HP 21MX COMPUTER SERIES. 
  IT IS A USABLE SUBSET OF THE DOS 21MX ASSEMBLER.  ALL INSTRUCTIONS FROM 
  THE 21MX COMPUTER REFERENCE MANUAL HAVE BEEN IMPLEMENTED.  THE ASSEMBLER
  WILL GENERATE BOTH RELOCATABLE AND ABSOLUTE CODE.  THE ASSEMBLER OPER-
  ATES WITH STANDARD SIO DRIVERS IN ANY 2100 SERIES COMPUTER WITH A MINI- 
  MUM OF 8K MEMORY AND A TELETYPE.
  
  HARDWARE REQUIREMENTS ARE AN 8K 2100 SERIES COMPUTER AND TELETYPE.
  ALTHOUGH ASSEMBLER WILL RUN ON ANY 2100 SERIES COMPUTER, IT SHOULD BE 
  USED ONLY TO GENERATE CODE FOR USE ON THE 21MX SERIES.  FLOATING POINT
  INSTRUCTIONS WILL ALWAYS BE GENERATED AND MANY 21MX CODES ARE ILLEGAL 
  ON OTHER 2100'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
  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: 
  
  1.  ASSEMBLE THE HP 21MX PAPER TAPE ASSEMBLER SOURCE IN FILE 1. 
      THIS WILL PRODUCE A LISTING ABOUT 1 INCH THICK; CHANGE THE
      THE CONTROL STATEMENT IF DESIRED.  AN ABSOLUTE PAPER TAPE IS
      PRODUCED. 
  
  2.  WITH THE BBL, LOAD AND CONFIGURE ANY DESIRED STANDARD SIO DRIVERS.
      LOAD THE 21MX PAPER TAPER ASSEMBLER.  IF DESIRED, USE THE SIO DUMP
      TO DUMP THE SIO DRIVERS OR CONFIGURED 21MX ASSEMBLER. 
  
  3.  LOAD ADDRESS 100B (120B IF THE CONTROL STATEMENT IS TO BE ENTERED 
      THROUGH THE TTY).  PLACE A TEST TAPE IN THE READER.  CLEAR THE
      SWITCH REGISTER, PRESS PRESET AND RUN.
  
  4.  WHEN A HLT 11B OCCURS, RELOAD A TEST TAPE IN THE READER AND PRESS 
      RUN.
  
  5.  FOR ANY QUESTIONS; CONSULT AN HP ASSEMBLER MANUAL, THE 21MX COMPUTER
      MANUAL, THE SIO SUBSYSTEM OPERATION MANUAL, OR THE ASSEMBLER, 
      FORTRAN, AND ALGOL ERROR MESSAGES.
  
  USER PROGRAMMING INSTRUCTIONS 
  
  1.  THE MIC PSEUDO INSTRUCTION HAS NOT BEEN IMPLEMENTED; RAM IS STILL 
      VALID.
  
  2. THE PRESENCE OR ABSENCE OF THE F OPTION IN THE CONTROL STATEMENT 
     HAS NO AFFECT ON THE CODE PRODUCED.
  
  3. A BIT INSTRUCTION MUST BE CODED AS FOLLOWS:
  
          CBS    MASK 
          DEF    WORD 
  
  4.  ANY INSTRUCTION REQUIRING AN ADDRESS IS CODED AS FOLLOWS: 
  
          LAX    ADDR 
  
  5.  THE INTERRUPTABLE INSTRUCTIONS AUTOMATICALLY GENERATE THE REQUIRED
      THIRD WORD NOP WITHOUT ANY PROGRAMMING EFFORT.
  
          LDA    ADDR1
          LDB    ADDR2
          MBT    CNT
  
  6.  ALL INSTRUCTIONS FROM THE 21MX COMPUTER REFERENCE MANUAL HAVE BEEN
      IMPLEMENTED AT THIS TIME.  THE MEMORY MANAGEMENT INSTRUCTIONS HAVE
      NOT BEEN IMPLEMENTED AT THIS TIME.
  
  7.  THE ASSEMBLER OCCUPIES 4500 WORDS BASE 10 PLUS ANY SIO DRIVERS. 
      THE REMAINING MEMORY SPACE IS USED FOR THE SYMBOL TABLE.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  FOR ERROR MESSAGES, CONSULT THE ERROR SECTIONS OF THE FOLLOWING MANUALS:
       HP ASSEMBLER MANUAL (02116-9014) 
       A POCKET GUIDE TO THE 2100 COMPUTER (5951-4923)
       ASSEMBLER, FORTRAN, AND ALGOL ERROR MESSAGES (5951-1377) 
  
  
 **MISCELLANEOUS: 
  
  
  21MX COMPUTER REFERENCE MANUAL (02108-90002)
  A POCKET GUIDE TO THE 2100 COMPUTER (5951-4423) 
  HP ASSEMBLER MANUAL (02116-9014)
  SIO SUBSYSTEM OPERATION MANUAL (5951-1390)
  ASSEMBLER, FORTRAN, AND ALGOL ERROR MESSAGES (5951-1377)
X17501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  INTEL 8080 ASSEMBLER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  1 
  
 **KEYWORDS:
    ASSEMBLER       INTEL 
  
  
 **LANGUAGES: 
    ALGOL       ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  NO
  
  
 **ABSTRACT:
  
  INTEL 8080 MICROPROCESSOR CROSS ASSEMBLER.
  
  INPUT:   SOURCE LANGUAGE IN 8080 MNEMONICS. 
  
  OUTPUT:  DEPENDING ON CONTROL STATEMENT.
           1.  LIST - PROGRAM LIST WITH CHIP ADDRESS, RELATIVE ADDRESS, 
               CODE, REMARKS. 
           2.  TABLE - LIST OF SYMBOLS USED AND THEIR VALUES (LOCATION).
           3.  BINARY - PAPER TAPE (ASCII). 
           4.  SORT - SAME AS TABLE BUT ALPHANUMERIC. 
  
  FORM:    VERY CLOSE TO HP ASSEMBLY. 
  
  SYSTEM:  DESIGNED FOR DOS-M, BUT EASILY ALTERABLE TO ANY SYSTEM 
           SUPPORTING ALGOL.
  
  HARDWARE REQUIREMENTS:  DOS SYSTEM WITH LP AND TTY. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  REFER TO COMMENTS IN SOURCE CODE. 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X17601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 12539A TIME BASE GENERATOR DRIVER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE PROVIDES A MEANS FOR MEASURING THE TIME OF DAY.  ELAPSED 
  TIME CAN ALSO BE MEASURED.  THE TIME-OF-DAY AND ELAPSED TIME FUNCTIONS
  MAY BE USED SIMULTANEOUSLY WITHOUT RESTRICTIONS.  WHEN THE TIME-OF-DAY
  IS READ OUT, THE UNITS ARE HOURS, MINUTES, AND SECONDS, EACH EXPRESSED
  AS A FLOATING POINT NUMBER. 
  
  FOR TIME-OF-DAY USE, THE ROUTINE MUST BE INITIATED WITH THE CURRENT 
  TIME.  IN EITHER USE, THE ROUTINE CAUSES A PROGRAM INTERRUPT EVERY 10 
  MILLISECONDS; THE TIME-OF-DAY AND ELAPSED TIME COUNTS ARE THEN
  INCREMENTED IF NECESSARY.  WHEN THE PROGRAM HALTS THE TIME-OF-DAY AND 
  ELAPSED TIME COUNTS STOP. 
  
  EQUIPMENT REQUIRED IS ONE HP 12539A TIME BASE GENERATOR INTERFACE KIT.
  
  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: 
  
  TO UTILIZE THE "TBGDR" IT MUST BE CALLED TO EITHER SET THE TIME OF DAY
  OR SET THE INTERVAL TIMER.  WHEN CALLED TO SET THE TIME OF DAY, THE 
  DRIVER FIRST SETS ITS INTERNAL HOURS, MINUTES, AND SECONDS COUNTERS TO
  THE DESIRED VALUES.  IT WILL THEN INITIALIZE THE TIME BASE GENERATOR
  AND RETURN TO THE CALLING PROGRAM.  WHEN CALLED TO SET THE INTERVAL 
  TIMER, THE DRIVER FIRST SETS UP A COUNTER, WHICH WILL BE INCREMENTED
  AT THE DESIRED INTERVAL.  IT WILL THEN INITIALIZE THE TIME BASE 
  GENERATOR AND RETURN TO THE CALLING PROGRAM.
  
  WHEN CALLED TO OBTAIN THE TIME OF DAY, THE DRIVER WILL GET THE VALUES,
  AT THE CURRENT TIME, OF THE HOURS, MINUTES AND SECONDS COUNTERS AND 
  THEN RETURN THESE VALUES, IN THE FORM OF THREE INTEGER NUMBERS, TO THE
  CALLING PROGRAM.  IT WILL THEN RETURN TO THE CALLING PROGRAM.   WHEN
  CALLED TO OBTAIN THE ELAPSED TIME, THE DRIVER WILL GET THE CURRENT
  VALUE OF THE INTERVAL COUNTER AND RETURN THIS VALUE TO THE CALLING
  PROGRAM IN THE FORM OF AN INTEGER NUMBER.  IT THEN RETURNS TO THE 
  CALLING PROGRAM.
  
  ONCE THE TIME BASE GENERATOR HAS BEEN INITIALIZED, IT WILL INTERRUPT
  EVERY 10 MILLISECONDS.  WHEN AN INTERRUPT OCCURS, THE INTERRUPT SERVICE 
  ROUTINE IN THE DRIVER IS EXECUTED.  THIS ROUTINE WILL INCREMENT, AND
  RESET WHEN NECESSARY, THE HOURS, MINUTES AND SECONDS COUNTERS.  IT WILL 
  ALSO INCREMENT THE INTERVAL COUNTER AT THE DESIRED INTERVAL.  WHEN ALL
  THE CONTERS HAVE BEEN INCREMENTED, THE ROUTINE RESETS THE TBG AND 
  RETURNS EXECUTION TO THE PROGRAM IN PROGRESS. 
  
  IT IS IMPORTANT TO NOTE THAT BOTH THE TIME OF DAY ROUTINE AND INTERVAL
  TIMER ROUTINE MAY BE USED SIMULTANEOUSLY OR INDEPENDENTLY WITHOUT ANY 
  RESTRICTIONS. 
  
  USE USUAL ASSEMBLY, LOAD, AND RUN PROCEDURES.  NO CONTROL STATEMENT ON
  SOURCE TAPE.
  
  THIS RELOCATABLE SUBROUTINE MAY BE CONFIGURED FOR THE I/O CHANNEL USED
  BY THE PERTINENT INTERFACE CARD BY ALTERING STATEMENT:
  
       #133  TBG EQU 11B  ASSIGN I/O  CHANNEL ADDRESS 
  
  THE MEMORY LOCATION ASSOCIATED WITH THE CHANNEL SHOULD BE LEFT EMPTY
  AT BCS CONFIGURATION TIME.
  
  ENTRY POINT(S)
  
  TO SET THE TIME OF DAY: 
  
       CALL SETUP (IHRS, IMINS, ISECS)
  
  TO OBTAIN THE TIME OF DAY:
  
       CALL DATIM (IHRS, IMINS, ISECS)
  
  TO SET THE INTERVAL TIMER:
  
       CALL STCLK (INTER) 
  
  TO OBTAIN THE ELAPSED TIME SINCE THE INTERVAL TIMER WAS SET:
  
       CALL RDCLK (ITIME) 
  
  PARAMETER     TYPE     DESCRIPTION
  ---------     ----     -----------
  
  IHRS          INTEGER  A VARIABLE REPRESENTING THE TIME IN HOURS (0-23).
  
  IMINS         INTEGER  A VARIABLE REPRESENTING THE TIME IN MINUTES
                         (0-59).
  
  INTER         INTEGER  A POSITIVE INTEGER VARIABLE OR CONSTANT
                         SPECIFYING THE DESIRED INTERVAL.  (THE INTERVAL
                         WILL BE EQUAL TO:  INTER X 10 MS.) 
  
  ISECS         INTEGER  A VARIABLE REPRESENTING THE TIME IN SECONDS
                         (0-59).
  
  ITIME         INTEGER  A VARIABLE WHICH IS SET TO THE NUMBER OF ELAPSED 
                         INTERVALS UPON RETURN TO THE CALLING PROGRAM.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X17701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP 2331A X-Y DISPLAY SUBSYSTEM DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PLOTTER         GRAPHIC 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER SETS UP CRT DISPLAYS ON AN HP1300A LARGE SCREEN DISPLAY.
  THE X AND Y AXES ARE PLOTTED, IF DESIRED. 
  
  EQUIPMENT REQURED INCLUDES AN HP2331A X-Y DISPLAY SUBSYSTEM, CONSISTING 
  OF AN HP1300 X-Y LARGE SCREEN DISPLAY AND A DUAL D/A CONVERTER INTERFACE
  KIT.
  
  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: 
  
  IN ORDER TO UTILIZE THE X-Y DISPLAY SUBSYSTEM DRIVER, IT MUST FIRST 
  BE CALLED TO SET UP THE PLOT BUFFER, IN WHICH CASE, IT WILL PROCESS THE 
  BUFFER ADDRESS AND LENGTH AND SAVE THEM FOR USE BY THE INTERRUPT SERVICE
  ROUTINE.  THE DRIVER THEN RETURNS TO THE CALLING PROGRAM. 
  
  ONCE THE PLOT BUFFER HAS BEEN SET UP, THE DRIVER MAY THEN BE CALLED TO
  ENTER POINTS TO BE DISPLAYED.  IN THIS CASE, IT WILL PROCESS THE X AND Y
  VALUES, DETERMINING IF THEY ARE IN THE CORRECT RANGE AND MERGING THEM 
  INTO A SINGLE WORD.  IT WILL THEN STORE THIS WORD IN THE PLOT BUFFER
  AND RETURN TO THE CALLING PROGRAM.  IN THE EVENT THAT EITHER THE X OR Y 
  VALUE IS OUTSIDE THE PROPER RANGE, THE DRIVER RETURNS TO THE CALLING
  PROGRAM WITHOUT STORING THE POINT IN THE PLOT BUFFER. 
  
  WHEN THE DRIVER IS CALLED TO DISPLAY A SET OF X-Y AXIS, IT WILL FIRST 
  DETERMINE IF THE PLOT BUFFER HAS BEEN SET UP.  IF IT HAS, IT WILL THEN
  PROCESS THE X AND Y POSITION VALUES, DETERMINING A SET OF CORRESPONDING 
  CONSTANTS AND SAVING THEM FOR USE BY THE INTERRUPT SERVICE ROUTINE.  IT 
  WILL THEN RETURN TO THE CALLING PROGRAM.  IF THE DRIVER IS CALLED TO
  DISPLAY THE AXIS BEFORE THE PLOT BUFFER IS SET UP, IT WILL IGNORE THE 
  REQUEST AND RETURN IMMEDIATELY TO THE CALLING PROGRAM.
  
  THE DRIVER MAY ALSO BE CALLED TO CLEAR THE PLOT BUFFER, IN WHICH CASE,
  IT WILL FIRST DETERMINE IF THE PLOT BUFFER HAS BEEN SET UP.  IF IT HAS, 
  THE DRIVER THEN CLEARS IT BY SETTING EACH LOCATION TO A 0 AND IT WILL 
  THEN RETURN TO THE CALLING PROGRAM.  IF THE DRIVER IS CALLED TO CLEAR 
  THE PLOT BUFFER BEFORE IT HAS BEEN SET UP, IT WILL IGNORE THE REQUEST 
  AND RETURN IMMEDIATELY TO THE CALLING PROGRAM.
  
  THE KEY SEGMENT OF THIS DRIVER IS THE INTERRUPT SERVICE SUBROUTINE, 
  WHICH IS EXECUTED EACH TIME THE D/A CONVERTER INTERRUPTS (ABOUT EVERY 
  TWENTY MILLISECONDS).  WHEN THIS INTERRUPT OCCURS, THIS SUBROUTINE WILL 
  FIRST DISPLAY THE X AND Y AXIS, IF THIS OPTION IS REQUESTED.  NEXT IT 
  WILL DISPLAY THE CONTENTS OF THE PLOT BUFFER, INITIALIZE THE D/A
  CONVERTER AND RETURN TO THE PROGRAM IN PROGRESS.
  
  USE USUAL ASSEMBLY, LOAD AND RUN PROCEDURES.
  
  THIS RELOCATABLE SUBROUTINE MAY BE CONFIGURED FOR THE I/O CHANNEL USED
  BY THE PERTINENT INTERFACE CARD BY ALTERING STATEMENT:
  
       #198   DACON EQU 23B  ASSIGN I/O ADDRESS 
  
  THE MEMORY LOCATION ASSOCIATED WITH THIS CHANNEL SHOULD BE LEFT EMPTY 
  AT BCS CONFIGURATION TIME.
  
  TO DISPLAY THE CONTENTS OF THE PLOT BUFFER USING DIRECT MEMORY ACCESS,
  THE N OPTION MUST BE INCLUDED IN THE CONTROL STATEMENT DURING ASSEMBLY
  OF THIS PROGRAM.
  
  TO SET UP THE PLOT BUFFER:
  
      CALL PLOTB(IARRY,NUMBR) 
  
  TO TURN OFF THE X-Y DISPLAY:
  
       CALL PLOTB(IARRY,0)
  
  TO STORE A POINT IN THE PLOT BUFFER:
  
       CALL DISPT(IXVAL,IYVAL)
  
  TO DISPLAY A SET OF X AND Y AXIS: 
  
       CALL GRPAH(IXAXS,IYAXS)
  
  TO TERMINATE DISPLAY OF THE AXIS: 
  
       CALL GRAPH(-1,0) 
  
  TO CLEAR THE PLOT BUFFER: 
  
       CALL ERASE 
  
  PARAMETER     TYPE     DESCRIPTION
  ---------     ----     -----------
  
  IARRY         INTEGER  NAME OF ARRAY USED TO STORE THE POINTS TO BE 
                         DISPLAYED. 
  
  IXAXS         INTEGER  VARIABLE OR CONSTANT SPECIFYING THE POSITION OF
                         THE X-AXIS, AS SHOWN BELOW:
  
                         NO.   POSITION 
  
                          0    BOTTOM 
                          1    CENTER 
                          2    TOP
  
  IXVAL         INTEGER   VARIABLE OR CONSTANT IN THE RANGE OF 0 TO 255 
                          REPRESENTING THE X-COORDINATE VALUE.
  
  IYAXS         INTEGER   VARIABLE OR CONSTANT SPECIFYING THE POSITION
                          OF THE Y-AXIS, AS SHOWN BELOW:
  
                          NO.   POSITION
  
                           0    LEFT
                           1    CENTER
                           2    RIGHT 
  
  IYVAL         INTEGER    VARIABLE OR CONSTANT IN THE RANGE 0 TO 255,
                           REPRESENTING THE Y-COORDINATE VALUE. 
  
  NUMBR         INTEGER    VARIABLE OR CONSTANT WHICH SPECIFIES THE 
                           NUMBER OF POINTS TO BE DISPLAYED.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X17801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP2911A/B CROSSBAR SCANNER DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          SCANNER 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    HP BASIC
  
 **MEMORY REQUIREMENTS: 
  8K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ROUTINE CONTROLS AN HP2911 GUARDED CROSSBAR SCANNER.  THE SCANNER
  SAMPLES THE DATA CHANNEL DESIGNATED, AND FORWARDS THE SAMPLE TO A 
  METER OR EXTERNAL RECORDING DEVICE.  CONTROL WORDS FROM THE CALLING 
  PROGRAM SPECIFY THE DATA CHANNEL, DELAY, AND TYPE OF MEASUREMENT
  (DC VOLTS, AC VOLTS, RESISTANCE, OR FREQUENCY).  THE ROUTINE OPERATES 
  UNDER THE 20392A BASIC OPERATING SYSTEM.
  
  EQUIPMENT REQUIRED IS ONE HP2911 GUARDED CROSSBAR SCANNER, WITH 
  PROGRAMMING INTERFACE KIT.
  
  THIS ROUTINE IS BASIC CALLABLE AND SHOULD BE USED ONLY IN CONJUNCTION 
  WITH THE HP20392A BASIC INTERPRETER.
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  TO CONFIGURE THIS PROGRAM FOR USE WITH DIFFERENT I/O CHANNELS, FOLLOW 
  THE PROCEDURE BELOW - 
  
   LOAD THE BASIC INTERPRETER, USING THE BBL. 
  
      B.  LOAD THE HP2911A/B CROSSBAR SCANNER DRIVER, USING THE BBL.
  
      C.  LOAD ADDRESS TO 77B.
  
      D.  LOAD THE A-REGISTER WITH THE SELECT CODE OF THE SCANNER 
          PROGRAMMING INTERFACE CARD. 
  
      E.  PRESS PRESET. 
  
      F.  PRESS RUN.
  
  THE COMPUTER WILL NOW HALT WITH A 102077 IN THE T-REGISTER AND THE
  DRIVER IS READY FOR USE.
  
  TO CONFIGURE THE HP2911A/B CROSSBAR SCANNER DRIVER FOR A PARTICULAR 
  I/O CHANNEL MODIFY STATEMENT #0149 (XBAR  EQU 15B  ASSIGN I/O 
  CHANNEL NUMBER).
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  WHEN CALLED, THE DRIVER WILL FIRST PROCESS THE CHANNEL NUMBER,
  CONVERTING IT FROM FLOATING POINT TO BCD.  IT WILL THEN PROGRAM THE 
  SCANNER FOR THE DESIRED CHANNEL NUMBER, FUNCTION AND DELAY AND RETURN 
  TO THE CALLING PROGRAM.  IN THE EVENT THAT A CALLING PARAMETER IS 
  INCORRECTLY SPECIFIED, THE DRIVER RETURNS TO THE CALLING PROGRAM WITH 
  THE APROPRIATE ERROR INDICATION.
  
  THE DRIVER IS CALLED FROM BASIC AS: 
  
       CALL (1, C, P, S)
  
            WHERE     C - A VARIABLE OR CONSTANT SPECIFYING THE DESIRED 
                          CHANNEL NUMBER. 
  
                      P - A TWO-DIGIT VARIABLE OR CONSTANT SPECIFYING 
                          THE DESIRED DELAY AND FUNCTION, AS SHOWN BELOW -
  
                          ONES DIGIT - DELAY (MS) 
                          ----------------------- 
  
                               (150V)   (150V)
  
                           0         15       22
                           1         17.5     27
                           2         22       22
                           3         27       97
                           4         42      145
                           5         62      500
                           6        145      145
                           7        500      500
  
                           TEN DIGIT - FUNCTION 
                           -------------------- 
  
                             0  AC OR DC VOLTS
                             1  FREQUENCY 
                             2  OHMS
  
                      S - A VARIABLE INDICATING THE STATUS, AS SHOWN
                          BELOW, UPON RETURN TO THE CALLING PROGRAM.
  
                                      STATUS
                                      ------
  
                            -1     COMMAND ERROR
                             0     NORMAL RESPONSE
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  THIS PROGRAM SHOULD BE USED ONLY IN CONJUNCTION WITH THE HP20392A BASIC 
  INTERPRETER.  USE WITH ANY OTHER VERSION OF THE BASIC INTERPRETER WILL
  RESULT IN UNSUCCESSFUL PROGRAM EXECUTION. 
  
  TO OVERLAY THE MATRIX OPERATIONS OF THE INTERPRETER WITH THIS PROGRAM,
  THE N OPTION MUST BE INCLUDED IN THE CONTROL STATEMENT DURING ASSEMBLY. 
X17901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  HP12551B RELAY REGISTER INTERFACE DRIVER
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    BCS 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  USED WITH THE HP12551A OR 12551B RELAY OUTPUT REGISTER, THIS ROUTINE
  OPENS OR CLOSES ANY SPECIFIED RELAY CONTACT.  IN ADDITION, ALL RELAY
  CONTACTS CAN BE OPENED SIMULTANEOUSLY.  AFTER CONTACT OPENING OR
  CLOSURE, THE ROUTINE REMAINS IN A WAITING LOOP FOR APPROXIMATELY 300
  MILLISECONDS TO ALLOW TIME FOR RELAY CONTACTS TO SETTLE.
  
  EQUIPMENT REQUIRED IS ONE HP12551A OR 125518 RELAY OUTPUT REGISTER, 
  WITH INTERFACE KIT. 
  
  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: 
  
  THE DRIVER MAY BE CALLED TO OPEN OR CLOSE A DESIRED RELAY CONTACT OR
  OPEN ALL OF THE CONTACTS SIMULTANEOUSLY.  WHEN CALLED TO OPEN OR CLOSE A
  SINGLE CONTACT, IT WILL PROCESS THE CONTACT NUMBER, DETERMINING IF IT IS
  IN THE RANGE OF 0 TO 15 AND THEN FORMING A WORD WITH A SINGLE BIT SET IN
  THE CORRESPONDING POSITION.  WHEN CLOSING A CONTACT, THIS BIT IS MERGED 
  WITH THE PREVIOUS PATTERN AND WHEN OPENING A CONTACT, THIS BIT IS 
  COMPLEMENTED AND USED TO MASK THE PREVIOUS CONTACT PATTERN.  THE NEW
  PATTERN IS THEN OUTPUT TO THE RELAY REGISTER, WHICH OPENS OR CLOSES 
  THE DESIRED CONTACT, AND THE DRIVER WILL THEN WAIT IN A PROGRAM LOOP
  FOR APPROXIMATELY 300 MILLISECONDS TO ALLOW THE CONTACTS TO SETTLE. 
  IT THEN RETURNS TO THE CALLING PROGRAM. 
  
  WHEN CALLED TO OPEN ALL RELAY CONTACTS SIMULTANEOUSLY, THE DRIVER WILL
  OUTPUT A PATTERN OF 0'S TO THE RELAY REGISTER AND IT WILL THEN WAIT 
  IN A PROGRAM LOOP FOR APPROXIMATELY 300 MILLISECONDS TO ALLOW THE 
  CONTACTS TO SETTLE.  IT THEN RETURNS TO THE CALLING PROGRAM.
  
   CLOSE A DESIRED RELAY CONTACT, THE DRIVER IS CALLED FROM FORTRAN AS: 
  
     CALL CLRLY (ICONT) 
  
   OPEN A DESIRED RELAY CONTACT, THE DRIVER IS CALLED FROM FORTRAN AS:
  
     CALL OPRLY (ICONT) 
  
        WHERE     ICONT - AN INTEGER VARIABLE OR CONSTANT IN THE RANGE
                          OF 0 TO 15, WHICH SPECIFIES THE DESIRED CONTACT.
  
   OPEN ALL RELAY CONTACTS SIMULTANEOUSLY, THE DRIVER IS CALLED FROM
  FORTRAN AS: 
  
     CALL ALLOP 
  
  THIS PROGRAM IS INTENDED FOR USE ALSO WITH THE HP12551A RELAY REGISTER
  INTERFACE KIT.
  
  TO CONFIGURE THE HP12551B RELAY REGISTER INTERFACE DRIVER FOR A PARTI-
  CULAR I/O CHANNEL MODIFY STATEMENT
      #0105 (RELAY EQU 25B ASSIGN I/O ADDRESS). 
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  
X18001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DOS - DOS-M HP2331 XY SCOPE DISPLAY 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          SCOPE           GRAPHIC 
  
  
 **LANGUAGES: 
    ASMB        FTN2
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS       DOS-M 
  
 **MEMORY REQUIREMENTS: 
  16K 
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  POINT, CHARACTER AND GRAPH DISPLAY ARE AVAILABLE IN CONNECTION WITH 
  HP2331 X-Y SCOPE SUBSYSTEM.  THE SOFTWARE GENERATES POINT COORDINATES 
  (8 BIT FOR X, 8 BIT FOR Y) INTO A USER DEFINED BUFFER AND PROVIDES
  FOR IMAGE REFRESH OUT OF THE BUFFER EVERY 20 MSEC.  CALLS ARE COMPATIBLE
  WITH BCS HP2331 SOFTWARE. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  DIFFERENCES TO BCS SCOPE SOFTWARE:
  
  1.  WILL OPERATE IN 16K MINIMUM DOS OR DOS-M ENVIRONMENT, BUT REQUIRES
      THE SECOND DMA CHANNEL CONSTANTLY DURING DION.  IN DOS-M DVR13 WILL 
      (CONTROLLED BY THE CALLING ROUTINE SCOPE) AUTOMATICALLY SELECT DMA
      CHANNEL 7 SO AS NOT TO DISTURB DVR31 WHICH CAN ONLY OPERATE ON
      CHANNEL 6.
  
  2.  CALL SCOPE (WITH DOS LOGICAL UNIT)
                                         ONLY DIFFERENCE
  3.  FOR BETTER OPERATION: 
      - TRY TO KEEP SYSTEM QUIET, I.E., DO NOT CONSTANTLY CALL EXEC IN
        LOOP, USE WAIT ROUTINE FOR WAITING! 
      - USE DIOFF AND DION EXTENSIVELY
  
  ATTENTION : SYSTEM ASSUMES THE FOLLOWING CODING IN DISC-MONITOR 
X18101
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  BCS POWER FAIL TTY DRIVER                                               
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER                                        
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    BCS                         
  
 **MEMORY REQUIREMENTS: 
  4K                                                                      
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS BCS TELEPRINTER DRIVER INCORPORATES A POWER FAIL ROUTINE FOR ANY   
  HP21XX COMPUTER WITH POWER FAIL.  IT SAVES AND RESTORES ALL THE         
  REGISTERS INCLUDING THE SWITCH REGISTER.  IF THE AUTOSTART OPTION IS    
  AVAILABLE, THIS DRIVER WILL RESTART THE PROGRAM AT THE INTERRUPTED      
  POINT AND RESTORE THE TELEPRINTER TO ITS PREVIOUS STATUS.  IF THE FULL  
  CAPABILITY OF THIS ROUTINE IS USED TO DRIVE A COMPLETE PAPER TAPE SYSTEM
  INCLUDING PHOTOREADER AND HIGH-SPEED PUNCH, THEN THIS DRIVER ALONE WILL 
  REVIVE THE COMPLETE PAPER TAPE SYSTEM AFTER AUTO-RESTART.               
                                                                          
  EQUIPMENT REQUIRED IS ANY 4K HP COMPUTER WITH POWER FAIL, AN HP2752A    
  OR 2754 TELEPRINTER, AND OPTIONALLY, AUTO-RESTART.                      
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 ASSEMBLY PROCEDURES.                                              
                                                                          
  PREPARE A STANDARD BCS WITH AN EXTRA ENTRY AT CONFIGURATION TIME -      
                                                                          
       4, 102004 FOR NON-AUTORESTART                                      
                                                                          
       4, XY, P.00 FOR AUTORESTART WHERE XY IS THE LINK LOCATION          
                                                                          
  LOAD DRIVER AT PCS TIME.                                                
  
  
 **RUN INSTRUCTIONS:
  
                                                                          
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                                                                          
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS MODULE OF THE HP2116 BASIC CONTROL SYSTEM SOFTWARE IS DESIGNED TO  
  OPERATE THE ASR 33/35 TELE-TYPEWRITER.  THE FUNCTION OF THIS DRIVER IS  
  TO INITIATE, CONTINUE AND COMPLETE A READ/WRITE OPERATION REQUESTED     
  THROUGH INPUT/OUTPUT CONTROL.                                           
                                                                          
  THE DRIVER ACCEPTS AND PROCESSES A READ OR WRITE REQUEST IN EITHER ASCII
  OR BINARY MODES.  KEYBOARD MODE MAY BE SELECTED FOR A SINGLE READ       
  OPERATION.  THE SPECIAL P-FORMAT FOR BINARY INPUT MAY ALSO BE SELECTED  
  FOR A SINGLE READ OPERATION.                                            
                                                                          
  THE DRIVER WILL REJECT A -FUNCTION SELECT- REQUEST AS NONE OF THE       
  DEFINED FUNCTIONS IS APPLICABLE FOR THE ASR DEVICE.                     
                                                                          
  THE DRIVER PROVIDES FOR A SIMULATED END-OF-TAPE CONDITION WHICH IS      
  DETERMINED BY A FIXED NUMBER OF CONSECUTIVE FEED-FRAMES BEFORE THE      
  FIRST DATA CHARACTER OF A RECORD IS READ.  THE NUMBER OF FEED-FRAMES    
  IS REPRESENTED BY A NEGATIVE CONSTANT AT THE LABEL - FFCT - IN THE      
  DRIVER.  THE CONSTANT IS SET FOR 10 BUT MAY BE CHANGED TO ANY DESIRED   
  VALUE BY RE-ASSEMBLING THE DRIVER.                                      
                                                                          
  REFER TO A BCS MANUAL FOR A DESCRIPTION OF THE REQUEST CALLS TO IOC AND 
  THE RECORD FORMATS.                                                     
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
                                                                          
X18201
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  HP12551B RELAY REGISTER INTERFACE DRIVER                                
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER                                        
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    HP BASIC                    
  
 **MEMORY REQUIREMENTS: 
  8K                                                                      
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO  
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THE ABSOLUTE MODIFICATION TO THE HP20392A BASIC SYSTEM OPENS OR CLOSES  
  RELAY CONTACTS ON THE HP12551B RELAY REGISTER.  IT CHECKS THE RANGE     
  AND PROCESSES THE CONTACT NUMBER.  THE DRIVER WAITS IN A LOOP TO ALLOW  
  THE CONTACTS TO SETTLE BEFORE RETURNING TO THE CALLING PROGRAM.         
                                                                          
  THE HP2752A TELEPRINTER, AND HP12551B RELAY REGISTER INTERFACE ARE      
  NECESSARY HARDWARE.                                                     
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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 ASSEMBLY PROCEDURES                                               
                                                                          
  1.  THIS PROGRAM SHOULD BE USED ONLY IN CONJUNCTION WITH THE HP20392A   
      BASIC COMPILER.  USE WITH ANY OTHER VERSION OF THE BASIC COMPILER   
      WILL RESULT IN UNSUCCESSFUL PROGRAM EXECUTION.                      
                                                                          
  2.  TO OVERLAY THE MATRIX OPERATIONS OF THE COMPILER WITH THIS PROGRAM, 
      THE N OPTION MUST BE INCLUDED IN THE CONTROL STATEMENT DURING       
      ASSEMBLY.                                                           
                                                                          
  3.  THIS PROGRAM IS ALSO INTENDED FOR USE WITH THE HP-12551A RELAY      
      REGISTER INTERFACE KIT.                                             
                                                                          
  4.  TO CONFIGURE THIS PROGRAM FOR USE WITH DIFFERENT I/O CHANNELS,      
      FOLLOW THE PROCEDURE BELOW.                                         
                                                                          
      A.  LOAD THE BASIC COMPILER, USING THE BBL.                         
      B.  LOAD THE HP12551B RELAY REGISTER INTERFACE DRIVER, USING THE BBL
      C.  LOAD ADDRESS TO 77B.                                            
      D.  LOAD THE SWITCH REGISTER WITH THE SELECT CODE OF THE RELAY      
            REGISTER INTERFACE CARD.                                      
      E.  PRESS PRESET.                                                   
      F.  PRESS RUN.                                                      
                                                                          
  THE COMPUTER WILL NOW HALT WITH A 102077 IN THE T-REGISTER AND THE      
  DRIVER IS READY FOR USE.                                                
  
  
 **RUN INSTRUCTIONS:
  
                                                                          
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                                                                          
  
  
 **PROGRAM DESCRIPTION: 
  
  THE DRIVER MAY BE CALLED TO OPEN OR CLOSE A DESIRED RELAY CONTACT OR    
  OPEN ALL OF THE CONTACTS SIMULTANEOUSLY.  WHEN CALLED TO OPEN OR CLOSE  
  A SINGLE CONTACT, IT WILL PROCESS THE CONTACT NUMBER, DETERMINING IF IT 
  IS IN THE RANGE OF 0 TO 15 AND THEN FORMING A WORD WITH A SINGLE BIT SET
  IN THE CORRESPONDING POSITION.  WHEN CLOSING A CONTACT, THIS BIT IS     
  MERGED WITH THE PREVIOUS PATTERN AND WHEN OPENING A CONTACT, THIS BIT   
  IS COMPLEMENTED AND USED TO MASK THE PREVIOUS CONTACT PATTERN.  THE NEW 
  PATTERN IS THEN OUTPUT TO THE RELAY REGISTER, WHICH OPENS OR CLOSES     
  THE DESIRED CONTACT, AND THE DRIVER WILL THEN WAIT IN A PROGRAM LOOP    
  FOR APPROXIMATELY 300 MILLISECONDS TO ALLOW THE CONTACTS TO SETTLE.     
  IT THEN RETURNS TO THE CALLING PROGRAM.                                 
                                                                          
  WHEN CALLED TO OPEN ALL RELAY CONTACTS SIMULTANEOUSLY, THE DRIVER WILL  
  OUTPUT A PATTERN OF 0'S TO THE RELAY REGISTER AND IT WILL THEN WAIT IN  
  A PROGRAM LOOP FOR APPROXIMATELY 300 MILLISECONDS TO ALLOW THE CONTACTS 
  TO SETTLE.  IT THEN RETURNS TO THE CALLING PROGRAM.                     
                                                                          
  TO CLOSE A DESIRED RELAY CONTACT, THE DRIVER IS CALLED FROM BASIC AS:   
                                                                          
       CALL (1, N)                                                        
                                                                          
  TO OPEN A DESIRED RELAY CONTACT, THE DRIVER IS CALLED FROM BASIC AS:    
                                                                          
       CALL (2, N)                                                        
                                                                          
       WHERE          N - A VARIABLE OR CONSTANT, IN THE RANGE            
                          0 TO 15, WHICH SPECIFIES THE DESIRED            
                          CONTACT.                                        
                                                                          
                                                                          
  TO OPEN ALL RELAY CONTACTS SIMULTANEOUSLY, THE DRIVER IS CALLED FROM    
  BASIC AS:                                                               
                                                                          
       CALL (3)                                                           
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
                                                                          
X18301
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  BASIC CALLABLE LINE PRINTER DRIVER                                      
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PRINTER                       
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    HP BASIC                    
  
 **MEMORY REQUIREMENTS: 
  8K                                                                      
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO  
  
  
 **ABSTRACT:
  
  THIS ROUTINE PROVIDES THE HP BASIC SYSTEM 20392A WITH A LINE PRINTER    
  CAPABILITY FOR THE HP2778A.  A SPECIAL TECHNIQUE OF LINE PRINTER        
  BUFFERING ALLOWS THE HP2778A TO OPERATE AT MAXIMUM SPEED AND UTILIZE    
  THE FULL LINE PRINTER CARRIAGE WIDTH.                                   
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  EDIT FOR YOUR SYSTEM.  (NECESSARY EDITS ARE EQU STATEMENTS AT       
      BEGINNING OF TAPE.)                                                 
                                                                          
  2.  ASSEMBLE.  (USE N OPTION TO OVERLAY MATRIX FUNCTIONS).              
                                                                          
  3.  PREPARE NEW CONFIGURED BASIC IN ACCORDANCE WITH MANUAL OR LOAD      
      PRECONFIGURED BASIC, AND OVERLAY THE ABSOLUTE FOR THIS ROUTINE      
      USING THE BASIC BINARY LOADER.                                      
                                                                          
  4.  PTAPE THE ENCLOSED ROUTINE AND EXECUTE, OR WRITE YOUR OWN PROGRAM   
      TO VERIFY OPERATION.  REFER TO PROGRAM LISTING FOR VARIOUS OPTIONS. 
                                                                          
      #27   LPP     EQU  60    PRINTER LINES PER PAGE                     
      #70   LP      EQU  20B   DEFINE LINE PRINTER I/O SLOT               
      #99   COLUM   EQU  132B  COLUMNS PER LINE                           
                                                                          
  THE TECHNIQUE OF LINE PRINTER BUFFERING HAS TWO EFFECTS:                
                                                                          
  1.  THE LINE PRINTER DOES NOT SLOW DOWN TO THE "1/2 SPEED" TYPICAL      
      OF THE BCS DRIVER'S TTY MODE.                                       
                                                                          
  2.  THE FULL LINE PRINTER CARRIAGE WIDTH CAN BE UTILIZED USING THE      
      FOLLOWING PROGRAMMING TECHNIQUE.                                    
                                                                          
      A.  USE THE ODD/EVEN MODE (SWR = 0)                                 
      B.  OUTPUT LESS THAN 72 CHARACTERS USING ODD LINE NUMBERED PRINT    
          STATEMENTS ENDING WITH SEMICOLONS.                              
      C.  EXECUTE A SIMPLE "PRINT" STATEMENT ON AN EVEN LINE.  THIS WILL  
          RESET BASIC'S INTERNAL COUNTER.                                 
      D.  OUTPUT ADDITIONAL (<72) CHARACTERS USING ODD LINE NUMBERS.  THE 
          FINAL PRINT STATEMENT MUST NOT END WITH A SEMICOLON.  FEED      
          ROLLER PRESSURE CAN BE RELEASED ON A TELETYPE TO AVOID PAPER    
          WASTE.                                                          
                                                                          
  IN ORDER TO USE THIS DRIVER, MAKE THE NECESSARY EDITS FOR CONFORMANCE   
  WITH YOUR SYSTEM.  THEN PREPARE A CONFIGURED BASIC SYSTEM IN ACCORDANCE 
  WITH THE INSTRUCTIONS IN THE BASIC MANUAL.  IF DESIRED, AND YOUR CURRENT
  CONFIGURED BASIC CONTAINS NO CONFLICTING SUBROUTINES, THE ABSOLUTE TAPE 
  MAY BE LOADED IMMEDIATELY AFTER THE BASIC SYSTEM, USING THE BBL.        
                                                                          
  ENTRY POINT:                                                            
                                                                          
       LNPR - SETS UP THE DRIVER TO PROCESS ALL I/O REQUESTS FROM THE     
              SYSTEM.  IF NECESSARY, OUTPUTS A FORM FEED REQUEST TO THE   
              LINE PRINTER.  INVOKED BY STATEMENT CALL(1), OR BY VALUE    
              SPECIFIED BY X IN PROGRAM LISTING.  CHANGES ENTRY POINT     
              TO BEGINNING OF PROCESSING ROUTINE.                         
                                                                          
       CALL(X) - SETS UP THE DRIVER SO THAT FUTURE PRINT REQUESTS WILL BE 
                 PROCESSED THROUGH THIS ROUTINE.  THE LINE PRINTER IS     
                 ASSUMED TO BE AT TOP OF FORM (TOF) AT THIS TIME.  ANY    
                 SUBSEQUENT CALL(X) WILL RESULT IN A TOF INSTRUCTION TO   
                 THE LINE PRINTER, UNLESS THE LINE COUNT INDICATES PAGE IS
                 ALREADY AT TOF BASED ON LPP LINES PER PAGE.              
                                                                          
       00074       LPP  EQU 60     PRINTER LINES PER PAGE                 
       00001       X    EQU 1      SUBROUTINE CALL NUMBER                 
                                                                          
  AFTER EXECUTION OF THE CALL(X) STATEMENT, ALL PRINT REQUESTS FROM THE   
  BASIC SYSTEM WILL BE DIRECTED TO OUTPUT EQUIPMENT IN THE FOLLOWING      
  MANNER:                                                                 
                                                                          
  15 - SWITCH REGISTER - 0    OUTPUT                                      
  ------------------------    ------                                      
                                                                          
  X 1XX XXX XXX XXX XXX       ALL OUTPUTS GO TO THE LINE PRINTER.         
                              (INCLUDES SYSTEM COMMANDS AND LIST OUTPUT). 
                                                                          
  1 0XX XXX XXX XXX XXX       ALL OUTPUTS GO TO THE TERMINAL.             
                              (NORMAL BASIC OPERATION).                   
                                                                          
  0 0XX XXX XXX XXX XX0       ALL SYSTEM MESSAGES GO TO THE TERMINAL.     
                              ALL EXECUTING PROGRAM OUTPUTS GO TO THE LINE
                              PRINTER.                                    
                                                                          
  0 0XX XXX XXX XXX XX1       SELECTIVE OUTPUT.  ODD NUMBERED PROGRAM     
                              PRINT STATEMENTS GO TO THE LINE PRINTER.    
                              EVEN NUMBERED PRINT STATEMENTS GO TO THE    
                              TERMINAL.  SYSTEM MESSAGES GO TO THE        
                              TERMINAL.                                   
                                                                          
  THE FORMAT OF THE OUTPUT WILL BE EXACTLY THE SAME WHETHER DIRECTED TO   
  THE LINE PRINTER OR THE TELETYPE (EXCEPT AS AFFECTED BY FORM CONTROLS   
  INHERENT IN THE EQUIPMENTS).                                            
                                                                          
  WHEN AN INCOMPLETE LINE (A PRINT STATEMENT ENDING WITH A SEMICOLON) IS  
  OUTPUTTED TO THE LINE PRINTER, IT WILL BE BUFFERED IN THE PRINTER.      
  SUBSEQUENT OUTPUT DIRECTED TO THE LINE PRINTER WILL BE ADDED TO THE     
  LINE PRINTER BUFFER.  THE BUFFER WILL NOT BE PRINTED UNTIL A NORMAL     
  (NO ENDING SEMICOLON) PRINT STATEMENT IS OUTPUTTED TO THE LINE PRINTER, 
  WHEN BASIC'S INTERNAL COUNTER REACHES 72 CHARACTERS DURING AN OUTPUT    
  TO THE LINE PRINTER, WHEN THE CHARACTER COUNT EXCEEDS "COLUM" SIZE OF   
  THE PRINT DRUM, WHEN PROGRAM EXECUTION CEASES AND THE SYSTEM RETURNS    
  TO THE COMMAND MODE, OR WHEN A PROGRAM INPUT STATEMENT IS EXECUTED.     
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  IF THE LINE PRINTER IS NOT READY WHEN THE CALL IS MADE, THE TTY WILL    
  PRINT *EQR, AND THE COMPUTER WILL HALT WITH 102070 IN THE MEMORY        
  REGISTER.                                                               
  
  
 **MISCELLANEOUS: 
  
  SEE THE PROGRAM LISTING FOR SPECIAL SWITCH OPTIONS, AND OTHER           
  CONSIDERATIONS.                                                         
X18401
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  CORE SIZE INDEPENDENT PHOTO READER STO DRIVER 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PAPER TAPE
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
  
  
 **MEMORY REQUIREMENTS: 
  4K
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS ONE HP2752/54 TELETYPEWRITER SIO DRIVER CAN REPLACE ALL THE
  DIFFERENT CORE SIZE VERSIONS OF SUCH SIO DRIVERS.  IT HAS THE ABILITY 
  TO AUTOMATICALLY DETERMINE THE MEMORY SIZE OF ANY HP2100 SERIES COMPUTER
  DURING THE NORMAL SIO CONFIGURATION PROCESS.  THIS IS ACHIEVED BY A 
  SELF-CONTAINED MODIFICATION TO THE CONFIGURATION SECTION OF THE STANDARD
  SIO DRIVER.  THE ENTIRE PROCESS IS TRANSPARENT TO THE USER AND ACTS 
  AS IF HE HAD LOADED AND CONFIGURED THE SPECIFIC DRIVER FOR HIS MEMORY 
  SIZE. 
  
  USEFUL FOR HP 2737/48/58 PHOTO READERS. 
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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.  DRIVER TAPE IS LOADED USING BASIC BINARY LOADER 
  
  2.  LOAD ADDRESS 2
  
  3.  PUT SELECT CODE OF PHOTO READER IN BITS 0-5 OF SWITCH REGISTER
  
  4.  PUSH PRESET, THEN RUN 
  
  5.  HALT 77B INDICATES SUCCESSFUL COMPLETION OF CONFIGURATION I.E., 
      INCORPORATION OF DEVICE S.C. INTO ALL I/O INSTRUCTIONS AND MOVE 
      OF SIO TO COMPUTED AREA 
  
  6.  FOR USE OF SIO IN NON-STANDARD (HP SUPPORTED ARE THOSE PROGRAMS 
      WHICH ARE DISTRIBUTED AND MAINTAINED BY HEWLETT PACKARD AND THUS
      REFERRED TO AS STANDARD) PROGRAMS REFER TO THE ASSEMBLER
      REFERENCE MANUAL APPENDIX E FOR COMPLETE DESCRIPTION OF CALLING 
      SEQUENCES 
  
      NOTE:  THIS DRIVER MUST BE LOADED AFTER THE TTY AND LINE PRINTER
      DRIVERS, IF PRESENT, AND BEFORE THE PUNCH SIO DRIVERS.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THIS PROGRAM REPLACES ALL THE DIFFERENT CORE SIZE VERSIONS OF PHOTO 
  READER (PR) SIO DRIVERS DUE TO ITS UNIQUE ABILITY TO AUTOMATICALLY
  ASCERTAIN THE MEMORY SIZE OF ANY HP 2100 SERIES COMPUTER DURING THE 
  NORMAL SIO CONFIGURATION PROCESS. 
  
  THIS IS ACHIEVED BY A SELF-CONTAINED MODIFICATION TO THE CONFIGURATION
  SECTION OF THE STANDARD HP SIO DRIVER.  WHEN THIS DRIVER IS LOADED VIA
  THE BINARY LOADER INTO ANY SIZE COMPUTER, IT INITIALLY RESIDES IN THE 
  LOWEST 4K MODULE OF MEMORY, IN THE APPROPRIATE SIO AREA.  THEN, AS THE
  USER STARTS THE NORMAL CONFIGURATION PROCEDURE (LOAD ADDRESS 2 PUT
  SELECT CODE OF PR IN SWITCH REGISTER, THEN PRESS PRESET THEN RUN), THE
  CONFIGURATOR ROUTINE FIRST MERGES THE SELECT CODE OF THE DEVICE INTO
  ALL I/O INSTRUCTIONS.  THEN THIS ROUTINE ASCERTAINS THE MEMORY SIZE OF
  THE COMPUTER BY A SEARCH PROCEDURE THAT CHECKS FOR MEMORY WRAP AROUND 
  (2116,2115,2114) OR NON-EXISTENT MEMORY (2100A) DEPENDING UPON THE
  PARTICULAR COMPUTER.
  
  THE CONFIGURATOR THEN AUTOMATICALLY RELOCATES THE DRIVER TO THE APPRO-
  PRIATE SIO AREA AND MODIFIES THE LINKAGE LOCATIONS AS REQUIRED.  THE
  CONFIGURATOR THEN RELEASES ITSELF AND MAY BE OVERLAID BY SUBSEQUENT 
  PROGRAMS OR DRIVERS.  THIS PROCESS IS TRANSPARENT TO THE USER AND ACTS
  AS IF HE HAD LOADED AND CONFIGURED THE SPECIFIC DRIVER FOR HIS SIZE 
  MEMORY. 
  
  THIS DRIVER PROVIDES THE INPUT FACILITY REQUIRED BY THE ASSEMBLER,
  SYMBOLIC EDITOR, AND FORTRAN COMPILER.  THE LINKAGE ADDRESS FOR THIS
  FACILITY IS AT LOCATION 101B IN THE SYSTEM LINKAGE TABLE. 
  
  
  THE FOLLOWING GIVES RECORD FORMATS RECOGNIZED BY THE PAPER TAPE READER: 
  
     ASCII * A GROUP OF CHARACTERS TERMINATED BY A RETURN/LINE FEED.
             THESE CODES INPUT BEFORE THE FIRST DATA CHARACTER OF A 
             RECORD ARE IGNORED, A RUB-OUT CODE CAUSES THE CURRENT
             RECORD TO BE DELETED AND THE NEXT RECORD INPUT.  A LINE- 
             FEED MUST TERMINATE THE CURRENT RECORD.
  
     BINARY* THE FIRST CHARACTER OF A BINARY RECORD CONTAINS THE WORD 
             COUNT OF THE ENTIRE RECORD.  THIS VALUE DETERMINES THE 
             NUMBER OF WORDS (UP TO THE BUFFER LENGTH REQUESTED)
             TO BE TRANSMITTED
  
  
  ENTRY POINT:
  
  PT.R = STD. PAPER TAPE INPUT = 101B 
  
  THE SIO CALLING SEQUENCE IS:
                             P   = JSB 101B,I 
                             P+1 = RETURN 
  
  UPON ENTRY TO THE DRIVER A POSITIVE VALUE IN THE A REGISTER SPECIFIES 
  THE NUMBER OF ASCII CHARACTERS TO BE INPUT.  A NEGATIVE VALUE IN THE
  A REGISTER SPECIFIES THE NUMBER OF BINARY WORDS TO BE TRANSFERRED 
  (A = 2'S COMPLEMENT OF BINARY WORDS TO BE TRANSFERRED)
  
  THE B REGISTER UPON ENTRY CONTAINS THE BUFFER ADDRESS.
  
  THE A REGISTER, UPON RETURN FROM THE READER SIO CONTAINS THE NUMBER 
  OF WORDS OR CHARACTERS TRANSFERRED. 
  
       NOTE:  IF A = 0 UPON RETURN AN END-OF-TAPE CONDITION WAS 
              SENSED.  (10 BLANK FRAMES WERE READ)
  
              SEE HP ASSEMBLER REFERENCE MANUAL APPENDIX E FOR
              COMPLETE SIO DESRIPTION.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: 
  
  AS THIS DRIVER IS LOADED INTO THE LOWER 4K OF ANY COMPUTER, THE DRIVER
  MUST BE LOADED BEFORE ANY SOFTWARE PACKAGE THAT REQUIRES THIS AREA TO 
  OPERATE.  FURTHER THIS MODULE MUST BE LOADED AFTER THE TTY AND LINE 
  PRINTER AND BEFORE THE PAPER TAPE PUNCH IN THE EVENT THAT THESE DEVICES 
  ARE TO BE USED. 
  
       NOTE:  IF AN ERROR IS MADE DURING CONFIGURATION THEN THE TAPE
              MUST BE RELOADED USING THE BINARY LOADER, AND RE-CONFIGURED.
X18501
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  DOS-M CENTRONICS 101-A LINE PRINTER DRIVER                              
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PRINTER                       
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    DOS-M                       
  
 **MEMORY REQUIREMENTS: 
                                                                          
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DOS-M DRIVER CONTROLS OUTPUT OPERATIONS FOR A CENTRONICS 101A      
  LINE PRINTER WITH A SERIAL OR PARALLEL INTERFACE AND WITHOUT THE        
  AUTOMATIC LINE FEED OPTION.  IT IS DESIGNED TO UTILIZE THE SPECIAL      
  FUNCTIONS OF THIS LINE PRINTER SUCH AS VERTICAL TAB, FORM FEED,         
  ELONGATED CHARACTERS AND OVERPRINTING.  ONLY ASCII CHARACTERS CAN BE    
  OUTPUT.                                                                 
                                                                          
  THE DRIVER WILL NOT SUPPORT A TELETYPE OR THE SYSTEM CONSOLE.           
                                                                          
  DVR00 MUST BE INCLUDED AT THE TIME OF SYSTEM 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: SOURCE                                            
  
  
 **LOAD INSTRUCTIONS: 
  
                                                                          
  
  
 **RUN INSTRUCTIONS:
  
                                                                          
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                                                                          
  
  
 **PROGRAM DESCRIPTION: 
  
  USUAL ASSEMBLY PROCEDURES                                               
                                                                          
  INCLUDE DVR00 AT TIME OF SYSTEM GENERATION.  OUTPUT CONSISTS OF A       
  STRING OF ASCII CHARACTERS TERMINATED BY A LINE-FEED AND CARRIAGE       
  RETURN.  THE NUMBER OF CHARACTERS OUTPUT IS DESIGNATED BY THE BUFFER    
  LENGTH IN THE REQUEST.  A ZERO BUFFER LENGTH CAUSES ONLY A LINE-FEED    
  AND CARRIAGE RETURN.                                                    
                                                                          
  WHEN USED AS THE FIRST CHARACTER IN A BUFFER:                           
                                                                          
       "!" INDICATES VERTICAL TAB                                         
       "/" INDICATES FORM FEED, AND                                       
       "*" INDICATES ELONGATED CHARACTERS                                 
                                                                          
  WHEN USED AS THE LAST CHARACTER IN A BUFFER:                            
                                                                          
       "_" (LEFT ARROW OR UNDERLINE)INDICATES NO LINE FEED OR RETURN, AND 
       "^" (UP ARROW OR CARET)INDICATES OVERPRINT (RETURN, NO LINE FEED). 
                                                                          
  I.00 IS THE ENTRY POINT FOR THE INITIATION SECTION.                     
  C.00 IS THE ENTRY POINT FOR THE COMPLETION SECTION.                     
                                                                          
  THE INITIATION SECTION IS CALLED FROM IO CONTROL TO INITIATE A DEVICE   
  AND INITIALIZE A DATA TRANSFER.                                         
                                                                          
  CALLING SEQUENCE:                                                       
                                                                          
             - ADDRESSES OF DEVICE EQT ENTRY SET IN "EQT1-EQT17"          
                                                                          
             (A)  =  I/O ADDRESS OF DEVICE                                
                                                                          
             (P)     JSB I.00                                             
             (P+1)   -RETURN-                                             
                                                                          
             (A)  =  O, OPERATION INITIATED, OR                           
             (A)  =  REJECT CODE:                                         
                                                                          
                     1) DEVICE DOWN OR READ REQUESTED                     
                     2) DEVICE IN USE                                     
                     3) OR GREATER, ILLEGAL REQUEST                       
                                                                          
  THE COMPLETION SECTION IS CALLED BY CENTRAL INTERRUPT CONTROL TO        
  CONTINUE OR COMPLETE AN OPERATION.                                      
                                                                          
  CALLING SEQUENCE:                                                       
                                                                          
            - ADDRESSES OF DEVICE EQT ENTRY SET IN "EQT1-EQT17"           
                                                                          
     (A)  =  I/O ADDRESS OF DEVICE                                        
                                                                          
            (P)     JSB C.00                                              
            (P+1)   -COMPLETION RETURN-                                   
            (P+2)   -CONTINUATION RETURN-                                 
                                                                          
                    -COMPLETION RETURN:                                   
                    A = 0, SUCCESSFUL COMPLETION WITH -                   
                    B = # WORDS OR CHARACTERS TRANSFERRED.                
                                                                          
                    -CONTINUATION RETURN:                                 
                    REGISTERS MEANINGLESS.                                
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
  THE CENTRONICS 101-A LINE PRINTER SHOULD BE ORDERED WITHOUT THE         
  AUTOMATIC LINE FEED OPTION.  THIS DVR00 DOES NOT SUPPORT A TELETYPE     
  OR THE SYSTEM CONSOLE.                                                  
X18601
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  DOS-M SYSTEM TELEPRINTER WITH PAPER TAPE I/O                            
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PRINTER         PAPER TAPE    
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    DOS-M                       
  
 **MEMORY REQUIREMENTS: 
                                                                          
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER, A MODIFIED VERSION OF THE STANDARD DOS-M TELETYPE DRIVER,  
  ALLOWS THE SYSTEM CONSOLE TELETYPE TO BE USED FOR PAPER TAPE I/O.  SET  
  BIT 15 OF THE SWITCH REGISTER DISPLAY BEFORE EXECUTING A DIRECTIVE SUCH 
  AS (:STORE,R,PROG,1) AND NO OPERATOR ATTENTION WILL BE GENERATED BY THE 
  TAPE READER.  BOTH BINARY AND ASCII RECORDS CAN BE INPUT AND OUTPUT ON  
  THE TELETYPE.                                                           
                                                                          
  DVR00 MUST BE INCLUDED AT THE TIME OF SYSTEM GENERATION.                
                                                                          
  THIS DRIVER REQUIRES ONLY A MINIMUM DOS-M.                              
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  USUAL ASSEMBLY PROCEDURES.                                              
                                                                          
  INCLUDE DVR00 AT TIME OF SYSTEM GENERATION.  SET BIT 15 IN THE SWITCH   
  REGISTER DISPLAY BEFORE ENTERING A DOS-M DIRECTIVE TO USE THE CONSOLE   
  FOR PAPER TAPE I/O.                                                     
                                                                          
  -RECORD FORMATS:                                                        
                                                                          
  ASCII (INPUT): A STRING OF CHARACTERS TERMINATED BY A LINE-FEED.  IF THE
                 REQUESTED LENGTH IS FULFILLED BEFORE A LINE-FEED, THE    
                 REMAINING CHARACTERS ARE IGNORED UNTIL A LINE-FEED IS    
                 INPUT.  THE 8-LEVEL BIT (BIT 07) IS SET = 0 FOR 7-BIT    
                 ASCII CODE.                                              
                                                                          
     SPECIAL CHARACTER PROCESSING:                                        
                                                                          
       RETURN    - ALWAYS IGNORED AND IS NOT TRANSMITED TO USER BUFFER    
       LINE-FEED - IGNORED IF INPUT BEFORE THE FIRST VALID CHARACTER OF A 
                   RECORD; RECORD TERMINATOR AT THE END OF A RECORD AND IS
                   NOT TRANSMITTED TO BUFFER OR COUNTED.                  
       CONTROL/A - DELETES PREVIOUS CHARACTER                             
       RUB-OUT   - DELETES CURRENT RECORD; AFTER LINE-FEED IS INPUT, NEXT 
                   RECORD IS READ.                                        
                                                                          
  ASCII (OUTPUT): A STRING OF CHARACTERS, THE NUMBER DESIGNATED BY THE    
                  "BUFFER LENGTH" IN THE REQUEST, TERMINATED BY A RETURN  
                  AND LINE-FEED (SUPPLIED BY THE DRIVER).                 
                                                                          
     SPECIAL CHARACTER PROCESSING:                                        
                                                                          
       LEFT-ARROW:  IF A LEFT-ARROW IS THE LAST CHARACTER IN THE USER     
                    BUFFER, THE RETURN/LINE-FEED AND ARROW CODES ARE NOT  
                    OUTPUT.                                               
                                                                          
                    A ZERO BUFFER LENGTH CAUSES ONLY A RETURN/LINE-FEED   
                    TO BE OUTPUT.                                         
                                                                          
    BINARY(INPUT):  A STRING OF CHARACTERS SPECIFIED BY THE BUFFER        
                    "LENGTH" IN THE REQUEST.                              
                                                                          
                    "V-FORMAT":  IF THE "V" FIELD IN THE CONTROL WORD OF  
                    THE REQUEST = 1, THE LENGTH OF THE RECORD IS          
                    DESIGNATED (IN WORDS) BY THE FIRST CHARACTER OF THE   
                    RECORD.  THE WORD COUNT INCLUDES THE FIRST WORD.  IF  
                    THE WORD COUNT IS LARGER THAN THE BUFFER LENGTH, THE  
                    BUFFER LENGTH IS USED.                                
                                                                          
    BINARY(OUTPUT): A STRING OF CHARACTERS SPECIFIED BY THE BUFFER        
                    "LENGTH" IN THE REQUEST.                              
                                                                          
    -SIMULATED END-OF-TAPE:  IF 30 FEED-FRAMES (ZEROS) ARE INPUT BEFORE   
                             THE FIRST CHARACTER OF A RECORD, AN EOT      
                             INDICATION IS SET IN THE STATUS FIELD (BIT 05
                             OF WORD 5) OF THE EQT ENTRY AND THE INPUT    
                             TERMINATED.  IF THE EOT BIT IS SET WHEN THE  
                             CONDITION IS ENCOUNTERED, THE EOT IS IGNORED 
                             AND CHARS ARE INPUT UNTIL A RECORD IS STARTED
                             (I.E., LEADER IS AUTOMATICALLY SKIPPED AFTER 
                             EOT).                                        
                                                                          
    -CONTROL FUNCTIONS ACCEPTED:                                          
                                                                          
       10 - TEN INCHES OF ZEROS (FEED-FRAMES) ARE OUTPUT FOR LEADER/      
            TRAILER.                                                      
       11 - LINE SPACING: THE PARAMETER WORD OF THE REQUEST DETERMINES THE
            NUMBER OF LINE-FEEDS TO BE OUTPUT.                            
       07 - THE EOT STATUS BIT IS SET TO ALLOW "LEADER" TO BE SKIPPED ON  
            THE NEXT INPUT REQUEST.                                       
                                                                          
    -SYSTEM TELETYPE PROCESSING:  THE SYSTEM TELETYPE IS ALWAYS LEFT IN   
                                  THE "INPUT STATE" WITH CONTROL SET/FLAG 
                                  CLEARED TO LEAVE THE KEYBOARD ACTIVE.   
                                  IF A KEY IS STRUCK WITH NO INPUT IN     
                                  EFFECT, THE FLAG "OPATN" IN BASE PAGE   
                                  IS SET NON-ZERO.  IF A KEY IS STRUCK    
                                  DURING AN OUTPUT OPERATION TO THE SYSTEM
                                  TTY, THE FLAG IS SET.                   
                                                                          
  I.00 - ENTRY POINT FOR THE INITIATION SECTION.                          
  C.00 - ENTRY POINT FOR THE COMPLETION SECTION.                          
                                                                          
  THE INITIATION SECTION IS CALLED FROM I/O CONTROL TO INITIALIZE A DEVICE
  AND INITIATE A DATA TRANSFER OR CONTROL FUNCTION.                       
                                                                          
  CALLING SEQUENCE:                                                       
                                                                          
       - ADDRESSES OF DEVICE EQT ENTRY SET IN "EQT1-EQT17" -              
                                                                          
       (A) = I/O ADDRESS OF DEVICE                                        
                                                                          
  (P)    JSB I.00                                                         
  (P+1)  - RETURN -                                                       
                                                                          
           (A) = 0, OPERATION INITIATED, OR                               
           (A) = REJECT CODE:                                             
                                                                          
                 2, ILLEGAL CONTROL REQUEST, OR CONTROL FUNCTION HAS      
                 BEEN DONE (I.E., SET EOT STATUS).                        
                                                                          
  THE COMPLETION SECTION IS CALLED BY CENTRAL INTERRUPT CONTROL TO        
  CONTINUE OR COMPLETE AN OPERATION.                                      
                                                                          
  CALLING SEQUENCE:                                                       
                                                                          
       - ADDRESSES OF DEVICE EQT ENTRY SET IN "EQT1-EQT17" -              
                                                                          
       (A) = I/O ADDRESS OF DEVICE                                        
                                                                          
  (P)    JSB C.00                                                         
  (P+1)  --COMPLETION RETURN   --                                         
  (P+2)  --CONTINUATION RETURN  --                                        
                                                                          
  COMPLETION RETURN:                                                      
       (A) = 0, SUCCESSFUL COMPLETION WITH                                
            (B) = # WORDS OR CHARS. TRANSFERRED                           
       (A) = 2 IF SIMULATED EOT ENCOUNTERED,                              
            (B) = 0                                                       
                                                                          
  CONTINUATION RETURN:  REGISTERS MEANINGLESS.                            
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
                                                                          
X18701
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  MULTI TERMINAL BCS DRIVER                                               
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          TERMINAL                      
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    BCS                         
  
 **MEMORY REQUIREMENTS: 
                                                                          
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  NO  
  
  
 **ABSTRACT:
  
  D.00C IS A MULTI-TERMINAL BCS DRIVER CAPABLE OF OPERATING SIMULTANEOUSLY
  ANY NUMBER OF TELETYPES, TAPE READERS, TAPE PUNCHES AND EQUIVALENT      
  DEVICES.  IT IS DESIGNED TO TAKE THE PLACE OF THE STANDARD BCS DRIVERS  
  D.00, D.01 AND D.02.  IT USES INDIVIDUAL CONTINUATOR ENTRIES FOR EACH   
  DEVICE AND A COMMON PROCESSOR ROUTINE.  IN ADDITION TO THE STANDARD BCS 
  FEATURES, D.00C PROVIDES AN OPERATION-ATTENTION MODE, WHICH OPERATES    
  INDIVIDUALLY FOR EACH DEVICE.  D.00C ALSO ALLOWS THE FOLLOWING CHARAC-  
  TERS IN ASCII INPUT MODE:  CONTROL (A) DELETES A CHARACTER, CARRIAGE-   
  RETURN TERMINATES A RECORD, AND RUB-OUT DELETES A RECORD.               
                                                                          
  THIS DRIVER CAN BE USEFUL IN DEDICATED DATA PROCESSING SYSTEMS WHERE    
  A NUMBER OF OPERATORS HAVE FULL ACCESS TO A PROGRAM.  TO SIMPLIFY       
  PROGRAMMING FOR SUCH A TIME-SHARED MODE, A SET OF FORTRAN CALLABLE      
  UTILITY ROUTINES IS INCLUDED IN THIS PACKAGE.  THESE UTILITIES USE THE  
  CONTRIBUTED PROGRAM HP22591A, STRIPPED FORTRAN FORMATTER FOR INTERNAL   
  CONVERSION (STRIF).                                                     
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  ASSEMBLE THE SOURCE D.00C.                                              
                                                                          
  THE ROUTINE D.00C PROVIDES FOUR ENTRIES TO THE CONTINUATOR SECTION.  IF 
  MORE THAN FOUR DEVICES ARE TO BE OPERATED SIMULTANEOUSLY, INSERT        
  ADDITIONAL ENTRIES AS DESCRIBED IN THE PROGRAM LISTINGS, AND REASSEMBLE 
  THE ROUTINE.  WHERE ANY ENTRY POINTS REMAIN UNUSED THEY DO NOT HARM THE 
  SYSTEM.  EACH ENTRY REQUIRES 9 WORDS OF MEMORY.                         
                                                                          
  USE THE STANDAD BCS MODULES (PCS, .IOC., LOADR, ADDITIONAL DRIVERS)     
  TO SET UP A CONFIGURED BCS.  THE OBJECT TAPE OF D.00C REPLACES THE      
  OBJECT TAPES OF D.00, D.01, AND D.02; DO NOT LOAD THESE STANDARD        
  DRIVERS.  THE DIALOG ON THE SYSTEM TELETYPE IS ESSENTIALLY THE SAME AS  
  WITH THE STANDARD DRIVERS, WITH THE SPECIAL CONSIDERATIONS DESCRIBED    
  BELOW.                                                                  
                                                                          
  IN THE "EQT" ENTRY USE THE APPROPRIATE NAMES:                           
  D.00 FOR TELETYPES (OR EQUIVALENT DEVICES),                             
  D.01 FOR TAPE READERS,                                                  
  D.02 FOR HIGH SPEED TAPE PUNCHES.                                       
                                                                          
  EACH NAME MAY BE ASSIGNED TO ANY NUMBER OF DEVICES, OR MAY REMAIN       
  UNUSED.  THE NAME AS USED IN THE "EQT" DEFINES THE EQUIPMENT TYPE       
  AND CONTROLS THE MODE OF OPERATION.  E.G., A D.02 ENTRY WILL REJECT     
  INPUT REQUESTS AND WILL INDICATE A "TAPE LOW CONDITION", AS SPECIFIED   
  FOR THE STANDARD DRIVER D.02.                                           
                                                                          
  IN THE "INTERRUPT LINKAGE TABLE" USE THE ENTRY NAMES OF THE CONTINUATOR 
  SECTION RATHER THAN THE NAMES I.00, I.01, I.02.  THE ORIGINAL ROUTINE   
  D.00C HAS THE FOUR NAMES C.N1, C.N2, C.N3, C.N4; ADDITIONAL NAMES MAY   
  BE INSERTED.  THE NAMES MAY BE USED IN ANY ORDER; THE DRIVER WILL       
  ESTABLISH THE PROPER LINKAGE TO THE INITIATOR SECTION AND TO THE        
  ACCORDING ENTRY POINT.  ANY ENTRY POINT MAY REMAIN UNUSED, OR IT MAY BE 
  ASSIGNED TO MORE THAN ONE DEVICE; HOWEVER, ONLY ONE OF THOSE DEVICES CAN
  BE OPERATED AT A TIME.                                                  
  
  
 **RUN INSTRUCTIONS:
  
                                                                          
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                                                                          
  
  
 **PROGRAM DESCRIPTION: 
  
  D.00C IS A MULTI-TERMINAL BCS-DRIVER.  ITS INITIATOR SECTION HAS 3      
  ENTRIES:  D.00, D.01, D.02.  THE EXTERNAL REFERENCE SPECIFICATIONS OF   
  THE DRIVER ARE IDENTICAL WITH THOSE OF THE STANDARD BCS DRIVERS         
  (EXCEPTIONS SEE BELOW).  HOWEVER, WHILE A USUAL BCS DRIVER CAN SERVE    
  ONLY ONE DEVICE AT A TIME, THIS DRIVER HAS THE CAPABILITY OF OPERATING  
  ANY NUMBER OF INPUT/OUTPUT DEVICES SIMULTANEOUSLY.  THIS IS OBTAINED BY 
  INDIVIDUAL CONTINUATOR ENTRIES FOR EACH DEVICE, AND A COMMON PROCESSOR  
  ROUTINE.  THEY CAN BE LINKED TO THE INITIATOR ENTRIES IN ANY ORDER AT   
  CONFIGURATION TIME BY THE STANDARD "PREPARE CONTROL SYSTEM" ROUTINE.    
                                                                          
  THE FOLLOWING FEATURES ARE PROVIDED IN ADDITION TO THE STANDARD BCS     
  SPECIFICATIONS:                                                         
                                                                          
  1.  IN "ASCII INPUT MODE" A "CONTROL-A" DELETES THE PRECEEDING CHARACTER
      THE DRIVER REPLIES WITH A BACK-ARROW.  A "CARRIAGE RETURN"          
      TERMINATES THE RECORD, THE DRIVER REPLIES WITH A "LINE FEED".  A    
      "RUB-OUT" DELETES A RECORD, THE DRIVER REPLIES WITH "/", RETURN,    
      "LINE FEED".                                                        
                                                                          
  2.  IN "OPERATOR-ATTENTION MODE" A SOFTWARE FLAG IS SET IF THE OPERATOR 
      STRIKES A KEY OF THE TERMINAL, WHILE IT IS OUTPUTTING DATA OR IS    
      STANDING BY.  THE OPERATOR-ATTENTION MODE CAN BE TURNED ON OR OFF   
      INDIVIDUALLY FOR EACH DEVICE.                                       
                                                                          
  LIB.C IS A SET OF FORTRAN-CALLABLE ROUTINES THAT SIMPLIFY THE USE OF    
  D.00C IN A SYSTEM WITH TIME-SHARE CAPABILITY.                           
                                                                          
  THERE IS NO DIFFERENCE CONCERNING INPUT/OUTPUT, STATUS AND CLEAR        
  REQUESTS COMPARED TO THE STANDARD DRIVERS D.00, D.01, D.02.  ALL        
  STANDARD ROUTINES SUCH AS THE FORMATTER, READ OR WRITE INSTRUCTION, ETC.
  CAN BE USED.                                                            
                                                                          
  IN ADDITION TO THESE FEATURES THE DRIVER HAS THE "OPERATOR ATTENTION"   
  CAPABILITY.  A FUNCTION REQUEST TURNS THE OPERATOR ATTENTION MODE ON    
  OR OFF.  WHEN THE OPERATOR-ATTENTION MODE IS ACTIVATED, THE DRIVER SETS 
  A STATUS FLAG AS SOON AS THE OPERATOR STRIKES A KEY WHILE THE TERMINAL  
  IS OUTPUTTING DATA OR IS STANDING BY.                                   
                                                                          
  THE OPERATOR-ATTENTION MODE IS INACTIVE, UNLESS IT IS TURNED ON.  THIS  
  IS ACHIEVED BY A FUNCTION REQUEST TO .IOC., WHERE WORD 2 OF THE REQUEST 
  HAS THE FOLLOWING FORM:                                                 
                                                                          
       BITS 15 TO 11 = 001, BIT 8 = 1,                                    
       BITS  5 TO  0 = UNIT NUMBER, OTHER BITS MEANINGLESS.               
                                                                          
  THE OPERATOR-ATTENTION MODE IS TURNED OFF BY A SIMILAR FUNCTION REQUEST 
  WITH BIT 8 = 0 IN WORD 2.  NOTE THAT .IOC. REJECTS THE CALL IF THE      
  DEVICE IS "BUSY".  HOWEVER, INPUT/OUTPUT REQUESTS MAY BE GIVEN WHILE    
  THE OPERATOR-ATTENTION MODE IS CONTINUOUSLY BEING ACTIVE.               
                                                                          
  IF A KEY OF THE TERMINAL IS STRUCK WHILE THE OPERATOR-ATTENTION MODE    
  IS ACTIVE AND WHILE THIS DEVICE IS NOT PERFORMING AN INPUT OPERATION,   
  BIT 0 OF WORD 2 IN THE EQUIPMENT TABLE IS SET TO 1.  A STATUS REQUEST   
  FETCHES THIS WORD INTO THE A-REGISTER, WHERE IT CAN EASILY BE TESTED.   
  NOTE THAT A "LINE FEED" OR A "NULL" (FEED HOLE ONLY) DO NOT SET THE     
  OPERATOR-ATTENTION FLAG IF INPUT WHILE THE DEVICE IS STANDING BY.  THIS 
  FEATURE IS CONVENIENT WHEN DATA IS INPUT THROUGH THE TAPE READER OF THE 
  TELETYPE.                                                               
                                                                          
  A CLEAR REQUEST TURNS THE OPERATOR-ATTENTION MODE OFF AND CLEARS THE    
  OPERATOR-ATTENTION FLAG (BIT 0 IN WORD 2 OF EQT).  NOTE THAT THIS IS    
  THE ONLY REQUEST THAT RESETS THIS FLAG; OTHER REQUESTS DO NOT AFFECT IT.
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
  TEMPORARILY THE DRIVER OPERATES WITH THE INTERRUPT SYSTEM DISABLED.     
  THE PROGRAMMER MUST MAKE SURE THAT THIS FACT DOES NOT CAUSE ERRORS      
  (E.G., DATA LOSS WITH HIGH-SPEED SYNCHRONOUS I/O DEVICES SUCH AS        
  HP 2020 MAG TAPE).                                                      
                                                                          
  THE CONTINUATOR ROUTINE REQUIRES MORE PROCESSING TIME THAN THE STANDARD 
  BCS DRIVERS.  WHILE THIS FACT IS NOT PERCEPTIBLE ON TELETYPES, FAST     
  DEVICES SUCH AS TAPE READERS ARE SOMEWHAT SLOWED DOWN.  WHERE NECESSARY 
  THE STANDARD DRIVER D.01 CAN BE USED FOR THE TAPE READER, WHEREAS D.00C 
  SERVES THE TELETYPES.  IN THIS CASE DELETE THE ENTRY POINT "D.01" IN    
  D.00C AND RE-ASSEMBLE THE DRIVER.                                       
                                                                          
  A USER WHO SIMPLY REPLACES THE STANDARD DRIVERS D.00, D.01 AND D.02     
  BY D.00C GETS THE ADVANTAGE OF PERCEPTIBLY SAVING MEMORY, BUT DOES NOT  
  EXHAUST THE "TIME-SHARE" CAPABILITY.  TO DO SO HE HAS TO CALL THE       
  DRIVERS THROUGH .IOC. AND APPLY INTERNAL CONVERSION RATHER THAN USING   
  THE STANDARD REQUESTS THROUGH THE FORMATTER.  PROGRAMMING IN THIS MODE  
  IS GREATLY SIMPLIFIED BY A SET OF UTILITY ROUTINES INCLUDED IN THIS     
  PACKAGE ("LIB.C"), AND BY THE CONTRIBUTED PROGRAM HP 22591, STRIPPED    
  FORTRAN FORMATTER FOR INTERNAL CONVERSION (STRIF).  A SIMPLE EXAMPLE    
  IS GIVEN IN THE "TEST CASE".  THIS SAMPLE FORTRAN PROGRAM "DEMOC" AND   
  THE COMMENTS IN THE ROUTINES "LIB.C" GIVE ENOUGH INFORMATION HOW TO USE 
  THE DRIVER.                                                             
X18801
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  DOS-M DRIVER FOR CENTRONICS 101A LINE PRINTER                           
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          PRINTER         CENTRONICS    
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    DOS-M                       
  
 **MEMORY REQUIREMENTS: 
                                                                          
  
 **DEPENDENT ON SYSTEM SOFTWARE?  YES 
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DOS-M DRIVER CONTROLS THE CENTRONICS 101A LINE PRINTERS.  IT IS    
  INTERFACED TO HP2100 SERIES COMPUTERS WITH A POSITIVE TRUE MICROCIRCUIT 
  CARD HP12566.  THE DRIVER PROVIDES AUTOMATIC PAGING AND CARRIAGE        
  CONTROL.                                                                
                                                                          
  THE HARDWARE REQUIREMENTS INCLUDE: DISC, CENTRONICS 101A OR 101 LINE    
  PRINTER, MICROCIRCUIT INTERFACE CARD, POSITIVE TRUE.                    
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  WHEN A CALL IS FROM A USER PROGRAM, THE DRIVER INTERPRETS THE FIRST     
  CHARACTER OF THE BUFFER AS CARRIAGE CONTROL ACCORDING TO THE FOLLOWING  
  TABLE:                                                                  
                                                                          
          CHARACTER                          MEANING                      
          ---------                          -------                      
              1                        GO TO NEW PAGE                     
              2                        VERTICAL FORMAT CONTROL            
              E                        ELONGATED CHARACTERS               
      ANY OTHER CHARACTER              SAME AS TTY                        
                                                                          
  WHEN THE CARRIAGE CONTROL CHARACTER IS "1", "2", OR "E", IT IS PRINTED  
  AS A BLANK.  ANY OTHER CHARACTER IS PRINTED AS IT APPEARS, GIVING       
  OPERATION SIMILAR TO THAT OF A TELETYPE.  IN NORMAL OPERATION A "BLANK" 
  SHOULD BE USED AS A CARRIAGE CONTROL CHARACTER.                         
                                                                          
  THE DRIVER WILL ALSO PROCESS CLEAR REQUESTS, PAGE EJECT REQUESTS, AND   
  LINE SPACES AS DESCRIBED IN THE DOS-M MANUAL.                           
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
  THE MICROCIRCUIT CARD MUST BE MODIFIED TO BE COMPATIBLE WITH THE        
  CENTRONICS LINE PRINTER.  THE PRINTER WANTS TO SEE A .5 MICROSECOND     
  (OR LONGER) PULSE ON THE DATA STROBE LINE.  THIS CAN BE ACCOMPLISHED    
  BY BREAKING THE DEVICE COMMAND LINE ON THE INTERFACE CARD (GOES TO      
  PINS 22 AND Z) AND ADDING A ONE-SHOT WITH A PULSE WIDTH OF 1 MICRO-     
  SECOND.  THIS CAN BE DONE USING AN SN74121N WITH THE FOLLOWING CONNEC-  
  TIONS: (1) 82PF BETWEEN PINS 10 & 11, (2) 18K OHMS BETWEEN PINS 11 AND  
  14, (3) INPUT TO PIN 4, (4) OUTPUT (PINS Z, 22) TO PIN 1, (5) PIN 7     
  TO GROUND, (6) PIN 14 TO +5V.  THERE IS ROOM TO MOUNT THE 1C BY U23     
  AND U24.  GROUND CAN BE PICKED UP ALONG THE EDGE OF THE CARD AND +5V    
  ON THE + SIDE OF C12.                                                   
X18901
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:        
 **PROGRAM TITLE: 
  MODIFIED DOS-III SYSTEM CONSOLE DRIVER                                  
  
 **REVISION?  NO  
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          TERMINAL                      
                                  
  
 **LANGUAGES: 
    ASMB                              
  
 **COMPUTER TYPE: 
              
  
 **OPERATING SYSTEMS: 
    DOS-M     DOS-3             
  
 **MEMORY REQUIREMENTS: 
                                                                          
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO  
 **DEPENDENT ON SYSTEM HARDWARE?  NO  
  
  
 **ABSTRACT:
  
  THE PROGRAM IS SIMILAR IN NATURE TO THE OFFICIAL DVR05, WITH THE        
  FOLLOWING MODIFICATIONS MADE IN ORDER TO PROVIDE COMPATIBILITY WITH     
  HP3000 TERMINALS.                                                       
  1. THE USER SIGNALS COMPLETION OF AN INPUT LINE BY TYPING CARRIAGE      
     RETURN ONLY.  THE DRIVE ECHOES THE CARRIAGE RETURN AND ALSO OUTPUTS  
     A LINEFEED.                                                          
                                                                          
  2. BOTH CONTROL/A AND CONTROL/H DELETE SINGLE CHARACTERS ON INPUT.      
     THE DRIVER OUTPUTS A BACK-SLASH (OCTAL 134) FOR EACH CHARACTER       
     DELETED.                                                             
                                                                          
  3. BOTH RUBOUT AND CONTROL/X DELETE AN ENTIRE INPUT LINE.  THE DRIVER   
     OUTPUTS THREE EXCLAMATION MARKS, FOLLOWED BY A CARRIAGE RETURN AND   
     LINEFEEED.                                                           
                                                                          
  THIS DRIVER WILL FUNCTION SIMILARLY TO THE ORIGINAL DVR05, THEREFORE    
  IT CAN HANDLE ALL TERMINALS SUPPORTED BY THE ORIGINAL.                  
  
  
 **FILES IDENTIFICATION:
   (NOTE: FILES IN THIS CONTRIBUTION HAVE THE 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: 
  
  THIS DRIVER MUST BE ASSEMBLED AND CONFIGURED INTO A DOS-M OR DOS-III    
  SYSTEM AS THE SYSTEM IS GENERATED.                                      
  
  
 **RUN INSTRUCTIONS:
  
                                                                          
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
                                                                          
  
  
 **PROGRAM DESCRIPTION: 
  
                                                                          
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
                                                                          
  
  
 **MISCELLANEOUS: 
  
  THIS DRIVER REQUIRES NO SPECIAL TECHNIQUE FOR THE HP 3000 USER.  THE    
  DOS-M OR DOS-III USER WHO IS FAMILIAR WITH THE ORIGINAL DVR05 WILL      
  HAVE TO RETRAIN HIS OR HER FINGERS TO AVOID STRIKING THE LINEFEED       
  KEY FOLLOWING THE CARRIAGE RETURN.  THE DRIVER AND THE OPERATING SYSTEM 
  REACT TO SUCH A LINEFEED JUST THE SAME AS IF THE USER TYPED ANY OTHER   
  KEY: OPERATOR ATTENTION.  THE OPERATING SYSTEM WILL OUTPUT THE OPERATOR 
  ATTENTION ASTERISK, AND THE USER MUST THEN ENTER SOME NON-ACCEPTABLE    
  DIRECTIVE OR CHARACTER (LIKE A SINGLE BLANK) FOLLOWED BY A CARRIAGE     
  RETURN IN ORDER TO "CLEAR" THE OPERATOR ATTENTION PAUSE.                
X19001
 PLUS/1000 LIBRARY CONTRIBUTION 
 ---------------------------------------------------------------------
  
 **DATE CODE: 2001
  
 **PROGRAM NAME:
 **PROGRAM TITLE: 
  DVR-37 DOS DRIVER FOR ASCII BUS 
  
 **REVISION?  NO
  
 **PACKAGE: 99    **CATEGORY:  5    **SUBCATEGORY:  2 
  
 **KEYWORDS:
    DRIVER          ASCII 
  
  
 **LANGUAGES: 
    ASMB
  
 **COMPUTER TYPE: 
  
  
 **OPERATING SYSTEMS: 
    DOS-M 
  
 **MEMORY REQUIREMENTS: 
  
  
 **DEPENDENT ON SYSTEM SOFTWARE?  NO
 **DEPENDENT ON SYSTEM HARDWARE?  YES 
  
  
 **ABSTRACT:
  
  THIS DRIVER (DVR37) OPERATES UNDER THE CONTROL OF THE I/O CONTROL MODULE
  OF THE D.O.S. EXECUTE.
  
  THIS DRIVER IS RESPONSIBLE FOR: 
  1. CONTROLLING INPUT AND OUTPUT DATA TRANSMISSION WITH THE I/O CARD.
  2. OUTPUTTING THE CONTROL WORD WHICH IS USED TO SELECT THE OPERATING
     MODES AND BUS FUNCTIONS THAT THE BUS I/O CARD IS TO PERFORM. 
  
  HARDWARE REQUIRED:  DISC, HP-IB I/O CARD (59310A), AND ANY DEVICE(S)
                      OPERABLE ON ASCII BUS 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: 
  
  1. ASSEMBLE THE DRIVER PROGRAM (DVR37), AND MAKE ITS RELOCATABLE BINARY 
     TAPE.
  2. STORE THE RELOCATABLE BINARY ON THE DISC TOGETHER WITH THE SYSTEM
     TAPES AT THE DISC SYSTEM GENERATION TIME, ACCORDING TO THE "GENERA-
     TING DOS-M" (MANUAL PART NO. 5951-1375). 
  3. AND ESTABLISH THE EQT TABLE ENTRY, DEVICE REFERENCE TABLE, AND INTER-
     RUPT TABLE CAREFULLY.
  
  
 **RUN INSTRUCTIONS:
  
  
  
  
 **INPUT/OUTPUT EXAMPLES: 
  
  
  
  
 **PROGRAM DESCRIPTION: 
  
  THE DVR37 PERFORMS THE CONTROLS TO SELECT THE OPERATING MODE AND BUS
  FUNCTIONS, INPUT AND OUTPUT DATA TRANSMISSION WITH THE DEVICE(S), UNDER 
  CONTROL OF THE DISC OPERATING SYSTEM. 
  
  1. I/O OPERATION
      AN EXEC-CALL FOR TRANSFERRING INPUT AND OUTPUT DATA IS CONFORMABLE
      WITH THE READ/WRITE INSTRUCTION ON THE "MOVING HEAD DISC OPERATING
      SYSTEM" (SECTION III EXEC CALLS; MANUAL PART NO. 02116-91779).
  
      CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
              EXT EXEC
               .
               .
               .
              JSB EXEC   (TRANSFER CONTROL TO DOS-M)
              DEF *+5    (RETURN POINT FROM DOS-M)
              DEF RCODE  (REQUEST CODE) 
              DEF CONWD  (CONTROL INFORMATION)
              DEF BUFFR  (BUFFER LOCATION)
              DEF BUFFL  (BUFFER LENGTH)
              (RETURN POINT)
               .
               .
               .
        RCODE DEC 1 (OR 2) (1=OUTPUT, 2=INPUT)
        CONWD OCT CONWD    (SEE COMMENT)
     FOR INPUT
        BUFFR BSS N        (BUFFER N-WORDS) 
        BUFFL DEC N(OR -2N)(SAME N; WORDS(+) OR CHARACTERS(-))
     FOR OUTPUT 
        BUFFR ASC M,XXXXX  (BUFFER STORED OUTPUTING CHARACTERS, M=NO. OF
        BUFFL DEC N(OR -2N)   CHARACTERS, X=CHARACTER)
  
  
      CALLING SEQUENCE - FORTRAN
  
        CALL EXEC(ICODE,ICONW,IBUFF,IBUFL)
  
      --- COMMENT: CONWD ---
            THE CONWD CONTAINS THE FOLLOWING FIELDS:
  
         000----K0VLLLLLL 
  
              K: USED WITH KEYBOARD INPUT, SPECIFIES PRINTING THE INPUT 
                 AS RECEIVED IF K=1.  IF K=0, "NO PRINTING" IS SPECIFIED. 
              M: DETERMINES THE MODE OF DATA TRANSFER.  IF M=0, TRANSFER
                 IS IN ASCII CHARACTER FORMAT, AND M=1, BINARY FORMAT.
              LLLLLL: DEVICE LU NUMBER. 
  
  
  2. CONTROL OPERATION
  
      CALLING SEQUENCE - ASSEMBLY LANGUAGE
  
             EXT EXEC 
              . 
              . 
              . 
             JSB EXEC      (TRANSFER CONTROL TO DOS-M)
             DEF *+3       (POINT OF RETURN FROM DOS) 
             DEF RCODE     (REQUEST CODE) 
             DEF CONWD     (CONTROL INFORMATION)
             (RETURN POINT) 
              . 
              . 
              . 
       RCODE DEC 3         (REQUEST CODE = 3) 
       CONWD OCT CONWD     (REQUIRES FOR SOME CONTROL FUNCTIONS; SEE
                            COMMENT)
  
      CALLING SEQUENCE - FORTRAN
  
             CALL EXEC(ICODE,ICONW) 
  
      --- COMMENT: CONWD ---
  
            THE CONWD CONTAINS THE FOLLOWING FIELDS:
  
         000FFFFFFFLLLLLL 
  
          F: FUNCTION CODE
  
              FUNCTION CODE   ACTION
                 (OCTAL)
                   001        BUS CLEAR (SET IFC LOW) 
                   002        SWITCH BUS TO LOCAL  (SET REN HIGH) 
                   003        SWITCH BUS TO REMOTE (SET REN LOW)
                   004        CLEAR ACTIVE CONTROLLER STATUS
                   005        SET ACTIVE CONTROLLER STATUS
  
                   044        DISABLE COMMAND MODE(SET ATN & EOI HIGH)
                   046        ENABLE COMMAND MODE (SET ATN LOW, EOI HIGH) 
  
                   060        DISABLE LISTEN AND DISABLE TALK FUNCTIONS,
                                 DISABLE COMMAND MODE 
                   061        DISABLE LISTEN AND ENABLE TALK FUNCTIONS, 
                                 DISABLE COMMAND MODE 
                   062        ENABLE LISTEN AND DISABLE TALK FUNCTIONS, 
                                 DISABLE COMMAND MODE 
                   063        ENABLE LISTEN AND ENABLE TALK FUNCTIONS,
                                 DISABLE COMMAND MODE 
                   064        COMBINED 044 AND 060
                   065        COMBINED 045 AND 061
  
  
  
          LLLLLL: LU DEVICE NUMBER
  
  
 **ADDITIONAL EXITS OR DIAGNOSTIC MESSAGES: 
  
  
  
  
 **MISCELLANEOUS: