Fixed copy command to match binary.
authorRichard Cornwell <rcornwell@github.com>
Tue, 20 Nov 2018 03:11:47 +0000 (22:11 -0500)
committerRichard Cornwell <rcornwell@github.com>
Tue, 20 Nov 2018 03:11:47 +0000 (22:11 -0500)
src/copy.mac

index cfad827..1b48309 100644 (file)
@@ -1,4 +1,4 @@
-TITLE COPY     V006    31MAR\r
+TITLE COPY     V004    31MAR\r
 ;COPYRIGHT 1968, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.\r
 REPEAT 0,<\r
 \r
@@ -15,10 +15,6 @@ STRING.  THE GENERAL COMMAND STRING FORMAT IS:
                THE DIRECTORY.\r
        /V      PERFORM A WORD BY WORD COMPARISION BETWEEN\r
                EVERY WORD OF THE INPUT AND OUTPUT DECTAPES.\r
-       /L      LOAD A BOOTSTRAP LOADER INTO A CORE BUFFER.\r
-               COPY LOOKS FOR "BSLDR.REL" ON LOGICAL DEVICE\r
-               "PTR". NOTE COPY MUST BE "SAVED" IF THE LOADER\r
-               IS TO BE PRESERVED WITH THE COPY CORE IMAGE.\r
        /T      CAUSES A BOOTSTRAP LOADER TO BE WRITTEN ONTO\r
                BLOCKS 0,1 AND 2 OF THE OUTPUT TAPE. COPY TYPES\r
                "TYPE CORE BANK OR OFFSET FOR BSLDR."\r
@@ -37,21 +33,21 @@ STRING.  THE GENERAL COMMAND STRING FORMAT IS:
 \r
 \fTHE FOLLOWING MESSAGES MAY BE OUTPUT TO THE USER'S TELETYPE.\r
 \r
-       ?WRITE LOCK ERROR\r
-       ?INPUT (OR OUTPUT) DEVICE ERROR\r
-       ?INPUT (OR OUTPUT) CHECKSUM OR PARITY ERROR\r
-       ?INPUT (OR OUTPUT) BLOCK TOO LARGE\r
-       ?INPUT (OR OUTPUT) PREMATURE END OF FILE\r
+       WRITE LOCK ERROR\r
+       INPUT (OR OUTPUT) DEVICE ERROR\r
+       INPUT (OR OUTPUT) CHECKSUM OR PARITY ERROR\r
+       INPUT (OR OUTPUT) BLOCK TOO LARGE\r
+       INPUT (OR OUTPUT) PREMATURE END OF FILE\r
        000000 VERIFICATION ERRORS\r
-       ?COMMAND ERROR\r
-       ?SWITCH ERROR\r
-       ?DEVICE INIT FAILURE\r
-       ?DEVICE MUST BE A DECTAPE\r
-       ?INPUT AND OUTPUT DECTAPES MAY NOT BE THE SAME DEVICE.\r
+       COMMAND ERROR\r
+       SWITCH ERROR\r
+       DEVICE INIT FAILURE\r
+       DEVICE MUST BE A DECTAPE\r
+       INPUT AND OUTPUT DECTAPES MAY NOT BE THE SAME DEVICE.\r
 \r
 THE FOLLOWING MAY BE OUTPUT WHILE PROESSING "/L".\r
-       ?PTR INIT FAILURE\r
-       ?LOOKUP FAILED, "BSLDR.REL"\r
+       PTR INIT FAILURE\r
+       LOOKUP FAILED, "BSLDR.REL"\r
        ?DATA ERROR ON DEVICE PTR\r
        ?ILLEGAL BLOCKTYPE\r
        ?CANNOT PROCESS EXTERNAL SYMBOLS\r
@@ -109,11 +105,14 @@ IOS=16    ;IO STATUS
 P=17   ;PUSH DOWN LIST\r
        EXTERN  JOBFF,JOBREL,JOBSA,JOBREN\r
        LOC     JOBVER\r
-       XWD     0,6     ;;VERSION #\r
+       XWD     0,4     ;;VERSION #\r
        RELOC\r
 \f\r
 ST:    CALLI   0\r
-       MOVE    P,[IOWD 20,TTYIN+23]    ;PUSH DOWN LIST\r
+       MOVE    P,[IOWD 10,TTYIN+23]    ;PUSH DOWN LIST\r
+       MOVE    AC0,ZROWRD\r
+       TLNN    F,30\r
+       MOVEM   AC0,JOBFF\r
        INIT    17,1                    ;ASCII LINE\r
        SIXBIT  /TTY/\r
        XWD     TOUT,TIN\r
@@ -132,12 +131,10 @@ ST:       CALLI   0
 \r
        MOVE    T,JOBREL\r
        SUB     T,JOBFF                 ;T=NO. OF FREE LOC\r
-       MOVE    C,JOBFF         ;\r
-       MOVEI   AC0,3777(C)     ;\r
-       CAIGE   T,3777          ;TRY FOR AT LEAST 2K OF BUFFER AREA\r
-       CALLI   AC0,11          ;CORE UUO\r
-       JFCL                    ;O WELL\r
-       SUBI    C,1             ;IOWD FORMAT "ADR-1"\r
+       CAIGE   T,400           ;TRY FOR AT LEAST 2K OF BUFFER AREA\r
+       TRO     T,400\r
+       MOVE    C,JOBFF\r
+       SUBI    C,1\r
        ANDI    T,-200          ;T=NO. OF FREE WORDS\r
        MOVNM   T,U             ;IOWD FORMAT "-N"\r
        LSH     T,-7            ;T=NO. OF BLOCKS PER COPY INPUT\r
@@ -158,6 +155,7 @@ ST: CALLI   0
 \f      MOVEI   C,"*"\r
        PUSHJ   P,TYPC                  ;OUTPUT CHAR\r
        INPUT   17,\r
+       SETZM   JOBREN\r
        MOVE    F,FSAVE                 ;INITIAL FLAGS\r
        SKIPA   BP,[POINT 6,ODEV]       ;ASSUME AN OUTPUT DEV\r
 COIDEV:        MOVE    BP,[POINT 6,IDEV]       ;INPUT IF LEFT-ARROW + COLON WERE SEEN  \r
@@ -171,12 +169,6 @@ COTGET:    PUSHJ   P,TYPGET                ;RETURN A CHAR TO C
        CAIE    C,12\r
        CAIN    C,15\r
        JRST    COCRET                  ;CR OR LF\r
