ASMB,R,L,C      RTSGN  REV.1612         
      NAM RTSGN  29101-60007  REV.1612  760319  
*     SOURCE:       29101-80007 
*     RELOC:        29101-60007 
*     ABSOLUTE      29101-60011 
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT *   
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
* 
**************************************************
* 
*  NAME:  RTE-C GENERATOR MAIN CONTROL
*  PROGRAMMER:  W. RAGIN
*  DATE OF ORIGINAL ISSUE:  5/18/73 
*  MODIFIED BY:  G.MCANALLY 
*  MODIFIED DATE:  3/25/75
*  MODIFIED BY:  E.WONG 
*  MODIFIED DATE: 3/19/76 
* 
**************************************************
      ORB 
A     EQU 0 
B     EQU 1 
***************** - HIGH CORE - ******************
*                                                *
*             SIO DRIVERS (TTY, PT, HSP)         *
*                                                *
**************************************************
*                    - IDENTS -                  *
*                    ----------                  *
*                                                *
*                                                *
*                     -------                    *
*                     - LST -                    *
**************************************************
*                                                *
*                                                *
*           PROGRAM LOADING CONTROL              *
*                                                *
*                                                *
**************************************************
*                                                *
*               I/O TABLE GENERATION             *
*                                                *
*                  PARAMETER INPUT               *
*                                                *
****************** - 2000 - **********************
*                                                *
*                                                *
*                    DATA AREAS                  *
*                                                *
*                                                *
**************************************************
* 
*  THE TERM RTS/2100 IS SYNONYMOUS WITH RTE-C, AND
*  THE TERMS ARE USED INTERCHANGEABLY THROUGHOUT
*  THIS DOCUMENT. 
* 
* 
      SKP 
* 
* 
* 
* 
* 
*  RTSGN PROGRAM TABLE FORMAT (IDENTS)
* 
*  WORD 1:  IP1 - NAME  1,2 
*  WORD 2:  IP2 - NAME  3,4 
*  WORD 3:  IP3 - NAME  5,SC
* 
*          SC = 0  PROGRAM HAS BEEN LOADED
*             = XX (OCTAL) INT PRG
* 
* 
*  LST FORMAT 
* 
*  WORD 1: LST1 - NAME 1,2
*  WORD 2: LST2 - NAME 3,4
*  WORD 3: LST3 - NAME 5, ORDINAL 
*  WORD 4: LST4 - IDENT ADDRESS 
*  WORD 5: LST5 - BP LINK ADDRESS 
* 
* 
* 
*  ENTERNS AND EXTERNS
* 
* 
* 
      EXT LST,PLK,PLKS,?XFER,LSTA1
      EXT OPT.3,.MEM.,PRCMD,PCHX
      EXT UEXFL,SSTBL,.MEM3,LTG,LOEND 
      EXT LST4,LST5,BPAG4,LOCC,BPLOC
      EXT .MEM1,.MEM4,LINK,ASR33,LOUT 
      EXT .MEM2,.MEM5,.MEM6,NAMR.,LISTO 
* 
      ENT PNAME,PNAMA,PRAMS 
* 
* 
.XFER EQU ?XFER 
* 
* 
*    .MEM. TABLE DEFINITIONS
* 
*       .MEM1 = FWABP 
*       .MEM2 = LWABP 
*       .MEM3 = FWAM
*       .MEM4 = LWAM
*       .MEM5 = FWAC
*       .MEM6 = LWAC
* 
* 
* 
*  ERROR CODES
* 
*  TB: SYMBOL TABLE/ID SEG OVERFLOW 
*  NA: PARAMETER NAME ERROR 
*  PA: PARAMETER ERROR
*  PR: PARAMETER PRIORITY ERROR 
*  IN: PARAMETER EXECUTION INTERVAL ERROR 
*  CH: INVALID CHANNEL NUMBER 
*  DR: INVALID DRIVER NAME
*  LU: INVALID DEVICE REFERENCE NUMBER
*  EQ: INVALID EQT. NO. IN INT RECORD 
*  AD: INVALID ENTRY POINT
*  DU: DUPLICATE PROGRAM NAME 
* 
* 
START JMP BEGIN     BEGINING OF RTSGN 
DRPTR BSS 1         PT READER DRIVER ADDRESS
DRKEY BSS 1         KEYBOARD OUPUT DRIVER ADDRESS 
DRHSP BSS 1         HS PUNCH DRIVER ADDRESS 
DRTTY BSS 1         TELETYPE INPUT DRIVER ADDRESS 
FWAM  DEF LOEND 
LWAM  BSS 1         END AVAIL. MEM - SET BY DRIVERS 
      BSS 1 
