
      HED STATUS OVERLAY - SYSTEM CONSOLE 
      ORG LIBRA 
* 
**
*** THE FOLLOWING CODE PRINTS OUT DISC ALLOCATION INFORMATION 
**
* 
      JSB STAST 
      OCT 5104
      ASC 7,ISC ALLOCATION
      OCT 11415     XOFF-CR 
      OCT 5012
* 
* PRINT IDT INFORMATION - DISC ADDRESS AND LENGTH IN WORDS
* 
      ASC 3,  IDT 
      OCT 0 
      JSB STAPR 
      LDA .-3       3 IDT 
      STA LTEMP+3     TRACKS
      LDB STAID     LOAD POINTER TO 
      STB STAV1       DISC ADDRESS
STAIR EQU * 
      DLD STAV1,I   GET ADDRESS 
      ISZ STAV1     MOVE POINTER
      ISZ STAV1       TO LENGTH 
      SZA,RSS 
      SZB 
      RSS 
      JMP STAIQ     SKIP IF ZERO
      SWP 
      JSB STA6D     OUTPUT ADDRESS
      JSB STALN       AND LENGTH
STAIQ EQU * 
      ISZ STAV1     MOVE POINTER TO NEXT
      ISZ STAV1       DISC ADDRESS
      ISZ LTEMP+3   FINISHED? 
      JMP STAIR       NO
      JSB STAPR       YES - PRINT BUFFER
      JSB STAST 
      OCT 6412
* 
* PRINT ADT INFORMATION - DISC ADDRESS AND LENGTH IN WORDS
* 
      ASC 3,  ADT 
      OCT 0 
      JSB STAPR 
      LDA STAD1     SAVE ADT LOCATION 
      STA STAV1       POINTER 
      LDA .-5       5 PER 
      STA LTEMP+3     LINE
STAL1 DLD STAV1,I   GET DISC ADDRESS
      ISZ STAV1     MOVE POINTER
      ISZ STAV1       TO LENGTH 
      SZA,RSS 
      SZB 
      RSS 
      JMP STAL2     SKIP IF ZERO
      SWP 
      JSB STA6D     OUTPUT ADDRESS
      JSB STALN       AND LENGTH
      ISZ LTEMP+3   LINE FILLED?
      JMP STAL2       NO
      JSB STAPR       YES - OUTPUT LINE 
      LDA .-5         AND RESET 
      STA LTEMP+3       COUNTER 
STAL2 ISZ STAV1     MOVE POINTER TO 
      LDA STAV1       NEXT ADDRESS
      CPA STAD2     FINISHED? 
      RSS             YES 
      JMP STAL1       NO
      LDA LTEMP+3 
      CPA .-5 
      RSS           SKIP PRINTING BLANK LINE
      JSB STAPR 
* 
* PRINT DIRECTORY TRACK INFORMATION - DISC ADDRESSES AND LENGTHS IN 
*   WORDS 
* 
      JSB STAST 
      OCT 6412
      ASC 4,  DIREC 
      OCT 0 
      JSB STAPR 
      LDA STAD6     DIREC TABLE 
      STA STAV1       ADDRESS 
      LDA .-5       5 PER 
      STA LTEMP+3     LINE
STADY LDA STAV1 
      ADA .+5       GET DISC
      DLD A,I         ADDRESS 
      SZA,RSS 
      SZB 
      RSS 
      JMP STATY     SKIP IF ZERO
      SWP 
      JSB STA6D     OUTPUT DISC ADDRESS 
      JSB STALN     OUTPUT LENGTH 
      ISZ LTEMP+3   LINE FILLED?
      JMP STATY       NO
      JSB STAPR       YES - OUTPUT LINE 
      LDA .-5         AND RESET 
      STA LTEMP+3       COUNTER 
STATY LDA STAV1     MOVE POINTER TO 
      ADA .+7         NEXT TRACK DESCRIPTOR 
      STA STAV1 
      CPA STADU     FINISHED? 
      RSS             YES 
      JMP STADY       NO
      LDA LTEMP+3 
      CPA .-5 
      RSS           SKIP PRINTING OF BLANK LINE 
      JSB STAPR 