-       CAIE    C,175                   ;ALTMODE?\r
-       CAIN    C,33                    ;ALTMODE?\r
-       JRST    COCRET                  ;YES\r
-       CAIN    C,176                   ;ALTMODE?\r
-       JRST    COCRET                  ;YES\r
-       CAIE    C,"="                   ;==_\r
        CAIN    C,"_"\r
        JRST    COLARO                  ;LEFT ARROW\r
        CAIGE   C,"0"                   ;\r
@@ -210,17 +202,13 @@ COCOLN:   TLZ     BP,770000               ;ACCEPT NO MORE CHARS.
        JUMPGE  BP,COTGET               ;NORMAL EXIT\r
        JRST    ERRCMD                  ;NULL NAME, TOO MANY COLONS\r
 \r
-COCRET:        TLZE    F,HSW           ;HELP?\r
-       JRST    HELP            ;\r
-       TLZE    F,LSW           ;LOADING A LOADER?\r
-       JRST    BSLDR           ;YES\r
-       TLNE    F,FLA                   ;LEFT ARO ?\r
-       JRST    COSTRT                  ;_,SO OK\r
+COCRET: TLNE   F,FLA           ;LOADING A LOADER?\r
+       JRST    COSTRT          ;YES\r
        SKIPE   ODEV                    ;\r
        JRST    ERRCMD                  ;NO_,SOME ODEV\r
-       TLNN    F,ANYSW                 ;\r
-       JRST    ST                      ;NO_,NO ODEV,NO SW =*\r
+       TLNE    F,ANYSW                 ;\r
        JRST    ERRCMD          ;NO_,NO ODEV, NO SW\r
+       JRST    ST                      ;NO_,NO ODEV,NO SW =*\r
 \r
 COSTRT:        TLNN    F,ANYSW         ;ANY SW=SKIP\r
        TLO     F,FLC+FLV       ;DEFAULT=COPY+VERIFY\r
@@ -236,74 +224,30 @@ COSTRT:   TLNN    F,ANYSW         ;ANY SW=SKIP
 \r
 \f      ;HERE TO ACCEPT THE BOOTSTRAP LOADER OFFSET (/T)\r
 \r
-CTENDM:        TLNN    F,LFL           ;IS A BOOTSTRAP LOADER LOADED?\r
+CTENDM:        TLNN    F,LFL+LSW       ;IS A BOOTSTRAP LOADER LOADED?\r
        JRST    ERRTNH          ;NO, COMPLAIN\r
-CTEN1: SETZB   AC1,OFFSET      ;\r
-       TTCALL  3,[ASCIZ /\r
-TYPE CORE BANK OR OFFSET FOR /]\r
-       MOVEI   BP,PNAME\r
+       TLNN    F,LSW\r
+       JRST    CTEN1\r
+       MOVEI   BP,MES32K\r
        PUSHJ   P,TYPEIT        ;BSLDR'S NAME\r
+       PUSHJ   P,TYPBUF\r
        INPUT   17,\r
-CTEN0: PUSH    P,TIN+1         ;SAVE PTR FOR RESCAN\r
-       MOVEI   AC0,6           ;MAX CHARS TO ACCEPT\r
-       PUSHJ   P,TYPGET        ;\r
-       CAIN    C,"K"           ;\r
-       JRST    CTEN10          ;K, MUST BE A CORE-BANK\r
-       SOJG    AC0,.-3\r
-       POP     P,TIN+1         ;\r
-       MOVEI   AC0,6           ;ACCEPT 6 NUMBERS\r
-CTEN2: PUSHJ   P,TYPGET        ;GET A CHAR\r
-       CAIL    C,"0"           ;\r
-       CAILE   C,"7"           ;\r
-       JRST    CTEN7           ;NOT A OCTAL NUMBER, TERM?\r
-       LSH     AC1,3           ;MAKE ROOM\r
-       TRZ     C,777770        ;CLEAR HI-ORDER BITS\r
-       ADD     AC1,C           ;  FOR THIS CHAR\r
-       SOJG    AC0,CTEN2       ;LOOK FOR 6 CHARS\r
-CTEN3: CAIL    AC1,1000                ;LOWER LIMIT\r
-       CAILE   AC1,777600      ;UPPER LIMIT\r
-       JRST    CTEN8           ;COMPLAIN\r
-CTEN4: HRLI    AC1,W           ;SO [HRRI W,@OFFSET] WILL WORK\r
-       MOVEM   AC1,OFFSET      ;SAVIT\r
-       JRST    CINIT           ;\r
-\r
-CTEN7: CAIL    C,12            ;"LF"\r
-       CAILE   C,15            ;"CR"\r
-       CAIN    C,33            ;ALTMODE\r
-       JRST    CTEN3           ;A TERMINATOR\r
-CTEN8: TTCALL  3,[ASCIZ /\r
-?OFFSET = 1000 TO 777600 (OCTAL)/]\r
-       JRST    CTEN1           ;\r
-\r
-\f      ;LOOK FOR A CORE BANK, 16K-256K\r
-CTEN10:        POP     P,TIN+1         ;RESCAN TTYBUF\r
-       MOVEI   AC0,3           ;ONLY 3 CHARS MAX IS "256"\r
-CTEN11:        PUSHJ   P,TYPGET        ;\r
-       CAIL    C,"0"           ;\r
-       CAILE   C,"9"           ;\r
-       JRST    CTEN17          ;\r
-       IMULI   AC1,^D10        ;MAKE ROOM FOR NEXT CHAR... DEC TO OCT\r
-       ANDI    C,17            ;EXTRACT DECIMAL NUMBER\r
-       ADD     AC1,C           ;\r
-       SOJG    AC0,CTEN11      ;\r
-\r
-CTEN12:        TRNE    AC1,17          ;CHECK FOR MODULO 16\r
-       JRST    CTEN18                  ;ILL\r
-       JUMPE   AC1,CTEN18              ;ILL\r
-       LSH     AC1,-4          ;PUSH OFF ZEROES\r
-       CAILE   AC1,20          ;MAX IS 256\r
-       JRST    CTEN18  ;ILL\r
-       IMULI   AC1,40000       ;TURN IT INTO AN OFFSET\r
-       SUBI    AC1,1           ;\r
-       TRZ     AC1,777         ;1K BELOW TOP OF THIS BANK\r
-       JRST    CTEN4           ;\r
-CTEN17:        CAIN    C,"K"           ;SKIP IF TERM\r
-       JRST    CTEN12          ;\r
-\r
-CTEN18:        TTCALL  3,[ASCIZ /\r
-?EXPECTED FORMAT IS "NNNK" = 16K TO 256K.\r
-/]\r
+CTEN0: PUSHJ   P,TYPGET        ;\r
+       CAIN    C,"Y"           ;\r
+       JRST    CTEN2           ;K, MUST BE A CORE-BANK\r
+       CAIE    C,"N"\r
+       JRST    CTENDM\r
+CTEN1: MOVEI   BP,MES16K\r
+       PUSHJ   P,TYPEIT\r
+       PUSHJ   P,TYPBUF\r
+       INPUT   17,\r
+       PUSHJ   P,TYPGET\r
+       CAIN    C,"N"\r
+       JRST    CINIT\r
+       CAIE    C,"Y"\r
        JRST    CTEN1\r