* 
TRANS DEF RTSGN     TRANSFER ADDR TO RTSGN
AREAD DEF READ
AOTLY DEF OTNLY     ADDRESS OF WRITE ONLY ROUTINE 
APARS DEF PARAM     ADDRESS OF PARAMETER INPUT CODE 
AGNIO DEF GENIO     ADDR OF I/O GENERATOR CODE
AGETA DEF GETAL     ADDR OF GETAL SUB.
AGETN DEF GETNA     ADDRESS OF GETNA SUB. 
AGETO DEF GETOC     ADDRESS OF GETOC SUB. 
ACONV DEF CONVD 
      SKP 
* 
*                                   PROGRAM CONSTANT FACTORS
ZERO  OCT 0 
N1    DEC -1
N2    DEC -2
N3    DEC -3
N4    DEC -4
N5    DEC -5
N6    DEC -6
N8    DEC -8
N9    DEC -9
N10   DEC -10 
N24   DEC -24 
N28   DEC -28 
N60   DEC -60 
N64   DEC -64 
N100  DEC -100
N1020 DEC -1020 
P2    DEC 2 
P3    DEC 3 
P4    DEC 4 
P5    DEC 5 
P6    DEC 6 
P7    DEC 7 
P8    DEC 8 
P9    DEC 9 
P11   DEC 11
P12   DEC 12
P13   DEC 13
P14   DEC 14
P15   DEC 15
P18   DEC 18
P27   DEC 27
P28   DEC 28
P58   DEC 58
P64   DEC 64
P99   DEC 99
P1647 OCT 1647
B3000 OCT 3000
L6    EQU N6
L10   EQU N8
L12   EQU N10 
L60   OCT -60 
M7    EQU P7
M4    EQU P4
M60   OCT 60
M77   OCT 77
M177  OCT 177 
M377  OCT 377 
M1600 OCT 160000
M2000 OCT 2000
M7400 OCT 177400
M7000 OCT 177000
      SKP 
DPWRS DEF *+1 
P0100 DEC 10000 
P1000 DEC 1000
P100  DEC 100 
P10   DEC 10
P1    DEC 1 
OPWRS DEF *+1 
M0100 OCT 10000 
M1000 OCT 1000
M100  OCT 100 
M10   OCT 10
      OCT 1 
* 
      SUP 
BLANK OCT 040       BLANK 
MSIGN OCT 100000    NEGATIVE SIGN 
CHNGE OCT 1 
      SPC 3 
*     STARTS AND RESTARTS FROM 100B COME HERE.
      SPC 2 
BEGIN CLF 0         CLEAR THOSE INTERRUPTS
      LDA DRTTY      SET INPUT TO TTY 
      STA PARAD 
      LIA 1         GET THE SWITCH REGISTER 
      SSA,RSS       IS BIT 15 SET ? 
      CLA           NO, CLEAR TTY PUNCH FLAG
      STA ASR33     SET PUNCH FLAG
      JSB SPACE       PUT THE WORD ON A NEW LINE
      LDA P5
      LDB MES01 
      JSB AOTLY,I   TO THE TTY
      JMP TRANS,I   YES - START THE GENERATOR 
      SPC 1 
MES01 DEF *+1 
      ASC 3,RTSGN 
      HED RTSGN   BASE PAGE ROUTINES   **A-29101-60007-1 REV.B
* 
*                                   NEW LINE (CR,LF) ON TTY 
* 
*  THE SPACE SUBROUTINE IS USED TO SPACE UP THE TELEPRINTER.
* 
*  CALLING SEQUENCE:
*    A = IGNORED
*    B = IGNORED
*    JSB SPACE
* 
*  RETURN: CONTENTS OF A AND B ARE DESTROYED. 
* 
SPACE NOP 
      CLB,INB 
      CLA           SET CHARACTER COUNT = ZERO
      JSB AOTLY,I   OUTPUT CR, LF ON TTY
      JMP SPACE,I   RETURN
