Fixed typos.
authorRichard Cornwell <rcornwell@github.com>
Sun, 3 Dec 2017 01:25:58 +0000 (20:25 -0500)
committerRichard Cornwell <rcornwell@github.com>
Sun, 3 Dec 2017 01:25:58 +0000 (20:25 -0500)
53 files changed:
src/cdrsr6.mac [new file with mode: 0644]
src/cdrsrx.mac [new file with mode: 0644]
src/clkcss.mac
src/clock1.mac
src/cmb50.ccl [new file with mode: 0644]
src/cmb50n.ccl [new file with mode: 0644]
src/comcon.mac
src/common.mac
src/con40.ccl [new file with mode: 0644]
src/con50n.ccl [new file with mode: 0644]
src/con50n.mac [new file with mode: 0644]
src/con5sd.ccl [new file with mode: 0644]
src/conall.ccl
src/conf40.mac [new file with mode: 0644]
src/config.mac
src/core1.mac
src/crfall.ccl
src/disser.mac
src/dpdint.mac
src/dskint.mac
src/dskser.mac
src/dtasrn.mac
src/dtcsrn.mac
src/eddt.mac
src/errcon.mac
src/ft40db.mac [new file with mode: 0644]
src/ft40dd.mac [new file with mode: 0644]
src/ft40n.mac
src/ft50sb.mac
src/ft50sd.mac [new file with mode: 0644]
src/jobdat.mac
src/k.mac
src/lptser.mac
src/macro.opr [new file with mode: 0644]
src/macro.v46
src/mongen.mac
src/mtasrx.mac
src/mtcsr6.mac
src/nulseg.mac
src/onceb.mac
src/pltser.mac
src/ptpser.mac
src/ptrser.mac
src/ptysrf.mac
src/ptysrh.mac
src/s.mac
src/schedb.mac
src/scnsrf.mac
src/segcon.mac [new file with mode: 0644]
src/sysini.mac [new file with mode: 0644]
src/sysmak.mac [new file with mode: 0644]
src/tendmp.doc [new file with mode: 0644]
src/tendmp.mac [new file with mode: 0644]

diff --git a/src/cdrsr6.mac b/src/cdrsr6.mac
new file mode 100644 (file)
index 0000000..68b70ce
--- /dev/null
@@ -0,0 +1,327 @@
+TITLE  CDRSR6 - CARD READER SERVICE FOR PDP-6 CARD READER
+SUBTTL /TH TS3.17 18 OCT 67 V001
+XP     VCDRS6,001
+               ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP
+
+       ;PARAMETERS
+
+       ;HARDWARE
+
+       CRDONE=10
+       CRBUSY=20
+       CRBIN=40
+       CRALL=100
+       CRMISS=200
+       CREOC=400
+       CREOFF=1000
+       CRERR=2000
+       CRNRED=4000
+
+       CRCONO=CRBUSY+CRBIN+CRALL
+       CDR=114
+
+       COD029=5252     ;029 CONTROL CARD IS 12-0-2-4-6-8!
+
+       ;IOS
+
+       CRMFST=40000    ;LH
+       CRMIMG=100000   ;LH
+       CRMBIN=200000   ;LH
+       CRM029=100      ;RH
+
+       MINHNG=^D15     ;NO. OF TIMES TO OBEY HUNG CODE BEFORE REALLY BECOMING HUNG
+
+CDRHNG:        CONSO CDR,CRERR         ;POWER OFF OR OTHER SUCH CATASTOPHE?
+       TLNN IO,IOFST           ;NO - CARD JAMMED?
+       JRST CDRINI             ;YES - PRINT HUNG MSG.
+       AOS (PDP)               ;NEVER ERROR RETURN
+       CONSZ CDR,CRMISS        ;FEEDCHECK?
+       CONSZ CDR,CRNRED        ;YES - READER READY?
+       SOSA TAC,LOPCNT         ;NO - PICK UP HUNG LOOP COUNTER
+       JRST CDRSTR             ;YES - GIVE ANOTHER CONO
+       JUMPGE TAC,STOIOS       ;COUNT NOT EXPIRED - LEAVE ACTIVE
+       SOS (PDP)               ;EXPIRED - PRINT HUNG MSG.
+
+CDRINI:        CONO CDR,0              ;CLEAR HARDWARE
+       HLLZS CDRCON            ;CLEAR CONSO BITS
+       POPJ PDP,0              ;RETURN
+
+\fINTERNAL FTCHECK,FTMONP
+
+IFN FTCHECK+FTMONP,<
+EXTERNAL CDRDDB,CRDIS,CRTEM,CDRCON,LOPCNT
+>
+IFE FTCHECK+FTMONP,<
+;CDR  DEVICE DATA BLOCK
+       INTERN  CDRDDB
+CDRDDB:
+CDRDAT:        SIXBIT  /CDR/
+       XWD     2*HUNGST,34     ;BUFFER LONG ENOUGH FOR BINARY CARDS
+       0
+       EXP     CDRDSP
+       XWD     DVCDR+DVIN,14403
+       0
+       0
+       XWD     PROG,0
+       0
+       0
+CRDIS: JRST    .
+CRTEM: 0       ;TEMP FOR PARTIAL WORDS
+CDRCON:        0       ;CONSO FLAGS
+LOPCNT:        0
+>
+\f
+ENTRY CDRSR6
+EXTERN CPOPJ1,ILLOUT,PIOMOD,SETACT,SETBYT,CDRCHN,PIOFF,PION,HNGSTP
+INTERN CDRDSP
+
+;CDR SERVICE DISPATCH TABLE (SHORT)
+
+       JRST CDRINI     ;INITILIZATION
+       JRST CDRHNG     ;HUNG DEVICE IS CHECKED
+CDRSR6:
+CDRDSP:        JRST CDRINI     ;RELEASE - CLEAR DEVICE
+       POPJ PDP,0      ;CLOSE - NOTHING SPECIAL
+       JRST ILLOUT     ;OUTPUT WON'T WORK
+                       ;INPUT IS OK
+       TLZN IOS,IOBEG  ;BEGINNING OF FILE? (NO MORE).
+       CONSO CDR,CREOFF        ;BUTTON PUSHED?
+       TLZA IOS,CRMBIN+CRMIMG  ;CLEAR TRASH
+       JRST CREOF      ;END OF FILE PUSHED WHILE IOACT WAS 0
+CDRIN1:        CONO CDR,0      ;CLEAR ANY SPURIOUS FLAGS
+       CONSO CDR,CRERR!CRMISS!CRNRED   ;POWER OFF,LEFT OVER FEED-CHECK OR NOT READY
+       JRST .+3                ;NO - OK
+       PUSHJ PDP,HNGSTP        ;YES - PRINT REMINDER & HALT JOB
+       JRST CDRIN1             ;GO TRY AGAIN WHEN USER TYPES 'CONT'
+       TLO IOS,IOFST+CRMFST    ;NEW OPERATION
+       LDB TAC,PIOMOD  ;SPEED UP TESTING OF MODE
+       CAIN TAC,B      ;..
+       TLO IOS,CRMBIN  ;BINARY MODE
+       CAIN TAC,I
+       TLO IOS,CRMIMG  ;IMAGE MODE
+       PUSHJ PDP,SETBYT        ;LH(TAC):=700+PROG OR 4400+PROG
+       MOVEM TAC,DEVPTR(DEVDAT)        ;SAVE BYTE SIZE
+CDRSTR:        MOVEI TAC,MINHNG        ;HERE TO RESTART CDR ON FEED-CHECK
+       MOVEM TAC,LOPCNT        ;RESET HUNG LOOP COUNTER
+       PUSHJ PDP,SETACT
+       MOVE TAC,[XWD CRDONE,CRCONO]
+       CONO PI,PIOFF
+       CONO CDR,CDRCHN(TAC)    ;START CDR
+       HLRM TAC,CDRCON         ;AND LOOK FOR IT
+       CONO PI,PION
+       POPJ PDP,0      ;RETURN TO UUOCON
+
+\f
+INTERN CDRINT
+EXTERN CDRSAV,IOSET,SETIOD,STOIOS,CDRCHN
+
+CDRINT:        CONSO CDR,@CDRCON
+       JRST CDRINT
+       JSR CDRSAV
+       MOVEI DEVDAT,CDRDDB
+       MOVE IOS,DEVIOS(DEVDAT)
+       PUSHJ PDP,IOSET
+       CONSZ CDR,CRMISS
+       TRO IOS,IODERR  ;DEVICE ERROR
+       CONSO CDR,CRERR+CREOFF+CREOC
+       JRST CRDATA     ;JUST A DATA INTERRUPT
+       CONSZ CDR,CRERR ;HARDWARE LOSS?
+       JRST CDRERR     ;YES
+       JRST CDREOC     ;NO. MUST BE END OF CARD
+CREOF: TLOA IOS,IOEND  ;MARK END,SKIP TO CROFF
+CDRERR:        TRO IOS,IODERR  ;CDR DEVICE ERROR HERE
+CROFF: PUSHJ PDP,CDRINI        ;STOP THE DEVICE
+       TRZ IOS,IOACT
+CRLST1:        MOVEI TAC,MINHNG
+       MOVEM TAC,LOPCNT        ;RESET HNG. LOOP CNT.
+       TLO IOS,IOFST+CRMFST
+       TLZE IOS,IOW    ;JOB WAITING FOR CDR?
+       PUSHJ PDP,SETIOD        ;YES. WAKE IT UP
+CREXIT:        MOVEM ITEM,DEVCTR(DEVDAT)
+       JRST STOIOS
+
+CRCONT:        MOVEI TAC,CDRCHN        ;PI CHANNEL
+       CONO CDR,CRCONO(TAC)    ;MAKE IT GO AGAIN
+       TLO IOS,CRMFST  ;FIRST COLUMN, BUT NOT FIRST IN BUFFER
+       JRST CREXIT     ;AND RETURN
+
+\f
+
+CRDATA:        DATAI CDR,DAT
+       TLZN IOS,CRMFST ;COLUMN 1?
+       XCT CRDIS       ;NO. SUBROUTINE HAS BEEN SET UP
+       TRNE IOS,IODERR ;POSSIBLE FEED CHECK?
+       CONSO CDR,CRNRED        ;YES - READER READY?
+       JRST .+4                ;YES - GENUINE DATA ERROR
+       TLO IOS,CRMFST          ;RESET 1ST COL. FLG.
+       TRZ IOS,IODERR          ;CLEAR ERROR INDICATION
+       JRST STOIOS             ;AND LET HUNG LOGIC SORT THINGS OUT
+       TLNE IOS,CRMIMG ;IMAGE MODE?
+       JRST CRFSTI     ;YES, DON'T CHECK FOR EOF CARD
+       TRC DAT,7400
+       TRCN DAT,7400   ;12,11,0 AND 1 PUNCH?
+       JRST CREOF1     ;YES. AN EOF CARD.
+       TLNE IOS,CRMBIN
+       JRST CRFSTB     ;BINARY CARD FIRST COLUMN
+       MOVEI TAC,CRASCI        ;HERE ON ASCII FIRST COLUMN
+       HRRM TAC,CRDIS  ;FOR SUCCEEDING COLUMN INTERRUPTS
+       CAIE DAT,COD029 ;029 CONTROL CARD?
+       JRST CRASCI     ;NO. PROCESS THE CARD.
+       TDO IOS, [XWD IOBEG,CRM029]     ;FLAG FOR EOC AND TRANSLATOR
+       JRST CRIGNOR    ;FLUSH REST OF THIS CARD
+
+CRASCI:        MOVEI TAC,0     ;CLEAR TAC
+       CAIN DAT,5000
+       MOVEI DAT,4202  ;12-0 => 12-8-2
+       CAIN DAT,3000
+       MOVEI DAT,2202  ;11-0 => 11-8-2
+       LDB TAC1,[XWD 110300,DAT]       ;12,11,0 ROWS TO TAC1
+       TRNE DAT,3      ;8 ZONE?
+       TRC TAC1,7      ;YES, PERMUTE TAC1
+       TRNE DAT,74     ;4 BIT?
+       TRO TAC1,10     ;YES
+       TRNE DAT,314    ;2 BIT?
+       TRO TAC,2       ;YES
+       TRNE DAT,525    ;1 BIT?
+       TRO TAC,1       ;YES
+       TRNN IOS,CRM029 ;HAS 029 CODE BEEN IMPLIED?
+       TRO TAC1,20     ;NO. MOVE UP TO 026 CODE TABLE
+       LDB DAT,CRCV2(TAC)      ;GET THE ASCII CHARACTER
+       PUSHJ PDP,CRSTOD        ;STORE IT
+       JRST CREXIT     ;AND RETURN
+
+CRCV2: POINT 7,CRCNV(TAC1),6
+       POINT 7,CRCNV(TAC1),13
+       POINT 7,CRCNV(TAC1),20
+       POINT 7,CRCNV(TAC1),27
+
+\f
+EXTERN CDRCHN
+
+CRFSTI:        LSH DAT,30
+       MOVEM DAT,CRTEM ;SAVE AS LEFT 12 BITS
+       JSP TAC,CREXI1  ;GET ANOTHER COLUMN
+       LSH DAT,14
+       IORM DAT,CRTEM  ;THROW IN MIDDLE 12 BITS
+       JSP TAC,CREXI1  ;ANOTHER COLUMN
+       IORB DAT,CRTEM  ;RIGHT 12. SAVE IN CRTEM FOR DEBUG
+CRBIN2:        PUSHJ PDP,CRSTOD        ;ENTRY HERE FROM BIN CARDS
+       MOVEI TAC,CRFSTI        ;ANOTHER 3 COLUMNS COME NEXT
+CREXI1:        HRRM TAC,CRDIS  ;WHERE TO GO FOR NEXT COLUMN
+       JRST CREXIT     ;RETURN FROM INTERRUPT
+
+CDREOC:        CONSO CDR,CREOFF
+       TLNE IOS,IOEND  ;END OF FILE?
+       JRST CREOF      ;YES. SHUT OFF CDR
+       TLNN IOS,CRMIMG+CRMBIN  ;IMAGE OR BIN?
+       JRST CRENDA     ;ASCII
+       TLNN IOS,CRMIMG ;IMAGE?
+       JRST CRENDB     ;BINARY.
+       MOVE DAT,CRTEM  ;HERE ON EOC AND IMAGE
+       PUSHJ PDP,CRSTOD        ;STORE LAST 2 COLUMNS IN BUFFER
+CRENDB:        PUSHJ PDP,CRADV1        ;ADVANCE BUFFER
+CRENDC:        MOVEI TAC,CDRCHN        ;PI CHANNEL
+       CONO CDR,CRCONO(TAC)    ;GO FOR NEXT CARD
+       JRST CRLST1     ;SET UP FOR NEXT CARD,DISMISS INTERRUPT,
+                       ;ALSO WAKE UP JOB IF IN IOW
+
+CRFSTB:        MOVEI TAC,-5(DAT)
+       TRNE TAC,17     ;ROWS 6-9=5?
+       TRO IOS,IOIMPM  ;NO. NOT A BIN CARD
+       LSH DAT,-4      ;GET COLUMNS 1-5
+       JUMPE DAT,CRIGNOR       ;IGNORE BINARY CARDS WITH 0 WORD COUNT
+       MOVEM DAT,CRTEM ;SAVE AS WORD COUNT
+       JSP TAC,CREXI1  ;GET COLUMN 2
+       HRL DAT,CRTEM   ;(COUNT)CKSUM
+       MOVSS DAT       ;(CKSUM)COUNT
+       JRST CRBIN2     ;STORE DAT AND GET REST OF CARD
+
+\f
+EXTERN STOSQD,STODAT,ADVBFF
+
+CRENDA:        TLZE IOS,IOBEG  ;WAS THIS A 029 CONTROL CARD?
+       JRST CRCONT     ;YES. NO CRLF.
+       MOVEI DAT,15    ;CARRIAGE RETURN
+       PUSHJ PDP,CRSTOD        ;STORE
+       MOVEI DAT,12    ;LINE FEED
+       PUSHJ PDP,CRSTOD        ;STORE
+       LDB TAC1,PIOMOD ;GET MODE
+       CAIN TAC1,AL            ;ASCII LINE?
+       JRST CRENDC             ;YES -WORD COUNT WILL HAVE BEEN COMPUTED & BUFFERS ADVANCED
+       CAIL ITEM,^D82  ;ROOM FOR ANOTHER CARD + CRLF?
+       JRST CRCONT     ;YES. DO SO
+       PUSHJ PDP,STOSQD        ;NO. STORE WORD COUNT
+       JRST CROFF      ;CAN'T RETURN HERE, BUT ...
+       JRST CRENDB     ;PROCEED TO ANOTHER BUFFER
+
+CREOF1:        TLO IOS,IOEND   ;HERE ON EOF CARD. MARK FOR EOC
+CRIGNOR:       JSP TAC,CREXI1  ;GET MORE COLUMNS
+       JRST .-1        ;AND IGNORE THEM.
+
+CRSTOD:        PUSHJ PDP,STODAT        ;STORE DAT IN BUFFER
+       JRST CRPOFF     ;ADDRESS CHECK,IOBKTL,IODTER (CKSUM)
+       JRST CRADV      ;BUFFER FULL OR BUFFER DONE
+       POPJ PDP,0      ;SIMPLE OK STORED RETURN
+
+CRADV: TLNE IOS,CRMBIN ;BINARY?
+       JRST CRIGNOR    ;WAIT FOR END OF CARD
+CRADV1:        TLNE IOS,IOFST  ;VIRGIN BUFFER?
+       POPJ PDP,0      ;YES. KEEP THIS ONE
+       PUSHJ PDP,ADVBFF        ;ADVANCE TO ANOTHER BUFFER
+       SKIPA   ;NO BUFFER AVAILABLE
+       POPJ PDP,0      ;OK. RETURN
+CRPOFF:        POP PDP,TAC
+       JRST CROFF
+
+\f
+;CODE CONVERSION FOR THE 029 KEYPUNCH
+
+;THE FOLLOWING EQUIVALENCES ARE ARTIFICIALLY DEFINED
+
+;029 KEYTOP    ;ASCII 35       ;ASCII 37
+;CENT          [               [
+;0-8-2         ]               ]
+;VERT BAR      ^               HAT = L.C. VERT BAR
+;UNDERBAR      _               UNDERBAR
+;NEGATION      \               TILDE = L.C. NEGATION
+
+       ;CHARACTERS     ;ZONE/DIGITS
+CRCNV: ASCII / 123/    ;N/N-3
+       ASCII .0/ST.    ;0/N-3
+       ASCII /-JKL/    ;11/N-3
+       ASCII /HI[./    ;12,8/N-3
+       ASCII /&ABC/    ;12/N-3
+       ASCII /QR!$/    ;11,8/N-3
+       ASCII /YZ],/    ;0,8/N-3
+       ASCII /89:#/    ;8/N-3
+       ASCII /4567/    ;N/4-7
+       ASCII /UVWX/    ;0/4-7
+       ASCII /MNOP/    ;11/4-7
+       ASCII /<(+^/    ;12,8/4-7
+       ASCII /DEFG/    ;12/4-7
+       ASCII /*);\/    ;11,8/4-7
+       ASCII /%_>?/    ;0,8/4-7
+       ASCII /@'="/    ;8/4-7
+
+;CODE FOR THE 026 KEYPUNCH A LA H HYMAN
+
+       ASCII / 123/    ;N/N-3
+       ASCII .0/ST.    ;0/N-3
+       ASCII /-JKL/    ;11/N-3
+       ASCII /HI?./    ;12,8/N-3
+       ASCII /+ABC/    ;12/N-3
+       ASCII /QR:$/    ;11,8/N-3
+       ASCII /YZ;,/    ;0,8/N-3
+       ASCII /89_=/    ;8/N-3
+       ASCII /4567/    ;N/4-7
+       ASCII /UVWX/    ;0/4-7
+       ASCII /MNOP/    ;11/4-7
+       ASCII /)]<!/    ;12,8/4-7
+       ASCII /DEFG/    ;12/4-7
+       ASCII /*[>&/    ;11,8/4-7
+       ASCII /("#%/    ;0,8/4-7
+       ASCII /@^'\/    ;8/4-7
+
+
+       END
+\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\ No newline at end of file
diff --git a/src/cdrsrx.mac b/src/cdrsrx.mac
new file mode 100644 (file)
index 0000000..76b2c5e
Binary files /dev/null and b/src/cdrsrx.mac differ
index 1412f7f..963ddd4 100644 (file)
@@ -31,8 +31,7 @@ NXTINI:       MOVSI TAC,-NQUEUE       ;NO. OF QUEUES
        POPJ PDP,               ;MAY CHOOSE TO SET REQUEST TO MORE\r
                                ;NEG. VALUE IF MORE THEN ON JOB CAN\r
                                ;USE DEVICE AT ONCE\r
-\f\r
-INTERNAL NXTJOB\r
+\fINTERNAL NXTJOB\r
 INTERNAL FTTRPSET,FTDISK\r
 EXTERNAL JOB,TIMEF,JBTSTS,JOBMAX,JOBN,PJBSTS,CPOPJ,CHKSHF\r
 ENTRY XCKCSS\r
@@ -75,8 +74,7 @@ NXT5: CAIL ITEM,JOBN          ;GREATER THEN HIGHEST JOB NO.?
        JRST NXT8               ;YES, IT IS RUNABLE AND IS IN THIS QUEUE\r
 NXT6:  SOJLE C,NXT3            ;NO IT IS NOT, SCANNED ALL JOBS YET?\r
        AOJA ITEM,NXT5          ;NO, LOOK AT NEXT JOB\r
-\f\r
-;HERE IF NO JOBS FOUND TO RUN(Q=-1)\r
+\f;HERE IF NO JOBS FOUND TO RUN(Q=-1)\r
 \r
 NXT7:  MOVEI C,JOBN            ;SCAN ALL JOBS INCLUDING POSSIBLY NULL JOB\r
        MOVE ITEM,JOB           ;STARTING WITH LAST JOB TO RUN\r
@@ -106,8 +104,8 @@ IFN FTTRPSET,<
        MOVE T,QUANTS(Q)        ;SET QUANTUM RUNNING TIME FOR QUEUE\r
        HRRM T,JBTSTS(ITEM)     ;WHICH JOB HAS JUST LEFT\r
        POPJ    PDP,            ;RETURN\r
-\f\r
-INTERNAL FTCHECK,FTMONP\r
+\r
+\fINTERNAL FTCHECK,FTMONP\r
 \r
 IFN FTCHECK+FTMONP,<\r
 EXTERNAL JOBP,AVALTB,REQTAB,QUANTS\r
@@ -151,10 +149,9 @@ DEFINE X(A)
        A'Q=LOC\r
        LOC=LOC+1\r
 >\r
-\f\r
+\r
        CODES\r
-\f\r
-IFE FTCHECK+FTMONP,<\r
+\fIFE FTCHECK+FTMONP,<\r
 ;LAST JOB SCHEDULED FOR EACH QUEUE\r
 \r
 JOBP:   REPEAT NQUEUE,<                EXP 1>\r
@@ -171,13 +168,14 @@ DEFINE X(A,B)
 INTERNAL REQTAB\r
 \r
 REQTAB: QUEUES\r
-\f\r
-;QUANTUM RUNNING TIME FOR EACH QUEUE IN JIFFIES(CLOCK TICKS)\r
+\r
+\f;QUANTUM RUNNING TIME FOR EACH QUEUE IN JIFFIES(CLOCK TICKS)\r
 \r
 DEFINE X(A,B)\r
 <      A'QUNT: EXP 2\r
        INTERNAL A'QUNT\r
 >\r
+\r
 QUANTS:        QUEUES\r
 >\r
        END,\r
index eff0f89..7c7bcdf 100644 (file)
@@ -11,6 +11,7 @@ CLOCK1:
 ;FOR SCHEDULING JOBS AND ERROR HANDLING THAT THE USER\r
 ;IS NOT ENABLED TO HANDLE HIMSELF\r
 \r
+\r
 EXTERNAL TIME,TIMEF,CLKFLG,REQCLK,APRCHL,APRPC,UPTIME\r
 EXTERNAL JOBDAT,JOBTPC,JOBCNI,JOBAPR,APRERR,SCHEDF\r
 \r
@@ -20,6 +21,7 @@ EXTERNAL RELEA9,CRSHWD,CRASHX
 INTERNAL       FTTTYSER        ;THIS ROUTINE MAY BE ASSEMBLED TO WORD  EITHER\r
                                ; THE OLD SCNSER OR THE NEW TTYSER.\r
 \r
+\r
 INTERNAL FTCHECK,FTMONP\r
 \r
 IFN FTCHECK+FTMONP,<\r
@@ -36,8 +38,7 @@ DAMESS: ASCIZ /-JAN-/
 \r
 CLOCK: POINT 36,CIPWTM,35      ;BYTE POINTER TO CLOCK REQ QUEUE\r
 >\r
-\f\r
-       INTERN APRINT\r
+\f      INTERN APRINT\r
 \r
 APRINT:        JRST APRPAR             ;ALWAYS CHECK APR AND PI DEVICES\r
        JRST .                  ;CHECK OTHER DEVICES\r
@@ -76,8 +77,7 @@ APRER1:       CONO APR,1000+APRCHN    ;NOW CLEAR CLOCK FLAG
        TLNE TAC,USRMOD         ;IS PC FROM USER MODE?\r
        JRST APRER4             ;YES, GO TRAP TO HIM\r
        JRST APRER2             ;NO. GO CHECK IN CASE ALSO A SERIOUS ERROR\r
-\f\r
-;OTHER APR INTERRUPTS BESIDES CLOCK\r
+\f;OTHER APR INTERRUPTS BESIDES CLOCK\r
 \r
 APRER: EXCH TAC,APRCHL         ;SAVE TAC, GET PC\r
        TLNE TAC,USRMOD         ;IS PC IN USER MODE?\r
@@ -103,8 +103,7 @@ APRER3:     TLZ     TAC,440000      ;CLEAR FOV (PC CHANGE ON PDP-6) AND AR OVF FLAGS
        CONO APR,430110+APRCHN  ;CLEAR ALL ERROR FLAGS WHICH CAN CAUSE INTERRUPTS\r
                                ; EXCEPT CLOCK FLAG(ELSE LOSE TIME OF DAY)\r
        JEN @APRCHL             ;DISMISS INTERRUPT\r
-\f\r
-APRER2: CONSO  APR,NXM!ILM!POV! ;DOES EXEC CARE?\r
+\fAPRER2: CONSO APR,NXM!ILM!POV! ;DOES EXEC CARE?\r
        JRST    APRER3          ;NO. IGNORE EXEC OVERFLOW (MUST BE FOV OR AROVF\r
        MOVEM   TAC,APRPC       ;STORE ERROR PC FOR CLK CHANNEL\r
        CONI APR,APRERR         ;STORE ERROR FLAGS\r
@@ -123,8 +122,7 @@ IFN FTHALT,<
 >\r
        JRST    APRER3          ;NO,MUST BE UUO LEVEL(OR USER MODE AND\r
                                ; MEMORY DROPPED OUT)\r
-\f\r
-SUBTTL CLOCK - LOW PRIORITY CLOCK SERVICE(CLK)\r
+\fSUBTTL        CLOCK - LOW PRIORITY CLOCK SERVICE(CLK)\r
 \r
 ;THIS ROUTINE RUNS ON THE LOWEST PRIORITY PI CHANNEL AND AT UUO LEVEL\r
 ;TO CAUSE AN INTERRUPT ON CLK CHANNEL:\r
@@ -241,9 +239,8 @@ CLKERR:     SKIPN 17,JOBDAT         ;CURRENT JOB DATA AREA, IS THERE ONE?
        SKIPE TAC,APRERR        ;IT THIS AN ERROR INTERRUPT?\r
        PUSHJ PDP,APRILM        ;YES, GO PROCESS ERROR, APRILM WILL CLEAR APRERR\r
                                ; FLAG IMMEDIATELY\r
-\f\r
-EXTERNAL COMCNT,NXTJOB,HNGTIM,POTLST,LSTWRD\r
-EXTERNAL TIMEF,APRERR,CLKFLG,SCHEDF,JDB,PMONTB\r
+\fEXTERNAL COMCNT,NXTJOB,HNGTIM,POTLST,LSTWRD\r
+EXTERNAL TIMEF,APRERR,CLKFLG,SCHEDF,JOB,PMONTB\r
 \r
 RSCHED:        SKIPN TIMEF     ;HAS CLOCK GONE OFF SINCE LAST CALL?\r
        JRST CIP6       ;NO, JUST RESCHEDULE\r
@@ -286,8 +283,7 @@ CIP3:       SETZB IOS,TIME          ;YES, RESET TIME OF DAY
        LDB TAC,PMONTB\r
        CAMGE TAC,TAC1          ;END OF MONTH?\r
        JRST CIP3               ;YES.\r
-\f\r
-;PROCESS TIMING REQUESTS STORED IN QUEUE\r
+\f;PROCESS TIMING REQUESTS STORED IN QUEUE\r
 \r
 CIP2:  HRRZ STOR,CLOCK         ;GET END OF LIST\r
 CIP4:  CAIN STOR,CIPWTM1       ;END YET?\r
@@ -318,8 +314,7 @@ CIP6:       PUSHJ PDP,NXTJOB        ;CALL SCHEDULER
        SETZM SCHEDF            ;CLEAR FORCED SCHEDULING FLAG\r
        CAMN ITEM,JOB           ;IS NEXT JOB SAME AS LAST ONE?\r
        JRST CIP8               ;YES, JUST RESTORE ACS AND DISMISS\r
-\f\r
-;DIFFERENT JOB. SAVE SOFTWARE STATE(HARDWARE ALREADY SAVED)\r
+\f;DIFFERENT JOB. SAVE SOFTWARE STATE(HARDWARE ALREADY SAVED)\r
 \r
 EXTERNAL JOB,JOBDAT,JOBPRT,USRPRT,USRHCU,JOBJDA\r
 \r
@@ -336,8 +331,7 @@ EXTERNAL JOB,JOBDAT,JOBPRT,USRPRT,USRHCU,JOBJDA
                                ; CHANNEL LOCATIONS (JOBJDA+1..,JOBJDA+17),\r
        ADD JA,T1               ;RELOCATE TO USER AREA\r
        BLT T,JOBJDA(JA)        ; STOP WITH USER CHANNEL 0-1+C(USRHCU)\r
-\f\r
-;RESTORE SOFTWARE STATE OF NEW JOB,THEN HARDWARE STATE\r
+\f;RESTORE SOFTWARE STATE OF NEW JOB,THEN HARDWARE STATE\r
 \r
 INTERNAL NULJOB,NULADR\r
 EXTERNAL JOB,JBTDAT,JOBDAT,USRPRT,JOBPRT\r
@@ -391,7 +385,6 @@ IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK
        HALT .+1\r
 >\r
        SETZB 0,NULERR  ;CLEAR AC 0 USED FOR USUAL MONITORING\r
-\f\r
                                ; CLEAR FLAG SAYING ERROR IN NULL JOB\r
                                ; OF NULL TIME INTERVAL\r
                                ; LOC JOBDAT (LOCATION OF NULL JOB DATA AREA) TO 0\r
@@ -402,8 +395,7 @@ IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK
                                ; CATCH THEM NEXT CLK INTERRUPT\r
        MOVE 1,[AOJA 0,1]       ;INSTR. TO AC1\r
        JRST 11,1               ;DISMISS IF INTERUPT IN PROGRESS.\r
-\f\r
-;ROUTINE TO SET HARDWARE AND SOFTWARE RELOCATION INFORMATION FOR CURRENT USER\r
+\f;ROUTINE TO SET HARDWARE AND SOFTWARE RELOCATION INFORMATION FOR CURRENT USER\r
 ;CALLED FROM:\r
 ;      CLOCK ROUTINE WHEN NEW USER IS DIRRERENT FROM OLD USER\r
 ;      CORE ROUTINE WHEN CORE REASSIGNED FOR CURRENT USER\r
@@ -453,8 +445,7 @@ IFE FT2REL,<
                                ; OPTION DOES NOT COME WITH PANEL LIGHTS\r
                                ; SO NOT STORE 0 FOR NULL JOB SO CAN SEE\r
                                ; LAST JOB TO RUN IN LOC 33\r
-\f\r
-SETHRD:        DATAO APR,PROG          ;SET APR HARDWARE FOR RELOCATION AND PROTECTION\r
+\fSETHRD:       DATAO APR,PROG          ;SET APR HARDWARE FOR RELOCATION AND PROTECTION\r
                                ; FOR LOW(AND HIGH SEGS)\r
        SKIPN PROG,JOBADR       ;RESTORE PROG TO XWD PROT,RELOC FOR JUST LOW SEG\r
                                ; (IS THERE ONE)?\r
@@ -492,8 +483,7 @@ SETAPR: ANDI TAC,231010+APRFOV              ;MASK OUT ALL BUT PD OVF, ILL MEM, NXM,
                                ; FOV(PDP-10 ONLY) AND AR OVF SEPARATELY\r
        CONO PI,PION            ;ENABLE PI'S AGAIN\r
        POPJ PDP,\r
-\f\r
-SUBTTL RUNCSS - RUN CONTROL(STATRING AND STOPPING OF JOBS)\r
+\fSUBTTL        RUNCSS - RUN CONTROL(STATRING AND STOPPING OF JOBS)\r
 \r
 ;RUN CONTROL IS A COLLECTION OF ROUTINES WHICH\r
 ;SET AND CLEAR BITS IN THE JOB STATUS WORDS OF\r
@@ -531,8 +521,7 @@ EXTERN PRJPRG
        SOJG    TAC,-1          ;NO,KEEP LOOKING,FINISHED(TRUE IF THIS THE ONLY JOB\r
        MOVEM   TAC,HIGHJB      ;YES,STORE NEW HIGHEST JOB NUMBER ASSIGNED\r
        JRST    ESTOP           ;GO SET ERROR BIT\r
-\f\r
-;ROUTINE TO STOP JOB, SET ERROR BIT AND PRINT MESSAGE\r
+\f;ROUTINE TO STOP JOB, SET ERROR BIT AND PRINT MESSAGE\r
 ;THEM ADD ^TC<CRLF><CRLF><PERIOD>\r
 ;CALL: MOVEI TAC,ADR. OF MESSAGE\r
 ;      PUSHJ PDP,PHOLD\r
@@ -574,10 +563,8 @@ ESTOP1: MOVSI TAC,JERR             ;SSET ERROR BIT IN JOB STATUS WORD
        MOVSI TAC,637163        ;FIND SYS DDB\r
        PUSHJ PDP,DEVSRC        ;SYSTEM ERROR IF NOT FOUND\r
        JSP DAT,ERROR\r
-\r
        PUSHJ PDP,RELEA9        ;YES, RELEASE SYSTEM TAPE WITHOUT WAITING\r
-\f\r
-;ROUTINE TO STOP NY JOB FROM BEING SCHEDULED\r
+\f;ROUTINE TO STOP NY JOB FROM BEING SCHEDULED\r
 ;CALL:\r
 ;      MOVE ITEM, JOB NUMBER\r
 ;      PUSHJ PDP, STOP1\r
@@ -618,8 +605,7 @@ IFN FTSWAP,<
        JRST    STOP2           ;NO\r
        SETOM   SCHEDF          ;YES, FORCE RESCHEDULING EVEN IF JOB IN EXEC MODE\r
        JRST STOP2              ;YES, MAKE CLK RESCHEDULE ANOTHER JOB\r
-\f\r
-;ROUTINE TO REQUE JOB WHICH HAS HAD A COMMAND TYPED\r
+\f;ROUTINE TO REQUE JOB WHICH HAS HAD A COMMAND TYPED\r
 ;WHICH NEEDS CORE AND THE CORE IMAGE IS ON THE DISK.\r
 ;OR IS IN CORE AND HAS ACTIVE DEVICES.\r
 ;CALLED FROM COMMAND DECODER\r
@@ -638,7 +624,6 @@ INTERNAL FTSWAP
 IFN FTSWAP,<\r
        TLNN    TAC,CMWB\r
        PUSHJ   PDP,REQUE\r
-\r
 >\r
                POPJ PDP,\r
 \r
@@ -648,12 +633,11 @@ INTERNAL FTSWAP
 IFN FTSWAP,<INTERNAL NOCORQ\r
        EXTERNAL NULQ\r
 \r
-NOCORQ:        MOVEI TAC,NUL1          ;NO JOB NO. OR NO CORE QUEUE\r
+NOCORQ:        MOVEI TAC,NULQ          ;NO JOB NO. OR NO CORE QUEUE\r
        DPB TAC,PJBSTS\r
        JRST REQUE\r
 >\r
-\f\r
-;ROUTINE TO SETUP MONITOR JOB TO RUN LATER AT UUO LEVEL\r
+\f;ROUTINE TO SETUP MONITOR JOB TO RUN LATER AT UUO LEVEL\r
 ;CALLED BY COMMANDS WHICH MAY OR MAY NOT NEED TO\r
 ;RUN MONITOR JOB DEPENDING ON WHETHER JOB HAS CORE(KJOB,IJOB)\r
 ;TTY WILL REMAIN IN MONITOR MODE\r
@@ -690,8 +674,7 @@ IFN JDAT-PROG,<
        PUSH PDP,TAC1           ;SAVE STOP ADDRESS\r
        JRST (TAC)              ;RETURN AND DO MONITOR JOB\r
                                ; WITH TT DDB,OUTPUT BYTE POINTER, AND JOB NO.\r
-\f\r
-;ROUTINE TO SET JOB STATE TO BE SCHEDULED TO RUN\r
+\f;ROUTINE TO SET JOB STATE TO BE SCHEDULED TO RUN\r
 ;WITH SPECIFIED STARTING ADDRESS INCLUDING PC FLAGS\r
 ;CALLED ONLY WHEN JOB IN CORE AND AFTER JOB HAS BEEN\r
 ;SAFELY STOPPED IN ONE OF 3 STATES:\r
@@ -794,7 +777,7 @@ SETSLP:     MOVSI TAC,CLKR          ;FLAG THAT A CLOCK REQUEST HAS BEEN PUT IN
 \r
 INTERNAL WAKE\r
 \r
-EXTERNAL PJSTS,RNQ,SLPQ\r
+EXTERNAL PJBSTS,RNQ,SLPQ\r
 \r
 WAKE:  MOVEI TAC1,RNQ          ;RUN QUEUE CODE\r
        MOVE ITEM,TAC           ;JOB NO.\r
@@ -807,8 +790,7 @@ WAKE:       MOVEI TAC1,RNQ          ;RUN QUEUE CODE
                                ; (CONTROL C, START CAN GET JOB OUT SLEEP)\r
        JRST SETR2\r
 >\r
-\f\r
-;ROUTINE TO GET DATA CONTROL AND ANOTHER SHARABLE DEVICE\r
+\f;ROUTINE TO GET DATA CONTROL AND ANOTHER SHARABLE DEVICE\r
 ;JOB NEVER GETS ONE DEVICE AND WAITS FOR SECOND, SINCE TYPING\r
 ;CONTROL C WOULD NEVER FINISH WITH FIRST DEVICE\r
 ;CALL  PUSHJ PDP,GETDCXX\r
@@ -836,8 +818,7 @@ GETWT:      PUSHJ PDP,DVWAT1        ;NOT AVAIL., GO WAIT FOR IT
        SOSL DCREQ              ;NO, REDUCE DATA CONTROL REQUEST\r
        SETOM DCAVAL            ;SET AVAIL., SOME OTHER JOB WAITING FOR IT\r
        JRST GETWT              ;TRY AGAIN\r
-\f\r
-;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
+\f;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
 ;CALLED AT UUO LEVEL ONLY BY DEVICE SERVICE ROUTINES\r
 ;CALL: AOSLE XXREQ             ;ADD 1 TO SHARABLE DEVICE REQUEST COUNT\r
 ;                              ;IS DEVICE AVAILABLE?\r
@@ -869,8 +850,7 @@ SETSTT:     MOVE AC3,JOB            ;CURRENT JOB NO.
 \r
 PJBS1: POINT JWSIZ,JBTSTS(AC3),JWPOS   ;BYTE POINTER TO JOB STATUS\r
                                ; WORD WAIT QUEUE CODE\r
-\f\r
-;ROUTINE TO SET JOB TO RUN AFTER IT HAS BEEN STOPPED\r
+\f;ROUTINE TO SET JOB TO RUN AFTER IT HAS BEEN STOPPED\r
 ;BECAUSE IT HAD TO WAIT FOR IO TO COMPLETE FOR SOME DEVICE\r
 ;EACH SERVICE ROUTINE WILL AT INTERRUPT LEVEL\r
 ;CHECK EACH TIME IT FINISHED A TASK(RUNFFERFUL)\r
@@ -903,7 +883,6 @@ SETIO1:     LDB TAC,PJOBN
 INTERNAL FTSWAP\r
 IFN FTSWAP,<\r
        EXTERN QJOB,JBTSTS\r
-       MOVSI QJOB,JBTSTS\r
        MOVSI TAC1,JRQ          ;SET JOB TO BE REQUEUED AT NEXT CLOCK TICK\r
        TDNN TAC1,JBTSTS(TAC)   ;IS REQUE BIT ALREADY ON?\r
        AOS QJOB                ;NO, INCREMENT COUNT ONCE FOR EACH JOB\r
@@ -911,8 +890,7 @@ IFN FTSWAP,<
 >\r
 NULTST:        SKIPE JOB               ;IS NULL JOB RUNNING?\r
        POPJ PDP,               ;NO LET OTHER JOB RUN TILL SCHEDULER IS TRAPPED TO\r
-\f\r
-;ROUTINE TO CAUSE CLK TO ROUTINE TO RESCHEDULE\r
+\f;ROUTINE TO CAUSE CLK TO ROUTINE TO RESCHEDULE\r
 ;CALLED AT ANY LEVEL\r
 ;CALL: PUSHJ PDP,STOP2\r
 ;      RETURN IMMEDIATELY EXCEPT IF AT UUO LEVEL\r
@@ -927,8 +905,7 @@ STOP2:      CONO PI,PIOFF   ;PREVENT CLOCK INTERRUPT DURING STOP2 CODE
        CONO PI,PICLK   ;TURN PI BACK ON AND REQUESST INTERRUPT TO\r
                        ; CLK PI CHANNEL(LOWEST PRIORITY CHANNEL)\r
        POPJ PDP,       ;INTERRUPT IMMEDIATELY IF AT UUO LEVEL\r
-\f\r
-;ROUTINE TO WAIT TILL DEVICE CATCHES UP WITH USER AND BECOMES INCTIVE\r
+\f;ROUTINE TO WAIT TILL DEVICE CATCHES UP WITH USER AND BECOMES INCTIVE\r
 ,CALLING SEQUENCE\r
 ,      PUSHJ PDP, WAIT1\r
 ,      EXIT        ALWAYS RETURN HERE\r
@@ -950,8 +927,7 @@ WAIT1:      MOVE IOS,DEVIOS(DEVDAT)
        POPJ PDP,               ;RETURN\r
        PUSHJ PDP,WSYNC         ;WAIT\r
        JRST WAIT1\r
-\f\r
-;WSYNC IS CALLED TO WAIT UNTIL SETIOD IS CALLED BY INTERRUPT SERVICE ROUTINE\r
+\f;WSYNC IS CALLED TO WAIT UNTIL SETIOD IS CALLED BY INTERRUPT SERVICE ROUTINE\r
 ;IE  UNTIL CURRENT BUFFER ACTIVITY IS COMPLETE\r
 ;CALLED ONLY FROM UUO LEVEL\r
 ;CALL: MOVE DEVDAT,ADR. OF DEVICE DATA BLOCK\r
diff --git a/src/cmb50.ccl b/src/cmb50.ccl
new file mode 100644 (file)
index 0000000..5ff6a72
--- /dev/null
@@ -0,0 +1,8 @@
+A.RLX_CDRSR6.REL,CDRSRX.REL,CLKCSS.REL,CLOCK1.REL,COMCON.REL,CORE1.REL
+B.RLX_DCSINT.REL,DIS340.REL,DIST30.REL,DLSINT.REL,DPDINT.REL,DSKINT.REL
+C.RLX_DSKSER.REL,DTASRN.REL,DTCSRN.REL,ERRCON.REL,JOBDAT.REL,LPTSER.REL
+D.RLX_MTASRX.REL,MTCSR6.REL,NULSEG.REL,SEGCON.REL,PLTSER.REL,PTPSER.REL
+E.RLX_PTRSER.REL,PTYSRF.REL,PTYSRH.REL,SCHEDB.REL,SCNSRF.REL,UUOCON.REL
+F.RLX_PATCH.REL,SYSINI.REL,SYSMAK.REL,EDDT.REL,ONCEB.REL
+SYS50.REL/B_A.RLX,B.RLX,C.RLX,D.RLX,E.RLX,F.RLX
+DSK:/D_*.RLX
diff --git a/src/cmb50n.ccl b/src/cmb50n.ccl
new file mode 100644 (file)
index 0000000..3b51e94
--- /dev/null
@@ -0,0 +1,8 @@
+A.RLX_CDRSR6.REL,CDRSRX.REL,CLKCSS.REL,CLOCK1.REL,COMCON.REL,CORE1.REL
+B.RLX_DCSINT.REL,DIS340.REL,DIST30.REL,DLSINT.REL,DPDINT.REL,DSKINT.REL
+C.RLX_DSKSER.REL,DTASRN.REL,DTCSRN.REL,ERRCON.REL,JOBDAT.REL,LPTSER.REL
+D.RLX_MTASRX.REL,MTCSR6.REL,NULSEG.REL,PLTSER.REL,PTPSER.REL
+E.RLX_PTRSER.REL,PTYSRF.REL,PTYSRH.REL,SCHEDB.REL,SCNSRF.REL,UUOCON.REL
+F.RLX_PATCH.REL,SYSINI.REL,SYSMAK.REL,EDDT.REL,ONCEB.REL
+SYS50.REL/B_A.RLX,B.RLX,C.RLX,D.RLX,E.RLX,F.RLX
+DSK:/D_*.RLX
index 050b588..464d953 100644 (file)
@@ -37,8 +37,7 @@ COMCON:
 ;IF A COMMAND FUNCTION CANNOT DO THIS, IT MUST JUST SET\r
 ;THE JOB TO RUNABLE STATUS AND RETURN IMMEDIATELY\r
 ;OR DELAY THE COMMAND FOR LATER EXECUTION\r
-\f\r
-INTERNAL COMMAND\r
+\fINTERNAL COMMAND\r
 INTERNAL FTLOGIN,FTSWAP,FTTIME\r
 EXTERNAL COMCNT,TTYCOM,JBTSTS,JOBMAX,JBTDAT,JBTADR,JOBHCU\r
 EXTERNAL CONFIG,HIGHJB\r
@@ -79,8 +78,7 @@ COMLP:        MOVE T2,COMTAB(T)       ;GET NEXT ENTRY FROM COMMAND TABLE
 COMNEQ:        AOBJN T,COMLP           ;NO, KEEP LOOKING\r
        CAIN T4,1               ;DID ONE AND ONLY ONE COMMAND MATCH?\r
        MOVE T,T3               ;YES, GET ITS INDEX\r
-\f\r
-COMFND:        MOVE TAC1,DISP(T)       ;GET DISPATCH TABLE ENTRY,\r
+\fCOMFND:       MOVE TAC1,DISP(T)       ;GET DISPATCH TABLE ENTRY,\r
        PUSH PDP,TAC1           ;SAVE RH(DISPATCH ADR,+BITS)\r
        MOVE T,JBTSTS(ITEM)     ;JOB STATUS WORD FOR THIS JOB\r
 IFN FTLOGIN,<\r
@@ -120,8 +118,7 @@ IFN FTKCT,<
 >\r
        CAMLE ITEM,HIGHJB       ;HIGHEST JOB NUMBER ASSIGNED?\r
        MOVEM ITEM,HIGHJB       ;YES,SAVE IT FOR SCHEDULER SCAN OF JOBS\r
-\f\r
-CHKRUN:        TLNE    T,RUN           ;RUN BIT ON IN JOB STATUS?\r
+\fCHKRUN:       TLNE    T,RUN           ;RUN BIT ON IN JOB STATUS?\r
        TLNN    TAC1,NORUN      ;YES, DOES THIS COMMAND REQUIRE A JOB?\r
        JRST    CHKACT          ;NO\r
        JSP     TAC,COMER       ;YES.\r
@@ -150,6 +147,7 @@ IFN FTSWAP,<
        TLNN TAC1,INCOR         ;IS THIS TRUE?\r
 CHKDLY:        HRRI TAC1,DLYCM1        ;NO, JUST DELAY COMMAND UNTIL SWAP OUT OR IN IS FINISHED\r
        JRST COMDIS             ;AND DISPATCH TO DELAY COMMAND\r
+>\r
 CHKCO2:        TLNE TAC1,NOACT         ;CAN COMMAND BE PERFORMED WITH ACTIVE DEVICES?\r
        PUSHJ PDP,RUNCHK        ;NO, RETURN IF JOB STOPPED AND NO ACTIVE DEVICES\r
 CHKCO1:        TLNE TAC1,NOCORE        ;DOES THIS COMMAND NEED CORE?\r
@@ -158,8 +156,7 @@ CHKCO1:     TLNE TAC1,NOCORE        ;DOES THIS COMMAND NEED CORE?
        JSP TAC,COMER           ;NO, PRINT "NO CORE ASSIGNED"\r
        ASCIZ /NO CORE ASSIGNED\r
 /\r
-\f\r
-CHKXPN:        TLNN TAC1,PLSXPN        ;DOES THIS COMMAND NEED CORE TO BE EXPANDED?\r
+\fCHKXPN:       TLNN TAC1,PLSXPN        ;DOES THIS COMMAND NEED CORE TO BE EXPANDED?\r
        JRST COMGO              ;NO\r
        HLRE IOS,JOBHCU(JDAT)   ;YES, IS CORE STILL COMPRESSED(SAVE DID NOT GO\r
                                ; TO COMPLETION)\r
@@ -189,8 +186,7 @@ COMGO:      MOVSI   IOS,CMWRQ
 \r
 COMDIS:        MOVEI IOS,0             ;CLEAR IOS FOR SETTING DISPATCH ADDRESSES\r
        PUSHJ PDP,(TAC1)        ;DISPATCH TO COMMAND SETUP ROUTINE.\r
-\f\r
-;RETURN FROM COMMAND SETUP ROUTINE\r
+\f;RETURN FROM COMMAND SETUP ROUTINE\r
 \r
 COMRET:        POP PDP,T1              ;RESTORE COMMAND FLAGS\r
        POP PDP,DEVDAT          ;RESTORE TTY DDB ADDRESS.\r
@@ -230,8 +226,7 @@ IFE FTLOGIN, <
        PUSHJ PDP,PRSPC\r
        PUSHJ   PDP,DAYTM1\r
 >\r
-\f\r
-PCRLF: TLNE T1,ERRFLG          ;DID AN ERROR OCCUR?\r
+\fPCRLF:        TLNE T1,ERRFLG          ;DID AN ERROR OCCUR?\r
        PUSHJ PDP,PRQM          ;YES. APPEND ?\r
        TLNN T1,NOCRLF          ;SUPRESS CRLF?\r
        PUSHJ PDP,CRLF          ;NO\r
@@ -266,8 +261,7 @@ SKPBR1:     PUSHJ   PDP,GETCHR
        JUMPN   TEM,SKPBR2      ;LOOK FURTHER FOR BREAK\r
        JRST    TPOPJ           ;UNLESS NO MORE CHARS\r
 >\r
-\f\r
-;TABLE OF CONSOLE COMMANDS\r
+\f;TABLE OF CONSOLE COMMANDS\r
 \r
 INTERNAL FTATTACH,FTTIME,FTTALK,FTEXAMINE,FTLOGIN,FTREASSIGN\r
 INTERNAL FTFINISH,FTCCL\r
@@ -309,8 +303,7 @@ NOMESS=10   ;NO COMMAND RESPONSE EVER, DO NOT CALL TTYSTR
                ;T TAKEN ABOVE BY 'PLSXPN' BIT\r
 \r
 ERRFLG=1       ;COMMAND ERROR\r
-\f\r
-DEFINE NAMES<\r
+\fDEFINE NAMES<\r
        C START,START,NOPER!TTYRNU!INCORE!NOACT!NORUN\r
        C HALT,STOP,NOCORE!NOJOBN!NOLOGIN!NOINCK!CMWRQ\r
        C KJOB,KJOB,NOCORE!NOJOBN!NOINCK!NOLOGIN!NOACT!NORUN!NOPER!NOCRLF!NOMESS!NOTRAN\r
@@ -382,23 +375,20 @@ IFN FTCCL,<
        C CTEST,CCLRUN,NOCORE!NOPER!TTYRNU!NOCRLF!INCORE!NOACT!NORUN\r
 >\r
 >\r
-\f\r
-;GENERATE TABLE OF SIXBIT COMMAND NAMES\r
+\f;GENERATE TABLE OF SIXBIT COMMAND NAMES\r
 \r
 DEFINE C(A,B,D) <\r
        <SIXBIT /A/>\r
 >\r
 COMTAB:        NAMES\r
 DISPL=.-COMTAB ;LENGTH OF TABLE\r
-\f\r
-;GENERATE THE DISPATCH TABLE PLUS SPECIAL BITS\r
+\f;GENERATE THE DISPATCH TABLE PLUS SPECIAL BITS\r
 \r
 DEFINE C(A,B,D) <\r
 Z      B       (D)\r
 >\r
 DISP:  NAMES\r
-\f\r
-;CALLED FROM COMMAND DECODER WHICH IS CALLED FROM CLOCK ROUTINE\r
+\f;CALLED FROM COMMAND DECODER WHICH IS CALLED FROM CLOCK ROUTINE\r
 ;WITH FOLLOWING AC'S SET:\r
 ;TAC= BYTE POINTER TO COMMAND STRING(SPACE OR CR AFTER COMMAND NAME)\r
 ;ITEM = JOB NUMBER\r
@@ -442,8 +432,7 @@ IFN FT2REL,<
        MOVEI TAC,0             ;RETURN BOTH PHYSICAL AND LOGICAL CORE\r
        SOS (PDP)               ;NEGATE SKIP RETURN WHICH CORE1 WILL DO\r
        JRST CORE1              ;GO DO IT AND RETURN TO CALLER\r
-\f\r
-; "PJOB" PRINT JOB NUMBER OF JOB TTY IS ATTACHED TO\r
+\f; "PJOB" PRINT JOB NUMBER OF JOB TTY IS ATTACHED TO\r
 \r
 INTERNAL PJOB,DECLF\r
 \r
@@ -478,7 +467,7 @@ IFE FTSWAP+FTLOGIN,<
        JUMPE PROG,DLYCM1       ;DELAY COMMAND IF CORE ASSIGNED ON DISK\r
        JSP TAC1,MONJOB         ;YES, SCHEDULE MONITOR JOB(PC IN EXEC MODE)\r
                                ;RETURN HERE AT UUO LEVEL WHEN SCHEDULED\r
-JOBKL: MOVEI TAC1,ESTOP        ;PUT ESTOP ON END OF PDL\r
+\fJOBKL:        MOVEI TAC1,ESTOP        ;PUT ESTOP ON END OF PDL\r
        JSP TAC,MONSTR          ;GO SETUP ACS AND PD LIST\r
        PUSHJ PDP,JOB1          ;FLUSH CORE AFTER RELEASING DEVICES\r
 JOBKA:\r
@@ -497,8 +486,7 @@ CERR:       JRST ERRMES
 \r
 JOBKB: SETZM   -1(PDP)         ;CLEAR NOJOBN SO COMRET WILL PRINT ERROR MSG.\r
        JRST    ATT4            ;"NOT A JOB"\r
-\f\r
-; "START L" OR "START" - START AT LOC, L OR STARTING ADDRESS\r
+\f; "START L" OR "START" - START AT LOC, L OR STARTING ADDRESS\r
 INTERNAL FT2REL\r
 EXTERNAL JOBSA\r
 \r
@@ -528,8 +516,7 @@ SNOARG: SKIPA TAC1,JOBSA(JDAT)      ;NO. ARG SPECIFIED, USE START ADR SUPPLIED
                        ; BY PROGRAM END STATEMENT AND STORED BY LINKING LOADER\r
                        ; SKIP INTO REENTER, START WITH PC IN USER MODE\r
 >\r
-\f\r
-;"REENTER"  - REENTER USER PROGRAM\r
+\f;"REENTER"  - REENTER USER PROGRAM\r
 \r
 EXTERNAL JOBREN\r
 \r
@@ -592,8 +579,7 @@ CONT:       MOVSI TAC1,JERR
 \r
        ASCIZ /CAN'T CONTINUE\r
 /\r
-\f\r
-; "CORE  #" - ASSIGNS #*1024 WORDS OF CORE TO JOB\r
+\f; "CORE  #" - ASSIGNS #*1024 WORDS OF CORE TO JOB\r
 ; "CORE" WITH NO ARG. WILL PRINT NO OF FREE BLOCKS LEFT\r
 ;      WITHOUT AFFECTING CURRENT ASSIGNMENT OF CORE\r
 ;      JOB NOT IN MIDDLE OF SWAPPING\r
@@ -625,8 +611,7 @@ COR1:       JUMPN PROG,COR0         ;GO RELEASE ALL DEVICES IF HE HAS CORE IN MEMORY YET
        JRST DLYCM              ;AND DELAY COMMAND TILL CORE IS IN MEMORY\r
                                ; DLYCM WILL SWAP IT IN.\r
 >\r
-\f\r
-COR2:  IFN FTTTYSERM,<\r
+\fCOR2: IFN FTTTYSERM,<\r
        MOVE DEVDAT,-2(PDP)     ;RESTORE TTY DDB ADR\r
 >\r
        PUSHJ PDP,INLMES        ;PRINT ? FOR PATCH\r
@@ -665,8 +650,7 @@ VIR. CORE LEFT =/
        MOVE TAC,VIRTAL         ;PRINT AMOUNT OF FREE SWAP SAPCE LEFT\r
        JRST RADX10             ;IN DECIMAL\r
 >\r
-\f\r
-; "SSAVE FILENAM.EXT [PROJ,PROG] CORE"\r
+\f; "SSAVE FILENAM.EXT [PROJ,PROG] CORE"\r
 ;WORKS LIKE SAVE, EXCEPT THAT HIGH SEG IS SAVED AS SHARABLE(EXT=SHR)\r
 ;INSTEAD OF NON-SHARABLE(EXT=HGH)\r
 \r
@@ -703,8 +687,7 @@ LOGREF:     MOVEM   TAC,PRJPRG(ITEM)        ;PRJ,PRG NRS. IN REFLAG
        SETZM   REFLAG                  ;ONLY ONCE\r
        POPJ    PDP,\r
 >\r
-\f\r
-;"HELP" -HELP COMMAND\r
+\f;"HELP" -HELP COMMAND\r
 \r
 INTERNAL FTLOGIN\r
 \r
@@ -744,8 +727,7 @@ ALOGN1:     PUSHJ PDP,TTYATT        ;MAKE SURE TTY IS ATTACHED IN CASE
        JFCL\r
 >\r
        POPJ PDP,\r
-\f\r
-INTERN FTCCL\r
+\fINTERN FTCCL\r
 \r
 IFN FTCCL,<\r
 \r
@@ -784,8 +766,7 @@ CLOG2:      SKIPE   TAC,REFLAG      ;REFLAG SET NON-ZERO FOR AUTOMATIC LOGIN?
        MOVE    TAC,[SIXBIT /LOGIN/]    ;CUSP NAME\r
        JRST    ARCOM   ;RUN IT\r
 >\r
-\f\r
-; "R CUSTNAME CORE" - DOES "RUN SYS:CUSPNAME"\r
+\f; "R CUSTNAME CORE" - DOES "RUN SYS:CUSPNAME"\r
 \r
 RCOM:  MOVEI   TAC,0   ;NO FILE NAME, TTY WILL SUPPLY IT\r
        JRST    ARCOM1\r
@@ -812,14 +793,13 @@ IFE FTSWAP,<
 IFN FTSWAP,<\r
        JRST DLYCM              ;NO. DELAY COMMAND UNTIL IN CORE\r
 >\r
-\f\r
-; "ASSIGN DEV:NAME" - ASSIGN DEVICE TO JOB AND GIVE IT LOGICAL NAME\r
+\f; "ASSIGN DEV:NAME" - ASSIGN DEVICE TO JOB AND GIVE IT LOGICAL NAME\r
 \r
 EXTERNAL DEVLST,PJOBN,SYSTAP\r
 \r
 ASSIGN:        PUSHJ PDP, CTEXT1       ;GET FIRST ARGUMENT\r
        JUMPE TAC1, NOTENF      ;NO ARGUEMNT TYPED IF 0\r
-IFN FTLOGIN,<EXTERN PRJPROG\r
+IFN FTLOGIN,<EXTERN PRJPRG\r
        CAME    TAC,[SIXBIT .SYS.]\r
        JRST    ASSG6\r
        HLRZ    T1,PRJPRG(ITEM)\r
@@ -852,8 +832,7 @@ ASSG4:      CAMN T1,[SIXBIT /DSK/]  ;IS THIS A DISC?(IF YES,
 ASSG5: PUSHJ   PDP,ASSASG      ;NO, TRY TO ASSGIN DEVICE\r
        JRST ASSER1             ;ALREADY ASSIGNED TO ANOTHER JOB\r
        JRST ASSFIN             ;ASSIGNED\r
-\f\r
-;SYSTEM TAPE OR NOT MATCH OF ARG AND PHYSICAL NAME.\r
+\f;SYSTEM TAPE OR NOT MATCH OF ARG AND PHYSICAL NAME.\r
 \r
 ASSG1: CAMN TAC,SYSTAP         ;IS THIS SYSTEM TAPE?\r
        JRST ASSG2              ;YES\r
@@ -882,8 +861,7 @@ ASSG7:      PUSHJ   PDP,CTEXT1
        MOVEM   TAC1,SYSTAP\r
        POPJ    PDP,\r
 >\r
-\f\r
-;ALREADY ASSIGNED TO ANOTHER JOB\r
+\f;ALREADY ASSIGNED TO ANOTHER JOB\r
 ASSER1:\r
 IFE FTTTYSER,<\r
        PDP PDP, TAC\r
@@ -903,8 +881,7 @@ IFN FTTTYSER,<
 >\r
 \r
 ASSMS2:        ASCIZ   /ALREADY ASSIGNED TO JOB /\r
-\f\r
-;DEVICE ASSIGNED, GIVE IT A LOGICAL NAME\r
+\f;DEVICE ASSIGNED, GIVE IT A LOGICAL NAME\r
 ASSFIN:        SETZM   DEVLOG(DEVDAT)  ;CLEAR LOGICAL NAME\r
 IFE FTTTYSER,<\r
        POP PDP,TAC             ;RESTORE INPUT BYTE POINTER\r
@@ -969,8 +946,7 @@ DEAER2:     MOVE TAC1,DEVNAM(DEVDAT)        ;PRINT PHYSICAL DEVICE NAME
 \r
        ASCIZ / WASN'T ASSIGNED\r
 /\r
-\f\r
-INTERNAL FTREASSIGN\r
+\fINTERNAL FTREASSIGN\r
 IFE FTREASSIGN,<\r
 REASSI=UUOERR\r
 >\r
@@ -1048,8 +1024,7 @@ REASS1:   EXCH ITEM,(PDP)         ;NEW JOB NO. IN ITEM
 REASS4:        HRRZ DSER,DEVSER(DEVDAT)\r
        HRRZM DEVDAT,JOBFDV(JDAT)\r
        MOVE UCHN,USRHCU\r
-\f\r
-REASS2:        MOVE DEVDAT,USRJDA(UCHN)        ;GET XWD UUO BITS,DDB ADDRESS\r
+\fREASS2:       MOVE DEVDAT,USRJDA(UCHN)        ;GET XWD UUO BITS,DDB ADDRESS\r
        HRRZ TAC,JOBFDV(JDAT)   ;GET ADDR. OF DDB SAVED BY COMMAND\r
        PUSH PDP,UCHN           ;SAVE USER CHANNEL\r
        CAIN TAC,(DEVDAT)       ;IS CHOSEN DEVICE ON THHS CHANNEL?\r
@@ -1088,8 +1063,7 @@ REASE7:   MOVE TAC1,DEVNAM(DEVDAT)
        ASCIZ / CAN'T BE REASSIGNED\r
 /\r
 >\r
-\f\r
-INTERNAL FTATTACH\r
+\fINTERNAL FTATTACH\r
 IFN FTATTACH,<\r
 \r
 ;"ATTACH DEVNAME" -ATTACHES A PREVIOUSLY PARTITIONED DEVICE\r
@@ -1190,8 +1164,7 @@ ATT6:     POP PDP,DEVDAT
        ASCIZ /WASN'T DET\r
 /\r
 >\r
-\f\r
-INTERNAL FTATTACH\r
+\fINTERNAL FTATTACH\r
 IFN FTATTACH,<\r
 \r
 ;"DETACH" - DETACH CONSOLE FROM JOB\r
@@ -1234,8 +1207,7 @@ DETACH:   PUSHJ PDP,CTEXT1                ;GET ARGUMENT
        HRRM TAC1,TTYTAB(TAC)   ;SO THAT SCNSER CHECKS FOR THIS\r
        POP PDP,DEVDAT          ;RESTORE TTY DDB\r
        POPJ PDP,               ;SUCCESSFUL RETURN\r
-\f\r
-TEMP1: POP PDP,DEVDAT          ;RESTORE TTY DDB\r
+\fTEMP1:        POP PDP,DEVDAT          ;RESTORE TTY DDB\r
        JRST DEAER1             ;PRINT ERROR MSG. AND RETURN\r
 TEMP2:\r
 IFE FTTTYSER,< POP PDP,DEVDAT          ;RESTORE TTY DDB\r
@@ -1247,10 +1219,8 @@ IFN FTTTYSER,<
 LOGER1:        JSP TAC,ERRMES\r
        ASCIZ /CAN'T DET DEV\r
 /\r
-\r
 >>     ;CLOSE BOTH FTLOGIN AND FTATTACH CONDITIONALS.\r
-\r
-;"DAYTIME" - PRINT TIME OF DAY\r
+\f;"DAYTIME" - PRINT TIME OF DAY\r
 \r
 EXTERNAL TIME,THSDAT,MONTAB,JIFMIN\r
 \r
@@ -1287,8 +1257,7 @@ DAYTM1:   MOVE TAC,THSDAT         ;PRINT TODAY'S DATE
        PUSHJ PDP,PRSPC\r
        MOVE TAC,TIME           ;PRINT TIME OF DAY\r
        JRST PRTIM1\r
-\f\r
-INTERNAL FTTIME\r
+\fINTERNAL FTTIME\r
 IFN FTTIME,<\r
 ;"TIME (JOB NO.)" - PRINT TOTAL AND INCREMENTAL RUNNING TIME FOR A JOB\r
 ;FOLLOWED BY KILO-CORE TICKS\r
@@ -1329,8 +1298,8 @@ RUN2:     PUSHJ PDP,INLMES        ;PRINT
        ASCIZ /UP   /\r
        MOVE TAC,UPTIME\r
        JRST PRTIME             ;AND RETURN\r
-\f\r
-RUN1:\r
+\r
+\fRUN1:\r
 IFE FTLOGIN,<\r
        MOVEI TAC,0             ;GET SET TO CLEAR INCREMENTAL RUN TIME\r
 >\r
@@ -1356,8 +1325,7 @@ IFE FTKCT,<
        JRST PRTIME             ;PRINT IT AND RETURN\r
 >\r
 >\r
-\f\r
-;ROUTINE TO LET TTY TALK TO ANY OTHER RING OF TTYS\r
+\f;ROUTINE TO LET TTY TALK TO ANY OTHER RING OF TTYS\r
 ;      "TALK TTYN"\r
 ;      TTYN NEED NEVER HAVE BEEN TYPED ON BEFORE\r
 \r
@@ -1387,8 +1355,7 @@ TALK1:    MOVE    DEVDAT,-2(PDP)  ;RESTORE TTY DDB
        ASCIZ /BUSY\r
 /\r
 >\r
-\f\r
-INTERNAL FTEXAMINE\r
+\fINTERNAL FTEXAMINE\r
 \r
 IFN FTEXAMINE,<\r
 \r
@@ -1464,8 +1431,9 @@ DCOM1:    PUSHJ PDP,DEAT          ;CHECK FOR AC REFERENCE
        HRLI TAC1,PROG          ;SET FOR RELOCATION\r
        MOVEM IOS,@TAC1 \r
        POPJ PDP,\r
-\f\r
-DEAT:  TLZ TAC1,-1             ;CLEAR LH IN CASE THIS IS A SUCCESSIVE E WITH NO ARG\r
+\r
+\r
+\fDEAT: TLZ TAC1,-1             ;CLEAR LH IN CASE THIS IS A SUCCESSIVE E WITH NO ARG\r
        HRRM TAC1,JOBEXM(JDAT)  ;STORE FOR NEXT TIME, DO NOT TOUCH LH(D OR E LAST)\r
                                ; YES, WAS JOB STOPPED IN USER MODE?\r
        CAIL TAC1,20            ;IS IT AN AC?\r
@@ -1484,10 +1452,8 @@ IFN FT2REL,<
 ECOMA: JSP TAC,ERRMES  ;OUT OF BOUNDS\r
        ASCIZ /OUT OF BOUNDS\r
 /\r
-\r
 >\r
-\f\r
-IFN FTLOGIN,<\r
+\fIFN FTLOGIN,<\r
 ;"SCHEDULE OCTN" - SETS RH OF STATES TO OCTN, IF TYPED FROM\r
 ; THE OPERATOR CONSOLE (C(DEVOPR)), OTHERWISE ILLEGAL\r
 ;"SCHEDULE" WITH NO ARGUMENTS TYPES OUT RH OF STATES, LEGAL FOR ALL.\r
@@ -1525,8 +1491,7 @@ IFN FTTTYSER,<
 ;COMMAND NOT IN COMMAND DICECTORY\r
 \r
 NOCOM: JRST COMERR     ;NO, APPEND ? TO WHAT HE TYPED IN\r
-\f\r
-IFN FTFINISH,<\r
+\fIFN FTFINISH,<\r
 ; "FINISH DEVICE" - CLOSES,RELEASE AND DESASSIGNS DEVICE\r
 ;JOB MUST HAVE CORE\r
 \r
@@ -1558,8 +1523,7 @@ FDV1:     HRRZ DEVDAT,USRJDA(UCHN)        ;GET NEXT DEVICE
        JFCL                    ;IGNORE IF NOT ASSIGNED BY CONSOLE\r
        JRST ESTOP              ;STOP JOB SO HE CANNOT CONTINUE\r
 >\r
-\f\r
-IFN FTTIME,<\r
+\fIFN FTTIME,<\r
 ;"RESOURCES" - PRINT OUT AVAILABLE DEVICES AND FREE BLOCKS ON THE DISK\r
 \r
 EXTERNAL DEVLST\r
@@ -1608,8 +1572,7 @@ LOP02:    HLRZ T,DEVSER(T)        ;GET NEXT DEVICE IN CHAIN
        JUMPN T,LOP01           ;IS THERE ONE?\r
        JRST CRLF               ;NO. DONE, PRINT CR. LF AND THEN POPJ\r
 >\r
-\f\r
-EXTERNAL CPOPJ,STUSER\r
+\fEXTERNAL CPOPJ,STUSER\r
 ;ROUTINE TO CHECK FOR ACTIVE DEVICES\r
 ;NEVER GET HERE DURING SWAP IN OU OUT\r
 ;SINCE COMMAND TABLE SHOULD AHVE NOTRAN BIT ON\r
@@ -1670,8 +1633,7 @@ STOPC:    HLRZ DEVDAT,DEVSER(DEVDAT)
        JRST STOPD\r
        JRST CPOPJ1             ;OK TO STOP\r
 >\r
-\f\r
-SUBTTL COMCSS - COMMON COMMAND SUBROUTINES\r
+\fSUBTTL        COMCSS - COMMON COMMAND SUBROUTINES\r
 \r
 ;ROUTINE TO RETURN NEXT ALPHANUMERIC STRING\r
 ; IN COMMAND LINE (SIXBIT)\r
@@ -1698,7 +1660,7 @@ IFE FTTTYSER,<
 CTEX0: ILDB    TEM,TAC\r
 >\r
 IFN FTTTYSER,<\r
-EXTERN TAKR,GETCHAR\r
+EXTERN TAKR,GETCHR\r
        LDB     TEM,TAKR(DAT)   ;GET LAST CHAR.\r
        JRST    CTEX1\r
 CTEX0: PUSHJ   PDP,GETCHR      ;ROUTINE IN SCNSER TO PICK UP CHAR.\r
@@ -1709,8 +1671,7 @@ CTEX1:    PUSHJ PDP, CTEX         ;IS IT ALPHANUMERIC
        TLNE    T,770000        ;SIX CHARS YET?\r
        IDPB    TEM,T   ;NO. BUILD WORD \r
        JRST CTEX0      ;LOOP FOR MORE\r
-\f\r
-;SCAN FOR ALPHANUMERIC CHAR IN TEM\r
+\f;SCAN FOR ALPHANUMERIC CHAR IN TEM\r
 CTEX:  CAILE   TEM,"Z"+40      ;GREATER THAN LC Z?\r
        JRST    CTEXA           ;YES. NOT SIXBIT.\r
        CAIL    TEM,"A"+40      ;LOWER CASE LETTER?\r
@@ -1735,8 +1696,7 @@ CTXCNC:   MOVSI   TAC1,(SIXBIT /HAL/)     ;MAKE PHONY HALT COMMAND
        MOVSI   TEM,12  ;WITH LF FOR TERMINATION\r
        JRST    TPOPJ   ;AND RETURN UP A LEVEL\r
 >\r
-\f\r
-;ROUTINE TO IGNORE LEADING SPACES, TABS, AND NULLS\r
+\f;ROUTINE TO IGNORE LEADING SPACES, TABS, AND NULLS\r
 ;ALSO CLEARS TAC1\r
 ;DOES NOT RETURN IF PREVIOUS CHAR. OR NEXT NON-SPACING\r
 ;CHAR, IS CR(IE POPS SUBROUTINE LEVEL UP 1 ON RETURN)\r
@@ -1780,8 +1740,7 @@ SKIPS3:   CAIN    TEM,3   ;^C?
        MOVEI   TEM,12  ;FOR BREAK CONSISTENCY\r
        JRST    TPOPJ   ;RETURN ONE LEVEL UP\r
 >\r
-\f\r
-;ROUTINE TO APPEND A "?" TO INPUT STRING AND SET AS OUTPUT\r
+\f;ROUTINE TO APPEND A "?" TO INPUT STRING AND SET AS OUTPUT\r
 ;CALLED FROM OCTIN, RETURNS TO SECOND LEVEL ON PDL\r
 ;CALL: MOVE TAC, BYTE POINTER TO LAST CHAR. IN INPUT STRING\r
 ;      PUSHJ PDP, COMERA\r
@@ -1823,8 +1782,7 @@ IFE FTTTYSER,<
        DPB     T,DAT\r
 >\r
        TDZA ITEM,ITEM          ;CLEAR JOB NO. AND SKIP INTO CRLF ROUT.\r
-\f\r
-;ROUTINE TO PRINT A COMMAND ERROR MESSAGE\r
+\f;ROUTINE TO PRINT A COMMAND ERROR MESSAGE\r
 ;SAME CALL AS CONMES\r
 \r
 INTERNAL ERRMES\r
@@ -1869,8 +1827,7 @@ IFE FTTTYSER,<
        IDPB    TEM,DAT\r
 >\r
        JRST CON0               ;KEEP GOING\r
-\f\r
-;ROUTINE TO PRINT INLINE ASCIZ MESSAGE\r
+\f;ROUTINE TO PRINT INLINE ASCIZ MESSAGE\r
 ;CALL: PUSHJ PDP,INLMES\r
 ;      ASCIZ /THE MESSAGE/\r
 ;RETURN TO NEXT LOC AFTER MESSAGE\r
@@ -1900,6 +1857,7 @@ IFE FTTTYSER,<
 PRSPC: MOVEI TAC,[ASCIZ /      /]\r
        JRST CONMES\r
 \f\r
+\r
 ;ROUTINE TO PRINT "TOO FEW ARGUMENTS"\r
 ;CALL: MOVE DAT,BYTE POINTER\r
 ;      PUSHJ PDP,NOTENF\r
@@ -1969,7 +1927,7 @@ DEA1:     CAIE DEVDAT,@(PDP)      ;IS THIS DEVICE NOT TO BE DEASSIGNED?
        POP PDP,DEVDAT          ;RESTORE TTY DDB ADDRESS\r
        POPJ PDP,\r
 \f\r
-;ROUTINE TO REA CONSOLE AND CONVERT ANY RADIX NUMBER\r
+;ROUTINE TO READ CONSOLE AND CONVERT ANY RADIX NUMBER\r
 ; CALL:        MOVE TAC1,  DESIRED RADIX\r
 ;      MOVE TAC,  BYTE POINTER TO FIRST CHARACTER\r
 ;      PUSHJ PDP, ANYRIN\r
@@ -2014,8 +1972,7 @@ OCT0:     CAIGE TEM,175           ;ALTMODES(175 OR 176)?
 IFE FTTTYSER,< ILDB    TEM,TAC ;NEXT CHAR>\r
 IFN FTTTYSER,< PUSHJ   PDP,GETCHR>     ;NEXT CHAR\r
        JRST OCT0\r
-\f\r
-INTERNAL FTLOGIN\r
+\fINTERNAL FTLOGIN\r
 IFN FTLOGIN,<\r
 ;GET PROJECT-PROGRAMMER NUMBERS\r
 ;CALL: MOVE TAC,INPUT BYTE POINTER\r
@@ -2067,8 +2024,7 @@ IFE FTTTYSER,<IBP TAC>            ;YES, SKIP IT
 IFN FTTTYSER,<PUSHJ PDP,GETCHR>        ;YES, SKIP IT SO FINAL ] IS OPTIONAL\r
        POPJ PDP,               ;RETURN RO CALL\r
 >\r
-\f\r
-;ROUTINE TO PRINT TIME AS HOURS,MINUTES,SECONDS, AND HUNDRETHS\r
+\f;ROUTINE TO PRINT TIME AS HOURS,MINUTES,SECONDS, AND HUNDRETHS\r
 ;FORMAT IS HHMM:SS.HH\r
 ;CALL: MOVE TAC,TIME IN JIFFIES(60THS,50THS OR MILLISECONDS)\r
 ;      MOVE DAT,OUTPUT TEXT BYTE POINTER\r
@@ -2108,8 +2064,7 @@ PR1:      POP PDP,TAC             ;RESTORE SECONDS(IN JIFFIES)
        CAIL TAC1,JIFSC2        ;ROUND IF GREATER THEN HALF\r
        AOS TAC\r
        JRST PRT2LF             ;PRINT\r
-\f\r
-PRTIM1:        IDIVI TAC,JIFMIN        ;\r
+\fPRTIM1:       IDIVI TAC,JIFMIN        ;\r
        IDIVI TAC,^D60          ;HOURS,MINUTES IN TAC,TAC1\r
        PUSHJ PDP,PRT2\r
        PUSHJ PDP,INLMES        ;PRINT "HH:"\r
@@ -2122,8 +2077,7 @@ PRT2:     MOVEI TEM,"0"
        CAIGE TAC,^D10\r
        XCT CONOUT              ;PUT LEADING 0 IF LESS THEN 10\r
        JRST RADX10             ;PRINT REST OF NUMBER\r
-\f\r
-;ROUTINE TO PRINT SIZE OF LOGICAL SEGMENT (LOW OR HIGH)\r
+\f;ROUTINE TO PRINT SIZE OF LOGICAL SEGMENT (LOW OR HIGH)\r
 ;CALL: MOVE ITEM, HIGH OR LOW SEG NUMBER\r
 ;      PUSHJ PDP,PRT SEG\r
 ;      RETURN\r
@@ -2154,8 +2108,7 @@ IFN FTSWAP,<
        JUMPE TAC1,CPOPJ        ;IS IT IN CORE?\r
        LSH TAC1,-12            ;YES, CONVERT TO #K-1\r
        AOJA TAC1,CPOPJ         ;ADD 1 AND RETURN NUMBER OF K\r
-\f\r
-;ROUTINE TO ASSIGN A MINIMAL CORE AREA(140 WORDS)\r
+\f;ROUTINE TO ASSIGN A MINIMAL CORE AREA(140 WORDS)\r
 ;CALLED FROM CORE,KJOB, AND RUN COMMANDS\r
 ;THIS ROUTINE PRESERVES INPUT BYTE POINTER IN TAC\r
 ;CALL: PUSHJ PDP,GETMIN\r
@@ -2189,8 +2142,7 @@ IFN FTTTYSER,<
 IFE FTTTYSER,<\r
        JRST TPOPJ              ;RESTORE TAC AND RETURN\r
 >\r
-\f\r
-;ROUTINE TO GET 1 WORD FORM USER ARE WHICH CAN BE IN LOW OR HIGH SEG\r
+\f;ROUTINE TO GET 1 WORD FORM USER ARE WHICH CAN BE IN LOW OR HIGH SEG\r
 ;CALL: MOVE PROG,[XWD PROT,RELOC FOR LOW SEG]\r
 ;      MOVE ITEM,JOB NUMBER\r
 ;      HRLI UUO,PROG           ;FOR RELOCATION\r
@@ -2215,8 +2167,7 @@ IFE FT2REL,<
 >\r
        MOVE TAC,@UUO           ;YES, GET IT FROM LOW SEG\r
        JRST CPOPJ1             ;AND SKIP RETURN\r
-\f\r
-SUBTTL SAVGET - SAVE,GET,R,RUN COMMANDS AND RUN,GETSEG UUOS\r
+\fSUBTTL        SAVGET - SAVE,GET,R,RUN COMMANDS AND RUN,GETSEG UUOS\r
 \r
 ;SAVGET LOWER CORE LOCATIONS USED FOR UUOS TO MONITOR\r
 ;USED IN SAVGET IN APRSER AND SAVGET IN SEGCON\r
@@ -2248,8 +2199,7 @@ SUBTTL    SAVGET - SAVE,GET,R,RUN COMMANDS AND RUN,GETSEG UUOS
        XP SGALOW,17            ;LH=EXT WHICH USER TYPED FOR SAVE OR GET COMMAND\r
                                ; OR .SAV IF HE DIDN'T TYPE AN ARG WITH LEADING PERIOD\r
                                ; RH=0\r
-\f\r
-;ROUTINE TO SCAN COMMAND STRING ARGUMENTS FOR SAVE,GET,RUN AND R\r
+\f;ROUTINE TO SCAN COMMAND STRING ARGUMENTS FOR SAVE,GET,RUN AND R\r
 ;COMAMNDS AND STORE THEM IN JOB DATA AREA WHICH MUST BE IN CORE\r
 ;WHEN SGSET IS CALLED FROM COMMAND DECODER\r
 ;CALL: MOVE TAC,INPUT BYTE POINTER\r
@@ -2298,8 +2248,7 @@ SGSET1:   MOVEM TAC1,SGANEW(PROG) ;STORE FOR RUN AND SAVE
                                ; GUARRANTEE LH OF PC WORD IS 0, SINCE IT WILL\r
                                ; BE ADDED TO STARTING ADDRESS(IF RUN COM)\r
        JRST MSTART             ;START JOB WITH PC IN MONITOR MODE\r
-\f\r
-;ROUTINE TO PICKUP ARGUMENTS FOR RUN AND GETSET UUOS\r
+\f;ROUTINE TO PICKUP ARGUMENTS FOR RUN AND GETSET UUOS\r
 ;THIS ROUTINE DOES SAME THING AS SGSET, EXCEPT THAT ARGUMENTS ARE\r
 ;OBTAINED FROM USER UUO ARGUMENTS INSTEAD OF FROM CONSOLE COMMAND\r
 ;THE USERS ARG ARE MOVED TO USER ACS(SGA...), THEREBY CLOBBERING HIS AC$S\r
@@ -2312,7 +2261,7 @@ SGSET1:   MOVEM TAC1,SGANEW(PROG) ;STORE FOR RUN AND SAVE
 ;      RETURN\r
 \r
        INTERN GETARG\r
-       EXTERN JBTPROG,JOBCORE,PUUOAC\r
+       EXTERN JBTPRG,JOBCOR,PUUOAC\r
 \r
 GETARG:        HRR UUO,TAC             ;MOVE ADR. OF ARG LIST TO UUO\r
        EXCH TAC,(PDP)          ;AND PUT ON PD LIST\r
@@ -2342,8 +2291,7 @@ IFN FT2REL,<
                                ; IGNORE LH\r
        JRST SG2A               ;GO SET UP LOWER CORE AND RETURN\r
                                ; DO NOT DO A RESET\r
-\f\r
-;THIS JOB SAVES A JOB AREA ON RETRIEVABLE STORAGE\r
+\f;THIS JOB SAVES A JOB AREA ON RETRIEVABLE STORAGE\r
 ;THIS JOB RUNS IN EXEC MODE AND CALLS IO ROUTINES USING REGULAR UUOS\r
 ;NO ATTEMPT IS MADE TO SAVE STATUS OF IO DEVICES, JOBDP, OR AC'S\r
 ;IN FACT THE ONLY USEFUL THING WHICH MAY BE DONE WITH A JOB AREA\r
@@ -2378,8 +2326,7 @@ SAVJB1:   OPEN 0,SGAMOD           ;RE INIT DEVICE, SO UGETF WILL SET FIRST FREE
        JRST SAVERR             ;DIRECTORY FULL OR PROTECTION FAILURE\r
        MOVE TAC,JOB41(JDAT)    ;SAVE USER UUO HANDLING JSR\r
        MOVEM TAC,JOBS41(JDAT)  ;IN UPPER PART OF JOB DATA AREA\r
-\f\r
-       MOVE TAC,JOBDDT(JDAT)   ;SAVE DDT STARTING ADDRESS HIGHER UP IN JOB DATA AREA\r
+\f      MOVE TAC,JOBDDT(JDAT)   ;SAVE DDT STARTING ADDRESS HIGHER UP IN JOB DATA AREA\r
        MOVEM TAC,JOBSDD(JDAT)  ;SO COMPRESS ALWAYS MOVES CODE DOWN\r
        HRROS USRHCU            ;FLAG THAT SAVE GET IS UNDER WAY\r
                                ; SO THAT JOBHRL WILL NOT BE MODIFIED BY SETHGH RUOTINE\r
@@ -2421,8 +2368,7 @@ CMPTHR:   HRLI    TEM,254000      ;SET A JRST C(JOBSA)
                                ; CORE ON START ,ODT,SAVE, REENTER,SSAVE IN CASE\r
                                ; THIS SAE IO DOES NOT GO TO COMPLETION. (CONTROL C\r
                                ; OR  DEVICE FULL, SO THAT CORE DOES NOT GET EXPANDED\r
-\f\r
-       PUSHJ PDP,SGDOA         ;DO OUTPUT,RELEASE,FIND TTY\r
+\f      PUSHJ PDP,SGDOA         ;DO OUTPUT,RELEASE,FIND TTY\r
        OUTPUT 0,SGALEN         ;OUTPUT UUO EXECUTED BY SGDO\r
                                ; RETURN HERE ONLY IF NO ERRORS\r
 SAVFIN:        PUSHJ PDP,SGREL         ;RELEASE DEVICE AND FIND TTY\r
@@ -2464,8 +2410,7 @@ RUNJOB:   JSP TAC1,SG1            ;SETUP ACS, SETUP LOWER CORE(SGALEN,SGADMP)
                                ; PUT TAC1 AS FIRST ITEM ON PD LIST(JOBPN1)\r
                                ; LH USED BY SGRELE ON ERROR TO SEE IF FROM USER\r
                                ; AND LH ADDED TO START PC(JOBSA) BY URUN\r
-\f\r
-;RUN UUO\r
+\f;RUN UUO\r
 ;CALL: MOVE AC,[XWD N,D]\r
 ;      CALL AC,[SIXBIT /RUN/]\r
 ;      ERROR RETURN            ;UNLESS LH=HALT(PRINT CONSOLE MESS, IF YES)\r
@@ -2511,8 +2456,7 @@ IFN FT2REL,<
        HRLI TAC1,USRMOD        ;SET USER MODE BIT IN PC\r
        PUSH PDP,TAC1           ;PUT ON PD LIST\r
        JRST USRXIT             ;AND GO TO RETURN TO USER AS IF FROM UUO\r
-\f\r
-;UUO TO GET JUST HIGH SEG AND RETURN TO USER\r
+\f;UUO TO GET JUST HIGH SEG AND RETURN TO USER\r
 ;CALL IS THE SAME AS FOR RUN UUO EXCEPT THAT OK RETURN IS SKIP RETURN\r
 ;IF ERROR RETURN HAS HALT IN LH, STANDARD CONSOLE MESSAGE IS PRINTED AND JOB STOPPED\r
 \r
@@ -2526,8 +2470,7 @@ IFN FT2REL,<
 UGTERR:        MOVEI TAC,ILUERR        ;ILLEGAL UUO ERROR CORE\r
        PUSHJ PDP,SGRELE        ;SEE IF USER WANTS ERROR\r
        JRST UUOERR             ;NO, PRINT ILLEGAL UUO\r
-\f\r
-;ROUTINE TO SETUP ACS, RESET IO, AND SETUP LOWER CORE LOCATIONS\r
+\f;ROUTINE TO SETUP ACS, RESET IO, AND SETUP LOWER CORE LOCATIONS\r
 ;FOR SAVE AND GET(SGALEN SET IO IOWD OR PP IF DTA OR DSK)\r
 ;SGADMP SET TO IOWD FOR THIS SIZE CORE\r
 ;CALL: JSP TAC1,SG1\r
@@ -2568,8 +2511,7 @@ IFN FT2REL,<
 >\r
        JRST SGERRA             ;NOT AVAILABLE\r
                                ;DEVICE INITED(OR FOUND)\r
-\f\r
-;COMMON EXIT FROM SAVHGH AND GETHGH ROUTINES(HIGH SEG SAVE AND GET)\r
+\f;COMMON EXIT FROM SAVHGH AND GETHGH ROUTINES(HIGH SEG SAVE AND GET)\r
 ;SO THAT SGA... LOCATIONS ARE RESTOREED TO ORIGINAL VALUES FOR LOW SEG\r
 \r
 SG3:   MOVE TAC,JOBFF(JDAT)    ;FIRST FREE LOC IN JOB(SET FROM LH OF\r
@@ -2617,8 +2559,7 @@ SGERR1:   MOVEI TAC,NSDERR        ;ERROR CODE IN CASE RUN UUO(NO SUCH DEVICE)
                                ; OR FIND TTY AND PRINT ?CRLF\r
        JSP TAC,PHOLD           ;START TTY AND STOP JOB\r
        ASCIZ /NO SUCH DEVICE/\r
-\f\r
-;ROUTINE TO GET FILE FROM DEVICE(LOW AND/OR HIGH)\r
+\f;ROUTINE TO GET FILE FROM DEVICE(LOW AND/OR HIGH)\r
 ;CALL: ACS JDAT,PROG,PDP,DEVDAT SETUP\r
 ;      MOVE ITEM,JOB NUMBER\r
 ;      IFN FTDISK,<MOVE TAC1,DEVMOD(DEVDAT)    ;DEVICE CHAR.>\r
@@ -2672,25 +2613,7 @@ LOWFIN:  HRRZ TAC,JOBCOR(JDAT)   ;CORE ARG FROM PREVIOUS SAVE(THIS MONITOR
                                ; USER TO USE TO RESET CORE TO INITIAL SETTING WHEN\r
                                ; PROGRAM IS RESTARTED\r
                                ; FALL INTO SGREL\r
-;ROUTINE TO RELEASE DEVICE AND FIND TTY\r
-INTERN SGREL\r
-\r
-SGREL:  SKIPN   DEVDAT,USRJDA   ;HAS CHANNEL BEEN RELEASED ALREADY?\r
-        JRST    SGREL2          ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH\r
-        PUSH    PDP,T4          ;NO,\r
-        MOVE    TAC1,DEVMOD(DEVDAT)\r
-        TLNE    TAC1,DVMTA      ;MAGTAPE?\r
-        TLNN    DEVDAT,INPB     ;YES, WAS AN INPUT DONE?\r
-        JRST    SGREL1          ;NO\r
-        CLOSE   0,CLSOUT        ;YES, CLOSE MTA INPUT\r
-        STATO   0,IOTEND+IODEND ;AT END OF APTE?\r
-        MTAPE   0,16            ;NO SKIP TO EOF\r
-SGREL1: RELEASE 0,              ;NO RELEASE DEVICE\r
-        POP     PDP,T4\r
-SGREL2:\r
-        JRST    TTYFNU          ;FIND TTY FOR CURRENT USER\r
-\f\r
-;ROUTINE TO EXECUTE DUMP MODE COMMAND LIST SETUP IN SGALEN(R)\r
+\f;ROUTINE TO EXECUTE DUMP MODE COMMAND LIST SETUP IN SGALEN(R)\r
 ;AND CHECK FOR ERRORS. USED ONLY TO READ LOW FILE.\r
 ;CALL:  PUSHJ P,SGDO\r
 ;       INPUT 0,SGALEN OR OUTPUT 0,SGALEN\r
@@ -2730,8 +2653,24 @@ SGIOCK: MOVE T4,DEVIOS(DEVDAT) ;IO STATUS WORD FOR THIS DEVICE
                                ; OF FIND TTY AND PRINT ?CRLF\r
        JSP TAC,PHOLD           ;START TTY AND STOP JOB\r
        ASCIZ /TRANSMISSION ERROR/\r
-\f\r
-;ROUTINE TO EXPAND CORE AFTER A SAVE(LOW SEG ONLY)\r
+;ROUTINE TO RELEASE DEVICE AND FIND TTY\r
+INTERN SGREL\r
+\r
+SGREL:  SKIPN   DEVDAT,USRJDA   ;HAS CHANNEL BEEN RELEASED ALREADY?\r
+        JRST    SGREL2          ;YES, FIND TTY AND WAIT FOR OUTPUT TO FINISH\r
+        PUSH    PDP,T4          ;NO,\r
+        MOVE    TAC1,DEVMOD(DEVDAT)\r
+        TLNE    TAC1,DVMTA      ;MAGTAPE?\r
+        TLNN    DEVDAT,INPB     ;YES, WAS AN INPUT DONE?\r
+        JRST    SGREL1          ;NO\r
+        CLOSE   0,CLSOUT        ;YES, CLOSE MTA INPUT\r
+        STATO   0,IOTEND+IODEND ;AT END OF APTE?\r
+        MTAPE   0,16            ;NO SKIP TO EOF\r
+SGREL1: RELEASE 0,              ;NO RELEASE DEVICE\r
+        POP     PDP,T4\r
+SGREL2:\r
+        JRST    TTYFNU          ;FIND TTY FOR CURRENT USER\r
+\f;ROUTINE TO EXPAND CORE AFTER A SAVE(LOW SEG ONLY)\r
 ;CALL: MOVE DEVDAT,DEVICE ADR.\r
 ;      MOVE PROG,JOBADR.\r
 ;      MOVE ITEM,JOB NUMBER\r
@@ -2771,8 +2710,7 @@ EXPAND:   HLRE AC3,SGALEN(PROG)   ;-LENGTH OF FILE
        JRST EXPND1\r
 EXPZ:  MOVSI TAC,-2\r
        HLLM TAC,JOBSV(PROG)\r
-\f\r
-;COME HERE TO DO THE ACTUAL EXPANSION OF A FILE\r
+\f;COME HERE TO DO THE ACTUAL EXPANSION OF A FILE\r
 EXPND1:        MOVE TAC,[XWD PROG,JOBSV] ;IT WAS READ INTO JOBSV\r
        MOVE    TAC,@TAC        ;FIRST IOWD\r
 EXPLP1:        HRRZ    AC1,TAC1        ;ADDRESS OF IOWD\r
@@ -2791,7 +2729,6 @@ EXPLP1:   HRRZ    AC1,TAC1        ;ADDRESS OF IOWD
        HRRZ    TAC,@TAC          ;TOP REAL LOCATION NEEDED\r
 \r
        TRO     TAC,1777        ;MAKE IT NK-1\r
-\r
        HLRZ TAC1,PROG          ;PRESENT SIZ OF LOW SEG\r
        CAMG TAC,TAC1           ;IS THERE ENOUGH?\r
        JRST EXPCOR             ;YES.\r
@@ -2825,8 +2762,7 @@ EXPLP3:   SOS     AC1
        MOVEM AC2,JOBDDT(JDAT)  ;SET USER DDT STR ADR\r
        JRST SGDO2              ;AND SETUP USRDDT IN MONITOR PROTECTED\r
                                ; FROM THIS USER\r
-\f\r
-;THIS ROUTINE WILL DELETE ALL DATA FROM A COMPRESSED FILE\r
+\f;THIS ROUTINE WILL DELETE ALL DATA FROM A COMPRESSED FILE\r
 ;WHICH IS BELOW JOBSOD (PROBABLY WRITTEN BY TENDUMP)\r
 \r
 TOOLOW:        HLRE    AC2,@TAC        ;WORDCOUNT OF OFFENDING IOWD\r
@@ -2851,8 +2787,7 @@ IOWBLT:   MOVSI   TAC,@TAC        ;YES, KEEP THE ENTIRE IOWD DATA
        SUBI    AC3,(TAC)       ;AC3 POINTS TO TOP OF DATA READ IN-(N)\r
        BLT     TAC1,@AC3       ;MOVE ONLY GOOD DATA DOWN\r
        JRST    EXPND1          ;GO EXPAND THE GOOD DATA\r
-\f\r
-SGDO1: MOVEI TAC,JOBDDT(PROG)  ;MOVE EVERYTHING DOWN )MUST BE NON-COMPRESSED DSK FILE\r
+\fSGDO1:        MOVEI TAC,JOBDDT(PROG)  ;MOVE EVERYTHING DOWN )MUST BE NON-COMPRESSED DSK FILE\r
        HRLI TAC,JOBSVD(TAC)    ;OR CONVERT SAVE FILE\r
        SKIPGE JOBSV(JDAT)      ;IS THIS CONVERT FILE(FIRST WORD IS IOWD)?\r
        HRLI TAC,JOBSDP(TAC)    ;YES, ALSO SKIP OVER IOWD\r
@@ -2863,8 +2798,7 @@ SGDOER:   POP PDP,TAC
        SETZM JOBHCU(JDAT)      ;CLEAR LH AND SET HIGHEST USER CHAN, IN\r
                                ; USE TO 0(WHERE IT SHOULD BE ANYWAY)\r
        POPJ PDP,               ;ERROR RETURN OR OK RETURN\r
-\f\r
-;ROUTINE TO CHECK USER SUPPLIED CORE ARG AND CHECK TO SEE IF 0\r
+\f;ROUTINE TO CHECK USER SUPPLIED CORE ARG AND CHECK TO SEE IF 0\r
 ;OR GREATER THAN OR EQUAL TO IOWD USED TO SAVE OR GET FILE\r
 ;CALL: HLRE TAC1,-NO. OF WORDS IN FILE\r
 ;      PUSHJ PDP,CKIOWD\r
@@ -2908,6 +2842,7 @@ NOROOM:   MOVEI TAC,NECERR        ;ERROR CODE IN CASE THIS IS RUN UUO(NOT ENOUGH CORE)
        JSP TAC,PHOLD           ;START TTY ADN STOP JOB\r
        ASCIZ /K OF CORE NEEDED/\r
 \f\r
+\r
 ;ROUTINE TO ASSIGN CORE FOR LOW  AND HIGH SEG\r
 ;CALL: MOVE PROG,LOW SEG RELOCATION\r
 ;      HRR TAC,HIGHEST LOC DESIRED\r
@@ -2921,8 +2856,7 @@ GETCOR:   HRRZM TAC,SGACOR(PROG)  ;SOTRE CORE ARG FOR CORE UUO IN USER AC
        CALLI SGACOR,11         ;DO CORE UUO\r
        JRST NOROOM             ;NOT AVAILABLE, PRINT ERROR AND AMOUNT TRYING FOR\r
        JRST TPOPJ              ;OK, REMOVE TAC FROM PD LIST AND RETURN\r
-\f\r
-;ROUTINE TO PRINT NOT A SAVE FILE IF WRONG FORMAT FILE DETECTED\r
+\f;ROUTINE TO PRINT NOT A SAVE FILE IF WRONG FORMAT FILE DETECTED\r
 \r
 INTERN GETERR\r
 \r
@@ -2948,8 +2882,7 @@ NOFILE:   MOVEI TAC,FNFERR        ;ERROR CODE IN CASE THIS IS RUN UUO(FILE NOT FOUND
        PUSHJ PDP,PRNAME\r
        JSP TAC,PHOLD           ;START TTY AND STOP JOB\r
        ASCIZ / NOT FOUND/\r
-\f\r
-;ROUTINE TO RELEASE DEVICE ON AN ERROR AND CHECK TO SEE\r
+\f;ROUTINE TO RELEASE DEVICE ON AN ERROR AND CHECK TO SEE\r
 ;IF THIS IS A MONITOR COMMAND OR USER UUO\r
 ;IF USER UUO, GIVE ERROR RETURN TO USER UNLESS THERE IS A HALT\r
 ;IN LH OF EROR RETURN WORD, IN WHICH CASE FIND TTY, PRINT ?CRLF\r
@@ -2991,4 +2924,3 @@ SGRLE1:   PUSHJ PDP,SGREL         ;RELEASE DEVICE AND FIND TTY
        ASCIZ /?\r
 /\r
 COMEND:        END             ;END OF COMCON\r
-\r
index a458ba8..5f3ef5c 100644 (file)
@@ -1,4 +1,3 @@
-\f\r
 TITLE COMMON -  MONITOR COMMON DATA AREA AND CONFIGURATION DEFINITION - V437\r
 SUBTTL PART 3 COMMON.MAC - T. HASTINGS/RCC  TS  03 JUN 69\r
 XP VCOMMN,437\r
@@ -382,6 +381,7 @@ JBTADR:     BLOCK JOBN+SEGN         ;JOB AND HIGH SEG CORE ASSIGNMENT
        JBTAD1==JBTADR+1        ;ADDRESS OF JOB 1 (USED BY SYSMAK)\r
        JBTDAT==JBTADR          ;RH==ADDRESS OF JOB DATA AREA\r
                                ;SAME AS JBTADR (JDAT==PROG)\r
+       INTERN JBTSGN\r
 JBTSGN:        IFG SEGN, <\r
        BLOCK JOBN              ;RH=SEGMENT NUMBER OF HIGH SEGMENT THIS JOB\r
                                ; IS USING IN CORE OR ON DISK\r
@@ -920,7 +920,7 @@ K4SWAP:     0                       ;(1)K OF DISK WORDS SET ASIDE FOR SWAPPING
                                ; ASSIGNED AT ONCE ONLY REFRESH TIME\r
 \r
 PROT:  EXP ICPROT              ;(2) IN-CORE PROTECT TIME PARAMETER TO BE\r
-                               ; MULTIPLIED BY <K-1> OF CORE IN JOB.\r
+                               ; MULTIPLIED BY (K-1) OF CORE IN JOB.\r
 PROT0: EXP ICPRT1              ;(3) IN-CORE PROTECT TIME PARAMETER TO \r
                                ; BE ADDED TO ABOVE RESULT.\r
 \r
@@ -1198,7 +1198,7 @@ IFE PDP10N, <                     ;FOR PDP-6 OPCODES 1-37
        JRST UUOSYS             ;YES\r
        MOVEM TAC,40(17)        ;STORE UUO IN USER'S 40\r
        HRRZ TAC,41(17)         ;PICK UP ADR OF USER'S JSR\r
-       JUMPE TAC,UUOSY2        ;IF ADDRESS=0,ILLEGAL USER UUO****UWA PATCH\r
+       JUMPE TAC,UUOSYS        ;IF ADDRESS=0,ILLEGAL USER UUO****UWA PATCH\r
        HLL TAC,UUO0            ;USER PD FLAGS (RESTORED ON RETURN)\r
        MOVEI 17,(TAC)          ;17 NOW HAS REL.ADR+1 OF USER JSR\r
        CAML 17,USRREL          ;IS EFFECTIVE ADDRESS IN BOUNDS ?\r
@@ -1213,7 +1213,7 @@ IFE PDP10N, <                     ;FOR PDP-6 OPCODES 1-37
        JRST 2,@UUO0            ;RETURN TO USER (RESTORING FLAGS)\r
 \r
 UUOSY0:        MOVE 17,JOBADR          ;SETUP 17 FOR LOW SEGMENT RELOCATION\r
-UUOSY2:        EXCH TAC,FORTY          ;RESTORE USERS AC(TAC) AND USER'S UUO (FORTY)\r
+UUOSYS:        EXCH TAC,FORTY          ;RESTORE USERS AC(TAC) AND USER'S UUO (FORTY)\r
 >              \r
        JRST UUOUSR             ;GO SAVE USER'S ACS IN REL. LOCATION 0-17\r
                                ; AND DISPATCH ON UUO\r
diff --git a/src/con40.ccl b/src/con40.ccl
new file mode 100644 (file)
index 0000000..31ef141
--- /dev/null
@@ -0,0 +1,35 @@
+CDRSR6,CDRSR6/C_S,CDRSR6\r
+CDRSRX,CDRSRX/C_S,CDRSRX\r
+CLOCK1,CLOCK1/C_S,FT40N,CLOCK1\r
+CLKCSS,CLKCSS/C_S,FT40N,CLKCSS\r
+COMCON,COMCON/C_S,FT40N,COMCON\r
+COMMON,COMMON/C_S,CONF40,COMMON\r
+CORE1,CORE1/C_S,FT40N,CORE1\r
+DIS340,DIS340/C_S,DISSER\r
+DIST30,DIST30/C_S,DIST30,DISSER\r
+DCSINT,DCSINT/C_S,DCSINT\r
+DLSINT,DLSINT/C_S,DLSINT\r
+DPDINT,DPDINT/C_S,DPDINT\r
+DSKINT,DSKINT/C_S,DSKINT\r
+DSKSER,DSKSER/C_S,FT40N,DSKSER\r
+DTCSRN,DTCSRN/C_S,FT40N,DTCSRN\r
+DTASRN,DTASRN/C_S,FT40N,DTASRN\r
+EDDT,EDDT/C_EDDT\r
+ERRCON,ERRCON/C_S,ERRCON\r
+JOBDAT,JOBDAT/C_JOBDAT\r
+LPTSER,LPTSER/C_S,LPTSER\r
+MTCSR6,MTCSR6/C_S,MTCSR6\r
+MTASRX,MTASRX/C_S,MTASRX\r
+NULSEG,NULSEG/C_S,FT40N,NULSEG\r
+SEGCON,NULSEG/C_S,FT40N,SEGCON\r
+PLTSER,PLTSER/C_S,PLTSER\r
+PTRSER,PTRSER/C_S,PTRSER\r
+PTPSER,PTPSER/C_S,PTPSER\r
+PTYSRF,PTYSRF/C_S,PTYSRF\r
+PTYSRH,PTYSRH/C_S,PTYSRH\r
+PATCH,PATCH/C_PATCH\r
+SYSINI,SYSINI/C_S,FT40N,SYSINI\r
+SYSMAK,SYSMAK/C_S,SYSMAK\r
+ONCEB,ONCEB/C_S,FT40N,ONCEB\r
+SCNSRF,SCNSRF/C_S,FT40N,SCNSRF\r
+UUOCON,UUOCON/C_S,FT40N,UUOCON\r
diff --git a/src/con50n.ccl b/src/con50n.ccl
new file mode 100644 (file)
index 0000000..cbb8581
--- /dev/null
@@ -0,0 +1,36 @@
+CDRSR6,CDRSR6/C_S,CDRSR6\r
+CDRSRX,CDRSRX/C_S,CDRSRX\r
+CLOCK1,CLOCK1/C_S,FT50SB,CLOCK1\r
+CLKCSS,CLKCSS/C_S,FT50SB,CLKCSS\r
+COMCON,COMCON/C_S,FT50SB,COMCON\r
+COMMON,COMMON/C_S,CON50N,COMMON\r
+CORE1,CORE1/C_S,FT50SB,CORE1\r
+DIS340,DIS340/C_S,DISSER\r
+DIST30,DIST30/C_S,DIST30,DISSER\r
+DCSINT,DCSINT/C_S,DCSINT\r
+DLSINT,DLSINT/C_S,DLSINT\r
+DPDINT,DPDINT/C_S,DPDINT\r
+DSKINT,DSKINT/C_S,DSKINT\r
+DSKSER,DSKSER/C_S,FT50SB,DSKSER\r
+DTCSRN,DTCSRN/C_S,FT50SB,DTCSRN\r
+DTASRN,DTASRN/C_S,FT50SB,DTASRN\r
+EDDT,EDDT/C_EDDT\r
+ERRCON,ERRCON/C_S,ERRCON\r
+JOBDAT,JOBDAT/C_JOBDAT\r
+LPTSER,LPTSER/C_S,LPTSER\r
+MTCSR6,MTCSR6/C_S,MTCSR6\r
+MTASRX,MTASRX/C_S,MTASRX\r
+NULSEG,NULSEG/C_S,FT50SB,NULSEG\r
+SEGCON,SEGCON/C_S,FT50SB,SEGCON\r
+PLTSER,PLTSER/C_S,PLTSER\r
+PTRSER,PTRSER/C_S,PTRSER\r
+PTPSER,PTPSER/C_S,PTPSER\r
+PTYSRF,PTYSRF/C_S,PTYSRF\r
+PTYSRH,PTYSRH/C_S,PTYSRH\r
+PATCH,PATCH/C_PATCH\r
+SYSINI,SYSINI/C_S,FT50SB,SYSINI\r
+SYSMAK,SYSMAK/C_S,SYSMAK\r
+ONCEB,ONCEB/C_S,FT50SB,ONCEB\r
+SCNSRF,SCNSRF/C_S,FT50SB,SCNSRF\r
+SCHEDB,SCHEDB/C_S,FT50SB,SCHEDB\r
+UUOCON,UUOCON/C_S,FT50SB,UUOCON\r
diff --git a/src/con50n.mac b/src/con50n.mac
new file mode 100644 (file)
index 0000000..6f2bd9d
--- /dev/null
@@ -0,0 +1,227 @@
+SUBTTL CONFIG - CONFIGURATION DEFINITION FILE OUTPUT BY MONGEN DIALOG\r
+\r
+\r
+;ANSWER THE FOLLOWING QUESTIONS WITH Y OR N OR A DECIMAL NUMBER\r
+\r
+;SHORT DIALOG?[N = LONGER QUESTIONS]\r
+;Y\r
+\r
+\r
+;10/30 SYSTEM TO BE BUILT?[N = 10/40 OR 10/50 SYSTEM]\r
+;N\r
+\r
+\r
+;10/40 SYSTEM TO BE BUILT?[N = ASSUME 10/50 SYSTEM]\r
+;N\r
+\r
+XP SYS40N,0\r
+XP SYS50N,1\r
+XP DSKN,1\r
+XP LOGINN,1\r
+\r
+;RD10 (BURROUGHS) DISK?[ONE DISK TYPE FOR FILES,\r
+;SAME TYPE FOR SWAPPING OR ONE OTHER TYPE FOR SWAPPING]\r
+;Y\r
+\r
+XP RD10N,1\r
+\r
+;RD10 FOR SWAPPING?[N = CAN SWAP ON SOME OTHER TYPE]\r
+;Y\r
+\r
+XP RDSWPN,1\r
+\r
+;RP10 (MEMOREX) DISK PACKS?\r
+;N\r
+\r
+XP RP10N,0\r
+XP RPSWPN,0\r
+\r
+;RA10 (BRYANT) DISK?\r
+;N\r
+\r
+XP RA10N,0\r
+XP RASWPN,0\r
+\r
+;DPD (DATA PRODUCTS) DISK?\r
+;N\r
+\r
+XP DPDN,0\r
+XP DPSWPN,0\r
+\r
+;HOMW MANY JOBS?[ATTACHED AND DETACHED, COUNTING NULL JOB]\r
+;28\r
+XP JOBN,34\r
+\r
+;MAX SIZE OF CORE (IN K) FOR ANY SINGLE USER?\r
+;0 MEANS ALL OF CORE\r
+;0\r
+XP COREN,0\r
+\r
+;PDP-10 PROCESSORE?[N = PDP-6]\r
+;Y\r
+\r
+XP PDP10N,1\r
+\r
+;2 RELOCATION REG, SOFTWARE?[Y = MUST HAVE KT10A,\r
+;N = JUST 1 RELOC. REG.]\r
+;Y\r
+\r
+XP KT10AN,0\r
+\r
+\r
+;HOW MANY MORE SEGMENTS THAN JOBS?[0 UNLESS YOU\r
+;ANTICIPATE A LOT OF DORMANT SEGMENTS]\r
+;0\r
+XP SEGN,0\r
+\r
+;LOAD EXEC DDT?[N = ONLY IF LOADER HAS RUN OUT OF CORE BEFORE]\r
+;Y\r
+\r
+XP DDTN,1\r
+\r
+;LOAD LOCAL SYMBOLS?[N = ONLY IF LOADER HAS RUN OUT OF ROOM BEFORE]\r
+;Y\r
+\r
+\r
+;LOAD USER DDT?[BOTH CAN BE LOADED TOGETHER,\r
+;USE USER DDT FOR PATCHING UNDER TIME SHARING]\r
+;Y\r
+\r
+XP UDDTN,1\r
+\r
+;NAME OF THIS SYSTEM (24 CHARS OR LESS)?\r
+DEFINE SYSNAM\r
+<      ASCIZ \4S47   DEC PDP-10 #2\>\r
+\r
+;WHAT IS THE SERIAL NUMBER OF YOUR ARITHMETIC PROCESSOR?\r
+;2\r
+XP APRSN,2\r
+\r
+\r
+;NAME OF SYSTEM DEVICE?[DTA0 USUAL FOR 10/40 SYSTEM,\r
+;DSK USUAL FOR 10/50 SYSTEM]\r
+DEFINE SYSDEV\r
+<      SIXBIT "DSK">\r
+DEFINE SYSDAT\r
+<      ASCIZ /6-3-69/>\r
+\r
+;DATA LINE SCANNER(DC10)?[N = WILL ASK FOR 680 OR 630]\r
+;Y\r
+\r
+XP DLSN,1\r
+XP CCIN,0\r
+XP DCSN,0\r
+\r
+;HIGHEST (OCTAL) LINE NUMBER?[USUALLY 7,17,27, ETC. FOR DC-10 OR 630\r
+;10, 20, 30 ETC. FOR 680 (TO ALLOW FOR PDP-8 CTY)]\r
+;27\r
+XP HGHLIN,27\r
+\r
+;FULL DUPLEX TTY SOFTWARE?[N = OLD HALF DUPLEX SOFTWARE]\r
+;Y\r
+\r
+XP FULLN,1\r
+XP TABSN,0\r
+\r
+;COMMON.MAC ALREADY EDITED FOR YOUR TTY CONFIGURATION?\r
+;[N = WILL ALLOW YOU TO DEFINE NOW]\r
+;Y\r
+\r
+XP EDITN,1\r
+\r
+;PT READER?\r
+;Y\r
+\r
+PTRN=1         ;NOT GLOBAL BECAUSE OF DSKSER USE\r
+\r
+;PT PUNCH?\r
+;Y\r
+\r
+XP PTPN,1\r
+\r
+;PLOTTER?\r
+;Y\r
+\r
+XP PLTN,1\r
+\r
+;HOW MANY LINE PRINTERS?\r
+;1\r
+XP LPTN,1\r
+\r
+;CARD READER?\r
+;Y\r
+\r
+\r
+;CR10?[Y = CR10A TOO, N IF PDP-6 CARD READER]\r
+;Y\r
+\r
+XP CDRN,1\r
+XP CR10N,1\r
+\r
+;CARD PUNCH\r
+;N\r
+\r
+XP CDPN,0\r
+\r
+;DISPLAY?\r
+;N\r
+\r
+XP DISN,0\r
+XP PENN,0\r
+XP T340N,0\r
+\r
+;HOW MANY DECTAPES?\r
+;8\r
+\r
+;TD10 DECTAPE CONTROL?[N = PDP-6 DECTAPE]\r
+;Y\r
+XP DTAN,10\r
+XP DTCN,0\r
+\r
+;HOW MANY MAGTAPES?\r
+;3\r
+\r
+;TM-10A CONTROL?[N = WILL ASK TM-10B, THEN PDP-6 MAGTAPES]\r
+;Y\r
+\r
+XP MTAN,3\r
+XP MTBN,0\r
+XP MTCN,0\r
+\r
+;HOW MANY PSEUDO-TTY'S?[EACH CONCURRENT BATCH NEEDS ONE]\r
+;2\r
+XP PTYN,2\r
+;TYPE "SYMBOL,VALUE" (VALUE IN DECIMAL)[FOR ANY SYMBOLS\r
+;TO BE DEFINED. TYPE EXTRA CARRIAGE RETURN WHEN THROUGH.]\r
+RADIX 10\r
+\r
+RADIX 8\r
+;TYPE "DEVICE-MNEMONIC,CHANNEL"FOR SPECIAL DEVICES\r
+;[WITH NEITHER CHANNEL SAVE ROUTINE NOR DEVICE DATA BLOCK.\r
+;"DEVICE" MUST BE 5 CHARCATERS OR LESS,\r
+;TYPE EXTRA CARRIAGE RETURN WHEN THROUGH.]\r
+DEFINE SPCINT\r
+<\r
+>;TYPE "DEVICE-MNEMNIC,CHANNEL,NO.-OF-DEVICES"\r
+;[FOR SPECIAL DEVICE WITH CHANNEL SAVE ROUTINES AND DEVICE DATA BLOCKS\r
+;"DEVICE" MUST BE 5 CHARS. OR LESS.\r
+;TYPE EXTRA CARRIAGE RETUERN WHEN THROUGH.]\r
+DEFINE SPCSAV\r
+<\r
+>;MONGEN FINISHED\r
+;NEXT YOU MUST ASSEMBLE COMMON WITH MACRO\r
+;THEN LOAD IT AND REST OF MONITOR WITH LOADER\r
+;AND FINALLY SAVE IT WITH MONITOR COMMAND SAVE\r
+\r
+;[TO ASSEMBLE COMMON, TYPE\r
+;R MACRO\r
+;DSK:COMMON,LPT:_DSK:S,CONFIG,COMMON\r
+;TO LOAD NEW MONITOR, TYPE\r
+;R LOADER\r
+;/S\r
+;DSK:COMMON,DSK:SYS50/L\r
+;LPT:_/W/D/A/M/P/G\r
+;TO SAVE MONITOR, TYPE\r
+;SAVE DSK MONITOR\r
+;]\r
+;      ;END OF CONFIGURATION DEFINITION\r
diff --git a/src/con5sd.ccl b/src/con5sd.ccl
new file mode 100644 (file)
index 0000000..87bd718
--- /dev/null
@@ -0,0 +1,36 @@
+CDRSR6,CDRSR6/C_S,CDRSR6/N\r
+CDRSRX,CDRSRX/C_S,CDRSRX/N\r
+CLOCK1,CLOCK1/C_S,FT50SD,CLOCK1/N\r
+CLKCSS,CLKCSS/C_S,FT50SD,CLKCSS/N\r
+COMCON,COMCON/C_S,FT50SD,COMCON/N\r
+COMMON,COMMON/C_S,CONFIG,COMMON/N\r
+CORE1,CORE1/C_S,FT50SD,CORE1/N\r
+DIS340,DIS340/C_S,DISSER/N\r
+DIST30,DIST30/C_S,DIST30,DISSER/N\r
+DCSINT,DCSINT/C_S,DCSINT/N\r
+DLSINT,DLSINT/C_S,DLSINT/N\r
+DPDINT,DPDINT/C_S,DPDINT/N\r
+DSKINT,DSKINT/C_S,DSKINT/N\r
+DSKSER,DSKSER/C_S,FT50SD,DSKSER/N\r
+DTCSRN,DTCSRN/C_S,FT50SD,DTCSRN/N\r
+DTASRN,DTASRN/C_S,FT50SD,DTASRN/N\r
+EDDT,EDDT/C_EDDT/N\r
+ERRCON,ERRCON/C_S,ERRCON/N\r
+JOBDAT,JOBDAT/C_JOBDAT/N\r
+LPTSER,LPTSER/C_S,LPTSER/N\r
+MTCSR6,MTCSR6/C_S,MTCSR6/N\r
+MTASRX,MTASRX/C_S,MTASRX/N\r
+NULSEG,NULSEG/C_S,FT50SD,NULSEG/N\r
+SEGCON,SEGCON/C_S,FT50SD,SEGCON/N\r
+PLTSER,PLTSER/C_S,PLTSER/N\r
+PTRSER,PTRSER/C_S,PTRSER/N\r
+PTPSER,PTPSER/C_S,PTPSER/N\r
+PTYSRF,PTYSRF/C_S,PTYSRF/N\r
+PTYSRH,PTYSRH/C_S,PTYSRH/N\r
+PATCH,PATCH/C_PATCH/N\r
+SYSINI,SYSINI/C_S,SYSINI\r
+SYSMAK,SYSMAK/C_S,SYSMAK/N\r
+ONCEB,ONCEB/C_S,FT50SD,ONCEB/N\r
+SCNSRF,SCNSRF/C_S,FT50SD,SCNSRF/N\r
+SCHEDB,SCHEDB/C_S,FT50SD,SCHEDB/N\r
+UUOCON,UUOCON/C_S,FT50SD,UUOCON/N\r
index af2c7d9..7dd70dc 100644 (file)
@@ -1,31 +1,36 @@
-CLOCK1,CLOCK1/C_S,FT40N,CLOCK1/N\r
-CLKCSS,CLKCSS/C_S,FT50SB,CLKCSS/N\r
-COMCON,COMCON/C_S,FT50SB,COMCON/N\r
-COMMON,COMMON/C_S,CONFIG,COMMON/N\r
-CORE1,CORE1/C_S,FT50SB,CORE1/N\r
-DIS340,DIS340/C_S,DISSER/N\r
-DIS34,DIS30/C_S,DIST30,DISSER/N\r
-DCSINT,DCSINT/C_S,DCSINT/N\r
-DLSINT,DLSINT/C_S,DLSINT/N\r
-DPDINT,DPDINT/C_S,DPDINT/N\r
-DSKINT,DSKINT/C_S,DSKINT/N\r
-DSKSER,DSKSER/C_S,FT50SB,DSKSER/N\r
-DTCSRN,DTCSRN/C_S,FT50SB,DTCSRN/N\r
-DTASRN,DTASRN/C_S,FT50SB,DTASRN/N\r
-EDDT,EDDT/C_EDDT/N\r
-ERRCON,ERRCON/C_S,ERRCON/N\r
-JOBDAT,JOBDAT/C_JOBDAT/N\r
-LPTSER,LPTSER/C_S,LPTSER/N\r
-MTCSR6,MTCSR6/C_S,MTCSR6/N\r
-MTASRX,MTASRX/C_S,MTASRX/N\r
-NULSEG,NULSEG/C_S,FT50SB,NULSEG/N\r
-PLTSER,PLTSER/C_S,PLTSER/N\r
-PTRSER,PTRSER/C_S,PTRSER/N\r
-PTPSER,PTPSER/C_S,PTPSER/N\r
-PTYSRF,PTYSRF/C_S,PTYSRF/N\r
-PTYSRH,PTYSRH/C_S,PTYSRH/N\r
-PATCH,PATCH/C_PATCH/N\r
-ONCEB,ONCEB/C_S,FT50SB,ONCEB/N\r
-SCNSRF,SCNSRF/C_S,FT50SB,SCNSRF/N\r
-SCHEDB,SCHEDB/C_S,FT50SB,SCHEDB/N\r
-UUOCON,UUOCON/C_S,FT50SB,UUOCON/N\r
+CDRSR6,CDRSR6/C_S,CDRSR6\r
+CDRSRX,CDRSRX/C_S,CDRSRX\r
+CLOCK1,CLOCK1/C_S,FT50SB,CLOCK1\r
+CLKCSS,CLKCSS/C_S,FT50SB,CLKCSS\r
+COMCON,COMCON/C_S,FT50SB,COMCON\r
+COMMON,COMMON/C_S,CONFIG,COMMON\r
+CORE1,CORE1/C_S,FT50SB,CORE1\r
+DIS340,DIS340/C_S,DISSER\r
+DIST30,DIST30/C_S,DIST30,DISSER\r
+DCSINT,DCSINT/C_S,DCSINT\r
+DLSINT,DLSINT/C_S,DLSINT\r
+DPDINT,DPDINT/C_S,DPDINT\r
+DSKINT,DSKINT/C_S,DSKINT\r
+DSKSER,DSKSER/C_S,FT50SB,DSKSER\r
+DTCSRN,DTCSRN/C_S,FT50SB,DTCSRN\r
+DTASRN,DTASRN/C_S,FT50SB,DTASRN\r
+EDDT,EDDT/C_EDDT\r
+ERRCON,ERRCON/C_S,ERRCON\r
+JOBDAT,JOBDAT/C_JOBDAT\r
+LPTSER,LPTSER/C_S,LPTSER\r
+MTCSR6,MTCSR6/C_S,MTCSR6\r
+MTASRX,MTASRX/C_S,MTASRX\r
+NULSEG,NULSEG/C_S,FT50SB,NULSEG\r
+SEGCON,SEGCON/C_S,FT50SB,SEGCON\r
+PLTSER,PLTSER/C_S,PLTSER\r
+PTRSER,PTRSER/C_S,PTRSER\r
+PTPSER,PTPSER/C_S,PTPSER\r
+PTYSRF,PTYSRF/C_S,PTYSRF\r
+PTYSRH,PTYSRH/C_S,PTYSRH\r
+PATCH,PATCH/C_PATCH\r
+SYSINI,SYSINI/C_S,FT50SB,SYSINI\r
+SYSMAK,SYSMAK/C_S,SYSMAK\r
+ONCEB,ONCEB/C_S,FT50SB,ONCEB\r
+SCNSRF,SCNSRF/C_S,FT50SB,SCNSRF\r
+SCHEDB,SCHEDB/C_S,FT50SB,SCHEDB\r
+UUOCON,UUOCON/C_S,FT50SB,UUOCON\r
diff --git a/src/conf40.mac b/src/conf40.mac
new file mode 100644 (file)
index 0000000..bca8fe9
--- /dev/null
@@ -0,0 +1,227 @@
+SUBTTL CONFIG - CONFIGURATION DEFINITION FILE OUTPUT BY MONGEN DIALOG\r
+\r
+\r
+;ANSWER THE FOLLOWING QUESTIONS WITH Y OR N OR A DECIMAL NUMBER\r
+\r
+;SHORT DIALOG?[N = LONGER QUESTIONS]\r
+;Y\r
+\r
+\r
+;10/30 SYSTEM TO BE BUILT?[N = 10/40 OR 10/50 SYSTEM]\r
+;N\r
+\r
+\r
+;10/40 SYSTEM TO BE BUILT?[N = ASSUME 10/50 SYSTEM]\r
+;Y\r
+\r
+XP SYS40N,1\r
+XP SYS50N,0\r
+XP DSKN,1\r
+XP LOGINN,1\r
+\r
+;RD10 (BURROUGHS) DISK?[ONE DISK TYPE FOR FILES,\r
+;SAME TYPE FOR SWAPPING OR ONE OTHER TYPE FOR SWAPPING]\r
+;Y\r
+\r
+XP RD10N,1\r
+\r
+;RD10 FOR SWAPPING?[N = CAN SWAP ON SOME OTHER TYPE]\r
+;Y\r
+\r
+XP RDSWPN,1\r
+\r
+;RP10 (MEMOREX) DISK PACKS?\r
+;N\r
+\r
+XP RP10N,0\r
+XP RPSWPN,0\r
+\r
+;RA10 (BRYANT) DISK?\r
+;N\r
+\r
+XP RA10N,0\r
+XP RASWPN,0\r
+\r
+;DPD (DATA PRODUCTS) DISK?\r
+;N\r
+\r
+XP DPDN,0\r
+XP DPSWPN,0\r
+\r
+;HOMW MANY JOBS?[ATTACHED AND DETACHED, COUNTING NULL JOB]\r
+;28\r
+XP JOBN,34\r
+\r
+;MAX SIZE OF CORE (IN K) FOR ANY SINGLE USER?\r
+;0 MEANS ALL OF CORE\r
+;0\r
+XP COREN,0\r
+\r
+;PDP-10 PROCESSORE?[N = PDP-6]\r
+;Y\r
+\r
+XP PDP10N,0\r
+\r
+;2 RELOCATION REG, SOFTWARE?[Y = MUST HAVE KT10A,\r
+;N = JUST 1 RELOC. REG.]\r
+;Y\r
+\r
+XP KT10AN,0\r
+\r
+\r
+;HOW MANY MORE SEGMENTS THAN JOBS?[0 UNLESS YOU\r
+;ANTICIPATE A LOT OF DORMANT SEGMENTS]\r
+;0\r
+XP SEGN,0\r
+\r
+;LOAD EXEC DDT?[N = ONLY IF LOADER HAS RUN OUT OF CORE BEFORE]\r
+;Y\r
+\r
+XP DDTN,1\r
+\r
+;LOAD LOCAL SYMBOLS?[N = ONLY IF LOADER HAS RUN OUT OF ROOM BEFORE]\r
+;Y\r
+\r
+\r
+;LOAD USER DDT?[BOTH CAN BE LOADED TOGETHER,\r
+;USE USER DDT FOR PATCHING UNDER TIME SHARING]\r
+;Y\r
+\r
+XP UDDTN,1\r
+\r
+;NAME OF THIS SYSTEM (24 CHARS OR LESS)?\r
+DEFINE SYSNAM\r
+<      ASCIZ \4S47   DEC PDP-10 #2\>\r
+\r
+;WHAT IS THE SERIAL NUMBER OF YOUR ARITHMETIC PROCESSOR?\r
+;2\r
+XP APRSN,2\r
+\r
+\r
+;NAME OF SYSTEM DEVICE?[DTA0 USUAL FOR 10/40 SYSTEM,\r
+;DSK USUAL FOR 10/50 SYSTEM]\r
+DEFINE SYSDEV\r
+<      SIXBIT "DSK">\r
+DEFINE SYSDAT\r
+<      ASCIZ /6-3-69/>\r
+\r
+;DATA LINE SCANNER(DC10)?[N = WILL ASK FOR 680 OR 630]\r
+;Y\r
+\r
+XP DLSN,1\r
+XP CCIN,0\r
+XP DCSN,0\r
+\r
+;HIGHEST (OCTAL) LINE NUMBER?[USUALLY 7,17,27, ETC. FOR DC-10 OR 630\r
+;10, 20, 30 ETC. FOR 680 (TO ALLOW FOR PDP-8 CTY)]\r
+;27\r
+XP HGHLIN,27\r
+\r
+;FULL DUPLEX TTY SOFTWARE?[N = OLD HALF DUPLEX SOFTWARE]\r
+;Y\r
+\r
+XP FULLN,1\r
+XP TABSN,0\r
+\r
+;COMMON.MAC ALREADY EDITED FOR YOUR TTY CONFIGURATION?\r
+;[N = WILL ALLOW YOU TO DEFINE NOW]\r
+;Y\r
+\r
+XP EDITN,1\r
+\r
+;PT READER?\r
+;Y\r
+\r
+PTRN=1         ;NOT GLOBAL BECAUSE OF DSKSER USE\r
+\r
+;PT PUNCH?\r
+;Y\r
+\r
+XP PTPN,1\r
+\r
+;PLOTTER?\r
+;Y\r
+\r
+XP PLTN,1\r
+\r
+;HOW MANY LINE PRINTERS?\r
+;1\r
+XP LPTN,1\r
+\r
+;CARD READER?\r
+;Y\r
+\r
+\r
+;CR10?[Y = CR10A TOO, N IF PDP-6 CARD READER]\r
+;Y\r
+\r
+XP CDRN,1\r
+XP CR10N,1\r
+\r
+;CARD PUNCH\r
+;N\r
+\r
+XP CDPN,0\r
+\r
+;DISPLAY?\r
+;N\r
+\r
+XP DISN,0\r
+XP PENN,0\r
+XP T340N,0\r
+\r
+;HOW MANY DECTAPES?\r
+;8\r
+\r
+;TD10 DECTAPE CONTROL?[N = PDP-6 DECTAPE]\r
+;Y\r
+XP DTAN,10\r
+XP DTCN,0\r
+\r
+;HOW MANY MAGTAPES?\r
+;3\r
+\r
+;TM-10A CONTROL?[N = WILL ASK TM-10B, THEN PDP-6 MAGTAPES]\r
+;Y\r
+\r
+XP MTAN,3\r
+XP MTBN,0\r
+XP MTCN,1\r
+\r
+;HOW MANY PSEUDO-TTY'S?[EACH CONCURRENT BATCH NEEDS ONE]\r
+;2\r
+XP PTYN,2\r
+;TYPE "SYMBOL,VALUE" (VALUE IN DECIMAL)[FOR ANY SYMBOLS\r
+;TO BE DEFINED. TYPE EXTRA CARRIAGE RETURN WHEN THROUGH.]\r
+RADIX 10\r
+\r
+RADIX 8\r
+;TYPE "DEVICE-MNEMONIC,CHANNEL"FOR SPECIAL DEVICES\r
+;[WITH NEITHER CHANNEL SAVE ROUTINE NOR DEVICE DATA BLOCK.\r
+;"DEVICE" MUST BE 5 CHARCATERS OR LESS,\r
+;TYPE EXTRA CARRIAGE RETURN WHEN THROUGH.]\r
+DEFINE SPCINT\r
+<\r
+>;TYPE "DEVICE-MNEMNIC,CHANNEL,NO.-OF-DEVICES"\r
+;[FOR SPECIAL DEVICE WITH CHANNEL SAVE ROUTINES AND DEVICE DATA BLOCKS\r
+;"DEVICE" MUST BE 5 CHARS. OR LESS.\r
+;TYPE EXTRA CARRIAGE RETUERN WHEN THROUGH.]\r
+DEFINE SPCSAV\r
+<\r
+>;MONGEN FINISHED\r
+;NEXT YOU MUST ASSEMBLE COMMON WITH MACRO\r
+;THEN LOAD IT AND REST OF MONITOR WITH LOADER\r
+;AND FINALLY SAVE IT WITH MONITOR COMMAND SAVE\r
+\r
+;[TO ASSEMBLE COMMON, TYPE\r
+;R MACRO\r
+;DSK:COMMON,LPT:_DSK:S,CONFIG,COMMON\r
+;TO LOAD NEW MONITOR, TYPE\r
+;R LOADER\r
+;/S\r
+;DSK:COMMON,DSK:SYS50/L\r
+;LPT:_/W/D/A/M/P/G\r
+;TO SAVE MONITOR, TYPE\r
+;SAVE DSK MONITOR\r
+;]\r
+;      ;END OF CONFIGURATION DEFINITION\r
index f742e73..73311b2 100644 (file)
Binary files a/src/config.mac and b/src/config.mac differ
index 1b96cdb..c369d22 100644 (file)
@@ -92,7 +92,8 @@ IFN FTSWAP,<
        LSH TAC,-12\r
 >\r
        JRST STOTAC             ;STORE IN USER AC AND RETURN TO USER\r
-\f;ROUTINE TO CHECK JOBS TO SEE IF ANY JOB CAN BE SHUFFLED\r
+\f\r
+;ROUTINE TO CHECK JOBS TO SEE IF ANY JOB CAN BE SHUFFLED\r
 ;IT IS CALLED EVERY 60TH OF A SECOND BY CLOCK ROUTINE\r
 ;PROVIDING CURRENT JOB IS IN USER MODE OR JUST ENTERING\r
 ;IO WAIT OR SHARABLE DEVICE WIAT OR RETURNING ON UUO CALLS\r
@@ -115,7 +116,7 @@ IFN FTSWAP,<
 ;THE NSHF BIT IN JOBSTS WHOULD BE SET FOR JOBS USING DISPLAYS\r
 ;SINCE DISSER CONTINUALLY REFERENCES USER AREA EVEN THOUGH\r
 ;IOAC1 IS OFF.\r
-\r
+\f\r
 ;THIS VERSION OF THE CORE SHUFFLER WORKS AS FOLLOWS:\r
 ;EVERY CLOCK TICK FOR WHICH ALL JOBS ARE SHUFFABLE(NOT COUNTING ACTIVE\r
 ;IO DEVICES). THE JOB IMMEDIATELY ABOVE THE LOWEST HOLE\r
@@ -172,8 +173,7 @@ IFN FTSWAP,<
        MOVSI TAC,SHF           ;SET SHF WAIT BIT IN JOB STATUS WORD\r
        IORM TAC,JBTSTS(ITEM)   ;SO JOB WILL NOT BE RUN\r
        POPJ PDP,               ;AND IO WILL STOP SOON\r
-\f\r
-;ROUTINE TO TEST FOR ANY ACTIVE DEVICES\r
+\f;ROUTINE TO TEST FOR ANY ACTIVE DEVICES\r
 \r
 ;CALL: MOVE ITEM,JOB NUMBER OR HIGH SEG NUMBER\r
 ;      MOVE JDAT,ADDRESS OF JOB DATA AREA\r
@@ -219,8 +219,7 @@ ANY2:       SOJGE T1,ANY            ;NO, KEEP LOOKING
        TDNN AC3,DEVMOD(DEVDAT) ;NOT FINISHED, IS DEVICE TTY?\r
        POPJ PDP,               ;NO, ERROR RETURN, CANNOT ASSIGN CORE\r
        JRST ANY2               ;YES, KEEP LOOKING FOR AN ACTIVE DEVICE\r
-\f\r
-;ROUTINE TO TEST TO SEE IF JOB OR HIGH SEG CAN BE SWAPPED\r
+\f;ROUTINE TO TEST TO SEE IF JOB OR HIGH SEG CAN BE SWAPPED\r
 ; OR WHETHER IT SHOULD BE ALLOWED TO CONITNUE RUNNING\r
 ; UNTIL A MORE FAVORABLE ITME\r
 ;CALL: MOVE ITEM,HIGH RO LOW SEG NUMBER\r
@@ -243,8 +242,7 @@ IFE FT2REL,<
        JRST CPOPJ1             ;NO, GIVE OK RETURN\r
 >\r
 >\r
-\f\r
-;ROUTINE TO FLUSH PHYSICAL CORE ASSIGNED IN MEMORY\r
+\f;ROUTINE TO FLUSH PHYSICAL CORE ASSIGNED IN MEMORY\r
 ;NOTE: THIS ROUTINE DIFERS SIGNIFICANTLY FROM CORE0 AND CORE1 IN THAT\r
 ;IT IS ONLY A PHYSICAL  REMOVAL OF CORE(VIRTAL IS NOT AFFECTED)\r
 ;SEE COMMENTS FOR CORE1\r
@@ -261,6 +259,7 @@ SCORE1:     SOS(PDP)                ;CORE1 WILL ALWAYS SKIP RETURN
                                ; AND FLUSH PHYSICAL CORE(LOGICAL CORE UNEFFECTED)\r
 \r
 \r
+\r
 ;CORE0 IS CALLED BY THE CORE MONITOR COMMAND AND THE CORE SHUFFLER\r
 \r
 ;AND RUN COMMAND\r
@@ -305,8 +304,7 @@ EXTERNAL JOBPR1,CPOPJ1,JOBPRT,USRPC,CORMAX
 ;THE CORE ROUTINES DO NOT ALTER THE HIGH SEG IN CORE COUT.  IT IS UP TO THE  CALLER\r
 ;(IN SEGCOR) TO CALL THE CORE ROUTINES ONLY IF IN CORE COUNT IS 0\r
 ;AND END OF SWAPIN OF LOW SEG AND HIGH SEG IS ALREADY IN CORE FOR OTHER USER\r
-\f\r
-CORE0:\r
+\fCORE0:\r
 IFE FTSWAP,<\r
        JUMPE PROG,CORGET       ;IS JOB WITHOUT CORE IN MEMORY?\r
 >\r
@@ -351,7 +349,7 @@ IFN FTTRPSET,<
        PUSHJ PDP,ANYACT        ;NO,ANY ACTIVE DEVICE?\r
        POPJ PDP,               ;YES, CANNOT ASSIGN CORE\r
                                ; NO, FALL INTO CORE1\r
-;ROUTINE TO TRY TO ASSIGN CORE IN CORE\r
+\f;ROUTINE TO TRY TO ASSIGN CORE IN CORE\r
 ;LOW OR HIGH SEG MUST NOT BE SWAPPED OUT(CALLER'S RESPONSIBILITY)\r
 ;AND MUST NOT HAVE ANY ACTIVE DEVICES(IT MAY HAVE 0 CORE IN CORE THOUGH)\r
 ;IN OTHER WORDS HIGH OR LOW SEG MAY OR MAY NOT HAVE VIRTUAL CORE\r
@@ -399,7 +397,7 @@ CORE1A: NOSCHEDULE          ;PREVENT JOB SCHEDULING
        HLRZ BLK,PROG           ;HIGHEST LEGAL REL. ADR.\r
        MOVEI T,0               ;CLEAR FOR CORSTG CALL\r
        PUSHJ PDP,CORSTG        ;RETURN OLD CORE TO FREE STORAGE\r
-;CORGET IS CALLED BY SWAPPER WHEN JOB IS ON DISC AND IS\r
+\f;CORGET IS CALLED BY SWAPPER WHEN JOB IS ON DISC AND IS\r
 ;WANTED IN CORE.\r
 \r
 CORGET:        SETZB LOC,PROG          ;SET NEW ASSIGNMENT TO 0 AND DIST. MOVED\r
@@ -434,7 +432,7 @@ IFE FTSWAP,<
                                ;OLD, CLEAR OUT INCREASED SO SECURITY WILL\r
                                ; BE MAINTAINED. TAC1 IS SIZE-1 OF OLD\r
                                ; ASSIGNMENT. -1 OF NO OLD ASSIGNMENT\r
-;HERE WHEN FREE CORE TABLE DOES NOT HAVE ENOUGH ROOM FOR REQUEST\r
+\f;HERE WHEN FREE CORE TABLE DOES NOT HAVE ENOUGH ROOM FOR REQUEST\r
 \r
 BAKOLD:\r
 IFN FTSWAP,<\r
@@ -455,8 +453,7 @@ IFE FTSWAP,<
 >\r
 BKOLD1: HLRZ TAC,JBTADR(ITEM)  ;GIVE BACK OLD CORE.\r
        JRST CORGET\r
-\f\r
-;MOVE OLD CORE TO NEW AREA\r
+\f;MOVE OLD CORE TO NEW AREA\r
 \r
 MOVCOR:        CAIN LOC,(BLK)          ;IS NEW CORE IN SAME PLACE AS OLD?\r
        JRST CLRCOR             ;YES, DO NOT MOVE IT,CLEAR IF INCREASE\r
@@ -464,8 +461,8 @@ MOVCOR:     CAIN LOC,(BLK)          ;IS NEW CORE IN SAME PLACE AS OLD?
        CAILE TAC1,(TAC)        ;IS OLD CORE LESS THEN NEW?\r
        HRRZ TAC1,TAC           ;NO, MOVE THE SHORTENED NEW CORE\r
 IFN FTTIME,<\r
-       EXTERNAL SHRWRD\r
-       ADDM TAC1,SHRWRD        ;INCREMENT TOTAL NO. WORDS SHUFFLED\r
+       EXTERNAL SHFWRD\r
+       ADDM TAC1,SHFWRD        ;INCREMENT TOTAL NO. WORDS SHUFFLED\r
 >\r
        ADD TAC1,LOC            ;ADD IN NEW RELOC.\r
        MOVE AC1,LOC            ;DEST.=NEW RELOC.\r
@@ -488,6 +485,7 @@ IFN FTTIME,<
        SETZM -1(TAC1)          ;CLEAR FIRST WORD\r
        HRLI TAC1,-1(TAC1)      ;SET LH TO FIRST ADR. TO CLEAR\r
        BLT TAC1,(TAC)          ;CLEAR THE INCREASE PORTION\r
+\f\r
 ;IF THE SHUFFLED JOB IS IN EXEC MODE, ITS DUMP ACS\r
 ;(PDP,PROG,JDAT SAVED IN JOB DATA AREA) MUST BE\r
 ;ALTERED BY DISTANCE CODE WAS MOVED\r
@@ -576,8 +574,7 @@ IFN FTSWAP,<
        SUBI LOC,2000(BLK)      ;YES, SET LOC TO FIRST BLOCK IN HOLD\r
        SOJA BLK,CPOPJ1         ;SET BLK TO HIGHEST REL. LOC.\r
                                ; AND RETURN\r
-\f\r
-;ROUTINE TO SET AND CLEAR CORE USE TABLE\r
+\f;ROUTINE TO SET AND CLEAR CORE USE TABLE\r
 ;CALL: MOVEI T,1       ;TO SET TABLE\r
        MOVEI T,0       ;TO CLEAR TABLE\r
 ;      MOVE BLK,HIGHEST REL. LOC. IN USER AREA\r
index ffb9188..78feb56 100644 (file)
@@ -1,10 +1,12 @@
+CDRSR6=CDRSR6
+CDRSRX=CDRSRX
 CLOCK1=CLOCK1
 CLKCSS=CLKCSS
 COMCON=COMCON
 COMMON=COMMON
 CORE1=CORE1
 DIS340=DIS340
-DIS34=DIS30
+DIST30=DIST30
 DCSINT=DCSINT
 DLSINT=DLSINT
 DPDINT=DPDINT
@@ -19,12 +21,15 @@ LPTSER=LPTSER
 MTCSR6=MTCSR6
 MTASRX=MTASRX
 NULSEG=NULSEG
+SEGCON=SEGCON
 PLTSER=PLTSER
 PTRSER=PTRSER
 PTPSER=PTPSER
 PTYSRF=PTYSRF
 PTYSRH=PTYSRH
 PATCH=PATCH
+SYSINI=SYSINI
+SYSMAK=SYSMAK
 ONCEB=ONCEB
 SCNSRF=SCNSRF
 SCHEDB=SCHEDB
index b2237ad..70bde24 100644 (file)
@@ -158,7 +158,7 @@ DISSTP:     MOVE ITEM,JOB           ;CLEAR NSHF SO JOB CAN BE SHUFFLED
        ANDCAM  TAC,JBTSTS(ITEM)\r
 \r
 DISIN1:        SETOM   PENLOC\r
-       MOVSI   TAC,DISWAT+DISUUO       ;IGNORE FURTHER TRAPS\r
+       MOVSI   TAC,DISWAT+DISUUI       ;IGNORE FURTHER TRAPS\r
        HRRI    TAC,IOACT       ;INDICATED DEVICE INACTIVE\r
        ANDCAM  TAC,DISIOS      ;INTO DEVICE DATA BLOCK\r
 DISOFF:        CONO    DIS,OFFDIS      ;REMOVE THE DISPLAY'S CHANNE; ASSIGNMENTS\r
@@ -357,7 +357,7 @@ CLOKRT:     XWD     CLOK,2          ;CONTROL FOR CLOCK QUEUE: 2 JIFFIES
 \r
 CLOK:  MOVSI   IOS,DISCKR      ;INDICATE CLOCK REQUEST SERVICED\r
        ANDCAB  IOS,DISIOS      ;...\r
-       TLDE IOS,DISUUI\r
+       TLOE IOS,DISUUI\r
        MOVSI   IOS,DISTAR      ;ASK DISPLAY TO RESTART\r
        IORB    IOS,DISIOS      ;...\r
        TLNN    IOS,DISWAT      ;HAS DISPLAY FINISHED?\r
index d20703c..21d7ec7 100644 (file)
Binary files a/src/dpdint.mac and b/src/dpdint.mac differ
index 6a55479..2b3f239 100644 (file)
@@ -290,3 +290,4 @@ DFORDR:     0       ;ITS  CORRESPONDING PHYSICAL DISK ADDRESS.
 \r
 >\r
 DSKEND:        END\r
+\0\0\0\0
\ No newline at end of file
index 6b6d9d2..30fe5b8 100644 (file)
@@ -54,7 +54,7 @@ SATXWD: XWD -NUMSAT,67                ;BLOCKS GO AT THESE ABSOLUTE  ADDRESSES
                                ; UNLESS USER SPECIFIES OTHERWISE DURING "ONCE".\r
 >\r
 IFE    FTRC10, <\r
-MDFBLK:        13000                   ;THIS BLOCK CONTAINS RETRIEVAL INFO, OF MFD\r
+MFDBLK:        13000                   ;THIS BLOCK CONTAINS RETRIEVAL INFO, OF MFD\r
 SATXWD:        XWD -NUMSAT,13001       ;LH=NUMBER OF SAT BLOCKS.\r
                                ;RH=FIRST SAT BLOCK NUMBER.\r
 >>\r
@@ -159,7 +159,7 @@ RUNUSR:     BLOCK   1               ;LH=DEVDAT OF USER JOB RUNNING
 USRCNT:        BLOCK   1               ;COUNT OF WAITING USER JOBS\r
 DFBUSY:        0                       ;-1 IF DISK CONTROL IN USE, 0 IF FREE\r
 FAT:   0                       ;POINTER TO FIRST ACCESS TABLE ENTRY\r
-DKSMOT:        0                       ;COUNT OF VARIOUS CHECKSUM ERRORS\r
+CKSMCT:        0                       ;COUNT OF VARIOUS CHECKSUM ERRORS\r
 REFLAG:        0                       ;CONTAINS A PPN TO ALLOW LOGIN AFTER REFRESH\r
 UXFERS:        0                       ;TOTAL USER TRANSFER ATTEMPTED\r
 ECOUNT:        0                       ;TOTAL HARDWARE ERRORS ON USER TRANSFERS\r
@@ -174,7 +174,7 @@ SATTMP:     BLOCK 1                 ; ROUTINE TO AVOID PUSH-DOWN LIST OVERFLOW.
 IFN FTRA10, <\r
 EXTERNAL MFDBLK,SATXWD,NUMBLK,SATENT,SENTSZ,SATTOP\r
 >\r
-IFE FTRA10,<\r
+IFE FTRA10, <\r
 INTERNAL SATENT\r
 \r
 IFN    FTRC10, <\r
@@ -186,7 +186,7 @@ IFE FTRC10, <
                                ;ONE SAT BLOCK ON THE DATA PRODUCTS 270 DISK.\r
 >\r
        XP      SENTSZ,3                ;SIZE OF EACH SATENT ENTRY\r
-IFN    FTREC10, <\r
+IFN    FTRC10, <\r
 DSKXDB=0                       ;ON PDP-10 DISK FILE STORAGE BEGINS IN LOGICAL\r
                                ; BLOCK NO. 0,\r
 >\r
@@ -203,12 +203,12 @@ SATENT:   REPEAT  NUMSAT,<
                                ; IN SAT BLOCK\r
        DSKXDB=DSKXDB+NUMBLK>\r
 \r
-       XP      SATTOP,SATENT*SENTSZ*NUMSAT-SENTSZ\r
+       XP      SATTOP,SATENT+SENTSZ*NUMSAT-SENTSZ\r
 >;END OF FTRA100 CONDITIONAL\r
 \r
 SAT:   BLOCK   200             ;CURRENT SAT BLOCK\r
 \r
-       XP      SAATM2,SAT-2    ;LOWEST ABS, ADR-1 ALLOWED IN CHANNEL COMMAND\r
+       XP      SATM2,SAT-2     ;LOWEST ABS, ADR-1 ALLOWED IN CHANNEL COMMAND\r
                                ; LIST - USED TO KEEP FROM WIPING OUT MONITOR.\r
 SATBK2:        XWD     -200,SAT\r
 \f\r
@@ -282,7 +282,7 @@ MONBUF:     BLOCK 200               ;MONITOR BUFFER, USED TO READ RETRIEVAL POINTERS, ETC.
 \r
 NOTINU=0                       ;NO SUCH FILE\r
 NOTINM=1                       ;NO SUCH USER\r
-PHOTF=2                                ;PROTECTION FAILURE\r
+PROTF=2                                ;PROTECTION FAILURE\r
 NORITE=3                       ;MORE THAN 1 WRITE TO A FILE\r
 RENFAL=4                       ;TRIED TO RENAME FILE TO EXISTING NAME OR ENTER\r
                                ; A NULL FILE NAMES\r
@@ -571,7 +571,7 @@ DFLUK3:     AOS TBITS(TAC)          ;INCREMENT RCOUNT
        TLZE IOS,PRCHG          ;PROTECTION CHANGE FAILURE?\r
        JRST DFLUK7             ;YES. ERROR RETURN\r
        MOVSI DAT,200000        ;READ PROTECTION BIT\r
-       PUSH J PDP,PROTEK       ;READ PROTECTED?\r
+       PUSHJ PDP,PROTEK        ;READ PROTECTED?\r
        JRST DFERR3             ;NAME WRONG\r
        JRST DFLUK7             ;PROTECTION FAILURE\r
 \r
@@ -954,16 +954,16 @@ PROTKY:   MOVE ITEM,JOB
        TLNE AC1,-1             ;NO, SAME PROJECT?\r
        ROT DAT,-3              ;NO, ROTATE TO UNIVERAL FIELD\r
 \r
-PROT1: TLZ DAT,60000   ;DO NOT TEST OWNER READ OR PROTECT PROTECTION\r
+PROT1: TLZ DAT,60000           ;DO NOT TEST OWNER READ OR PROTECT PROTECTION\r
        TDNN DAT,2(TAC)\r
-       JRST CPOPJ1     ;PROTECTION O.K.\r
+       JRST CPOPJ1             ;PROTECTION O.K.\r
        MOVE AC1,PRJPRG(ITEM)\r
-       CAMN AC1,DUMPPP ;EQUAL TO DUMPPER PROJECT\r
-                       ;PROGRAMMER NUMBER?\r
-       AOS(PDP)        ;YES, ALL FILES AVAILABLE\r
+       CAMN AC1,DUMPPP         ;EQUAL TO DUMPPER PROJECT\r
+                               ;PROGRAMMER NUMBER?\r
+       AOS(PDP)                ;YES, ALL FILES AVAILABLE\r
        POPJ PDP,\r
 \f\r
-;CLOSE UUO\r
+       CLOSE UUO\r
 ;CLOSE AN OUTPUT FILE\r
 \r
 EXTERNAL PIOMOD,WAIT1,OUT\r
@@ -1381,7 +1381,7 @@ WUFD1:    PUSHJ PDP,MQOUT         ;WRITE UFD BLOCK
        JRST WUFD3              ;WRITE ERROR\r
        MOVE TAC,DEVOAD(DEVDAT)\r
        TLO IOS,NMP             ;SET NMP\r
-       MOVEM IOS,DEVIOS(DEVDAT) ;SO DFO4A WON'T READ POINTERS\r
+       MOVEM IOS,DEVIOS(DEVDAT) ;SO  WON'T READ POINTERS\r
        TLN TAC,PNTDIF          ;WERE POINTERS CHANGED?\r
        PUSHJ PDP,DFO4A         ;YES, WRITE THEM OUT.\r
        SOSL AUREQ              ;RELEASE UFD RESOURCE\r
@@ -1511,7 +1511,7 @@ DFDO1A:   PUSHJ PDP,SATGET        ;AQUIRE A NON-FULL SAT BLOCK
        MOVMS ITEM\r
        ADDI ITEM,BLKSIZ-1      ;MAKE E.G. 129 WORDS USE 2 DISK BLOCK\r
        ASH ITEM,-BLKP2         ;NUMBER OF BLOCK REQUIRED FOR THIS WRITE\r
-DFDO2A:        HRRZ AC1,SATPTR\r
+DFD02A:        HRRZ AC1,SATPTR\r
        MOVE AC2,SATBK2\r
 DFDO1B:        PUSHJ PDP,GETBIT        ;ASK FOR C(ITEM BITS)\r
        JRST DFDO6              ;NOT AVAILABLE\r
@@ -2016,7 +2016,7 @@ DFIN4:    MOVEI AC2,PTR1(DEVDAT)  ;RESET DEVACC
        MOVE TAC,DEVBLK(DEVDAT) ;RESET DEVBKO\r
        MOVEM TAC,DEVBKO(DEVDAT) ;BLOCK # WORD INDEX OF A CURRENT RETRIEVAL PACKET\r
 GTPTR1:        PUSHJ PDP,SET000        ;SET TAC1 TO FIRST WORD OF RIB\r
-       MOVE IOS,DEVIOS(DEVDAT) \r
+\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f      MOVE IOS,DEVIOS(DEVDAT) \r
        HRRZ AC3,DEVBLK(DEVDAT) ;WORD INDEX OF RETRIEVAL POINTER PACKET\r
        ADD AC3,TAC1            ;AC3 POINTS TO NEXT POINTER WITHIN RIB\r
        ADDI TAC1,BLKSIZ-2      ;TAC1 POINTS TO WORD 127\r
@@ -2109,7 +2109,7 @@ DFOUT1:   HRRZ DAT,DEVACC(DEVDAT) ;*GET POINTER LOC
                ORM TAC1,DEVOAD(DEVDAT)\r
                MOVEM TAC,@DAT>\r
 \r
-DFOT3A:        CAIE DAT,PRTN(DEVDAT)   ;*LIST FULL?\r
+DFOT3A:        CAIE DAT,PTRN(DEVDAT)   ;*LIST FULL?\r
        JRST QOUT               ;*NO, WRITE AND LEAVE\r
 \r
 ;OUTPUT UUO CONTINUED.\r
@@ -2503,7 +2503,7 @@ SUBTTL "FREE" CORE ALLOCATION
 INTERNAL CLRDDB\r
 \r
 CLRDDB:        MOVEI TAC,DSKDDB        ;POINT TO PROTOTYPE DDB\r
-CLRDB1:        MOVE TAC1,TAC           ;COPY LINK TO TAC1\r
+CLDDB1:        MOVE TAC1,TAC           ;COPY LINK TO TAC1\r
        HLRZ TAC,DEVSER(TAC1)   ;GET LINK TO NEXT DDB\r
        JUMPE  TAC,CPOPJ        ;0 MEANS END\r
        CAIE TAC,(DEVDAT)       ;OWNED BY CURRENT USER?\r
@@ -2584,7 +2584,7 @@ SETBF5:   HRLI TAC1,NBLKSZ
 \r
 SETBF6:        AOSE MQREQ\r
        PUSHJ PDP,MQWAIT\r
-       TLO IUOS,UBFU           ;BUFFER IN MONITOR CORE\r
+       TLO IOS,UBFU            ;BUFFER IN MONITOR CORE\r
        MOVEI TAC1, MONBUF      ;TAC1 POINTS TO MONITOR BUFFER\r
        JRST SETBF5\r
 \r
@@ -2644,7 +2644,7 @@ GETZ2:    AOBJP TAC,CPOPJ
        CAMN DAT,(TAC)\r
        JRST GETZ2\r
 \r
-GETZ3: TONE TAC1,(TAC)\r
+GETZ3: TDNE TAC1,(TAC)\r
        JRST GETZ1\r
        JRST CPOPJ\r
 \r
@@ -2900,7 +2900,7 @@ EXTERNAL MQTOP,MQUEUE
 \r
 DFINT:\r
        IFN FTSWAP,<\r
-       EXTERNAL SQREQ,SERA,SOGO,SWPINT\r
+       EXTERNAL SQREQ,SERA,SQGO,SWPINT\r
        MOVE TAC,SERA           ;*WAS THAT A SWAPPING JOB?\r
        TLNE TAC,200000         ;*\r
        JRST SWPINT             ;*YES\r
@@ -2979,7 +2979,7 @@ DFINT3:   HRRM IOS,DSKCNT(DEVDAT) ;SAVE ANY ERRORS
 DFINT4:        MOVEM IOS,DEVIOS(DEVDAT) ;CLEAR IOACT\r
 DINT4A:        IFN FTSWAP,<\r
        SKIPE SQREQ             ;SWAPPING JOB WAITING?\r
-       JRST SOGO               ;YES,START IT\r
+       JRST SQGO               ;YES,START IT\r
        >\r
 INTERNAL DINT4B\r
 \r
@@ -3015,7 +3015,7 @@ DFINT6:   ANDCAM TAC,DEVOAD(DEVDAT) ;CLEAR OUTPUT WAIT BIT IN DDB
        JRST USRGO\r
 \r
 ;START UP A USER READ\r
-\r
+\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\r
 DFINT7:        ANDCAM TAC,DEVIAD(DEVDAT) ;CLEAR INPUT WAIT BIT IN DDB\r
 \r
 USRGO: MOVSM DEVDAT,RUNUSR     ;SAVE DEVDAT FOR USE AT DFINT\r
@@ -3235,7 +3235,7 @@ WLERA:    HLR TAC,DSKCNT(DEVDAT)  ;PICK UP BLOCK NUMBER.
 ;SET WRITE-LOCK INDICATION IN A SAT ENTRY.\r
 ;ENTER WITH A BLOCK NUMBER IN TAC.\r
 \r
-SETWL: MOVEI TAC1,SETENT       ;*\r
+SETWL: MOVEI TAC1,SATENT       ;*\r
        JRST .+2                ;*\r
 SETWL1:        ADDI TAC1,SENTSZ        ;*\r
        HLRZ ITEM,@TAC1         ;*IS THE BLOCK IN THIS SAT ENTRY?\r
@@ -3248,3 +3248,4 @@ SETWL1:   ADDI TAC1,SENTSZ        ;*
 \r
 DSKSR: END\r
 \f\r
+\0\r
index 2f8d0bd..c0530cc 100644 (file)
@@ -81,11 +81,11 @@ DTADDB:     SIXBIT  /DTA0/
 \r
 \r
 DTADIR:        BLOCK   200\r
-DTADDS=.-DTADDR\r
+DTADDS=.-DTADDB\r
 \r
        JRST    DTAINI\r
        JRST    HUNGTP          ;HUNG DEVICE\r
-DTADSP JRST    UREL\r
+DTADSP:        JRST    UREL\r
        JRST    UCLS\r
        JRST    UOUT\r
        JRST    UIN\r
@@ -103,7 +103,7 @@ DTADSP      JRST    UREL
 \f      HRRZ    TAC1,UUO        ;MTAPE - GET OPERATION\r
        CAIE    TAC1,1          ;REWIND OR\r
        CAIN    TAC1,11         ;REWIND UNLOAD ARE LEGAL\r
-       SOJA    TAC1,MTA0\r
+       SOJA    TAC1,MTAP0\r
        POPJ    PDP,            ;OTHERS ARE NO-OPS\r
 \r
 ;INITIALIZE DTC\r
@@ -208,7 +208,7 @@ NMLOOK:     SKIPN   TAC1,@UUO       ;GET NAME
        MOVEM   TAC1,DEVFIL(DEVDAT)     ;STORE FOR RENAME AND SUPERSEDING\r
                                ; SHARED SEGMENTS\r
        CAMN    TAC1,(TAC)      ;TEST FOR MATCH\r
-       AOJA    UUOI,NMFOUN     ;FOUND NAME, CHECK EXTENSION\r
+       AOJA    UUO,NMFOUN      ;FOUND NAME, CHECK EXTENSION\r
        AOBJN   TAC,.-2         ;TRY NEXT NAME\r
        POPJ    PDP,            ;NOT FOUND\r
 NMFOUN:        HLLZ    TAC1,@UUO       ;PICK UP USER'S EXTENSION\r
@@ -296,7 +296,7 @@ DLETE:      MOVEI   TAC1,0          ;SET TO DELETE BLOCKS
 ENTR:  TRNE    IOS,UDSD        ;NON STANDARD?\r
        JRST    CPOPJ1          ;YES. RETURN\r
        PUSHJ   PDP,DSERCH      ;NO. LOOK FOR MATCH\r
-       JRST    NEWNT           ;THIS IS A NEW ENTRY\r
+       JRST    NEWENT          ;THIS IS A NEW ENTRY\r
 ENTR2: MOVE    TAC1,@UUO       ;PICK UP 2ND WORD (EXTENSSION)\r
        AOS     UUO             ;POINT TO WORD 3\r
        HRR     TAC1,@UUO       ;ADD DATE\r
@@ -317,7 +317,7 @@ ENTRA:      SUBI    UUO,2           ;NO. POINT TO NAME
        HRLM    TAC,OBLK(DEVDAT) ;SAVE INDEX IN DDB\r
 \r
        PUSHJ   PDP,DLETE       ;DELETE ALL BLOCKS BELONGING TO FILE\r
-       AOJE    AC3,FNTRD       ;FIND FIRST FREE BLOCK ON TAPE IF THIS\r
+       AOJE    AC3,ENTRD       ;FIND FIRST FREE BLOCK ON TAPE IF THIS\r
                                ;IS A SAVE FILE (UGETF DONE)\r
        MOVEI   BLK,DIRBLK      ;NO. GET 1ST BLOCK CLOSE TO\r
        TLO     IOS,RVERSE      ;DIRECTORY. GOING IN REVERSE\r
@@ -342,7 +342,7 @@ MARKDR:     PUSHJ   PDP,DRPTR       ;SET POINTER TO BLOCK IN DIR
 ;;SET POINTER TO CORRECT DIRECTORY ENTRY\r
 DRPTR: SUBI    BLK,1           ;SET FOR ILDB OR IDPB\r
        IDIVI   BLK,7           ;COMPUTE WORD, POSITION\r
-       ADD     BLK,OLOC(DEVDAT) ;GET CORRECT ADDRESS\r
+       ADD     BLK,DLOC(DEVDAT) ;GET CORRECT ADDRESS\r
        HRLI    BLK,440500      ;MAKE IT A BYTE POINTER\r
        JUMPE   DAT,CPOPJ       ;CORRECT FOR POSITION IN WORD\r
        IBP     BLK\r
@@ -451,7 +451,7 @@ UCLS:       TLZE    IOS,NOLINK      ;IS LAST BLOCK NOT LINKED?
        JRST    OUT             ;GO TO WRITE RECORD\r
 \r
 ;HERE TO CLOSE A DUMP MODE FILE\r
-CLSDMP:        TLO     IOS,DMPOCLS+IO+DMPMOD ;SET SWITCHES\r
+CLSDMP:        TLO     IOS,DMPCLS+IO+DMPMOD ;SET SWITCHES\r
        PUSHJ   PDP,GETDT       ;GET CONTROL\r
        SETZM   BUF             ;ENSURE ZERO LINK,WORDCOUNT\r
        SETZM   BUF+1           ;MAKE SURE 0, SO CAN GET WITH 3 SERIES MON.\r
@@ -589,7 +589,7 @@ UOUT:       TLO     IOS,IO
        HRRZ    BLK,OBLK(DEVDAT)\r
        CAIN    BLK,DIRBLKK     ;CHECK IF WRITING DIRECTORY\r
        JRST    COR2HM          ;YES, WRITE CORE IMAGE\r
-       JUMPE   BLK,FAKAV       ;DONT WRITE IF NO BLOCK GIVEN\r
+       JUMPE   BLK,FAKADV      ;DONT WRITE IF NO BLOCK GIVEN\r
 \r
        PUSHJ   PDP,BLKCHK      ;CHECK FOR LEGAL BLOCK\r
 UOUT2: TLNN    IOS,DMPMOD      ;ALREADY HAVE CONTROL IF DUMP-MODE\r
@@ -655,7 +655,7 @@ DMPSET:     PUSHJ   PDP,GETDT       ;GET CONTROL
        JRST    DMPTS1          ;YES. RETURN\r
        IFN CPBIT, <\r
        TRNE    IOS,UDSD        ;NO. NON-STD MODE?\r
-       SOJA    DAT,TDUSER      ;YES. GO ELSEWHERE\r
+       SOJA    DAT,TOUSER      ;YES. GO ELSEWHERE\r
 >\r
 DMPST2:        SOS     UUO             ;NO. SAVE START OF LIST (-1)\r
        MOVEM   UUO,DMPLST(DEVDAT)\r
@@ -666,7 +666,7 @@ DMPTS1:     POP     PDP,TAC
 \r
        IFN CPBIT, <\r
 ;HERE TO START DUMP-MODE INTO USER AREA DIRECTLY\r
-TOUSRF:        JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE\r
+TOUSER:        JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE\r
        ASH     DAT,-7          ;NUMBER OF WRDS IN LIST /200\r
        AOS     DAT\r
        MOVEM   DAT,BLKCNT      ;SAVE TO UPDATE POSITION\r
@@ -696,7 +696,7 @@ DMPFIL:     MOVSI   TAC1,-177
 >\r
 DMPFLB:        PUSHJ   PDP,NXTCOM      ;GET NEXT COMMAND\r
        JRST    DMPOTH          ;END OF LIST\r
-DMPLFA:        MOVE    TEM,(TAC)       ;GET NEXT WORD\r
+DMPFLA:        MOVE    TEM,(TAC)       ;GET NEXT WORD\r
        MOVEM   TEM,BUF+1(TAC1) ;INTO BUFFER\r
        AOBJP   TAC1,DMPOVR     ;BUFFER FULL IF GOES\r
        AOBJN   TAC,.-3         ;GET NEXT WORD FROM COMMAND\r
@@ -734,7 +734,7 @@ NXTCOM:     SKIPN   DMPLST(DEVDAT)  ;END OF COMMANDS?
 NXTCM1:        HRRM    TAC,DMPLST(DEVDAT) ;STORE GO-TO ADDRESS\r
        MOVE    TAC,@TAC        ;GET COMMAND\r
        JUMPE   TAC,NXTCM2      ;END OF LIST\r
-       JUMPG   TAX,NXTCM1      ;GO-TO WORD\r
+       JUMPG   TAC,NXTCM1      ;GO-TO WORD\r
        ADDI    TAC,(PROG)      ;REAL COMMAND - ADD RELOCATION\r
        AOJA    TAC,CPOPJ1      ;AND RETURN\r
 \f;END OF DUMP-MODE LIST\r
@@ -782,7 +782,7 @@ IOGO2:      CONO    DTC,DTBOTH(TAC1) ;START READ OR WRITE
 \f;HERE IF TAPE IS GOING IN REVERSE WHEN BLOCK NUMBER FOUND\r
 IORVRS:        ADDI    TAC,176         ;START AT TOP OF BUFFER\r
        MOVE    TEM,[JSR RVERS]\r
-       JRST    TOGO            ;COMPILCATED STUFF FOR EACH WORD\r
+       JRST    IOGO            ;COMPILCATED STUFF FOR EACH WORD\r
 \r
 ;HERE FOR AY DATA WORD WITH TAPE IN REVERSE\r
 RVERS: 0\r
@@ -894,7 +894,7 @@ SRCHA:      CONSZ   DTC,100000      ;IF TAPE IS IN REVERSE
        JRST    SRCHXT          ;AND GO AWAY\r
        MOVMS   TAC\r
        CAILE   TAC,MINDIS      ;WORTH WHILE TO DISCONNECT TAPE?\r
-       JRST    BEKON           ;YES. GO DISCONNECT\r
+       JRST    REKON           ;YES. GO DISCONNECT\r
        SKIPLE  DISCON          ;NO. IS THERE A DISCON. TAPE\r
                                ;WHICH HAS TIMED OUT?\r
        CAIG    TAC,2           ;YES. WILL THIS SEARCH TAKE LONG?\r
@@ -906,18 +906,18 @@ SRCHXT:   MOVE    TAC,TEMP        ;RESTORE TAC
        SETZM   ALMSWT\r
        JEN     @SRCH           ;AND DISMISS THE INTERRUPT\r
 \f;HERE IF AN ILLEGAL BLOCK WAS READ FROM THE TAPE\r
-SRCHR: AOS     TAC,ERRCNT      ;BUMP ERROR COUNT\r
-       CAIG    TAC,DTTRV       ;TRIED ENOUGH?\r
+SRCHB: AOS     TAC,ERRCNT      ;BUMP ERROR COUNT\r
+       CAIG    TAC,DTTRY       ;TRIED ENOUGH?\r
        JRST    SRCHXT          ;NO. READ ANOTHER BLOCK NUMBER\r
        SETOM   BLOCK           ;YES. BLOCK = -1 AS AN ERROR SWITCH\r
-       CONO    DTA,770001      ;FUNCTION STOP\r
+       CONO    DTS,770001      ;FUNCTION STOP\r
        JRST    SRCHXT          ;GO AWAY\r
 \r
        IFN CPBIT, <\r
 SRCHC: CONSZ   DTC,100000      ;GOING FORWARD?\r
        TLCA    TAC,400000      ;NO. SWITCH TURN AROUND TEST. ENSURE FORWARD\r
        JUMPE   TAC,FOUND       ;GO IF FOUND FORWARD\r
-       SKIPI   TAC             ;TURN AROUND?>\r
+       SKIPL   TAC             ;TURN AROUND?\r
        CONO    DTC,DTTURN      ;YES\r
        JRST    SRCHXT          ;READ ANOTHER BLOCK NUMBER\r
 >\r
@@ -1011,7 +1011,7 @@ SWPBAK:   MOVE    IOS,DEVIOS(DEVDAT)
        SETM    MONB2           ;CLEAR JOB NO, FROM MON BUFFER\r
        TLNN    IOS,IOFST       ;WAS JOB SWAPPED OUT WHEN DATA FINISHED?\r
        POPJ    PDP,            ;NO. TRANSFER COMPLETED\r
-       MOVE    TAC,JBTSTS(ITEM) ;YES, WAS IO ABORTED?>\r
+       MOVE    TAC,JBTSTS(ITEM) ;YES, WAS IO ABORTED?\r
        TRNN    TAC,ALBORT\r
        JRST    FAKINT          ;NO. NOW TRANSFER DATA, ADVANCE BUFFERS\r
        JRST    THRUTP          ;YES. FORGET REST OF OPERATION\r
@@ -1083,7 +1083,7 @@ FOUND:    MOVEM   TAC1,FNDTMP     ;SAVE THOSE ACS THAT WILL BE USED
        MOVEM   TEM,RVERS\r
        EXCH    DEVDAT,USEWRD\r
        EXCH    IOS,DEVIOS(DEVDAT)\r
-       ECHO    PDP,FNDPDP\r
+       EXCH    PDP,FNDPDP\r
        PUSHJ   PDP,@DISPAD(DEVDAT)     ;GO TO DISPATCH LOCATION\r
        EXCH    PDP,FNDPDP              ;RESTORE ACS\r
        EXCH    IOS,DEVIOS(DEVDAT)\r
@@ -1169,7 +1169,7 @@ DTAIN2:   TLNE    IOS,DMPMOD      ;DUMP MODE?
        HRRM    BLK,IBLK(DEVDAT) ;DAVE IN DDB\r
        TRNE    IOS,IODTER+IODERR+IOIMPM\r
        JRST    THRUIN\r
-       PUSHJ   PDP,ADVBUFF     ;GET NEXT BUFFER\r
+       PUSHJ   PDP,ADVBFF      ;GET NEXT BUFFER\r
        JRST    THRUIN          ;EMPTY BUF NOT AVAILABLE\r
 \r
        SKIPLE  DISCON          ;TAPE TIMED OUT?\r
@@ -1193,7 +1193,7 @@ THRUTP:   SKIPLE  TAC,DISCON      ;TAPE TIMED OUT?
 THRUTD:        SOSL    DTREQ           ;BUMP COUNT DOWN\r
        SETOM   DTAVAL          ;TELL SCHEDULER\r
 THRUTA:        CONO    DTC,10000       ;DESELECT CONTROL\r
-       TLZ     IOS,DMPMOD+NOBUF+DMPCLS+PEWBIT+RUNBIT\r
+       TLZ     IOS,DMPMOD+NOBUF+DMPCLS+REWBIT+RUNBIT\r
        SETZM   USEWRD          ;INDICATE CONTROL NOW FREE\r
        JRST    CLRACT          ;RESET IOACT AND RETURN\r
 \r
@@ -1266,9 +1266,9 @@ SVDMTH:   SKIPLE  DISCON          ;HAS A TAPE TIMED OUT
        SUB     TAC1,ONEONE     ;SET UP TAC1 WITH COUNT\r
 >\r
        TLNN    IOS,IO\r
-       JRST    SVOMIN          ;INPUT FILE\r
+       JRST    SVDMIN          ;INPUT FILE\r
        HRRZ    BLK,OBLK(DEVDAT) ;OUTPUT FILE, NEXT BLOCK\r
-       JUMPF   BLK,DMPTHA      ;LAST BLOCK\r
+       JUMPE   BLK,DMPTHA      ;LAST BLOCK\r
        IFE     CPBIT, <\r
        TRNE    IOS,UDSD        ;IF NON-STD MODE\r
        AOSA    OBLK(DEVDAT)    ;WRITE CONSECUTIVE BLOCKS\r
@@ -1329,7 +1329,7 @@ DMIFLB:   MOVE    TEM,BUF+1(TAC1) ;NEXT DATA WORD
        JUMPE   BLK,DMPEOF      ;IF EOF - LIGHT BIT\r
 RDNXT: CAIG    BLK,TOPBLK      ;BLOCK LEGAL?\r
        JRST    READBC          ;GO READ BLOCK NUMBER\r
-       TROA    IOS,IOBLKT      ;LIGHT ERROR BIT\r
+       TROA    IOS,IOBKTL      ;LIGHT ERROR BIT\r
 \r
 ;EOF BEFORE ALL DATA IS IN - DUMP MODE\r
 DMPEOF:        TRO     IOS,IODEND      ;LIGHT EOF BIT\r
@@ -1349,7 +1349,7 @@ ERRS:     AOS     TAC,ERRCNT      ;BUMP COUNT
 >\r
 ERRS1: CONSO   DTS,40000       ;IF ILLEGAL OP - DONT RETRY\r
        CAILE   TAC,DTTRY       ;ENOUGH REREADS?\r
-       JRST    PERMET          ;YES. PERMANENT ERROR\r
+       JRST    PERMER          ;YES. PERMANENT ERROR\r
        JRST    FNDBL2          ;NO. TRY AGAIN\r
 \r
 ;PERMANENT ERROR\r
@@ -1363,7 +1363,7 @@ DERR:     TRO     IOS,IODERR      ;MISSED DATA
        TRO     IOS,IOIMPM      ;ILLEGAL OP\r
        TLNE    IOS,DMPMOD      ;DUMP MODE?\r
        JRST    DMPTHR          ;YES. NOT THROUGH YET\r
-       TLNN    IOS,IO+RDDIR+SINGL\r
+       TLNN    IOS,IO+RWDIR+SINGL\r
        JRST    DTAIN2\r
 REWDUN:        TLZE    IOS,IOW\r
        PUSHJ   PDP,SETIOD      ;NO. TAKE OUT OF IO WAIT\r
@@ -1371,9 +1371,9 @@ REWDUN:   TLZE    IOS,IOW
        JRST    THRUTP          ;NO. RETURN TO USER\r
        PUSHJ   PDP,THRUTP      ;YES. STOP TAPE\r
        MOVSI   TAC,DVDIRIN     ;CLEAR DIRECTORY IN CORE BIT\r
-       ANDCAM  TAC,DEVMOND(DEVDAT)\r
+       ANDCAM  TAC,DEVMOD(DEVDAT)\r
 BDDIR: LDB     ITEM,PJOBN      ;NUMBER OF OFFENDING JOB\r
-       JRST    RADDIR          ;GO PRINT ERROR MESSAGE\r
+       JRST    BADDIR          ;GO PRINT ERROR MESSAGE\r
 \f      INTERN  DTABUF\r
 BFPNTR:        IOWD    200,BUF+1\r
 ONEONE:        XWD     1,1\r
@@ -1395,7 +1395,7 @@ BLKCNT:   0
 SVPNTR:        0\r
 \r
 USPNTR:        0\r
-DIRCNT:        0\r
+DIRCTN:        0\r
 >\r
 ;THIS IS THE MONITOR BUFFER\r
 DTABUF:\r
index d8286ce..8d0970e 100644 (file)
@@ -1,11 +1,11 @@
 TITLE  DTCSRN - NEW FORMAT DECTAPE SERVICE FOR 551 (PDP-6)\r
 SUBTTL DTA551 A.WACHS/TW/RCC 01 JUN 69  V012\r
-       XP      VDTASR,012      ;GLOBAL VERSION NUMBER FOIR LOADER STORAGE MAP.\r
+       XP      VDTASR,012      ;GLOBAL VERSION NUMBER FOR LOADER STORAGE MAP.\r
 \r
        ENTRY   DTCSRN   ;ENTRY POINT FOR SELECTIVE LOAD BY BUILD\r
 DTCSRN:\r
 EXTERNAL       TPOPJ,TPOPJ1,DTCCHL,DCOUT,DCIN,DCON,DCOFF\r
-EXTERNAL       STOIOS,STOTAC,SETACT,CLRACT,OUT,DTASAV,PIOMOD\r
+EXTERNAL       STOIOS,STOTAC,SETACT,CLRACT,OUT,DTCSAV,PIOMOD\r
 \r
 EXTERNAL       DTAVAL,DTREQ,SETIOD,THSDAT,PUNIT,GETDCDT\r
 EXTERNAL       ADVBFE,ADVBFF,ADRERR,WAIT1,CPOPJ,CPOPJ1,BADDIR\r
@@ -74,7 +74,7 @@ DTCDDS=.-DTCDDB
 \r
        JRST    DTCINI\r
        JRST    THRUTP          ;HUNG DEVICE\r
-DTADSP JRST    UREL\r
+DTCDSP:        JRST    UREL\r
        JRST    UCLS\r
        JRST    UOUT\r
        JRST    UIN\r
@@ -125,10 +125,10 @@ STOWD4:   IMUL    TAC1,[-177]     ;-NUMBER OF WORDS IF ALL BLOCKS FULL
        TLO     IOS,SINGL       ;JUST READ 1 RECORD\r
        MOVEI   BLK,DIRBLK      ;NO, FIND FIRST MENTION OF BLOCK\r
        PUSHJ   PDP,LSTFRE+1    ;NEAR DIRECTORY\r
-       JUMPN   BLK,LOOKE       ;FOUND IF BLK NOT =0\r
+       JUMPN   BLK,.+3         ;FOUND IF BLK NOT =0\r
 LOOKD: PUSHJ   PDP,BLKSRC      ;FIND FIRST MENTION IN DIRECTORY\r
        JRST    BDDIR           ;NOT THERE - ERROR\r
-LOOKE: PUSHJ   PDP,RDBLUK      ;GO READ IT\r
+       PUSHJ   PDP,READBF      ;GO READ IT\r
        PUSHJ   PDP,WAIT1       ;WAIT TILL IT'S IN\r
        HRLM    AC1,IBLK(DEVDAT) ;SAVE INDEX ON INPUT FILE FOR LATER\r
                        ;TEST ON ENTER - WONT ALLOW ENTER\r
@@ -189,7 +189,7 @@ NMLOOK:     SKIPN   TAC1,@UUO       ;GET NAME
        MOVEM   TAC1,DEVFIL(DEVDAT)     ;STORE FOR RENAME AND SUPERSEDING\r
                                ; SHARED SEGMENTS\r
        CAMN    TAC1,(TAC)      ;TEST FOR MATCH\r
-       AOJA    UUOI,NMFOUN     ;FOUND NAME, CHECK EXTENSION\r
+       AOJA    UUO,NMFOUN      ;FOUND NAME, CHECK EXTENSION\r
        AOBJN   TAC,.-2         ;TRY NEXT NAME\r
        POPJ    PDP,            ;NOT FOUND\r
 NMFOUN:        HLLZ    TAC1,@UUO       ;PICK UP USER'S EXTENSION\r
@@ -277,7 +277,7 @@ DLETE:      MOVEI   TAC1,0          ;SET TO DELETE BLOCKS
 ENTR:  TRNE    IOS,UDSD        ;NON STANDARD?\r
        JRST    CPOPJ1          ;YES. RETURN\r
        PUSHJ   PDP,DSERCH      ;NO. LOOK FOR MATCH\r
-       JRST    NEWNT           ;THIS IS A NEW ENTRY\r
+       JRST    NEWENT          ;THIS IS A NEW ENTRY\r
 ENTR2: MOVE    TAC1,@UUO       ;PICK UP 2ND WORD (EXTENSSION)\r
        AOS     UUO             ;POINT TO WORD 3\r
        HRR     TAC1,@UUO       ;ADD DATE\r
@@ -298,7 +298,7 @@ ENTRA:      SUBI    UUO,2           ;NO. POINT TO NAME
        HRLM    TAC,OBLK(DEVDAT) ;SAVE INDEX IN DDB\r
 \r
        PUSHJ   PDP,DLETE       ;DELETE ALL BLOCKS BELONGING TO FILE\r
-       AOJE    AC3,FNTRD       ;FIND FIRST FREE BLOCK ON TAPE IF THIS\r
+       AOJE    AC3,ENTRD       ;FIND FIRST FREE BLOCK ON TAPE IF THIS\r
                                ;IS A SAVE FILE (UGETF DONE)\r
        MOVEI   BLK,DIRBLK      ;NO. GET 1ST BLOCK CLOSE TO\r
        TLO     IOS,RVERSE      ;DIRECTORY. GOING IN REVERSE\r
@@ -323,7 +323,7 @@ MARKDR:     PUSHJ   PDP,DRPTR       ;SET POINTER TO BLOCK IN DIR
 ;;SET POINTER TO CORRECT DIRECTORY ENTRY\r
 DRPTR: SUBI    BLK,1           ;SET FOR ILDB OR IDPB\r
        IDIVI   BLK,7           ;COMPUTE WORD, POSITION\r
-       ADD     BLK,OLOC(DEVDAT) ;GET CORRECT ADDRESS\r
+       ADD     BLK,DLOC(DEVDAT) ;GET CORRECT ADDRESS\r
        HRLI    BLK,440500      ;MAKE IT A BYTE POINTER\r
        JUMPE   DAT,CPOPJ       ;CORRECT FOR POSITION IN WORD\r
        IBP     BLK\r
@@ -456,7 +456,7 @@ GETDT:      PUSHJ   PDP,GETDCDT     ;GET DATA CONTROL. DECTAPE CONTROL
        JRST    SETACT          ;LIGHT IOACT AND RETURN\r
 \r
 ;HERE TO CLOSE A DUMP MODE FILE\r
-CLSDMP:        TLO     IOS,DMPOCLS+IO+DMPMOD ;SET SWITCHES\r
+CLSDMP:        TLO     IOS,CLSDMP              ;SET SWITCHES\r
        PUSHJ   PDP,GETDT       ;GET CONTROL\r
        SETZM   BUF             ;ENSURE LINK, WORDCOUNT=0\r
        JRST    OUFULL          ;GO WRITE THE BLOCK\r
@@ -529,7 +529,7 @@ UOUT:       TLO     IOS,IO
        HRRZ    BLK,OBLK(DEVDAT)\r
        CAIN    BLK,DIRBLKK     ;CHECK IF WRITING DIRECTORY\r
        JRST    COR2HM          ;YES, WRITE CORE IMAGE\r
-       JUMPE   BLK,FAKAV       ;DONT WRITE IF NO BLOCK GIVEN\r
+       JUMPE   BLK,FAKADV      ;DONT WRITE IF NO BLOCK GIVEN\r
        PUSHJ   PDP,BLKCHK      ;CHECK FOR LEGAL BLOCK\r
 UOUT2: TLNN    IOS,DMPMOD      ;ALREADY HAVE CONTROL IF DUMP-MODE\r
 \r
@@ -594,7 +594,7 @@ DMPSET:     TLO     IOS,DMPMOD      ;LIGHT BIT
        JRST    DMPTS1          ;YES. RETURN\r
        IFN CPBIT, <\r
        TRNE    IOS,UDSD        ;NO. NON-STD MODE?\r
-       SOJA    DAT,TDUSER      ;YES. GO ELSEWHERE\r
+       SOJA    DAT,TOUSER      ;YES. GO ELSEWHERE\r
 >\r
 DMPST2:        SOS     UUO             ;NO. SAVE START OF LIST (-1)\r
        MOVEM   UUO,DMPLST(DEVDAT)\r
@@ -605,7 +605,7 @@ DMPTS1:     POP     PDP,TAC
 \r
        IFN CPBIT, <\r
 ;HERE TO START DUMP-MODE INTO USER AREA DIRECTLY\r
-TOUSRF:        JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE\r
+TOUSER:        JUMPE   AC2,NOBLK0      ;CANT READ BLK 0 IN NON-STD DUMP  MODE\r
        ASH     DAT,-7          ;NUMBER OF WRDS IN LIST /200\r
        AOS     DAT\r
        MOVEM   DAT,BLKCNT      ;SAVE TO UPDATE POSITION\r
@@ -631,7 +631,7 @@ DMPFIL:     MOVSI   TAC1,-177
 >\r
 DMPFLB:        PUSHJ   PDP,NXTCOM      ;GET NEXT COMMAND\r
        JRST    DMPOTH          ;END OF LIST\r
-DMPLFA:        MOVE    TEM,(TAC)       ;GET NEXT WORD\r
+DMPFLA:        MOVE    TEM,(TAC)       ;GET NEXT WORD\r
        MOVEM   TEM,BUF+1(TAC1) ;INTO BUFFER\r
        AOBJP   TAC1,DMPOVR     ;BUFFER FULL IF GOES\r
        AOBJN   TAC,.-3         ;GET NEXT WORD FROM COMMAND\r
@@ -670,7 +670,7 @@ NXTCOM:     SKIPN   DMPLST(DEVDAT)  ;END OF COMMANDS?
 NXTCM1:        HRRM    TAC,DMPLST(DEVDAT) ;STORE GO-TO ADDRESS\r
        MOVE    TAC,@TAC        ;GET COMMAND\r
        JUMPE   TAC,NXTCM2      ;END OF LIST\r
-       JUMPG   TAX,NXTCM1      ;GO-TO WORD\r
+       JUMPG   TAC,NXTCM1      ;GO-TO WORD\r
        ADDI    TAC,(PROG)      ;REAL COMMAND - ADD RELOCATION\r
        AOJA    TAC,CPOPJ1      ;AND RETURN\r
 ;END OF DUMP-MODE LIST\r
@@ -826,7 +826,7 @@ FND1:       MOVEM   TAC,DCLOC
        CONO    DTC,360000(TAC) ;START DATA FLOW\r
        JRST    SRCHXT          ;AND LEAVE\r
 \r
-IORVS: MOVEI   TAC,10000       ;SET IO FOR REVERSE\r
+IORVRS:        MOVEI   TAC,10000       ;SET IO FOR REVERSE\r
        ORM     TAC,COMAND\r
        MOVEI   TAC,177\r
        ADDM    TAC,PNTR        ;READ FROM TOP OF BUFFER DOWN\r
@@ -847,7 +847,7 @@ DTCIN1:     CONO    DC,0            ;NO. TURN OFF DATA CONTROL
        CONSZ   DTS,1           ;JOB DONE LIT?\r
        CONSZ   DTS,116         ;AND NO ERORS?\r
        JRST    ERRS            ;NO. ERROR\r
-       SKIPF   ERRFLG          ;DATA MISSED?\r
+       SKIPE   ERRFLG          ;DATA MISSED?\r
        JRST    ERRS            ;YES. TOO BAD\r
 \r
 ;DATA WAS READ IN OR WRITTEN OUT FINE\r
@@ -881,7 +881,7 @@ DTCIN2:     TLNE    IOS,DMPMOD      ;DUMP MODE?
        HRRM    BLK,IBLK(DEVDAT) ;SAVE IN DDB\r
        TRNE    IOS,IODTER+IODERR+IOIMPM ;WAS THERE AN INPUT ERROR?\r
        JRST    THRUIN          ;YES. DONT ADVANCE BUFFERS\r
-       PUSHJ   PDP,ADVBUFF     ;GET NEXT BUFFER\r
+       PUSHJ   PDP,ADVBFF      ;GET NEXT BUFFER\r
        JRST    THRUIN          ;EMPTY BUF NOT AVAILABLE\r
 \r
        SKIPE   BLK             ;EXIT  IF EOF OR BLOCK TOO LARGE\r
@@ -913,7 +913,7 @@ THRUTD:     PUSHJ   PDP,THRUTA      ;GIVE UP DATA CONTROL
        SOSL    DTREQ           ;GIVE UP DECTAPE CONTROL\r
        SETOM   DTAVAL  \r
        CONO    DC,0            ;SHUT OFF DATA CONTROL\r
-       CONO    PI,DOFF         ;AN TURN OF ITS PI CHANNEL\r
+       CONO    PI,DCOFF                ;AN TURN OF ITS PI CHANNEL\r
        CONO    DTC,0           ;SHUT DOWN DATA CONTROL\r
        HLLZS   DTCINT\r
        POPJ    PDP,            ;AND LEAVE\r
@@ -932,6 +932,15 @@ OUTHRU:    PUSHJ   PDP,ADVBFE      ;GET NEXT BUFFER
        JRST    FILBUF          ;NO. GO WRITE NEXT BLOCK\r
        JRST    THRUTP          ;YES. GIVE UP TAPE\r
 \r
+;TURN TAPE AROUND AFTER END-ZONE INTERUPT\r
+TURN:  MOVEM   TAC,TEMPA               ;SAVE TAC\r
+       MOVE    TAC,UNIT        ;UNIT AND CHANNEL\r
+       CONSO   DTC,10000               ;IN REVERSE?\r
+       TRO     TAC,10000               ;NO. NO WILL BE\r
+       CONO    DTC,322200(TAC);READ BLOCK NOS IN OPPOSITE DIRECTION\r
+       MOVE    TAC,TEMPA       ;RESTORE TAC\r
+       JEN     @DTCCHL         ;AND EXIT THE INTERRUPT\r
+\r
 TIMINT:        CONSO   DTS,20          ;TIME FLAG INTERRUPT ON?\r
        JRST    SPRIUS          ;NO. THIS IS A SPURIOUS INTERRUPT\r
        EXCH    TAC,TIMREQ      ;ANOTHER TAPE CAN NOT BE\r
@@ -970,9 +979,9 @@ SVDMTH:     IFN CPBIT, <
        SUB     TAC1,ONEONE     ;SET UP TAC1 WITH COUNT\r
 >\r
        TLNN    IOS,IO\r
-       JRST    SVOMIN          ;INPUT FILE\r
+       JRST    SVDMIN          ;INPUT FILE\r
        HRRZ    BLK,OBLK(DEVDAT) ;OUTPUT FILE, NEXT BLOCK\r
-       JUMPF   BLK,DMPTHA      ;LAST BLOCK\r
+       JUMPE   BLK,DMPTHA      ;LAST BLOCK\r
        IFE     CPBIT, <\r
        TRNE    IOS,UDSD        ;IF NON-STD MODE\r
        AOSA    OBLK(DEVDAT)    ;WRITE CONSECUTIVE BLOCKS\r
@@ -1028,7 +1037,7 @@ DMIFLB:   MOVE    TEM,BUF+1(TAC1) ;NEXT DATA WORD
        JUMPE   BLK,DMPEOF      ;IF EOF - LIGHT BIT\r
 RDNXT: CAIG    BLK,TOPBLK      ;BLOCK LEGAL?\r
        JRST    READBC          ;GO READ BLOCK NUMBER\r
-       TROA    IOS,IOBLKT      ;LIGHT ERROR BIT\r
+       TROA    IOS,IOBKTL      ;LIGHT ERROR BIT\r
 \r
 ;EOF BEFORE ALL DATA IS IN - DUMP MODE\r
 DMPEOF:        TRO     IOS,IODEND      ;LIGHT EOF BIT\r
@@ -1070,11 +1079,10 @@ NOBLK0: TRO     IOS,IOIMPM      ;ILLEGAL OP
        JRST    THRUTP          ;NO. RETURN TO USER\r
        PUSHJ   PDP,THRUTP      ;YES. STOP TAPE\r
        MOVSI   TAC,DVDIRIN     ;CLEAR DIRECTORY IN CORE BIT\r
-       ANDCAM  TAC,DEVMOND(DEVDAT)\r
+       ANDCAM  TAC,DEVMOD(DEVDAT)\r
 BDDIR: LDB     ITEM,PJOBN      ;NUMBER OF OFFENDING JOB\r
-       JRST    RADDIR          ;GO PRINT ERROR MESSAGE\r
-\f      INTERN  DTABUF\r
-BFPNTR:        IOWD    200,BUF+1\r
+       JRST    BADDIR          ;GO PRINT ERROR MESSAGE\r
+\fBFPNTR:       IOWD    200,BUF+1\r
 ONEONE:        XWD     1,1\r
 USEWRD:        0\r
 USEPRG:        0\r
@@ -1093,8 +1101,9 @@ BLKCNT:   0
 SVPNTR:        0\r
 USPNTR:        0\r
 ADRPRG:        0\r
-DIRCNT:        0\r
+DIRCTN:        0\r
 >\r
 BUF:   BLOCK   200\r
 DTAEND:        END\r
 \f\r
+\0\0\0\0
\ No newline at end of file
index 068ab5b..f8973aa 100644 (file)
@@ -21,6 +21,7 @@ BIT 35        =0:     ASSEMBLE USER MODE DDT
 BIT 34 =0:     DO NOT ASSEMBLE THE PAPER TAPE FEATURE INTO DDT\r
        =1:     ASSEMBLE THE PAPER TAPE FEATURES BUT ONLY IF\r
                        ASSEMBLING AN EXECUTIVE MODE DDT\r
+\r
 BIT 33 =0;     FOR USER MODE DDT ONLY- ASSEMBLE USING THE\r
                        "TTCALL" UUO FOR TELETYPE IO\r
        =1;     FOR USER MODE DDT ONLY- ASSEMBLE USING THE\r
@@ -48,6 +49,15 @@ EXAMPLES OF "EDDT" DEFINTIONS:
                WITH PAPER TAPE FEATURES, AND WHOSE STARTING\r
                ADDRESS IS LOCATION 4000.\r
 \r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
 EXAMPLE OF A MACRO ASSEMBLY COMMAND:\r
 \r
 .^C\r
@@ -74,7 +84,6 @@ BY DEFINING "EDDT": A DIFFERENT WAY WHERE THE EXAMPLE
 DEFINED "EDDT=0".\r
 \r
 >      ;END OF REPEAT 0\r
-\r
 \f\r
 IFNDEF EDDT,<EDDT=0>\r
 \r
@@ -109,16 +118,14 @@ JOBDDT=74
 RELOC 0\r
 >\r
 \r
-\r
 IFN EDDT&<XWD -1,0>,<LOC <EDDT>B53>\r
 \r
 HEADER \DDTVER^\r
                ;THE HEADER MACRO CONSTRUCTS THE TITLE AND VERSION #\r
-\r
-IFN EDDT&10,<  CM=2            ;DEFINE SOFTWARE CHANS.\r
+\fIFN EDDT&10,< CM=2            ;DEFINE SOFTWARE CHANS.\r
                DP=3\r
 >\r
-\f;DEFINE ACCUMULATORS\r
+;DEFINE ACCUMULATORS\r
 \r
 F=0            ;FLAGS\r
 P=1            ;PUSH DOWN\r
@@ -163,7 +170,7 @@ SAF=2000            ; > TYPED
 FPF=20000              ; . TYPED IN\r
 FEF=400000             ; E FLAG\r
 \r
-MLF=200                ;*FLAG\r
+MLF=200                        ;*FLAG\r
 DVF=40000              ;DIVIDE FLAG\r
 \r
 ;PID IS 20 IF SYM TAB POINTER IS INDIRECT JOBSYM\r
@@ -202,7 +209,7 @@ OPDEF DDTINT [Z 0,]         ;ADDRESS FLAG FOR INTERNAL REGISTERS
 \r
 RADIX 10\r
 NBP=8  ;NUMBER OF BREAKPOINTS\r
-DEFINE DBPNT (Z.)<XP $'Z.'B,B1ADR+3*Z.-3>\r
+DEFINE DBPNT (Z.)<XP $'Z.'B,<DDTINT B1ADR+3*Z.-3>>\r
 ZZ=0\r
 REPEAT NBP,<DBPNT \<ZZ=ZZ+1>>\r
 RADIX 8\r
@@ -265,7 +272,7 @@ DDT:        JSR SAVE
        MOVE W1,PRGM            ; SAME PLACE. OR THEY DO NOT BOTH START ON\r
        XOR W1,W                ; AN EVEN (OR BOTH ON ODD) LOCATION. OR\r
        TRNE W1,1               ; PRGM .GE.0, THEN RE-INIT PRGM.\r
-       JRST DDT2               ;EVEN-ODD PROBLEM\r
+       JRST DDT0               ;EVEN-ODD PROBLEM\r
        SKIPN T         ;POINTERS DON'T END TOGETHER\r
        SKIPL PRGM              ;IF PRGM .GE. 0, THEN RE-INIT\r
 DDT0:  MOVEM W,PRGM            ;PRGM=C(JOBSYM)\r
@@ -420,7 +427,7 @@ L2: PUSHJ P,TIN             ;PICK UP CHARACTER
        JRST .+2\r
        JRST LET\r
 L21:   MOVE R,T\r
-       CAILF T,137     ;DISPATCH TABLE HAS ENTRIES ONLY .LE. 137\r
+       CAILE T,137     ;DISPATCH TABLE HAS ENTRIES ONLY .LE. 137\r
        JRST ERR\r
        IDIVI R,3               ;REMAINDER GIVES COLUMN, QUOTIENT GIVES ROW\r
        LDB W,BDISP(R+1)        ;GET 12 BIT ADDRESS FROM DISPATCH TABLE\r
@@ -632,8 +639,9 @@ POW2:       LSH W2,-1
        MOVEI T,45              ;RADIX 50 PERIOD\r
        JRST LE2\r
 \r
-QUAN:  SKIPA T,LWT             ;LAST QUANTITY TYPED\r
-PILOC: MOVEI T, SAVPI\r
+PILOC: MOVEI T,SAVPI           ;ADR SETUP FOR $I\r
+QUANIN:        TLOA T,(DDTINT) ;MARK FOR ADR INTERNAL TO DDT\r
+QUAN:  MOVE T, LWT             ;PICK UP LAST QUANTITY TYPED\r
 QUAN1: MOVEM T,SYL\r
 QUAN2: TLO F,SF+QF             ;WRD,SYL STARTED\r
        TLZ F,CF+CCF\r
@@ -1763,9 +1771,7 @@ TEXT2:    MOVEI T,0               ;7 BIT ASCII TEXT OUTPUT SUBROUTINE
        PUSHJ P,TOUT\r
        JUMPN W1,TEXT2\r
        POPJ P,\r
-\fKILC: XWD -NSYMS,LOW\r
-\r
-WRD:   0\r
+\fWRD:  0\r
 WRD2:  0\r
 PRNC:  0\r
 \r
@@ -2402,7 +2408,7 @@ REDEF %
        IFE Z-"/",<IF1 <OUTP 1>\r
                IF2,<INFO OUTP,+73-FIR.>\r
                Z==0>\r
- IFE Z-"^",<OUTP <ZZ&70/2+ZZ&7-1>\r
+ IFE Z-"^",<OUTP <ZZ&74/2+ZZ&7-1>\r
        Z==0>\r
  IFE <Z-",">*<Z-".">*<Z-40>,<IFN ZZZ,<\r
                                REPEAT 5,<ZZ==ZZZ&77\r
@@ -2539,8 +2545,8 @@ IF1,<
 DEFINE .ADR    (A) <\r
 %'A==  CLOC\r
 FIR.== CLOC\r
-DEFINE .ADR    (A) <\r
-%'A==  CLOC\r
+DEFINE .ADR    (B) <\r
+%'B==  CLOC\r
 IFGE   <LASTB==CLOC+73-FIR.>-1000, <PRINTX OPTABLE TO LONG>>>\r
 \r
 DEFINE .TRA    <\r
@@ -2570,7 +2576,7 @@ DEFINE    .TXT    (A) <
 IFNB   <A>,    <IRPC A,<OUTP "A"-40>>>\r
 \r
 DEFINE .END    (A) <\r
-IFNB   <A>.    <IRPC A,<OUTP "A"-40>>\r
+IFNB   <A>,    <IRPC A,<OUTP "A"-40>>\r
 OUTP   40>\r
 \r
 DEFINE OUTP (A)<\r
@@ -2584,28 +2590,28 @@ CLOC==CLOC+1 >
 >\r
 \fTBL:          ;OPDECODER BYTE TABLE\r
 \r
-BINRY= 0\r
-CLOC=  0       ;SET BYTE LOCATION COUNTER TO 0\r
-BINC=  ^D36    ;INIT BYTES/WORD COUNTER\r
+BINRY==        0\r
+CLOC== 0       ;SET BYTE LOCATION COUNTER TO 0\r
+BINC== ^D36    ;INIT BYTES/WORD COUNTER\r
 \r
 BYT9 <\r
 \r
-.DIS 63,.TRA UUO,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLF\r
+.DIS 63,.TRA UUO,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLE\r
        .TXT H,.TRA HWT,.TXT T,.TRA ACBM\r
 \r
 ;IO INSTRUCTIONS\r
 \r
-.DIS 21,.TRA BD,.TXT CON,.DIS 11,.TRA IO,.TXT S,.DIS 01,.TRA Z,. TRA O\r
+.DIS 21,.TRA BD,.TXT CON,.DIS 11,.TRA OI,.TXT S,.DIS 01,.TRA Z,.TRA O\r
 .ADR BD,.DIS 01,.TXT BLK,.TRA IO,.TXT DATA,.ADR IO,.DIS 11,.TRA I,.TRA O\r
        .ADR OI,.DIS 01,.TRA O,.TRA I\r
 ;UUOS\r
 \r
-.ADR UUOI,.DIS 51,.END,.TXT,.DIS 32,.TRA U40,.TRA U50,.TRA U60\r
-       .DIS 21,.TRA U703,.DIS 11.,TRA USET,.DIS 01\r
+.ADR UUO,.DIS 51,.END,.TXT,.DIS 32,.TRA U40,.TRA U50,.TRA U60\r
+       .DIS 21,.TRA U703,.DIS 11.,.TRA USET,.DIS 01\r
 .TXT LOOKU,.TRA P,.TXT ENTE,.TRA R,.ADR USET,.TXT USET,.DIS 01,.TRA I,.TRA O\r
 .ADR U40,.DIS 03,.TRA CAL,.TXT INI,.TRA T,.END,.END,.END,.END,.END,.TXT CALL,.TRA I\r
 .ADR U60,.DIS 21,.TRA U603,.DIS 01,.TXT IN,.TRA BPUT,.TXT OUT\r
-       .ADR BPUT,M.,DIS 11,.TXT BU,.ADR F,.END F,.TXT,.TXT U,.TRA T\r
+       .ADR BPUT,.DIS 11,.TXT BU,.ADR F,.END F,.TXT,.TXT PU,.TRA T\r
 .ADR U603,.DIS 01,.TRA U6062,.TXT STAT,.DIS 11,.ADR O,.END O,.TXT,.ADR Z,.END Z,.TXT\r
        .ADR U6062,.DIS 11,.TXT S,.TRA U62,.TXT G,.ADR U62,.TXT ETST,.TRA S\r
 \r
@@ -2615,7 +2621,7 @@ BYT9 <
        .TRA A,.TXT MP,.TRA A,.TXT DV,.ADR A\r
 .DIS 21,.TRA LMB,.TXT R,.TRA IMB,.ADR LMB,.DIS 02,.END,.TXT\r
        .ADR L,.END L,.TXT,.ADR M,.END M,.TXT\r
-.ADR B,.FND B,.TXT,.ADR BYTE,.DIS 32,.END,.END,.END,.TXT\r
+.ADR B,.END B,.TXT,.ADR BYTE,.DIS 32,.END,.END,.END,.TXT\r
        .DIS 03,.TXT UF,.TRA PA,.TXT DF,.TRA N\r
 .TXT FS,.TRA C,.TXT IB,.ADR P,.END P,.TXT,.TXT I,.TRA LD\r
        .ADR LD,.TXT LD,.TRA B,.TXT I,.TRA DP,.ADR DP,.TXT DP,.TRA B\r
@@ -2626,17 +2632,17 @@ BYT9 <
        .TRA SH,.TRA H1,.TRA JP\r
 .DIS 21,.TXT ADD,.TRA IMB,.TXT SU,.ADR BIMB,.TXT B,.ADR IMB,.DIS 02,.END,.TXT\r
        .ADR I,.END I,.TXT,.TRA M,.TRA B,.ADR MO,.DIS 22\r
-,ADR E1MS,.TXT E,.TRA IMS,.TXT S,.TRA IMS,.TXT N,.TRA IMS,.TXT M\r
+.ADR EIMS,.TXT E,.TRA IMS,.TXT S,.TRA IMS,.TXT N,.TRA IMS,.TXT M\r
        .ADR IMS,.DIS 02,.END,.TXT,.TRA I,.TRA M,.ADR S,.END S,.TXT\r
 .ADR ML,.DIS 21,.TXT I,.TRA ML1,.ADR ML1,.TXT MUL,.TRA IMB\r
        .ADR DV,.DIS 21,.TXT I,.TRA DV1\r
 .ADR DV1,.TXT DI,.ADR DV2,.TXT V,.TRA IMB,.ADR H1,.DIS 03,.TXT EXC,.TRA S3,.TXT BL\r
-       .ADR T,.END T,.TXT,.TRA AO,.ADR AO,.TT AOBJ\r
+       .ADR T,.END T,.TXT,.TRA AO,.ADR AO,.TXT AOBJ\r
 .TRA AOB,.TXT JRS,.TRA T,.TXT JFC,.TRA L,.TXT XC,.TRA T,.END\r
        .ADR AOB,.DIS 01,.TRA P,.TRA N\r
 .ADR JP,.DIS 03,.TRA PU,.ADR PU,.TXT PUSH,.TRA PUS,.TRA PO\r
        .ADR PO,.TXT POP,.TRA POP,.TXT JS,.ADR R,.END R,.TXT\r
-.TXT JS,.TRA P,.TXT JS,.ADR PA,.END, A,.TXT,.TXT JR,.TRA PA\r
+.TXT JS,.TRA P,.TXT JS,.ADR PA,.END A,.TXT,.TXT JR,.TRA PA\r
        .ADR PUS,.DIS 01,.ADR J,.END J,.END,.TXT,.ADR POP\r
 .DIS 01,.END,.TXT,.TRA J,.ADR SH,.DIS 02,.TXT A,.TRA S2,.TXT ROT,.TRA S1,.TXT L\r
        .ADR S2,.TXT S,.ADR S3,.TXT H,.TRA S1,.TXT JFF,.TRA O\r
@@ -2653,27 +2659,27 @@ BYT9 <
 \r
 ;HALF WORDS\r
 \r
-.ADR HWT,.DIS 51,.TRA HW1,.DIS 21,.TXT 3,.TRA HW2,.TXT L,.ADR HW2,.TXT R,.TRA HW3\r
+.ADR HWT,.DIS 51,.TRA HW1,.DIS 21,.TXT R,.TRA HW2,.TXT L,.ADR HW2,.TXT R,.TRA HW3\r
 .ADR HW1,.DIS 21,.TXT L,.TRA HW4,.TXT R,.ADR HW4,.TXT L\r
-       .ADR HW3,.DIS 32,.TRA IMS,.TXT Z,.TRA IMS,.TXT D,.TRA IMS,.TRA EIMS\r
+       .ADR HW3,.DIS 32,.TRA IMS,.TXT Z,.TRA IMS,.TXT O,.TRA IMS,.TRA EIMS\r
 \r
 ;TEST INSTRUCTIONS\r
 \r
 .ADR ACBM,.DIS 31,.TRA AC1,.DIS 01,.TXT D,.TRA AC2,.TXT S,.TRA AC2\r
        .ADR AC1,.DIS 01,.TXT R,.TRA AC2,.TXT L\r
-.ADR AC2,.DIS 42,.TXT N,.TRA EAN,.TXT Z,.TRA EAN,TXT C,.TRA EAN,.TXT O\r
+.ADR AC2,.DIS 42,.TXT N,.TRA EAN,.TXT Z,.TRA EAN,.TXT C,.TRA EAN,.TXT O\r
        .ADR EAN,.DIS 12,.END,.TXT,.TRA E,.TRA PA,.TRA N\r
 \r
 ;BOOLEAN\r
 \r
-.ADR BOOLE,.DIS 24,.TRA ST,.ADR AN,.TXT ANBD,.TRA B2,.TRA AN,.TRA ST,.TRA AN,.TRA ST\r
+.ADR BOOLE,.DIS 24,.TRA ST,.ADR AN,.TXT AND,.TRA B2,.TRA AN,.TRA ST,.TRA AN,.TRA ST\r
 .TXT X,.ADR OR,.TXT OR,.TRA B2,.TXT I,.TRA OR,.TRA AN,.TXT EQ\r
        .TRA DV2,.TRA ST,.TRA OR,.TRA ST,.TRA OR,.TRA OR\r
 .ADR ST,.TXT SET,.ADR B2,.DIS 24,.TXT Z,.TRA IMB,.TRA IMB\r
        .ADR CA,.TXT C,.TRA TA,.ADR TM,.TXT M,.TRA IMB\r
-.ADR DM,.TXT C,.TRA TM,.ADR TA,.TXT A,.TRA IMB,.TRA IMBA,.TRA IMB\r
-       .ADR CP,.TXT C,.TRA BIMB,.TRA IMB,.TRA CA\r
-.TRA CA,.TRA CM,.TRA CM,.TRA CB,.TXT 0,.TRA IMB\r
+.ADR CM,.TXT C,.TRA TM,.ADR TA,.TXT A,.TRA IMB,.TRA IMB,.TRA IMB\r
+       .ADR CB,.TXT C,.TRA BIMB,.TRA IMB,.TRA CA\r
+.TRA CA,.TRA CM,.TRA CM,.TRA CB,.TXT O,.TRA IMB\r
 \r
 ;MORE UUO'S\r
 \r
@@ -2687,7 +2693,7 @@ BYT9 <
 \r
 IF1,<  BLOCK   <CLOC+3>/4>\r
 \r
-IF2,<  IFN BINC-^D36,< +BINARY>>\r
+IF2,<  IFN BINC-^D36,< +BINRY>>\r
 \r
 IFNDEF CLOC.,<CLOC.==CLOC>\r
 IFN CLOC.-CLOC,<PRINTX PHASE ERROR IN OPTABLE>\r
index 057ec28..84abe72 100644 (file)
@@ -21,7 +21,8 @@ ERRCON:
 ;      RETURN TO RESCHEDULE NEW USER\r
 \r
 INTERNAL APRILM\r
-EXTERNAL USRREL,CONMES,HOLD,INLMES,JOBN,PJOBN,PRQM\r
+EXTERNAL USRREL,APRPC\r
+EXTERNAL APRERR,CONMES,HOLD,INLMES,JOBN,PJOB,PRQM\r
 EXTERNAL STOP1,TTYFUW,USRXIT,UUO0,WSCHED\r
 \r
 APRILM:        SETZM APRERR            ;CLEAR FLAG IMMEDIATELY,IN CASE OTHER ERRORS OCCUR\r
@@ -55,7 +56,7 @@ APRPDL:       TRNN TAC,POV            ;PUSHDOWN OVERFLOW?
        JSP DAT,UERROR          ;NO, MUST BE HARDWARE PROBLEM\r
        JSP TAC,ERRPTU          ;YES\r
        ASCIZ /PDL OV/\r
-ASPSC: MOVE TAC1,APRPO         ;PRINT APR PC\r
+APRSCD:        MOVE TAC1,APRPC         ;PRINT APR PC\r
        JRST PCPNT              ;AS:\r
                                ; 1)"AT USER LOC XXX" OR\r
                                ; 2)"AT EXEC LOC XXX; EXEC CALLED FROM \r
@@ -151,7 +152,7 @@ IFN FTHALT,<
        HALT    .+1                     ;YES, HALT SO DUMP CAN BE TAKEN\r
                                        ; CONTINUE WILL PRINT MESSAGE\r
 >\r
-       SOSJ TAC1,PCPNT         ;AND PRINT, PRINT USER UUO PC IF DIFF.\r
+       SOJA TAC1,PCPNT         ;AND PRINT, PRINT USER UUO PC IF DIFF.\r
 \r
 ;ILLEGAL INSTRUCTION\r
 \r
@@ -223,14 +224,14 @@ INTERNAL HNGSTP
 HNGSTP:        PUSH PDP,ITEM\r
        PUSH PDP,IOS\r
        PUSH PDP,DEVDAT         ;SAVE DEV'S IOS WORD & DDB\r
-       PUSHJ PDP,TTYFUN        ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED\r
+       PUSHJ PDP,TTYFUW        ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED\r
        PUSHJ   PDP,PRQM        ;PRINT QUESTION MARK FOR BATCH\r
        PUSHJ PDP,ERNAM         ;PRINT "DEVICE XXX"\r
        PUSHJ PDP,INLMES        ;AND MSG.\r
 ASCIZ  /OK?\r
 ^C\r
-\r
-./     PUSHJ PDP,TTYSTC        ;START UP TTY IN COMMAND MODE\r
+./\r
+       PUSHJ PDP,TTYSTC        ;START UP TTY IN COMMAND MODE\r
        POP PDP,DEVDAT          ;BRING BACK DEV DDB & IOS WORD\r
        POP PDP,IOS\r
        PUSHJ PDP,STOP1         ;STOP JOB &\r
@@ -256,7 +257,7 @@ IFN FTTTYSER,<EXTERNAL TTYERP>
 \r
 ERRPTU:        SKIPA ITEM,JOB          ;BLAME CURRENT JOB IS NOT 0.\r
 ERRDEV:        LDB ITEM,PJOBN          ;JOB NO, FROM DEVICE DATA BLOCK\r
-ERRPNT: SKIPM ITEM             ;ERROR IN NULL JOB?\r
+ERRPNT: SKIPN ITEM             ;ERROR IN NULL JOB?\r
        SETOM NULERR            ;YES, SET FLAG FOR ERROR IN NULL JOB\r
                                ; SO STATE OF NULL JOB WILL BE REESTABLISHED\r
                                ; WHEN IS IT RUN AGAIN(SEE CLOCK1)\r
@@ -436,3 +437,4 @@ IFE FTTTYSER,<
 \r
 ERREND:        END\r
 \f\r
+\0
\ No newline at end of file
diff --git a/src/ft40db.mac b/src/ft40db.mac
new file mode 100644 (file)
index 0000000..d724593
--- /dev/null
@@ -0,0 +1,34 @@
+;THIS SUB-PROGRAM ASSEMBLED WITH CONFIGURATION DEPENDENT FEATURE SWITCHES - FT40DB.MAC(V003)
+       XLIST
+;      TH/RC  TS3.19  24 SEP 68  V002
+;CONFIGURATION DEPENDENT FEATURE SWITCHES FOR CONDITIONAL ASSEMBLY
+;-1 MEANS INCLUDE THE ASSOCIATED FEATURE, 0 MEANS ELIMINATE IT
+
+FTSWAP=0       ;SWAPPING SYSTEM
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1
+
+FTDISK=-1      ;DISK SYSTEM(MAY OR MAY NOT HAVE SWAPPING)
+               ;IF FTDISK=-1, THEN FTLOGIN MUST BE -1
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1
+
+FTLOGIN=-1     ;LOGIN-LOGOUT COMMAND AND UUOS
+               ;FTDISK=-1 IMPLIES FTLOGIN=-1
+
+FTCCL=-1       ;CONCISE COMMAND LANGUAGE COMMANDS
+               ;USED IN APRSER
+               ;SHOULD BE 0 IN NON-DISK SYSTEMS
+               ;SHOULD BE -1 IN DISK SYSTEMS, WHEN IMPLEMENTED
+
+
+FTRC10=-1      ;NEW PDP-10 DISK(MODEL RC-10) INSTEAD OF DATA PRODUCTS DISK
+
+FTKCT=0        ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER
+
+FTPRV=0        ;PRIVILEGE BITS FOR EACH USER
+
+FTGETTAB=0     ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES
+
+;LAST PAGE SHOULD BE WRITTEN WITH 'HP' TECO COMMAND SO FORM-FEED IS
+;NOT APPENDED AFTER LIST CAUSING EXTRA BLANK PAGE IN MONITOR LISTING
+
+       LIST
diff --git a/src/ft40dd.mac b/src/ft40dd.mac
new file mode 100644 (file)
index 0000000..d0e6f10
--- /dev/null
@@ -0,0 +1,33 @@
+;THIS SUB-PROGRAM ASSEMBLED WITH CONFIGURATION DEPENDENT FEATURE SWITCHES - FT40DD.MAC(V003)
+       XLIST
+;      TH/RC  TS3.19  27 SEP 68  V002
+;CONFIGURATION DEPENDENT FEATURE SWITCHES FOR CONDITIONAL ASSEMBLY
+;-1 MEANS INCLUDE THE ASSOCIATED FEATURE, 0 MEANS ELIMINATE IT
+
+FTSWAP=0       ;SWAPPING SYSTEM
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1
+
+FTDISK=-1      ;DISK SYSTEM(MAY OR MAY NOT HAVE SWAPPING)
+               ;IF FTDISK=-1, THEN FTLOGIN MUST BE -1
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1
+
+FTLOGIN=-1     ;LOGIN-LOGOUT COMMAND AND UUOS
+               ;FTDISK=-1 IMPLIES FTLOGIN=-1
+
+FTCCL=-1       ;CONCISE COMMAND LANGUAGE COMMANDS
+               ;USED IN APRSER
+               ;SHOULD BE 0 IN NON-DISK SYSTEMS
+               ;SHOULD BE -1 IN DISK SYSTEMS, WHEN IMPLEMENTED
+
+FTRC10=0       ;NEW PDP-10 DISK(MODEL RC-10) INSTEAD OF DATA PRODUCTS DISK
+
+FTKCT=0        ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER
+
+FTPRV=0        ;PRIVILEGE BITS FOR EACH USER
+
+FTGETTAB=0     ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES
+
+;LAST PAGE SHOULD BE WRITTEN WITH 'HP' TECO COMMAND SO FORM-FEED IS
+;NOT APPENDED AFTER LIST CAUSING EXTRA BLANK PAGE IN MONITOR LISTING
+
+       LIST
index bb6982b..1f5c9bf 100644 (file)
@@ -1,4 +1,4 @@
-;THIS SUB-PROGRAM ASSEMBLED WITH CONFIGURATION DEPENDENT FEATURE SWITCHES - FT40N.MAC(V002)\r
+;THIS SUB-PROGRAM ASSEMBLED WITH CONFIGURATION DEPENDENT FEATURE SWITCHES - FT40N.MAC(V003)\r
        XLIST\r
 ;      TH/RC  TS3.19  27 SEP 68  V002\r
 ;CONFIGURATION DEPENDENT FEATURE SWITCHES FOR CONDITIONAL ASSEMBLY\r
index 8e6aca4..12a1242 100644 (file)
@@ -31,3 +31,4 @@ FTGETTAB=-1   ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES
 ;NOT APPENDED AFTER LIST CAUSING EXTRA BLANK PAGE IN MONITOR LISTING\r
 \r
        LIST\r
+\f\r
diff --git a/src/ft50sd.mac b/src/ft50sd.mac
new file mode 100644 (file)
index 0000000..f036bfc
--- /dev/null
@@ -0,0 +1,33 @@
+;THIS SUB-PROGRAM ASSEMBLED WITH CONFIGURATION DEPENDENT FEATURE SWITCHES - FT50SD.MAC(V003)\r
+       XLIST\r
+;      TH/RC  TS3.19  27 SEP 68  V002\r
+;CONFIGURATION DEPENDENT FEATURE SWITCHES FOR CONDITIONAL ASSEMBLY\r
+;-1 MEANS INCLUDE THE ASSOCIATED FEATURE, 0 MEANS ELIMINATE IT\r
+\r
+FTSWAP=-1      ;SWAPPING SYSTEM\r
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1\r
+\r
+FTDISK=-1      ;DISK SYSTEM(MAY OR MAY NOT HAVE SWAPPING)\r
+               ;IF FTDISK=-1, THEN FTLOGIN MUST BE -1\r
+               ;IF FTSWAP=-1, THEN FTDISK MUST BE -1\r
+\r
+FTLOGIN=-1     ;LOGIN-LOGOUT COMMAND AND UUOS\r
+               ;FTDISK=-1 IMPLIES FTLOGIN=-1\r
+\r
+FTCCL=-1               ;CONCISE COMMAND LANGUAGE COMMANDS\r
+               ;USED IN APRSER\r
+               ;SHOULD BE 0 IN NON-DISK SYSTEMS\r
+               ;SHOULD BE -1 IN DISK SYSTEMS, WHEN IMPLEMENTED\r
+\r
+FTRC10=0       ;DATA PRODUCTS DISK\r
+\r
+FTKCT=-1       ;ACCUMULATE CORE*RUNNING TIME FOR CHARGING FOR EACH USER\r
+\r
+FTPRV=-1       ;PRIVILEGE BITS FOR EACH USER\r
+\r
+FTGETTAB=-1    ;GETTAB UUO - RETURN CONTENTS OF MONITOR JOBTABLES\r
+\r
+;LAST PAGE SHOULD BE WRITTEN WITH 'HP' TECO COMMAND SO FORM-FEED IS\r
+;NOT APPENDED AFTER LIST CAUSING EXTRA BLANK PAGE IN MONITOR LISTING\r
+\r
+       LIST\r
index 2d8dc0e..f8835ec 100644 (file)
Binary files a/src/jobdat.mac and b/src/jobdat.mac differ
index e64cbbf..eee56b7 100644 (file)
Binary files a/src/k.mac and b/src/k.mac differ
index 05dade0..f5c3273 100644 (file)
@@ -16,7 +16,7 @@ SUBTTL        T. W. MCMANUS /TNM   TS   20 MAY 69
 \r
 ;THE FOLLOWING EXTERNAL SYMBOLS ARE DEFINED IN UUCON:\r
 \r
-       EXTERNAL ADVBFE, IDSET, OUT, SETACT, STOIOS\r
+       EXTERNAL ADVBFE, IOSET, OUT, SETACT, STOIOS\r
 \r
 ;THE FOLLOWING SYMBOLS ARE REFERENCED OUTSIDE OF LPTSER:\r
 \r
@@ -168,7 +168,7 @@ LPTWCK:     TLZE IOS,IOW                    ;IS JOB WAITING FOR I/O COMPLETION?
 LPTEX2:        JRST STOIOS                     ;SAVE IOS, RESET HUNG DEVICE COUNT\r
                                        ; AND DISMISS INTERRUPT\r
 \r
-LTPOFF:        TLNN IOS,LPTEND                 ;SKIP IF CLOSE HAS BEEN DONE\r
+LPTOFF:        TLNN IOS,LPTEND                 ;SKIP IF CLOSE HAS BEEN DONE\r
        JRST LPTOF1                     ; GO TURN PRINTER OFF UNTIL NEXT OUTPUT\r
        TLON IOS,LPTSYN                 ;HAS FINAL CRFF BEEN OUTPUT?\r
        JRST LPTBG2                     ; NO, SO GO DO IT\r
@@ -195,13 +195,13 @@ LPTER1:   MOVEM TAC,LPTSV2(DEVDAT)        ;SAVE TAC IN DDB
        XCT LPTDTO(DEVDAT)\r
        JRST LPTER4\r
 \r
-LPTER4:        XCT LPTECH(DEVDAT)              ;SKIP IF ERROR INTERRUPT NOT ASSIGNED\r
+LPTER2:        XCT LPTECH(DEVDAT)              ;SKIP IF ERROR INTERRUPT NOT ASSIGNED\r
        JRST LPTER5                     ; ERROR CONDITION DETECTED\r
        MOVE TAC,LPTCH(DEVDAT)          ;GET INTERRUPT CHANNEL ASSIGNMENTS\r
        ANDI TAC,LPTDCM                 ;MASK OUT ERROR CHANNEL\r
        IORI TAC,LPTBSY                 ;SET THE BUSY FLAG\r
        XCT LPTCNO(DEVDAT)              ;SEND IT OUT TO THE LPT\r
-       MOVEI TAC,LPTRLOV+LPTERR+LPTDON ;ENABLE FOR ALL INTERRUPTS\r
+       MOVEI TAC,LPTLOV+LPTERR+LPTDON  ;ENABLE FOR ALL INTERRUPTS\r
 LPTER3:        HRRM TAC,LPTCON(DEVDAT)         ;SAVE SKIP CHAIN MASK FLAGS\r
 LPTER4:        MOVE TAC,LPTSV2(DEVDAT)         ;RESTORE SAVED ACCUMULATOR\r
        JRST LPTEX1(DEVDAT)             ; AND GO DISMISS INTERRUPT\r
@@ -227,4 +227,5 @@ LPTSET:     MOVEI TAC,@DEVOAD(DEVDAT)       ;GET ABS. ADDR. OF CURRENT BUFFER
 \r
 \r
 \r
-       
\ No newline at end of file
+       \r
+\0\0\0\0
\ No newline at end of file
diff --git a/src/macro.opr b/src/macro.opr
new file mode 100644 (file)
index 0000000..f4006e9
Binary files /dev/null and b/src/macro.opr differ
index 0ade69b..b6be933 100644 (file)
@@ -7776,3 +7776,4 @@ IFN PURESW,<LOWEND==.-1
 \r
        END     BEG\r
 \f\r
+\0\0\0\0
\ No newline at end of file
index db2d765..f0db53d 100644 (file)
@@ -1129,3 +1129,4 @@ FCRLF:    MOVEI CH,15
 \f      END     MONGEN\r
 \r
 \f\r
+\0\0\0
\ No newline at end of file
index 87e7435..93f2e20 100644 (file)
@@ -23,7 +23,7 @@ MTADSP:       JRST    MTAREL          ;RELEASE
        JRST    CPOPJ1          ;RENAME\r
        POPJ    PDP,            ;CLOSE INPUT\r
        POPJ    PDP,            ;UTPCLR\r
-       JRST    MTAP0T\r
+       JRST    MTAP0\r
 \r
 MTC=340\r
 MTS=344\r
@@ -34,7 +34,7 @@ MTS=344
 ;MTBOTH=10*MTACHN+MTDCHN\r
 ;MTALOC=40 + 2*MTDCHN\r
 ;MTLOC1=MTALOC+1\r
-       INTERN  MTAINI,MTADDS,MTADDB\r
+       INTERN  MTAINT,MTADDS,MTADDB\r
        EXTERN  ADVBFE,ADVBFF,MTFLAG,MTBOTH,SETACT,CLRACT,WSYNC\r
        EXTERN  STDENS,SETIOD,MTREQ,MTAVAL,CLOCK,MTALOC,MTLOC1,OUT\r
        EXTERN  CPOPJ,CPOPJ1,PIOMOD,PUNIT,MTWAIT,JIFSC2,COMCHK\r
@@ -57,7 +57,7 @@ MTADDB:       SIXBIT  /MTA0/
        0\r
        XWD     PROG,0\r
        XWD     PROG,0\r
-       XP      MTADDS,.-MTADB  ;SIZE OF DDB (FOR BUILD)\r
+       XP      MTADDS,.-MTADDB ;SIZE OF DDB (FOR BUILD)\r
 \f;INITIALIZE\r
 MTAINI:        SETOM   NMTREW          ;RESET FLAGS\r
        SETOM   UNIT\r
@@ -99,7 +99,7 @@ HUNGTP:       TLZN    IOS,MTREW       ;TAPE REWINDING?
        JRST    THRUTP  ;NO. GIVE UP CONTROL\r
        SOS     NMTREW  ;YES. DECREASE COUNT OF TAPES IN REW\r
        AOS     MTREQ           ;THRUTP WILL SOS THIS BACK\r
-       JRST    THRUPT  ;TURN OFF TM10\r
+       JRST    THRUTP  ;TURN OFF TM10\r
 \f;CONNECT CONTROL TO A TRANSPORT\r
 CONECT:        MOVEI   TAC,440102      ;SET UP INTERRUPT CONDITIONS\r
        HRRM    TAC,MTAINT\r
@@ -173,7 +173,7 @@ RDYCHK:     CONSZ   MTS,40          ;READY?
        POPJ    PDP,            ;NO. COME BACK LATER\r
 MTCLK2:        SETOM   NMTREW          ;COUNT NO. OF TAPES REWINDING\r
        MOVEM   DEVDAT,SAVDEV\r
-       MOVEI   DEVDAT,MTADDR   ;START AT MTA0\r
+       MOVEI   DEVDAT,MTADDB   ;START AT MTA0\r
        AOS     MTREQ           ;MAKE SURE NO OTHER MTA REQUESTS ARE HONORED NOW\r
 REWCHK:        MOVE    IOS,DEVIOS(DEVDAT)\r
        JUMPGE  IOS,REWCK2      ;TAPE NOT REWINDING\r
@@ -245,7 +245,7 @@ MTAREL:     TLZ     IOS,COMPAT      ;NOT IBM COMPAT
 ;SKIP TO LOGICAL EOT\r
 LEOT:  CONSZ   MTS,100000      ;TAPE AT BOT?\r
        JRST    LEOT2           ;YES, DONT BACKSPACE\r
-       PUSHJ   PDP,MTAG0       ;BACKSPACE RECORD\r
+       PUSHJ   PDP,MTAGO       ;BACKSPACE RECORD\r
        PUSHJ   PDP,EOTWT       ;WAIT FOR IT\r
 LEOT2: MOVEI   UUO,16          ;SKIP A FILE\r
        PUSHJ   PDP,MTAP2\r
@@ -253,7 +253,7 @@ LEOT2:      MOVEI   UUO,16          ;SKIP A FILE
        PUSHJ   PDP,MTAP\r
        PUSHJ   PDP,EOTWT       ;WAIT FOR IT\r
        MOVE    IOS,DEVIOS(DEVDAT)\r
-       TRNN    IOS,IODENT      ;END OF FILE SEEN?\r
+       TRNN    IOS,IODEND      ;END OF FILE SEEN?\r
        JRST    LEOT2           ;NO. SKIP TO NEXT FILE\r
        MOVEI   UUO,7           ;YES. BACKSPACE RECORD\r
 \r
@@ -286,7 +286,7 @@ MTOUT1:     MOVEI   TAC,@DEVOAD(DEVDAT) ;ADDRESS OF BUFFER
 MTOUT2:        TRO     TP,4000         ;FUNCTION = WRITE\r
        MOVSI   TAC1,(BLKO MTC,) ;SETUP BLKO\r
 MTDTGO:        MOVEM   TAC,PNTR        ;SAVE BLKI/BLKO POINTER\r
-       MOVEM   TAC,SVNPTR      \r
+       MOVEM   TAC,SVPNTR      \r
        HRRI    TAC1,PNTR       ;BLKI/BLKO PNTR\r
        MOVEM   TAC1,MTALOC     ;INTO INTERRUPT LOC\r
        HRLM    TP,USEWRD       ;SAVE COMMAND\r
@@ -358,17 +358,17 @@ THRUT3:   HLRZ    TP,USEWRD       ;GET UNIT
 MTDEND:        0\r
        CONO    MTS,1           ;GIVE A FUNCTION STOP\r
        JEN     @MTDEND         ;AND EXIT\r
-\fDATENO:       CONSZ   MTS,20600       ;RECORD OK?\r
+\fDATEND:       CONSZ   MTS,20600       ;RECORD OK?\r
        JRST    RETRY           ;PARITY, DATA LATE OR BAD TAPE\r
 DATND2:        TLNE    IOS,DMPMOD      ;DUMP MODE?\r
-       JRST    CMPEND          ;YES\r
+       JRST    DMPEND          ;YES\r
        TLNN    IOS,IO          ;READING?\r
        JRST    INPTND          ;YES, FINISH INPUT\r
-ADVOUT:        PUHSJ   PDP,ADVBFE      ;WRITING, ADVANCE BUFFERS\r
+ADVOUT:        PUSHJ   PDP,ADVBFE      ;WRITING, ADVANCE BUFFERS\r
                                ;END OF TAPE?\r
        JRST    THRUTP          ;YES, DONT WRITE ANY MORE\r
 NXTREC:        TLZE    IOS,IOW         ;IN IO WAIT?\r
-       PUSHJ   PDP,GETIOD      ;RESTART JOB\r
+       PUSHJ   PDP,SETIOD      ;RESTART JOB\r
        SOSG    QUANTM          ;COUNT DOWN PROTECT TIME\r
        SKIPG   MTREQ           ;ANYONE ELSE WANT CONTROL?\r
        CONSZ   MTS,4000        ;NO. KEEP GOING UNLESS EOT\r
@@ -425,7 +425,7 @@ DMPBLK:     PUSHJ   PDP,NXTCOM      ;GET NEXT COMMAND
        ADDI    TAC,(PROG)      ;ADD RELOCATION FACTOR\r
        TLNE    IOS,IO          ;WRITING?\r
        JRST    MTOUT2          ;YES. GO WRITE RECORD\r
-       TRMN    IOS,1\r
+       TRNN    IOS,1\r
        TRO     TP,10000        ;OR - READ ACROSS RECORD BOUNDARIES\r
        JRST    MTIN2           ;GO READ RECORD(S)\r
 \r
@@ -449,7 +449,7 @@ NXTCM3:     HLRE    TAC1,TAC        ;YES. GET WORDCOUNT
        POPJ    PDP,            ;NO, GO WRITE\r
        ADD     TAC,[XWD MTSIZ,MTSIZ] ;YES.\r
        MOVEM   TAC,REMNDR      ;IOWD TO USE FOR NEXT RECORD\r
-       SUBI    TAC,MTSIZE      ;ADDRESS FOR THIS IOWD\r
+       SUBI    TAC,MTSIZ       ;ADDRESS FOR THIS IOWD\r
        HRLI    TAC,MMTSIZ      ;WRITE -MTSIZE WORD RECORDS\r
        POPJ    PDP,            ;RETURN THE IOWD\r
 REMNDR:        0\r
@@ -476,7 +476,7 @@ DATEOF:     TLO     IOS,IOEND       ;EOF - LIGHT BIT
        JRST    THRUTP          ;AND GIVE UP CONTROL\r
 \r
 ;TRY AGAIN ON PARITY ERROR OR BAD TAPE\r
-RETRY: TRNN    IOS,ONRCK       ;WANT TO STOP ON ERROR?\r
+RETRY: TRNN    IOS,IONRCK      ;WANT TO STOP ON ERROR?\r
        AOSL    TAC,ERCNT       ;OR TRIED ENOUGH?\r
        JRST    PERMER          ;YES. PERMANENT ERROR\r
 RETRY1:        MOVEI   TAC,2           ;SET RETRY SWITCH\r
@@ -534,3 +534,4 @@ PNTR:       0
 SVPNTR:        0\r
 MTAEND:        END\r
 \f\r
+\0\0\r
index 215a429..370a94e 100644 (file)
@@ -58,10 +58,10 @@ MTCDSP:     POPJ PDP,               ;RELEASE
        POPJ PDP,               ;UTPCLR\r
                                ;MTAPE UUO (FALL INTO THIS CODE WHICH FOLLOWS)\r
 \r
-DEFINE MTAPE (A)       ;MARCO TO DEFINE LEGAL MTAPE UUO EFFECTIVE ADDRESSES.\r
+DEFINE MTAPES (A)      ;MARCO TO DEFINE LEGAL MTAPES UUO EFFECTIVE ADDRESSES.\r
 <      CODES=0\r
        IRP     A, <\r
-       CODES=CODES!<1B<^D35-^0'A>>>>\r
+       CODES=CODES!<1B<^D35-^O'A>>>>\r
 \r
        MTAPES  <0,1,11,7,17,3,6,13,16,10>      ;DEFINE WHICH CODES ARE LEGAL\r
 \r
@@ -78,7 +78,7 @@ DEFINE        MTAPE (A)       ;MARCO TO DEFINE LEGAL MTAPE UUO EFFECTIVE ADDRESSES.
 \fMTAPE:        PUSHJ PDP,MTCHK2        ;CHECK IF MAG TAPE CONTROL AVAIL.\r
 MTAPE2:        TDZ IOS,[XWD IODT!IOSEOF,IOACT]\r
        TRNN T,SLICE            ;SET SLICE LEVEL THIS UUO?\r
-       JRST NOSFT              ;NO\r
+       JRST NOSET              ;NO\r
        TLZ IOS,IOSLIC          ;YES, CLEAR LEVEL\r
        TRNE T,SLEVEL           ;SET TO 1?\r
        TLO IOS,IOSLIC          ;YES\r
@@ -89,7 +89,7 @@ NOSET:
        JRST MTLEOT\r
        CAIE T,1400             ;WRITE EOF\r
        CAIN T,5400             ;OR WRITE BLANK TAPE?\r
-       JRST CHKLOC             ;YES, CHECK WRITE-LOCK\r
+       JRST CHKLOK             ;YES, CHECK WRITE-LOCK\r
        CONSO 224,4000          ;AT LOAD POINT?\r
        JRST MTGO0              ;NO\r
        CAIE T,3400             ;YES, BACKSPACE RECORD?\r
@@ -114,7 +114,7 @@ MTGO1:      LDB TAC1,PUNIT          ;UNIT
        TRO TAC,100000          ;YES, SET COMMAND.\r
        HRRM DEVDAT,MTDEV       ;COMMAND, DVDB\r
        HRLM TAC,MTDEV\r
-MTGO3: MOVEI TAC1,MTPOUN\r
+MTGO3: MOVEI TAC1,MTPDUN\r
        HRRM TAC1,MTIDSP\r
        SETZM MTEOFF            ;CLEAR EOF FLAG\r
        TLNN IOS,IODT           ;IS THIS A DATA TRANSFER OPERATION\r
@@ -129,7 +129,7 @@ MTGO2:      SETZM MISSED            ;CLEAR DATA MISSED FLAG
        JRST STOIOS             ;STORE HUNG COUNT, EXIT\r
 \r
 ;READ\r
-MTIN:  PUSHJ PDP,MTCHECK       ;IS SYSTEM AVAILABLE?>\r
+MTIN:  PUSHJ PDP,MTCHEK        ;IS SYSTEM AVAILABLE?>\r
        TLZ IOS,IO              ;READING.\r
 MTIN1: SETCM TAC,@DEVIAD(DEVDAT)       ;-SIZE-1\r
        HRRI TAC,@DEVIAD(DEVDAT)        ;BUFFER ADDRESS,PROG INCLUDED\r
@@ -149,14 +149,14 @@ MTCHEK:   PUSHJ PDP,GETDCMT       ;GET DATA AND MAG TAPE CONTROLS
 MTCHK2:        AOSE MTREQ\r
        PUSHJ PDP,MTWAIT\r
        MOVE IOS,DEVIOS(DEVDAT)\r
-       TLZ IOS,IO              ;CLEAR IUO INDICATION SO "REWCK" WILL WORK\r
+       TLZ IOS,IO              ;CLEAR IO INDICATION SO "REWCK" WILL WORK\r
        PUSHJ PDP,MTCHK4        ;CHECK STATUS\r
        JRST MTCHK2             ;GET MT AGAIN\r
 \r
 MTCHK4:        TLO IOS,HASMT           ;THIS JOB NOW HAS MTC\r
        TLZE IOS,IOBEG          ;FIRST OPERATION AFTER INIT OR SETSTS\r
 \r
-       TLZ IOS,IUOSLIC         ;YES, SET SLICE LEVEL TO 0.\r
+       TLZ IOS,IOSLIC          ;YES, SET SLICE LEVEL TO 0.\r
        TLZ IOS,IOREW           ;CLEAR MAG TAPE REWINDING\r
        PUSHJ PDP,REWCK         ;CHECK IF REWINDING?\r
        JRST TPOPJ              ;NO - STATUS OK\r
@@ -197,7 +197,7 @@ MTHUNG:
 DETDC: TLZN IOS,IODT           ;DOES JOB HAVE DATA CONTROL?\r
        JRST STOIOS             ;NO- EXIT\r
        CONO DC,0\r
-       CONO PD,DCOFF\r
+       CONO DC,DCOFF\r
        SOSL DCREQ              ;ANYONE ELSE WAITING FOR IT?\r
        SETOM DCAVAL            ;YES- FLAG AS JUST BECOME AVAILABLE\r
        JRST STOIOS             ;AND EXIT\r
@@ -254,7 +254,7 @@ MTINDC:     MOVEM TAC,MTDCCN        ;BLKO POINTER
        HRRI TAC1,DCWRD\r
        CONO PI,DCOFF           ;TURN DC PI CHANNEL OFF\r
        MOVEM TAC1,DCLOC        ;BLK COMMAND\r
-       MOVE TAC1,JSR MTDCND]\r
+       MOVE TAC1,[JSR MTDCND]\r
        MOVEM TAC1,DCLOC1\r
        TRO IOS,IOACT           ;SET IOACT\r
        MOVSI TAC, ERF          ;ENABLE FOR EOR IF EOR FLAG NOT ON.\r
@@ -282,7 +282,7 @@ MWLEOT:     MOVEI T,3               ;WRITE EOF
        JRST MTAPE\r
 \r
 MTCINI:        PUSHJ PDP,RELCON\r
-       SETOM MRTEWN            ;SET CLOCK REQUEST COUNT TO -1\r
+       SETOM MTREWN            ;SET CLOCK REQUEST COUNT TO -1\r
        JRST MTNIO1\r
 \r
 \r
@@ -299,7 +299,7 @@ MTCINT:     CONSO 224,@MTCCON
        JRST .\r
        JSR MTCSAV              ;SAVE AC'S\r
        HRRZ DEVDAT,MTDEV       ;DVDB\r
-       LDB PROG,PJOBM;         JOB NUMBER\r
+       LDB PROG,PJOBN;         JOB NUMBER\r
        MOVE PROG,JBTADR(PROG)\r
        MOVE IOS, DEVIOS(DEVDAT)\r
        CONSO 224,TCF           ;TAPE CONTROL FREE\r
@@ -314,11 +314,11 @@ MTPDUN:   TLNN IOS,IODT
        JRST DMPDUN             ;DUMP\r
        TLNE IOS,IO\r
        JRST MTNOTI             ;WRITING\r
-       SKIPF MTEOFF            ;NOT EOF?\r
+       SKIPE MTEOFF            ;NOT EOF?\r
        JRST MTEOF\r
        MOVEI TAC,@DEVIAD(DEVDAT)       ;BUFFER ADDRESS\r
        MOVN TAC1,MTDCCN        ;WD CNT-1\r
-       AOBJ TAC1, .+1          ;WD CNT\r
+       AOBJN TAC1, .+1         ;WD CNT\r
        HLLZS TAC1              ;CLR RT HALF\r
        ADD TAC1,DCWRD          ;ADD CURRENT COUNT=NO, OF WDS\r
        HLRM TAC1,1(TAC)        ;STORE AT WORD COUNT\r
@@ -335,20 +335,20 @@ MTEOF:    TLO IOS,IOEND
        SETZM MTEOFF            ;CLEAR EOF FLAG\r
 \r
 ;AND FALL INTO MTEND1\r
-\fMTEND1:       PUSHJ PDP,DETDO         ;DETACH DC (IF ASSIGNED)\r
+\fMTEND1:       PUSHJ PDP,DETDC         ;DETACH DC (IF ASSIGNED)\r
        PUSHJ PDP,ETCHK         ;CHECK FOR END OF TAPE (FOR DUMP MODE OUT)\r
        PUSHJ PDP,CLRACT\r
        CONSO 224,TCF           ;TAPE CONTROL FREE?\r
-       JRST MTION              ;NO. WAIT FOR IT.\r
+       JRST MTIGN              ;NO. WAIT FOR IT.\r
 MTFIN:\r
 MTNIO: TLZE IOS,IOW            ;CLEAR WAIT\r
        PUSHJ PDP,SETIOD\r
-       PUSHJ PDP,DETMOC        ;DETACH MTC (IF HASMT SET) AND DC (IF IODT)\r
+       PUSHJ PDP,DETMDC        ;DETACH MTC (IF HASMT SET) AND DC (IF IODT)\r
        PUSHJ PDP,ETCHK         ;CHECK FOR END OF TAPE\r
        PUSHJ PDP,CLRACT        ;RESTORE BITS,CLEAR IOACT\r
 \r
 ;AND FALL INTO MTNIO1\r
-\fMTIO1:        MOVN TAC,MTREDO         ;REPEAT COUNTER\r
+\fMTNIO1:       MOVN TAC,MTREDO         ;REPEAT COUNTER\r
        HRREM TAC,MTERCN\r
        SKIPGE MTREWN           ;IS ANY OTHER UNIT REWINDING AND\r
                                ;A SECOND COMMAND HELD UP?\r
@@ -380,7 +380,7 @@ REW1:       AOS MTREWN              ;INCREMENT COUNT OF REW WAIT UNITS
 REW2:  HLRZ DEVDAT,DEVSER(DEVDAT)              ;DEVDAT TO NEXT DDB\r
        JUMPE DEVDAT,REW3               ;LAST ONE?\r
        HRLZ DAT,DEVNAM(DEVDAT)         ;NO,GET LH OF NAME\r
-       CAIN DAT,(SIZBIT /MTA/)         ;STILL A MAGTAPE?\r
+       CAIN DAT,(SIXBIT /MTA/)         ;STILL A MAGTAPE?\r
        JRST REWLP              ;YES, CONTINUE\r
 REW3:  POP PDP,DEVDAT\r
        POPJ PDP,               ;YES, DISMISS INTERRUPT OF RETURN TO MTC OK\r
@@ -441,7 +441,7 @@ MTNIO2:     HLRZ TAC,MTDEV          ;COMMAND
        JRST MTIGN1             ;NO. WAIT FOR IT.\r
        CONSZ DC,1000           ;DATA MISSED\r
        SETOM MISSED            ;YES\r
-       CONSO DC,1600000        ;ANY CHARS. LEFT?\r
+       CONSO DC,160000         ;ANY CHARS. LEFT?\r
        JRST MTEOR1             ;NO\r
        MOVE T,DCWRD            ;GET IOWD\r
        TLNN IOS,IO             ;O/P\r
@@ -479,7 +479,7 @@ MTEOR2:     SOS     MTIDSP          ;POINT TO ERROR ROUTINE
        CONSZ   MTS1,400000     ;ILLEGAL OP?\r
        TRO     T,1000          ;YES, COUNT IN QUARTER 3\r
        CONSO MTS1,100\r
-       SKIPF   MISSFD          ;DATA MISSED?\r
+       SKIPE   MISSED          ;DATA MISSED?\r
        TRO     T,1             ;YES, COUNT IN QUARTER 4\r
        ADDM    T,MTECNT(DEVDAT);ADD TO ERROR COUNTS FOR THIS DRIVE\r
        JRST    MTECON          ;CHECK EOF\r
@@ -507,7 +507,7 @@ MTERR2:     CONSO 224,400100        ;SET IODERR IF ILLEG OR MISSED CHAR FLAGS
        JRST MTPDUN\r
 \r
 MTBSP: MOVE TAC,MTDCCN         ;POINTER\r
-       MOVEM TAC,DOWRD         ;RESET POINTER WORD\r
+       MOVEM TAC,DCWRD         ;RESET POINTER WORD\r
        HLRZ TAC,MTDEV          ;COMMAND\r
        CONSO 224,XNC           ;WAIT FOR XNC\r
        JRST .-1                ;SHOULD ADD A COUNT(RUNAWAY TAPE TURNED OFF)\r
@@ -531,7 +531,7 @@ MTDC=2              ;MAG TAPE DATA CONTROL DEVICE NO.
 TCF=1          ;TAPE CONTROL FREE\r
 ERF=4          ;END OF RECORD FLAG\r
 LPE=20         ;LONG. PARITY ERROR\r
-CRE=10         ;CHAR. PARITY ERROR\r
+CPE=10         ;CHAR. PARITY ERROR\r
 SEL=2          ;UNIT TO COMMAND BUFFER\r
 IOSEOF=4000    ;SPACING ONE RECORD FORWARD FOUND EOF\r
 IOTEND=2000    ;EOT INDICATION\r
@@ -579,7 +579,7 @@ MTIDSP:     JRST MTPDUN
 >\r
 \f;LOGICAL EBND OF TAPE LOOP\r
 MTLEOT:        MOVEI T,7               ;BACKSPACE\r
-       PUSHJ PDP,MTAPC2\r
+       PUSHJ PDP,MTAPE2\r
        PUSHJ PDP,MTCHK2        ;CALL INTERLOCK, PICKUP IOS\r
                                ;AFTER PREVIOS TASK FINISHED.\r
 MTEOT2:        MOVEI T,16              ;SAVE ONE FILE\r
@@ -602,12 +602,12 @@ MTDPO1:   PUSHJ PDP,MTCHEK        ;IS SYSTEM AVAILABLE
        PUSHJ PDP,SAVCHK\r
        MOVE TAC1, @MTOUT2      ;BLKO AND DATA CONTROL COMMAND\r
        MOVEI T,1000            ;WRITING COMMAND\r
-MTDMP1: HTLI TAC, PROG         ;ACTUAL ADDRESS OF COMMAND LIST\r
-       MOVEM TAC, MTDUMP       ;COMMAND POINTER\r
+MTDMP1: HRLI TAC, PROG         ;ACTUAL ADDRESS OF COMMAND LIST\r
+       MOVEM TAC, MTCMDP       ;COMMAND POINTER\r
        SKIPN TAC,@TAC          ;COMMAND WORD\r
        JRST MTEND1\r
        JUMPG TAC, MTDMP1       ;CHANGE COMMAND SEQUENCE\r
-       HLREM TAC, SVCNT        ;SAVE COUNTER\r
+       HLREM TAC, SVCNTR       ;SAVE COUNTER\r
        HRRZS TAC               ;GET ADDRESS ALONE\r
        CAMGE TAC,AC1\r
        JRST MTDMP2\r
@@ -640,7 +640,7 @@ SAVCHK:     MOVEI AC1,JOBPFI
 MTDMPI:        PUSH    PDP,UUO\r
 MTDPI1:        TRNE IOS,IODEND\r
        JRST    TPOPJ\r
-       PUSHJ PDP,MTCHECK\r
+       PUSHJ PDP,MTCHEK\r
        TLZ IOS,IO              ;READING\r
        PUSHJ PDP,SAVCHK\r
        MOVE TAC1,@MTIN2        ;BLKI AND DATA CONTROL COMMAND\r
@@ -652,3 +652,4 @@ MTDMP2:     PUSHJ PDP,MTEND1
 \r
        END\r
 \f\r
+\0
\ No newline at end of file
index adbdfa3..f9f30f7 100644 (file)
Binary files a/src/nulseg.mac and b/src/nulseg.mac differ
index 9fa9d75..0ad5215 100644 (file)
@@ -24,9 +24,12 @@ INTERNAL     FTRC10  ;THIS SINGLE SOURCE FILE MAY BE ASSEMBLED FOR EITHER
 ; 2. USUAL SHROT ONCE ONLY CODE(ONCE) - CTY FOR DATE AND TIME\r
 ; 3. OPTIONAL ONCE ONLY CODE - CTY DIALOG TO CHANGE MONITOR\r
 ;      OR REFRESH DISK(ALT-MODE INSTEAD OF CR AFTER TIME)\r
+\f\r
+\r
 \r
 ;INITIALIZE PRIORITY CHANNELS AND SETUP INTERRUPT SERVICE ROUTINE CHAIN\r
 \r
+\r
 T=TAC                  ;DEFINE ACCUMULATOR T\r
 \r
 ;LINK TO SERVICE ROUTINES\r
@@ -40,10 +43,8 @@ LINKSR:      0                       ;CALLED WITH JSR FROM SYSINI
 IFN FT2REL,<\r
        JSP TSTREG              ;GO TEST IF TWO RELOC REGISTERS EXIST\r
 >\r
-\r
                                ;HIGHEST LOC. IN JOB AREA PROTECTED FROM IO\r
-\r
-;MOVE SYMBOL TABLE UP IN MEMORY\r
+\f;MOVE SYMBOL TABLE UP IN MEMORY\r
 ;EXEC MUST BE LOADED IN 15K OR LESS IF GOING INTO 16K MACHINE\r
 ;FIRST FIND THE FIRST LOCATION OF NON-EXISTENT MEMORY\r
 \r
@@ -77,8 +78,7 @@ IFN FT2REL,<
 STO1:  MOVEM TAC1,.(TAC)\r
        SUB TAC,[XWD 1,1]\r
        JUMPGE TAC,.-3\r
-\r
-       EXTERN DEVLST,INTNUM,INTTAB\r
+\f      EXTERN DEVLST,INTNUM,INTTAB\r
 ;SETUP LOCATIONS 40 THRU 61\r
 \r
 JRSTI1:        MOVE TAC,[XWD LOC40,40] ;SET UP LOWER CORE PI LOCATIONS\r
@@ -114,7 +114,7 @@ IFN FTDISK,<
        EXTERN NULPDL,DSKINI\r
 \r
        MOVEI PDP,NULPDL\r
-       PUSHJ PDP,DSKINT        ;INITIALIZE THE DISK\r
+       PUSHJ PDP,DSKINI        ;INITIALIZE THE DISK\r
                                ; AFTER SETTING UP CHANNEL LOC\r
                                ; BUT BEFORE OVERWRITTING ONCE WITH DDB'S\r
 >\r
@@ -126,9 +126,8 @@ IFN FTDISK,<
                        ;MULTIPLE DEVICE DATA BLOCKS ARE CREATED\r
                        ;AS SPECIFIED BY SYSSIZ AND MAY ERASE PART\r
                        ;OF ONCE ONLY CODE\r
-JRST1: JRST @LINKSR    ;YES,RETURN\r
-\r
-EXTERN UUO0,ERROR,UUO2,LINKDR,DEVLST\r
+JRSTI: JRST @LINKSR    ;YES,RETURN\r
+\fEXTERN UUO0,ERROR,UUO2,LINKDB,DEVLST\r
 EXTERN CH1,CH2,CH3,CH4,CH5,CH6,CH7\r
 \r
 LOC40: 0                       ;UUO PC\r
@@ -151,8 +150,7 @@ UUOTRP:     JSR UUO0                ;TO UUO HANDLER
        0               ;LOC 60/61 TRAPPED TO FOR UNIMPLEMENTED OP CODES ON PDP-10\r
                        ;OP CODE 100 IS USED TO DISMISS USER MODE INTERRUPTS(SEE TRPSET UUO)\r
        JSR UUO2        ;GO SEE IF OP CODE 100 OR SOME OTHER ONE\r
-\r
-IFN FT2REL,<\r
+\fIFN FT2REL,<\r
 ;SET LOC TWOREG TO -1 IF MACHINE HAS TWO RELOC REG,0 IF ONLY ONE RELOC REG\r
        EXTERN TWOREG,SEGN,SEGPTR,AND2RG,JOBN\r
 \r
@@ -191,8 +189,7 @@ TSTAPR:     0                       ;PLACE TO SIDE JSR PC
        CONO PI,10000           ;CLEAR PI SYSTEM\r
        JRST @TSTREG\r
 >\r
-\r
-;ROUTINE TO FIND THE EXEC DDT SYMBOL TABLE POINTER AND MOVE IT TO THE PLACE\r
+\f;ROUTINE TO FIND THE EXEC DDT SYMBOL TABLE POINTER AND MOVE IT TO THE PLACE\r
 ;WHERE EXEC DDT EXPECTS IT(DDTSYM=36)\r
 ;THE MONITOR CAN BE LOADED IN ANY OF 3 WAYS(IN ORDER OF PERFERNCE):\r
 ;  1. UNDER TIME SHARING WITH REGULAR LOADER AND COMMON\r
@@ -205,11 +202,11 @@ TSTAPR:   0                       ;PLACE TO SIDE JSR PC
 ;  2.  JUNK            JUNK(NON-NEG)   S.T.PTR\r
 ;  3.  S.T.PTR         S.T.PTR         JUNK\r
 \r
-;CALL: JSP MOVSTP\r
+;CALL: JSP MOVSTR\r
 ;      RETURN WITH AC UUO SET TO SYMBOL TABLE POINTER\r
 ;CALLED FROM MANDATORY ONCE ONLY CODE AND 141 START CODE(WHICHEVER OCCURS FIRST)\r
 \r
-       INTERN MOVTP\r
+       INTERN MOVSTR\r
        EXTERN T30SYM,JOBSYM,DDTSYM,DDTX,SYSDDT\r
 \r
 MOVSTR:        0                       ;JSR HERE FROM MANDATORY ONCE ONLY CODE AND\r
@@ -238,9 +235,11 @@ SETUUO:    MOVE UUO,DDTSYM         ;RETURN THE CORRECT(MAYBEUPDATED IF
        INTERN PATSYM\r
        EXTERN DDTX\r
 \r
-PATSYM:        JSR MOVSTP              ;MOVE DDT SYMBOL TABLE POINTER SO EXEC DDT WILL\r
+PATSYM:        JSR MOVSTR              ;MOVE DDT SYMBOL TABLE POINTER SO EXEC DDT WILL\r
                                ; FIND IT AND PATCH 141 TO GO DIRECTLY TO EXEC DDT\r
        JRST DDTX               ;AND GO DIRECTLY TO EXEC DDT\r
+\f\r
+;ONCE ONLY CODE - OPERATOR SETUP DIALOGUE\r
 \r
 IFN    FTRC10, <\r
 ENTRY  RCXWNZ                  ;THIS SYMBOL IS SOLELY TO PERMIT THE SYSTEM\r
@@ -289,12 +288,10 @@ PATSIZ:   MOVEI TAC,PATCH         ;SET SIZE OF SYSTEM TO BEGINING OF PATCH
        MOVEI TAC,TSEXEC\r
        PUSHJ PDP,CONMES\r
        PUSHJ PDP,OPOUT\r
-\r
-\r
-;ASK FOR TODAY'S DATE AND CONVERT \r
+\f;ASK FOR TODAY'S DATE AND CONVERT \r
 ;DATE STORED AS ((Y-64)*12.+M-1)*31.+D-1\r
 \r
-EXTERNAL       THSDAT,JUFMIN,SKIPS\r
+EXTERNAL       THSDAT,JIFMIN,SKIPS\r
 \r
        PUSHJ PDP,DATLOP\r
        JRST .-1\r
@@ -333,18 +330,16 @@ DATLOP:   SETZM THSDAT
        SUBI TAC1,^D64          ;YEAR ZERO\r
        IMULI TAC1,^D12*^D31\r
        ADDM TAC1,THSDAT\r
-\r
-\r
-;GET TIME OF DAY\r
+\f;GET TIME OF DAY\r
 \r
 EXTERNAL       TIME\r
 \r
-       POP PDP,TC\r
+       POP PDP,TAC\r
        PUSHJ PDP,TIMLOP\r
        JRST .-1\r
 TIMLOP:        SETZM TIME\r
        MOVEI TAC,TIMEM\r
-       PUSHJ PDP,IOCONM\r
+       PUSHJ PDP,ICONM\r
        PUSHJ PDP,OPOUT\r
        PUSHJ PDP,GETLIN\r
        JRST TIMLOP             ;JUST A CR\r
@@ -353,7 +348,7 @@ TIMLOP:     SETZM TIME
        JRST    TIMLOP  ;NO ARGUMENT\r
        JRST    TIMLOP  ;ILLEGAL CHARACTER\r
        MOVE    TAC,TAC1\r
-       IDIVI   TYAC,^D100      ;TAC=HRS.TAC1=MINS\r
+       IDIVI   TAC,^D100       ;TAC=HRS.TAC1=MINS\r
 \r
        SKIPL   TAC     ;HRS NEGATIVE?\r
        CAILE   TAC,^D23        ;OR .G. 23?\r
@@ -368,12 +363,10 @@ TIMLOP:   SETZM TIME
        JUMPGE  ITEM,QUICK      ;SKIP NEXT PART OF DIALOGUE UNLESS THE LAST ITEM\r
                                ; TYPED IN (NAMELY TIME OF DAT) WAS TERMINATED BY\r
                                ; AN "ALT MODE". (ACCUMULATOR "ITEM" IS SET UP\r
-                               ; IUN THE "GETLIN" SUBROUTINE CALLED ABOVE.)\r
-\r
+                               ; IN THE "GETLIN" SUBROUTINE CALLED ABOVE.)\r
+\f;PRINT IO CONFIGURATION\r
 \r
-;PRINT IO CONFIGURATION\r
-\r
-EXTERNAL DEVLST,TCONLN,INLMES,PRENAME,INTTB1,INTTAB\r
+EXTERNAL DEVLST,TCONLN,INLMES,PRNAME,INTTB1,INTTAB\r
 EXTERNAL OCTPNT\r
 \r
 IFN FT2REL,<\r
@@ -390,10 +383,10 @@ IFN FT2REL,<
        PUSHJ PDP,OPOUT\r
 >\r
        MOVEI TAC,IOCONF\r
-       PUSHJ PDP,IOCNM\r
+       PUSHJ PDP,ICONM\r
        HLRZ AC1,DEVLST\r
        JUMPN AC1,ALRLNK        ;DEVICE DATA BLOCK ALREADY LINKED?\r
-       MOVESI PROG,INTNUM      ;NO, NOT LOADED BY BULD,-NO. OF DEVICES*2\r
+       MOVSI PROG,INTNUM       ;NO, NOT LOADED BY BULD,-NO. OF DEVICES*2\r
 CONFLP:        SKIPN AC1,INTTB1(PROG)  ;INT LOC HAVE DEV DATA BLOCK?\r
        JRST NODDB              ;NO, GO GET NEXT DEVICE DATA BLOCK\r
        LDB UUO,[POINT 8,INTTAB(PROG),8]        ;YES. NO. OF DEV DATA BLKS\r
@@ -401,7 +394,7 @@ CONFLP:     SKIPN AC1,INTTB1(PROG)  ;INT LOC HAVE DEV DATA BLOCK?
        PUSHJ PDP,RADX10        ;IN DECIMAL\r
        PUSHJ PDP,INLMES        ;PRINT 1 SPACE\r
        ASCIZ / /\r
-       HLLZ TAC1,DEVNAME(AC)   ;DEVICE NAME\r
+       HLLZ TAC1,DEVNAM(AC1)   ;DEVICE NAME\r
        PUSHJ PDP,PRNAME        ;PRINT IT\r
        SOJLE UUO,SINGLE                ;IS THIS JUST A SIGNLE DEVICE?\r
        PUSHJ PDP,INLMES        ;NO, APPEND 'S TO DEVICE NAME\r
@@ -442,7 +435,7 @@ ONCE7A:     PUSHJ PDP,OPOUT
        ASCIZ / (OCTAL) TTY SCANNER LINES\r
 /\r
        PUSHJ PDP,OPOUT\r
-\r
+\f\r
 ;ASK FOR OPERATORS CONSOLE TO BE SPECIFIED\r
 \r
 EXTERNAL INLMES,DEVOPR,CTEXT,DEVPHY\r
@@ -457,10 +450,10 @@ ONCEOP:   MOVEI TAC,OPRM
        CAMN TAC,[SIXBIT /CTY/]         ;CTY?\r
        JRST .+3                        ;YES. JUST STORE IT.\r
        PUSHJ PDP,DEVPHY\r
-       JRST ONCEP              ;PHYSICAL NAME NOT FOUND\r
+       JRST ONCEOP             ;PHYSICAL NAME NOT FOUND\r
        MOVEM TAC,DEVOPR        ;SET FOR SYSTEM\r
                                ;DEVICE "OPR" WILL BE SAME AS THIS\r
-\r
+\f\r
 ;ASK IF SYSMAK IS WANTED\r
 \r
        EXTERN MAKEND,SYSSIZ\r
@@ -488,8 +481,7 @@ EXTERNAL CNTDB
 ONCE3: PUSHJ PDP,SYSSIZ ;SAVE CURRENT VALUE\r
        JSP TAC,CNTDB    ;UPDATE SYSSIZ BY SPACE USED\r
                                ; FOR DEVICE DATA BLOCKS FOR DSK,DTA,MTA,TTY,PTY)\r
-\r
-;PRINT OCTAL SIZE OF MONITOR\r
+\f;PRINT OCTAL SIZE OF MONITOR\r
 \r
        MOVEI TAC,EXECIS\r
        PUSHJ PDP,ICONM\r
@@ -538,10 +530,8 @@ IFN FTCHECK,<
 >\r
 \r
        JRST @ONCE              ;***EXIT FROM THE "ONCE-ONLY CODE"***\r
-\r
-\r
-IFN FTNDISK,<\r
-EXTERNAL OCTIN,MFDBLK,SATXWD,NUMPLK,SYSPP,REFLAG\r
+\fIFN FTDISK,<\r
+EXTERNAL OCTIN,MFDBLK,SATXWD,NUMBLK,SYSPP,REFLAG\r
 \r
 ;REFRESH DIALOGUE\r
 \r
@@ -565,7 +555,7 @@ REF2:                       ;YES
        IFN FTTTYSER,<PUSHJ PDP,SKIPS>\r
        PUSHJ PDP,OCTIN\r
        JRST REF2\r
-       JRET REF2\r
+       JRST REF2\r
 IFE    FTRC10, <\r
        PUSH PDP,TAC1           ;IS IT A MULTIPLE OF NUMBLK?\r
        MOVEI TAC,(TAC1)\r
@@ -576,7 +566,7 @@ IFE FTRC10, <
        HRRZM TAC1,MFDBLK\r
        AOS TAC1\r
        HRRM TAC1,SATXWD\r
-REF3:\r
+\fREF3:\r
 INTERNAL FTSWAP\r
 IFN FTSWAP,<IFN FTRC10, <\r
        MOVEI   TAC,REF9M       ;HOW MANY 1K BLOCKS ON THE ISK FOR SWAPPING ?\r
@@ -596,6 +586,8 @@ IFN FTSWAP,<IFN FTRC10, <
 REF3A:\r
 >>\r
 \r
+\r
+\r
        PUSHJ PDP,REFRES        ;REFRESH.\r
        JRST REF5               ;ERROR\r
 \r
@@ -611,7 +603,7 @@ REF3A:
        PUSHJ   PDP,OPOUT\r
        POPJ PDP,\r
 \r
-IFE    FTRC10, <\r
+\fIFE   FTRC10, <\r
 REF4:  POP PDP,TAC1\r
        MOVEI TAC,REF5M\r
        PUSHJ PDP,ICONM\r
@@ -622,20 +614,21 @@ REF4:     POP PDP,TAC1
 REF5:  PUSH PDP,TAC            ;ERROR. ON COMMING HERE, TAC HAS LOGICAL BLOCK\r
                                ; NUMBER WHICH COULD NOT BE WRITTEN\r
        MOVEI TAC,REF7M\r
-       PUSHJ PDP,IOCONM\r
+       PUSHJ PDP,ICONM\r
        POP PDP,TAC\r
        PUSHJ PDP,OCTPNT\r
        PUSHJ PDP,CRLF\r
        PUSHJ PDP,OPOUT\r
        JRST REF6               ;GO BACK TO TRY AGAIN.,\r
 \r
+\r
 REF1M: ASCIZ /DO YOU WANT TO REFRESH THE DISK ? (Y OR CR)\r
 /\r
 REF2M: ASCIZ /ARE YOU SURE(Y OR CR)?\r
 /\r
 REF3M: ASCIZ /DO YOU WANT TO CHANGE THE LOCATION OF THE MFD(Y OR CR)?\r
 /\r
-REF4M: ASCIZ /TYPE THE LOGICAL DISK ADDRESS OF THE MFT RETREIVAL INFORMATION\r
+\fREF4M:        ASCIZ /TYPE THE LOGICAL DISK ADDRESS OF THE MFT RETREIVAL INFORMATION\r
 /\r
 IFE    FTRC10, <\r
 REF5M: ASCIZ /MUST BE A MULTIPLE OF NUMBLK.\r
@@ -651,8 +644,7 @@ REF9M:      ASCIZ   /HOW MANY (DECIMAL) 1K DISK BLOCKS ARE TO BE ALLOCATED FOR SWAPPING
 /\r
 >\r
 >              ;THIS CLOSES AN FTDISK CONDITIONAL SERVAL PAGES BACK.\r
-\r
-;ROUTINE TO READ A LINE FROM OPERATORS CONSOLE\r
+\f;ROUTINE TO READ A LINE FROM OPERATORS CONSOLE\r
 ;CALL: PUSHJ PDP,GETLIN\r
 ;      JUST A CR TYPED IN\r
 ;      A LINE TYPED IN,TAC SEYT AS BYTE POINTER\r
@@ -662,7 +654,7 @@ LINE=TAC1           ;TTY LINE NO. (ALSO SAME AS SCNSER)
 \r
 IFN FTTTYSER,<EXTERN TSETBF,SETBFI,SCNDDB,DCPUTR,PUTCHI>\r
 \r
-EXTNERAL       CPOPJ\r
+EXTERNAL       CPOPJ1\r
 \r
 GETLIN:        IFE FTTTYSER,<MOVE TAC,LINEP>\r
        IFN FTTTYSER,< PUSHJ PDP,SETBFI>\r
@@ -712,8 +704,7 @@ DELET1:     MOVEI CHREC,15
 GETLN1:        SETOM   ITEM            ;MECHANISM USED TO BY-PASS PART OF DIALOGUE\r
        MOVEI   CHREC,15                ;WHEN ALTMODEIS TYPED.\r
        JRST    GET2\r
-\r
-;ROUTINE TO TYPE A LINE ON OPERATOR CONSOLE\r
+\f;ROUTINE TO TYPE A LINE ON OPERATOR CONSOLE\r
 ;ECHO CHECK STOPS LINE AND RETURNS\r
 ;CALL:  DAT SET TO END OF MESSAGE\r
 \r
@@ -722,12 +713,12 @@ IFN FTTTYSER,<EXTERNAL CPOPJ>
 OPOUT: IFE FTTTYSER,<MOVE TAC,LINEP>\r
        IFN FTTTYSER,<MOVEI DAT,TTOBUF(DEVDAT)>\r
        CONO TTY,1000           ;CLEAR INPUT\r
-OPOUT1:        IFE FTTYSER,<\r
+OPOUT1:        IFE FTTTYSER,<\r
        CAMN TAC,DAT\r
        POPJ PDP,>\r
        CONSZ TTY,40\r
        JRST OPOUT2             ;ECHO CHECK\r
-       MEXTC\r
+       NEXTC\r
 IFN FTTTYSER,< JUMPE CHREC,CPOPJ>\r
        PUSHJ PDP,TYO\r
        JRST OPOUT1\r
@@ -737,7 +728,7 @@ OPOUT2:     MOVEI CHREC,15
        MOVEI CHREC,12\r
        PUSHJ PDP,TYO\r
        CONO TTY,1000           ;CLEAR INPUT\r
-\r
+\f\r
 ;WAIT TILL OUTPUT BUSY OFF BEFORE TYPING OUT CHAR.\r
 \r
 EXTERNAL TCONLN,TYPL\r
@@ -773,9 +764,8 @@ APRCHK:     CONSO APR,1000          ;IS CLOCK FLAG ON?
        CONO APR,1000           ;YES, CLEAR CLOCK FLAG\r
        AOS TIME                ;INCREMENT TIME\r
        POPJ PDP,\r
-\r
-ICONM: PUSH    PDP,TAC\r
-       SETTTYO ;INITIALIZE LINE BUFFER\r
+\fICONM:        PUSH    PDP,TAC\r
+       SETTYO  ;INITIALIZE LINE BUFFER\r
        POP     PDP,TAC\r
        JRST    CONMES  ;OUTPUT MESSAGE\r
 \r
@@ -784,7 +774,7 @@ OTSET:      MOVEI   DEVDAT,SCNDDB
        MOVSI   TEM,120 ;TTYCHR\r
        HRRI    TEM,TIBF(DEVDAT)\r
        MOVEM   TEM,TTIBUF(DEVDAT)      ;INIT INPUT POINTER\r
-       HRRI    TEM,TDBF(DEVDAT)        ;AND OUTPUT POINTER\r
+       HRRI    TEM,TOBF(DEVDAT)        ;AND OUTPUT POINTER\r
        MOVEM   TEM,TTOBUF(DEVDAT)\r
        JRST    TSETBF          ;NOW CLEAR THE BUFFERS\r
 >\r
@@ -798,7 +788,7 @@ YESNO:      PUSHJ   PDP,ICONM       ;FIRST OUTPUT THE QUESTION
        CAIN    CHREC,"Y"       ;WAS IT A Y?\r
        AOS     0(PDP)  ;YES, SKIP\r
        POPJ    PDP,    ;NO. MAYBE IT WAS "N", SO DONT SKIP\r
-\r
+\f\r
 ;CONSTANTS AND PUSH DOWN LIST\r
 \r
 ONCEPN=20\r
@@ -824,7 +814,7 @@ IO CONFIGURATION
 OPRM:  ASCIZ /\r
 TYPE NAME OF OPR CONSOLE.\r
 /\r
-SYSM:  ASCIZ /\r
+\fSYSM: ASCIZ /\r
 DO YOU WANT SYSMAK (TYPE Y IF YES, CR IF NO)?\r
 /\r
 SYSDM: ASCIZ /\r
@@ -839,9 +829,7 @@ DESMES: ASCIZ /TYPE DESIRED MAX,(DEC), CR IF OK AS IS
 /\r
 CRLFMS:        ASCIZ /\r
 /\r
-\r
-\r
-;INITIALIZE SAT SEARCH ENTRIES\r
+\f;INITIALIZE SAT SEARCH ENTRIES\r
 \r
 ;THIS "DFWUNS" ROUTINE IS CALLED BY MANDATORY ONCE ONLY CODE(LINKSR)\r
 ;  AFTER ALL MULTIPLE DEVICE DATA BLOCKS HAVE BEEN GENERATED IN CORE\r
@@ -850,7 +838,7 @@ CRLFMS:     ASCIZ /
 ;  PERFORMED, DFWUNS IS CALLED AFTER REFRES SINCE SYSINI CALLS LINKSR AFTER ONCE.\r
 \r
 INTERNAL FTDISK\r
-IFN FTDISK,\r
+IFN FTDISK,<\r
 \r
 INTERNAL DFWUNS\r
 EXTERNAL SAT05,JSAT06,SATENT,SATPTR,SATBK2,SATXWD,SATPTR\r
@@ -865,7 +853,7 @@ IFN FTRC10, <
        PUSHJ   PDP,CAPCTY      ;DETERMINE CURRENT SYSTEM CAPACITY (HOW MANY DISKS).\r
        CAMN    TAC,LBHIGH      ;HAS CAPACITY CHANGED SINCE LAST REFRESH ?\r
        JRST    DFWNZ1          ;NO, EVERYTHING APPPEARS TO BE OKAY.\r
-       SETTTYO                 ;YES, PRINT WARNING MESSAGE...\r
+       SETTYO                  ;YES, PRINT WARNING MESSAGE...\r
        PUSHJ   PDP,INLMES\r
        ASCIZ   /DISK CAPACITY HAS CHANGED SINCE LAST REFRESHING.\r
 EITHER RESTORE PREVIOUS DISK CONFIGURATION OR REFRESH.\r
@@ -875,7 +863,7 @@ EITHER RESTORE PREVIOUS DISK CONFIGURATION OR REFRESH.
        JRST    DFWUNS          ;NOW TRY AGAIN.\r
 DFWNZ1:\r
 >\r
-       MOVEI TAC,SETENT\r
+       MOVEI TAC,SATENT\r
        MOVEM TAC,SATPTR\r
        MOVEI PROG,0\r
        MOVEI DEVDAT,DSKDDB\r
@@ -897,9 +885,9 @@ SETS2:      PUSH PDP,TAC
        MOVE TAC,SATBK2\r
        MOVEM TAC,2(DAT)\r
        MOVSI TAC1,400000\r
-       MOVEM TAC1,1(DSAT)\r
+       MOVEM TAC1,1(DAT)\r
        MOVEI DAT,0\r
-SETS3: MOVE AC1,(TAC)          ;COUNT ONE-BITS\r
+\fSETS3:        MOVE AC1,(TAC)          ;COUNT ONE-BITS\r
        AOJN AC1,SETS3A         ;IS THE WORD = -1?\r
        ADDI DAT,44             ;YES\r
        JRST SETS5\r
@@ -917,7 +905,7 @@ IFE FTRC10, <
 ;BITS HAVE BEEN COUNTED, CHECK FOR WRITE-LOCK\r
        CAIL DAT,NUMBIT         ;BLOCK FULL?\r
        JRST SETS8\r
-       PUSHJ PDP,DEGETF        ;NO. GET A FREE BLOCK\r
+       PUSHJ PDP,DFGETF        ;NO. GET A FREE BLOCK\r
 \r
        PUSHJ PDP,SETS7         ;WRITE\r
        PUSHJ PDP,SETFRE        ;FREE THE BLOCK\r
@@ -940,6 +928,8 @@ SETS5X:     CAIL TAC,SATTOP
        HRRM    TAC1,(TAC)      ; TABLE TO SHOW ALL NON-EXISTENT DISKS AS\r
        JRST    SETS5X          ; BOTH WRITE-LOCKED AND FULL.\r
 >\r
+\fSETS6:        POP PDP,TAC             ;ERROR, TRY AGAIN\r
+       JRST SETS2\r
 \r
 IFE    FTRC10, <\r
 \r
@@ -973,8 +963,7 @@ SETS9:      BLOCK 204
 \r
 >              ;CLOSE THE IFE FTRC10\r
 >              ;CLOSES AN IFN FTDISK A COUPLE PAGES BACK.\r
-\r
-IFN FTDISK,<\r
+\fIFN FTDISK,<\r
 \r
 ;DISK REFRESHING ROUTINES ---\r
 \r
@@ -988,12 +977,11 @@ REFRESH:  MOVEI PROG,0            ;SETUP IO
        MOVEI DEVDAT,DSKDDB\r
        PUSH PDP,SETSAT\r
        MOVE TAC,RPOPJ\r
-       MOVEM TAC,SETSET\r
+       MOVEM TAC,SETSAT\r
        PUSHJ PDP,DSKINI\r
        POP PDP,SETSAT\r
        MOVEI TAC,DSKCHN\r
        LSH TAC,1\r
-\r
        ADDI TAC,40\r
        MOVE TAC1,[JSR DSKCHL]\r
        MOVEM TAC1,(TAC)\r
@@ -1120,7 +1108,7 @@ REFER1:   POP PDP,TAC1
 REFER: POP PDP,WSYNC\r
 RPOPJ: POPJ PDP,\r
 \r
-DEFINE ZEROS (A),<XLIST\r
+DEFINE ZEROES (A),<XLIST\r
        REPEAT A,<0>\r
        LIST>\r
 \r
@@ -1131,7 +1119,7 @@ DEFINE ONES (A),<XLIST
 DEFINE BLOCKR (NAME,EXT,PROT,PROGX,B,F,Z),<\r
        NAME\r
        EXT\r
-       EXP PROT*1B8+14812\r
+       EXP PROT*1B8+14B12\r
        XWD 1,PROGX\r
        EXP Z\r
        ZEROES 172\r
@@ -1140,7 +1128,7 @@ DEFINE BLOCKR (NAME,EXT,PROT,PROGX,B,F,Z),<
 MFDRET:        BLOCKR <XWD 1,1>,<SIXBIT /UFD/>,45,1,0,4,20     ;MFD RETREIVAL INFO\r
 \r
 SATBL1:        XWD 777776,0            ;THIS SAT BLOCK CONTAINSS\r
-       ZERSO 5400/44-1         ;ALLOCATION FOR MFD AND SAT BLOCKS\r
+       ZEROES 5400/44-1        ;ALLOCATION FOR MFD AND SAT BLOCKS\r
        XWD 001777,-1\r
        ONES 200+SATBL1-.\r
 \r
@@ -1150,25 +1138,24 @@ MFD1:   XWD 1,1                 ;MFD
        XWD 654644,0\r
        SIXBIT /*SAT*/\r
        XWD 637163,17           ;RELOCATED\r
-       ZEROS 174\r
+       ZEROES 174\r
 \r
-NULBLK:        ZEROS 5400/44-1         ;NULL SAT BLOCK\r
+NULBLK:        ZEROES 5400/44-1                ;NULL SAT BLOCK\r
        XWD 001777,-1\r
        ONES 200+NULBLK-.\r
 \r
 >              ;END OF THE REFRESHER FOR THE OLD PDP-6 DISK.\r
-\r
-\r
+\f\r
 IFN    FTRC10, <\r
 \r
 ;DISK REFRESHER FOR THE NEW PDP-10 MODEL RC-10 (BURROUGHS) DISK--\r
 \r
        EXTERNAL        CPOPJ1,THSDAT,TIME\r
        EXTERNAL        MFDBLK,SATXWD,NUMSAT,NUMBLK,SATTOP,SENTSZ\r
-       EXTERNAL        DISKUP,DFREF,DFWRT,DSKFDG,CHKSUM,RCXCCW,RCXFIN\r
+       EXTERNAL        DISKUP,DFRED,DFWRT,DSKFDG,CHKSUM,RCXCCW,RCXFIN\r
        EXTERNAL        K4SWAP\r
 IFN FTSWAP,<\r
-       EXTNERAL        MAXSWP,MXK2SWP,BLKSPK\r
+       EXTERNAL        MAXSWP,MXK2SWP,BLKSPK\r
 >\r
 EXTERNAL LBHIGH\r
        INTERNAL        STATBK\r
@@ -1196,7 +1183,7 @@ DTOP=1B18 ;SET INDICATES DATA TRANSFER IN PROGRESS.
        SRCHE=1B19      ;SEARCH ERROR (DISK TIMING TRACK PROBLEMS!!)\r
        DDE=1B20        ;DISK DESIGNATION ERROR\r
        TSE=1B21        ;TRACK SELECT ERROR (OR EXCEEDS SYSTEM CAPACITY)\r
-       MRDY=1B22       ;DISK NOT READY (OR NON-EXISTENT DISK REFERENCED)\r
+       NRDY=1B22       ;DISK NOT READY (OR NON-EXISTENT DISK REFERENCED)\r
        PSF=1B23        ;POWER SUPPLY FAILURE\r
        DPAR=1B24       ;DISK PARITY ERROR\r
        CHDPAR=1B25     ;CHANNEL DATA PARITY ERROR\r
@@ -1206,17 +1193,15 @@ DTOP=1B18       ;SET INDICATES DATA TRANSFER IN PROGRESS.
        OVR=1B29        ;OVERRUN, I.E., MEMORY DIDN'T RESPOND QUICKLY ENOUGH\r
 ;BIT  30       CHANNEL CONTROL WORD WRITTEN IN MEMORY (THIS BIT IS\r
                ;TURNED ON ON ALMOST ALL TERMINATIONS.)\r
-BUSYRT=1B31    ;BUSY (SYNCHRONIZER PERFORMING A COMMAND  SEQUENCE)\r
+BUSYBT=1B31    ;BUSY (SYNCHRONIZER PERFORMING A COMMAND  SEQUENCE)\r
 DONEFLG=1B32   ;DONE -- THIS ACTUALLY CAUSES THE INTERRUPT.\r
 ;BITS 33 - 35  PI CHANNEL SELECTION BITS.\r
 \r
 ;COMBINATIONS OF ERRO BITS GROUPED BY TYPE --\r
 DATERR=DPAR!CHDPAR             ;DATA ERRORS.\r
 DEVERR=SRCHE!PSF!CHCPAR!OVR    ;DEVICE ERRORS.\r
-SETERR=DDE!TSE!NRDY!NXMEM      ;SOFTWARE-PREVENTABLE ERRORS.\r
-\r
-\r
-;CONO FORMAT FOR THE MODEL RC-10 DISK SYNCHRONIZER\r
+SETERR=DDE!TSE!NRDY!WRPE!NXMEM ;SOFTWARE-PREVENTABLE ERRORS.\r
+\f;CONO FORMAT FOR THE MODEL RC-10 DISK SYNCHRONIZER\r
 \r
 ;BITS 00 - 17  UNUSED\r
 ;BITS 18 - 19  SELECT DISK FOR SECTOR COUNTER READ-OUT A(SEE DATAI BITS 28-35)\r
@@ -1248,7 +1233,7 @@ WRBIT=1B16        ;SET MEANS WRITE ON DISK, RESET MEANS READ FROM DISK
 ;BITS 27 - 34  ;CORRESPONDING BITS OF INITIAL CHANNEL CONTROL ADDRESS, HENCE,\r
                ; THIS ADDRESS MUST BE EVEN AND IN THE FIRST 1K OF CORE MEMORY!\r
 ;BIT 35                ;WRITE EVEN PARITY DATA INTO MEMORY (DIAGNOSTICS ONLY!)\r
-\r
+\f\r
 \r
 REFRESH:\r
        PUSHJ   PDP,DISKUP      ;BE SURE THE DISK IS UP AND READY.\r
@@ -1284,8 +1269,9 @@ RFRSHE:   MOVEI   TAC,RFSHME
        POP     PDP,TAC         ; DIALOGUE TO AK THE PARAMETER SPECIFICATION\r
        JRST    REF6            ; QUESTIONS AGAIN.\r
 \r
-RFSHME:        ACSIZ   /PARAMETER SPECIFICATION ERROR. TRY AGAIN.\r
+RFSHME:        ASCIZ   /PARAMETER SPECIFICATION ERROR. TRY AGAIN.\r
 /\r
+\f\r
 \r
 RFRSH1:        PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.\r
        JRST    REFERR          ; AN ERROR ON THIS WRITE IS BAD TROUBLE !!\r
@@ -1296,7 +1282,7 @@ RFRSH1:   PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.
        MOVE    TAC,[XWD 1,1]   ;THE FIRST ENTRY IN THE MFD IS FOR\r
        MOVEM   TAC,WNZBUF      ; THE MFD ITSELF.\r
        MOVE    TAC,[SIXBIT/UFD/]\r
-       HRR     TC,MFDBLK       ;POINTER TO MFD RETRIEVAL INFORMATION\r
+       HRR     TAC,MFDBLK      ;POINTER TO MFD RETRIEVAL INFORMATION\r
        MOVEM   TAC,WNZBUF+1\r
        MOVE    TAC,[SIXBIT/*SAT*/]     ;THE ONLY OTHER ENTRY INITIALLY IN THE\r
        MOVEM   TAC,WNZBUF+2            ; MFD IS FOR THE FILE NAMED *SAT*.SYS WHICH\r
@@ -1304,7 +1290,7 @@ RFRSH1:   PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.
        HRRZ    TAC,MFDBLK              ; ANYONE WHO WANTS TO LOOK AT THEM.\r
        SUBI    TAC,-1(TAC1)    ;COMPUTE POINTER TO THE RETRIEVAL INFORMATION\r
        HLL     TAC,[SIXBIT/SYS/]       ; FOR THE *SAT*.SYS FILE.\r
-       MOVEM   TAC,WNZBYUF+3\r
+       MOVEM   TAC,WNZBUF+3\r
        HRRZS   TAC\r
        ADDI    TAC,1           ;COMPUTE LOGICAL BLOCK NUMBER OF THE MFD.\r
        PUSHJ   PDP,WNZWR       ;WRITE THE MFD OUT ONTO THE DISK.\r
@@ -1315,6 +1301,7 @@ RFRSH1:   PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.
        PUSHJ   PDP,CHKSUM\r
        HRRZM   TAC1,CHKSAV     ;SAVE CHECKSUM TO GO INTO RETRIEVAL INFORMATION.\r
 \r
+\r
 ;NEXT WRITE MFD RETRIEVAL INFORMATION BLOCK ONTO THE DISK\r
 \r
        PUSHJ   PDP,WNZCLR      ;CLEAR OUTPUT BUFFER\r
@@ -1324,7 +1311,7 @@ RFRSH1:   PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.
        HLL     TAC,[SIXBIT /UFD/]\r
        MOVEM   TAC,WNZBUF+1    ;FILE EXTENSION, DATE\r
        HRLZI   TAC,045000      ;PROTECTION (ANY PROJECT 1 USER MAY WRITE IN MFD)\r
-       PUSHJ   PDP,MDTMDT      ;FILL IN TIME, DATE, AND MODE\r
+       PUSHJ   PDP,MDTMOT      ;FILL IN TIME, DATE, AND MODE\r
        MOVEM   TAC,WNZBUF+2\r
        MOVE    TAC,[XWD -200,1]        ;NEGATIVE WORD COUNT AND PROGRAMMER NUMBER\r
        MOVEM   TAC,WNZBUF+3    ;GO INTO WORD 4 OF RETRIEVAL INFO\r
@@ -1337,7 +1324,7 @@ RFRSH1:   PUSHJ   PDP,WRSTAT      ;WRITE OUT THE VITAL STATISTICS BLOCK ON THE DISK.
        MOVEM   TAC,WNZBUF+177  ; MUST CONTAIN ITS OWN BLOCK NUMBER.\r
        PUSHJ   PDP,WNZWR       ;WRITE MFD RETRIEVAL INFOMRATION ONTO THE  DISK\r
        JRST    REFERR          ;ERROR\r
-\r
+\f\r
 ;NEXT CREATE THE NECESSARY SAT BLOCKS ON THE DISK\r
 \r
        PUSH    PDP,SATXWD      ;SATXWD CONTROLS THE OUTER LOOP\r
@@ -1357,7 +1344,7 @@ IFN FTSWAP,<
        MOVEI   TAC,0\r
        PUSHJ   PDP,SETWNZ\r
        JRST    REFST7          ;HAVING SET ALL BITS, NO FURTHER TESTING IS NEEDED,\r
->\r
+\r
 REFST2:        MOVN    TAC,TAC1\r
        ADDI    TAC1,NUMBLK\r
        SUB     TAC1,LOWSWP     ;IS ANY OF SWAPPING AREA WITHIN THIS SAT BLOCK?\r
@@ -1376,7 +1363,7 @@ RFST3A:   HRRZI   TAC,STATBK
        SUB     TAC,TAC1\r
        MOVEI   TAC1,1          ;YES, MARK IT UNAVAILABLE,\r
        PUSHJ   PDP,SETWNZ\r
-\r
+\f\r
 REFST4:        MOVE    TAC,SATXWD      ;SET UP TO LOOP THRU LOGICAL BLOCK NUMBERS FOR MFD.\r
        SUB     TAC,[XWD 3,1]   ; MFD RETRVL INFO. SAT BLOCKS, AND SAT RETRVL INFO.\r
 \r
@@ -1412,7 +1399,7 @@ REFST7:   MOVE    TAC,[XWD -200,WNZBUF]
        MOVE    TAC,SATPTR      ; BACK TO DO NEXT SAT BLOCK.\r
        ADDI    TAC,SENTSZ\r
        JRST    REFST1\r
-\r
+\f\r
 ;FINALLY, WRITE OUT THE RETRIEVAL INFORMATION FOR THE FILE *SAT*.SYS\r
 \r
 REFSRF:        PUSHJ   PDP,WNZCLR      ;CLEAR THE BUFFER\r
@@ -1422,13 +1409,14 @@ REFSRF: PUSHJ   PDP,WNZCLR      ;CLEAR THE BUFFER
        HLL     TAC,[SIXBIT /SYS/]\r
        MOVEM   TAC,WNZBUF+1    ;STORE EXTENSION AND DATE\r
        HRLZI   TAC,555000      ;PROTECTION CODE (UNTOUCHABLE FILE ! )\r
-       PUSHJ   PDP.MDTMDT      ;FILL IN TIME, DATE AND MODE\r
+       PUSHJ   PDP,MDTMOT      ;FILL IN TIME, DATE AND MOTE\r
        MOVEM   TAC,WNZBUF+2\r
        HLLZ    TAC,SATXWD      ;COMPUTE NEGATIVE WORD COUNT\r
        LSH     TAC,7\r
        HRRI    TAC,1           ;PROGRAMMER NUMBER=1\r
        MOVEM   TAC,WNZBUF+3\r
 \r
+\r
        MOVEI   TAC,SATENT      ;PREPARE TO STORE POINTERS TO ALL THE SAT BLOCKS.\r
        MOVE    TAC1,SATXWD\r
        MOVEI   AC2,0\r
@@ -1451,12 +1439,13 @@ REFSRL: HRRZ    AC1,TAC1        ;GET LOGICAL BLOCK NUMBER OF SAT BLOCK.
        PUSHJ   PDP,WNZWR       ;WRITE THE *SAT*.SYS RETRVL INFO ONTO THE DISK.\r
        JRST    REFERR          ;ERROR\r
 \r
-       JRST    CPOPJ1          ;***EXIT FROM PDP-10 DISK REFRESHER.***.........\r
 \r
 \r
+       JRST    CPOPJ1          ;***EXIT FROM PDP-10 DISK REFRESHER.***.........\r
+\f\r
 ;ROUTINE TO WRITE THE FIXED BLOCK OF VITAL STATISTICS ONTO THE DISK.\r
 \r
-WRSTAT:        PUSHJ   PDPWNZCLR               ;CLEAR THE OUTPUT BUFFER\r
+WRSTAT:        PUSHJ   PDP,WNZCLR              ;CLEAR THE OUTPUT BUFFER\r
        MOVE    TAC,[XWD -WRSTSZ,0]\r
 WRSTA1:        MOVE    TAC1,@WRSTA9(TAC)       ;STORE KEY QUANTITIES IN THE OUTPUT BUFFER\r
        MOVEM   TAC1,WNZBUF(TAC)\r
@@ -1479,6 +1468,7 @@ WRSTA2:   MOVEI   TAC,WRSTM1
 WRSTM1:        ASCIZ   /CANNOT WRITE VITAL STATISTICS BLOCK ON DISK.   HELP!!\r
 /\r
 \r
+\r
 ;TABLE OF POINTERS TO THE VITAL STATISTICS THAT ARE STORED IN "STATBK" ON THE DISK.\r
 \r
 WRSTA9:        XWD     ,MFDBLK         ;LOGICAL BLOCK NUMBER OF MFD RETRIEVAL INFORMATION\r
@@ -1496,7 +1486,7 @@ IFE FTSWAP,<
                                ; NON-SWAPPING SYSTEM\r
 >\r
        WRSTSZ=.-WRSTA9\r
-\r
+\f\r
 ;ROUTINE TO READ IN THE FIXED BLOCK OF "VITAL STATISTICS" FROM\r
 ;  THE DISK AND DISTRUBUTE THEM TO THE APPROPRIATE CORE LOCATIONS.\r
 \r
@@ -1508,13 +1498,14 @@ RDSTAT: MOVEI   TAC,STATBK
        JRST    RDSTA2          ;ERROR, STATISTICS BLOCK APPARENTLY WAS CLOBBERED.\r
 \r
        MOVE    TAC,[XWD -WRSTSZ,0]     ;STORE AWAY THESE IMPORTANT PARAMETERS\r
-RDSTA1;        MOVE    TAC1,WNZBUF(TAC)        ; UNDER CONTROL OF A TABLE IN THE "WRSTAT"\r
+RDSTA1:        MOVE    TAC1,WNZBUF(TAC)        ; UNDER CONTROL OF A TABLE IN THE "WRSTAT"\r
        MOVEM   TAC1,@WRSTA9(TAC)       ; ROUTINE WHICH WRITES OUT THE VITAL\r
        AOBJN   TAC,RDSTA1              ; STATISTICS BLOCK ONTO THE DISK.\r
 \r
        POPJ    PDP,            ;***SUBROUTINE EXIT***........\r
 \r
-RDSTA2:        MOVEI   TAC,RDTM1\r
+\r
+RDSTA2:        MOVEI   TAC,RDSTM1\r
                                ;PRINT ERROR MESSAGE IF THE VITAL\r
        PUSHJ   PDP,ICONM       ; STATISTICS BLOCK CANNOT BE READ\r
        PUSHJ   PDP,OPOUT\r
@@ -1523,7 +1514,7 @@ RDSTA2:   MOVEI   TAC,RDTM1
 \r
 RDSTM1:        ASCIZ   /VITAL DISK STATISTICS LOST, SUGGEST REFRESHING!\r
 /\r
-\r
+\f\r
 ;ROUTINE TO DETERMINE THE CURRENT SYSTEM'S DISK CAPACITY. I.E., THE NUMBER OF\r
 ;  DISKS ATTACHED TO THE RC-10 DISK SYNCHRONIZER TODAY.\r
 \r
@@ -1537,7 +1528,7 @@ CAPCTY:   MOVEI   TAC,NUMSAT
                                ; CHECK IN "DSKINT" WILL NOT FAIL SPURIOUSLY.\r
 \r
        MOVEI   TAC,3\r
-CPCT1; PUSH    PDP,TAC\r
+CPCT1: PUSH    PDP,TAC\r
        PUSHJ   PDP,WNZRD       ;ATTEMPT TO READ FIRST BLOK OF EACH SUCCESSIVE DISK.,\r
        JRST    CPCT3           ;ERROR\r
        POP     PDP,TAC\r
@@ -1549,6 +1540,7 @@ CPCT2:    SUBI    TAC,1
        POP     PDP,LBHIGH      ;RESTORE PREVIOUSLY EXISTING VALUE OF THE HIGHEST\r
                                ; LEGAL LOGICAL DISK BLOCK NUMBER.\r
        POPJ    PDP,            ;***SUBROUTINE EXIT***.......\r
+i\r
 \r
 CPCT3: POP     PDP,TAC\r
        CONSZ   DSK,NRDY        ;NON-EXISTENT DISK?\r
@@ -1556,14 +1548,13 @@ CPCT3:  POP     PDP,TAC
                                ; HOWEVER, DISK 0 MUST ALWAYS BE PRESENT.\r
 \r
        MOVEI   TAC,CPCTM1      ;NO, SOME OTHER TYPE OF READ ERROR.\r
-       PUSHJ   PDP,IOCONM      \r
+       PUSHJ   PDP,ICONM       \r
        PUSHJ   PDP,OPOUT       ;PRINT ERROR MESSAGE\r
        POP     PDP,LBHIGH\r
        JRST    CAPCTY          ;TRY AGAIN\r
-CPCTM1:        ACSIZ   /DISK READ ERROR DURING CAPACITY SEARCH INITIALIZATION\r
+CPCTM1:        ASCIZ   /DISK READ ERROR DURING CAPACITY SEARCH INITIALIZATION\r
 /\r
-\r
-\r
+\f\r
 ;ROUTINE TO ASSURE THAT THE STATUS OF THE WRITE-LOCK SWITCHES ON THE\r
 ;  DISK MAINTENANCE PANEL IS SUCH THAT THEY ARE PROTECTING "LESS THAN 0000".\r
 \r
@@ -1571,7 +1562,7 @@ CPCTM1:   ACSIZ   /DISK READ ERROR DURING CAPACITY SEARCH INITIALIZATION
 \r
 WRITLK:        CONI    DSK,TAC\r
        TLNN    TAC,13777       ;BOUNDARY ZERO AND MAINTENANCE-SEGMENT OFF ?\r
-       TLNN    TAC,<PLGW>B53   ;YES, IS ROTARY SWITCH SET\r
+       TLNN    TAC,<PLGSW>B53  ;YES, IS ROTARY SWITCH SET\r
                                ; TO EITHER X UNDER OR OVER(AS OPPOSED\r
                                ; TO UNDER OR X OVER)\r
        JRST    WRLK8           ;NO. GO PRINT ERROR MESSAGE AND LOOP.\r
@@ -1589,6 +1580,7 @@ WRITLK:   CONI    DSK,TAC
        JRST    WRLK2           ;ERROR\r
        POPJ    PDP,            ;***GOOD EXIT FROM WRITLK SUBROUTINE***.........\r
 \r
+\r
 WRLK2: MOVEI   TAC,WRLKM1\r
        CONSZ   DSK,WRPE        ;WRITE-PROTECTION ERROR ?\r
                                ;YES, PROTECT SWITCH ERRONEOUSLY SET ON "LESS THAN\r
@@ -1605,7 +1597,7 @@ WRLKM2:   ASCIZ   /"MAINTENANCE SEGMENT" SWITCH MUST BE OFF. AND
 DIS WRITE PROTECTION SWITCHES MUST BE SET TO 0000 AND "LESS THAN",\r
 FIX THEM ! !\r
 /\r
-\r
+\f\r
 ;DISK READING ROUTINE FOR USE ONLY DURING ONCE-ONLY CODE.\r
 ;  AVOIDS USING THE MONITOR OUFUFS AND INTERRUPT STRUCTURE.\r
 \r
@@ -1628,33 +1620,38 @@ WNZRDC: POP     PDP,DSKFDG      ;RESTORE THE MOLESTED INSTRUCTION IN DSKINT.
        CONSZ   DSK,DATERR!DEVERR!SETERR                ;ANY ERRORS ?\r
        JRST    WNZRDX          ;YES, GIVE ERROR RETURN.\r
        MOVE    TAC1,RCXCCW     ;NO, BUT CHECK THAT THE FINAL VALUE OF THE\r
-       CAMN    TAC1,RCXFIX     ; CHANNEL CONTROL WORD WAS AS EXCPECTED ALSO.\r
+       CAMN    TAC1,RCXFIN     ; CHANNEL CONTROL WORD WAS AS EXCPECTED ALSO.\r
        AOS     (PDP)           ;***GOOD RETURN***........\r
 WNZRDX:        POPJ    PDP,            ;ERROR RETURN,\r
 \r
 \r
+\r
+\r
+\r
+\r
+\r
 ;DISK WRITING ROUTINE FOR USE ONLY DURING ONCE-ONLY CODE.\r
 ;  AVOIDS USING THE MONITOR QUEUES AND INTERRUPT STRUCTURE.\r
 \r
 ;ON ENTRY TO THIS SUBROUTINE, TAC CONTAINS THE LOGICAL BLOCK NUMBER OF THE DISK\r
 ;  BLOCK WHICH IS TO BE WRITTEN ONTO THE DISK FROM THE ONCE-ONLY DISK BUFFER AREA.\r
 \r
-WNZWR: CONO    DSK,DATERR!DEVERR!SETERR!RESCIG         ;CLEAR THE DISK SYNCHRONIZER.\r
+WNZWR: CONO    DSK,DATERR!DEVERR!SETERR!RESETB         ;CLEAR THE DISK SYNCHRONIZER.\r
        CONSZ   DSK,BUSYBT!DONEFLG\r
        JRST    WNZWR           ;DON'T PROCEED UNLESS THAE CLEAR WORKED.\r
 \r
        MOVEM   TAC,LBSAVE      ;SAVE LOGICAL BLOCK NUMBER IN CASE AN ERROR RETURN\r
                                ; MUST BE TAKEN FROM THE "REFRESH" SUBROUTINE.\r
-       PUSH    POP,DSKFDG      ;SAVE THIS ISNTRUCTION FROM "DSKINT".\r
+       PUSH    PDP,DSKFDG      ;SAVE THIS ISNTRUCTION FROM "DSKINT".\r
        MOVE    TAC1,[HRRZI TAC,0]      ;NOW TAMPER WITH THAT SAVED LOCATION SO\r
        MOVEM   TAC1,DSKFDG     ; THAT DSKINT WILL NOT ENABLE ANY INTERRUPT CHANNEL.\r
-       MOVE    TAC1,[XWD -200,WNZPUT-1]\r
+       MOVE    TAC1,[XWD -200,WNZBUF-1]\r
        PUSHJ   PDP,DFWRT       ;CALL DEVICE-DEPENDENT ROUTINE IN "DSKINT" DIRECTLY.\r
 \r
        JRST    WNZRDC          ;THE REMAINDER OF THE WRITE ROUTINE IS IDENTICAL\r
                                ; TO THE READ ROUTINE\r
 \r
-;SUBROUTINE TO WATCH FOR THE DONE FLAG TO COME ON AND TIME OUT IF\r
+\f;SUBROUTINE TO WATCH FOR THE DONE FLAG TO COME ON AND TIME OUT IF\r
 ; IT DOESN'T COME UP SOON ENOUGH (SAY 5 SEC OR SO).\r
 \r
 WNZWAT:        MOVE    TAC,[^D1000000] ;AT MOST ONE MILLION TIMES THRU THE CONSZ-SOJG LOOP\r
@@ -1670,6 +1667,7 @@ WNZWTL:   CONSZ   DSK,DONEFLG     ;DONE FLAG ON YET ?
 WATMSG:        ASCIZ   /DISK HUNG.\r
 /\r
 \r
+\r
 ;SUBROUTINE TO SET SPECIFIED BITS IN A SAT BLOCK WHILE FORMING IT IN WNZBUF\r
 \r
 ;ENTRY CONDITIONS --   C(TAC) = FIRST BIT NUMBER TO SET (NUMBERED BEGINNING AT 0)\r
@@ -1687,16 +1685,17 @@ STWNZ1: ORM     AC2,WNZBUF(TAC)
 STWNZ2: SOJN   AC1,STWNZ1\r
        POPJ    PDP,            ;SUBROUTINE EXIT...........\r
 \r
+\r
 ;SUBROUTINE TO CLEAR THE ONCE-ONLY OUTPUT BUFFER, WNZBUF\r
 WNZCLR:        SETZM   WNZBUF\r
        MOVE    TAC,[XWD WNZBUF,WNZBUF+1]\r
        BLT     TAC,WNZBUF+177\r
        POPJ    PDP,            ;SUBROUTINE EXIT...........\r
-\r
+\f\r
 ;SUBROUTINE TO MASK THE TIME, DATE, AND DATA MODE (=14 FOR BINARY MODE0 INTO ACCUMU-\r
 ;  LATOR TAC IN THE FORMAT USED IN WORD 3 OF A DISK RETRIEVAL INFORMATION BLOCK.\r
 \r
-MDTMDT:        PUSH    PDP,TAC\r
+MDTMOT:        PUSH    PDP,TAC\r
        MOVE    TAC,TIME        ;GET TIME IN JIFFIES.\r
        IDIVI   TAC,JIFMIN      ;CONVERT TO MINUTES\r
        LSH     TAC,^D12\r
@@ -1729,8 +1728,7 @@ LOWSWP:   0               ;LOWEST LOGICAL BLOCK FOR SWAPPING
        >               ;END OF REFRESH PROCEDURE FOR THE RD10 DISK.\r
 \r
        >               ;CLOSE AN EVEN EARLIER FTDISK CONDITIONAL.\r
-\r
-INTERNAL FTCHECK\r
+\fINTERNAL FTCHECK\r
 IFN FTCHEC,<\r
 \r
 EXTERNAL CHKREG,CHKEND,CHECK,MONPTR,MONSUM\r
@@ -1746,4 +1744,3 @@ CK:       MOVEI TAC,CHKBEG
 >\r
 \r
 ONCEND:        END\r
-\f\r
index 8af014f..f7b68b1 100644 (file)
@@ -21,7 +21,7 @@ PLTADR: XWD PROG,0
 PLTCTR:        0                       ;OUTPUT BYTE COUNTER\r
 \r
 EXTERNAL OUT,SETACT,PLTCHN,PLTCHL,IOSET,ADVBFE,ADRERR,CPOPJ1\r
-EXTERNAL SETIOD,STOIOS,CLRACT,IULLINP,PLTSAV,IADRCK\r
+EXTERNAL SETIOD,STOIOS,CLRACT,ILLINP,PLTSAV,IADRCK\r
 \r
 INTERN PLTDDB,PLTINT,PLTDSP\r
 \f;DISPATCH TABLE\r
@@ -79,14 +79,14 @@ PLT1:       JSR PLTSAV              ;SAVE AC'S. SET UP PUSH DOWN POINTER
        PUSHJ PDP,PLTSET        ;SETUP BYTE POINTER AND COUNTER\r
         JRST PLTOFF            ;ADDRESS ERROR RET FROM PLTSET\r
 PLT2:  TLZE IOS,IOW\r
-       PUSHJ PDP,SETIUOD       ;LET JOB START AGAIN\r
+       PUSHJ PDP,SETIOD        ;LET JOB START AGAIN\r
        JRST STOIOS             ;EVENTUALLY DISMISS INTERRUPT. IF ADVBFE\r
                                ;FOUND MORE DATA (IT SKIPPED), ANOTHER\r
                                ;INTERRUPT WILL IMMEDIATELY OCCUR BUT\r
                                ;IT WILL BE HANDLED WITHOUT GOING TO PLT1\r
 \r
 PLTOFF:        CONO PLT,0              ;SHUT DOWN PLOTTER\r
-       HLLSZ PLTINT            ;REMOVE PLOTTER FROM CHAIN\r
+       HLLZS PLTINT            ;REMOVE PLOTTER FROM CHAIN\r
        PUSHJ PDP,CLRACT\r
        TLZE IOS,PLTUP          ;HAS THE "CLOSE" BEEN DONE?\r
        DATAO PLT,[40]          ;YES, LIFT PEN\r
index 9eca6b3..8a26d74 100644 (file)
Binary files a/src/ptpser.mac and b/src/ptpser.mac differ
index fd8b81e..0e26375 100644 (file)
Binary files a/src/ptrser.mac and b/src/ptrser.mac differ
index 176ef20..22deebc 100644 (file)
Binary files a/src/ptysrf.mac and b/src/ptysrf.mac differ
index 1e2b1e5..a98f4a9 100644 (file)
@@ -52,10 +52,10 @@ PTYDDB:     SIXBIT  /PTY0/
        Z\r
        XP      PTYCSV,.-ZZ\r
        Z\r
-       XP      PTYDDS,.-ZZ\r
+       XP      PTYSAC,.-ZZ\r
        BLOCK   13\r
        XP      PTYBND,PTYSAC+12\r
-       XP      PTYDM1,PTYBND-1\r
+       XP      PTYBM1,PTYBND-1\r
        XP      PTYDDS,.-ZZ     ;SIZE OF PTY DDB\r
 \r
 PTYSA2:        BLT     SCNHAC,0\r
@@ -106,9 +106,8 @@ PTYREL:     LDB LINE,[POINT 6,DEVCHR(DDB),23]
 ;SET IN THE OF IOS)\r
 \r
 \r
-EXTERNAL TCONLN,TTYTIBTPYTAB,PTYTAB,SETIOD\r
-EXTERNAL ADVBFF,RUNIT,RECIN3,PUTCHI\r
-EXTERNAL TTIBUF,SPCHEK,DDBSRC,LINTAB,CNCTST,TIFCTR,INBFUL\r
+EXTERNAL TCOMLN,TTYTAB,TCOMM,TPYTAB,PTYTAB,ITMCNT,SETIOD\r
+EXTERNAL ADVBFE,PUNIT\r
 \r
 PTYOUT:        LDB LINE,PUNIT\r
        JSR PTYSAV\r
@@ -172,7 +171,7 @@ PTYOU4:     CAIE CHREC,"^"
        MOVEM IOS,DEVIOS(DDB)   ;SAVE TTY STATE\r
        TRO PIOS,IOPTRE         ;LET USER KNOW\r
 \r
-PTYOU3:        JRS PTYRET              ;RESTORE ACS\r
+PTYOU3:        JSR PTYRET              ;RESTORE ACS\r
        EXCH    IOS,PIOS\r
 PTYOU8:        TLZE IOS,IOW\r
        PUSHJ PDP,SETIOD        ;START PTY JOB\r
@@ -189,7 +188,7 @@ PTYOU5:     TRZ IOS,IOACT+IOPTW     ;CONSIDER OUTPUT COMPLETED
        TLO IOS,IOFST\r
        MOVEM IOS,DEVIOS(DDB)\r
        POPJ PDP,\r
-\fEXTERNAL TCONLN,TTYTAB,SETIOD,ADVBFF,STOSQD,ADRERR\r
+\fEXTERNAL TCONLN,TTYTAB,SETIOD,STODAT,ADVBFF,STOSQD,ADRERR\r
 \r
 PTYIN: LDB LINE,[POINT 6,DEVCHR(DDB),23]\r
        ADDI LINE,TCONLN\r
@@ -213,7 +212,7 @@ PTYIN1:     PUSH PDP,LINE
        JUMPE CHREC,PTYIN5+1    ;NO\r
                                ;YES,SAVE LINE NO.\r
 PTYIN4:        TLNN PIOS,IO+SP         ;IS TTY DONE?\r
-       JRST PTYI38             ;YES. THATS ALL\r
+       JRST PTYI3B             ;YES. THATS ALL\r
        MOVE DAT,CHREC\r
        PUSHJ PDP,STODAT        ;STORE CHARACTER\r
        JRST    ADRERR\r
@@ -258,9 +257,9 @@ PTYIN8:     MOVEM IOS, DEVIOS(DDB)
 IFE FTCHECK+FTMONP,<\r
 PTYSAV:        0\r
 >\r
-PTYSA0:        MOVEM SCHHAC,PTYBDN(DDB)        ;SAVE HIGH AC\r
+PTYSA0:        MOVEM SCNHAC,PTYBND(DDB)        ;SAVE HIGH AC\r
        HRRZ SCNHAC,DDB\r
-       ADDI SCHNHAC,PTYBM1\r
+       ADDI SCNHAC,PTYBM1\r
        HRRM SCNHAC,PTYSA2\r
        SUBI SCNHAC,SCNHAC-1\r
        XCT     PTYSA2          ;DO BLT SCNHAC\r
@@ -352,6 +351,7 @@ PTYSET:     MOVE    PDDB,LINE
        IORB    PIOS,DEVIOS(PDDB)\r
        TRNE    PIOS,IOPTW      ;IS LINKED TTY JOB IN INPUT WAIT?\r
        PUSHJ PDP,PTWAKE        ;YES, WAKE UP CONTROL JOB\r
-       JSRT ACRET\r
+       JRST ACRET\r
 \f      END\r
 \f\r
+\0\0\0\0
\ No newline at end of file
index 617380c..022d733 100644 (file)
--- a/src/s.mac
+++ b/src/s.mac
@@ -130,6 +130,10 @@ INTERNAL A
        XP DEVBUF,6             ;C(LH)=REL. ADR. OF 3 WORD OUTPUT BUFFER HEADER\r
                                ; C(RH)=REL. ADR. OF 3 WORD INPUT BUFFER HEADER\r
        XP DEVIAD,7             ;C(LH)=PROG IN INDEX FIELD\r
+                               ;BITS 1 AND 2 USED TO KEEP COUNT OF NO. OF USER CHANNELS\r
+                               \r
+                               ; INITED ON THIS DEVICE(DECTAPE ONLY)\r
+                               ; IADPTR-COMMON BYTE POINTER TO 2 BIT COUNT\r
        XP DEVADR,DEVIAD\r
                                ; C(RH)=REL. INPUT BUFFER ADD. SERVICE ROUT. IS FILLING\r
        XP DEVOAD,10            ;C(LH)=PROG IN INDEX FIELD\r
@@ -141,7 +145,7 @@ INTERNAL A
        XP DEVEXT,12            ;LH=EXTENSION, RH=UNUSED\r
        XP DEVPPN,13            ;PROJECT PROGRAMMER NO. (DISK ONLY)\r
                                ; OTHER DEVICES NEED NOT HAVE THIS LOCATION IN THEM.\r
-\f; I/0 STATUS WORD ASSIGNMENTS\r
+\f; I/O STATUS WORD ASSIGNMENTS\r
 ;DATA MODES: BITS 32-35(BYTE POINTER=PIOMOD)\r
        XP A,0                  ;ASCII\r
        XP AL,1                 ;ASCII LINE\r
@@ -526,4 +530,3 @@ DEFINE CODES
        ASUPPRESS       ;ELIMINATE ALL SYMBOLS NOT REFERENCED LATER\r
                        ; FROM THE SYMBOL TABLE LISTING\r
        LIST\r
-\f\r
index b33d156..16c0de7 100644 (file)
@@ -75,7 +75,7 @@ NXTJB1:       SKIPN J,JOB             ;CURRENT JOB NO., IS IT NULL JOB?
        HLRZ SW,JBTSTS(J)       ;GET JOB STATUS BITS AND CODES\r
        TRZ SW,RUNMSK+CMWB              ;MASK OUT DO NOT CARE BITS\r
        CAIE SW,RUNABLE         ;IS CURRENT JOB RUNABLE?\r
-       JRST CKJR3              ;NO. REQUEU CURRENT JOB\r
+       JRST CKJB3              ;NO. REQUEU CURRENT JOB\r
        SKIPN TIMEF             ;NO. IS THIS A TIME INTERRUPT?\r
        JRST CKJB1              ;NO.\r
 \r
@@ -85,10 +85,10 @@ NXTJB1:     SKIPN J,JOB             ;CURRENT JOB NO., IS IT NULL JOB?
        MOVEI DAT,QTIME         ;YES---REQUEUE AND RESET QUANT. TIME\r
        MOVE TAC,JOBQUE\r
        PUSHJ PDP,QXFER\r
-\fCKJB1:        SKIPG   QJ,QJDB         ;SET QJ NON ZERO IF ANY REQUEUING TO DO\r
+\fCKJB1:        SKIPG   QJ,QJOB         ;SET QJ NON ZERO IF ANY REQUEUING TO DO\r
        JRST    CKJB5           ;NO REQUEUEING NECESSARY\r
        MOVEI   J,JOBMAX        ;START WITH HIGHEST JOB NUMBER ASSIGNED\r
-CKJB2: MOVSI   SW,JBQ          ;JOB NEEDS REQUEUEING BIT\r
+CKJB2: MOVSI   SW,JRQ          ;JOB NEEDS REQUEUEING BIT\r
        TDNN    SW,JBTSTS(J)    ;THIS JOB?\r
        SOJG    J,.-1           ;NO, KEEP LOOKING\r
        JUMPLE  J,CKJB5         ;YES,LOOKED AT ALL JOBS?\r
@@ -100,12 +100,12 @@ CKJB3:    MOVE SW,JBTSTS(J)       ;JOB STATUS WORD
        TLNN SW,CMWB            ;IS JOB IN COMMAND WAIT?\r
        JRST CKJB9              ;NO.\r
        TLNE SW,SWP+JXPN                ;YES, IS JOB ON DISK, OR TRYING TO EXPAND?\r
-       JRST CK,JB4A            ;YES. PUT JOB IN COMMAND WAIT Q\r
+       JRST CKJB4A             ;YES. PUT JOB IN COMMAND WAIT Q\r
 CKJB9: JUMPGE SW,CKJB4         ;NO,WAIT STATUS CODE DETERMINES NEW Q\r
        LDB SW,PJBSTS           ;YES, GET QUEUE CODE.\r
        CAIN    SW,WSQ          ;*** EXPERIMENTAL ***\r
        JRST    CKJB10          ;*** EXPERIMENTAL ***\r
-       CAIN SW,TIOWD           ;CURRENT JOB GOING INTO TTY IO WAIT?\r
+       CAIN SW,TIOWQ           ;CURRENT JOB GOING INTO TTY IO WAIT?\r
        HRROS JBTSWP(J)         ;YES, SET IN CORE PROTECT TIME TO -1,\r
                                ; SO HE CAN BE SWAPPED IMMEDIATELY IF SOMEONE\r
                                ; ELSE WANTS TO BE SWAPPED IN\r
@@ -211,11 +211,11 @@ INTERNAL QXFER,QSCAN,FTSWAP,FTDISK
 ;PUT ALL JOBS IN NULL QUEUE(JOB NO. NOT ASSIGNED)\r
 ;CALLED ON RESTART AT LOC 143\r
 \r
-INTERNAL QINT\r
+INTERNAL QINI\r
 EXTERNAL CPOPJ,JOBMAX,MXQUE,JBTQ\r
 EXTERNAL JBTQP1 ;EQUALS JBTQ+1\r
-EXTERNAL JBTCM1 ;EQUALS JBTQ-1\r
-EXTERNAL JBTOMN ;EQUALS JBTQ-NULQ\r
+EXTERNAL JBTQM1 ;EQUALS JBTQ-1\r
+EXTERNAL JBTQMN ;EQUALS JBTQ-NULQ\r
 \r
 QINI:  MOVNI TAC,MXQUE         ;MAKE ALL QUEUE HEADERS POINT TO THEMSELVES\r
        HRL TAC,TAC             ;BACKWARD POINTERS TOO\r
@@ -326,7 +326,7 @@ TT=DAT      ;POINTER TO TRANSFER TABLE
 J=ITEM ;JOB NO.\r
 Q=PROG ;DEST-Q AND QUANT. TIME ON RETURN\r
 T1=TAC1        ;TEMP\r
-T2=TAC ;TEMP AND SOURCE-Q ON CALL TO B,EQLINE\r
+T2=TAC ;TEMP AND SOURCE-Q ON CALL TO B,EQLINK\r
 \r
 EXTERNAL ERROR\r
 \r
@@ -380,7 +380,7 @@ QX3:        POPJ PDP,
 BQFIX=QFIX\r
 EQFIX=QFIX+1B0\r
 BQLINK=QLINK\r
-EQLINK=QLINE+1B0\r
+EQLINK=QLINK+1B0\r
 BQJSIZ=QJSIZ\r
 EQJSIZ=QJSIZ+1B0\r
 \f,SCANS THE QS RETURNING THE NUMBERS OF THE JOBS IN THE QS.\r
@@ -461,7 +461,7 @@ IFE FTCHECK+FTMONP,<
 \r
 DEFINE X(A,B)\r
 <INTERNAL A'AVAL,A'Q\r
-A'Q=.=AVALTB\r
+A'Q=.-AVALTB\r
 A'AVAL: 0\r
 >\r
 \r
@@ -483,6 +483,15 @@ A'Q=LOC
 LOC=LOC+1\r
 >\r
        CODES\r
+\r
+XP MXCODE,LOC-1        ;MAX, JOB STATE DONE\r
+PQ1=LOC\r
+LOC=LOC+1\r
+PQ2=LOC\r
+LOC=LOC+1\r
+PQ3=LOC\r
+LOC=LOC+1\r
+CMQ=LOC                ;COMMAND DELAY QUEUE\r
 \f;CORRESPONDENCE TABLE BETWEEN JOB STATUS CODES AND QUEUE TRANSFER TABLES\r
 ;USED BY SCHEDULER\r
 ;RUNCSS SETS JOB STATUS WORD TO NEW STATE CODE.\r
@@ -496,6 +505,7 @@ DEFINE X(A,B)
 INTERNAL QBITS\r
 \r
 QBITS: QUEUES\r
+       CODES\r
 \fIFN FTCHECK+FTMONP,<\r
 DEFINE X(A,B),<\r
 EXTERNAL A'RFQ\r
@@ -583,7 +593,7 @@ QRNW:       PTTAB EQJSIZ,QSTAB,QQSTAB       ;JUST RUNABLE JOBS
 QWSW:  TTAB BQFIX,PQ1,QQTTY    ;IO WAIT SAT.(EXCEPT TTY)\r
        ;ENTER FRONT OF PROCESSOR QS AND GET QUANT, TIME\r
        ;ACCORDING TO JOB SIZE\r
-QTSW:  TTAB BQFIX,PQ,QQTTY     ;TTY IO WAIT SATISFIED(ENTER FRONT OF PQ1)\r
+QTSW:  TTAB BQFIX,PQ1,QQTTY    ;TTY IO WAIT SATISFIED(ENTER FRONT OF PQ11)\r
 \r
 QIOWW: TTAB EQFIX,IOWQ,-1      ;IOW(EXDEPT TTY) HELD IN IOWQ\r
 QTIOWW:        TTAB EQFIX,TIOWQ,-1     ;TTY IOW HELD IN TIOWQ\r
@@ -600,14 +610,14 @@ QSLPW:    TTAB EQFIX,SLPQ,-1      ;SLEEP UUO
 \r
 QQSD=-1\r
 \r
-QMSQ:  TTAB BQFIX,PQ1,QQSD     ;START MON. Q(DISK) AT PQ1\r
+QMQS:  TTAB BQFIX,PQ1,QQSD     ;START MON. Q(DISK) AT PQ1\r
 QDAS:  TTAB BQFIX,PQ1,QQSD     ;DEV. ALLOC.(DISK)...\r
 QDCS:  TTAB BQFIX,PQ1,QQSD     ;DATA CONTROL...\r
 QSTS:  TTAB BQFIX,PQ1,QQSD     ;SYST TAPE\r
 QDTS:  TTAB BQFIX,PQ1,QQSD     ;DEC TAPE\r
 QMTS:  TTAB BQFIX,PQ1,QQSD     ;MAG TAPE\r
 QAUS:  TTAB BQFIX,PQ1,QQSD     ;ALTER UFD\r
-QTIME  PTTAB EQLINK,QTTAB,QQSTAB       ;MOVE JOB TO LOWER Q\r
+QTIME: PTTAB EQLINK,QTTAB,QQSTAB       ;MOVE JOB TO LOWER Q\r
        ;WHEN QUANT. TIME EXCEEDED AND RESET QUANT. TIME\r
 \f,ENTER PROCESSOR QS ACCORDING TO JOB SIZE\r
 QSTAB: XWD 4,-PQ1      ;PQ1 IF     SIZE .LE. 4K\r
@@ -620,6 +630,12 @@ QQTAB:     XWD -PQ1,-PQ2
        XWD -PQ3,-PQ2           ;BACK TO PQ2 TO COMPETE WITH IOWS JOBS\r
        Z\r
 \r
+,PUT JOB DOWN A Q IF EXCEEDS QUANT. TIME\r
+QTTAB: XWD -PQ1,-PQ2\r
+       XWD -PQ2,-PQ3\r
+       XWD -PQ3,-PQ2           ;BACK TO PQ2 TO COMPETE WITH IOWS JOBS\r
+       Z\r
+\r
 ,QUANTUM TABLES\r
 \r
 QQSD=6 ;TENTH SEC. INITIAL QUANT. FOR SHAR. DEV. WAITERS\r
@@ -637,7 +653,7 @@ QQSTAB:     EXP ^D30        ;PQ1: ONE HALF SECOND
 \fIFN FTSWAP,<\r
 INTERNAL ISCAN,QSCAN\r
 ISCAN: ;SCAN FOR INPUT\r
-       XWD -CWM,QFOR   ;MONITOR COMMAND WHICH NEEDS CORE IMAGE IN CORE\r
+       XWD -CMQ,QFOR   ;MONITOR COMMAND WHICH NEEDS CORE IMAGE IN CORE\r
        XWD -MQQ,QFOR1  ;LOOK FOR 1ST JOBS IN SHAR. DEV QUEUES\r
        XWD -DAQ,QFOR1\r
        XWD -AUQ,QFOR1\r
@@ -652,7 +668,7 @@ SSCAN:      XWD -PQ1,QFOR   ;SCAN PROCESSOR AS SCHEDULER DOES
        Z\r
        Z               ;FINAL ZERO TO FLAG END\r
 \r
-QSCAN: ;SCAN FOR OUTPUT\r
+OSCAN: ;SCAN FOR OUTPUT\r
        XWD -STOPQ,QFOR ;UNRUNABLE JOBS FIRST\r
        XWD     -SLPQ,QFOR\r
        XWD -DTQ,QBAK1  ;ANY SHAR. DEV.WAITERS MORE THAN 1 DEEP\r
@@ -729,7 +745,7 @@ T2=TAC
 J=ITEM\r
 \r
 ,ALL DEVICE DEPENDENT CODE MARKED WITH A "*"\r
-\fSWAP: SKIPE SHWAT             ;IS CORE SHUFFLER WAITING FOR IO TO STOP\r
+\fSWAP: SKIPE SHFWAT            ;IS CORE SHUFFLER WAITING FOR IO TO STOP\r
                                ; FOR SOME JOB?\r
        PUSHJ PDP,CHKSHF        ;YES, CALL CORE SHUFFLER TO SEE IF\r
                                ; IO STOPPED YET\r
@@ -886,7 +902,7 @@ SCNOUT:     SKIPG XJOB              ;ANY JOBS WAITING TO EXPAND?
                                ; FOR ONE TO SWAP OUT\r
        MOVE J,HIGHJB           ;YES, START WITH HIGHEST JOB NUMBER ASSIGNED\r
        MOVSI T,JXPN            ;SETUP JOB EXPANDED BIT\r
-       TDDN T,JBTSTS(J)        ;IS THIS JOB EXPANDING?\r
+       TDNN T,JBTSTS(J)        ;IS THIS JOB EXPANDING?\r
        SOJG J,.-1              ;NO, KEEP LOOKING\r
        IFN FTRCHK,<\r
        JUMPG J,SCNOK           ;CLEAR XJOB SO MESSAGE WILL PRINT\r
@@ -917,7 +933,7 @@ SCNJOB:     MOVE T,CORTAL           ;INITIALIZE FREE CORE COUNTER
                                ; (DISPLAY, REAL TIME)?\r
        JRST (TAC1)             ;YES,CONTINUE SCAN TO FIND ANOTHER\r
        HLRZ T,JBTADR(J)        ;PICK UP SIZE OF JOB\r
-       JUMPE T,(TAC1)  `       ;CONTINUE SCAN IF NOT IN CORE (HIGH SEG ALREADY SWAPPED\r
+       JUMPE T,(TAC1)          ;CONTINUE SCAN IF NOT IN CORE (HIGH SEG ALREADY SWAPPED)\r
                                ; OUT FOR THIS USER IF NO LOW SEG)\r
        ASH T,-12               ;CONVERT TO 1K BLOCKS\r
        ADDI T,1\r
@@ -981,12 +997,12 @@ IFN JDAT-PROG,<
 \r
 INTERNAL FTTRACK\r
 \r
-SWAPD:\r
+SWAPO:\r
 IFN FTTRACK,<EXTERN LASOUT\r
        MOVEM J,LASOUT          ;SAVE LAST SWAP OUT FOR DEBUGGING ONLY\r
 >\r
        SETZM FORCE             ;CLEAR FORCE FLAG\r
-       HLRZ T,JBTADTR(J)       ;COMPUTE CORE IMAGE\r
+       HLRZ T,JBTADR(J)        ;COMPUTE CORE IMAGE\r
        JUMPE T,SWP1            ;DONT OUTPUT IF 0 CORE(IMGOUT ALREADY SET TO 0\r
                                ; WHEN CORE WAS RETURNED\r
 \r
@@ -1016,7 +1032,7 @@ NOFIT:    SETZM FIT               ;FORGET ABOUT FITTING IN A JOB ON DISK
 \f;COME HERE WHEN THE AMOUNT OF SPACE NEEDED ON THE DISK\r
 ;IS NOT AVAILABLE IN ONE CONTIGUOUS BLOCK\r
 \r
-       EXTERN GETFOR\r
+       EXTERN GETFCR\r
 \r
 FULL:  HRLM    DAT,AC3         ;SAVE DAT (LARGEST AVAILABLE HOLE)\r
        PUSHJ   PDP,FULCOR      ;GET 4 FREE CORE LOCS\r
@@ -1059,8 +1075,8 @@ FULSET:   PUSHJ   PDP,BMPAC3      ;STEP TO NEXT (LAST) TABLE LOCATION
        JRST    OUTP2           ;GO START OUTPUT\r
 \r
 ;HERE TO GET 4 LOCS OF FREE CORE\r
-FULCOR:        PUSH    PDP,ITEM        ;GETFOR USES ITEM\r
-       PUSHJ   PDP,GETFOR      ;GET 4 CELLS\r
+FULCOR:        PUSH    PDP,ITEM        ;GETFCR USES ITEM\r
+       PUSHJ   PDP,GETFCR      ;GET 4 CELLS\r
        JRST IPOPJ              ;RETORE ITEM AND RETURN\r
 \r
 ;STEP AC3 TO NEXT LOC OF TABLE BEING BUILT\r
@@ -1148,7 +1164,7 @@ CHGSWP:   LDB TAC1,IMGIN          ;SIZE WHEN SEG NEXT SWAPPED IN
 \r
        INTERN ZERSWP\r
 \r
-ZERSWPL        TDZA TAC,TAC            ;REQUEST O SPACE ON DISK AND ALWAYS SKIP\r
+ZERSWP:        TDZA TAC,TAC            ;REQUEST O SPACE ON DISK AND ALWAYS SKIP\r
 CHG1:  ADDM TAC1,VIRTAL        ;INCREASE SIZE OF VIRTUAL CORE AVAILABLE IN SYSTEM\r
                                ; AND THEN RETURN ALL OF DISK SPACE(CHGSWP)\r
        MOVSI TAC1,SWP!SHF      ;CLEAR SWAPPED OUT BIT IN JOB OR SEG\r
@@ -1266,7 +1282,7 @@ SQGO:     MOVEI TAC1,ERATRY
 \fSQGO1:        SETZM   SQLEN           ;ZERO AMOUNT TRANSFERRED SO FAR\r
        MOVE TAC1,SQREQ         ;*PUT IOWD INTO TAC1\r
        MOVSI TAC,200000        ;*SET "SWAPPER I/O GOING" FLAG ON\r
-       ORB TAC,SETA    ;*\r
+       ORB TAC,SERA    ;*\r
        TRZN    TAC,FRGSEG      ;*FRAGMENTED?\r
        JRST    SQGO2           ;*NO, READ IN ENTIRE (OR PART) OF SEG\r
 \r
@@ -1328,7 +1344,7 @@ DINT8A:   HRRZM IOS,SERA
        SETZM SQREQ\r
        JRST DINT4B\r
 \r
-SWPER1;        MOVSI TAC,100\r
+SWPER1:        MOVSI TAC,100\r
        ADDM TAC,CKSMCT\r
        TRO IOS,IODTER\r
 SWPERR:        MOVM TAC, FINISH        ;*RESET SERA IN CASE OF FRAGMENTED JOB\r
@@ -1406,7 +1422,7 @@ SWPINI:   MOVE TAC,XSAT2
        MOVEM TAC,XSAT5\r
        MOVE TAC,XSAT8\r
        MOVEM TAC,XSAT6\r
-       POPJ PDPD,\r
+       POPJ PDP,\r
 \r
 IFN FTCHECK+FTMONP,<\r
 EXTERNAL SQREQ,SERA,SERACT,XSAT1,XSAT2,XSAT3,XSAT4,XSAT5,XSAT6,XSAT7\r
@@ -1426,7 +1442,7 @@ ESQREQ:   Z                       ;COPY OF SQREQ, IN CASE OF
 SERA:  Z                       ;SIGN IS 1 IF A READ\r
                                ; C(RH)=BLOCK NUMBER BEFORE READING.\r
                                ;  ERROR BITS AFTER READING.\r
-SELACT:        0                       ;COUNT FOR ERRORS\r
+SERACT:        0                       ;COUNT FOR ERRORS\r
 SQLEN: 0                       ;AMOUNT TRANSFERRED SO FAR - FRAG SEG\r
 \r
 XSAT1: EXP XSAT3-1             ;POINTER USED BY GETBIT,CLRBIT\r
@@ -1448,11 +1464,11 @@ XSAT5:  BLOCK W2+1
 XSAT6: BLOCK 1\r
        REPEAT 1,<\r
                IFE E1,<X=1B0>\r
-               IFN E1,<X1\r
+               IFN E1,<X=1\r
                REPEAT ^D35-E1,<X=X*2>>\r
                IFE E2,<Z=-1>\r
                IFN E2,<Z=0\r
-               X=1\r
+               Y=1\r
                REPEAT ^D36-E2,<Z=Z+Y\r
                Y=Y*2>\r
                >>\r
@@ -1528,7 +1544,7 @@ GXSAT:    PUSH    PDP,ITEM        ;THIS ROUTINE SAVES AND RESTORES ACCUMULATOR "ITEM".
 FXSAT: TRZN    TAC,FRGSEG      ;FRAGMENTED?\r
        JRST    FXSAT1          ;NO. DO IN REGULAR WAY\r
 \r
-FRAGRK:        HRRZ    AC3,TAC         ;YES. LOC OF TABLE IN AC3\r
+FRAGBK:        HRRZ    AC3,TAC         ;YES. LOC OF TABLE IN AC3\r
 FRGBK1:        HRRZ    TAC,(AC3)       ;LOC OF NEXT DISK ADDRESS\r
        HLRE    DAT,(AC3)       ;NUMBER OF K\r
        JUMPLE  DAT,FRGBK2      ;GIVE UP FREE CORE IF NOT REAL ADDRESS\r
@@ -1590,7 +1606,7 @@ EXTERNAL  LBHIGH,BLKSPK,MAX2SWP,SWPENT,SWPTAB,MAXSWP
 IFE FTCHECK+FTMONP,<\r
 ;DATA ASSOCIATED WITH THE SWPSER LOGIC FOR THE NEW PDP-10 DISK ---\r
 \r
-       INTERN  MXK2SWP,CONVMD,BLKSPK,SWAPTAB,MAXSWP\r
+       INTERN  MXK2SWP,CONVMD,BLKSPK,SWPTAB,MAXSWP\r
        EXTERN K4SWAP\r
 ;THE ABOVE ARE REFERENCED OR INITIALIZED BY THE "ONCE" ROUTINE.\r
 \r
@@ -1610,7 +1626,7 @@ MXK2SWP=^D1000    ;MASIMUM NUMBER OF 1K DISK BLOCKS WHICH MIGHT BE ALLOCATED
                ; FOR SWAPPING (UPPER BOUND ON THE VALUE OF K4SWAP  WHICH\r
                ; MAY BE REQUESTED AT DISK REFRESH TIME). (ONE MILLION WORDS\r
                ; FOR SWAPPING SEEMS LIKE A NON-RESTRICTIVE ARBITRARY LIMIT.)\r
-SWPSIZ=MXK2SWP/.^D36+1 ;SIZE OF SWPTAB ALLOCATION TABLE.\r
+SWPSIZ=MXK2SWP/^D36+1  ;SIZE OF SWPTAB ALLOCATION TABLE.\r
 \r
 SWPENT:        XWD     -SWPSIZ,SWPTAB  ;THREE WORD POINTER TABLE\r
        XWD     400000,0        ; REQUIRED BY THE "GETBIT" AND\r
@@ -1626,8 +1642,9 @@ ESQREQ:   Z                       ;COPY OF SQREQ, IN CASE OF SWAP ERROR IN FRAGMENTED JOB
 SERA:  Z                       ;SIGN IS 1 IF A READ\r
                                ; C(RH)=BLOCK NUMBER BEFORE READING.\r
                                ;  ERROR BITS AFTER READING.\r
-SELACT:        0                       ;COUNT FOR ERRORS\r
+SERACT:        0                       ;COUNT FOR ERRORS\r
 SQLEN: 0                       ;AMOUNT TRANSFERRED SO FAR FOR FRAGMENTED JOB\r
 >\r
 >      ;END OF SWPSER LOGIC FOR THE NEW PDP-10 DISK.\r
 \fSCHEND:       END\r
+\0\r
index 14d7517..37d1861 100644 (file)
@@ -73,9 +73,9 @@ SCNSRF:
                                        ;WHEN OUTPUT FINISHES\r
                        IOSUPR=200      ;SUPPRESS ALL OUTPUT\r
                                        ;TILL NEXT INPUT OR INIT (^O).\r
-                       TRMON=400       ;TTY IS IN MONITOR\r
+                       TPMON=400       ;TTY IS IN MONITOR\r
                                        ;COMMAND MODE.\r
-                       DDTM=1000       ;DDT MODE\r
+                       DDTM=1000       ;DDT MDDE\r
                        TTYDTC=2000     ;TTY DDB IS DETACHED FROM LINE\r
                        SYNC=20000      ;BREAK CHARACTER SEEN\r
                                        ;SIGNAL TO INCREMENT SYNC COUNT\r
@@ -142,7 +142,7 @@ XON=2                       ;^Q TYPED, PAPER TAPE INPUT
 FULTWX=4               ;SELF ECHOING FULL DUPLEX\r
 T35=10                 ;MODEL 35\r
 T37=20                 ;MODEL 37\r
-ROBTPB=40              ;RUBOUT TYPED LAST (ECHO \ BEFORE NEXT CHAR.)\r
+ROBTPD=40              ;RUBOUT TYPED LAST (ECHO \ BEFORE NEXT CHAR.)\r
 LINRDY=100             ;LINE TYPED IN BY USER (TISYNC .G.0)\r
                        ; NOT ACTUALLY IN LINTAB. BUT RETURNED BY\r
                        ; GETLIN IN TTCALL\r
@@ -151,7 +151,7 @@ LINRDY=100          ;LINE TYPED IN BY USER (TISYNC .G.0)
 ;(BY MONITOR, TYPE-IN COMMANDS, OR PROGRAM)\r
 \r
 LGLSET=T37+T35+FULTWX+XON      ;THESE CAN BE SET OR ZEROED BY PROGRAM\r
-KILMSK=ROBTPB+TLKRNG+XON       ;CLEARED AT TTYKIL\r
+KILMSK=ROBTPD+TLKRNG+XON       ;CLEARED AT TTYKIL\r
 \r
 ;DECLARE THESE AS INTERNS TO GET THEM IN THE MAP\r
 ;AND TO CHECK AGAINST S IN COMMON\r
@@ -213,7 +213,7 @@ TOIP=400000 ;SIGN OF TTYPTR(DDB) - TYPE-OUT IN PROGRESS
 ;        DATA BLOCKS.\r
 ;      4)SETS TTYUSE#1 IN ALL TTY DDBS IN THE TRANSLATOR TABLE.\r
 \r
-EXTERNAL SCNSCH,MLTTYL,MTTYLN,TTYTAB,SCNINI\r
+EXTERNAL SCNCHN,MLTTYL,MTTYLN,TTYTAB,SCNINI\r
 \r
 TTYINI:        MOVEI TAC,SCNCHN\r
        CONO TTY,1200(TAC)      ;CLEAR CTY, ASSIGN CHANNEL\r
@@ -240,7 +240,7 @@ SCN1:       MOVSI DAT,TTYUSE        ;TTY DDB IN USE BIT
 SCN2:  MOVSI TAC,TTYUSE\r
        SKIPE DDB,TTYTAB(TAC1)\r
        IORM TAC,DEVMOD(DDB)\r
-       HRRZ TA,TAC1            ;SET UP PERMANENT LINTAB BITS\r
+       HRRZ TAC,TAC1           ;SET UP PERMANENT LINTAB BITS\r
        CAIGE   TAC,TCONLN      ;ORDINARY TTY LINE?\r
        JRST    SCN3            ;YES\r
        CAIE    TAC,TCONLN      ;CTY LINE?\r
@@ -285,7 +285,7 @@ SETBF0:     MOVE    TAC,BUF(DAT)
 \r
 PUTCHI:        SOSGE   FCTR(DAT)               ;ANY FREE SPACES LEFT?\r
        JRST    PUTCI0                  ;NO\r
-PUTCI2:        SOSLE   PTCR(DAT)               ;LAST BYTE IN BUFFER FILLED?\r
+PUTCI2:        SOSLE   PCTR(DAT)               ;LAST BYTE IN BUFFER FILLED?\r
        JRST    PUTCI1          ;NO, GO AHEAD\r
        PUSH    PDP,TAC\r
        MOVE    TAC,BUF(DAT)    ;GET ADR AND SIZE OF BUFFER\r
@@ -351,7 +351,7 @@ PUTCHO:     SOSGE   TOFCTR(DDB)             ;RETURN IMMEDIATELY IF NO ROOM
        HLRZM   TAC,TOPCTR(DDB) ;INITIAL COUNTER\r
        HRLI    TAC,440700      ;MAKE A BYTE POINTER\r
        MOVEM   TAC,TOPUTR(DDB) ;INITIAL POINTER\r
-PUTCO1:        IDBP    CHREC,TOPUTR(DDB)       ;PUT CHARACTER INTO BUFFER\r
+PUTCO1:        IDPB    CHREC,TOPUTR(DDB)       ;PUT CHARACTER INTO BUFFER\r
        CONO    PI,PION                 ;GET PI BACK ON\r
        POPJ    PDP,\r
 \f;ROUTINE TO CHECK IF A CHARACTER IS SPECIAL(ASCII 0-37, 175-177)\r
@@ -379,7 +379,7 @@ SPACTN=40000                ;SPECIAL ACTION TO BE TAKEN
 SPOUT=100000           ;SPECIAL HANDLING ON UUO OUTPUT\r
 BREAKB=20000           ;BREAK CHARACTER\r
 SPHPOS=10000           ;CHARACTER AFFECTS HORIZONTAL POSITION\r
-ECSBRK=4000            ;BREAK CHARACTER IN FCS(100) MODE\r
+FCSBRK=4000            ;BREAK CHARACTER IN FCS(100) MODE\r
 ECHSUP=2000            ;SUPRESS ECHO OF CHAR ITSELF\r
 \r
 SPCTAB:        XWD     ECHSUP,0                        ;NULL\r
@@ -401,7 +401,7 @@ SPCTAB:     XWD     ECHSUP,0                        ;NULL
        XWD     SPACTN+ECHSUP,CONTP             ;^P T35 SW\r
        XWD     SPACTN+ECHSUP,CONTQ             ;^Q XON (PAPERTAPE)\r
        XWD     ECHSUP,0                        ;^R TAPE PUNCH OFF\r
-       XWD     SPACN+ECHSUP,CONTS              ;^S XOFF\r
+       XWD     SPACTN+ECHSUP,CONTS             ;^S XOFF\r
        XWD     ECHSUP,0                        ;^T TAPE PUNCH OFF\r
        XWD     SPACTN,CONTU                    ;^U DELETE LINE\r
        XWD     ECHSUP,0                        ;^V\r
@@ -456,11 +456,11 @@ DDTIW:    MOVE    IOS,[XWD TTYIOW,IOACT]
 \fXFRIN:        PUSHJ   PDP,GETCHR      ;TRANSFER INTO USER'S AREA\r
        JUMPE   CHREC,XFRIN2\r
        PUSHJ   PDP,SPCHEK\r
-       JRST    XFIN1\r
+       JRST    XFRIN1\r
        TLNE    TAC,FCSBRK+BREAKB\r
        SOS     TISYNC(DDB)\r
 XFRIN1:        CAIN    CHREC,3         ;PRESTORED CONTROL C?\r
-       JRST    DDONC           ;YES, GO INTO MONITOR MODE\r
+       JRST    DDTCNC          ;YES, GO INTO MONITOR MODE\r
        IDPB    CHREC,AC2\r
        SOJG    AC1,XFRIN               ;LOOP TILL DONE\r
 XFRIN2:        MOVEI   CHREC,0         ;TERMINATE STRING\r
@@ -575,16 +575,16 @@ OUTC1C:   CAIN    TAC,14          ;FF?
        MOVNI   HPOS,10         ;YES. 8 LF'S\r
        CAIN    TAC,13          ;VT?\r
        MOVNI   HPOS,4          ;YES. 4 LF'S\r
-OUTC1B:        PUSHJ   PDP,PUTCH0      ;OUTPUT THE PHONEY CHAR\r
+OUTC1B:        PUSHJ   PDP,PUTCHO      ;OUTPUT THE PHONEY CHAR\r
        ADDI    HPOS,1          ;COUNT THE OUTPUTS\r
        TRNE    HPOS,7          ;ENOUGH?\r
        JRST    OUTC1B          ;NO. MORE.\r
        JRST    OUTCH3          ;NO MORE.\r
 \r
 OUTC1A:        ;HERE ON OUTPUT OF SLOW CHARS TO SMART TTY\r
-       PUSHJ   PDP,PUTCH0      ;SENT THE REAL CHAR\r
+       PUSHJ   PDP,PUTCHO      ;SENT THE REAL CHAR\r
        MOVE    TAC,CHREC       ;COPY THE CHARACTER\r
-       MOVEI   CHREC,IOLECH    ;A DELAY CHARACTER\r
+       MOVEI   CHREC,IDLECH    ;A DELAY CHARACTER\r
        SUBI    HPOS,2          ;TWO SHLUFF CHARACTERS\r
        JRST    OUTC1C          ;GO OUTPUT THE SLUFFS.\r
                                ;COUNT WILL BE MODIFIED ON VT,FF\r
@@ -763,7 +763,7 @@ IFN FTHDPX,<
 TTYIN1:        SKIPG   TISYNC(DDB)\r
        PUSHJ   PDP,TWSYNC\r
        PUSHJ   PDP,MONUSR\r
-TENDIN:        MOVE    IOS,[XWD TTYIOW+DDTM+IOSUPR,ECHOF+MERTP+IGNOR+IOACT]\r
+TENDIN:        MOVE    IOS,[XWD TTYIOW+DDTM+IOSUPR,ECHOF+MERTPO+IGNOR+IOACT]\r
 T0POPJ:        ANDCAB  IOS,DEVIOS(DDB)\r
        POPJ    PDP,\r
 \f;ROUTINE TO MOVE A LINE OR STRING FROM TTY INPUT BUFFER TO USER'S INPUT BUFFER\r
@@ -786,7 +786,7 @@ MONUS1:     PUSHJ   PDP,GETCHR              ;GET A CHAR, FROM IT
        PUSHJ   PDP,SPCHEK              ;SPECIAL CHARACTER?\r
        JRST    MONUS2                  ;NO\r
 \r
-       TLNE    TAC,FCSBRK+BREAKP       ;A BREAK CHARACTER?\r
+       TLNE    TAC,FCSBRK+BREAKB       ;A BREAK CHARACTER?\r
        SOSA    TISYNC(DDB)             ;SOME BREAK, COUNT IT DOWN\r
 MONUS2:        SOJG    AC2,MONUS1              ;NO, USER BUFFER FULL?\r
        CAIN    CHREC,3                 ;STORED CONTROL C?\r
@@ -821,7 +821,7 @@ MONUS5:     MOVSI   IOS,IOFST
 \r
 MONUS7:        MOVE    IOS,[XWD TTYIOW,IOACT]\r
        IORB    IOS,DEVIOS(DDB) ;PUT JOB BACK IN IOWAIT\r
-       PUSHJ   PDP,MONU6\r
+       PUSHJ   PDP,MONUS6\r
        JRST    TTYIN   ;RESTART INPUT UUO\r
 \r
 MONUS8:        TLNN    IOS,IOEND       ;ROOM FOR ANOTHER BUFFER, ^Z SEEN?\r
@@ -853,11 +853,11 @@ UTYPET:   JUMPL   LINE,PTYPE      ;START PTY EXCHANGE IF PTY LINE
        MOVSI   TAC,TOIP\r
        CONO PI,PIOFF   ;PREVENT TIMING GLITCH\r
        TDNN    TAC,TTYPTR(DDB)         ;IS TYPE-OUT ALREADY ON?\r
-       JRST    UTYPE1\r
+       JRST    UTYPT1\r
        CONO    PI,PION\r
        POPJ    PDP,0\r
 \r
-UTYP1: IORM    TAC,TTYPTR(DDB)         ;START TYPEOUT\r
+UTYPT1:        IORM    TAC,TTYPTR(DDB)         ;START TYPTEOUT\r
        JRST    XMTIN1\r
 \f;ROUTINE TO MOVE USER OUTPUT BUFFER TO MON. OUTPUT BUFFER\r
 ;CALLED ONLY AT UUO LEVEL,BY OUTPUT UUO\r
@@ -918,7 +918,7 @@ TTUUOT:     EXP     INCHRW                  ;(0)INPUT CHAR. WAIT TILL TYPED
        EXP     INCHSL                  ;(5)INPUT CHAR, SKIP. LINE MODE\r
        EXP     GETLIN                  ;(6)GET LINE CHARACTERISTICS WORD\r
        EXP     SETLIN                  ;(7)SET BITS IN LH LINTAB\r
-       EXP     TRESOU                  ;(10)BACK UP POINTER TO COMMAND\r
+       EXP     TRESCU                  ;(10)BACK UP POINTER TO COMMAND\r
        EXP     SETBFI                  ;(11)CLEAR INPUT BUFFER\r
        EXP     SETBF2                  ;(12)CLEAR OUTPUT BUFFER\r
        EXP     SKPINC                  ;(13)SKIP IF CHAR TO INPUT\r
@@ -975,7 +975,7 @@ EXTERNAL TTPLEN,GETWDU
 INCHRW:        PUSHJ   PDP,INCHRS              ;GET ACHAR IF ONE IS THERE\r
        JRST    .+2                     ;NONE THERE\r
        POPJ    PDP,                    ;CHAR, PICKED UP AND STORED\r
-       MOVE    IOS,[XWD TTYIOW+ODTM,IOACT][    ;SETUP FOR IOWAIT\r
+       MOVE    IOS,[XWD TTYIOW+DDTM,IOACT]     ;SETUP FOR IOWAIT\r
        IORB    IOS,DEVIOS(DDB)         ;SPECIFICALLY FOR INPUT WAIT\r
        PUSHJ   PDP,TWSYNC              ;WAIT FOR CHAR. TO BE TYPED\r
        JRST    INCHRW                  ;GO GET IT\r
@@ -1140,7 +1140,7 @@ INTERNAL TTYDET
 EXTERNAL PUNIT,TTYTAB\r
 \r
 TTYDET:        MOVSI   TAC,TTYATC\r
-       TDNN    TAC,DEVMOND(DDB)        ;IS THIS DDB WORTH KEEPING?\r
+       TDNN    TAC,DEVMOD(DDB) ;IS THIS DDB WORTH KEEPING?\r
        JRST    TTYDT1          ;NO. GO JUNK IT\r
 \r
        MOVSI   IOS,TTYDTC      ;YES. MARK IT DETACHED\r
@@ -1191,7 +1191,7 @@ TBYTEP:   PUSH    PDP,TAC1                ;SAVE LINE
        ADDI    TAC,TTYCHR\r
        IDIVI   TAC,5\r
        ADD     TAC,TTIBUF(DDB)\r
-       HLL     TAC,TLWBYT(TAC1)\r
+       HLL     TAC,TLHBYT(TAC1)\r
        POP     PDP,TAC1                ;RESTORE LINE\r
        POPJ    PDP,0\r
 \f;ROUTINE TO FIND TTY FOR A JOB\r
@@ -1318,7 +1318,7 @@ TTYF1:    MOVSI TAC,576062        ;LOOK FOR DEVICE "OPR"
        SKIPA TAC,DEVOPR        ;NOT FOUND.\r
        JRST    TTYF9\r
        JUMPN TAC,TTYF3         ;WAS OPR SPECIFIED IN ONCE ONLY CODE?\r
-       MOVEI DDR,TTYLST        ;NO\r
+       MOVEI DDB,TTYLST        ;NO\r
        SKIPE DEVNAM(DDB)       ;HAS A TTY BEEN TYPED ON?\r
        JRST    TTYF9\r
        MOVEI LINE,TCONLN       ;NO USE CTY.\r
@@ -1372,7 +1372,7 @@ TTSTR1:   MOVSI   TAC,IO+TPMON
        MOVE    IOS,DEVIOS(DDB) ;GET CORRECT IOS\r
        SKIPLE  TISYNC(DDB)     ;HAS USER TYPED AHEAD?\r
        PUSHJ   PDP,COMSET      ;YES, WAKE UP COMMAND DECODER(IF IN MON. MODE)\r
-       JRST    UTYRET          ;GO TYPE FIRST CHAR.\r
+       JRST    UTYPET          ;GO TYPE FIRST CHAR.\r
 \f;ROUTINE TO ADD TTY TO TALK RING\r
 ;CALL: ADR. OF DDB TO BE ADDED TO RING AT -3(PDP)\r
 ;      MOVE TAC,SIXBIT /TTYN/\r
@@ -1405,7 +1405,7 @@ TTYTK1:   CONO    PI,SCNOFF
        LDB LINE,PUNIT          ;LINE NUMBER IS RING.\r
        MOVSI   TAC,TLKRNG\r
        LDB     CHREC,PTALK\r
-       TDDN    TAC,LINTAB(LINE)\r
+       TDNN    TAC,LINTAB(LINE)\r
        HRRZ    CHREC,LINE\r
        IORM    TAC,LINTAB(LINE)\r
        EXCH DDB,-3(PDP)        ;GET DDB OF TALKER\r
@@ -1437,7 +1437,7 @@ TTYUSR:   MOVSI IOS,USRB          ;SET BIT TO SWITCH TTY TO USER MODE
 INTERNAL CTYINT\r
 EXTERNAL SCNSAV,SCNCHN,TCONLN\r
 \r
-CTYINI:        CONSO TTY,50            ;TTI OR TTO FLAG?\r
+CTYINT:        CONSO TTY,50            ;TTI OR TTO FLAG?\r
        JRST CTYINT                     ;NO\r
        JSR     SCNSAV                  ;YES, SAVE AC'S\r
        MOVEI   LINE,TCONLN             ;LOAD LINE WITH PROPER\r
@@ -1461,7 +1461,7 @@ EXTERNAL COMCNT
 \r
 RECINT:\r
 INUS2: ;TAG FOR INTERRUPT SERVICE\r
-INJEXT:        ;ANOTHER TAG, NOT USED, BUT WANTED BY LOSING DLSINT\r
+INJEST:        ;ANOTHER TAG, NOT USED, BUT WANTED BY LOSING DLSINT\r
 \r
        TRNN    CHREC,177       ;IGNORE NULLS\r
        POPJ    PDP,0           ;DISMISS INTERRUPT\r
@@ -1505,7 +1505,7 @@ RECIN4:   TLNE    IOS,SYNC
        MOVE    TAC,TIPCTR(DDB)         ;UPDATE COUNTER FOR ^U\r
        DPB     TAC,PLSTLC\r
        TLZN    IOS,TTYIOW              ;IN TELETYPE INPUT WAIT?\r
-       JRST    TTYTST                  ;NO, GO ECHO\r
+       JRST    TYPTST                  ;NO, GO ECHO\r
        PUSHJ   PDP,STTIOD              ;YES, SET IO DONE(OUT OF TTY IOW)\r
        MOVSI   IOS,IOW+TTYIOW\r
        ANDCAB  IOS,DEVIOS(DDB)         ;CLEAR WAIT BITS\r
@@ -1589,7 +1589,7 @@ COMSET:   TLNN    IOS,TPMON               ;MONITOR MODE?
        POPJ    PDP,\r
 \fINTERNAL XMTINT,PTYGET\r
 \r
-XMTINT:        HLL     LINE,LINETAB(LINE)      ;GET LINE CHAR.\r
+XMTINT:        HLL     LINE,LINTAB(LINE)       ;GET LIN CHAR.\r
        HRRZ    DDB,TTYTAB(LINE)        ;GET DDB ADDRESS\r
        JUMPE   DDB,CPOPJ               ;IF NONE, X BEING TYPED\r
        MOVE    IOS,DEVIOS(DDB)         ;GET IO STATUS\r
@@ -1600,13 +1600,13 @@ PTYGET:                         ;CALL HERE TO SKIP ABOVE OVERHEAD
        SKIPL   TTYPTR(DDB)             ;WAS TYPE-OUT IN PROGRESS?\r
        POPJ    PDP,                    ;IGNORE XMT DURING ECHO CK\r
 XMTIN1:        MOVEI   DAT,TTOBUF(DDB)         ;SPECIFY TTO BUFFER\r
-XMTI1A CONO    PI,PIOFF                ;KEEP TOIP AND PUTR/TAKR EQUAL\r
+XMTI1A:        CONO    PI,PIOFF                ;KEEP TOIP AND PUTR/TAKR EQUAL\r
        HLRZ    TAC,BUF(DAT)            ;IS OUTPUT BUFFER EMPTY?\r
        CAMLE   TAC,FCTR(DAT)           ;I.E. FREE COUNT AT MAX?\r
        JRST    XMTIN2                  ;NO, TYPING STILL IN PROGRESS\r
 \r
        TRNE    IOS,MERTPO      ;MONITOR ERROR MESSAGE?\r
-       CAIE    DAT,TIOBUF(DDB) ;OUTPUT BUFFER?\r
+       CAIE    DAT,TTOBUF(DDB) ;OUTPUT BUFFER?\r
        JRST    XMTIN4          ;NO, MUST REALLY BE DONE\r
        MOVEI   DAT,TTIBUF(DDB) ;YES. NOW EMPTY OUT TTI BUFFER\r
        JRST    XMTI1A\r
@@ -1675,7 +1675,7 @@ TYPE:     JUMPE   CHREC,CPOPJ     ;IS TYPING STILL TO BE IN PROGRESS?
 TTEDIT:        PUSHJ   PDP,ADJHP       ;ADJUST HP AND CHECK SPECIAL\r
        JRST    TIPACK          ;NOT SPECIAL\r
        MOVSI   IOS,0\r
-       TLNE    TAC,BBREAK+FCSBRK       ;BREAK CHAR?\r
+       TLNE    TAC,BREAKB+FCSBRK       ;BREAK CHAR?\r
        TLO     IOS,SYNC        ;BREAK CHAR, SET SYNC\r
        IORB    IOS,DEVIOS(DDB) ;SET SYNC\r
        JUMPL   TAC,0(TAC)      ;DISPATCH IF SPACTN SET\r
@@ -1687,8 +1687,8 @@ TTIPUT:   TLZE    LINE,ROBTPD     ;HAVE WE BEEN DELETING?
        PUSHJ   PDP,BSECHO      ;YES. OUTPUT A BACKSLASH\r
 TTIPT1:        PUSHJ   PDP,PUTCHI      ;PUT CHAR IN INPUT BUFFER\r
        JRST    INBFUL          ;IT DIDNT FIT\r
-       LTNN    TAC,ECHSUP      ;SHOULD THIS CHAR BE ECHOED?\r
-DUPLEX:        TLNE    LINE,FULTWX,HLFDPX      ;IS THIS LINE ECHOING ITSELF?\r
+       TLNN    TAC,ECHSUP      ;SHOULD THIS CHAR BE ECHOED?\r
+DUPLEX:        TLNE    LINE,FULTWX+HLFDPX      ;IS THIS LINE ECHOING ITSELF?\r
        POPJ    PDP,0           ;JUST RETURN WITHOUT ECHO\r
 DUPLX1:        PUSH    PDP,TAC         ;SAVE TAC OVER PUTCHO\r
        TLNN    IOS,TPMON       ;SHOULD ECHO IF IN MONITOR MODE\r
@@ -1696,7 +1696,7 @@ DUPLX1:   PUSH    PDP,TAC         ;SAVE TAC OVER PUTCHO
        PUSHJ   PDP,PUTCHO      ;SO ECHO IT.\r
        JRST    TPOPJ           ;RESTORE TAC AND RETURN\r
 \r
-INTERNAL INBFUB                        ;FOR THE PTY\r
+INTERNAL INBFUL                        ;FOR THE PTY\r
 \r
 INBFUL:        MOVSI   IOS,SYNC        ;DONT COUNT SYNC COUNT\r
        ANDCAB  IOS,DEVIOS(DDB) ; SINCE CHAR NOT STORED\r
@@ -1785,7 +1785,7 @@ SIMFF1:   PUSHJ   PDP,DUPLX1      ;OUTPUT ECHO OF LF OR IDL
 CONTI: TLNN    LINE,T35\r
        TLO     TAC,ECHSUP      ;DONT OUTPUT TAB TO 33\r
        PUSHJ   PDP,TTIPUT      ;PUT IN BUFFER AND MAYBE ECHO\r
-       TLEN    LINE,XON+DISLIN ;IF PAPER TAPE,DISMISS\r
+       TLNE    LINE,XON+DISLIN ;IF PAPER TAPE,DISMISS\r
        POPJ    PDP,0           ; SO AS NOT TO OVERFILL OUTBUF\r
                                ;ALSO, DISPLAY DOESNT WANT FILLER\r
        HRRI    TAC,1           ;TWO IDLES\r
@@ -2070,7 +2070,7 @@ SCNIN0:   ADDI LINE,20
        TLNE    LINE,CTYLIN     ;IS THIS CONSOLE TTY?\r
        MOVEM TAC,DEVNAM(DEVDAT);YES, SET NAME TO CTY.\r
        TLNE    LINE,PTYLIN             ;IS THIS A PTY?\r
-       PUSHJ   PDP,PTMNND              ;YES. SET IT INTO MONITOR MODE\r
+       PUSHJ   PDP,PTMNMD              ;YES. SET IT INTO MONITOR MODE\r
        JRST CPOPJ1             ;SUCCESSFUL RETURN.\r
 \fSCNEND:       END\r
 \f\r
diff --git a/src/segcon.mac b/src/segcon.mac
new file mode 100644 (file)
index 0000000..271ac1b
Binary files /dev/null and b/src/segcon.mac differ
diff --git a/src/sysini.mac b/src/sysini.mac
new file mode 100644 (file)
index 0000000..6c899ed
Binary files /dev/null and b/src/sysini.mac differ
diff --git a/src/sysmak.mac b/src/sysmak.mac
new file mode 100644 (file)
index 0000000..b945c4f
Binary files /dev/null and b/src/sysmak.mac differ
diff --git a/src/tendmp.doc b/src/tendmp.doc
new file mode 100644 (file)
index 0000000..02c5efd
Binary files /dev/null and b/src/tendmp.doc differ
diff --git a/src/tendmp.mac b/src/tendmp.mac
new file mode 100644 (file)
index 0000000..e317210
--- /dev/null
@@ -0,0 +1,469 @@
+TITLE TENDMP - DTAPE/MTAPE UTILITY - R CLEMENTS/GBH/RH/RD/RCC/JEF 6 APR 71 - V032\r
+       IFNDEF REL,<REL=0>      ;0 PAPER TAPE, 1 RELOCATABLE BINARY\r
+       IFNDEF MAGT,<MAGT=0>    ;0 DTAPE, 1 MTAPE\r
+       IFN MAGT,<\r
+; MAGTAPE UTILITY ROUTINE - COURTSEY DATALINE SYSTEMS J HANCOCK\r
+       >\r
+       IFNDEF MODE,<MODE=0>    ;0 IS TD10, 1 IS 551/136\r
+       IFNDEF CORE,<CORE=4>    ;NUMBER OF 8K MEMORY BLOCKS\r
+\r
+       IFE MODE,<SUBTTL TD10 VERSION>\r
+       IFN MODE,<SUBTTL 551/136 VERSION>\r
+\r
+IFE REL,<\r
+IFE MAGT,<RIM10B>\r
+IFN MAGT,<RIM10>>\r
+       UTC=210\r
+       UTS=214\r
+       DC=200\r
+       DTC=320\r
+       DTS=324\r
+\r
+F=0    ;MUST BE 0. USED BY JRA'S\r
+A=2    ;MISC TEMP. HOLDS 136 CONO INDEX IN UWAIT\r
+B=1    ;TEMP. HOLDS BLOCK # COMPUTATION IN SEARCH\r
+C=3    ;HOLDS BITS FOR DECTAPE CONO DURING I/O\r
+D=4    ;HOLDS POINTERS FOR AOBJN'S THROUGH CORE\r
+E=5    ;HOLDS COUNT OF WORDS IN CURRENT DT BLOCK\r
+P=6    ;PC FOR JSP'S\r
+CKS=7  ;HAD BEEN CHECKSUM IN MACDMP\r
+FILN=10        ;NUMBER OF FILE IN DIRECTORY, 1 TO 26 OCTAL\r
+BLKNO=11       ;BLOCK NUMBER SEARCHED FOR ON TAPE\r
+WRITE=12       ;MULTI-STATE FLAG FOR DEFINING I/O OPERATION\r
+               ;1=D 0=K -1=ELSE\r
+PNTR=13        ;POINTER TO BYTE TABLE IN DIRECTORY\r
+CH=14  ;HOLDS 6BIT CHARACTER OF COMMAND, OR -1\r
+Q=15   ;ANOTHER JSP AC\r
+G=16   ;RARELY USED VERY TEMP\r
+CT=17  ;COUNT OF WORDS TO DUMP\r
+\r
+COMPTR=BEGR+377        ;COMMAND POINTER, IF SUPPLIED\r
+       LOZAD=BEGR-203  ;WHEN CORE IS CLEARED, IT\r
+                       ;IS FROM 40 THRU LOZAD\r
+       LOW=20  ;FIRST LOCATION CONSIDERED FOR DUMPING\r
+       HIGH=BEGR-203   ;LAST LOCATION CONSIDERED FOR DUMPING\r
+                       ;ZEROED AT BEG THESE DAYS\r
+       FOOF=BEGR-202   ;NEEDED FOR ZERO CORE SEARCH, ZEROED AT BEG1\r
+TAB=BEGR-201           ;FILE DIRECTORY\r
+LINK=BEGR-1            ;0-17=LINK, 18-27=FBN, 29-35=WC\r
+IFE REL,<IFE MAGT,<LOC 17400+<<CORE-1>*20000>>\r
+        IFN MAGT,<LOC 17377+<<CORE-1>*20000>\r
+       IOWD    LAST-BEGR+1,BEGR>>\r
+\f;INITIAL ENTRY IS AT BEGR, UNLESS A COMMAND POINTER IS\r
+;SUPPLIED IN COMPTR. IN THAT CASE, ENTRY IS AT BEGR+1\r
+\r
+BEGR:  SETZM COMPTR    ;CLEAR ANY JUNK IN COMMAND POINTER\r
+       CONO 635550     ;I/O RESET, ETC.\r
+BEG:   JSP P,CRR       ;TYPE A CR-LF\r
+       MOVEI D,SPNT-2  ;PREPARE TO REMOVE AOBJN POINTERS\r
+BEG1:  SETZB A,FOOF    ;CLEAR A TO PUT IN CORE, CLEAR\r
+                       ;FOOF FOR  THE NEXT ZERO CORE SEARCH\r
+       EXCH A,2(D)     ;REMOVE HEADER LIST\r
+       AOBJN A,.       ;COUNT THROUGH TO NEXT HEADER\r
+       MOVEI D,-1(A)   ;ACCOUNT FOR OVERSHOOT IN AOBJN\r
+       JUMPN D,BEG1    ;IF WE DIDNT AOBJN A 0, GO FOR NEXT HDR\r
+       MOVE PNTR,[XWD 500,TAB-1]       ;5 BIT BYTES IN DIRECTORY\r
+       SETZB CH,F\r
+CRCH:  SETOI WRITE,215 ;USED FOR CARRET TYPEOUT\r
+TYI:   SETZB C,HIGH    ;HOPEFULLY HIGH IS TEMPORARY\r
+       SETZB B,E       ;NAME INITIALIZING\r
+       TLOA B,400000   ;NULL NAME IS "@. "\r
+SPACE: MOVEI E,C-1     ;EXTENSION INTO C\r
+       HRLI E,20600    ;FAKE OUT END TEST OF BYTE PTR\r
+;STOP TAPE DRIVE\r
+IFN MODE,<CONO UTC,0>\r
+IFE MODE,<CONO DTC,400000>\r
+NEXT:  ILDB A,@BEGR    ;GIVES A 0 UNLESS COMMAND POINTER SUPPLIED\r
+                       ;RH OF NEXT IS USED AS A CONSTANT\r
+BELL:  SETOI FILN,207  ;INITIALIZATION FOR SEARCH\r
+       SETZB BLKNO,CT  ; "\r
+       SETZM LINK\r
+       JUMPN A,RCH     ;JUMP IF COMMAND READ FROM CORE\r
+       CONSO TTY,40    ;TYPEIN FLAG?\r
+       JRST .-1        ;NO,WAIT\r
+       DATAI TTY,A     ;GET TYPED IN CHARACTER\r
+       JSP P,TYO       ;ECHO IT (WITH PARITY)\r
+RCH:   ANDI A,177      ;STRIP OFF PARITY\r
+       CAIN A,177      ;RUBOUT?\r
+       JRST BEGR       ;YES. RESTART TENDMP\r
+       CAIE A,33       ;NEW ALTMODE?\r
+       CAIL A,175      ;OR 175 OR 176 ALTMODES?\r
+       JRST ALTTST     ;YES, SOME ALTMODE.\r
+       CAIL A,140      ;LOWER CASE CHARACTER?\r
+       TRZ A,40        ;YES. CHANGE TO UPPER CASE\r
+       SUBI A,40       ;CONVERT TO SIXBIT\r
+       JUMPL A,CARRET  ;ANY CONTROL CHARACTER\r
+       JUMPE A,SPACE   ;CHAR WAS 40\r
+NEXT1: TLNE E,770000   ;NO MORE THAN SIX CHARS\r
+       IDPB A,E        ;GOES INTO AC1 = B\r
+       JRST NEXT       ;GET ANOTHER CHARACTER\r
+\r
+\f\r
+;HERE ON JUMP BLOCK DURING LOADS, OR NUMBER>7 ALT\r
+JBLK:\r
+;STOP TAPE DRIVE\r
+IFN MODE,<CONO UTC,0>\r
+IFE MODE,<CONO DTC,400000>\r
+       HRRM D,SADR     ;SAVE STARTING ADDRESS\r
+       JUMPN CH,BEG    ;IF NOT LOADGO COMMAND\r
+SADR:  JRST BEG        ;CURRENT S.A.\r
+LOADS:                 ;HERE TO LOAD TAPE TO CORE\r
+       MOVEI D,LOZAD+1 ;FIRST LOC NOT TO ZERO\r
+       SETZM 40        ;A "FEATURE"\r
+       MOVE C,[XWD 40,41]      ;PREPARE TO CLEAR CORE.\r
+       TRNN CH,3       ;SKIP ON M,N   NOT ON L,T,@\r
+       BLT C,-1(D)     ;ZERO CORE\r
+LOAD:  JSP Q,LODUMP    ;START READING FILE. LODUMP PROCESSES\r
+                       ;ONE HEADER AND ITS DATA\r
+       JRST LOAD       ;IF OK, GET NEXT BLOCK.(IF NONE, \r
+                       ;LODUMP RETURNS TO JBLK.)\r
+DELE:  SKIPN E,WRITE   ;SKIP IF NOT IN THE K PHASE OF A D COMMAND.\r
+                       ;OR A K COMMAND\r
+                       ;ALSO, SET E =0, SO SEARCH HAPPENS IN RBLK\r
+CLS1:  AOJA WRITE,CLSTP        ; 0 TO 1. GO DUMP OUT DIRECTORY.\r
+ERR:   SKIPA P,NEXT    ;SET TO RETURN TO BEGR\r
+CRR:   SKIPA A,CRCH    ;LIKE HRROI A,215 AND SKIPA\r
+       SKIPA A,BELL    ;GET A BELL CHARACTER\r
+TYO:   SKIPN COMPTR    ;DONT TYO IF NO TYI, UNLESS ERR\r
+       DATAO TTY,A     ;TYPE OUT\r
+       CONSZ TTY,20    ;WAIT FOR TTY TO FINISH\r
+       JRST .-1        ;NOT YET\r
+       CAIE A,215      ;IF CR TYPED IN,\r
+       JUMPGE A,(P)    ;OR SIGN BIT OF CHAR ON,(SEE CRR)\r
+       MOVEI A,12      ;APPEND A LINEFEED\r
+       JRST TYO        ;GO TYPE LF\r
+\r
+\fALTTST:       TLNN B,4040     ;IF ALPHA CHARACTERS, DONT GET CH\r
+       LDB CH,E        ;LAST CH BEFORE ALT, -40\r
+       JUMPN CH,ALTMD  ;IF CH NOT NULL, GOT PROCESS ALTMODE\r
+CARRET:        MOVSI FILN,-26  ;FILE NAME SPECIFIED. FIRST THING TO\r
+                       ;DO IS LOOK IT UP IN DIRECTORY\r
+LUP:   SKIPN TAB+123(FILN)     ;SEARCH FOR FREE FILE\r
+       SKIPE BLKNO,TAB+151(FILN)       ;CHECK BOTH WORDS\r
+       TDZA BLKNO,BLKNO        ;ENSURE CLEAR BLOCK NUMBER\r
+       HRRM FILN,FREE  ;SAVE NUMBER OF A FREE FILE\r
+       HLLZ G,TAB+151(FILN)    ;ONLY CHECK LEFT OF 2ND WD\r
+       CAMN B,TAB+123(FILN)    ;SEARCH FOR TYPED-IN FILE\r
+       CAME C,G                ;BOTH WORDS\r
+       AOBJN FILN,LUP  ;NOT THIS ONE. KEEP LOOKING\r
+       JUMPL FILN,BEG69        ;IF FILE FOUND, JUMP\r
+       JUMPLE WRITE,ERR        ;IF NOT FOUND, BETTER BE DUMP\r
+FREE:  MOVEI FILN,.    ;DUMP & NOT FOUND, MAKE ENTRY WHERE FREE\r
+                       ;(ADDRESS MODIFIED ABOVE)\r
+       SKIPE TAB+123(FILN)     ;MAKE SURE HOLE AVAILABLE\r
+       JRST ERR        ;NO FREE SLOTS\r
+\r
+BEG69: MOVEI FILN,1(FILN)      ;FILN IS FILE #+1; CLR LH\r
+       JUMPL WRITE,LOADS       ;ALL LOAD INSTRUCTIONS\r
+IFE MAGT,<\r
+       SKIPN WRITE     ;DELETE? (K COMMAND)\r
+       SETZB B,C       ;YES, KILL FILE\r
+       MOVEM B,TAB+122(FILN)   ;CLEAR IF DELE, ENTER IF NEW DUMP\r
+       HLLZM C,TAB+150(FILN)   ;BOTH WORDS\r
+                               ;FALL INTO DUMP ROUTINE\r
+                               ;WHICH IS A NO-OP FOR K\r
+\r
+\f\r
+;DUMP WRITES OUT CORE ONTO TAPE\r
+\r
+;DUMP THRU DUMP2-1 SETS UP POINTERS TO NON-ZERO CORE AREAS. THESE\r
+;AOBJN POINTERS ARE CALLED  "HEADERS", AND PRECEDE THE DATA WHEN\r
+;THE TAPE IS WRITTEN.\r
+;THE FIRST HEADER IS KEPT IN SPNT. SUCCESIVE HEADERS GO INTO THE FIRST\r
+;ZERO WORD FOLLOWING THE BLOCK CORRESPONDING TO THE PREVIOUS HEADER.\r
+;AFTER THE LAST NON-ZERO BLOCK IS (BY DEFINITION) A ZERO, WHICH\r
+;TERMINATES THE HEADER LIST. THIS WORD MAY BE LOCATION FOOF (37176) IF\r
+;CORE WAS FILLED UP TO THE BASE OF TENDMP.\r
+\r
+DUMP:                  ;HERE ON D,K. (BLKN)=0, FILN SET UP\r
+       MOVN A,[XWD HIGH-LOW-1,-LOW+1]  ;COUNTER TO EXAMINE \r
+                                       ;CORE FOR BLOCKS OF 0\r
+       MOVEI CKS,SPNT-1        ;FIRST HEADER GOES INTO SPNT\r
+DMP1:  SKIPN 1(A)      ;FIND SOME NON-ZERO CORE\r
+       AOBJN A,.-1     ;ZERO. KEEP LOOKING.\r
+       MOVEM A,D       ;SAVE ADR\r
+       SKIPN 1(A)      ;FIND SOME ZERO CORE\r
+       SKIPE 2(A)      ;DON'T MAKE NEW BLOCK FOR 1 ZERO\r
+       AOBJN A,.-2     ;NON-ZERO. KEEP LOOKING\r
+       SUB D,A         ;GET -COUNT IN BOTH HALVES OF D\r
+       SUBI CT,-1(D)   ;COUNT N WORDS DATA, 1 HDR\r
+       ADDI D,(A)      ;GET F.A.-1 IN RH OF D\r
+       MOVEM D,1(CKS)  ;SAVE HEADER\r
+       JUMPGE D,.+2    ;ON DATA GROUPS,\r
+       MOVE CKS,A      ;GET THE HEADER\r
+                       ;F.A.+W.C. IS ADR OF NEXT HEADER\r
+                       ;I.E., FIRST 0 AFTER NON-ZERO BLOCK\r
+       JUMPL A,DMP1    ;LOOP IF MORE CORE\r
+       LSH CKS,2       ;SHIFT CORE SIZ FOR DIR\r
+       SKIPLE WRITE    ;IF DUMPING, SET JOBREL\r
+       HRRM CKS,TAB+150(FILN)  ;PUT IN DIR\r
+DMP2:  MOVEI D,SPNT-1  ;SET UP TO FOLLOW THE HEADERS.\r
+       MOVEI CT,1(CT)  ;CLR LH, COUNT JBLK\r
+DMP3:  MOVE D,1(D)     ;GET HEADER\r
+       JUMPGE D,THRU   ;IF NULL HEADER FOUND\r
+       MOVEI Q,DMP3    ;Q:= DMP3 AS A RETURN AFTER AOBJN\r
+       >\r
+\r
+IFN MAGT,<\r
+       JRST    ERR             ;HOW DID WE GET HERE?  DLS***\r
+;DUMP WRITES OUT CORE ONTO MAGNETIC TAPE\r
+;DUMP WRITES OUT A CORE IMAGE ON MAGNETIC TAPE WITHOUT\r
+;ZERO COMPRESSION. THE RECORDS ARE 200(OCTAL) WORDS IN LENGTH\r
+;AND BEGIN WITH WORD ZERO. BEFORE STARTING THE TAPE IS REWOUND.\r
+;IT ASSUMES MTA0, AT LEAST FOR NOW.\r
\r
+       MTC=    340\r
+       MTS=    344\r
+DUMP:  CONO    MTC,1000        ;REWIND\r
+       CONSO   MTS,300000      ;WAIT FOR BOT OR REWINDING\r
+       JRST    .-1\r
+       CONSO   MTS,40          ;TRANSPORT READY?\r
+       JRST    .-1\r
+       SETZ    A,\r
+DUMP1: HRLI    A,-200          ;WORDS PER BLOCK\r
+       CONO    MTC,64100       ;START WRITE OPERATION\r
+DUMP2: CONSO   MTS,1           ;TD10 READY FOR DATA?\r
+       JRST    .-1\r
+       DATAO   MTC,(A)         ;SEND OUT DATA\r
+       AOBJN   A,DUMP2         ;POINT TO NEXT WORD AND LOOP\r
+       CONO    MTS,1           ;STOP THE DRIVE\r
+       CONSO   MTS,100         ;WAIT TILL STOPPED\r
+       JRST    .-1\r
+       CONSZ   MTS,464610      ;ANY ERRORS?\r
+       JRST    ERR             ;YES, GO RING BELL\r
+       AOSE    [-CORE*20000/200+2]     ;ALL CORE DUMPED?\r
+       JRST    DUMP1           ;NO\r
+       CONO    MTC,65100       ;WRITE END OF FILE\r
+       CONSO   MTS,100         ;DONE?\r
+       JRST    .-1\r
+       CONO    MTC,65100\r
+       CONSO   MTS,100\r
+       JRST    .-1\r
+       JRST    BEGR            ;ALL DONE\r
+       >\r
+\r
+\r
+LODUMP:        JSP P,UWAIT\r
+       JFCL D          ;IN/OUTPUT HEADER\r
+       JUMPGE D,JBLK   ;IF JRST BLOCK READ. CANT HAPPEN ON WRITE\r
+DMP5:  JSP P,UWAIT\r
+       JFCL 1(D)       ;IN/OUTPUT DATA WORD\r
+       AOBJN D,DMP5    ;COUNT DOWN THE HEADER\r
+       JRST (Q)        ;END OF HEADER. TO DMP3 OR LOAD+1\r
+;WRITE:  1=D  0=K  -1=ELSE\r
+\r
+THRU:  JSP P,UWAIT     ;WRITE OUT JRST BLOCK\r
+       JFCL SADR       ;FROM LOC SADR\r
+IFE MODE,<     AOJL E,UWAIT1   ;FILL OUT BLOCK, TO GET CKSM OUT>\r
+       TRZA WRITE,-1   ;THEN SET WRITE TO 0, AND GO CLOBBER\r
+                       ;ANY FURTHER BLOCKS WITH THIS FILN\r
+UWAIT: AOJL E,UWAIT1   ;RETURN ADDR = (P)      DATA ADDR = @(P)\r
+                       ;E IS -WD COUNT IN BLOCK OR POSITIVE\r
+                       ;BYTE POINTER FIRST TIME THRU\r
+       HLRZ BLKNO,LINK         ;SET TO FOLLOW LINK\r
+MNLUP0:        JUMPGE WRITE,MNLUP      ;WRITING OR DELETING\r
+       JUMPN BLKNO,RBLK\r
+MNLUP: AOSA BLKNO      ;NEXT BLOCK IN THE DIRECTORY\r
+MNLUP1:        DPB B,PNTR      ;FOR DELETE, 0 FILE NAME AND NUMBER\r
+       ILDB A,PNTR     ;SEARCH FILE DIR\r
+       CAIN A,37\r
+       JRST DELE       ;END OF TAB MARKER, DELE GOES TO\r
+                       ;CLSTP ON A "D" TO DUMP DIRECTORY\r
+       TLO A,-1(WRITE) ;0 ON D, -1 ON K OR K PHASE OF D\r
+       CAIE FILN,(A)   ;IS THIS BLOCK ASSIGNED TO CURRENT FILE?\r
+       JUMPN A,MNLUP   ;OR MAYBE FREE? JUMP IF IN USE BY\r
+                       ;ANOTHER FILE.\r
+       DPB FILN,PNTR   ;SMASH AWAY WRITE BLOCK ON D OR K. BUT\r
+                       ;SEE MNLUP1 ON K.\r
+       JUMPE WRITE,MNLUP1      ;K COMMAND\r
+       SKIPN C,LINK            ;HAS LINK BEEN SET UP?\r
+       DPB BLKNO,[XWD 101200,LINK]     ;NO. PUT BLOCK IN AS FIRST BLK NO\r
+       HRLM BLKNO,LINK ;PUT BLOCK IN AS LINK\r
+       JUMPE C,MNLUP0          ;JUMP IF THIS IS THE FIRST PASS THRU DIRECTORY\r
+       HLRZ BLKNO,C            ;GET LINKED BLOCK CHOSEN BEFORE\r
+       MOVEI C,177             ;PUT IN A WORD COUNT FOR PIP\r
+       IORM C,LINK             ;AND PUT ALL THAT INTO LINK WORD\r
+       SUBI CT,177             ;DECREMENT WORDS LEFT TO GO\r
+\r
+\f\r
+;RBLK SEARCHES FOR THE BLOCK IN BLKNO, ENTERS IT GOING FORWARD,\r
+;AND THEN READS INTO CORE, DUMPS CORE, OR COMPARES CORE AS\r
+;DETERMINED BY CONTENTS OF WRITE.\r
+\r
+RBLK:  HRRO C,TAPENO   ;CURRENT TAPE NO.\r
+                       ;SET LH TO  PREPARE FOR JUMPN IN DELE\r
+IFE MODE,<\r
+       TRO B,-1        ;ENSURE GOING FORWARD WHEN FIRST SEARCH\r
+       CONSO DTC,300000        ;IS A DIRECTION ASSERTED?\r
+       TRO C,210000    ;NO. GO FORWARD\r
+RB1:   TRNN B,400001   ;DECIDE WHETHER TO TURN AROUND\r
+       TRO C,300000    ;TURN AROUND\r
+RBG:   CONO DTC,20200(C)       ;ISSUE THE COMMAND TO TD10.\r
+                               ;200=SEARCH, 300=READ, 700=WRITE.\r
+UWAIT1:        CONSZ DTS,672700        ;ANY ERRORS?\r
+       JRST ERR        ;YES. GO DING AND THEN TYI\r
+       CONSO DTS,1     ;DATA READY?\r
+       JRST .-3        ;NO. GO WAIT SOME MORE\r
+       JUMPL E,INOUT(WRITE)    ;IF IN MIDST OF A DT BLOCK, DISPATCH\r
+       DATAI DTC,B     ;NO. SEARCHING. GET BLOCK NO.\r
+       TRZ C,310000    ;CLOBBER DIRECTION BITS IN CONO\r
+       SUBI B,(BLKNO)  ;COMPARE WITH DESIRED BLOCK\r
+       CONSZ DTC,100000        ;COMPLEMENT DECISION IF GOING REVERSE\r
+       TRC B,-2        ;BIT 35 IS FOR  TURNAROUND SPACE.\r
+>\r
+\f\r
+IFN MODE,<\r
+       SETOB A,B       ;GO FORWARD, SET DC FOR SEARCH\r
+       CONSZ UTS,40    ;IS CHECKSUM BEING WRITTEN?\r
+       JRST .-1        ;WAIT\r
+RB1:   TRNN B,400001   ;DECIDE WHETHER TO TURN AROUND\r
+       TRCA C,10000    ;CHANGE DIRECTION AND DELAY\r
+       CONSO UTC,200000        ;UNIT SELECTED?\r
+       TRO C,2000      ;INVOKE STARTUP DELAY\r
+RBG:   CONO UTC,220200(C)      ;COMMAND TO THE  551.\r
+                               ;200=SEARCH, 300=READ, 700=WRITE.\r
+       CONO DC,4011(A) ;COMMAND TO THE 136.\r
+UWAIT1:        CONSZ UTS,6     ;ANY ERRORS?\r
+       JRST ERR        ;YES. GO DING AND THEN TYI\r
+       CONSO DC,1000   ;DATA READY?\r
+       JRST .-3        ;NO. WAIT SOME MORE\r
+       JUMPL E,INOUT(WRITE)    ;IF IN MIDST OF A DT BLOCK, DISPATCH\r
+       DATAI DC,B      ;NO. SEARCHING. GET BLOCK NUMBER\r
+       TRZ C,2000      ;DONT DELAY ANY MORE\r
+       SUBI B,(BLKNO)  ;COMPARE WITH DESIRED BLOCK\r
+       TRNE C,10000    ;COMPLEMENT IF GOING REVERSE\r
+       TRC B,-2        ;BIT 35 IS FOR TURNAROUND SPACE.\r
+>\r
+       JUMPN B,RB1     ;JUMP IF NOT GOING FORWARD INTO (BLKNO)\r
+       MOVNI E,200     ;WORDS PER BLOCK\r
+       MOVEM P,F       ;SAVE RETURN IN AC0\r
+       TRO C,100       ;READ COMMAND, MAYBE\r
+       JUMPLE WRITE,RB2        ;JUMP IF READ\r
+       TRO C,400       ;CHANGE TO WRITE COMMAND\r
+IFN MODE,<MOVNI A,401  ;SET 136 TO OUTPUT>\r
+       JUMPG CT,.+3\r
+       HRRZS LINK      ;IF LAST BLK, KILL LINK\r
+       DPB E,PNTR              ;AND THE DIR BYTE _ 0\r
+RB2:   CAIE BLKNO,^D100        ;IF NOT DIRECTORY BLOCK\r
+       MOVEI P,.+2     ;SETUP NEW RETURN\r
+       JRST RBG\r
+       AOJ E,LINK      ;IN/OUTPUT LINK\r
+       JRA P,UWAIT1    ;RESTORE CALLER ADR\r
+                       ;AND PROCESS DATA WORDS\r
+\f\r
+IFE MODE,<\r
+       DATAI DTC,@(P)  ;READ COMMANDS. GET WORD TO CORE\r
+INOUT: JRST UWAIT2     ;INOUT-1 TO INOUT +1 ARE DISPATCHED TO.\r
+       DATAO DTC,@(P)  ;OUTPUT TO TAPE\r
+UWAIT2:        AOJN E,UWAIT3   ;WAS THAT THE LAST WORD IN THE DT BLOCK?\r
+       CONO DTS,1      ;YES. GIVE FUNCTION STOP TO TD10\r
+       CONSO DTS,100000        ;AND WAIT FOR CHECKSUM TO BE DONE\r
+       JRST .-1        ;NOT YET. WAIT\r
+UWAIT3:        SOJA E,0(P)     ;DONE. COMPENSATE FOR THE AOJN ABOVE, AND\r
+                       ;RETURN TO CALLER OF UWAIT OR RBLK\r
+>\r
+\r
+IFN MODE,<\r
+       DATAI DC,@(P)   ;READ COMMANDS. GET WORD TO CORE\r
+INOUT: JRST UWAIT2     ;INOUT-1 THRU INOUT+1 ARE DISPATCHED TO.\r
+       DATAO DC,@(P)   ;OUTPUT TO TAPE\r
+UWAIT2:        JRST 0(P)       ;RETURN TO CALLER OF UWAIT OR RBLK.\r
+>\r
+\f\r
+ALTMD: MOVEI A,"$"\r
+       JSP P,TYO       ;ALTMODE IS PRINTED AS "$"\r
+\r
+IFE MAGT,<\r
+       CAIE CH,"K"-40  ;FOR K, WRITE := 0\r
+       CAIN CH,"D"-40  ;FOR D, WRITE :=1\r
+       AOJLE WRITE,.-1 ;COUNT (WRITE)\r
+       >\r
+\r
+IFN MAGT,<\r
+       CAIN CH,"D"-40  ;FOR D, WRITE :=1\r
+       AOJLE WRITE,.-1 ;COUNT (WRITE)\r
+       JUMPG WRITE,DUMP        ;D MEANS GO DUMP ON MAG TAPE\r
+       >\r
+\r
+       CAIN CH,"G"-40  ;GO TO PROGRAM?\r
+       JRST @SADR      ;YES. JUMP OUT\r
+       CAIN CH,"F"-40  ;FILE DIR PRINT?\r
+       JRST FDIR       ;YES. PRINT FILE DIR OF THIS TAPE\r
+       CAIN CH,"Z"-40  ;ZERO DIRECTORY?\r
+       JRST ZDIR       ;DISPATCH\r
+       CAILE CH,27     ;SKIP IF OCTAL NUMBER\r
+       JRST TYI        ;NO. GO PROCESS FILE NAME\r
+       LSH B,3 ;CONVERT SIXBIT TO OCTAL\r
+       LSHC F,3        ;F+1=B\r
+       JUMPN B,.-2     ;MAY BE MORE THAN 1 DIGIT (START ADR)\r
+       CAILE F,7       ;SKIP IF ONE DIGIT\r
+       JRA D,JBLK      ;D:=SADR. DISPATCH TO JBLK WHICH SAVES SADR.\r
+OPNTP:                 ;SHIFT UNIT NUMBER LEFT FOR CONO\r
+IFE MODE,<LSH F,11>\r
+IFN MODE,<LSH F,3>\r
+       HRRM F,TAPENO   ;SAVE IN CORE\r
+CLSTP: MOVEI BLKNO,^D100       ;BLK NO OF FILE DIR\r
+       SETZI PNTR,0    ;DONT CLOBBER DIRECTORY BYTE\r
+       JSP P,RBLK      ;MOVE TO BLOCK 100\r
+       JFCL TAB+200(E) ;READ OR WRITE DIR TAB AS DETERMINED BY WRITE\r
+       AOJL E,UWAIT1   ;COUNT THE 200 WORDS\r
+       JRST BEG        ;GO ASK FOR NEXT COMMAND\r
+\r
+ZDIR:  MOVE A,[XWD FOOF,TAB]   ;FOOF IS CLEAR\r
+       BLT A,TAB+176   ;CLEAR DIRECTORY, EXCEPT LAST WORD FOR ID\r
+       MOVSI A,(36B4+36B9)     ;RESERVE BLOCKS 1 & 2\r
+       MOVEM A,TAB     ;IN DIRECTORY\r
+       MOVSI A,(36B9)\r
+       MOVEM A,TAB+16  ;BLK 100 (DIR) IS RESERVED TOO\r
+       HRLOI A,7       ;AND BLOCKS >1100 ARE EOT\r
+       MOVEM A,TAB+122 ;END OF BYTE TAB\r
+       AOJA WRITE,CLS1 ;SET WRITE TO OUTPUT\r
+                               ;AND DUMP BLK 100.\r
+\fFDIR: MOVNI FILN,26   ;26 FILES (OCTAL)\r
+FD2:   JSP P,CRR       ;CR-LF\r
+FD3:   SKIPN C,TAB+123+26(FILN)        ;FIRST WORD OF NAME. IS IT BLANK?\r
+       AOJA C,FD1      ;YES. SET C=1 AND LOOP\r
+       JSP G,SIXBP     ;PRINT FIRST WORD AND A SPACE\r
+       HLLZ C,TAB+151+26(FILN) ;SECOND WORD OF FILE NAME\r
+       JSP G,SIXBP     ;PRINT AND CLEAR C\r
+FD1:   AOJL FILN,FD2(C)        ;CAN JUMP TO FD2 OR FD3. COUNT FILES.\r
+       JRST BEG        ;ALL FILES PRINTED OR BLANK. RETURN.\r
+\r
+SIXBP: MOVEI B,7       ;SIXBP PRINTS C(C) IN 6BIT\r
+                       ;AND ADDS A TRAILING SPACE\r
+                       ;AND LEAVES (C)=0\r
+\r
+TAPENO:                        ;USE ADR AS TEMP FOR CURRENT UNIT\r
+SIXBP1:        SETZI A,.-.     ;CLEAR A\r
+       LSHC A,6\r
+       ADDI A,40       ;SIXBIT TO ASCII\r
+       JSP P,TYO       ;TYPE OUT CHARACTER\r
+       SOJG B,SIXBP1   ;LOOP IF MORE CHARACTERS\r
+       JRST 0(G)       ;RETURN\r
+\r
+SPNT:  0               ;POINTER TO HEADERS IN CORE.\r
+\r
+       LIT\r
+\r
+\r
+IFN MAGT,<\r
+SLOP:  MOVE    .+3\r
+       MOVEM   COMPTR\r
+       JRST    BEGR+1\r
+       XWD     440700,.+1\r
+       BYTE    (7) "0",33,177\r
+LAST:  JRST    SLOP\r
+       >\r
+IFE MAGT,<\r
+       SLOP=COMPTR-17-.        ;THIS MANY WORDS BEFORE RESERVED AREA\r
+                               ;FOR COMMAND STRINGS.\r
+;!!!!! NOTE: ABOVE PARAMETER MUST COME OUT POSITIVE IN\r
+;      ORDER TO MEET THE DOCUMENTATION OF RESERVED COMMAND STRING AREA.\r
+;\r
+;      THIS MEANS ANY CODE ADDED MUST BE COMPENSATED FOR BY\r
+;      A CORRESPONDING TIGHTENING SOMEWHERE. GOOD LUCK.\r
+;      TENDMP IS VERY TIGHT ALREADY.\r
+       >\r
+\r
+       END BEGR\r
+\f
\ No newline at end of file