+       TLOA    F,40\r
+CTEN2: TLO     F,HSW\r
 \fCINIT:        MOVEI   T,134           ;BUFRD MODE\r
        PUSHJ   P,INIT          ;FIRST INIT\r
        TLNE    F,FLC!FLZ       ;BEGIN HERE  ___******\r
@@ -340,7 +284,7 @@ LSTES0:     USETI   2,1
        INPUT   2,REWIND\r
 LSTEST:        TLZE    F,FLL           ;LIST A DIR?\r
        JRST    DLST            ;YES\r
-       MOVEI   C,^D15          ;SECONDS\r
+       MOVEI   C,^D30          ;SECONDS\r
 GDNITE:        TLNE    F,FPT           ;6-SKIP\r
        CALLI   C,31            ;TO SLEEP\r
        POPJ    P,              ;\r
@@ -351,145 +295,65 @@ SWTAB:   XWD     FLP,")"         ;XIT
        XWD     FLV,"V"         ;VERIFY\r
        XWD     FLT,"T"         ;TENDMP\r
        XWD     FLG,"G"         ;IGNORE\r
-       XWD     HSW,"H"         ;HELP\r
-       XWD     LSW,"L"         ;LOAD BSLDR\r
-       XWD     NSW,"N"         ;NO DIR\r
        XWD     FL6,"6"         ;PDP6 DIR\r
        LEN=.-SWTAB\r
 \fDSAV: TLON    F,FLL           ;ENTER THIS CODE ONCE ONLY\r
        TLNE    F,FL6           ;SKIP IF ITS NOT 6FMT\r
-       POPJ    P,              ;2ND PASS OR 6FMT-EXIT.\r
-       MOVEI   1,-144(LOC)     ;FIRST BLK OF NEXT OUTPUT\r
-       SUB     1,INC           ;FIND A\r
-       IMULI   1,-200          ;     DIRECTORY,\r
-       ADD     1,LISTC         ;GRAB\r
-       HRLI    1,1(1)          ;    A\r
-       HRRI    1,DIRECT        ;     DIRECTORY.\r
-       BLT     1,DIRECT+177    ;SAVE IT.\r
-       POPJ    P,              ;RETURN\r
-\r
-DATE:  SETZ    AC2,\r
-       LDB     AC5,DATEP\r
-       IDIVI   AC5,^D31        ;PICK OFF THE DAY\r
-       ADDI    AC6,1           ;MAKE IT RIGHT\r
-       PUSHJ   P,DATE1         ;RETURNS TWO SIXBIT NUMBERS\r
-       DPB     AC6,DAY         ;XXDDXX\r
-       IDIVI   AC5,^D12        ;PICK OFF THE MONTH\r
-       MOVE    AC6,MONPH(AC6)  ;CONVERT TO ALPHA\r
-       DPB     AC6,MONTH       ;MMDDXX\r
-       MOVEI   AC6,^D64        ;GET THE BASE YEAR\r
-       ADD     AC6,AC5         ;PLUS YEARS SINCE THEN\r
-       PUSHJ   P,DATE1         ;SIXBIT\r
-       DPB     AC6,YEAR        ;YYMMDD-DATE FINISHED\r
-       POPJ    P,              ;\r
-\r
-DATE1: IDIVI   AC6,^D10        ;DIVIDE OUT A DECIMAL NUMBER\r
-       LSH     AC6,6           ;MAKE ROOM FOR THE REMIANDER\r
-       ADDI    AC6,152020(LOC) ;CONVERT TO SIXBIT\r
-       POPJ    P,              ;RETURN\r
-\r
-DAY:   POINT   12,AC2,11\r
-MONTH: POINT   24,AC2,35\r
-YEAR:  POINT   18,AC3,17\r
-DATEP: POINT   12,DNAM+^D22(AC1),35\r
-FREE:  SIXBIT  /FREE:  +/\r
-BLKS:  SIXBIT  /-BLKS  +/\r
-FILES: SIXBIT  /-FILES#/\r
-\fMONPH:        SIXBIT  /  -JAN/\r
-       SIXBIT  /  -FEB/\r
-       SIXBIT  /  -MAR/\r
-       SIXBIT  /  -APR/\r
-       SIXBIT  /  -MAY/\r
-       SIXBIT  /  -JUN/\r
-       SIXBIT  /  -JUL/\r
-       SIXBIT  /  -AUG/\r
-       SIXBIT  /  -SEP/\r
-       SIXBIT  /  -OCT/\r
-       SIXBIT  /  -NOV/\r
-       SIXBIT  /  -DEC/\r
-\r
-               ;STANDARD OCTAL TO ASCII ROUTINE\r
-DECMAL:        IDIVI   C,^D10          ;\r
-       HRLM    C+1,(P)         ;\r
-       SKIPE   C               ;\r
-       PUSHJ   P,DECMAL        ;\r
-       HLRZ    C,(P)           ;\r
-       ADDI    C,60            ;\r
-       JRST    TYPC            ;\r
-\r
-DLST:  TLNE    F,NSW           ;DIRECTORY WANTED?\r
-       JRST    DXIT            ;NO\r
-       TLNE    F,FL6           ;6FMT?\r
+        JRST    COPSKP         ;2ND PASS OR 6FMT-EXIT.\r
+        MOVEM   LOC,AC1\r
+       SUBI    AC1,144         ;FIRST BLK OF NEXT OUTPUT\r
+       SUB     AC1,INC         ;FIND A\r
+       IMULI   AC1,-200                ;     DIRECTORY,\r
+       ADD     AC1,LISTC               ;GRAB\r
+       HRLI    AC1,1(AC1)              ;    A\r
+       HRRI    AC1,DIRECT      ;     DIRECTORY.\r
+       BLT     AC1,DIRECT+177  ;SAVE IT.\r
+       JRST    COPSKP\r
+\r
+DLST:  TLNE    F,FL6           ;6FMT?\r
        JRST    D6LST           ;YES.\r