* 
      SKP 
*                                   PRINT: ERR XX 
* 
*  THE ERROR SUBROUTINE IS USED TO PRINT THE DIAGNOSTICS
*  FOR ALL ERROR MESSAGES.
* 
*  CALLING SEQUENCE:
*    A = 2-CHAR ASCII ERROR CODE
*    B = IGNORED
*    JSB ERROR
* 
*  RETURN: CONTENTS OF A AND B ARE DESTROYED. 
* 
ERROR NOP           PRINT ERROR MESSAGES
      STA AMERR+3   SET ERROR CODE INTO MESSAGE 
      LDA P6
      LDB AMERR     AMERR = MESSAGE ADDRESS 
      JSB AOTLY,I   PRINT ERROR MESSAGE 
      JMP ERROR,I   RETURN
* 
*                                   IRRECOVERABLE ERROR EXIT
* 
IRERR NOP 
      JSB ERROR     PRINT ERROR MESSAGE 
HLT0  HLT 0B        WAIT - PROGRAM CAN NOT CONTINUE 
      JMP *-1       IRRECOVERABLE ERROR 
* 
AMERR DEF *+1 
      ASC 3,ERR     ERROR MESSAGE = ERR + CODE
      SKP 
* 
*                     SET DATA TO ABS TAPE
* 
*  ROUTINE TO RESERVE AND SET CORE   ON THE 
*  LOADER PRODUCED ABSOLUTE OUTPUT. 
* 
*  CALLING SEQUENCE:
*    A = FINAL STARTING ADDRES
*    B = FINAL ENDING ADDRESS 
* 
*    SETAD = ADDRESS OF THE OUTPUT DATA BUFFER
* 
*    JSB SETCR
* 
*  RETURN: A AND B ARE DESTROYED
* 
SETCR NOP 
      STA TEMP1 
      CMA,INA 
      ADA SETAD     BUFFER ADDRESS
      STA PLKS      OFFSET ADDRESS
      LDA TEMP1     STARTING ADDRESS
      JSB PLK       OUTPUT ROUTINE IN THE LOADER
      JMP SETCR,I 
* 
      SKP 
* 
* 
*  ROUTINE TO FIND THE END OF THE SYMBOL TABLE
* 
*  CALLING SEQUENCE:
*    A = IGNORED
*    B = IGNORED
*    JSB SYEND
* 
*  RETURN: A = LAST ADDRESS OF SYMBOL TABLE PLUS ONE
* 
SYEND NOP 
      LDA LST       COUNT OF SYMBOLS
      ALS,ALS       MULT BY 4 
      ADA LST       MAKE IT 5 
      ADA LSTA1     ADDRESS OF LST START
      JMP SYEND,I   RETURN, A = ADDRESS OF LAST+1 
* 
      SKP 
* 
*  THE IPX ROUTINE ADDRESSES THE CURRENT 3 WORD ENTRY 
*  IN THE INTERRUPT PROGRAM TABLE FROM THE ADDRESS OF 
*  THE CURRENT ENTRY (BIDNT) . THE TABLE START ADDRESS
*  IS LWAM
* 
*  CALLING SEQUENCE:
*    A = IGNORED
*    B = IGNORED
*    JSB IPX
* 
*  RETURN, CONTENTS OF A AND B ARE DESTROYED
* 
IPX   NOP 
      LDA BIDNT     BUILD POINTERS
      STA IP1 
      INA 
      STA IP2 
      INA 
      STA IP3 
      ADA N5
      STA BIDNT 
      JMP IPX,I 
* 
* 
* 
LSERR LDA ERRTB 
      JSB IRERR     IRRECOVERABLE ERROR EXIT
* 
ERRTB ASC 1,TB      IDENT/LST OVERFLOW
* 
*                                   CLEAR BUFFER TO CALLING SEQ+1 
* 
*  THE BUFCL SUBROUTINE STUFFS A 64 WORD BUFFER WITH CALL+1 
* 
*  CALLING SEQUENCE:
*    A = IGNORED
*    B = ADDRESS OF BUFFER
*    JSB BUFCL
*    CALL+1 = DATA TO BE STUFFED
* 
*  RETURN: CONTENTS OF A AND B ARE DESTROYED. 
* 
BUFCL NOP 
      LDA N64 
      STA WDCNT     SET BUFFER LENGTH = 64
      LDA BUFCL,I    GET STUFF DATA 
      STA B,I       CLEAR BUFFER WORD 
      INB 
      ISZ WDCNT     ALL WORDS CLEAR?
      JMP *-3       NO - CONTINUE CLEARING
      ISZ BUFCL 
      JMP BUFCL,I   RETURN
