      HED SLEEP OVERLAY 
* THE SLEEP OVERLAY IS RESPONSIBLE FOR CLEANING UP THE DISC LIBRARY.
* IT DOES THIS BY COMPACTING ALL PROGRAMS ON EACH TRACK SO THAT EACH
* TRACK HAS AT MOST ONE AVAILABLE AREA ON IT. AFTER PERFORMING THIS 
* OPERATION, IT DUMPS THE CONTENTS OF THE SYSTEM DISC TO
* THE SLEEP CARTRIDGE DISC. 
      SPC 2 
      ORG LIBRA 
      LDB LIBD      CLEAR 
      CLA 
      STA 1,I         FUSS
      INB BE
      CPB L128          TABLE 
      RSS 
      JMP *-4 
      LDA M128
      STA WORD
      LDA FUSS,I
      LDB LIBD
      JSB DISCL 
      LDA ADLEN     READ IN 
      STA WORD       ADT. 
      LDA ADLOC 
      LDB LIBDI 
      JSB DISCL 
* 
      CLB                                          [X]
      STB LTEMP+8                                  [X]
      LDB ?TBL     GET DISC TRACK LENGTH          (X) 
      LSR 8                                       (X) 
      STB LTEMP+7  SAVE TRACK LENGTH             [X]
      LDA B300       INITIALIZE TRACK COUNTER TO 1
SLE5  STA LTEMP                                  [X]
      LDB .-4        IS IT AN ID TRACK? 
      LDA IDTTA 
      STA IDTRA 
      LDA LTEMP 
      CPA IDTRA,I    COMPARE DISC ADDRESS 
      JMP SLE17       YES IT IS AN ID TRACK 
      ISZ IDTRA        NO - NOT THIS ONE
      INB,SZB 
      JMP *-4         TRY NEXT ID TRACK 
* 
      CPA DIREC+6 
      JMP SLE17                                  [X]
      CPA DIREC+13
      JMP SLE17                                  [X]