-DLST1: SETZM   TOTAL           ;TOTAL FREE BLOCKS\r
-       MOVE    3,[XWD TOTAL,TOTAL+1]   ;CLEAR THE ^D23\r
-       BLT     3,TOTAL+^D22            ;    WORD TABLE\r
-       MOVE    2,[POINT 5,DIRECT,4]    ;POINT TO FIRST BLK SLOT\r
-       MOVEI   1,<7*^D83>-3            ;1102 SLOTS\r
-DLST2: ILDB    3,2                     ;PICK UP A FILE NUMBER\r
-       CAIG    3,^D22                  ;SKIP IF BLK IS SPECIAL\r
-       AOS     TOTAL(3)                ;COUNT BLKS/FILE\r
-       SOJG    1,DLST2                 ;LOOP\r
-       MOVEI   BP,FREE         ;FREE:\r
-       PUSHJ   P,TYPEIT                ;\r
-       MOVE    C,TOTAL         ;NUMBER OF FREE BLOCKS\r
-       PUSHJ   P,DECMAL                ;\r
-       MOVEI   BP,BLKS         ;-BLKS\r
-       PUSHJ   P,TYPEIT                ;\r
-       MOVEI   C,^D22          ;26 FILES MAX\r
-       HRLZI   AC1,-^D22               ;\r
-DLST7: SKIPE   DNAM(AC1)       ;\r
-       SOS     C               ;DECREMENT MAX NO. OF BLKS\r
-       AOBJN   AC1,DLST7       ;\r
-       PUSHJ   P,DECMAL        ;\r
-       MOVEI   BP,FILES        ;\r
-       PUSHJ   P,TYPEIT        ;\r
-       HRLZI   1,-^D22                 ;LOOP 26 TIMES\r
-\r
-\fDLST3:        HRLZI   3,161300                ;TERMINATOR\r
-       SKIPN   2,DNAM(1)               ;FILE NAME\r
+       HRLI    AC3,150000              ;TERMINATOR\r
+       HRLZI   1,777752\r
+DLST3: SKIPN   AC2,DNAM(1)             ;FILE NAME\r
        JRST    DLST5                   ;\r
        MOVEI   BP,2                    ;\r
        PUSHJ   P,TYPEIT                ;\r
-       HLLZ    2,DNAM+^D22(1)          ;EXTENSION\r
-       HRRI    2,13                    ;\r
+       HLLZ    AC2,DNAM+^D22(1)                ;EXTENSION\r
+       SKIPN   0,2\r
+       JRST    DLST4\r
+       MOVEI   6,11\r
+       PUSHJ   P,TYPC\r
+       HRRI    AC2,150000              ;\r
        MOVEI   BP,2                    ;\r
        PUSHJ   P,TYPEIT                ;\r
-       MOVE    C,TOTAL+1(1)            ;NUMBER OF BLKS\r
-       PUSHJ   P,DECMAL                ;\r
-       MOVEI   C,"     "                       ;SPACE\r
-       PUSHJ   P,TYPC                  ;\r
-       PUSHJ   P,DATE                  ;CREATION DATE\r
-       MOVEI   BP,2                    ;\r
-       HRRI    3,30000                 ;"#"\r
-       PUSHJ   P,TYPEIT                ;\r
-DLST5: AOBJN   1,DLST3                 ;LOOP\r
-DXIT:  MOVEI   C,^D15          ;15 SECONDS\r
+DLST4: PUSHJ   P,TYPCL                 ;\r
+DLST5: AOBJN   AC1,DLST3               ;LOOP\r
+DXIT:  MOVEI   C,^D22          ;22 SECONDS\r
        JRST    GDNITE          ;TO SLEEP.\r
 \r
-D6LST: MOVEI   0,36            ;MAX NO. OF ENTRIES\r
-       HRRZ    1,DIRECT        ;LOC OF FIRST DIR BLK\r
-D6BEG: HRLI    3,130000        ;"-" TERMINATOR\r
+D6LST: MOVEI   AC0,36          ;MAX NO. OF ENTRIES\r
+       HRRZ    AC1,DIRECT      ;LOC OF FIRST DIR BLK\r
+D6BEG: HRLI    AC3,150000      ;"-" TERMINATOR\r
        MOVEI   BP,2            ;\r
-       SKIPN   2,DIRECT(1)     ;IS THERE A FILENAME?\r
+       SKIPN   AC2,DIRECT(1)   ;IS THERE A FILENAME?\r
        JRST    DXIT            ;NORMAL EXIT\r
        PUSHJ   P,TYPEIT        ;FILENAME\r
-       HLLZ    2,DIRECT+1(1)   ;EXTENSION\r
-       SKIPN   2               ;IF NULL,\r
+       HLLZ    AC2,DIRECT+1(1) ;EXTENSION\r
+       SKIPN   AC2             ;IF NULL,\r
        JRST    D6FIN           ;JUMP\r
        MOVEI   C,"     "       ;OTHERWISE\r
        PUSHJ   P,TYPC          ;TAB\r
-       HRRI    2,130000        ;"-"\r
+       HRRI    AC2,150000      ;"-"\r
        MOVEI   BP,2            ;TERM.\r
        PUSHJ   P,TYPEIT        ;\r
 D6FIN: PUSHJ   P,TYPCL         ;CR-LF\r
-       ADDI    1,4             ;\r
-       SOJG    0,D6BEG         ;IN CASE\r
+       ADDI    AC1,4           ;\r
+       SOJG    AC0,D6BEG       ;IN CASE\r
        JRST    DXIT            ;DIR WAS FULL\r
 \f\r
 TYPEIT:        HRLI    BP,440600               ;BP=MESSAGE ADR\r
 TYPLOP:        ILDB    C,BP                    ;\r
-       CAIN    C,13                    ;PLUS?\r
+       CAIN    C,15                    ;PLUS?\r
        POPJ    P,                      ;GET THE WHOLE MESSASE\r
        CAIN    C,3                     ;#?\r
        JRST    TYPCL                   ;APPEND CR LF AND TYPE\r
@@ -501,10 +365,6 @@ TYPGET:    ILDB    C,TIN+1                 ;GET CHAR
        CAIE    C," "                   ;SPACE?\r
        CAIN    C,"     "               ;TAB?\r
        JRST    TYPGET                  ;FORGET IT\r
-       CAIGE   C,141                   ;LC "A"\r
-       POPJ    P,\r
-       CAIG    C,172                   ;LC "Z"\r
-       SUBI    C,40                    ;LC TO UC\r
        POPJ    P,\r
 \r
 TYPCCL:        IDPB    C,TOUT+1                ;TYPE CHAR,CRLF\r
@@ -515,22 +375,6 @@ TYPC:      IDPB    C,TOUT+1                ;TYPE CHAR
 TYPBUF:        OUTPUT  17,                     ;DO IT\r
        POPJ    P,\r
 \r