* 
*  ROUTINT TO COMPARE TWO NAME BUFFERS
* 
* 
*  CALLING SEQUENCE:
*    A = ADDRESS OF SOURCE NAME- 3 ENTRIES
*    B = ADDRESS OF TABLE 3 ENTRIES 
*    JSB NACMP
* 
*  RETURN: A AND B ARE DESTROYED
*    (N+1) NAMES DO NOT COMPARE 
*    (N+2) NAMES COMPARE
* 
NACMP NOP 
      STA TEMP1     SAVE SOURCE ADDRESS 
      STB TEMP2     SAVE TABLE ADDRESS
      LDA N2        LOOP COUNT
      STA TEMP3 
NACM1 LDA TEMP1,I   SOURCE ENTRY
      CPA TEMP2,I   TABLE COMPARE 
      RSS           YES,COMPARE, LOOK NEXT
      JMP NACMP,I   NO IT DOESN'T RETURN
      ISZ TEMP1     BUMP SOURCE 
      ISZ TEMP2     BUMP TABLE
      ISZ TEMP3 
      JMP NACM1     TRY AGAIN 
      LDA TEMP2,I   FIRST TWO COMPARE, LOOK LAST
      AND M7400     LOOK UPPER ONLY 
      STA B 
      LDA TEMP1,I 
      AND M7400 
      CPA B 
      ISZ NACMP     BUMP RETURN FOR COMPARE!
      JMP NACMP,I 
* 
* 
*                                   SET INITIAL IPX ADDRESS 
* 
*  INIPX SETS THE ADDRESS OF THE FRIST ENTRY IN THE 
*  PROGRAM IDENT TABLE AS THE CURRENT ADDRESS.
* 
* 
*  CALLING SEQUENCE:
*    A = IGNORED
*    B = IGNORED
*    JSB INIPX
* 
*  RETURN:  A AND B ARE DESTROYED 
* 
INIPX NOP 
      LDA LWAM
      ADA N2
      STA BIDNT 
      JMP INIPX,I 
      HED RTSGN BASE PAGE LOCATIONS/BUFFERS A-29101-60007-1 REV.B 
* 
ALBUF DEF LBUF
ATBUF DEF TBUF
INERA DEF INERR 
APNAM DEF PNAMA 
* 
WDCNT OCT 0         TEMPORARY WORD COUNTER
BIDNT BSS 1         ADDR OF FIRST IDENT 
* 
MAXC  BSS 1         MAX CHAR COUNT
TCHAR BSS 1         TEMPORARY CHAR SAVE AREA
OCTNO BSS 1         OCTAL DIGIT 
PIOC  BSS 1         ADDR. OF PRIVILEGED I/O CARD  $$
TBCHN BSS 1         TIME BASE GENERATOR CHNL
PARAD BSS 1         PARAMETER INPUT DRIVER ADDRESS
* 
IDAA  DEF *+1 
ID5   BSS 1         PRIORITY
ID6   BSS 1         RESOLUTION CODE 
ID7   BSS 1         EXECUTION MULTIPLE
ID8   BSS 1         HOURS 
ID9   BSS 1         MINUTES 
ID10  BSS 1         SECONDS 
ID11  BSS 1         TENS OF SECONDS 
PNAMA DEF PNAME 
PNAME NOP 
      NOP 
      NOP 
      BSS 3 
PRAMS DEC 3 
      DEC 99
      REP 6 
      NOP 
* 
* 
CURAL BSS 1 
LBUF  BSS 64
SETAD BSS 1         ABSOLUTE OUTPUT BUFFER ADDRESS
* 
      SPC 1 