* 
*     THIS SECTION PRINTS OUT SYSTEM LOCATION INFORMATION 
* 
      JSB STAST     PRINT 
      OCT 6412
      ASC 4,  SYSTEM
      OCT 0 
      JSB STAPR 
      DLD DADSL     GET SYSTEM LIBRARY ADDRESS
      SWP 
      JSB STA6D       AND OUTPUT IT 
      LDA .+45      OUTPUT
      JSB STACH       A '-' 
      LDA DLNSL     GET LENGTH
      JSB STA3D       AND OUTPUT IT 
      JSB STAST     OUTPUT
      ASC 1,          TWO 
      OCT 0             BLANKS
      LDB LDBSA 
      ADB .+3       FIRST DISC
      STB STAV1       ADDRESS IN SST
      LDA .-4 
      JSB STASS     SEGMENTS 1-4
      JSB STAPR 
      LDA .-5 
      JSB STASS     SEGMENTS 5-9
      JSB STAPR 
      LDA .-4 
      JSB STASS     SEGMENTS 10-13
      JSB STAPR 
      JSB STAST 
      OCT 6412
      ASC 4,  USERS 
      OCT 0 
      JSB STAPR 
* 
      LDA .-8       8 PER 
      STA LTEMP+3     LINE
      LDB STASW     => DISC ADDRESS FOR TTY00 
STASX EQU * 
      STB STAV1 
      DLD STAV1,I   GET ADDRESS 
      SZA,RSS 
      SZB 
      RSS 
      JMP STASZ     DONE IF ZERO
      SWP 
      JSB STA6D     OUTPUT IT 
      JSB STAST     OUTPUT
      ASC 1,          TWO 
      OCT 0             BLANKS
      ISZ LTEMP+3   LINE FULL 
      JMP STASY     NO
      JSB STAPR     YES, OUTPUT IT
      LDA .-8 
      STA LTEMP+3 
STASY EQU * 
      LDB STAV1 
      ADB .+TTY01-TTY00 
      CPB STAUS     FINISHED ALL USERS
      RSS           YES 
      JMP STASX     NO
STASZ EQU * 
      LDA LTEMP+3 
      CPA .-8 
      RSS           SKIP PRINTING BLANK LINE
      JSB STAPR 
      JMP LEND      DONE
      SKP 
* 
* STABR READS THE BOOTSTRAP 
* 
STABR NOP 
      LDA M512
      STA MWORD     LENGTH
      CLA 
      CLB,INB 
      DST LTEMP     DISC ADDRESS
      LDB LDBSA     CORE ADDRESS
      ADB BIT15 
      LDA DLTEM 
      JSB DISCZ,I   READ IT 
      JMP DDERR 
      JMP STABR,I 
* 
* STASS FILLS THE BUFFER WITH SYSTEM SEGMENT
* ADDRESS AND LENGTHS 
* 
STASS NOP 
      STA LTEMP+3   SAVE # OF SEGMENTS
      JSB STABR     READ BOOTSTRAP
STAS1 EQU * 
      DLD STAV1,I   GET DISC ADDRESS
      SWP 
      JSB STA6D     OUTPUT IT 
      LDA .+45      '-' 
      JSB STACH 
      LDB STAV1 
      ADB .-2 
      LDA B,I       GET LENGTH
      ADB .+6 
      STB STAV1 
      ALF,ALF       CONVERT 
      IOR HIMSK 
      CMA,INA         TO BLOCKS 
      JSB STA3D     OUTPUT IT 
      JSB STAST     2 BLANKS
      ASC 1,
      OCT 0 
      ISZ LTEMP+3 
      JMP STAS1 
      JMP STASS,I 
      HED PORT - SYSTEM CONSOLE 