-\fHELP: TTCALL  3,.+2\r
-       JRST    COCRET\r
-ASCIZ %\r
-/C COPY \r
-/V VERIFY\r
-/Z ZERO ALL BLOCKS\r
-/L LOAD A BOOTSTRAP LOADER FROM PTR:BSLDR.REL\r
-/T "TYPE CORE BANK OR OFFSET FOR BSLDR"\r
-       CORE-BANK = NNNK (16K TO 256K)\r
-       OFFSET = <OCTAL 1000 TO 777600>\r
-   WRITE A BSLDR ONTO BLOCKS 0,1 AND 2\r
-/N DONT TYPE A DIRECTORY\r
-/6 PDP6 DIR\r
-/G IGNORE ERRORS\r
-NO SW'S IMPLY /C/V\r
-%\r
 \fERRT1I:       TLOA    F,FLI                   ;INPUT ERROR\r
 ERRT1O:        TLZ     F,FLI                   ;OUTPUT ERROR\r
        STATUS  1,IOS                   ;STATUS TO IOS\r
@@ -555,7 +399,7 @@ ERRCHK:     TRNE    IOS,400000
        PUSHJ   P,ERR040                ;BLOCK TOO LARGE\r
        TRNE    IOS,020000              ;PREMATURE EOF,PDP9-DTA?\r
        PUSHJ   P,ERR020                ;\r
-       TRNN    IOS,600000              ;THESE BITS IMPLY RESTART\r
+       TRNN    IOS,640000              ;THESE BITS IMPLY RESTART\r
        TLNN    F,FLG                   ;/G+PARITY ERR = CONTINUE\r
        JRST    ST                      ;RESTART\r
        TRZ     IOS,740000              ;ZERO IN\r
@@ -566,7 +410,7 @@ ERRCHK:     TRNE    IOS,400000
        POPJ    P,                      ;POP OUT\r
 \fERR400:       MOVEI   BP,MES400\r
        JRST    TYPEIT\r
-MES400:        SIXBIT  /?WRITE LOCK ERROR#/\r
+MES400:        SIXBIT  /WRITE LOCK ERROR#/\r
 ERR200:        PUSHJ   P,ERRCOM\r
        MOVEI   BP,MES200\r
        JRST    TYPEIT\r
@@ -587,8 +431,8 @@ ERRCOM:     MOVEI   BP,SXBINP
        TLNN    F,FLI\r
        MOVEI   BP,SXBOUT\r
        JRST    TYPEIT\r
-SXBINP:        SIXBIT  /?INPUT+/\r
-SXBOUT:        SIXBIT  /?OUTPUT+/\r
+SXBINP:        SIXBIT  /INPUT-/\r
+SXBOUT:        SIXBIT  /OUTPUT-/\r
 \fERRVER:       MOVE    T,[POINT 6,MESVER]\r
        MOVE    BP,[POINT 3,U,17]\r
 ERRVE1:        ILDB    C,BP            ;LOAD AN OCTAL NUMBER\r
@@ -602,14 +446,13 @@ MESVER:   SIXBIT  /000000 VERIFICATION ERRORS#/
 ERRCMD:        MOVEI   BP,MESCMD\r
        PUSHJ   P,TYPEIT\r
        JRST    ST\r
-MESCMD:        SIXBIT  /?COMMAND ERROR#/\r
+MESCMD:        SIXBIT  /COMMAND ERROR#/\r
 ERRSW: MOVEI   BP,MESSW\r
        PUSHJ   P,TYPEIT\r
        JRST    ST\r
-MESSW: SIXBIT  /?SWITCH ERROR#/\r
+MESSW: SIXBIT  /SWITCH ERROR#/\r
 ERRIN1:        SKIPA   T,IDEV\r
 ERRIN2:        MOVE    T,ODEV\r
-       TTCALL  3,[ASCIZ /?/]\r
        MOVEM   T,MESINI\r
        MOVEI   BP,MESINI\r
        PUSHJ   P,TYPEIT\r
@@ -617,7 +460,6 @@ ERRIN2:     MOVE    T,ODEV
 MESINI:        SIXBIT  /       INIT FAILURE#/\r
 ERRDT1:        SKIPA   T,IDEV\r
 ERRDT2:        MOVE    T,ODEV\r
-       TTCALL  3,[ASCIZ /?/]\r
        MOVEM   T,MESDTA\r
        MOVEI   BP,MESDTA\r
        PUSHJ   P,TYPEIT\r
@@ -626,67 +468,23 @@ MESDTA:   SIXBIT  /       MUST BE A DECTAPE#/
 \fERRTNH:       MOVEI   BP,MESTNH\r
        PUSHJ   P,TYPEIT\r
        JRST    ST\r
-MESTNH:        SIXBIT  %?BOOTSTRAP LOADER IS NOT IN COPY. TRY "/L".#%\r
-\rPTERR1:       TTCALL  3,[ASCIZ /?PTR INIT FAILURE\r
-/]\r
-       JRST    ST\r
-\r
-PTERR2:        TTCALL  3,[ASCIZ /?LOOKUP FAILED, "BSLDR.REL"\r
-/]\r
-       JRST    ST\r
+MESTNH:        SIXBIT  /TENDUMP IS NOT IN CORE.#/\r
+MES32K:        SIXBIT  /32K TENDUMP?... -/\r
+MES16K:        SIXBIT  /16K TENDUMP?... -/\r
+TENINT:        TLNN    F,140\r
+       POPJ    P,0\r
 \f      ;WRITE A BOOOTSTRAP LOADER IN BLOCKS 0,1 AND 2\r
-TENINT:        PUSH    P,JOBFF\r
+       PUSH    P,JOBFF\r
        SETSTS  2,134           ;SO I CAN WRITE IN BLK 0\r
        USETO   2,0\r
        OUTBUF  2,1\r
        OUTPUT  2,              ;DUMMY!\r
 \r