TEMP1 NOP 
TEMP2 NOP 
TEMP3 NOP 
IPXSV BSS 1 
SRISV BSS 1 
IP1   BSS 1 
IP2   BSS 1 
IP3   BSS 1 
WONLY OCT 0          WRITE ONLY FLAG
SYMAD OCT 0          FWASM
CURAT BSS 1         CURRENT TBUF ADDRESS
TCNT  BSS 1         CURRENT TBUF COUNT
TBUF  BSS 4         TEMPORARY BUFFER
PPREL BSS 1 
TBREL BSS 1 
* 
KEYAD BSS 1         ADDRESS OF KEY WORD TABLE 
KEYCN BSS 1         TOTAL KEYWORD COUNT 
KEYCT BSS 1         CURRENT KEYWORD COUNT          $
* 
AEQT  BSS 1         ADDRESS OF EQUIPMENT TABLE
CEQT  BSS 1         NO. ENTRIES IN EQUIPMENT TABLE
* 
ASQT  BSS 1         ADDR OF DEVICE REFERENCE TABLE
CSQT  BSS 1         NO. ENTRIES IN DEV. REF. TABLE
* 
A$CIA BSS 1         ADDRESS OF $CIC ROUTINE 
PROCT BSS 1         NO. OF INT. ENTRIES 
STRAD BSS 1         $STRT START ADDRESS 
* 
* 
IDSAD BSS 1 
SYSAD BSS 1 
IDNOS BSS 1         ACTUAL ID'S FILLED
STRPA DEF *+1 
STRPN BSS 3         START UP PROG NAME
AINT  BSS 1         ADDRESS OF INTERRUPT TABLE
CINT  BSS 1         NO. ENTRIES IN INTERRUPT TABLE
* 
* 
ERR09 ASC 1,NA      PARAMETER NAME ERROR
ERR10 ASC 1,PA      PARAMETER ERROR 
ERR12 ASC 1,IN      PARAMETER INTERVAL ERROR
ERR24 ASC 1,CH      INVALID CHANNEL NO. IN EQT REC
ERR25 ASC 1,DR      INVALID DRIVER NAME 
ERR27 ASC 1,LU      INVALID DEVICE REF. NO. 
ERR31 ASC 1,EQ      INVALID EQT NO. IN INT RECORD 
ERR33 ASC 1,AD      INVALID ENTRY POINT IN INT RECORD 
PTERM ASC 1,EN
ERRDU ASC 1,DU
COMMA OCT 54        COMMA 
IJSB  JSB 0,I       I-JSB CODE FOR INTERRUPT LOCS 
UASCZ OCT 30000     UPPER ASCII ZERO CHAR 
CHARD OCT 104       ASCII CHAR D
CHARB OCT 102       ASCII CHAR B
CHART OCT 124       ASCII CHAR T
BIT14 OCT 40000     BIT 14=1
CDEC  ASC 1,C.
CHR$C ASC 1,$C
CHRIC ASC 1,IC
CHAVR ASC 1,VR
CHRPR ASC 1,PR
REQT  ASC 1,RE
RDRT  ASC 1,RD
RINT  ASC 1,RI
CHREN ASC 1,EN
CHRAB ASC 1,AB
UTCHR ASC 1,T 
UGCHR ASC 1,G 
C0    OCT 41400 
CHADV ASC 1,DV
CHA.R OCT 122       0-ASCII(R)
USCHR ASC 1,S 
ERR11 EQU CHRPR     PARAMETER PRIORITY ERROR
CHREQ EQU ERR31 
MES28 DEF MS28
* 
MES25 DEF *+1 
      ASC 4,EQT TBL 
* 
MES26 DEF *+1 
      ASC 4,DRT TBL 
      OCT 6412
      ASC 2,LU#:
* 
MES42 DEF *+1 
      ASC 4,#ID SEG?
MES41 DEF *+1 
      ASC 5,PRIV. INT?
MES2  DEF *+1 
      ASC 6,REL SYS MODS
MES3  DEF *+1 
      ASC 6,REL RES LIB 
MES12 DEF *+1 
      ASC 4,INT PRGS
MES13 DEF *+1 
      ASC 4,IGNORE? 
      HED SYSTEM BASE PAGE COMMUNICATION AREA A-29101-60007-1 REV.B 