*    THE PORT COMMAND PRINTS THE CHARACTER SIZE AND BAUD
*    RATE FOR WHICH EACH PORT IS CONFIGURED.
* 
      SPC 1 
      ORG LIBRA 
      LDA PLFBK     SET LF-BLANK
      STA T35BF       IN BUFFER 
      CLA           STARTING PORT NUMBER
      JSB PORT      PROCESS 1ST 8 
      JMP PTERM 
      LDA B100
      LDB T35B1 
      JSB T35SP     PRINT AND SUSPEND 
      LDA T35BF 
      IOR HIMSK 
      STA T35BF 
      LDA .+8       STARTING PORT NUMBER
      JSB PORT      PROCESS 2ND 8 
      JMP PTERM 
      LDA B100
      LDB T35B1 
      JSB T35SP     PRINT AND SUSPEND 
      LDA T35BF 
      IOR HIMSK 
      STA T35BF 
      LDA .+16      STARTING PORT NUMBER
      JSB PORT      PROCESS 3RD 8 
      JMP PTERM 
      LDA B100
      LDB T35B1 
      JSB T35SP     PRINT AND SUSPEND 
      LDA T35BF 
      IOR HIMSK 
      STA T35BF 
      LDA .+24      STARTING PORT NUMBER
      JSB PORT      PROCESS LAST 8
PTERM LDA T35B1 
      CMA,INA       COMPUTE 
      ADA PPNTR       CHARACTER 
      ALS               COUNT 
      LDB T35B1 
      JMP LEND2     PRINT AND TERMINATE 
      SPC 2 
*    PORT FILLS THE TELETYPE BUFFER WITH THE CHARACTER SIZE 
*    AND BAUD RATE OF 8 PORTS.  THE FORMAT IS:
*        LF,BLANK,8(CHAR. SIZE-BAUD RATE,3BLANK)
      SPC 1 
PORT  NOP 
      LDB T35B1     SET UP POINTER FOR
      INB             FIRST INFORMATION BLOCK 
      STB PPNTR 
      STA PCNTR     SAVE STARTING PORT NUMBER 
      ADA NPORT     COMPUTE AND SAVE
      STA PCTR1       NUMBER OF PORTS 
      ADA .+8       MORE THAN 8 
      SSA,RSS         PORTS LEFT? 
      JMP PORT2     NO
      LDA .-8       YES 
      STA PCTR1 
      ISZ PORT
      JMP PORT2 
* 
PORT1 LDA ASCBB     PUT IN BLANKS 
      STA PPNTR,I     AS SEPERATORS 
      ISZ PPNTR 
PORT2 LDA PCNTR     GET PORT NUMBER,
      ALF,ALF         POSITION IT,
      IOR GRP           ADD REQUEST CODE, 
      JSB S14SC,I         SEND TO I/O PROCESSOR 
      SFS CH2 
      JMP *-1 
      LIA CH2       GET AND SAVE RECEIVE PARAMETER
      STA B 
      AND PRTMK     MASK OUT CHARACTER SIZE 
      SZA           SELECTRIC?
      JMP PORT3     NO
      LDA ASCAH     YES 
      RSS 
PORT3 ADA ASC0H     CONVERT TO ASCII
      STA PPNTR,I     AND STORE IN BUFFER 
      ISZ PPNTR 
      LDA B 
      AND B377      MASK TO BAUD RATE 
      CLB 
      DIV .100      OBTAIN HUNDREDS 
      ALF,ALF 
      STA PTEMP       AND TENS DIGIT, 
      LDA B 
      CLB               CONVERT TO ASCII, 
      DIV .+10
      ADA PTEMP          AND STORE IN BUFFER
      ADA ASC00 
      STA PPNTR,I 
      ISZ PPNTR 
      LDA B         A=UNITS DIGIT 
      ALF,ALF 
      ADA PAS0B     CONVERT TO ASCII
      STA PPNTR,I     AND STORE IN BUFFER 
      ISZ PPNTR 
      ISZ PCNTR     INCREMENT PORT NUMBER 
      ISZ PCTR1     DONE? 
      JMP PORT1 
      JMP PORT,I