-       MOVE    AC0,[POINT 36,BSBUF]\r
-       MOVEM   AC0,BSPTR       ;WHERE THE LOADER IS KEPT\r
-       HRRZ    AC0,JOBFF       ;\r
-       HRLI    AC0,(POINT 36,)\r
-       MOVEM   AC0,FFPTR       ;WHERE ITS WRITTEN FROM\r
-\r
-       ILDB    W,BSPTR         ;IOWD\r
-       MOVE    CNT,OFFSET      ;\r
-       HRRI    W,-1(CNT)       ;FINISH THE IOWD\r
-       IDPB    W,FFPTR         ;\r
-\r
-TEN1:  PUSHJ   P,NBLK          ;GET THE NEXT BLOCK, SKIPE XIT IS NORMAL\r
-        JRST   RELDA5          ;TERMINATE THE BSLDR\r
-       TRNN    CNT,-1          ;EMPTY?\r
-       JRST    TEN1            ;YES\r
-       ILDB    OS,BSPTR        ;OFFSET FOR THIS BLK\r
-       LSH     RB,2            ;OS'S RELBITS\r
-       AOBJN   CNT,.+1         ;ACCOUNT FOR IT\r
-RELDAT:        TRNN    CNT,-1  ;ANY MORE DATA?\r
-       JRST    TEN1            ;NO\r
-       ILDB    W,BSPTR         ;PROGRAM WORD\r
-       JUMPGE  RB,RELDA1       ;CHECK LEFT HALF\r
-       HRLZ    I,OFFSET                ;\r
-       ADD     W,I             ;RELOCATE IT\r
-\r
-RELDA1:        TLNE    RB,200000       ;CHECK RIGHT HALF\r
-       HRRI    W,@OFFSET       ;RELOCATE IT\r
-       IDPB    W,FFPTR         ;\r
-       LSH     RB,2            ;NEXT RELOCATION BITS\r
-       AOBJN   CNT,RELDAT      ;NEXT WORD\r
-       TRNE    CNT,-1          ;\r
-       PUSHJ   P,NSEC          ;NEXT SECTION OF BLOCK\r
-       JRST    RELDAT          ;\r
-\r
-\fNBLK: ILDB    CNT,BSPTR       ;GET THE BLOCK WRD CNT\r
-       SKIPL   CNT             ;\r
-       AOS     (P)             ;SKIP EXIT IS NORMAL\r
-       MOVN    CNT,CNT         ;\r
-NSEC:  ILDB    RB,BSPTR        ;RELOCATION BITS\r
-       HRLI    CNT,-22         ;WRDS/SECTION\r
-       POPJ    P,\r
-\r
-RELDA5:        MOVE    W,SASAV         ;THIS JRST IS EXECUTED\r
-       HRR     W,OFFSET(W)     ;RELOCATE THE SA ADR\r
-       IDPB    W,FFPTR         ;THE LAST WORD\r
-       HRLZ    BP,JOBFF        ;BEG OF BSLDR\r
+       HRLZI   BP,L16K.\r
+       TLNN    F,HSW\r
+       HRLZI   BP,L32K.\r
+       TLNE    F,NSW\r
+       HRLZI   BP,L16K.\r
        HRR     BP,OUT2+1       ;BLT PTR\r
        MOVEM   BP,C            ;SAVE IT\r
        BLT     BP,177(C)       ;ZAP 1\r
@@ -696,16 +494,10 @@ RELDA5:   MOVE    W,SASAV         ;THIS JRST IS EXECUTED
        BLT     BP,177(C)       ;ZAP 2\r
        USETO   2,1\r
        OUTPUT  2,              ;BLK 1\r
-       ADD     C,[XWD 200,0]\r
-       MOVEM   C,BP\r
-       BLT     BP,177(C)\r
-       USETO   2,2\r
-       OUTPUT  2,\r
        PUSHJ   P,ERRT2O        ;ERRORS?\r
        POP     P,JOBFF\r
        POPJ    P,\r
 \fCOPZRO:       PUSH    P,JOBFF         ;SAVE JOBFF\r
-       TLNE    F,FLC           ;SKIP IO TO UNASSIGNED CHAN.\r
        SETSTS  1,134           ;\r
        SETSTS  2,134           ;\r
        OUTBUF  2,1             ;WITH ONE BUFFER MODE-134\r
@@ -723,19 +515,21 @@ RELDA5:   MOVE    W,SASAV         ;THIS JRST IS EXECUTED
 COPLPZ:        ILDB    C,IN1+1         ;OTHER WORDS\r
        IDPB    C,OUT2+1        ;TO THE BUFFER\r
        SOJG    T,COPLPZ        ;TO LOOP\r
-       SETSTS  1,136           ;INPUT DEVICE\r
-       USETI   1,1             ;SIX FORMATTED DIRECTORY\r
-       INPUT   1,DIRWRD        ;GET IT\r
 COPBKZ:        OUTPUT  2,              ;DUMP THE BUFFER\r
        POP     P,JOBFF         ;FOR VERIFY?\r
        PUSHJ   P,ERRT2O                ;OK?\r
        SETSTS  2,136           ;DUMP MODE\r
+       SETSTS  1,136           ;DUMP MODE\r
+       USETI   1,1             ;BLOCK ZERO\r
+       INPUT   1,DIRWRD        ;GET IT\r
        MOVE    U,JOBREL                ;UPPER LIMIT\r
        MOVE    T,BLTWRD        ;FROM,TO\r
        SETZM   @ZROWRD         ;START\r
        BLT     T, (U)          ;ZAP\r
        MOVEI   LOC,1           ;START AT BLOCK ONE\r
-COPSET:        TLNE    F,FLC           ;SKIP\r
+COPSET:        CAILE   LOC,144\r
+       JRST    DSAV\r
+COPSKP:        TLNE    F,FLC           ;SKIP\r
        USETI   1,(LOC)         ;IO 2 UNASGND CH\r
        USETO   2,(LOC)         ;SET THE BLOCK NO.\r
        ADD     LOC,INC         ;ADD THE INCREMENT\r
@@ -743,18 +537,16 @@ COPSET:   TLNE    F,FLC           ;SKIP
        JRST    COPFIN          ;NO\r
        PUSHJ   P,COPYIT        ;ONE BUFFER\r
        JRST    COPSET          ;AND LOOP\r
-COPFIN:        MOVEI   T,-1102(LOC)    ;N BLOCKS WON'T FIT\r
-       IMULI   T,200           ;N WORDS WON'T FIT\r
-       MOVSS   T               ;GET ORGANIZED\r
-       ADDM    T,LISTC         ;SUB N WORDS FROM LIST\r
+COPFIN:        SUBI    LOC,1102        ;N BLOCKS WON'T FIT\r
+       IMULI   LOC,200         ;N WORDS WON'T FIT\r
+       MOVSS   LOC             ;GET ORGANIZED\r
+       ADDM    LOC,LISTC       ;SUB N WORDS FROM LIST\r
        SKIPL   LISTC           ;IF LH OF IOWD = 0,\r
        POPJ    P,              ;EXIT\r
 COPYIT:        TLNN    F,FLC           ;COPY?\r
        JRST    COPOUT          ;ZERO!\r
        INPUT   1,LISTC         ;COPY!\r
        PUSHJ   P,ERRT1I        ;OK?\r
-       CAILE   LOC,144         ;SKIP IF NO CHANCE\r
-       PUSHJ   P,DSAV          ;TRY FOR A DIRECTORY\r
 COPOUT:        OUTPUT  2,LISTC         ;COPY AND ZERO\r
        JRST    ERRT2O          ;OK?\r
 \fVERZRO:       PUSH    P,JOBFF\r