*** SYSTEM BASE PAGE  COMMUNICATION  AREA *** 
* 
* 
* SYSTEM TABLE DEFINITION * 
* 
.     EQU 1650B 
EQTA  DEF .+0      FWA  OF  EQUIPMENT TABLE 
EQT#  DEF .+1       # OF EQT ENTRIES
DRT   DEF .+2      FWA  OF  DEVICE REFERENCE TABLE
LUMAX DEF .+3       # OF LOGICAL UNITS (IN DRT) 
INTBA DEF .+4      FWA  OF  INTERRUPT TABLE 
INTLG DEF .+5       # OF INTERRUPT TABLE ENTRIES
TAT   EQU .+6      FWA  OF  TRACK ASSIGNMENT TABLE
KEYWD DEF .+7      FWA  OF  KEYWORD BLOCK 
* 
* I/O MODULE/DRIVER COMMUNICATION 
* 
EQT1  EQU .+8      ADDRESSES
EQT2  EQU .+9 
EQT3  EQU .+10      OF
EQT4  EQU .+11
EQT5  EQU .+12      CURRENT 
EQT6  EQU .+13
EQT7  EQU .+14      15-WORD 
EQT8  EQU .+15
EQT9  EQU .+16      EQT 
EQT10 EQU .+17
EQT11 EQU .+18      ENTRY 
EQT12 EQU .+81
EQT13 EQU .+82
EQT14 EQU .+83
EQT15 EQU .+84
* 
CHAN  EQU .+19     CURRENT DMA CHANNEL #
TBG   DEF .+20     I/O ADDRESS OF TIME-BASE CARD
SYSTY DEF .+21     EQT ENTRY ADDRESS OF SYSTEM TTY
* 
* SYSTEM REQUEST PROCESSOR /'EXEC' COMMUNICATION *
* 
RQCNT EQU .+22     # OF REQUEST PARAMETERS -1 
RQRTN EQU .+23      RETURN POINT ADDRESS
RQP1  EQU .+24      ADDRESSES 
RQP2  EQU .+25
RQP3  EQU .+26       OF REQUEST 
RQP4  EQU .+27
RQP5  EQU .+28       PARAMETERS 
RQP6  EQU .+29
RQP7  EQU .+30       (SET FOR MAXIMUM OF
RQP8  EQU .+31        8 PARAMETERS) 
* 
* DEFINITION OF SYSTEM LISTS (QUEUES) * 
* 
DORMT DEF .+32     ADDRESS OF 'DORMANT' LIST, 
SKEDD DEF .+33      'SCHEDULE' LIST,
SUSP3 EQU .+36      'AVAILABLE MEMORY' LIST,
SUSP4 EQU .+37      'DISC ALLOCATION'  LIST,
SUSP5 EQU .+38      'OPERATOR SUSPEND' LIST 
* 
* DEFINITION OF EXECUTING PROGRAM  ID SEGMENT' *
* 
XEQT  EQU .+39     ID SEGMENT ADDR. OF CURRENT PROG.
XLINK EQU .+40       'LINKAGE'
XTEMP EQU .+41       'TEMPORARY (5-WORDS) 
XPRIO EQU .+46       'PRIORITY' WORD
XPENT EQU .+47       'PRIMARY ENTRY POINT'
XSUSP EQU .+48       'POINT OF SUSPENSION'
XA    EQU .+49       'A REGISTER' AT SUSPENSION 
XB    EQU .+50       'B REGISTER' 
XEO   EQU .+51       'E AND OVERFLOW
* 
* SYSTEM MODULE COMMUNICATION FLAGS * 
* 
OPATN EQU .+52     OPERATOR/KEYBOARD ATTENTION FLAG 
OPFLG EQU .+53     OPERATOR COMMUNICATION FLAG
SWAP  EQU .+54     RT DISC RESIDENT SWAPPING FLAG 
DUMMY DEF .+55     I/O ADDRESS OF DUMMY INT. CARD 
IDSDA EQU .+56     DISC ADDR. OF FIRST ID SEGMENT 
IDSDP EQU .+57      -POSITION WITHIN SECTOR 
* 
* DEFINITION OF MEMORY ALLOCATION BASES * 
* 
BPA1  DEF .+58     FWA R/T DISC RES. BP LINK AREA 
BPA2  EQU .+59     LWA R/T DISC RES. BP LINK AREA 
BPA3  EQU .+60     FWA BKG DISC RES. BP LINK AREA 
LBORG DEF .+61     FWA OF RESIDENT LIBRARY AREA 
RTORG DEF .+62     FWA OF REAL-TIME AREA
RTCOM DEF .+63     LENGTH OF REAL TIME COMMON AREA
RTDRA EQU .+64     FWA OF R/T DISC RESIDENT AREA
AVMEM DEF .+65     FWA OF SYSTEM AVAILABLE MEMORY 
BKORG DEF .+66     FWA OF BACKGROUND AREA 
BKCOM EQU .+67     LENGTH OF BACKGROUND COMMON AREA 
BKDRA EQU .+68     FWA OF BKG DISC RESIDENT AREA
* 
* UTILITY PARAMETERS
* 
TATLG EQU .+69     LENGTH OF TRACK ASSIGNMENT TABLE 
TATSD EQU .+70      # OF TRACKS ON SYSTEM DISC
SECT2 EQU .+71      # SECTORS/TRACK ON LU 2 (SYSTEM)
SECT3 EQU .+72      # SECTORS/TRACK ON LU 3 (AUX.)
DSCLB EQU .+73     DISC ADDR OF RES LIB ENTRY PTS 
DSCLN EQU .+74      # OF RES LIB ENTRY POINTS 
DSCUT EQU .+75     DISC ADDR OF RELOC UTILITY PROGS 
DSCUN EQU .+76      # OF RELOC UTILITY PROGS
LGOTK EQU .+77     LOAD-N-GO: LU,STG TRACK,# OF TRKS
LGOC  EQU .+78      CURRENT LGO TRACK/SECTOR ADDRESS
SFCUN EQU .+79     SOURCE FILE LU AND DISC ADDRESS
MPTFL EQU .+80      MEMORY PROTECT ON/OFF FLAG (0/1)
FENCE EQU .+85      MEM PROTECT FENCE ADDRESS 
BKLWA DEF .+87     LWA OF MEMORY IN BACKGROUND
BPCLR DEF .+44
      HED RTSGN  INITIALIZATION               A-29101-60007-1 REV.B 