* 
PAS0B ASC 1,0 
PTEMP BSS 1 
PCNTR BSS 1 
PPNTR BSS 1 
PCTR1 BSS 1 
$POR  EQU * 
      HED ROSTER
* ROSTER PRINTS A LISTING, ON THE SYSTEM CONSOLE, OF ALL
* IDS OF CURRENTLY ACTIVE USERS. THEY ARE PRINTED 8 PER LINE. 
      SPC 2 
      ORG LIBRA 
      LDA ROSLB     SET LF-BLANK IN BUFFER
      STA T35BF 
      JSB ROST8     PROCESS FIRST 8 
      DEF TTY00+?ID 
      LDA .+48      OUTPUT THEM.
      LDB T35B1 
      JSB T35SP 
      LDA T35BF 
      IOR HIMSK 
      STA T35BF 
      JSB ROST8     PROCESS 2ND 8 
      DEF TTY08+?ID 
      LDA .+48
      LDB T35B1 
      JSB T35SP     OUTPUT THEM 
      JSB ROST8     PROCESS 3RD 8 
      DEF TTY16+?ID 
      LDA .+48
      LDB T35B1 
      JSB T35SP     OUTPUT THEM 
      JSB ROST8     PROCESS LAST 8
      DEF TTY24+?ID 
      LDA .+48      OUTPUT THEM.
      LDB T35B1 
      JMP LEND2 
      SPC 1 
* ROST8 FILLS THE TELETYPE BUFFER WITH 8 IDS. THE FORMAT IS:
*     LF,BLANK,7(ID,BLANK,BLANK),ID 
      SPC 1 
ROST8 NOP 
      LDA T35B1     SET UP POINTER FOR FIRST ID.
      INA 
      STA ROSP
      LDA .-8       SET UP COUNTER. 
      STA ROSC
      LDA ROST8,I   SET UP POINTER TO ID. 
      STA ROSID 
      JMP ROS2      GO DO FIRST ID. 
ROS1  LDA ASCBB     PUT BLANKS IN AS SEPARATORS.
      STA ROSP,I
      ISZ ROSP
ROS2  LDA ROSID,I   GET ID
      SZA,RSS       TEST FOR NO ID. 
      JMP ROS3
      AND B1777     MASK NUMBER PART
      CLB           GET #/100 IN A,# MOD 100 IN B.
      DIV .100
      STB ROST      SAVE LAST 2 DIGITS. 
      STA 1         COMBINE FIRST DIGIT WITH LETTER.
      LDA ROSID,I 
      ARS,ARS 
      AND ROSMS 
      ADA 1 
      ADA ROSFX 
      STA ROSP,I    STORE IN BUFFER.
      ISZ ROSP
      LDA ROST      GET LAST 2 DIGITS.
      CLB 
      DIV .+10      SEPARATE THEM.
      ALF,ALF       PACK AND CONVERT
      ADA 1          TO ASCII.
      ADA ASC00 
      JMP ROS4      GO STORE IN BUFFER. 
ROS3  LDA ROSDD     IF NO ID, PUT DOTS IN BUFFER. 
      STA ROSP,I
      ISZ ROSP
ROS4  STA ROSP,I
      ISZ ROSP
      LDA ROSID     ADVANCE ID POINTER. 
      ADA .+TTY01-TTY00 
      STA ROSID 
      ISZ ROSC      ANY MORE? 
      JMP ROS1      YES.
      ISZ ROST8 
      JMP ROST8,I   NO
* 
ROSP  EQU LTEMP     BUFFER INDEX
ROSC  EQU LTEMP+1   BUFFER ENTRY COUNTER
ROSID EQU LTEMP+2   => ID 
ROST  EQU LTEMP+3 
ROSLB OCT 5040      LF-BLANK
ROSMS OCT 17400 
ROSFX ASC 1,@0
ROSDD ASC 1,..
$ROS  EQU * 
      HED ANNOUNCE