@@ -816,10 +608,8 @@ ODEV:      Z
        CALLI   BP,4\r
        TLNN    BP,100\r
        JRST    ERRDT2          ;ERROR, ITS NOT A DTA\r
-       SKIPN   BP,IDEV         ;IF NULL\r
+       SKIPN   IDEV            ;IF NULL\r
        POPJ    P,              ;NO INPUT DEV REQUIRED\r
-       CAMN    BP,ODEV         ;SAME DEVICES?\r
-       JRST    INITER          ;YEPER\r
        INIT    1,(T)\r
 IDEV:  Z\r
        XWD     0,IN1\r
@@ -830,182 +620,6 @@ IDEV:     Z
        JRST    ERRDT1          ;ERROR\r
        POPJ    P,\r
 \r
-INITER:        TTCALL  3,[ASCIZ /INPUT AND OUTPUT DEC-TAPES MAY NOT BE THE SAME DEVICE.\r
-/]\r
-       JRST    ST\r
-\f;     LOAD A BOOTSTRAP LOADER, \r
-\r
-I=1    ;PTR TO BSBUF\r
-W=2    ;WORD OF TENDMP.REL\r
-CNT=3  ;# OF WORDS IN CURRENT BLOCK\r
-TYPE=4 ;TYPE OF BLOCK\r
-OS=4   ;OFFSET\r
-RB=5   ;RELOCATION BITS\r
-\r
-FFPTR: BLOCK   1       ;BYTEPTR TO RELOCATED BSLDR\r
-BSPTR: BLOCK   1       ;BYTPTR TO UNRLCTD BSLDR\r
-OFFSET:        BLOCK   1       ;THE OFFSET\r
-RELBTS:        BLOCK   1       ;RELOCATION BITS\r
-SASAV: BLOCK   1       ;STARTING ADDRESS\r
-PNAME: BLOCK   1       ;PROGRAM NAME\r
-       SIXBIT  /#/     ;# = "CRLF"\r
-\r
-\r
-BSLDR: MOVE    AC0,[SIXBIT /BSLDR/]    ;LOOKUP BLOCK\r
-       HRLZI   AC1,(SIXBIT /REL/)\r
-       SETZB   AC2,AC3         ;\r
-       INIT    16,13           ;IMAGE-BINARY\r
-       SIXBIT  /PTR/           ;\r
-       EXP     PTRBUF          ;\r
-       JRST    PTERR1          ;INIT FAILURE ERROR\r
-       INBUF   16,1            ;ONE BUFFER\r
-       LOOKUP  16,             ;BSLDR.REL\r
-       JRST    PTERR2          ;LOOKUP FAILURE\r
-       MOVEI   I,BSBUF         ;PP PTR FOR BOOTSTRAP-LOADER-BUF\r
-\r
-NEWBLK:        PUSHJ   P,GETWRD        ;GET ONE WORD FROM PTR FILE\r
-       HLRZM   W,TYPE          ;SAVE BLOCK-TYPE\r
-       HRRZM   W,CNT           ;SAVE WRD-COUNT FOR THIS BLK\r
-       CAIN    TYPE,1          ;\r
-       PUSH    I,W             ;SAVE BLOCK HDR-WRD\r
-       PUSHJ   P,GETWRD        ;\r
-       MOVEM   W,RELBTS        ;SAVE RELOCATION-BITS\r
-       CAIN    TYPE,1          ;BLKTYP=1?\r
-       PUSH    I,W             ;YEP, SAVE THE BITS\r
-       CAIG    TYPE,7          ;ILL-BLK-TYP?\r
-       JRST    @TYPTAB(TYPE)   ;NO, OFF TO BLOCK HANDLER\r
-\r
-TTCALL 3,[ASCIZ /?ILLEGAL BLOCK TPYE\r
-/]\r
-       JRST    ST              ;\r
-\r
-\fTYPTAB:       Z       BLK0\r
-       Z       BLK1\r
-       Z       BLK2\r
-       Z       BLK3\r
-       Z       BLK4\r
-       Z       BLK5\r
-       Z       BLK6\r
-       Z       BLK7\r
-\r
-GETWRD:        SOSG    PTRBUF+2        ;EMPTY BUF?\r
-       PUSHJ   P,GETBUF        ;GET A BUFFER\r
-       ILDB    W,PTRBUF+1      ;\r
-       POPJ    P,\r
-\r
-GETBUF:        IN      16,             ;GET BUFFER\r
-       POPJ    P,\r
-       STATZ   16,20000        ;EOF?\r
-       TTCALL  3,[ASCIZ /?NO END BLOCK ENCOUNTERED\r
-/]\r
-       STATZ   16,74000        ;ERRORS?\r
-       TTCALL  3,[ASCIZ /?DATA ERROR ON DEVICE PTR\r
-/]\r
-       JRST    ST\r
-       ;THIS IS NOT A BLOCK, IGNORE IT\r
-BLK0:  JUMPE   CNT,NEWBLK      ;\r
-       PUSHJ   P,GETWRD        ;PASS A WRD\r
-       SOJA    CNT,BLK0        ;\r
-\r
-       ;THIS IS THE PROGRAM\r
-BLK1:  MOVN    CNT,CNT         ;TOTAL NUMBER OF WRDS THIS BLK\r
-BLK1A: HRLI    CNT,-22         ;MAX NUMBER PER SECTION\r
-BLK1B: TRNN    CNT,-1          ;ANY MORE WRDS?\r
-       JRST    NEWBLK          ;NO\r
-       PUSHJ   P,GETWRD        ;\r
-       PUSH    I,W             ;SAVE IN BSBUF\r
-       AOBJN   CNT,BLK1B       ;ANY MORE WRDS THIS SECTION?\r
-       TRNN    CNT,-1          ;NO, ...THIS BLK?\r
-       JRST    NEWBLK          ;NO\r
-       PUSHJ   P,GETWRD        ;GET THE REL-BITS FOR NXT SECT\r
-       PUSH    I,W             ;SAVEM\r
-       JRST    BLK1A           ;\r
-\r
-\f      ;THIS IS THE SYMBOL TABLE\r
-BLK2:  MOVN    CNT,CNT         ;\r
-BLK2A: HRLI    CNT,-22         ;\r
-BLK2B: TRNN    CNT,-1          ;\r
-       JRST    NEWBLK          ;\r
-       PUSHJ   P,GETWRD        ;\r
-       TLNE    W,200000        ;\r
-       JUMPL   W,BLK2ER        ;ERROR - ITSA EXTERNAL SYMBOL\r
-       AOBJN   CNT,.+1         ;IGNORE THE VALUE\r
-       PUSHJ   P,GETWRD        ;\r
-       AOBJN   CNT,BLK2B       ;\r
-       TRNN    CNT,-1          ;\r
-       JRST    NEWBLK          ;\r
-       JRST    BLK2A\r
-BLK2ER:        TTCALL  3,[ASCIZ /?CANNOT PROCESS EXTERNAL SYMBOLS\r
-/]\r
-       JRST    ST\r
-\r
-       ;HIGHSEG FLAG, GIVE ERROR EXIT\r
-BLK3:  TTCALL  3,[ASCIZ /?CANNOT PROCESS HIGH-SEG'S\r
-/]\r
-       JRST    ST\r
-\r
-       ;ENTRY BLOCK, IGNORE THIS BLOCK\r
-BLK4:  MOVN    CNT,CNT ;\r
-BLK4A: HRLI    CNT,-22         ;\r
-       TRNN    CNT,-1          ;\r
-       JRST    NEWBLK          ;\r
-       PUSHJ   P,GETWRD        ;\r
-       AOBJN   CNT,.-1         ;PASS/IGNORE \r
-       TRNN    CNT,-1          ;\r
-       JRST    NEWBLK          ;\r
-       PUSHJ   P,GETWRD        ;\r
-       JRST    BLK4A           ;\r
-\r
-       ;THIS IS LAST BLK, MUST BE SEEN, ALSO IS PROG-BREAK\r
-BLK5:  PUSHJ   P,GETWRD        ;\r
-       MOVNI   AC0,1(W)                ;\r
-       HRLM    AC0,BSBUF       ;START THE IOWD\r
-       CAILE   W,600           ;MUST FIT IN LESS-THAN 4 BLKS\r
-       JRST    BLK5ER          ;ERROR IF'E CAN'T\r
-       TLO     W,400000        ;NOTE THE END\r
-       PUSH    I,W             ;\r
-       HRLZI   LFL             ;NOTE BSLDR IS IN "COPY"\r
-       IORM    FSAVE           ;SAVE IT\r
-       TLO     F,LFL           ;\r
-       CLOSE   16,             ;\r
-       JRST    COCRET          ;THE ONLY WAY OUT\r
-BLK5ER:        TTCALL  3,[ASCIZ /?BOOTSTRAP LOADER WILL NOT FIT IN 3 BLOCKS\r
-/]\r
-       JRST    ST\r
-\r
-\f      ;PROG-NAME IN RADIX50\r
-BLK6:  PUSHJ   P,GETWRD        ;\r
-       PUSHJ   P,UNWIND        ;CONVRT RX50 TO 6BIT PROG-NAME\r
-       SOJA    CNT,BLK4        ;I.E. IGNORE REST OF THIS BLK\r
-\r
-UNWIND:        MOVE    AC4,[POINT 6,PNAME]\r
-       SETZM   PNAME\r
-       MOVEM   W,AC5           ;\r
-       HRROI   AC0,-6          ;6 CHARS\r
-       TLZ     W,740000        ;CLEAR THE CODE BITS\r
-UNW1:  IDIVI   AC5,50          ;\r
-       HRLM    AC6,(P) ;SAVE REMAINDER\r
-       AOJGE   AC0,UNW2        ;LOOP\r
-       PUSHJ   P,UNW1          ;LOOP\r
-UNW2:  HLRZ    AC6,(P)         ;PICK OFF THE REMAINDER + DECODE IT\r
-       JUMPE   AC6,UNW3        ;DONE\r
-       ADDI    AC6,20-1\r
-       CAILE   AC6,31\r
-       ADDI    AC6,41-32\r
-       CAILE   AC6,72\r
-       SUBI    AC6,74-4\r
-       CAIN    AC6,3\r
-       MOVEI   AC6,16\r
-\r
-       IDPB    AC6,AC4\r
-UNW3:  POPJ    P,\r
-\r
-       ;STARTING ADR.\r
-BLK7:  PUSHJ   P,GETWRD        ;\r
-       HRLI    W,(JRST)        ;JUMP TO THE STARTING ADDRESS\r
-       MOVEM   W,SASAV         ;SAVE STARTING ADDRESS\r
-       SOJA    CNT,BLK4        ;IGNORE REST OF BLK\r
-\r
 \fBLTWRD:       XWD     END.,END.+1     ;ZRO FROM,TO\r
 ZROWRD:        EXP     END.            ;START\r
 FSAVE: XWD     FLP,0   ;MODIFIED WHEN BSLDR IS LOADED\r