* 
*  INITIAL TRANSFER IS MADE TO RTSGN BY SETTING 100(8)
*  IN THE P REGISTER AND PRESSING RUN. IF ANY ERRORS ARE
*  DETECTED DURING RTSGN, IT MAY BE RESTARTED AT 100(8).
* 
*  IF THE TTY PUNCH IS TO BE USED, SET BIT 15 OF THE S REGISTER 
*  THEN RTSGN WILL HALT BEFORE EACH OUTPUT OPERATION AS FOLLOWS:
* 
*    HLT -7  = TURN PUNCH ON
*    HLT -70 = TURN PUNCH OFF 
* 
* 
*  THE FOLLOWING MESSAGES ARE PRINTED DURING THE INITIALIZATION 
*  PHASE, WITH THE SPECIFICATIONS FOR EACH VALID RESONSE. 
* 
* 
*  MESSAGE         RESPONSE 
* 
*  PRAM INPUT?      ENTER DEVICE LU 
* 
*  TBG CHNL?       ENTER 2 OCTAL DIGITS 
* 
*  PRIV. INT.       ENTER 2 OCTAL DIGITS    $$
* 
*  FWA BP?         ENTER 4 OCTAL DIGITS 
* 
*  LWA MEM?        ENTER 5 OCTAL DIGITS 
* 
*  FWA SYS MEM?    ENTER 5 OCTAL DIGITS 
* 
* 
RTSGN CLC 0,C       TURN OFF ALL I/O,INTERRUPTS 
      JSB SPACE     GET A NEW 
      JSB LTG       OUTPUT LEADER 
      LDA M2000     SET UP FWAM 
      STA .MEM3 
      LDA P1647 
      STA .MEM2     SET LWABP 
      CLA 
      STA LST       CLEAR THE SYMBOL TABLE COUNT
      STA NAMR. 
      LDA LISTO 
      AND N9        CLEAR BIT 3, FOR NEW HEADING
      STA LISTO 
* 
*                                   SET PARAMETER INPUT UNIT
* 
PARIN LDA P10 
      LDB MESS6     MESS6 = ADDR: PRAM INPT?
      JSB AREAD,I   PRINT MESSAGE, GET REPLY
      JSB SINIT     GET CODE, ANALYSE 
      JMP PARIN     REPEAT PARAMETER INPUT
      STA PARAD     PARAD = PRAM INPUT DRIVER ADDR