* qq
      LDB ADLEN 
      CMB,INB 
      ADB LIBDB`
SLE8  CPB LIBD
      JMP SLE17 
      ADB .-2 
      LDA 1,I                               [X] 
      AND M64 
      CPA LTEMP                              [X]
      INB,RSS       FOUND AN ENTRY. 
      JMP SLE8
      LDA 1,I       GET ENTRY LENGTH. 
      SZA           IF LENGTH=0 OR SLETL, THERE ARE 
      CPA LTEMP+7  NO PROGRAMS ON IT             [X]
      JMP SLE17                                  [X]
* *q
      LDA ADLEN     WE WANT TO PACK ALL THE PROGRAMS
      STA WORD       ON THE TRACK. FIRST WRITE THE
      LDA ADLOC       ADT BACK OUT. 
      LDB LIBD
      JSB DISCL 
* 
* WE NOW ARE GOING TO BUILD A TABLE WITH ONE ENTRY FOR EACH PROGRAM 
* ON THE TRACK. THE 2 WORDS IN THE ENTRY ARE THE CURRENT DISC 
* ADDRESS AND THE NEW DISC ADDRESS FOR THE FOLLOWING PROGRAM. 
* qq
      LDA LTEMP    INITIALIZE                    [X]
      STA LTEMP+1   DISC ADDRESS                 [X]
      STA LTEMP+2    POINTERS                    [X]
      LDA STAB      INITIALIZE
      STA LTEMP+3   TABLE                        [X]
      STA LTEMP+4    POINTERS.                   [X]
      LDA DIRD0     INITIALIZE DIRECTORY
SLE9  STA LTEMP+5   TRACK POINTER                [X]
      LDB 0,I       READ DIRECTORY. 
      STB WORD
      ADA .+6 
      LDA 0,I 
      LDB LIBDI 
      JSB DISCL 
* qq
      CLA           CLEAR FLAG SAYING NO CHANGE 
      STA LTEMP+6   YET IN DIRECTORY.            [X]
      LDB LTEMP+5,I   SET (B) TO POINT TO        [XG
      CMB,INB        END OF DIRECTORY.
      ADB LIBD
SLE12 CPB LIBD      DONE SCANNING DIRECTORY?
      JMP SLE10     YES.
      ADB .-2       B=>DISC ADR OF ENTRY. 
      LDA 1,I       GET DISC ADR. 
      AND M64     CLEAR SECTOR PART 
      CPA LTEMP     ON THIS TRACK?               [X]
      JMP SLE11     YES.
      ADB .-6       NO--BUMP BACK FOR NEXT ENTRY. 
      JMP SLE12 
SLE11 LDA 1,I       GET DISC ADDRESS AGAIN. 
      STA LTEMP+3,I  STORE TABLE.                [X]
      LDA LTEMP+1  ASSIGN NEW DISC ADDRESS.      [X]
      STA 1,I 
      INB 
      LDA 1,I       GET PROGRAM LENGTH. 
      ARS,ARS       CONVERT TO FULL SECTORS 
      ARS,ARS 
      ARS,ARS 
      ARS                                         (X) 
      CMA,INA 
      ADA LTEMP+1  ADD TO NEW DISC ADR. COUNTER  [X]
      STA LTEMP+1                                [X]
      ISZ LTEMP+3  ALSO STORE IN TABLE.          [X]
      STA LTEMP+3,I                              [X]
      ISZ LTEMP+3                                [X]
      ISZ LTEMP+6  SET FLAG TO WRITE DIREC BACK  [X]
      ADB .-7       GO DO NEXT ENTRY. 
      JMP SLE12 
* 
SLE10 LDA LTEMP+6  IF F=0 WE DIDN'T MODIFY THE   [X]
      SZA,RSS        DIRECTORY, SO WE DON'T HAVE TO 
      JMP SLE13       WRITE IT BACK.
      LDA LTEMP+5                                [X]
      ADA .+6 qq
      LDA 0,I 
      LDB LIBD
      JSB DISCL Lq
SLE13 LDA LTEMP+5                                [X]
      CPA DIRD1    LAST DIRECTORY TRACK?          (X) 
      JMP *+3 
      ADA .+7 
      JMP SLE9
* 
* NOW READ IN ALL THE LIBRARY PROGRAMS IN THE ORDER THAT WE'RE
* GOING TO WRITE THEM BACK. 
* qq
SLE14 LDA LTEMP+4  ALL PROGRAMS IN YET?          [X]
      CPA LTEMP+3                                [X]
      JMP SLE15     YES 
      DLD LTEMP+4,I  GET DISC ADDRESS OF PROGRAM [X]
      CMB,INB       COMPUTE -SECTOR LENGTH
      ADB LTEMP+2                                [X]
      CLA 
      ASL 7         CHANGE TO WORDS               (X) 
      STB WORD
      LDB LTEMP+2  COMPUTE CORE ADDRESS          [X]
      LSL 10
      LSR 3 
      ADB LIBDI 
      LDA LTEMP+4,I                              [X]
      JSB DISCL 
      ISZ LTEMP+4  SET NEW VALUES                [X]
      LDA LTEMP+4,I    OF LTEMP+2, +4            [X]
      STA LTEMP+2                                [X]
      ISZ LTEMP+4                                [X]
      JMP SLE14 
* 
SLE15 LDA LTEMP+2  WRITE ENTIRE TRACK            [X]
      CMA,INA 
      ADA LTEMP                                  [X]
      ASL 7                                       (X) 
      STA WORD
      LDA LTEMP                                  [X]
      LDB LIBD
      JSB DISCL 
* 
      LDA ADLEN     READ ADT. 
      STA WORD
      LDA ADLOC 
      LDB LIBDI 
      JSB DISCL 
* qq
* WE NOW WANT TO REPLACE ALL ADT ENTRIES REFERENCING THIS TRACK BY A
* SINGLE ENTRY, WITH VALUES OF R AND SLETL-R (SECTOR).
* 
      LDB LIBD      SEARCH FOR FIRST ENTRY AT 
SLE16 LDA LTEMP     THIS TRACK OR BEYOND         [X]
      CMA,CLE,INA NN
      ADA 1,I 
      SEZ 
      JMP *+3 
      ADB .+2 
      JMP SLE16 
* 
      STB LTEMP+1                                [X]
      LDA 1,I       TEST FOR ENTRY ON THIS TRACK. 
      CPA .-1       CHECK FOR SPECIAL ENTRY.
      JMP *+4 
      AND M64 
      CPA LTEMP                                  [X]
      JMP SLE18     ENTRY IS ON THIS TRACK. 
* 
* HAVE TO CREATE A NEW ENTRY. 
* 
      LDA LTEMP    IS TRACK TO BE                [X]
      ADA LTEMP+7   EMPTY?                       [X]
      CPA LTEMP+2                                [X]
      JMP SLE17     YES--FORGET IT. 
      LDA ADLEN 
      CPA M3072                                   (X) 
      JMP SLE17     NO--FORGET IT.
* 
      LDB ADLEN 
      ADB .-2 
      STB ADLEN     NEW ADLEN.
      CMB 
      ADB LIBD      MOVE
      STB MOVED      ADT
      ADB .-2         DOWN. 
      STB MOVES 
      CMB 
      ADB LTEMP+1                                [X]
      JSB MOVEB 
      JMP SLE19     GO INSERT NEW ENTRY.
* 
SLE18 ADB .+2       SEARCH FOR FIRST ENTRY NOT ON 
      LDA 1,I        THIS TRACK.
      CPA .-1 
      JMP *+4 
      AND M64 4/
      CPA LTEMP                                  [X]
      JMP SLE18 
* 
      STB MOVES     SET SOURCE FOR MOVE 
      ADB ADLEN     SET WORD COUNT. 
      ADB MLIBD 
      LDA LTEMP    SET DESTINATION ACCORDING TO  [X]
      ADA LTEMP+7   WHETHER WE'RE MAKING AN      [X]
      CPA LTEMP+2     INSERT OR NOT.             [X]
      CLA,RSS 
      LDA .+2 
      ADA LTEMP+1                                [X]
      STA MOVED 
      JSB MOVEW 
      LDA MOVED     COMPUTE NEW ADLEN.
      CMA,INA 
      ADA LIBDB5
      STA ADLEN 
* 
      LDA LTEMP    ANY ENTRY?                    [X]
      ADA LTEMP+7                                [X]
      CPA LTEMP+2                                [X]
      JMP SLE17     NO. 
* *q
SLE19 LDB LTEMP+2  MAKE ENTRY                    [X]
      CMB,INB 
      ADB LTEMP                                  [X]
      ADB LTEMP+7                                [X]
      LDA LTEMP+2                                [X]
      DST LTEMP+1,I                              [X]
* 
SLE17 LDA LTEMP    GET NEXT TRACK NUMBER         [X]
      ADA B200
      ISZ LTEMP+8      DONE????????????             [X] 
      LDB LTEMP+8                                  [X]
      CPB D203         NOW WE TEST IT             [X] 
      RSS                                         (X) 
      JMP SLE5     NO.                            (X) 
      LDA ADLEN     WRITE ADT BACK OUT
      STA WORD
      LDA ADLOC 
      LDB LIBDBM
      JSB DISCL Lq
* 
* LOAD SYSTEM DISC DUMP 
* 
      LDA M252                                   [X]
      STA WORD                                    (X) 
      LDA LIB                               [X] 
      ADA .+2                               [X] 
      LDA 0,I                               [X] 
      LDB #LIBI                                   (X) 
      JMP LIBRA+254                              [X]
* qq
STAB  DEF LIBUS+8192                             [X]
$$SLE EQU *                                       (X) 
      HED SLEEP SYSTEM DISC DUMP
      ORG LIBRA 
* qq
***   DUMP BASE PAGE TO SYSTEM DISC 
* 
      LDA AMAIN 
      STA LTEMP 
      CLA 
      STA DCLC1,I   BLOCK CLOCK 
      LDB .-10
      STA LTEMP,I IH
      ISZ LTEMP 
      INB,SZB 
      JMP *-3 
      STA T35F2                                  [E]
      STA T35RS                                  [E]
      STA T35ST                                  [E]
      STA T35PR                                  [E]
      LDA SLEPT     SET BIT15 = 0                (D)
      AND B1777     TO SAY THAT SYSTEM           (D)
      STA SLEPT     WAS SLEPT                    (D)
      STA LCHCR 
      LDA MLINK 
      STA MLINK+1     SET QUEUE EMPTY 
      LDB M2565
      STB WORD                                (X) 
      LDA .+12
      CLB                                     (X) 
      IOR B100
      JSB DISCL                               (X) 
      LDA MGFLG     MAG TAPE? 
      SZA 
      JMP MGS.L 
*                                                X) 
***   SET UP FOR SYSTEM DISC DUMP                X) 
*                                                X) 
      LDA #MSGA-1                                 (X) 
      LDB #MSGA                                  X) 
      JSB ANSER     OUTPUT MESSAGE. 
      CLA           READ
      LDB .-5         LABEL 
      STB WORD          ON
      LDB LIBDI           SUBCH #1. 
      JSB DISCL 
      LDB LIBD
      INB 
      LDA B,I 
      CPA PTS       IS IT A TIME-SHARE DISC?
      RSS 
      JMP SLP5      NO. DUMP. 
      LDA .-3       YES. SET COUNTER
      STA LTEMP 
      INB 
SLP7  LDA B,I       LOAD LABEL WORD.
      CPA PSSAA,I   SYSTEM DISC?
      RSS 
      JMP SLP8      NO. 
      INB           MAY BE. BUMP POINTERS.
      ISZ PSSAA 
      ISZ LTEMP     DONE? 
      JMP SLP7      NO. 
      JMP SLP5      YES. SYSTEM DISC. DUMP. 
* 
SLP8  LDA .+47      OUTPUT
      LDB #MSG3       WARNING 
      JSB ANSER         MESSAGE.
*                                                X) 
***   DUMP ALL 203 TRACKS OF SYSTEM DISC
*                                                X) 
SLP5  LDB M3072     SET TO TRANSFER 3072 WORDS
      STB WORD                                   X) 
      LDB M203      SET TO TRANSFER 203 TRACKS
      STB LTEMP                                  X) 
      CLA          SET TRACK POINTER             X) 
      JMP *+3     (X)    (X)
SLP6  LDA LTEMP+1      COMPUTE DISC ADDRESSES 
      ADA B200            NEXT TRACK
      STA LTEMP+1 
      ADA .+24              SECOND 1/2 OF THIS TRACK
      STA LTEMP+2 
      LDA LTEMP+1 
      LDB LIBDI        INPUT FROM SYSTEM DISC 1ST 1/2 TRACK 
      IOR B100
      JSB DISCL 
      LDA LTEMP+1 
      LDB LIBD       OUTPUT TO CARTRIDGE (1ST 1/2)
      JSB DISCL 
      LDA LTEMP+2    INPUT FROM 2ND 1/2 
      IOR B100
      LDB LIBDI 
      JSB DISCL 
      LDA LTEMP+2 
      LDB LIBDBM
      JSB DISCL 
      ISZ LTEMP    ALL TRACKS DUMPED? 
      JMP SLP6P
*                                                X) 
      LDA .+16      OUTPUT "SLEEP COMPLETE".
      LDB #MSG2                                 (X) 
      JSB TTY35,I                               (X) 
      CLB                                       (X) 
      CPB T35F1                                 (X) 
      RSS                                       (X) 
      JMP *-2                                   (X) 
      JSB LLOAD     LOAD UTILITY. 
      JMP UTLTY,I 
* 
* 
* 
      SPC 3 
MGS.L JSB LLOAD     LOAD UTILITY. 
      JMP MGSLE,I   GO TO SLEEP.
* *q
* 
*  LOAD LOADER/UTILITY, CLEAR ALL DEVICES AND 
*  DISABLE POWER FAIL.
* 
LLOAD NOP 
      LDA SLLN
      STA WORD
      CLA,INA 
      ADA B100
      LDB S2002 
      JSB DISCL 
      LDA LDRLN 
      STA WORD
      LDA B300
      LDB RSYS0 
      JSB DISCL 
      CLB           CLEAR ALL DEVICES.
      CLC 0,C 
      CLC 0,C 
      ISZ B 
      JMP *-3 
      LDA HLT4      DISABLE POWER FAIL. 
      STA 4 
      LDA JMP2      SET LOADER/UTILITY            (D) 
      STA LJMP,I    TRANSFER ADDRESS              (D) 
      LDA UTLTY                                   (D) 
      STA LTARG,I                                 (D) 
      JMP LLOAD,I   RETURN                            (D) 
* 
* qq
* 
ANSER NOP 
      JSB TTY35,I   OUTPUT MESSAGE. 
      CLB           WAIT
      CPB T35F1       UNTIL 
      RSS               COMPLETED.
      JMP *-2 
      CLC 0,C       CLEAR ALL DEVICES.
      CLC 0,C 
      ISZ B 
      JMP *-3 
      HLT DEATH+11B,C  HALT                      [E]
      STF 0         START UP AGAIN. 
      JMP ANSER,I 
* 
* 
* qq
SLLN  DEC -1024 
M203  DEC -203
S2002 OCT 102002
LDRLN DEC -6144 
JMP2  OCT 126001    JMP 2001B,I                   (D) 
LJMP  OCT 2000                                    (D) 
LTARG OCT 2001                                    (D) 
RSYS0 OCT 104000
PTS   ASC 1,TS
PSSAA DEF SYSAA 
HLT4  HLT DEATH+4                                [E]
MGFLG EQU LTEMP+14
AMAIN DEF MAIN
* 
#MSG2 DEF *+1 
      OCT 6412
      ASC 7,SLEEP COMPLETE
*                                                X) 
      DEC 69                                      (X) 
#MSGA DEF *+1                                    X) 
      OCT 6412                                   X) 
      ASC 19,INSERT CARTRIDGE FOR SYSTEM DISC DUMP. 
      OCT 6412                                   X) 
      ASC 14,PRESS 'RUN' WHEN DISC READY         X) 
#MSG3 DEF *+1 
      OCT 5125      LF-U
      ASC 10,SER DISC ON SUBCH 1! 
      OCT 6412      CR-LF 
      ASC 12,PRESS 'RUN' TO CONTINUE
$$$SL EQU * 
      HED NEWID 
* NEWID CREATES NEW ENTRIES IN THE SYSTEM ID TABLE. THE INPUT 
* FORMAT IS AS FOLLOWS: 
* 
*     NEWID IDCODE,PASSWORD,TIME,DISC 
* 
* THESE PROVIDE, RESPECTIVELY, WORDS 0,1-3,4, AND 6 OF THE ID ENTRY.
* WORDS 5 AND 7 ARE INTIALIZED TO ZERO. 
      SPC 2 
      ORG LIBRA 
* INPUT ID-TABLE *
      LDA IDLEN     A=LENGTH OF IDTABLE.
      CPA IDMAX 
      JMP NEWI2    ID TABLE IS FULL 
* 
* 
* NOW INTERPRET PARAMETERS
* 
      JSB GETID     GET 
      RSS 
      JMP LFRER     ID ENTRY. 
      CPA .+54B     TEST FOR COMMA. 
      CLA,RSS       OK
      JMP LFRER     NOT OK
      LDB ID
      STB LTEMP 
* qq
* NOW SCAN PASSWORD 
* 
      STA T35LC 
      JSB NEWIP 
      STA LTEMP+1 
      JSB NEWIP 
      STA LTEMP+2 
      JSB NEWIP 
      STA LTEMP+3 
* 
* GET THE ALLOWED TIME
* 
      LDA T35LC     CHECK FOR 
      CPA .+54B      COMMA
      JMP NEWI4 4f
      JSB T35CH,I   GET NEXT CHAR.
      JMP LFRER 
      CPA .+54B     MUST BE A COMMA.
      RSS 
      JMP LFRER 
* 
NEWI4 JSB NEWI#     GET THE ALLOTTED TIME 
      STA LTEMP+4     IN MINUTES. 
      LDA T35LC 
      CPA .+54B 
      RSS 
      JMP LFRER 
* 
      JSB NEWI#     GET THE DISC ALLOWED. 
      STA LTEMP+6 
      LDA T35LC     MUST BE END OF
      CPA .+15B      LINE.
      RSS 
      JMP LFRER 
      CLA           ZERO
      STA LTEMP+5     TIME AND
      STA LTEMP+7       DISC USED 
* 
      JSB FIDT     FIND SPOT FOR NEW ID 
      JMP NEWI6      DUPLICATE ENTRY
      LDA IDLEN     UPDATE
      ADA .-8         TOTAL 
      STA IDLEN       IDT LENGTH
* 
      STB IDCAD 
      LDB IDCNT      COMPUTE # OF WORDS 
      BLS,BLS        TO MOVE UP 
      BLS 
      CMB,INB 
      LDA IDCAD    COMPUTE LAST ADDRESS 
      ADA .-1        OF ID TABLE
      ADA 1 
      STA MOVES    SET SOURCE ADDRESS 
      ADA .+8 
      STA MOVED    SET DESTINATION ADDRESS
      CMB,INB 
      JSB MOVEB    MOVE UP TALBE
* 
      LDA IDCAD    MOVE NEW INTRY INTO
      STA MOVED    SPACE PROVEDED 
      LDA DLTEM 
      STA MOVES 
      LDB .-8 
      JSB MOVEW 
* 
NEW11 LDA IDTLA,I     IS TRACK TOO LARGE? 
      ADA .-8          COMPARE WITH 
      CPA M3072      MAX TRACK LENGTH 
      RSS 
      JMP NEW10      NO - OK TO JUST WRITE OUT
* 
      LDA IDTRA,I    OUTPUT FULL
      LDB LIBD       ID TRACK 
      JSB DISCL 
* *q
      LDA LIBD      MOVE LAST ENTRY 
      STA MOVED    TO MOTTOM OF NEXT TRACK
      LDA IDTLA,I   LOAD TRACK LENGTH 
      CMA,INA 
      ADA LIBD
      STA MOVES 
      LDB .-8 
      JSB MOVEW 
* 
      LDA IDTLA     LOAD LENGTH OF NEXT TRACK 
      ADA .-1 
      STA IDTLA 
      LDA 0,I 
      STA WORD
      LDA IDTRA     LOAD DISC ADDRESS 
      ADA .-1 
      STA IDTRA       OF NEXT TRACK 
      LDA 0,I 
      LDB LIBDI 
      ADB .+8        READ IN NEXT ID TRACK
      JSB DISCL 
* 
      JMP NEW11 
* 
NEW10 STA IDTLA,I    RESET TRACK LENGTH 
      STA WORD
      LDA IDTRA,I    OUTPUT TO ID TRACK 
      LDB LIBD         TO DISC
      JSB DISCL 
      JMP LENDN#
NEWI2 LDA NEWIA     OUTPUT TABLE FULL MESSAGE 
      LDB NEWIB 
      JMP NEWI8 8e
NEWI6 LDA NEWIE     OUTPUT DUPLICATE ENTRY MESSAGE. 
      LDB NEWIF F2
* 
NEWI8 STA MOVES     SET UP FOR MOVE 
      LDA T35B1      ROUTINE
      STA MOVED     MOVE STRING 
      STB LTEMP      INTO BUFFER. 
      JSB MOVEW 
      LDA LTEMP 
      ALS 
      CMA,INA       CALL
      LDB T35B1      DRIVER.
      JSB TTY35,I 
      JMP LENDR     TERMINATE.
* 
* OUTPUT MESSAGES 
* 
NEWIA DEF *+1 
      OCT 5111
      ASC 6,D TABLE FULL
NEWIB EQU .-*+NEWIA+1 
NEWIE DEF *+1 ==
      OCT 5104
      ASC 7,UPLICATE ENTRY
NEWIF EQU .-*+NEWIE+1 
NEWI# NOP           SCAN FOR A NUMBER.
      CLA           INITIALIZE
      STA NEWIT      TO ZERO. 
      JSB T35CH,I   GET NEXT CHARACTER
      JMP NEWIZ     DONE
      ADA M72B      TEST FOR DIGIT
      SSA,RSS S
      JMP NEWIZ     NOT A DIGIT 
      ADA .+10
      CLE,SSA 
      JMP NEWIZ 
      LDB NEWIT 
      ELB,ELB 
      SEZ,SLB,RSS 
      RSS 
      JMP LFRER 
      ADB NEWIT 
      ELB 
      SEZ,SLB,RSS 
      RSS SF
      JMP LFRER 
      ADA 1 
      SEZ 
      JMP LFRER 
      JMP NEWI#+2 
NEWIZ LDA NEWIT 
      JMP NEWI#,I 
NEWIP NOP           GET NEXT 2 PASSWORD LETTERS.
      CLA 
      LDB T35LC     IF LAST CHARACTER A 
      CPB .+54B       COMMA, RETURN ZERO. 
      JMP NEWIP,I 
      JSB T35CH,I   GET NEXT CHAR.
      JMP LFRER Rd
      CPA .+54B     IF A COMMA
      JMP NEWIP+1 
      ALF,ALF       SAVE 1ST
      STA NEWIT      CHAR.
      JSB T35CH,I 
      JMP LFRER 
      CPA .+54B     IF COMMA TAKE AS
      CLA            ZERO.
      ADA NEWIT 
      JMP NEWIP,I 
NEWIT BSS 1 
$NEW  EQU * *<