* THE ANNOUNCE (ANNOY) COMMAND IS USED TO SEND A MESSAGE FROM THE 
* SYSTEM CONSOLE TO THE USER CONSOLES. THE FORMAT IS
* 
*     ANN-<PORT #>,<MESSAGE>
* 
* WHERE PORT # IS AN INTEGER BETWEEN 0 AND 31 OR 'ALL' AND MESSAGE
* IS A STRING OF CHARACTERS ENDING WITH A CARRIAGE RETURN.
* 
      ORG LIBRA 
      JSB T35CH,I   GET 1ST CHAR
      JMP LFRER 
      CPA ANN.A     'A'?
      JMP ANN2      YES 
      ADA M72B      NO, 
      SSA,RSS         DIGIT?
      JMP LFRER     NO
      ADA .+10      MAYBE 
      SSA 
      JMP LFRER     NO
      STA LTEMP     YES, SAVE IT
      JSB T35CH,I   NEXT CHAR 
      JMP LFRER 
      CPA .+54B     COMMA?
      JMP ANN1      YES 
      ADA M72B      NO, 
      SSA,RSS         DIGIT?
      JMP LFRER     NO
      ADA .+10      MAYBE 
      SSA 
      JMP LFRER     NO
      STA LTEMP+1   YES 
      LDA LTEMP     COMPUTE 
      MPY .+10
      ADA LTEMP+1     NUMBER
      STA LTEMP 
      ADA NPORT 
      SSA,RSS       TOO BIG?
      JMP LFRER     YES, ERROR
      JSB T35CH,I   NEXT CHAR 
      JMP LFRER 
      CPA .+54B     COMMA?
      RSS           YES 
      JMP LFRER     NO
ANN1  EQU * 
      CCA           SET FOR 
      STA LTEMP+1     ONE PORT
      JMP ANN3
ANN2  EQU * 
      JSB T35CH,I   NEXT CHAR 
      JMP LFRER 
      CPA ANN.L     'L'?
      JSB T35CH,I   YES, NEXT CHAR
      JMP LFRER     NO
      CPA ANN.L     'L'?
      JSB T35CH,I   YES, NEXT CHAR
      JMP LFRER     NO
      CPA .+54B     COMMA?
      RSS           YES 
      JMP LFRER     NO
      LDA NPORT     # OF PORTS TO SEND MESSAGE TO 
      STA LTEMP+1 
      CLA           1ST PORT IS 0 
      STA LTEMP 
ANN3  EQU * 
      LDA .+15B     CR
      JSB ANNCH 
      LDA .+12B     LF
      JSB ANNCH 
      LDA .+12B     LF
      JSB ANNCH 
ANN4  EQU * 
      CLA           ALLOW 
      STA T35C1       BLANKS
      JSB T35CH,I   NEXT CHAR 
      JMP ANN5      CR
      JSB ANNCH     OUTPUT IT 
      JMP ANN4      LOOP
ANN5  EQU * 
      JSB ANNCH     CR
      LDA .+12B     LF
      JSB ANNCH 
      LDA .+12B     LF
      JSB ANNCH 
      LDA ANNJM     RESTORE BLANK 
      STA T35C1       BLANK SUPPRESSION 
ANN6  EQU * 
      LDA .+TTY01-TTY00 
      MPY LTEMP 
      LDB A 
      ADB DTTY0      B=> USER'S TTY TABLE 
      ADB .+?STAT 
      LDA B,I        A= STATUS
      CPA .+2        IS STATUS INPUT WAIT?
      RSS 
      JMP ANN7       NO.
      LDA LTEMP      YES. 
      ALF,ALF        RE-ISSUE INPUT 
      IOR IWT            WAIT REQUEST.
      JSB S14SC,I 
ANN7  EQU * 
      ISZ LTEMP      BUMP PORT# 
      ISZ LTEMP+1    ALL PORTS DONE?
      JMP ANN6       NO.
      JMP LEND
* 
ANNCH NOP 
      STA LTEMP+2   SAVE CHAR 
      LDA LTEMP+1   # OF PORTS
      STA LTEMP+3 
      LDA LTEMP     1ST PORT
      STA LTEMP+4 