*                                   SET TIME BASE GENERATOR CHANNEL 
      JSB SPACE     NEW LINE
CHNLT LDA P9
      LDB MES30     MES30 = ADDR: TBG CHNL? 
      JSB AREAD,I   PRINT MESSAGE, GET REPLY
      LDA P2        SET FOR 2 OCTAL DIGITS INPUT
      JSB DOCON     GET DIGITS, RETURN OCTAL
      JMP CHNLT     REPEAT INPUT
      STA TBCHN     SET TBG CHANNEL NO. 
* 
*                                  GET PRIV. INT. CARD ADDR.
      JSB SPACE     NEW LINE                      $$
DUMY  LDA P10                                     $$
      LDB MES41     MES41 = ADDR: PRIV. INT. CARD?$$
      JSB AREAD,I   PRINT MESSAGE, GET REPLY      $$
      LDA P2        SET FOR 2 OCTAL DIGITS INPUT  $$
      JSB DOCON     GET DIGITS                    $$
      JMP DUMY      -ERROR, REPEAT INPUT.         $$
      STA PIOC      SET ADDR. OF DUMMY CARD.      $$
* 
* 
* 
*                                   SET FWA BP LINKAGE
FWENT JSB SPACE                                    $
      LDA P7                                      $ 
      LDB MES27     MES27 = ADDR: FWA BP LINKAGE? 
      JSB AREAD,I   PRINT AND GET REPLY 
      LDA P4
      JSB AGETO,I   GET 4 OCTAL DIGITS, CONVERT 
      JMP LNKER     INVALID DIGIT ENTERED 
      JSB AGETA,I   GET NEXT CHAR FROM LBUF 
      CPA ZERO      END OF BUFFER?
      JMP SETFB     YES - SET FWA BP LINKAGE
LNKER JSB INERA,I 
      JMP FWENT     REPEAT MESSAGE
SETFB LDB OCTNO     GET FWA BP
      SZB,RSS       SKIP - VALID (NON-ZERO) FWA BP
      JMP LNKER     REPEAT FWA BP LINKAGE INPUT 
      STB .MEM1 
      ADB N1
      STB LWABP     SAVE FOR INT PROCESSOR
      JSB SPACE     NEW LINE
* 
      LDA ALBUF     SET OFFSET ADDRESS
      STA SETAD     TO THE CLEARED BUFFER 
      LDB ALBUF     ADDRESS OF IN BUFFER
      JSB BUFCL     CLEAR BUFFER TO OCTAL ZEROS 
      OCT 0 
      LDA EQTA      START ADDR OF AREA TO BE CLEARED
      LDB BPCLR     END ADDRESS 
      JSB SETCR     CLEAR LOWER HALF
      LDA BPCLR 
      LDB BKLWA 
      JSB SETCR     CLEAR UPPER HALF
SMLWA LDA P8
      LDB MESS3     MESS3 = ADDR: LWA MEM?
      JSB AREAD,I   PRINT MESSAGE, GET REPLY
      LDA P5        SET FOR 5 OCTAL DIGITS INPUT
      JSB DOCON     GET DIGITS, RETURN OCTAL
      JMP SMLWA     REPEAT INPUT
      LDA OCTNO     GET LWAM
      STA TEMP3     SAVE FOR FWA SYS MEMORY PROCESSING
      STA SETAD,I   PUT IN BUFFER 
      LDA BKORG     ADDRESS OF BK LWAM
      LDB A         ADDRESS INTO B
      JSB SETCR     OUTPUT ABSOLUTE 
      LDA BKLWA     THE OTHER BP REFERENCE
      LDB A 
      JSB SETCR     OUTPUT TO ABS 
* 
      JSB SPACE 
GETAV LDA P11       PRINT:
      LDB MES34     "FWA SYS MEM? 
      JSB AREAD,I   GET THE ANSWER
      LDA P5        SET FOR 5 oCTAL DIGITS. 
      JSB DOCON     CONVERT TO OCTAL. 
      JMP SYMER     -ERROR. 
      JMP SETAV     OK , SET BOUNDARY.
* 
SYMER JSB INERA,I 
      JMP GETAV     -REPEAT REQUEST 
* 
                                                                                                                                                                                                