@@ -1015,23 +629,48 @@ LISTV1:  IOWD    0,END.
 LISTV2:        IOWD    0,END.\r
 INC:   BLOCK   1\r
 INCV:  BLOCK   1\r
+;LISTC:        IOWD    10200,L16K.\r
+;      Z\r
+;LISTV1:       IOWD    4000,L16K.\r
+;LISTV2:       IOWD    4000,END.+3000\r
+;INC:  XWD     0,41\r
+;INCV: XWD     0,20\r
 DIRECT:        BLOCK   123\r
 DNAM:  BLOCK   55\r
-TOTAL: BLOCK   26      ;BLOCK TABLE\r
 DIRWRD:        IOWD    200,DIRECT\r
        Z\r
 REWIND:        IOWD    1,PTRBUF\r
        Z\r
-TTYIN: BLOCK   23+20\r
+TTYIN: BLOCK   33\r
+;TTYIN:        Z\r
+;      XWD     21,.\r
+;      Z\r
+;      XWD     FLG+FLL,0\r
+;      BLOCK   17\r
+;      XWD     FLC+FLZ+FLG,2563\r
+;      BLOCK   7\r
 TTYOUT:        BLOCK   23\r
+;TTYOUT:       XWD     24,1\r
+;      XWD     21,.\r
+;      BLOCK   21\r
 IN1:   BLOCK   3\r
 IN2:   BLOCK   3\r
 OUT2:  BLOCK   3\r
 TIN:   BLOCK   3\r
 TOUT:  BLOCK   3\r
 PTRBUF:        BLOCK   3\r
-BSBUF: BLOCK   720     ;ENUF FOR 3BLOCKS PLUS HDR WRDS\r
+;TIN:  XWD     FLP,TTYIN+1\r
+;      XWD     FLI+FL2+HSW,0\r
+;      Z\r
+;TOUT: XWD     FLP,TTYOUT+1\r
+;      XWD     FLI+FL2+HSW,TTYOUT+2\r
+;      Z\r
+;PTRBUF:       XWD     FLP,END.+144\r
+;      XWD     FLL+FLI,END.+174\r
+;      Z\r
        VAR\r
        LIT\r
+L16K.: BLOCK   400\r
+L32K.:  BLOCK  400\r
 END.:  END     ST      ;;22-JUN\r
 \f\r