ANNC1 EQU * 
      LDA LTEMP+4                                [B]
      ALF,ALF                                    [B]
      LDB PRIST     IS THE LP                    [B]
      SZB,RSS         IN USE?                    [B]
      JMP ANNC2     NO                           [B]
      CPA B,I       YES - IF THIS USER HAS       [B]
      JMP ANNC3       LP, DO NOT SEND MESSAGE    [B]
ANNC2 IOR IBF       ASK I/O PROCESSOR            [B]
      JSB S14SC,I     IF BUFFER IS FULL          [B]
      SFS CH2 
      JMP *-1 
      LIA CH2 
      SZA 
      JMP ANNC1     YES 
      LDA LTEMP+4   NO
      ALF,ALF 
      IOR OCR 
      IOR LTEMP+2 
      JSB S14SC,I   OUTPUT CHAR 
ANNC3 ISZ LTEMP+4   BUMP PORT # 
      ISZ LTEMP+3   ALL PORTS DONE? 
      JMP ANNC1     NO
      JMP ANNCH,I   YES 
ANN.A OCT 101 
ANN.L OCT 114 
ANNJM JMP T35C0 
* 
* LTEMP, LTEMP+1, LTEMP+2, LTEMP+3, AND LTEMP+4 ARE USED HERE 
* 
$ANN  EQU * 
      HED RESET 
* RESET ALLOWS A USER'S TIME-TO-DATE ENTRY TO BE MODIFIED.
* THE FORMAT IS AS FOLLOWS: 
* 
* RESET-ALL         ALL TIMES ARE SET TO ZERO 
* 
* RESET-ALL,TIME    ALL TIMES ARE SET TO THE SPECIFIED TIME 
* 
* RESET-ID          SPECIFIED USER'S TIME SET TO ZERO 
* 
* RESET-ID,TIME     SPECIFIED ID SET TO SPECIFIED TIME. 
* 
      SPC 2 
      ORG LIBRA 
* 
      CLA           INITIALIZE ID TO 0. 
      STA ID
      STA REST      INITIALIZE TIME ALSO. 
      JSB T35CH,I   GET 1ST CHAR. 
      JMP LFRER     CR - - NO PARAMETERS
* 
      CPA RESCA     "A" ? 
      JMP RESX1     YES 
      CCA           BACKSPACE 
RESXE EQU * 
      ADA T35CP      BUFFER POINTER.
      STA T35CP 
* 
      JSB GETID     READ IN TRACK WITH ID 
      JMP RES2      GO GET TIME--NO CARRIAGE RETURN.
* 
RES1  EQU * 
      LDA ID
      SZA,RSS       IF ID=0 WE WANT TO CLEAR
      JMP RES4       ALL TIMERS.
* 
      JSB SIDTP,I   SEARCH IDT FOR CORRECT ENTRY
      SZB           ERROR - ID NOT FOUND
      JMP RES5
* 
* PRINT 'NO SUCH ID' MESSAGE
* 
      LDA RESER     GET ERROR MESSAGE POINTER 
      STA MOVES     SET UP FOR MOVE ROUTINE 
      LDA T35B1 
      STA MOVED 
      LDB RESES     GET CHARACTER COUNT 
      BRS 
      JSB MOVEW 
      LDA RESES     GET CHAR COUNT
      CMA,INA       MAKE NEGATIVE CHAR COUNT
      LDB RESER 
      JMP LEND2 
* 
* 
* RESET TIME FOR ID 
* 
RES5  ADB .+5       SET IN
      LDA REST       NEW TIME.
      STA 1,I 
* 
RES6  EQU * 
      LDA IDTAD 
      LDB LIBD
      JSB DISCZ,I 
      JSB SLVAG,I 
      LDA ID        CHECK FOR ALL 
      SZA 
      JMP LEND
* 
* ADVANCE TO NEXT TRACK 
* 
RES61 EQU * 
      LDA IDTLN     ADVANCE ID TABLE POINTERS 
      ADA .+4 
      STA IDTLN 
      LDA IDTAD 
      ADA .+4 
      STA IDTAD 
      CPA RESLE     CHECK FOR ALL ID TRACKS 
      JMP LEND      DONE
      DLD A,I       HAS THE 
      IOR B           TRACK 
      SZA,RSS           BEEN ASSIGNED?
      JMP RES61     NO, SKIP IT 
* 
* READ IN NEXT TRACK
* 
      LDB IDTLN,I   YES, SET
      STB MWORD       TRACK LENGTH
      LDA IDTAD     READ IN 
      LDB LIBDI       THE 
      JSB DISCZ,I       IDT TRACK 
      JSB DEADP,I   ERROR - CAN'T BE RETRIEVED
* 
* RESET ALL ID TIMES ON THIS TRACK
* 
RES4  LDB IDTLN,I   SET 
      ASR 3           THE 
      ADB .-1           ENTRY 
      STB RESC            COUNTER 
      LDB LIBD      => BEGINNING OF ID TRACK
      ADB .+5       CLEAR ALL TIMERS
      LDA REST      GET TIME
RES42 EQU * 
      ISZ RESC      TEST FOR ANY MORE.
      RSS 
      JMP RES6      GO WRITE IDT BACK OUT.
      STA 1,I       STORE TIME
      ADB .+8       BUMP ADDRESS TO NEXT ENTRY. 
      JMP RES42     LOOP
* 
* A JUMP TO HERE INDICATES 'ALL' IS A SUSPECTED PARAMETER 
* 
RESX1 EQU * 
      JSB T35CH,I   GET NEXT CHARACTER
      JMP LFRER     ERROR, NOT ENOUGH CHARACTERS
      CPA RESCL     "L" ? 
      JMP RESX2     YES 
      LDA .-2       BACKSPACE TWICE & 
      JMP RESXE       GO TRY FOR AN ID
RESX2 EQU * 
      JSB FIDTP,I   READ IN FIRST TRACK 
      JSB T35CH,I   GET ANOTHER 
      JMP LFRER     ERROR, NOT ENOUGH CHARACTERS
      CPA RESCL     "L" ? 
      JMP RESX3     YES, RESET ALL USERS
      JMP LFRER     NOT "ALL" OR LEGAL ID 
RESX3 EQU * 
      JSB T35CH,I   GET ANOTHER CHARACTER 
      JMP RES1      CR, RESET TO ZERO 
* 
*  COMPUTE THE TIME 
* 
RES2  CPA .+54B     TEST FOR COMMA
      JSB T35CH,I   COMMA OK--GET NEXT CHAR.
      JMP LFRER     ERROR IF NONE.
      JMP *+3 
RES3  JSB T35CH,I   GET NEXT CHAR.
      JMP RES1
      ADA M72B      TEST FOR DIGIT. 
      SSA,RSS 
      JMP LFRER     ERROR.
      ADA .+10
      CLE,SSA 
      JMP LFRER     ERROR.
      STA RESD      SAVE DIGIT. 
      LDA REST      GET PARTIAL RESULT. 
      MPY .+10      COMPUTE NEW VALUE.
      ADA RESD      ADD IN NEW DIGIT. 
      STA REST      SAVE NEW RESULT.
      SEZ,SZB,RSS   TEST FOR OVERFLOW.
      JMP RES3
      JMP LFRER     ERROR.
* 
RESCA OCT 101       ASCII "A" 
RESCL OCT 114       ASCII "L" 
RESLE DEF IDEC+13 
RESER DEF *+1 
      OCT 5116
      ASC 5,O SUCH ID 
RESES EQU .+RESER-*+RESER-*+2 
* 
RESC  EQU LTEMP     ENTRY COUNTER 
REST  EQU LTEMP+1   NEW TIME TO BE ASSIGNED 
RESD  EQU LTEMP+2 
* 
* LTEMP+12, LTEMP+13, LTEMP+14 AND LTEMP+15 ARE ALSO USED 
* 
$RES  EQU * 
